/* SHED 6 approved concept: ink rail, cool grey workspace, compact queue + inspector. */
:root { --bg:#f6f8fb; --surface:#fff; --surface-2:#eaf0f6; --line:#d4dce7; --fg:#0c1728; --fg-2:#465974; --fg-3:#52647d; --accent:#07538b; --accent-soft:#e8f3ff; --radius:8px; --font-ui:"Inter","Public Sans",Arial,sans-serif; --critical:#b41e16; --critical-soft:#ffe6e3; --warn:#a86900; --warn-soft:#fff1d5; --good:#187546; --good-soft:#dff3e8; --serious:#a9440c; --serious-soft:#ffeadb; color-scheme:light; }
body { font-size:14px; line-height:1.45; }
.icon { width:20px;height:20px;flex:none;vertical-align:middle; }
a { text-decoration:none; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.shell { grid-template-columns:232px minmax(0,1fr);min-height:100vh; }
.rail { background:#071c33; border:0; padding:15px 15px 25px;gap:25px; color:#f7faff; height:100dvh;z-index:10; }
.brand {gap:11px;color:#fff;padding:0 6px;}
.brand-mark {width:42px;height:42px;background:#3c6dab;border-radius:8px;font-size:25px;font-weight:650;}
.brand-name {font-size:22px;line-height:1.1;font-weight:650;letter-spacing:-.6px;}
.brand-by {color:#e1e8f4;font-size:13px;margin-top:3px;}
.organisation {display:flex;align-items:center;gap:10px;border:1px solid #42566d;background:#142d46;border-radius:8px;padding:11px 10px;color:#fff;font-size:13px;box-shadow:inset 0 1px 4px #ffffff08;}
.organisation strong {flex:1;font-weight:600;}
.organisation .icon:last-child {width:16px;}
.nav {gap:4px;margin-top:-5px;}
.nav a {padding:12px 13px;gap:13px;justify-content:flex-start;color:#fff;font-size:14px;font-weight:500;min-height:44px;}
.nav a>span:not(.count) {flex:1;}
.nav a[aria-current="page"] {background:#22599d;color:#fff;box-shadow:0 2px 4px #0002;}
.nav a:hover,.rail-setting:hover {background:#173653;color:#fff;}
.nav .count {background:#48617a;color:#fff;font-size:12px;min-width:26px;text-align:center;padding:3px 6px;}
.rail-foot {gap:18px;}
.rail-setting {display:flex;align-items:center;gap:14px;color:#fff;padding:0 12px;font-weight:500;}
.reviewer {display:flex;align-items:center;gap:10px;color:#fff;font-size:14px;padding:0 6px;}
.reviewer .icon {width:14px;margin-left:-6px;}
.avatar {width:34px;height:34px;border:1px solid #448ac6;border-radius:50%;background:#e1f0ff;color:#0b365e;display:grid;place-items:center;font-weight:650;font-size:12px;}
.portfolio {border-top:1px solid #4a5c71;padding:17px 6px 12px;font-size:12px;white-space:nowrap;}
.topbar {height:55px;min-height:55px;flex-wrap:nowrap;padding:0 18px 0 25px;gap:18px;position:relative;}
.breadcrumb {display:flex;align-items:center;gap:14px;white-space:nowrap;font-size:13px;color:var(--fg-2);}
.breadcrumb strong {color:var(--fg);font-weight:600;}
.slash {color:#8190a5;}
.demo-tag {border-left:1px solid var(--line);padding:7px 12px;background:#dceeff;color:#133c61;border-radius:4px;font-size:13px;font-weight:600;white-space:nowrap;}
.header-spacer {flex:1;}
.global-search {position:relative;width:350px;display:flex;align-items:center;}
.global-search .icon {position:absolute;left:13px;width:17px;color:var(--fg-2);}
.global-search input {width:100%;height:37px;border:1px solid var(--line);border-radius:7px;background:#f7f9fc;padding:7px 12px 7px 39px;font:inherit;font-size:13px;color:var(--fg);}
.global-search input::placeholder {color:var(--fg-2);opacity:1;}
.asof {padding-left:18px;border-left:1px solid var(--line);}
.asof input {height:37px;font-size:13px;font-weight:600;border-radius:7px;padding:7px 12px;min-width:145px;}
.demo-banner {display:flex;align-items:center;gap:10px;margin:0 18px 0 23px;padding:10px 12px;background:#e9eef5;border:0;border-radius:0 0 8px 8px;font-size:13px;min-height:39px;}
.demo-banner .icon {width:17px;height:17px;color:var(--fg-2);}
.content {padding:21px 18px 24px 23px;gap:23px;max-width:none;}
h1 {font-size:32px;letter-spacing:-1.15px;font-weight:700;line-height:1.2;}
h2 {font-size:22px;letter-spacing:-.65px;font-weight:650;}
h3 {font-size:15px;letter-spacing:-.3px;font-weight:650;}
.page-head .lede {max-width:none;font-size:14px;margin-top:5px;line-height:1.5;}
.dashboard-heading {align-items:center;gap:14px;flex-wrap:nowrap;}
.actions {gap:15px;flex-wrap:nowrap;}
.btn {font-weight:600;font-size:13px;min-height:38px;border-radius:7px;padding:9px 16px;justify-content:center;white-space:nowrap;text-decoration:none;box-shadow:0 1px 2px #1027440b;}
.btn .icon {width:18px;height:18px;margin-right:4px;}
.btn.primary {background:#07538b;border-color:#07538b;color:#fff;}
.btn.primary:hover {background:#064575;filter:none;}
.button-count {margin-left:14px;border-radius:20px;padding:2px 8px;background:#e5f1ff;color:#143e69;min-width:32px;}
.tiles {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
.tile.metric {display:flex;align-items:flex-start;gap:14px;position:relative;min-height:102px;padding:14px 15px 13px;border-radius:8px;overflow:hidden;}
.metric:before {display:none;}
.metric.metric-critical:before,.metric.metric-warn:before {content:"";display:block;position:absolute;top:0;left:0;right:0;height:3px;background:#d62a1e;}
.metric.metric-warn:before {background:#da8a00;}
.metric-icon {width:40px;height:40px;display:grid;place-items:center;background:#edf3f9;border-radius:6px;color:#234b70;flex:none;}
.metric-icon .icon {width:24px;height:24px;}
.metric-critical .metric-icon {background:#fff0ed;color:#d52a22;}
.metric-warn .metric-icon {background:#fff5e2;color:#c47b00;}
.tile .value {font-size:29px;line-height:1;font-weight:650;letter-spacing:-.8px;}
.metric-critical .value {color:#bd281f;}
.metric-warn .value {color:#a36d06;}
.tile .label {font-size:13px;color:var(--fg);line-height:1.3;margin-top:3px;font-weight:600;}
.tile .sub {font-size:12px;color:var(--fg-2);margin-top:5px;}
.dashboard-grid {display:grid;grid-template-columns:minmax(0,1.74fr) minmax(365px,1fr);gap:16px;align-items:stretch;}
.card {border-radius:8px;border:1px solid var(--line);background:#fff;box-shadow:none;min-width:0;overflow:hidden;}
.queue {display:flex;flex-direction:column;padding:0 16px;}
.queue-heading {display:flex;align-items:center;justify-content:space-between;padding:15px 0 17px;gap:12px;}
.queue-heading .small {display:flex;align-items:center;gap:16px;font-size:12px;}
.queue-heading .icon {width:15px;}
.queue-toolbar {display:flex;justify-content:space-between;gap:10px;padding-bottom:16px;}
.segments {display:flex;align-items:center;background:#f6f8fc;border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px;}
.segments button {border:0;background:transparent;color:var(--fg);font-size:12px;font-weight:600;border-radius:5px;padding:5px 16px;display:flex;align-items:center;gap:10px;white-space:nowrap;}
.segments button[aria-pressed="true"] {background:#d7eaff;box-shadow:0 1px 2px #12324f10;}
.segments button>span {background:#e6ebf2;border-radius:20px;min-width:22px;height:22px;display:grid;place-items:center;}
.segments button[aria-pressed="true"]>span {background:#fff;}
.filter-btn {min-height:37px;padding:7px 13px;}
.filter-btn.active {background:var(--accent-soft);}
.filter-options {display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;font-size:13px;gap:8px;}
.filter-options label {display:flex;align-items:center;gap:8px;}
.queue .table-wrap {overflow-x:auto;flex:1;}
.queue-table {font-size:13px;table-layout:fixed;}
.queue-table th {padding:11px 10px;border-top:1px solid #dce3ec;font-size:10px;letter-spacing:0;color:var(--fg-2);font-weight:600;}
.queue-table th:nth-child(1) {width:27%;}
.queue-table th:nth-child(2) {width:25%;}
.queue-table th:nth-child(3) {width:28%;}
.queue-table th:nth-child(4) {width:20%;}
.queue-table td {padding:10px 10px 9px;border-bottom:1px solid #dce3ec;height:61px;vertical-align:middle;}
.queue-table td strong {font-size:13px;font-weight:600;}
.queue-table .selected td {background:#eaf4ff;}
.queue-table .selected td:first-child {box-shadow:inset 2px 0 #2769cd;border-radius:6px 0 0 6px;}
.queue-table .selected td:last-child {border-radius:0 6px 6px 0;}
.queue-table tr:hover td {background:#f0f6fd;cursor:pointer;}
.case-select {display:block;border:0;background:none;padding:0;text-align:left;color:var(--fg);font:inherit;font-weight:600;font-size:13px;line-height:1.35;}
.queue-table .sub {font-size:12px;line-height:1.4;margin-top:3px;color:var(--fg-2);}
.queue-table .sub.mono {font-size:11px;letter-spacing:-.3px;}
.pill {font-size:11px;line-height:1.3;padding:3px 8px;}
.queue-table .pill.plain {font-size:10px;padding:2px 7px;margin-top:3px;max-width:100%;white-space:normal;}
.finding-pills {display:flex;align-items:flex-start;flex-direction:column;gap:4px;}
.queue-footer {display:flex;justify-content:space-between;align-items:center;padding:13px 3px;font-size:12px;color:var(--fg-2);border-top:1px solid var(--line);gap:10px;}
.queue-footer a {font-weight:600;color:#074b9c;display:flex;align-items:center;gap:7px;}
.queue-footer .icon {width:16px;height:16px;}
.inspector {padding:15px 19px;display:flex;flex-direction:column;}
.inspector-kicker {display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;gap:8px;}
.inspector-kicker>span {text-transform:uppercase;}
.inspector-kicker a {display:flex;align-items:center;gap:4px;color:#064d9b;font-size:12px;}
.inspector-kicker .icon {width:13px;height:13px;}
.inspector>h2 {font-size:22px;letter-spacing:-.6px;margin:5px 0 3px;}
.inspector-ref {font-size:12px;color:var(--fg-2);}
.case-alert {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 10px;border-radius:6px;margin-top:13px;font-size:11px;flex-wrap:wrap;background:var(--surface-2);color:var(--fg-2);}
.case-alert.critical {background:var(--critical-soft);color:var(--critical);}
.case-alert.warn {background:var(--warn-soft);color:var(--warn);}
.case-alert.good {background:var(--good-soft);color:var(--good);}
.case-alert strong {display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;}
.case-alert .icon {width:16px;height:16px;}
.household-block {padding:11px 0 16px;border-bottom:1px solid #dce3ec;}
.household-line {display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:12px;}
.household-line>.icon {width:22px;height:22px;background:#eff3f8;border-radius:3px;color:var(--fg-2);padding:2px;}
.household-line strong {font-weight:600;margin-right:auto;}
.vulnerabilities {display:flex;gap:5px;flex-wrap:wrap;}
.vulnerabilities span {border-radius:20px;padding:3px 10px;background:#e2efff;color:#163960;font-size:11px;}
.evidence-block {padding:11px 0 2px;border-bottom:1px solid #dce3ec;}
.section-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;}
.subtle-tag {font-size:10px;padding:3px 9px;line-height:1.1;color:var(--fg-2);background:#eaf0f6;border-radius:15px;white-space:nowrap;}
.evidence-trail {margin-top:7px;}
.evidence-link {display:flex;align-items:center;position:relative;gap:13px;width:100%;text-align:left;padding:12px 4px 12px 34px;background:none;border:0;min-height:59px;color:var(--fg);}
.evidence-link:hover {background:#f4f8fe;border-radius:5px;}
.evidence-link+.evidence-link:after {content:"";position:absolute;height:1px;background:#dce3ec;left:35px;right:0;top:0;}
.evidence-link:before {content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:#d3dbe7;}
.evidence-link:first-child:before {top:50%;}
.evidence-link:last-child:before {bottom:50%;}
.trail-dot {width:10px;height:10px;border:2px solid #6a7b93;border-radius:50%;position:absolute;left:5px;top:calc(50% - 5px);background:#fff;z-index:1;}
.evidence-link:nth-child(2) .trail-dot {background:#8192a8;border-color:#8192a8;}
.evidence-icon {display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#edf1f7;flex:none;}
.evidence-link>span:nth-last-child(2) {flex:1;min-width:0;}
.evidence-link strong {display:block;font-size:13px;font-weight:600;}
.evidence-link small {display:block;font-size:12px;color:var(--fg-2);margin-top:3px;}
.evidence-link>.icon {width:16px;height:16px;color:var(--fg-2);}
.review-block {padding-top:11px;margin-top:auto;}
.review-block p {font-size:12px;color:var(--fg-2);margin:3px 0 12px;}
.review-case {width:100%;gap:12px;}
.text-button {background:none;border:0;padding:0;color:#074b9c;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:5px;text-align:left;}
.text-button:hover {text-decoration:underline;}
.text-button .icon {width:14px;height:14px;}
.audit-link {display:block;text-align:center;margin:14px auto 6px;font-size:12px;}
.source-strip {display:flex;align-items:center;gap:16px;border-radius:8px;background:#fff;box-shadow:0 2px 4px #15314b15;padding:15px 17px;min-height:56px;margin-top:7px;}
.source-total {display:flex;align-items:center;gap:14px;color:var(--fg);font-size:16px;white-space:nowrap;padding-right:17px;border-right:1px solid var(--line);}
.source-total>.icon {color:var(--fg-2);width:22px;height:22px;}
.source-items {display:flex;align-items:center;justify-content:space-around;flex:1;gap:12px;}
.source-items button {display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;color:var(--fg);font-size:11px;white-space:nowrap;}
.source-items button:hover {color:var(--accent);}
.source-items .icon {color:var(--fg-2);width:19px;height:19px;}
.source-items b {background:#eaf0f6;border-radius:10px;font-size:10px;padding:2px 5px;font-weight:600;}
.assistant-space {width:150px;flex:none;}
.ai-pill {position:fixed;bottom:22px;right:20px;font-size:14px;padding:12px 20px;background:#07538b;box-shadow:none;border-radius:30px;}
.ai-panel {right:20px;bottom:22px;max-height:calc(100dvh - 40px);}
:focus-visible {outline:2px solid #3182e5;outline-offset:3px;}
.rail :focus-visible {outline-color:#b3d8ff;}
.toolbar {flex-wrap:wrap;}
@media (min-width:1500px) { .content {gap:23px;} .dashboard-grid {min-height:564px;} }
@media (max-width:1390px) {
 .shell {grid-template-columns:205px minmax(0,1fr);} .rail {padding-inline:12px;} .brand-name{font-size:21px;} .nav a{padding-inline:10px;gap:10px;} .organisation{font-size:12px;gap:7px;} .portfolio{font-size:11px;}
 .topbar{gap:12px;padding-inline:20px;} .breadcrumb{gap:10px;} .global-search{width:240px;} .demo-tag{font-size:11px;padding:7px 9px;} .asof{padding-left:12px;}
 .content{padding-inline:20px;gap:20px;} .demo-banner{margin-inline:20px;} h1{font-size:29px;} .page-head .lede{font-size:12px;} .actions{gap:10px;} .btn{padding-inline:12px;font-size:12px;}
 .tiles{gap:12px;} .tile.metric{padding:14px 12px;gap:10px;} .metric-icon{width:32px;height:36px;} .metric-icon .icon{width:22px;} .tile .label{font-size:11px;} .tile .sub{font-size:11px;} .tile .value{font-size:28px;}
 .dashboard-grid{grid-template-columns:minmax(0,1.74fr) minmax(330px,1fr);gap:14px;} .queue{padding-inline:12px;} .queue-heading h2{font-size:20px;} .queue-heading .small{font-size:10px;gap:7px;}.segments button{padding-inline:10px;gap:7px;font-size:11px;}.queue-table td{padding-inline:7px;height:64px;}.queue-table th{padding-inline:7px;font-size:9px;}.case-select,.queue-table td strong{font-size:11px;}.queue-table .sub{font-size:10px;}.queue-table .sub.mono{font-size:9px;}.queue-table .pill{font-size:10px;}.queue-table .pill.plain{font-size:9px;}.inspector{padding-inline:15px;}.inspector>h2{font-size:21px;}.case-alert{padding:10px 8px;font-size:10px;}.case-alert strong{font-size:12px;}.household-line{gap:7px;}.household-line strong{font-size:11px;}.vulnerabilities span{font-size:10px;padding-inline:8px;}.evidence-link{gap:10px;}.source-strip{gap:12px;padding-inline:14px;}.source-total{font-size:14px;padding-right:12px;gap:10px;}.source-items{gap:8px;}.source-items button{gap:6px;font-size:10px;}.assistant-space{width:135px;}
}
@media (max-width:1150px) {
 .topbar .breadcrumb>span:not(.slash),.topbar .breadcrumb>.slash {display:none;}.global-search{width:210px;}.demo-tag{font-size:10px;}.dashboard-heading{align-items:flex-start;}.dashboard-heading .actions{gap:7px;}.dashboard-heading .btn{padding:8px 10px;font-size:11px;}.dashboard-heading .btn .icon{width:15px;}.button-count{margin-left:6px;}.metric-icon{display:none;}.dashboard-grid{grid-template-columns:minmax(0,1fr);}.inspector{display:grid;grid-template-columns:1fr 1fr;column-gap:25px;}.inspector-kicker,.inspector>h2,.inspector-ref,.case-alert{grid-column:1;}.household-block{grid-column:1;border-bottom:0;}.evidence-block{grid-column:2;grid-row:1/6;border-bottom:0;}.review-block{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:25px;border-top:1px solid var(--line);}.review-block .review-case{grid-column:2;grid-row:1/3;}.review-block .audit-link{grid-column:2;margin:8px auto;}.source-items{flex-wrap:wrap;justify-content:flex-start;gap:10px 17px;}.source-total{font-size:13px;}.queue-table td{height:64px;}.case-select,.queue-table td strong{font-size:13px;}.queue-table .sub{font-size:12px;}.queue-table .sub.mono{font-size:11px;}.queue-table th{font-size:10px;}.queue-table .pill,.queue-table .pill.plain{font-size:11px;}.assistant-space{width:135px;}
}
@media (max-width:760px) {
 .shell{display:block;}.rail{position:relative;height:auto;padding:14px 16px;gap:15px;}.brand{padding:0;}.brand-mark{width:35px;height:35px;font-size:22px;}.brand-name{font-size:20px;}.brand-by{font-size:11px;}.organisation{position:absolute;right:16px;top:16px;max-width:48%;font-size:11px;min-height:35px;padding:7px;}.organisation>.icon{width:16px;}.rail-foot{display:none;}.nav{flex-direction:row;overflow:auto;margin:0;padding:2px 0 4px;gap:4px;}.nav a{font-size:12px;padding:8px 11px;white-space:nowrap;min-height:36px;gap:7px;}.nav .icon{width:17px;height:17px;}.nav .count{font-size:10px;min-width:20px;padding:1px 5px;}.topbar{height:auto;min-height:0;flex-wrap:wrap;padding:12px 16px;gap:10px;}.breadcrumb{font-size:12px;}.demo-tag{font-size:10px;}.header-spacer{display:none;}.global-search{order:3;width:100%;}.asof{margin-left:auto;border-left:0;padding:0;}.asof input{min-width:130px;width:130px;padding:6px;font-size:11px;}.demo-banner{font-size:11px;margin:0 12px;padding:9px 10px;align-items:flex-start;}.content{padding:20px 12px 80px;gap:18px;}.dashboard-heading{display:block;}.dashboard-heading h1{font-size:28px;}.page-head .lede{font-size:12px;}.dashboard-heading .actions{margin-top:15px;}.dashboard-heading .btn{font-size:12px;min-height:38px;}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.tile.metric{min-height:92px;padding:12px;gap:10px;}.tiles .metric:last-child{grid-column:1/-1;min-height:76px;}.metric-icon{display:grid;width:32px;height:32px;}.tile .value{font-size:25px;}.tile .label{font-size:12px;}.tile .sub{font-size:11px;}.queue{padding:0 10px;}.queue-heading{align-items:flex-start;gap:8px;}.queue-heading h2{font-size:20px;}.queue-heading .small{font-size:9px;max-width:105px;text-align:right;}.queue-toolbar{gap:6px;}.segments{gap:0;}.segments button{font-size:10px;padding:5px 7px;gap:4px;}.segments button>span{min-width:18px;height:18px;}.filter-btn{font-size:11px;min-height:34px;padding:7px;}.filter-btn .icon{width:14px;margin:0;}.queue-table{min-width:680px;}.queue-table td{height:66px;}.queue-footer{font-size:11px;padding-block:12px;}.inspector{display:flex;padding:17px;}.inspector>h2{font-size:23px;}.case-alert{font-size:11px;}.household-block{border-bottom:1px solid var(--line);}.household-line strong{font-size:12px;}.evidence-block{border-bottom:1px solid var(--line);}.review-block{display:block;border:0;}.source-strip{flex-wrap:wrap;margin:0;gap:14px;padding:16px;}.source-total{width:100%;border:0;font-size:15px;}.source-items{gap:18px;}.source-items button{font-size:11px;}.assistant-space{display:none;}.ai-pill{bottom:15px;right:15px;font-size:13px;padding:11px 17px;box-shadow:0 3px 14px #102f5420;}.ai-panel{width:calc(100vw - 24px);right:12px;bottom:12px;max-height:calc(100dvh - 24px);}.two-col{grid-template-columns:minmax(0,1fr);}.field-row{flex-wrap:wrap;}.field-row .field{min-width:0;flex:1 1 200px;}.tl-item{grid-template-columns:62px 12px minmax(0,1fr);gap:6px;}.kv{grid-template-columns:minmax(0,1fr) minmax(0,2fr);}.topbar .grow{display:none;} .toolbar input,.toolbar select{max-width:100%;min-width:0!important;}.toolbar .btn{white-space:normal;}.rule{overflow-wrap:anywhere;}.pack-title{flex-wrap:wrap;}.actions{flex-wrap:wrap;}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
/* Keep metric icons beside the values, overriding the legacy column tiles. */
.tile.metric {flex-direction:row;}
/* Reference geometry corrections. */
@media(min-width:1391px) {
 .dashboard-heading h1{line-height:1.05;}
 .tile.metric{gap:12px;padding:14px 14px;min-height:102px;}
 .tile.metric .label{font-size:12px;letter-spacing:-.3px;white-space:nowrap;}
 .tile.metric .sub{font-size:12px;}
 .tiles{height:102px;}
 .dashboard-grid{min-height:564px;}
 .inspector .evidence-link{padding-block:8px;min-height:59px;}
 .inspector .review-block{padding-top:10px;}
 .inspector .review-block p{margin-bottom:9px;}
 .inspector .audit-link{margin-top:12px;margin-bottom:3px;}
}
@media(min-width:761px) {
 .rail{gap:20px;flex-direction:column;align-items:stretch;position:sticky;height:100dvh;overflow:visible;}
 .nav{flex-direction:column;}
 .nav a{padding-block:10px;}
 .rail-foot{display:flex;}
 .nav .count{display:block;}
}
@media(max-width:760px){.rail{flex-direction:column;align-items:stretch;overflow:visible;}.nav .count{display:block;}}
.asof{position:relative;}
.date-display{height:37px;min-width:145px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:7px;font-size:13px;font-weight:600;color:var(--fg);background:#fff;pointer-events:none;}
.date-display .icon{width:17px;}
.asof input{position:absolute;right:0;top:0;opacity:0;width:145px;cursor:pointer;}
.asof:focus-within .date-display{outline:2px solid #3182e5;outline-offset:2px;}
@media(max-width:760px){.date-display{min-width:130px;font-size:11px;gap:7px;}}
/* Quieter case selection, compact aligned badges, dates kept together. */
.queue-table th:nth-child(3){width:30%}.queue-table th:nth-child(4){width:18%}
.queue-table td{padding-block:12px;border-bottom-color:#e8edf3}
.queue-table .selected td{background:#f0f6ff}
.queue-table .selected td:first-child{box-shadow:inset 2px 0 #7ba4da;border-radius:0}
.queue-table .selected td:last-child{border-radius:0}
.queue-table tr:hover td{background:#f7f9fc}
.queue-table tr.selected:hover td{background:#edf4fe}
.case-select{border-radius:3px}
.case-select:focus:not(:focus-visible){outline:none}
.case-select:focus-visible{outline:2px solid #84a9d8;outline-offset:3px}
.queue-table .pill{font-size:10px;line-height:16px;padding:2px 7px;border-radius:6px;gap:5px;font-weight:500}
.queue-table .pill:before{width:5px;height:5px}
.queue-table .pill.plain{font-size:10px;line-height:15px;padding:2px 7px;border-radius:5px;font-weight:400;margin-top:4px}
.queue-table .sub{font-size:11px;line-height:1.5;margin-top:5px}
.queue-table .sub.mono{font-size:10px;letter-spacing:0;color:#708096}
.queue-table .duty-date{white-space:nowrap;display:inline-block}
.queue-table .duty-date:before{content:'·';margin:0 4px;color:#8b9aab}
.finding-pills{gap:5px}
/* Neutral focus treatment across the application. */
:focus-visible{outline:1px solid #687789;outline-offset:3px}
.rail :focus-visible{outline-color:#c2ccda}
.case-select:focus-visible{outline:1px solid #687789;outline-offset:3px}
.asof:focus-within .date-display{outline:1px solid #8a97a8;outline-offset:1px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:#7d8b9c;box-shadow:0 0 0 1px #b0bac7}
/* Shared softer corners for cards and grouped surfaces. */
.card,.tile,.queue,.inspector,.source-strip{border-radius:16px}
.demo-banner,.case-alert,.evidence-link{border-radius:10px}
.queue{overflow:hidden}
/* Refined typography and rule rows without internal identifier overflow. */
:root{--font-ui:"Manrope","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius:16px}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:var(--font-ui)}
h1,h2,h3,.brand-name{font-family:var(--font-ui);letter-spacing:-.035em}
button,input,select,textarea{font-family:var(--font-ui)}
.rule{grid-template-columns:42px minmax(0,1fr) auto;column-gap:18px;padding:18px 0;align-items:start}
.rule .r-id{font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:24px;color:#7b899c;overflow-wrap:anywhere}
.rule>div{min-width:0}
.rule .r-name{font-size:14px;line-height:1.5;font-weight:600;color:#1c2c43}
.rule .r-logic{font-size:13px;line-height:1.7;margin-top:5px;color:#637189;overflow-wrap:anywhere}
.rule .pill{margin-top:2px;white-space:nowrap}
@media(max-width:600px){.rule{grid-template-columns:32px minmax(0,1fr);gap:6px 12px}.rule>.pill{grid-column:2;justify-self:start}.rule .r-logic{font-size:12px}}
/* Custom date picker, shared with the workspace typography and surfaces. */
.topbar{z-index:25}
.asof .date-display{pointer-events:auto;border-radius:13px;transition:border-color .18s,box-shadow .18s;cursor:pointer;padding:8px 14px;height:39px;font-family:var(--font-ui)}
.asof .date-display:hover{border-color:#a9b7c8;background:#fafbfd}
.asof:focus-within .date-display{outline:none}
.asof .date-display:focus-visible{outline:1px solid #7d899a;outline-offset:3px}
.review-calendar[hidden]{display:none!important}
.review-calendar{position:absolute;top:calc(100% + 12px);right:0;width:296px;padding:18px;background:#fff;color:#23364f;border:1px solid #e0e6ee;border-radius:20px;box-shadow:0 12px 40px #142a4520;z-index:60;animation:calendar-in .18s ease;font-size:12px;user-select:none}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}
.calendar-heading strong{font-size:14px;font-weight:650;letter-spacing:-.3px}
.calendar-heading>div{display:flex;gap:4px}
.calendar-heading button{border:0;background:#f5f7fa;border-radius:9px;color:#50617a;width:28px;height:28px;font-size:22px;line-height:1}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.calendar-weekdays{color:#8894a5;font-size:10px;font-weight:600;margin-bottom:7px}
.calendar-weekdays span{padding:5px 0}
.calendar-days button{border:0;background:transparent;border-radius:10px;aspect-ratio:1;min-width:0;min-height:32px;font-size:12px;font-weight:500;color:#374a63;position:relative;padding:0;transition:background .15s,color .15s}
.calendar-days button:hover{background:#edf2f8}
.calendar-days button.outside{color:#b9c2ce}
.calendar-days button.today:not(.selected):after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:#48759e;bottom:3px;left:calc(50% - 1.5px)}
.calendar-days button.selected{background:#173c61;color:#fff;box-shadow:0 2px 5px #15395724}
.calendar-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef1f5;padding-top:12px;margin-top:12px}
.calendar-footer button{border:0;border-radius:8px;font-size:11px;font-weight:600;padding:6px 10px;color:#586d86;background:#f4f7fa}
.calendar-footer #calendar-done{background:transparent;color:#283f5b}
@keyframes calendar-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:380px){.review-calendar{width:280px;padding:14px}}
@media(prefers-reduced-motion:reduce){.review-calendar{animation:none}.calendar-days button,.asof .date-display{transition:none}}
/* Working sort menu. */
.queue-sort{position:relative;font-size:11px;color:#62748b;flex:none}
.queue-sort summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:8px 0 8px 10px;border-radius:8px}
.queue-sort summary::-webkit-details-marker{display:none}
.queue-sort summary:hover{color:#203c5d}
.queue-sort[open] summary .icon{transform:rotate(180deg)}
.sort-options{position:absolute;right:0;top:calc(100% + 5px);z-index:15;min-width:190px;padding:6px;background:#fff;border:1px solid #e0e7ef;border-radius:13px;box-shadow:0 8px 28px #15314c1c;animation:calendar-in .15s ease}
.sort-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-radius:8px;width:100%;text-align:left;background:transparent;padding:10px 12px;font-size:12px;color:#455b75}
.sort-options button:hover,.sort-options button[aria-pressed="true"]{background:#f0f4f9;color:#153555}
@media(max-width:760px){.queue-heading{flex-wrap:wrap;gap:0}.queue-sort{font-size:10px}.queue-sort summary{padding-left:0;gap:7px}.sort-options{min-width:180px}}
/* Consistent finishing across detail pages, packs and forms. */
:root{--line:#dfe5ed}
.finding,.tl-card,.duty{border-radius:12px}
.pack{border-radius:16px}
.field input,.field textarea,.field select,.toolbar input,.toolbar select{border-radius:10px}
.card-head{padding-top:18px;padding-bottom:16px}
.card-body{line-height:1.65}
.page-head h1{overflow-wrap:anywhere}
.btn,.segments button,.nav a,.rail-setting,.evidence-link{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.brand:hover .brand-mark{animation:none;transform:none}
.finding:hover{transform:none}
.anim .page-head,.anim .tile,.anim .card,.anim .finding,.anim .tl-item,.anim .duty,.anim .rule{animation-duration:.26s;animation-delay:calc(var(--i,0)*20ms)}
.anim .duty .meter>i{animation-duration:.5s;animation-delay:calc(var(--i,0)*30ms)}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}
::view-transition-group(*){animation-duration:.26s}
/* Shared control surfaces and restrained interaction motion. */
:root{--ease-control:cubic-bezier(.2,.7,.2,1)}
.select-control{position:relative;min-width:148px;max-width:100%;flex-shrink:1}
.select-control.select-case{width:330px}
.select-control select[hidden]{display:none!important}
.select-trigger{display:flex;align-items:center;gap:20px;width:100%;min-height:40px;padding:9px 13px 9px 15px;background:#fff;border:1px solid #d5deea;border-radius:13px;color:#263c55;font-size:13px;font-weight:500;text-align:left;cursor:pointer;box-shadow:0 1px 2px #122e4905}
.select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select-trigger>svg{width:18px;height:18px;flex:none;color:#657b93;transition:transform .22s var(--ease-control),color .18s}
.select-trigger:hover{background:#fafbfd;border-color:#acbbcd;box-shadow:0 3px 10px #18375008}
.select-trigger[aria-expanded="true"]{background:#f8fafc;border-color:#97aabe;border-radius:15px;box-shadow:0 0 0 3px #203e5e06}
.select-trigger[aria-expanded="true"]>svg{transform:rotate(180deg);color:#294c70}
.select-trigger:focus-visible{outline:2px solid #8898aa;outline-offset:3px}
.select-menu{position:fixed;z-index:1000;padding:6px;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e0e7ef;border-radius:17px;box-shadow:0 16px 48px #122e491a,0 3px 10px #122e4908;scrollbar-width:thin;scrollbar-color:#ccd5e0 transparent}
.select-option{display:flex;align-items:center;gap:12px;min-height:40px;padding:10px 11px;border-radius:11px;color:#435a73;font-size:12px;line-height:1.5;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.select-option>span{flex:1;min-width:0;overflow-wrap:anywhere}
.select-option>svg{width:16px;height:16px;flex:none;opacity:0;color:#3c6688}
.select-option[aria-selected="true"]{background:#edf3f8;color:#214361;font-weight:600}
.select-option[aria-selected="true"]>svg{opacity:1}
.select-option.highlighted,.select-option:hover{background:#f0f4f8;color:#173d5e}
.select-option[aria-disabled="true"]{opacity:.45;cursor:default}
.btn{border-radius:11px}
button,.btn,summary,.nav a,.rail-setting,.evidence-link,.organisation,.reviewer{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .22s ease,border-radius .22s var(--ease-control),transform .22s var(--ease-control)}
button:disabled{cursor:default}
@media(hover:hover){.btn:not(:disabled):hover{transform:translateY(-1px);border-radius:13px;box-shadow:0 4px 12px #19334d0d}.nav a:hover,.rail-setting:hover{border-radius:13px}.evidence-link:hover{border-color:#adbdcf;box-shadow:0 3px 10px #18375008}}
button:not(:disabled):active,.btn:not(:disabled):active,summary:active{transform:scale(.98)}
.case-select:active{transform:none}
.queue-sort summary{padding-right:8px}
.queue-sort summary .icon{flex:none;transition:transform .22s var(--ease-control)}
.global-search input,.field input,.field textarea,.toolbar input{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.global-search input:hover,.field input:hover,.field textarea:hover,.toolbar input:hover{border-color:#adbdcf}
#assistant .ai-icon-button,#assistant .ai-send,#assistant .ai-voice-actions button{transition:color .18s,background-color .18s,transform .2s var(--ease-control),border-radius .2s var(--ease-control)}
@media(max-width:600px){.select-control{min-width:0}.select-control.select-case{width:min(330px,100%)}.select-trigger{min-height:44px}.select-option{min-height:44px}}
@media(prefers-reduced-motion:reduce){button:active,.btn:active,summary:active,.btn:hover{transform:none!important}.select-trigger>svg,.queue-sort summary .icon{transition:none}}
.tile.metric{border-radius:16px}
.metric-icon{border-radius:10px}
.global-search input,.organisation{border-radius:12px}
.segments{border-radius:12px}
.segments button{border-radius:9px}
.evidence-link:hover{border-radius:12px}
