h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

:root { --cc-primary: #a91f35; --cc-navy: #14243a; --cc-paper: #f5f7fa; --cc-muted: #64748b; }
body { background: var(--cc-paper); color: #1e293b; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.app-header { background: var(--cc-navy); box-shadow: 0 2px 10px rgba(15, 23, 42, .16); color: #fff; }
.app-header-content { align-items: center; display: flex; justify-content: space-between; min-height: 76px; }
.app-brand { align-items: center; color: #fff; display: inline-flex; gap: .75rem; text-decoration: none; }.app-brand:hover { color: #fff; text-decoration: none; }
.app-brand-icon { align-items: center; display: inline-flex; height: 45px; justify-content: center; width: 45px; }.app-brand-icon img { height: 45px; object-fit: contain; width: 45px; }.app-brand strong, .app-brand small { display: block; line-height: 1.1; }.app-brand strong { font-size: .93rem; letter-spacing: .09em; }.app-brand small { color: #bdcad8; font-size: .58rem; letter-spacing: .12em; margin-top: .25rem; }
.app-navigation { align-items: center; display: flex; gap: .35rem; }.app-navigation > a, .app-user { color: #dbe5ee; font-size: .86rem; padding: .55rem .7rem; text-decoration: none; }.app-navigation > a:hover { color: #fff; text-decoration: none; }.app-navigation form { margin: 0; }.app-login, .app-logout { background: var(--cc-primary); border: 0; color: #fff !important; }.app-login:hover, .app-logout:hover { background: #c22a43; }.app-logout { cursor: pointer; font-size: .9rem; padding: .55rem .7rem; }.app-user { border-left: 1px solid rgba(255,255,255,.2); margin-left: .35rem; }
.app-main { min-height: calc(100vh - 76px); }.login-page { align-items: center; display: flex; justify-content: center; min-height: calc(100vh - 76px); padding: 3rem 1.25rem; }.login-card { box-shadow: 0 1rem 3rem rgba(20, 36, 58, .14); max-width: 440px; padding: 2.4rem; width: 100%; }.login-logo { display: block; height: auto; margin: 0 0 2rem; max-width: 260px; width: 100%; }.login-card-header { align-items: center; display: flex; gap: 1rem; margin-bottom: 1.5rem; }.login-icon { align-items: center; background: #f9e9ec; color: var(--cc-primary); display: inline-flex; font-size: 1.25rem; height: 52px; justify-content: center; width: 52px; }.login-eyebrow { color: var(--cc-primary); font-size: .68rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 .25rem; }.login-card h1 { color: var(--cc-navy); font-family: Georgia, serif; font-size: 2rem; margin: 0; }.login-intro { color: var(--cc-muted); font-size: .92rem; margin-bottom: 1.6rem; }.login-card .form-label { color: #334155; font-size: .84rem; font-weight: 700; }.login-card .input-group-text { background: #f8fafc; color: var(--cc-muted); }.login-card .form-control { min-height: 45px; }.login-submit { background: var(--cc-primary); border-radius: 0; color: #fff; font-weight: 700; padding: .72rem 1rem; }.login-submit:hover { background: #8f192c; color: #fff; }.login-error { background: #fff0f1; border-left: 3px solid var(--cc-primary); color: #8f192c; font-size: .88rem; margin-bottom: 1.25rem; padding: .75rem .85rem; }.login-help { color: var(--cc-muted); font-size: .76rem; margin: 1.5rem 0 0; text-align: center; }
@media (max-width: 700px) { .app-header-content { min-height: 66px; }.app-navigation > a:not(.app-login), .app-user { display: none; }.app-main { min-height: calc(100vh - 66px); }.login-page { min-height: calc(100vh - 66px); padding: 1.5rem 1rem; }.login-card { padding: 1.75rem; } }
.management-page { max-width: 1180px; }.management-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 2rem; }.management-eyebrow { color: var(--cc-primary); font-size: .7rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 .35rem; }.management-heading h1 { color: var(--cc-navy); font-family: Georgia, serif; font-size: 2.25rem; margin: 0 0 .35rem; }.management-heading p:not(.management-eyebrow) { color: var(--cc-muted); margin: 0; }.management-new { background: var(--cc-primary); border: 0; border-radius: 0; color: #fff; font-weight: 700; padding: .65rem .9rem; }.management-new:disabled { cursor: not-allowed; opacity: .55; }.management-loading { align-items: center; color: var(--cc-muted); display: flex; gap: .65rem; padding: 2rem 0; }.category-summary { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.1rem; }.category-summary-title { color: var(--cc-muted); font-size: .8rem; font-weight: 700; margin-right: .25rem; }.category-pill { background: #e9edf2; border-radius: 999px; color: #3f4f62; font-size: .78rem; padding: .32rem .45rem .32rem .7rem; }.category-pill b { background: #fff; border-radius: 50%; display: inline-grid; height: 1.35rem; margin-left: .25rem; place-items: center; width: 1.35rem; }.management-card { box-shadow: 0 .5rem 1.5rem rgba(20, 36, 58, .08); overflow: hidden; }.management-table { --bs-table-bg: transparent; }.management-table thead th { background: #edf1f5; border: 0; color: #536275; font-size: .71rem; letter-spacing: .06em; padding: .85rem 1.1rem; text-transform: uppercase; }.management-table tbody td { border-color: #edf1f5; padding: 1rem 1.1rem; vertical-align: middle; }.management-table strong { color: #273a50; display: block; font-size: .9rem; }.management-table small { color: var(--cc-muted); display: block; font-size: .78rem; margin-top: .2rem; }.management-date { color: var(--cc-muted); font-size: .84rem; white-space: nowrap; }.table-category { color: #536275; font-size: .84rem; }.status-badge { border-radius: 999px; display: inline-block; font-size: .72rem; font-weight: 700; padding: .32rem .55rem; white-space: nowrap; }.status-visible { background: #e6f6eb; color: #25813d; }.status-hidden { background: #f2f3f5; color: #687486; }.management-empty { color: var(--cc-muted); padding: 2.5rem !important; text-align: center; } @media (max-width: 700px) { .management-heading { align-items: start; flex-direction: column; gap: 1rem; }.management-heading h1 { font-size: 1.85rem; }.management-new { width: 100%; } }
.management-action-column { text-align: center; width: 1%; }.management-edit { align-items: center; border: 1px solid #cbd5e1; border-radius: 50%; color: #475569; display: inline-flex; font-size: .72rem; height: 1.85rem; justify-content: center; padding: 0; width: 1.85rem; }.management-edit:hover { background: var(--cc-primary); border-color: var(--cc-primary); color: #fff; }.management-cancel { border: 1px solid #cbd5e1; border-radius: 0; color: #475569; font-weight: 700; padding: .65rem .9rem; }.management-cancel:hover { background: #f8fafc; color: #273a50; }.management-editor-footer { align-items: center; background: #f8fafc; border: 0; display: flex; justify-content: space-between; padding: 1rem 1.5rem; }.management-card .form-label { color: #334155; font-size: .84rem; font-weight: 700; }.management-card .form-control, .management-card .form-select { border-color: #cbd5e1; border-radius: 0; }.management-card textarea { resize: vertical; }
.management-card .note-editor.note-frame { border-color: #cbd5e1; border-radius: 0; }.management-card .note-toolbar { background: #f8fafc; }.management-card .note-btn { border-radius: 0; }
