:root{--primary:#005eb8;--primary-strong:#003087;--primary-soft:#4c9fe3;--secondary:#00a9ce;--accent-warm:#f97316;--accent-danger:#da291c;--accent-success:#1f8a5b;--background:#f6fafe;--background-alt:#f2f6fb;--surface:#fff;--surface-alt:#f4f8fc;--surface-tint:#edf4fb;--surface-strong:#e6eff8;--border:#d3e0ee;--border-strong:#b8cee3;--on-surface:#1e2a38;--on-surface-muted:#5a6b7f;--on-surface-subtle:#8395a8;--on-primary:#f5fbff;--timeline-active-bg:#005eb824;--timeline-active-text:#0f3d66;--timeline-active-border:#005eb84d;--timeline-vacant-bg:#da291c2e;--timeline-vacant-text:#8f1b12;--timeline-vacant-border:#da291c52;--notice-info-bg:#eff6ff;--notice-info-text:#1d4ed8;--notice-info-border:#2563eb3d;--notice-warn-bg:#fffbeb;--notice-warn-text:#92400e;--notice-warn-border:#d977063d;--notice-success-bg:#f0fdf4;--notice-success-text:#166534;--notice-success-border:#16a34a3d;--notice-error-bg:#fff5f5;--notice-error-text:#991b1b;--notice-error-border:#dc26263d;--shell-bg-image:radial-gradient(1200px 600px at 100% -20%, #00a9ce1f, transparent 58%), radial-gradient(800px 480px at -10% 10%, #005eb81a, transparent 54%), repeating-linear-gradient(-35deg, #0f172a08 0, #0f172a08 1px, transparent 1px, transparent 22px), linear-gradient(180deg, #f6fafe 0%, #f2f6fb 100%);--rail-bg-image:linear-gradient(96deg, #003087 0%, #005eb8 72%, #0072ce 100%);--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:11px;--r-xl:16px;--shadow-card:0 12px 28px #00308714;--shadow-card-soft:0 4px 14px #0030870f;--shadow-popover:0 18px 44px #0f172a29;--f-display:"Public Sans", system-ui, sans-serif;--f-body:"Source Sans 3", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, monospace;color:var(--on-surface);font-family:var(--f-body);background:var(--background);background-image:var(--shell-bg-image);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;width:100%;height:100%;font-size:14px;line-height:1.45;position:relative;overflow:hidden}:root[data-theme=dark]{--primary:#4c9fe3;--primary-strong:#6fb3ea;--primary-soft:#87beee;--secondary:#00a9ce;--background:#1c2a3d;--background-alt:#24364d;--surface:#2e425d;--surface-alt:#2b3f58;--surface-tint:#344c68;--surface-strong:#3b5775;--border:#abc7e538;--border-strong:#abc7e55c;--on-surface:#edf4ff;--on-surface-muted:#c5d4e6;--on-surface-subtle:#95a8bf;--on-primary:#f5fbff;--timeline-active-bg:#4c9fe338;--timeline-active-text:#c8e0f4;--timeline-active-border:#4c9fe373;--timeline-vacant-bg:#da291c47;--timeline-vacant-text:#fcb7b0;--timeline-vacant-border:#da291c80;--notice-info-bg:#4c9fe31f;--notice-info-text:#c8e0f4;--notice-info-border:#4c9fe35c;--notice-warn-bg:#d9770629;--notice-warn-text:#fdd588;--notice-warn-border:#d9770666;--notice-success-bg:#16a34a29;--notice-success-text:#9ce3b5;--notice-success-border:#16a34a66;--notice-error-bg:#dc262629;--notice-error-text:#fcb7b0;--notice-error-border:#dc262666;--shell-bg-image:radial-gradient(1200px 600px at 100% -20%, #00a9ce1a, transparent 60%), radial-gradient(800px 480px at -10% 10%, #4c9fe31a, transparent 54%), repeating-linear-gradient(-35deg, #ffffff06 0, #ffffff06 1px, transparent 1px, transparent 22px), linear-gradient(180deg, #1c2a3d 0%, #24364d 100%);--rail-bg-image:linear-gradient(96deg, #1a2a40 0%, #243b5a 60%, #2d4970 100%);--shadow-card:0 18px 38px #08152852;--shadow-card-soft:0 6px 16px #0815283d;--shadow-popover:0 18px 44px #0006}.app-shell .h-xl{font-family:var(--f-display);letter-spacing:-.02em;font-size:32px;font-weight:700;line-height:40px}.app-shell .h-lg{font-family:var(--f-display);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:30px}.app-shell .h-md{font-family:var(--f-display);letter-spacing:-.015em;font-size:20px;font-weight:600;line-height:26px}.app-shell .t-sm{font-family:var(--f-display);letter-spacing:-.01em;font-size:16px;font-weight:600;line-height:22px}.app-shell .b-lg{font-size:16px;line-height:1.45}.app-shell .b-md{font-size:14px;line-height:20px}.app-shell .b-sm{font-size:13px;line-height:18px}.app-shell .l-md{font-size:13px;font-weight:600;line-height:18px}.app-shell .l-sm{letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-muted);font-size:11px;font-weight:600;line-height:14px}.app-shell .d-sm{font-size:12px;font-weight:600;line-height:18px;font-family:var(--f-mono)}.app-shell .mono{font-family:var(--f-mono)}.app-shell *{box-sizing:border-box}.app-shell button{font-family:inherit}.nav-rail{background-image:var(--rail-bg-image);color:var(--on-primary);z-index:2;align-items:center;gap:6px;padding:14px 16px;display:flex;position:relative;box-shadow:0 2px 8px #0000000a}.nav-brand{border-right:1px solid #ffffff2e;align-items:center;gap:10px;margin-right:6px;padding-right:18px;display:flex}.nav-brand-mark{width:32px;height:32px;color:var(--primary-strong);font-family:var(--f-display);letter-spacing:-.04em;background:#fff;border-radius:7px;place-items:center;font-size:14px;font-weight:700;display:grid}.nav-brand-name{font-family:var(--f-display);letter-spacing:-.01em;font-size:15px;font-weight:700}.nav-brand-sub{opacity:.72;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.nav-item{border-radius:var(--r-sm);color:#ffffffe0;cursor:pointer;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.is-active{color:var(--primary-strong);background:#fff;font-weight:600;box-shadow:0 1px #00308733}.nav-item .dot{opacity:.55;background:currentColor;border-radius:50%;width:6px;height:6px}.nav-right{align-items:center;gap:10px;margin-left:auto;display:flex}.nav-pill{background:#ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 6px;font-size:12px;font-weight:500;display:inline-flex}.nav-avatar{width:24px;height:24px;color:var(--primary-strong);background:#fff;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.page{flex-direction:column;width:100%;height:100%;display:flex}.page-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 18px 18px;display:flex;overflow:auto}.page-head{justify-content:space-between;align-items:flex-end;gap:14px;padding-bottom:2px;display:flex}.page-head h1{margin:0}.crumbs{color:var(--on-surface-muted);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;display:flex}.crumbs .sep{opacity:.5}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.card-soft{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card-soft)}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.card-head h2{font-family:var(--f-display);margin:0;font-size:16px;font-weight:600}.card-body{padding:14px}.card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.btn{border-radius:var(--r-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-primary{color:var(--on-primary);background:linear-gradient(#0b6bc4 0%,#005eb8 100%);box-shadow:inset 0 1px #ffffff2e,0 1px 2px #0030872e}.btn-primary:hover{background:linear-gradient(#0d78d8 0%,#0066c5 100%)}.btn-outline{color:var(--primary);background:0 0;border-color:#005eb873}:root[data-theme=dark] .btn-outline{color:var(--primary-strong);border-color:#87beee80}.btn-outline:hover{background:#005eb80f}.btn-ghost{color:var(--on-surface-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-tint);color:var(--on-surface)}.btn-subtle{background:var(--surface-tint);color:var(--on-surface);border-color:var(--border)}.btn-subtle:hover{background:var(--surface-strong)}.btn-danger{color:var(--accent-danger);background:0 0;border-color:#da291c73}.btn-sm{border-radius:var(--r-sm);height:26px;padding:0 9px;font-size:12px}.btn-icon{justify-content:center;width:32px;padding:0}.btn-icon.btn-sm{width:26px}.input{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);height:32px;color:var(--on-surface);min-width:0;padding:0 10px;font-family:inherit;font-size:13px}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 .2rem #005eb82e}.input-search{background:var(--surface) url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='6' cy='6' r='4.25' stroke='%235A6B7F' stroke-width='1.4'/%3E%3Cpath d='M9.5 9.5L12.5 12.5' stroke='%235A6B7F' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 10px center;padding-left:30px}:root[data-theme=dark] .input-search{background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='6' cy='6' r='4.25' stroke='%23C5D4E6' stroke-width='1.4'/%3E%3Cpath d='M9.5 9.5L12.5 12.5' stroke='%23C5D4E6' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E")}.select{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface) url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4L5 7L8 4' stroke='%235A6B7F' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;height:32px;color:var(--on-surface);appearance:none;padding:0 28px 0 10px;font-family:inherit;font-size:13px}:root[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4L5 7L8 4' stroke='%23C5D4E6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.check{color:var(--on-surface);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.check input{accent-color:var(--primary)}.toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.toolbar .group{border-right:1px solid var(--border);align-items:center;gap:6px;padding-right:8px;display:inline-flex}.toolbar .group:last-child{border-right:none;padding-right:0}.toolbar .group+.group{padding-left:4px}.toolbar-spacer{flex:1}.tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}table.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl thead th{background:var(--surface-alt);color:#334b62;letter-spacing:.06em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:600;position:relative}:root[data-theme=dark] .tbl thead th{color:#b6cde6;background:var(--surface-alt)}.tbl thead th .col-sort{opacity:.5;margin-left:6px}.tbl tbody td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--on-surface);padding:9px 12px}.tbl tbody tr:nth-child(2n) td{background:#005eb809}:root[data-theme=dark] .tbl tbody tr:nth-child(2n) td{background:#4c9fe30f}.tbl tbody tr:hover td{background:var(--surface-tint)}.tbl tbody tr.is-selected td{background:#005eb81a}.tbl tbody tr:last-child td{border-bottom:none}.tbl .num,.tbl .mono-cell{font-family:var(--f-mono);font-size:12.5px}.tbl .muted{color:var(--on-surface-muted)}.badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;line-height:18px;display:inline-flex}.badge .swatch{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-primary{color:var(--primary);background:#005eb81a;border-color:#005eb838}.badge-danger{color:var(--accent-danger);background:#da291c1a;border-color:#da291c38}.badge-warn{color:#b95417;background:#f973161a;border-color:#f9731638}:root[data-theme=dark] .badge-warn{color:#f3b26d}.badge-success{color:var(--accent-success);background:#1f8a5b1f;border-color:#1f8a5b38}:root[data-theme=dark] .badge-success{color:#9ce3b5}.badge-neutral{background:var(--surface-tint);color:var(--on-surface-muted);border-color:var(--border)}.chip{background:var(--surface-tint);border:1px solid var(--border);height:24px;color:var(--on-surface);border-radius:999px;align-items:center;gap:5px;padding:0 10px 0 8px;font-size:12px;font-weight:500;display:inline-flex}.chip .x{opacity:.5;cursor:pointer}.chip .x:hover{opacity:1}.notice{border-radius:var(--r-md);border:1px solid;align-items:flex-start;gap:12px;padding:12px 14px;font-size:13px;display:flex}.notice .icon{flex:none;width:18px;height:18px;margin-top:1px}.notice strong{margin-bottom:2px;font-weight:600;display:block}.notice-info{background:var(--notice-info-bg);color:var(--notice-info-text);border-color:var(--notice-info-border)}.notice-warn{background:var(--notice-warn-bg);color:var(--notice-warn-text);border-color:var(--notice-warn-border)}.notice-success{background:var(--notice-success-bg);color:var(--notice-success-text);border-color:var(--notice-success-border)}.notice-error{background:var(--notice-error-bg);color:var(--notice-error-text);border-color:var(--notice-error-border)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card-soft);padding:14px 16px}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-muted);font-size:11px;font-weight:600}.stat-value{font-family:var(--f-display);letter-spacing:-.025em;margin-top:6px;font-size:30px;font-weight:700;line-height:1.1}.stat-sub{color:var(--on-surface-muted);align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.stat-trend-up{color:var(--accent-success);font-weight:600}.stat-trend-down{color:var(--accent-danger);font-weight:600}.tl-block{border-radius:var(--r-sm);font-family:var(--f-mono);background:var(--timeline-active-bg);color:var(--timeline-active-text);border:1px solid var(--timeline-active-border);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:3px 6px;font-size:11.5px;font-weight:600;display:inline-flex;overflow:hidden}.tl-block.is-vacant{background:var(--timeline-vacant-bg);color:var(--timeline-vacant-text);border-color:var(--timeline-vacant-border)}.tl-block.is-tbc{color:#b95417;background:#f9731626;border-color:#f9731652}:root[data-theme=dark] .tl-block.is-tbc{color:#f3b26d}kbd{background:var(--surface-tint);border:1px solid var(--border);font-family:var(--f-mono);color:var(--on-surface-muted);border-radius:4px;padding:1px 6px;font-size:11px;display:inline-block}.iconbtn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--on-surface-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.iconbtn:hover{background:var(--surface-tint);color:var(--on-surface)}.meter{background:var(--surface-tint);border-radius:3px;height:6px;overflow:hidden}.meter>div{background:var(--primary);height:100%}.meter.is-warn>div{background:var(--accent-warm)}.meter.is-danger>div{background:var(--accent-danger)}.page-body::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar{width:10px;height:10px}.page-body::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--background);border-radius:5px}.scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--background);border-radius:5px}.page-body::-webkit-scrollbar-track{background:0 0}.scroll::-webkit-scrollbar-track{background:0 0}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--on-surface-muted)}.subtle{color:var(--on-surface-subtle)}.dim{opacity:.65}.divider{background:var(--border);border:0;height:1px;margin:8px 0}.vdivider{background:var(--border);align-self:stretch;width:1px}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell.is-bold{--r-lg:14px;--r-md:9px}.app-shell.is-bold .stat-value{font-size:36px}.app-shell.is-bold .nav-rail{padding:10px 14px}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);text-align:center;color:var(--on-surface-muted);font-family:var(--f-mono);background:repeating-linear-gradient(135deg,#005eb806 0 12px,#0000 12px 24px);padding:18px;font-size:12px}.dropzone.is-loaded{color:var(--on-surface);text-align:left;background:#1f8a5b0f;border-style:solid;border-color:#1f8a5b59}.ph-strip{border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--on-surface-subtle);font-family:var(--f-mono);background:repeating-linear-gradient(45deg,#005eb80a 0 8px,#0000 8px 16px);place-items:center;padding:16px;font-size:11px;display:grid}.app-shell{flex-direction:column;width:100%;max-width:100%;height:100vh;min-height:100vh;display:flex}.page-wrapper.app-shell{margin:0!important;padding:0!important}.app-sidebar{z-index:1020;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f7f8fa;border-bottom:1px solid #00000014;flex-flow:wrap;align-items:center;gap:.4rem;width:100%;min-width:0;padding:.75rem .9rem;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000008}.app-sidebar-title{margin:0 .6rem 0 .1rem;font-size:.95rem;font-weight:700}.auth-user-pill{color:#334155;background:#ffffffbf;border:1px solid #0f172a1f;border-radius:999px;align-items:center;max-width:260px;padding:.2rem .6rem;font-size:.78rem;display:inline-flex}.auth-user-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-gate{z-index:4000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(42rem 42rem at 10% 8%,#10b98133,#0000 70%),radial-gradient(36rem 36rem at 92% 16%,#2563eb3d,#0000 75%),linear-gradient(160deg,#fffffff0 0%,#f1f5f9eb 100%);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.auth-gate-panel{background:#ffffffe6;border:1px solid #0f172a1a;border-radius:1rem;width:min(560px,100%);padding:clamp(1.4rem,3vw,2rem);box-shadow:0 30px 60px #0f172a2e}.auth-gate-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#0f766e;margin-bottom:.6rem;font-size:.75rem;font-weight:700}.auth-gate-title{color:#0f172a;margin:0;font-family:Public Sans,Segoe UI,sans-serif;font-size:clamp(1.4rem,2.8vw,2rem)}.auth-gate-message{color:#334155;margin:.8rem 0 1.2rem;line-height:1.45}.auth-gate-button{min-width:240px}body.app-auth-locked .app-shell{filter:blur(3px);pointer-events:none;-webkit-user-select:none;user-select:none}body.app-auth-locked{overflow:hidden}.theme-dark .auth-user-pill{color:#dbe4f0;background:#0f172a80;border-color:#94a3b859}.theme-dark .auth-gate{background:radial-gradient(44rem 44rem at 8% 10%,#10b98133,#0000 74%),radial-gradient(34rem 34rem at 92% 16%,#3b82f63d,#0000 74%),linear-gradient(160deg,#0f172aeb 0%,#111827f0 100%)}.theme-dark .auth-gate-panel{background:#0f172ad6;border-color:#94a3b838}.theme-dark .auth-gate-eyebrow{color:#5eead4}.theme-dark .auth-gate-title{color:#f8fafc}.theme-dark .auth-gate-message{color:#dbe4f0}.app-nav-btn{text-align:center;color:inherit;background:0 0;border:none;border-radius:.375rem;padding:.55rem .65rem}.app-nav-btn:hover{background:#0000000d}.app-nav-btn.active{color:var(--bs-primary,#206bc4);background:#206bc429;font-weight:600}.app-content{isolation:isolate;background:linear-gradient(#f7f9fc 0%,#eef3f8 100%);flex:1;min-width:0;min-height:0;position:relative;overflow:auto}.import-task-status{color:#1e3a8a;background:linear-gradient(90deg,#dbeafef2 0%,#e0f2fef2 100%);border-bottom:1px solid #1e3a8a24;padding:.45rem .9rem;font-size:.83rem}.theme-dark .import-task-status{color:#bfdbfe;background:linear-gradient(90deg,#1e3a8a57 0%,#1e40af4d 100%);border-bottom-color:#93c5fd38}.app-content:before,.app-content:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:0}.app-content:before{background:radial-gradient(42rem 42rem at 8% 12%,#206bc41f,#0000 70%),radial-gradient(30rem 30rem at 92% 18%,#14b8a61a,#0000 72%),radial-gradient(34rem 34rem at 25% 86%,#f9731614,#0000 68%);animation:36s ease-in-out infinite alternate app-parallax-float-slow;transform:translateY(0)}.app-content:after{opacity:.7;background-image:linear-gradient(115deg,#ffffff3d 0%,#fff0 52%),repeating-linear-gradient(-35deg,#0f172a08 0 1px,#0000 1px 22px);animation:22s ease-in-out infinite alternate app-parallax-float-fast;transform:translateY(0)}.app-content>*{z-index:1;position:relative}.app-notice-region{z-index:1080;pointer-events:none;justify-content:center;padding:0 1rem;display:flex;position:sticky;top:.5rem}.app-notice{pointer-events:auto;color:#1f2937;background:#fff;border:1px solid #0f172a14;border-radius:.5rem;width:min(720px,100%);margin:.5rem auto 0;padding:.85rem 1rem;box-shadow:0 10px 30px #0f172a29}.app-notice[data-tone=error]{color:#991b1b;background:#fff5f5;border-color:#dc26263d}.app-notice[data-tone=success]{color:#166534;background:#f0fdf4;border-color:#16a34a3d}.app-notice[data-tone=info]{color:#1d4ed8;background:#eff6ff;border-color:#2563eb3d}.theme-dark .app-notice{color:#dbe4f0;background:#18212f;border-color:#94a3b833}.theme-dark .app-notice[data-tone=error]{color:#fecaca;background:#311418}.theme-dark .app-notice[data-tone=success]{color:#bbf7d0;background:#12261a}.theme-dark .app-notice[data-tone=info]{color:#bfdbfe;background:#10233f}@media (width<=960px){.app-sidebar{padding:.6rem .65rem}.app-sidebar-title{width:100%;margin-bottom:.2rem}}#post-popover,#trog-contact-popover{z-index:1050;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}#trog-contact-popover .popover-content{max-width:920px}.trog-gmc-contact-link{font-size:inherit;line-height:inherit;vertical-align:baseline}#post-popover.d-none,#trog-contact-popover.d-none{display:none}.popover-content{z-index:2;background:#fff;border-radius:8px;width:98vw;min-width:340px;max-width:800px;max-height:90vh;padding:2rem 2rem 1.5rem;position:relative;overflow-y:auto}.popover-content .datagrid-item-title,.popover-content .datagrid-item-content,.popover-content .datagrid-item-content a,.popover-content .datagrid-item-content button{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.popover-content .datagrid-item{min-width:0}.popover-backdrop{z-index:1;background:#0000002e;width:100vw;height:100vh;position:fixed;top:0;left:0}.popover-close-icon{color:#7a8596;cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.1rem .35rem;font-size:2rem;line-height:1;position:absolute;top:.35rem;right:.6rem}.popover-close-icon:hover{color:#4b5563;background:#0000000d}.theme-dark .popover-close-icon{color:#a5b0c2}.theme-dark .popover-close-icon:hover{color:#d9e0ed;background:#ffffff14}.settings-popover{z-index:1060;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-popover.d-none{display:none}.settings-popover-content{z-index:2;background:#fff;border-radius:10px;width:min(860px,96vw);max-height:90vh;padding:1.25rem;position:relative;overflow:auto}.settings-popover-backdrop{z-index:1;background:#00000038;position:fixed;inset:0}.settings-category-buttons{flex-wrap:wrap;gap:.45rem;display:flex}.settings-category-buttons .btn{align-items:center;gap:.35rem;display:inline-flex}.settings-category-buttons .btn.active{color:var(--bs-primary,#206bc4);background:#206bc426;border-color:#206bc473;font-weight:600}.column-menu{z-index:20;width:18rem;max-height:22rem;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto}.column-filter-values{border:1px solid #00000014;border-radius:.375rem;max-height:14rem;padding:.25rem;overflow-y:auto}.column-filter-value-item{text-align:left;background:0 0;border-radius:.25rem;justify-content:flex-start;align-items:center;gap:.5rem;margin:0;padding:.25rem .35rem;display:flex}.column-filter-value-item .form-check-label{word-wrap:break-word;word-break:break-word}.column-filter-value-item:hover{background:#0000000d}.column-filter-value-item.active{color:var(--bs-primary,#206bc4);background:#206bc426}.table-pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.global-loading-bar{z-index:100;background:#206bc41f;height:3px;position:sticky;top:0;overflow:hidden}.global-loading-bar-fill{background:var(--bs-primary,#206bc4);height:100%;animation:1s ease-in-out infinite loading-bar-slide}.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--nhs-surface:#324252;--nhs-surface-alt:#3a4d61}.theme-dark body,body.theme-dark{color:#edf1f8;background:#1c2230}.theme-dark .app-sidebar{z-index:1020;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#232b3b;border-bottom-color:#ffffff1a;position:sticky;top:0;box-shadow:0 2px 8px #00000014}.theme-dark .app-nav-btn:hover{background:#ffffff14}.theme-dark .app-content{background:linear-gradient(#1f2736 0%,#1a2230 100%)}.theme-dark .app-content:before{background:radial-gradient(44rem 44rem at 10% 10%,#38bdf829,#0000 72%),radial-gradient(30rem 30rem at 90% 20%,#34d3991a,#0000 72%),radial-gradient(34rem 34rem at 24% 86%,#fb923c14,#0000 68%)}.theme-dark .app-content:after{background-image:linear-gradient(120deg,#0f172a59 0%,#0f172a00 55%),repeating-linear-gradient(-35deg,#94a3b80d 0 1px,#0000 1px 24px)}.theme-dark .card,.theme-dark .settings-popover-content,.theme-dark .popover-content,.theme-dark .column-menu,.theme-dark .reports-export-popover{color:#edf1f8;background:#2a3448;border-color:#ffffff1f}.theme-dark .table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-bg-type:#ffffff0f;background:#ffffff0f}.theme-dark .form-control,.theme-dark .form-select{color:#edf1f8;background:#202a3a;border-color:#ffffff2e}.theme-dark .reports-table-scroll,.theme-dark .reports-breakdown-table-wrap,.theme-dark .column-filter-values,.theme-dark .reports-export-options{background:#253044!important;border-color:#ffffff24!important}.theme-dark .reports-chart-scroll{background:#202a3a;border-color:#ffffff24}.theme-dark .reports-chart-grid{stroke:#fff3}.theme-dark .reports-chart-axis{stroke:#ffffff73}.theme-dark .reports-chart-axis-label,.theme-dark .reports-chart-legend{fill:#c8d3e6;color:#c8d3e6}.theme-dark .reports-chart-bar{fill:#7eadffb8}.theme-dark .reports-table-scroll thead th,.theme-dark .reports-breakdown-table-wrap thead th{background:#344c68!important}.theme-dark .settings-popover-backdrop,.theme-dark .popover-backdrop{background:#080c1459}@keyframes loading-bar-slide{0%{transform:translate(-100%)}60%{transform:translate(0%)}to{transform:translate(110%)}}@keyframes app-parallax-float-slow{0%{transform:translateY(0)scale(1)}to{transform:translateY(-20px)scale(1.02)}}@keyframes app-parallax-float-fast{0%{transform:translateY(0)scale(1)}to{transform:translateY(-32px)scale(1.03)}}@media (prefers-reduced-motion:reduce){.app-content:before,.app-content:after{animation:none}}.timeline-board{border:1px solid #00000014;border-radius:.5rem;max-height:70vh;overflow:auto}.timeline-grid-header,.timeline-row-grid{min-width:max-content;display:grid}.timeline-grid-header{z-index:3;background:#f8fafc;border-bottom:1px solid #00000014;position:sticky;top:0}.timeline-post-header,.timeline-month-header{color:#5f6b7a;white-space:nowrap;text-align:center;border-right:1px solid #0000000f;padding:.5rem .35rem;font-size:.75rem;font-weight:600}.timeline-post-header,.timeline-post-cell{z-index:2;background:#fff;border-right:1px solid #00000014;position:sticky;left:0}.timeline-row-grid{border-bottom:1px solid #0000000f;align-items:stretch;min-height:62px}.timeline-post-cell{padding:.45rem .5rem}.timeline-month-cell{border-right:1px solid #0000000a}.timeline-block{color:#124170;z-index:1;white-space:normal;overflow-wrap:anywhere;word-break:break-word;box-sizing:border-box;background:#206bc429;border:1px solid #206bc44d;border-radius:.35rem;align-self:stretch;align-items:flex-start;min-width:0;max-width:100%;min-height:2.7rem;margin:4px 0;padding:.2rem .35rem;font-size:.75rem;line-height:1.15rem;display:flex}.timeline-block-label{max-width:100%;padding-right:.2rem;display:inline-block;position:sticky;left:0}.timeline-block-vacant{color:#8a1d1d;background:#d639392e}.timeline-month-today{font-weight:700;background-color:#dc354514!important}.reports-first-section{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);align-items:stretch;gap:.85rem;margin-bottom:.85rem;display:grid}.reports-panel{background:#fff;border:1px solid #00000014;border-radius:.5rem;flex-direction:column;height:100%;padding:.72rem .78rem;display:flex}.reports-panel>:first-child{margin-top:0!important}.reports-panel>:last-child{margin-bottom:0}#screen-reports .reports-panel h4,#screen-reports .reports-panel h5,#screen-reports .reports-panel .card-title{line-height:1.2}#screen-reports .reports-panel .text-muted.small{margin-bottom:.35rem}#screen-reports .reports-panel .reports-table-scroll,#screen-reports .reports-panel .trog-breakdown-scroll,#screen-reports .reports-panel .reports-breakdown-table-wrap,#screen-reports .reports-panel .reports-chart-scroll{margin-top:.35rem}#reports-root>section+section{margin-top:.8rem}.reports-table-scroll{background:#f8fafc;border:1px solid #0000000f;border-radius:.45rem;max-height:420px;overflow:auto}.reports-table-scroll>table{background:0 0;min-height:100%}.reports-table-scroll thead th{z-index:1;background:#f8fafc;position:sticky;top:0}.reports-starters-table .reports-resizable-th{padding-right:14px;position:relative}.reports-starters-table .reports-col-resize-handle{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:0}.reports-starters-table .reports-col-resize-handle:hover{background:#00000014}.reports-pie-wrap{justify-content:center;align-items:center;display:flex}.reports-pie{border-radius:50%;width:170px;height:170px;position:relative}.reports-pie:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:28%}.reports-breakdown-table-wrap{background:#fff;border:1px solid #0000000f;border-radius:.4rem;max-height:260px;overflow:auto}.reports-breakdown-table-wrap thead th{z-index:1;background:#f8fafc;position:sticky;top:0}.reports-chart-scroll{background:#fff;border:1px solid #0000000f;border-radius:.45rem;padding:.4rem;overflow:auto hidden}.reports-combo-chart{display:block}.reports-chart-grid{stroke:#0000001f;stroke-width:1px;stroke-dasharray:3 4}.reports-chart-axis{stroke:#00000073;stroke-width:1.2px}.reports-chart-axis-label{fill:#5f6b7a;font-size:10px}.reports-chart-bar,.reports-chart-bar-starters{fill:#206bc4a6}.reports-chart-bar-vacant{fill:#dc2626b3}.reports-chart-line{fill:none;stroke:#d97706;stroke-width:2.2px}.reports-chart-legend{color:#556274}.reports-chart-legend-item{align-items:center;gap:.35rem;display:inline-flex}.trog-breakdown-scroll{background:#f8fafc;border:1px solid #0000000f;border-radius:.45rem;max-height:420px;padding:.6rem;overflow:auto}.trog-breakdown-track{background:#e9ecef;border-radius:999px;height:10px;overflow:hidden}.trog-breakdown-fill{background:#206bc4;height:100%}.reports-chart-legend-swatch{border-radius:3px;width:14px;height:10px;display:inline-block}.reports-chart-legend-bar{background:#206bc4a6}.reports-chart-legend-vacant{background:#dc2626b3}.reports-chart-legend-line{background:linear-gradient(90deg,#0000 0 15%,#0a8ea5 15% 85%,#0000 85% 100%)}.reports-movement-picker-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:.75rem;display:grid}.reports-movement-picker-item{flex-direction:column;gap:.25rem;display:flex}@media (width<=900px){.reports-movement-picker-grid{grid-template-columns:1fr}}.reports-dot{border-radius:50%;width:.65rem;height:.65rem;display:inline-block}.reports-export-wrap{position:relative}.reports-export-popover{z-index:20;background:#fff;border:1px solid #0000001f;border-radius:.5rem;width:min(320px,80vw);padding:.75rem;position:absolute;top:calc(100% + .35rem);right:0}.reports-export-title{color:#475569;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.reports-export-options{border:1px solid #00000014;border-radius:.35rem;max-height:220px;padding:.5rem;overflow:auto}.reports-export-option{color:#334155;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.82rem;display:flex}.reports-export-option:last-child{margin-bottom:0}.reports-export-actions{justify-content:flex-end;gap:.4rem;margin-top:.55rem;display:flex}.reports-bar-cell{width:120px;min-width:80px;vertical-align:middle!important;padding-top:0!important;padding-bottom:0!important}.reports-bar-fill{border-radius:2px;min-width:2px;height:.55rem;transition:width .2s;display:block}.reports-dot-filled{background:#2f9e44}.reports-dot-vacant{background:#d9480f}@media (width<=960px){.app-sidebar{z-index:1020;padding:.6rem .65rem;position:sticky;top:0}.app-sidebar-title{width:100%;margin-bottom:.2rem}}#posts-table .resizable-th{padding-right:14px;position:relative}#posts-table .col-filter-btn{opacity:.75;width:20px;min-width:20px;height:20px;padding:0}#posts-table .col-filter-btn.filter-active{color:var(--bs-primary,#206bc4);opacity:1}#posts-table .col-resize-handle{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:0}#posts-table .col-resize-handle:hover{background:#00000014}#trog-table .trog-col-filter-btn{opacity:.75;width:20px;min-width:20px;height:20px;padding:0}#trog-table .trog-col-filter-btn.filter-active{color:var(--bs-primary,#206bc4);opacity:1}.compare-upload-grid{grid-template-columns:minmax(320px,680px);gap:.8rem;display:grid}.compare-categories{background:#f8fafccc;border:1px dashed #00000024;border-radius:.55rem;flex-wrap:wrap;gap:.9rem;padding:.65rem .75rem;display:flex}.compare-empty{background:#f8fafcbf;border:1px dashed #00000024;border-radius:.5rem;padding:1rem}.compare-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;display:grid}.compare-summary-card{background:#f8fafc;border:1px solid #00000014;border-radius:.55rem;padding:.6rem .75rem}.compare-summary-card .label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.76rem}.compare-summary-card .value{color:#0f172a;font-size:1.35rem;font-weight:700;line-height:1.2}.compare-list{max-height:240px;margin:0;padding-left:1.1rem;overflow:auto}.compare-table td,.compare-table th{white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.compare-fit-table{table-layout:fixed;width:100%}.compare-table .compare-metadata-row-selected>td{background:#206bc41a}.compare-table .reports-resizable-th{padding-right:14px;position:relative}.compare-table .reports-col-resize-handle{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:0}.compare-table .reports-col-resize-handle:hover{background:#00000014}.compare-table-scroll{border:1px solid #00000014;border-radius:.45rem;max-height:460px;overflow:hidden auto}.compare-table-scroll thead th{z-index:2;background:#f8fafc;position:sticky;top:0}.compare-metadata-layout,.compare-namechange-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:.9rem;display:grid}.compare-metadata-view-btn.is-active{color:#1d4ed8;background:#206bc41f;border-color:#206bc459}.compare-namechange-view-btn.is-active{color:#1d4ed8}.compare-metadata-detail-block{background:#f8fafc;border:1px solid #00000014;border-radius:.45rem;max-height:460px;padding:.7rem;overflow:auto}.compare-metadata-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.compare-metadata-panel{background:#fff;border:1px solid #00000014;border-radius:.4rem;padding:.55rem}.compare-namechange-detail-block{background:#f8fafc;border:1px solid #00000014;border-radius:.45rem;max-height:460px;padding:.7rem;overflow:auto}.compare-namechange-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.compare-namechange-panel{background:#fff;border:1px solid #00000014;border-radius:.4rem;padding:.55rem}@media (width<=900px){.compare-upload-grid,.compare-metadata-layout,.compare-namechange-layout,.compare-metadata-panels,.compare-namechange-panels{grid-template-columns:1fr}}.theme-dark .compare-categories,.theme-dark .compare-empty,.theme-dark .compare-summary-card{background:#253044d9;border-color:#ffffff29}.theme-dark .compare-table-scroll{border-color:#ffffff29}.theme-dark .compare-table-scroll thead th{background:#344c68}.theme-dark .compare-metadata-detail-block,.theme-dark .compare-metadata-panel,.theme-dark .compare-namechange-detail-block,.theme-dark .compare-namechange-panel{background:#253044;border-color:#fff3}.theme-dark .compare-metadata-view-btn.is-active{color:#d4e6ff;background:#7eadff33;border-color:#7eadff73}.theme-dark .compare-namechange-view-btn.is-active{color:#d4e6ff}.compare-succession-removed{color:#c92a2a;font-weight:500}.compare-succession-added{color:#2f9e44;font-weight:500}.theme-dark .compare-succession-removed{color:#ff8787}.theme-dark .compare-succession-added{color:#8ce99a}.compare-table .compare-namechange-row-selected>td{background:#206bc41a}.theme-dark .compare-table .compare-namechange-row-selected>td{background:#7eadff33}.theme-dark .compare-table .reports-col-resize-handle:hover{background:#ffffff1f}.theme-dark .compare-table .compare-metadata-row-selected>td{background:#7eadff33}.theme-dark .compare-summary-card .label{color:#9fb0c8}.theme-dark .compare-summary-card .value{color:#eaf1fb}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:left;box-sizing:border-box;border:0;width:100%;max-width:100%;min-height:100vh;margin:0;display:block}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;display:flex}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}:root{--nhs-blue:var(--primary);--nhs-blue-dark:var(--primary-strong);--nhs-blue-soft:var(--primary-soft);--nhs-aqua:var(--secondary);--nhs-red:var(--accent-danger);--nhs-ink:var(--on-surface);--nhs-muted:var(--on-surface-muted);--nhs-surface:var(--surface);--nhs-surface-alt:var(--surface-alt);--nhs-border:var(--border);--bs-primary:var(--nhs-blue);--bs-primary-rgb:0, 94, 184;--bs-link-color:var(--nhs-blue);--bs-link-hover-color:var(--nhs-blue-dark);--sans:var(--f-body);--heading:var(--f-display)}body{font-family:var(--sans);color:var(--nhs-ink);background:radial-gradient(1200px 600px at 100% -20%,#00a9ce1f,#0000 58%),radial-gradient(800px 480px at -10% 10%,#005eb81a,#0000 54%),linear-gradient(#f6fafe 0%,#f2f6fb 100%)}h1,h2,h3,.card-title,.app-sidebar-title{font-family:var(--heading);letter-spacing:-.02em}.app-sidebar{background:linear-gradient(96deg, var(--nhs-blue-dark) 0%, var(--nhs-blue) 72%, #0072ce 100%);color:#f5fbff;border-bottom:0;gap:.45rem;padding:.85rem 1rem}.app-sidebar-title{color:#fff;font-size:1rem}.app-sidebar-title.nav-brand{border-right:1px solid #fff3;align-items:center;gap:.65rem;margin-right:.6rem;padding-right:1rem;display:inline-flex}.app-sidebar-title .nav-brand-mark{width:2rem;height:2rem;color:var(--nhs-blue-dark);letter-spacing:-.03em;background:#fff;border-radius:.48rem;place-items:center;font-size:.78rem;font-weight:700;display:grid}.app-sidebar-title .nav-brand-name{font-size:.93rem;font-weight:700;line-height:1.05}.app-sidebar-title .nav-brand-sub{letter-spacing:.08em;opacity:.78;text-transform:uppercase;font-size:.64rem;font-weight:600;line-height:1.3}.app-nav-btn{color:#ffffffeb;border-radius:var(--r-sm);border:1px solid #0000;align-items:center;gap:.44rem;padding:.46rem .68rem;font-size:.81rem;font-weight:500;display:inline-flex}.app-nav-btn .dot{opacity:.58;background:currentColor;border-radius:999px;width:.38rem;height:.38rem}.app-nav-btn:hover{background:#ffffff24;border-color:#ffffff38}.app-nav-btn.active{color:var(--nhs-blue-dark);background:#fff;border-color:#00308733}.app-nav-dropdown-group{position:relative}.app-nav-dropdown-toggle{align-items:center;gap:.35rem;display:inline-flex}.app-nav-dropdown-toggle:after{content:"▾";opacity:.8;font-size:.62rem}.app-nav-dropdown-menu{z-index:1200;color:#0f2f57;background:#fffffff5;border:1px solid #0f172a1f;border-radius:.5rem;min-width:14rem;padding:.35rem;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 10px 28px #0f172a29}.app-nav-dropdown-item{text-align:left;color:#0f2f57;background:0 0;border:0;border-radius:.35rem;width:100%;padding:.45rem .5rem;font-size:.88rem}.app-nav-dropdown-item:hover,.app-nav-dropdown-item:focus{color:var(--bs-primary,#206bc4);background:#206bc41f;outline:none}.card,.reports-panel,.popover-content,.settings-popover-content,.reports-export-popover,.column-menu{border-color:var(--nhs-border);border-radius:.7rem}.card{background:var(--nhs-surface)}.table{--bs-table-striped-bg:#005eb80b}.table thead th,.reports-table-scroll thead th,.reports-breakdown-table-wrap thead th{background:var(--nhs-surface-alt);color:#334b62}.form-control,.form-select,.form-check-input{border-color:#b8cee3}.form-control:focus,.form-select:focus,.form-check-input:focus,.btn:focus-visible{border-color:var(--nhs-blue-soft);box-shadow:0 0 0 .2rem #005eb82e}.btn-primary{background:linear-gradient(180deg, #0b6bc4 0%, var(--nhs-blue) 100%);border-color:var(--nhs-blue-dark)}.btn-outline-primary{color:var(--nhs-blue);border-color:#005eb873}.btn-outline-primary:hover{color:var(--nhs-blue-dark);border-color:var(--nhs-blue);background:#005eb81a}.global-loading-bar{background:#005eb829}.global-loading-bar-fill{background:linear-gradient(90deg, var(--nhs-aqua), var(--nhs-blue))}.timeline-board,.reports-chart-scroll,.reports-breakdown-table-wrap,.reports-table-scroll,.column-filter-values,.reports-export-options{border-color:var(--nhs-border)}.timeline-grid-header{background:#edf4fb}.timeline-post-header,.timeline-month-header{color:#44607a}.timeline-block{color:#0f3d66;background:#005eb824;border-color:#005eb84d}.timeline-block-vacant{color:#8f1b12;background:#da291c2e;border-color:#da291c52}.app-sidebar-spacer{margin-left:auto}.auth-user-menu{position:relative}.auth-user-menu-toggle{color:#fff;background:#ffffff24;border:1px solid #ffffff6b;border-radius:999px;justify-content:center;align-items:center;width:2.15rem;height:2.15rem;padding:0;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.auth-user-menu-toggle:hover{background:#ffffff3d;border-color:#fff9;transform:translateY(-1px)}.auth-user-menu-toggle:focus-visible{outline:none;box-shadow:0 0 0 .2rem #ffffff47}.auth-user-avatar{background:#fff3 50%/cover no-repeat;border-radius:999px;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;font-size:.86rem;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.auth-user-avatar.has-photo{color:#0000;background-color:#ffffff24}.auth-user-menu-panel{z-index:1300;background:#fff;border:1px solid #0f172a1f;border-radius:.65rem;width:min(300px,82vw);padding:.75rem;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 14px 34px #0f172a33}.auth-user-menu-label{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:.25rem;font-size:.72rem}.auth-user-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.1rem;font-size:.86rem;font-weight:700;overflow:hidden}.auth-user-email{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;overflow:hidden}.auth-admin-popover{background:#f8fafcf2;border:1px solid #0f172a1f;border-radius:.55rem;padding:.55rem}.auth-admin-status{color:#334155;min-height:1.1rem;font-size:.74rem}.auth-admin-list{background:#fff;border:1px solid #0f172a14;border-radius:.45rem;max-height:170px;overflow:auto}.auth-admin-list-item{color:#1e293b;border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .45rem;font-size:.76rem;display:flex}.auth-admin-list-meta{flex-direction:column;gap:.2rem;min-width:0;display:flex}.auth-admin-list-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.auth-admin-badges{flex-wrap:wrap;gap:.3rem;display:flex}.auth-admin-badge{text-transform:uppercase;letter-spacing:.04em;color:#0f766e;background:#14b8a61f;border-radius:999px;align-items:center;padding:.05rem .35rem;font-size:.63rem;font-weight:700;display:inline-flex}.auth-admin-badge-self{color:#1d4ed8;background:#2563eb1f}.auth-admin-delete-btn{flex:none}.auth-admin-list-item:last-child{border-bottom:none}.theme-dark .auth-user-menu-toggle{background:#0f172a5c;border-color:#94a3b873}.theme-dark .auth-user-menu-toggle:hover{background:#0f172a94;border-color:#94a3b8b3}.theme-dark .auth-user-menu-panel{background:#1f2937;border-color:#94a3b842;box-shadow:0 16px 36px #00000073}.theme-dark .auth-user-menu-label{color:#93a6bf}.theme-dark .auth-user-name{color:#f8fafc}.theme-dark .auth-user-email{color:#dbe4f0}.theme-dark .auth-admin-popover{background:#0f172a8f;border-color:#94a3b842}.theme-dark .auth-admin-status{color:#dbe4f0}.theme-dark .auth-admin-list{background:#0f172a85;border-color:#94a3b838}.theme-dark .auth-admin-list-item{color:#e2e8f0;border-bottom-color:#94a3b838}.theme-dark .auth-admin-badge{color:#99f6e4;background:#2dd4bf29}.theme-dark .auth-admin-badge-self{color:#bfdbfe;background:#3b82f629}@media (width<=960px){.app-sidebar-spacer{display:none}.auth-user-menu{margin-left:auto}}.reports-chart-bar-starters,.reports-chart-legend-bar{fill:#005eb8ad;background:#005eb8ad}.reports-chart-bar-vacant,.reports-chart-legend-vacant{fill:#da291cb8;background:#da291cb8}.reports-chart-line{stroke:#0a8ea5;fill:none}.reports-chart-point{fill:#0a8ea5}.text-muted,.small.text-muted{color:var(--nhs-muted)!important}.theme-dark .app-sidebar{background:linear-gradient(96deg,#1b4f94 0%,#1c65b7 72%,#1787b9 100%)}.theme-dark .app-nav-btn{color:#f1f8fff0}.theme-dark .app-nav-btn.active{color:#123a68;background:#dcecff}.theme-dark .app-nav-dropdown-menu{background:#1e293bf5;border-color:#94a3b847;box-shadow:0 16px 32px #02061780}.theme-dark .app-nav-dropdown-item{color:#dbe4f0}.theme-dark .app-nav-dropdown-item:hover,.theme-dark .app-nav-dropdown-item:focus{color:#eff6ff;background:#3b82f63d}.theme-dark .card,.theme-dark .reports-panel,.theme-dark .settings-popover-content,.theme-dark .popover-content,.theme-dark .column-menu,.theme-dark .reports-export-popover{background:#25354d;border-color:#94b8db4d}.theme-dark .form-control,.theme-dark .form-select{background:#1e2c42;border-color:#99bee259}.theme-dark .reports-chart-bar-starters{fill:#66b4ffbf}.theme-dark .reports-chart-line{stroke:#4dc2da;fill:none}.theme-dark .reports-chart-point{fill:#4dc2da}.theme-dark body,body.theme-dark{background:linear-gradient(#1c2a3d 0%,#24364d 100%)}.theme-dark .card,.theme-dark .reports-panel,.theme-dark .settings-popover-content,.theme-dark .popover-content,.theme-dark .column-menu,.theme-dark .reports-export-popover{color:#edf4ff;background:#2e425d;border-color:#abc7e557}.theme-dark .reports-table-scroll,.theme-dark .reports-breakdown-table-wrap,.theme-dark .reports-chart-scroll,.theme-dark .reports-export-options,.theme-dark .column-filter-values{background:#2b3f58;border-color:#abc7e557}.theme-dark .reports-table-scroll thead th,.theme-dark .reports-breakdown-table-wrap thead th,.theme-dark .table thead th{color:#e9f3ff;background:#344c68}.theme-dark .table,.theme-dark .table th,.theme-dark .table td{color:#edf4ff;border-color:#c7dcf433}.theme-dark .table-striped>tbody>tr:nth-of-type(odd)>*{background:#ffffff0e}.theme-dark .table-striped>tbody>tr:nth-of-type(2n)>*{background:#ffffff05}.theme-dark .reports-pie:after{background:#2e425d}.theme-dark .btn-light{color:#edf4ff;background:#3a5170;border-color:#5b7698}.theme-dark .btn-light:hover,.theme-dark .btn-light:focus{color:#fff;background:#456082;border-color:#7f9abb}.theme-dark .text-muted,.theme-dark .small.text-muted{color:#c5d4e6!important}.theme-dark .btn-outline-secondary{color:#d7e6f8;background:#394f6b61;border-color:#9dbbdc8c}.theme-dark .btn-outline-secondary:hover,.theme-dark .btn-outline-secondary:focus{color:#fff;background:#506c8eb8;border-color:#bed7f1cc}.theme-dark .btn-outline-primary{color:#b8d9ff;border-color:#70abe99e}.theme-dark .btn-outline-primary:hover,.theme-dark .btn-outline-primary:focus{color:#fff;background:#3674b88c;border-color:#a0ccf8e6}.theme-dark .btn-link,.theme-dark .table .btn-link{color:#97c9ff}.theme-dark .btn-link:hover,.theme-dark .table .btn-link:hover{color:#c4e2ff}.theme-dark .reports-panel .small,.theme-dark .reports-panel .form-label{color:#d3e2f3}.theme-dark #screen-reports{min-height:100%;background:#273747!important}#screen-reports .reports-section-block{margin-top:1rem;padding-top:.75rem}#screen-reports .reports-core-section{margin-top:0;padding-top:0}#screen-reports .reports-section-separator{background:linear-gradient(90deg,#94a3b800 0%,#94a3b8cc 18% 82%,#94a3b800 100%);height:1px;margin-bottom:.85rem}#screen-reports .reports-section-title{margin-bottom:.95rem}.theme-dark #screen-reports .reports-section-separator{background:linear-gradient(90deg,#94a3b800 0%,#abc7e5cc 18% 82%,#94a3b800 100%)}.theme-dark #screen-reports .reports-table-scroll,.theme-dark #screen-reports .reports-breakdown-table-wrap{background:#253044!important;border-color:#abc7e540!important}.theme-dark #screen-reports .reports-table-scroll .table,.theme-dark #screen-reports .reports-breakdown-table-wrap .table,.theme-dark #screen-reports .reports-panel .table{--bs-table-bg:transparent!important;--bs-table-color:#edf4ff!important;background:0 0!important}.theme-dark #screen-reports .reports-table-scroll .table thead th,.theme-dark #screen-reports .reports-breakdown-table-wrap .table thead th,.theme-dark #screen-reports .reports-panel .table thead th,.theme-dark .reports-table-scroll .table thead th,.theme-dark .reports-breakdown-table-wrap .table thead th{color:#e9f3ff!important;background:#344c68!important;border-color:#c7dcf433!important}.theme-dark .reports-table-scroll thead th{background:#344c68!important}.theme-dark #screen-reports .reports-table-scroll .table tbody td,.theme-dark #screen-reports .reports-breakdown-table-wrap .table tbody td,.theme-dark #screen-reports .reports-panel .table tbody td,.theme-dark .reports-table-scroll .table tbody td,.theme-dark .reports-breakdown-table-wrap .table tbody td{color:#edf4ff!important;background:0 0!important;border-color:#c7dcf426!important}.theme-dark #screen-reports .text-muted,.theme-dark #screen-reports .small.text-muted,.theme-dark #screen-reports .table .text-muted{color:#a8bdd6!important}.theme-dark #screen-reports .reports-table-scroll .table.table-striped tbody tr:nth-of-type(odd)>*,.theme-dark #screen-reports .reports-table-scroll .table.table-striped tbody tr:nth-of-type(odd)>td,.theme-dark .reports-table-scroll .table.table-striped tbody tr:nth-of-type(odd)>*,.theme-dark .reports-table-scroll .table.table-striped tbody tr:nth-of-type(odd)>td,.theme-dark #reports-section-starters .table.table-striped tbody tr:nth-of-type(odd)>*,.theme-dark #reports-section-leavers .table.table-striped tbody tr:nth-of-type(odd)>*,.theme-dark #reports-section-unknown .table.table-striped tbody tr:nth-of-type(odd)>*,.theme-dark #reports-section-data-quality-a .table.table-striped tbody tr:nth-of-type(odd)>*,.theme-dark #reports-section-data-quality-b .table.table-striped tbody tr:nth-of-type(odd)>*,.theme-dark #reports-section-discrepancies .table.table-striped tbody tr:nth-of-type(odd)>*{--bs-table-bg-type:#7b96b51c!important;--bs-table-bg:#7b96b51c!important;color:#edf4ff!important;background:#7b96b51c!important}.theme-dark #screen-reports .reports-table-scroll .table.table-striped tbody tr:nth-of-type(2n)>*,.theme-dark #screen-reports .reports-table-scroll .table.table-striped tbody tr:nth-of-type(2n)>td,.theme-dark .reports-table-scroll .table.table-striped tbody tr:nth-of-type(2n)>*,.theme-dark .reports-table-scroll .table.table-striped tbody tr:nth-of-type(2n)>td,.theme-dark #reports-section-starters .table.table-striped tbody tr:nth-of-type(2n)>*,.theme-dark #reports-section-leavers .table.table-striped tbody tr:nth-of-type(2n)>*,.theme-dark #reports-section-unknown .table.table-striped tbody tr:nth-of-type(2n)>*,.theme-dark #reports-section-data-quality-a .table.table-striped tbody tr:nth-of-type(2n)>*,.theme-dark #reports-section-data-quality-b .table.table-striped tbody tr:nth-of-type(2n)>*,.theme-dark #reports-section-discrepancies .table.table-striped tbody tr:nth-of-type(2n)>*{--bs-table-bg-type:#56739321!important;--bs-table-bg:#56739321!important;color:#edf4ff!important;background:#56739321!important}.theme-dark #screen-reports .reports-breakdown-table-wrap .table tbody tr>*,.theme-dark #screen-reports .reports-breakdown-table-wrap .table tbody tr>td,.theme-dark .reports-breakdown-table-wrap .table tbody tr>*,.theme-dark .reports-breakdown-table-wrap .table tbody tr>td{color:#edf4ff!important;background:#5673931f!important}.theme-dark .reports-panel,.theme-dark #screen-reports .reports-panel{color:#edf4ff!important;background:#2e425d!important;border-color:#abc7e557!important}.theme-dark .reports-panel{background:#2e425d!important;border-color:#abc7e557!important}.theme-dark .reports-table-scroll .table.table-sm,.theme-dark .reports-table-scroll .table.table-vcenter,.theme-dark .reports-breakdown-table-wrap .table.table-sm,.theme-dark .reports-breakdown-table-wrap .table.table-vcenter,.theme-dark #screen-reports table tbody tr td{background:0 0!important}.theme-dark #screen-reports table.table-striped tbody tr:nth-of-type(odd) td{background:#7b96b51c!important}.theme-dark #screen-reports table.table-striped tbody tr:nth-of-type(2n) td{background:#56739321!important}.theme-dark .table{--bs-table-bg:transparent;--bs-table-color:#edf4ff;--bs-table-border-color:#c7dcf433}.theme-dark .table tbody tr{background:0 0}.theme-dark .table tbody tr:hover>*{background:#ffffff14}.theme-dark .reports-table-scroll td,.theme-dark .reports-table-scroll th,.theme-dark .reports-breakdown-table-wrap td,.theme-dark .reports-breakdown-table-wrap th{border-color:#c7dcf426}.theme-dark .reports-table-scroll .text-muted,.theme-dark .reports-breakdown-table-wrap .text-muted{color:#a8bdd6!important}.theme-dark #reports-section-starters .table>tbody>tr,.theme-dark #reports-section-leavers .table>tbody>tr,.theme-dark #reports-section-data-quality-a .table>tbody>tr,.theme-dark #reports-section-data-quality-b .table>tbody>tr,.theme-dark #reports-section-discrepancies .table>tbody>tr,.theme-dark #reports-section-unknown .table>tbody>tr{background:0 0!important}.theme-dark #reports-section-starters .table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-leavers .table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-data-quality-a .table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-data-quality-b .table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-discrepancies .table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-unknown .table-striped>tbody>tr:nth-of-type(odd)>*{background:#7b96b51c!important}.theme-dark #reports-section-starters .table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-leavers .table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-data-quality-a .table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-data-quality-b .table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-discrepancies .table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-unknown .table-striped>tbody>tr:nth-of-type(2n)>*{background:#56739321!important}.theme-dark #screen-reports .card-title,.theme-dark #screen-reports h3,.theme-dark #screen-reports h4{color:#eaf3ff}.theme-dark .reports-table-scroll{background:#253044!important;border-color:#abc7e540!important}.theme-dark .reports-table-scroll>table{background:0 0!important}.theme-dark .reports-table-scroll thead th{color:#e9f3ff!important;background:#344c68!important;border-color:#c7dcf433!important}.theme-dark .reports-table-scroll tbody tr{background:0 0!important}.theme-dark .reports-table-scroll tbody td{color:#edf4ff!important;background:0 0!important;border-color:#c7dcf426!important}.theme-dark .reports-table-scroll .table.table-striped>tbody>tr:nth-of-type(odd)>*{color:#edf4ff!important;background:#7b96b51c!important}.theme-dark .reports-table-scroll .table.table-striped>tbody>tr:nth-of-type(2n)>*{color:#edf4ff!important;background:#56739321!important}.theme-dark #reports-section-starters .table.table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-leavers .table.table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-unknown .table.table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-data-quality-a .table.table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-data-quality-b .table.table-striped>tbody>tr:nth-of-type(odd)>*,.theme-dark #reports-section-discrepancies .table.table-striped>tbody>tr:nth-of-type(odd)>*{color:#edf4ff!important;background:#7b96b51c!important}.theme-dark #reports-section-starters .table.table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-leavers .table.table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-unknown .table.table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-data-quality-a .table.table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-data-quality-b .table.table-striped>tbody>tr:nth-of-type(2n)>*,.theme-dark #reports-section-discrepancies .table.table-striped>tbody>tr:nth-of-type(2n)>*{color:#edf4ff!important;background:#56739321!important}.theme-dark .reports-breakdown-table-wrap{background:#253044!important;border-color:#abc7e540!important}.theme-dark .reports-breakdown-table-wrap .table{background:0 0!important}.theme-dark .reports-breakdown-table-wrap thead th{color:#e9f3ff!important;background:#344c68!important;border-color:#c7dcf433!important}.theme-dark .reports-breakdown-table-wrap tbody td{color:#edf4ff!important;background:0 0!important;border-color:#c7dcf426!important}.theme-dark .reports-breakdown-table-wrap .table>tbody>tr>*{background:#5673931f!important}.theme-dark .timeline-board{background:#253647;border-color:#abc7e557}.theme-dark .timeline-grid-header{background:#36495e;border-bottom-color:#c7dcf447}.theme-dark .timeline-post-header,.theme-dark .timeline-month-header,.theme-dark .timeline-post-cell{color:#eaf3ff;background:#304356;border-right-color:#c7dcf433}.theme-dark .timeline-row-grid{border-bottom-color:#c7dcf429}.theme-dark .timeline-month-cell{border-right-color:#c7dcf41a}.theme-dark .timeline-block{color:#eaf3ff;background:#6696cd33;border-color:#84b4ec75}.theme-dark #screen-reports .table{--bs-table-color:#edf4ff;--bs-table-bg:#2b3f58;--bs-table-border-color:#c7dcf433;--bs-table-striped-bg:#7b96b51c;--bs-table-striped-color:#edf4ff;--bs-table-hover-bg:#96b2d324;--bs-table-hover-color:#fff}.theme-dark #screen-reports .table>:not(caption)>*>*{background-color:var(--bs-table-bg);color:var(--bs-table-color)}.theme-dark .timeline-block-vacant{color:#ffdede;background:#aa33335c;border-color:#ee85859e}.theme-dark #timeline-post-filter,.theme-dark #timeline-holder-filter{color:#edf4ff;background:#2a3f59;border-color:#abc7e56b}.theme-dark #timeline-post-filter::placeholder,.theme-dark #timeline-holder-filter::placeholder{color:#b9cce3}.theme-dark #reports-rota-posts-popover .table{color:#edf4ff;background:0 0}.theme-dark #reports-rota-posts-popover .table thead th{color:#e9f3ff;background:#344c68}.theme-dark #reports-rota-posts-popover .table tbody td{color:#edf4ff}.theme-dark .reports-export-popover{background:#2e425d;border-color:#abc7e557}.theme-dark .reports-export-title{color:#d3e2f3}.theme-dark .reports-export-options{background:#253044;border-color:#abc7e540}.theme-dark .reports-export-option{color:#d3e2f3}.theme-dark .reports-starters-table .reports-col-resize-handle:hover{background:#ffffff26}.theme-dark .reports-table-scroll .btn-link,.theme-dark .reports-breakdown-table-wrap .btn-link{color:#97c9ff}.theme-dark .reports-table-scroll .btn-link:hover,.theme-dark .reports-breakdown-table-wrap .btn-link:hover{color:#c4e2ff}.reports-table-scroll tbody tr.d-none{display:none!important}.reports-table-scroll tbody tr{transition:opacity .1s ease-in-out}.settings-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.settings-subnav{position:sticky;top:0}.settings-subnav .settings-category-buttons{gap:.45rem;display:grid}.settings-subnav .settings-category-buttons .btn{justify-content:flex-start}.settings-panels{flex-direction:column;gap:.9rem;display:flex}.settings-panels .settings-panel{box-shadow:var(--shadow-card-soft,0 4px 14px #0030870f)}.notice{margin:0}.notice.b-sm{padding:10px 12px}.tbl-wrap .table{margin-bottom:0}.compare-table .compare-namechange-row-selected>td,.compare-table .compare-metadata-row-selected>td,.tbl tbody tr.is-selected td{background:#005eb81a}:root[data-theme=dark] .compare-table .compare-namechange-row-selected>td,:root[data-theme=dark] .compare-table .compare-metadata-row-selected>td,:root[data-theme=dark] .tbl tbody tr.is-selected td{background:#4c9fe333}@media (width<=960px){.settings-layout{grid-template-columns:1fr}.settings-subnav{position:static}}
