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 { --navy:#13263a; --navy-2:#1b344d; --blue:#2e6f9e; --blue-soft:#eaf2f8; --ink:#172331; --muted:#647384; --line:#dde4ea; --surface:#fff; --canvas:#f3f6f8; --danger:#b84a4a; --warning:#a86414; --green:#2e775d; }
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; background:var(--canvas); color:var(--ink); font-family:Inter, Aptos, "Segoe UI", sans-serif; font-size:14px; }
body { line-height:1.45; }
a { color:var(--blue); text-decoration:none; }
button, input, select, textarea { font:inherit; }
button:disabled { opacity:.5; cursor:not-allowed; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:238px; position:fixed; inset:0 auto 0 0; z-index:20; display:flex; flex-direction:column; padding:24px 16px 18px; background:var(--navy); color:#fff; }
.brand-block { display:flex; align-items:center; gap:12px; padding:0 10px 28px; }
.brand-block div,.signed-in-user span,.sidebar-footer span { display:flex; flex-direction:column; }
.brand-block strong { font-size:19px; letter-spacing:.2px; }.brand-block small { color:#94a9bb; font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid #50728f; border-radius:9px; background:#21415c; color:#fff; font-weight:800; font-size:18px; }
.nav-menu { display:flex; flex-direction:column; gap:4px; flex:1; }
.nav-label { color:#718ba2; padding:18px 12px 7px; font-size:10px; font-weight:700; letter-spacing:1.35px; text-transform:uppercase; }
.nav-menu a { display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:7px; color:#c9d5df; font-weight:600; transition:background .15s,color .15s; }
.nav-menu a:hover { background:#1b3953; color:#fff; }.nav-menu a.active { background:#fff; color:var(--navy); box-shadow:0 3px 14px #09152140; }
.nav-icon { display:inline-grid; width:20px; place-items:center; font-size:16px; }
.sidebar-footer { display:flex; align-items:center; gap:10px; padding:15px 10px 2px; border-top:1px solid #29445c; }.sidebar-footer strong { font-size:12px; }.sidebar-footer small { color:#829aaf; font-size:10px; }.status-dot { width:8px; height:8px; border-radius:50%; background:#65c79e; box-shadow:0 0 0 4px #65c79e20; }
.main-content { min-width:0; flex:1; margin-left:238px; }
.topbar { height:70px; padding:0 32px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:10; }
.topbar>div:first-child { display:flex; flex-direction:column; }.topbar strong { font-size:15px; }.topbar-eyebrow,.eyebrow { color:var(--blue); font-size:10px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.signed-in-user { display:flex; align-items:center; gap:10px; }.signed-in-user strong { font-size:12px; }.signed-in-user small { color:var(--muted); font-size:10px; }
.avatar { display:grid !important; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-size:11px; font-weight:800; }.avatar.small { width:30px;height:30px; }
.page-container { max-width:1680px; padding:32px; margin:0 auto; }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; }.page-heading h1 { margin:4px 0 4px; font-size:28px; line-height:1.15; letter-spacing:-.6px; }.page-heading p { margin:0; color:var(--muted); }.page-heading .button { flex:none; }
.page-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; min-height:38px; }.page-intro p { margin:0; color:var(--muted); }.page-intro p>strong { color:var(--ink); }.page-intro .button { flex:none; }
.panel { background:var(--surface); border:1px solid var(--line); border-radius:10px; box-shadow:0 2px 8px #20364c0a; }.panel-spaced { margin-top:20px; }.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px 22px; border-bottom:1px solid var(--line); }.panel-heading h2 { margin:3px 0 0; font-size:17px; }.panel-heading>a,.panel-heading>span { font-size:12px; font-weight:700; color:var(--muted); }
.button { min-height:38px; padding:9px 15px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; border-radius:6px; cursor:pointer; font-weight:700; font-size:12px; }.button-primary { color:#fff; background:var(--blue); }.button-primary:hover { background:#245e88; color:#fff; }.button-secondary { color:#33485b; background:#fff; border-color:#cfd9e1; }.button-compact { min-height:32px; padding:6px 11px; }.full-width { width:100%; }
.kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(140px,1fr)); gap:14px; margin-bottom:20px; }.kpi-card { min-height:126px; display:flex; flex-direction:column; padding:19px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); box-shadow:0 2px 8px #20364c0a; }.kpi-card:hover { border-color:#a8bfce; transform:translateY(-1px); }.kpi-card span { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }.kpi-card strong { margin:auto 0 1px; font-size:25px; letter-spacing:-.5px; }.kpi-card small { color:var(--muted); }.kpi-card.attention { border-top:3px solid var(--danger); }.kpi-card.attention strong { color:var(--danger); }
.dashboard-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.ageing-list,.change-list { padding:8px 22px 16px; }.ageing-list>a { display:grid; grid-template-columns:90px 1fr 22px; gap:12px; align-items:center; padding:12px 0; color:var(--ink); border-bottom:1px solid #edf1f4; }.ageing-track { height:7px; border-radius:10px; background:#e7edf1; overflow:hidden; }.ageing-track i { display:block; height:100%; border-radius:10px; background:var(--blue); }.change-list>div { display:flex; align-items:center; gap:13px; padding:10px 0; border-bottom:1px solid #edf1f4; }.change-list p { margin:0; display:flex; flex-direction:column; }.change-list small { color:var(--muted); }.change-icon { display:grid; place-items:center; width:32px;height:32px;border-radius:7px;font-weight:800; }.change-icon.positive { color:var(--green);background:#e8f4ef; }.change-icon.neutral { color:var(--blue);background:var(--blue-soft); }.change-icon.warning { color:var(--warning);background:#fff1df; }
.referral-preview { padding:0 22px; }.referral-preview>a { display:grid; grid-template-columns:90px 1fr 190px 90px; gap:20px; align-items:center; padding:15px 0; color:var(--ink); border-bottom:1px solid #edf1f4; }.referral-preview>a:last-child { border:0; }.referral-preview span { display:flex; flex-direction:column; }.referral-preview small { color:var(--muted); }.record-key,.record-link { color:var(--blue); font-weight:800; }.referral-meta { color:var(--muted); font-size:12px; }
.position-total { text-align:right; }.position-total small { display:block;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.6px; }.position-total strong { font-size:23px; }
.filter-panel { margin-bottom:16px; padding:16px; }.filter-grid { display:grid; grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,1fr)) auto; gap:12px; align-items:end; }label { display:flex; flex-direction:column; gap:6px; }label>span { color:#4d6071;font-size:11px;font-weight:700; }input,select,textarea { width:100%; border:1px solid #cfd9e1; border-radius:6px; background:#fff; color:var(--ink); padding:9px 10px; outline:none; }input,select { height:39px; }textarea { min-height:92px; resize:vertical; }input:focus,select:focus,textarea:focus { border-color:#6c9cbb; box-shadow:0 0 0 3px #2e6f9e15; }.clear-button { height:39px; }
.table-panel { overflow:hidden; }.table-summary { display:flex;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line); }.table-summary span { color:var(--muted);font-size:12px; }.table-scroll { overflow:auto; }.data-table { width:100%;border-collapse:collapse;white-space:nowrap; }.data-table th { padding:10px 12px;text-align:left;background:#f7f9fa;color:#667686;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.45px; }.data-table th button { border:0;background:none;padding:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;font-weight:700; }.data-table td { padding:11px 12px;border-bottom:1px solid #edf1f4;font-size:12px;vertical-align:middle; }.data-table tbody tr:hover { background:#f7fafc; }.data-table td small { display:block;color:var(--muted);font-size:10px;margin-top:2px; }.data-table .number { text-align:right; }.total-cell { font-weight:800; }.row-overdue { box-shadow:inset 3px 0 var(--danger); }.row-aged:not(.row-overdue) { box-shadow:inset 3px 0 #d89a45; }.overdue-text { color:var(--danger);font-weight:800; }.age-pill { display:inline-block;padding:3px 7px;border-radius:10px;background:#edf2f5;font-size:10px;font-weight:800; }.age-pill.old { background:#fff0df;color:#9a5c12; }
.status-badge { display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.3px; }.status-active { color:#315f7d;background:#e8f1f7; }.status-ready { color:#22684f;background:#e5f3ed; }.status-warning { color:#925c17;background:#fff0dc; }.status-referred { color:#6551a1;background:#eeeafd; }.status-closed { color:#63707b;background:#e9edf0; }
.back-link { margin-bottom:12px;font-size:12px;font-weight:700; }.record-summary { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px; }.record-summary>div:first-child { display:flex;flex-direction:column; }.record-summary p { margin:1px 0 0;color:var(--muted); }.record-number { margin-top:1px;font-size:20px;line-height:1.2; }.detail-heading-actions { display:flex;align-items:center;gap:20px; }.detail-heading-actions>strong { font-size:25px; }.detail-grid { display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr);gap:20px; }.facts-grid { display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:8px 22px 20px; }.facts-grid>div { padding:14px 10px 12px 0;border-bottom:1px solid #edf1f4; }.facts-grid dt { color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px; }.facts-grid dd { margin:4px 0 0;font-weight:700; }.value-strip { display:grid;grid-template-columns:repeat(3,1fr);background:#f7f9fa;border-top:1px solid var(--line); }.value-strip>div { display:flex;flex-direction:column;padding:18px 22px;border-right:1px solid var(--line); }.value-strip span { color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase; }.value-strip strong { margin:3px 0;font-size:21px; }.value-strip small { color:var(--muted); }
.note-composer { padding:20px 22px;border-bottom:1px solid var(--line); }.note-composer>div { display:flex;justify-content:space-between;align-items:center;margin-top:8px; }.note-composer small { color:var(--muted); }.timeline { padding:8px 22px 15px; }.timeline article { position:relative;display:flex;gap:14px;padding:13px 0 13px 18px;border-left:1px solid #d9e2e8; }.timeline-dot { position:absolute;left:-5px;top:19px;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #e8f1f7; }.timeline p { margin:0 0 5px; }.timeline small { color:var(--muted); }.action-panel { padding:20px; }.action-panel h2 { margin:4px 0 16px;font-size:17px; }.action-panel label { margin-bottom:13px; }.success-message { margin:10px 0 0;color:var(--green);font-size:12px;font-weight:700; }.action-panel .panel-heading { margin:-5px -2px 10px;padding:0 0 12px; }.mini-referral { padding:13px 0;border-top:1px solid #edf1f4; }.mini-referral>div { display:flex;justify-content:space-between;gap:8px; }.mini-referral>div span { color:#855d16;font-size:9px;font-weight:800;text-transform:uppercase; }.mini-referral p { margin:6px 0;color:#3e5060;font-size:12px; }.mini-referral small { color:var(--muted);font-size:10px; }.mini-referral.completed { opacity:.55; }.reason-cell { max-width:320px;white-space:normal; }.count-badge { background:var(--blue-soft);color:var(--blue);border-radius:16px;padding:6px 11px;font-size:11px;font-weight:800; }
.empty-state { padding:38px;text-align:center;color:var(--muted); }.empty-state.compact { padding:20px 5px; }.empty-state h1,.empty-state h2 { color:var(--ink); }.placeholder-panel { min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center; }.placeholder-panel p { max-width:620px;color:var(--muted); }.placeholder-icon { display:grid;place-items:center;width:60px;height:60px;border-radius:13px;background:var(--blue-soft);color:var(--blue);font-size:25px; }.future-steps { display:flex;align-items:center;justify-content:center;margin:25px 0 30px; }.future-steps span { display:flex;align-items:center;gap:7px;color:var(--blue); }.future-steps span:first-letter { font-weight:800; }.future-steps i { width:45px;height:1px;background:#cbd7df;margin:0 10px; }.user-cell { display:flex;align-items:center;gap:10px; }.settings-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }.setting-card { display:flex;gap:18px;padding:24px; }.setting-card>span { display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-weight:800; }.setting-card h2 { margin:0 0 6px;font-size:17px; }.setting-card p { margin:0;color:var(--muted); }
#blazor-error-ui { background:#fff0c8;bottom:0;box-shadow:0 -1px 2px #0003;display:none;left:0;padding:.6rem 1.25rem;position:fixed;width:100%;z-index:1000; }#blazor-error-ui .dismiss { cursor:pointer;position:absolute;right:.75rem;top:.5rem; }
@media (max-width:1200px) { .kpi-grid { grid-template-columns:repeat(3,1fr); }.filter-grid { grid-template-columns:repeat(3,1fr); }.search-field { grid-column:span 2; }.clear-button { width:100%; }.detail-grid { grid-template-columns:1fr; } }
@media (max-width:800px) { .sidebar { width:76px;padding:20px 10px; }.brand-block { padding:0 9px 22px; }.brand-block div,.nav-menu a:not(.active) { }.brand-block div,.nav-label,.nav-menu a { font-size:0; }.nav-menu a { justify-content:center;padding:11px; }.nav-menu a .nav-icon { font-size:17px; }.sidebar-footer span:not(.status-dot) { display:none; }.main-content { margin-left:76px; }.topbar { padding:0 18px; }.signed-in-user>span:last-child { display:none; }.page-container { padding:22px 18px; }.dashboard-grid,.settings-grid { grid-template-columns:1fr; }.kpi-grid { grid-template-columns:repeat(2,1fr); }.filter-grid { grid-template-columns:1fr 1fr; }.search-field { grid-column:span 2; }.facts-grid { grid-template-columns:1fr 1fr; }.referral-preview>a { grid-template-columns:75px 1fr; }.referral-meta,.referral-preview>a>strong { display:none !important; }.future-steps { flex-wrap:wrap;gap:8px; }.future-steps i { display:none; } }
@media (max-width:520px) { .page-heading,.page-intro,.record-summary { align-items:flex-start;flex-direction:column; }.kpi-grid,.filter-grid,.facts-grid { grid-template-columns:1fr; }.search-field { grid-column:auto; }.value-strip { grid-template-columns:1fr; }.value-strip>div { border-right:0;border-bottom:1px solid var(--line); } }

.import-grid { display:grid; grid-template-columns:minmax(330px,.8fr) minmax(440px,1.2fr); gap:20px; }
.import-panel { overflow:hidden; }.import-body { padding:20px 22px; }.import-body>label { max-width:240px; margin:18px 0; }
.upload-zone { position:relative; display:flex; align-items:center; gap:15px; padding:20px; border:1px dashed #aebfcb; border-radius:9px; background:#f8fafb; }.upload-zone>div { display:flex; flex:1; flex-direction:column; }.upload-zone small { color:var(--muted); }.upload-zone input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.format-help { margin:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; color:var(--muted); }.format-help summary { color:var(--ink); font-size:12px; font-weight:700; cursor:pointer; }.format-help p { font-size:11px; }.format-help small { font-size:10px; }
.validation-box { margin:15px 0; padding:13px 15px; border:1px solid #efc5c5; border-radius:7px; background:#fff5f5; color:#8d3d3d; font-size:12px; }.validation-box strong,.validation-box span { display:block; }.validation-box ul { margin:8px 0 0; padding-left:18px; }.validation-box.valid { display:flex; flex-direction:column; gap:3px; border-color:#b7dacb; background:#f0f8f5; color:#28624e; }.import-message { padding:12px; color:var(--muted); text-align:center; }
.preview-table { max-height:470px; }.preview-more { padding:12px; color:var(--muted); background:#f7f9fa; text-align:center; font-size:11px; font-weight:700; }
.result-panel { overflow:hidden; }.result-grid { display:grid; grid-template-columns:repeat(7,1fr); }.result-grid>div { display:flex; flex-direction:column; padding:18px; border-right:1px solid var(--line); }.result-grid span { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }.result-grid strong { margin-top:4px; font-size:17px; }.positive-text { color:var(--green); }
@media (max-width:1100px) { .import-grid { grid-template-columns:1fr; }.result-grid { grid-template-columns:repeat(4,1fr); }.result-grid>div { border-bottom:1px solid var(--line); } }
@media (max-width:600px) { .result-grid { grid-template-columns:1fr 1fr; } }
.paste-import .import-body { padding:22px; }
.import-context-grid { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:14px; }
.context-help { margin:8px 0 18px; color:var(--muted); font-size:11px; }
.import-body>.paste-label { max-width:none; margin:0 0 14px; }
.paste-area { min-height:230px; font-family:Consolas,"Courier New",monospace; line-height:1.45; }
.button-row,.result-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.impact-grid { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }
.impact-grid>div { display:flex; flex-direction:column; min-height:82px; padding:16px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.impact-grid span { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }
.impact-grid strong { margin-top:4px; font-size:18px; }.impact-grid small { color:var(--muted); }
.import-warnings { margin:18px 22px; padding:14px 16px; border:1px solid #e7c86f; border-radius:7px; background:#fff9e8; color:#72581c; font-size:12px; }
.import-warnings ul { margin:7px 0 0; padding-left:18px; }
.snapshot-confirm { padding:20px 22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8fafb; }
.check-label { display:flex; flex-direction:row; align-items:flex-start; gap:10px; margin-bottom:13px; color:var(--ink); cursor:pointer; }
.check-label input { flex:0 0 auto; width:17px; height:17px; margin-top:1px; accent-color:var(--teal); }
.check-label span { font-size:12px; font-weight:500; }.duplicate-override { color:#8b4e22; }
.result-actions { padding:18px; border-top:1px solid var(--line); }
.csv-import>summary { display:flex; padding:18px 22px; cursor:pointer; list-style-position:inside; }
.csv-import>summary span { display:inline-flex; flex-direction:column; margin-left:8px; }.csv-import>summary small { color:var(--muted); font-weight:400; }
@media (max-width:900px) { .import-context-grid { grid-template-columns:1fr 1fr; }.impact-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .import-context-grid { grid-template-columns:1fr; }.impact-grid { grid-template-columns:1fr 1fr; }.paste-area { min-height:180px; } }
/* Authentication and user administration */
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 2rem; background: radial-gradient(circle at top right, #183d45 0, #0b242b 42%, #07191f 100%); }
.login-card { width: min(440px, 100%); background: #fff; border-radius: 18px; padding: 2.25rem; box-shadow: 0 24px 70px rgba(0,0,0,.32); display: grid; gap: 1.35rem; }
.login-brand { display: flex; align-items: center; gap: .8rem; padding-bottom: 1.2rem; border-bottom: 1px solid #e5eaeb; }
.login-brand div, .login-brand small { display: block; }
.login-form { display: grid; gap: 1rem; }
.login-form label { display: grid; gap: .4rem; font-weight: 650; }
.login-help { color: #66787c; text-align: center; }
.access-denied-card { text-align: center; justify-items: center; }
.logout-button { border: 0; background: transparent; color: #52676c; cursor: pointer; padding: .25rem .4rem; font: inherit; font-size: .8rem; }
.logout-button:hover { color: #b33d3d; }
.user-editor { margin-bottom: 1rem; }
.user-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0 1.25rem; }
.user-form-grid label { display: grid; gap: .4rem; }
.user-form-grid textarea { min-height: 92px; }
.user-form-grid small { color: #66787c; }
.user-form-grid .check-row { display: flex; align-items: center; gap: .6rem; }
.view-toggles { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; padding: .1rem 0 1rem; margin-bottom: 1rem; border-bottom: 1px solid #e5eaeb; }
.view-toggles label { display: flex; align-items: center; gap: .5rem; cursor: pointer; font-weight: 650; color: #304a50; }
.view-toggles input { width: 1rem; height: 1rem; accent-color: #0e6f73; }
@media (max-width: 760px) { .user-form-grid { grid-template-columns: 1fr; } .signed-in-user form { display: none; } }
.settings-links .setting-card { color:var(--ink); transition:border-color .15s,transform .15s; }
.settings-links .setting-card:hover { border-color:#a8bfce; transform:translateY(-1px); }
.settings-editor { padding:20px 22px; border-bottom:1px solid var(--line); }
.settings-editor:last-child { border-bottom:0; }
.status-list { display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px; }
.settings-number { max-width:480px; }
.settings-number-grid { display:grid;grid-template-columns:repeat(2,minmax(220px,360px));gap:18px; }
.settings-save { display:flex;justify-content:flex-end;padding:20px 0; }
.recognition-card { padding:18px 20px; border:1px solid #b7d4e6; border-radius:8px; background:#f2f8fc; margin:14px 0; }
.recognition-card h3 { margin:0 0 4px; font-size:16px; }.recognition-card p { margin:0 0 12px;color:var(--muted); }
.recognition-result { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:10px 0 16px; }
.recognition-result>div { display:flex; flex-direction:column; gap:3px; padding:11px 12px; border:1px solid #d7e6ef; border-radius:6px; background:#fff; }
.recognition-result small { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }.recognition-result strong { font-size:13px; }
.recognition-manual { border-color:#e3d19a; background:#fff9e9; }
@media (max-width:700px) { .recognition-result { grid-template-columns:1fr; } }
@media (max-width:760px) { .settings-number-grid { grid-template-columns:1fr; } }
.setting-card>.setting-icon { font-size:18px; }
.settings-intro { padding:16px 22px;color:var(--muted);border-bottom:1px solid var(--line); }
.settings-message { margin:16px 22px 0; }
.settings-form-stack { display:grid;gap:22px; }
.settings-form-stack label>p { max-width:760px;margin:0;color:var(--muted);font-size:12px; }
.unit-input { display:flex;align-items:center;gap:9px;max-width:170px; }.unit-input input { width:100px; }.unit-input b { color:var(--muted);font-size:12px; }
.settings-example { max-width:760px;padding:13px 15px;border-radius:7px;background:var(--blue-soft);color:#355b75;font-size:12px; }
.filter-card-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.filter-card-top .view-toggles { flex:1; padding:0; margin:0; border:0; }
.filter-card-top .view-toggles label { flex-direction:row; align-items:center; }
.filter-card-top .position-total { flex:0 0 auto; }
@media (max-width:650px) {
    .filter-card-top { align-items:stretch; flex-direction:column; gap:14px; }
    .filter-card-top .position-total { align-self:flex-end; }
}
/* Shared branding and compact page context. */
.brand-block { padding:0 10px 24px; }
.brand-block strong,.login-brand strong { font-family:Inter,Aptos,"Segoe UI",sans-serif; font-size:25px; font-weight:600; letter-spacing:-.7px; line-height:1.2; }
.brand-block small,.login-brand small { margin-top:5px; font-size:12px; font-weight:400; letter-spacing:.2px; text-transform:none; }
.login-brand strong { color:var(--navy); font-size:30px; }
.login-brand small { color:var(--muted); }
.auth-page { background:radial-gradient(circle at top right,#284b69 0,var(--navy) 48%,#0c1b2a 100%); }
.sidebar-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:16px; }
.sidebar-footer { display:flex; justify-content:space-between; gap:11px; border:0; padding:16px 10px 8px; }
.sidebar-user-details { min-width:0; }
.sidebar-user-details strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.sidebar-user-details small { margin-top:3px; font-size:11px; }
.sidebar-footer .status-dot { flex-shrink:0; }
.sidebar-session-label { padding:0 10px 6px; color:#94a9bb; font-size:10px; }
.topbar { height:auto; min-height:70px; gap:20px; padding:12px 28px; }
.page-context { min-width:0; }
.page-context h1 { margin:0; font-size:20px; font-weight:600; line-height:1.25; letter-spacing:-.3px; }
.page-context p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }
.page-container { padding:20px 28px; }
.page-intro { justify-content:flex-end; min-height:0; margin-bottom:12px; }
.signed-in-user { flex-shrink:0; }
@media (max-width:1100px) { .signed-in-user>span:not(.avatar) { display:none; } }
@media (max-width:800px) {
    .brand-block { padding:0 0 22px; justify-content:center; }
    .brand-block strong { display:block; max-width:56px; font-size:18px; text-align:center; white-space:normal; }
    .brand-block small,.sidebar-session-label { display:none; }
    .sidebar-footer { justify-content:center; padding:16px 0; }
    .topbar { padding:12px 18px; gap:12px; }
    .page-container { padding:18px; }
    .signed-in-user .avatar { display:none; }
    .signed-in-user form { display:block; }
}
@media (max-width:520px) {
    .topbar { align-items:flex-start; }
    .page-context h1 { font-size:18px; }
    .page-context p { font-size:11px; }
    .logout-button { white-space:nowrap; }
    .page-intro { align-items:flex-end; }
    .auth-page { padding:20px; }
    .login-card { padding:24px; }
}
