:root{--fs-xs:13px;--fs-sm:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:28px}
:root{--bg:#f5f5f0;--ink:#203531;--muted:#75837d;--line:#dce3db;--accent:#d7ed71;--dark:#183c33;--white:#fff;--red:#963d3d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs-sm)/1.6 Inter,Segoe UI,Arial,sans-serif}a{color:var(--dark);text-decoration:none}a:hover{text-decoration:underline}aside{width:236px;position:fixed;inset:0 auto 0 0;background:var(--dark);color:#e3eee4;padding:34px 22px;display:flex;flex-direction:column}.brand{font-size:var(--fs-xl);font-weight:750;letter-spacing:-1px;color:white}.brand span{display:block;font-size:var(--fs-xs);letter-spacing:3.2px;font-weight:500;color:var(--accent)}.workspace{font-size:var(--fs-xs);letter-spacing:1.4px;margin:44px 0 14px;color:#a4beb3}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:8px}nav{display:grid;gap:4px}nav a{color:#c1d4ca;padding:10px 13px;border-radius:7px;font-size:var(--fs-xs)}nav a.active{background:#315448;color:white;border-left:3px solid var(--accent)}nav a:hover{background:#315448;text-decoration:none}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-bottom small{display:block;color:#afc5b8}.sidebar-bottom .quiet{color:#c8dccf;padding-left:0}main{margin-left:236px;padding:0 46px 20px;max-width:1700px}header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:var(--fs-xs)}.budget{border:1px solid var(--line);border-radius:20px;padding:6px 14px;color:var(--dark)}h1{font-size:var(--fs-2xl);line-height:1.2;letter-spacing:-1.2px;font-weight:650;margin:10px 0}h2{font-size:var(--fs-lg);letter-spacing:-.3px;margin:0 0 14px}h3{font-size:var(--fs-xs);margin-top:24px}p{margin:8px 0 16px}small{font-size:var(--fs-xs);color:var(--muted);overflow-wrap:anywhere}.eyebrow{font-size:var(--fs-xs);letter-spacing:2px;color:var(--muted);font-weight:650}.page-title{display:flex;justify-content:space-between;align-items:center;margin:38px 0 28px;gap:24px}.page-title p{color:var(--muted);max-width:700px}.button,button{border:0;background:var(--dark);color:white;padding:11px 18px;font:600 var(--fs-xs)/1.5 inherit;border-radius:7px;cursor:pointer;display:inline-block;white-space:nowrap}.button:hover,button:hover{background:#2d5648;text-decoration:none}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--dark);border:1px solid var(--line)}.secondary:hover{background:#e8eddf}.quiet{background:transparent;color:var(--dark);padding:6px;font-size:var(--fs-xs)}.quiet:hover{background:#edf0e4;color:var(--dark)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px;margin:24px 0}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:24px}.stat small{display:block;color:var(--ink)}.stat strong{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-1px;display:block;margin:12px 0}.stat span{font-size:var(--fs-xs);color:var(--muted)}.grid{display:grid;gap:22px}.two{grid-template-columns:1fr 1fr}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:25px;margin:0 0 22px;min-width:0}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title a{font-size:var(--fs-xs)}.distribution{padding:15px 0;display:flex;justify-content:space-between;border-bottom:1px solid #edf0e8}.badge{font:600 var(--fs-xs)/1.4 Segoe UI,sans-serif;letter-spacing:.5px;display:inline-block;padding:5px 9px;background:#edf0e8;border-radius:4px;color:#68786c}.direct{background:#e0efcb;color:#3c641e}.latent{background:#eee7fa;color:#70519b}.uncertain{background:#faf0d6;color:#906e26}.irrelevant{background:#e9eae7;color:#777c76}.muted{color:var(--muted);font-size:var(--fs-xs)}.empty{padding:50px;text-align:center;border:1px dashed #cdd7cb;border-radius:12px;margin:24px 0;color:var(--muted)}.empty h2{color:var(--ink)}.radar-icon{font-size:var(--fs-2xl);color:#749274}.notice{padding:14px 18px;margin-top:22px;border:1px solid #e8dcb0;background:#fff9e7;border-radius:8px;font-size:var(--fs-xs)}.notice strong{margin-right:8px}footer{border-top:1px solid var(--line);padding-top:24px;margin-top:48px;font-size:var(--fs-xs);color:var(--muted)}.filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.filters label{max-width:210px;margin:0}.filters a{padding:10px}label{display:block;font-size:var(--fs-xs);font-weight:550;margin-bottom:14px}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #cdd7cb;border-radius:6px;background:#fcfdfa;color:var(--ink);font:var(--fs-xs)/1.4 Segoe UI,sans-serif;margin-top:5px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #9ab573;outline-offset:1px}input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}.check{display:inline-block;margin-right:18px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:10px;margin:24px 0}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:16px;background:#f9faf6}td{padding:17px;border-top:1px solid #edf0e8;font-size:var(--fs-xs);vertical-align:top}td small{display:block;margin-top:5px}.query-text{max-width:330px;overflow-wrap:anywhere;margin:6px 0}.result-list{display:grid;gap:16px;margin-top:24px}.result-card{background:white;border:1px solid var(--line);padding:24px;border-radius:10px}.result-card h2{margin:14px 0 10px}.result-top,.result-bottom{display:flex;align-items:center;gap:12px}.result-top small{margin-left:auto}.result-bottom{justify-content:space-between;border-top:1px solid #edf0e8;padding-top:14px;color:var(--muted);font-size:var(--fs-xs)}.reason{border-left:3px solid #d0dea9;padding-left:14px;color:#697a68;font-size:var(--fs-xs)}.sample{font-size:var(--fs-xs);color:#977d43}.detail-title{max-width:900px}pre{background:#f4f6f0;padding:15px;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;font:var(--fs-xs)/1.6 Consolas,monospace;max-height:500px;overflow:auto}summary{cursor:pointer;font-size:var(--fs-xs);font-weight:600;padding:5px 0}.actions{display:flex;gap:12px;margin-top:16px}.pagination{display:flex;justify-content:space-between}.login{display:grid;min-height:100vh;place-items:center;background:var(--dark)}.login-card{width:min(460px,90vw);background:var(--bg);padding:52px;border-radius:15px}.login h1{font-size:var(--fs-2xl);margin:24px 0}.login p{font-size:var(--fs-lg);line-height:1.5}.login .button{width:100%;margin:20px 0}.login small{display:block}.login form{margin-top:24px}.accent{color:#809737}#message{position:sticky;top:12px;z-index:10;padding:15px 20px;background:#e5f0d9;border:1px solid #b7caa3;border-radius:8px}#message.error{background:#fff0ed;border-color:#e4bdb4;color:var(--red)}@media(max-width:1000px){aside{width:195px}main{margin-left:195px;padding:0 24px}.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}@media(max-width:650px){aside{position:relative;width:100%;padding:18px}.workspace,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:16px}nav a{white-space:nowrap}main{margin-left:0;padding:0 18px}header{height:60px}.page-title{display:block}h1{font-size:var(--fs-2xl)}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:var(--fs-2xl)}.page-title .button{margin-top:10px}}

.source-preview{background:#f5f7f1;border:1px solid var(--line);border-radius:8px;padding:16px;margin:12px 0}.source-address{display:block;overflow-wrap:anywhere;font-size:var(--fs-xs);max-height:3.2em;overflow:hidden;margin:8px 0}.source-actions{display:flex;gap:10px;flex-wrap:wrap}.visit-source{background:#d7ed71;color:#183c33}.visit-source:hover{background:#c8df59}.result-bottom{flex-wrap:wrap}

/* Layout hotfix: never wider than the viewport. Grid/flex children default to min-width:auto,
   so one long unbreakable token (URL, hash, JSON) used to stretch the whole page. */
html,body{max-width:100%;overflow-x:hidden}
main{min-width:0}
main>*,.result-list>*,.grid>*,.stats>*,.page-title>*,.result-top>*,.result-bottom>*{min-width:0}
main h1,main h2,main h3,main p,main a,main td,main li,.result-card,.panel,.reason{overflow-wrap:anywhere;word-break:break-word}
img,video,iframe,svg{max-width:100%;height:auto}
.filters label{flex:1 1 170px;max-width:none}
.result-top{flex-wrap:wrap}
.result-top small{margin-left:auto}
.source-actions .button{white-space:normal;text-align:center}
.table-wrap{max-width:100%}

.result-tabs,.results-status,.scan-selection{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.25rem}.result-tabs a{padding:.6rem 1rem;border-radius:8px;background:#e8eee9}.result-tabs a.active{background:#193d33;color:white}.results-status{padding:1rem;border:1px solid #d8e2db;border-radius:12px;background:white}.results-status span,.results-status a{overflow-wrap:anywhere}

.extracted-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.extraction-warning{background:#fff2ce;color:#704500}

/* Fast review: fix intrinsic widths rather than clipping overflowing content. */
main{max-width:calc(100% - 236px)}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
header,.actions,.triage-actions,.triage-nav,.bulk-review{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filters>*,.triage-card>*,.source-actions>*,.actions>*{min-width:0;max-width:100%}
main button,main .button{white-space:normal;overflow-wrap:anywhere;max-width:100%}
input,select,textarea{min-width:0;max-width:100%}
.triage-card[hidden],#triage-complete[hidden]{display:none}
.triage-card{margin:16px 0}.triage-evidence{padding-left:22px;overflow-wrap:anywhere}
.triage-nav{justify-content:space-between}.triage-actions{margin:16px 0}
.bulk-review .check{margin:0}.bulk-review input{width:auto}
@media(max-width:1000px){main{max-width:calc(100% - 195px)}.grid.two{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){main{max-width:100%}.grid.two{grid-template-columns:minmax(0,1fr)}header{height:auto;min-height:60px}.result-card{padding:16px}.filters label{flex-basis:140px}.page-title>*{max-width:100%}}

/* Harbor foundation. Legacy page classes remain available during the screen migration. */
:root{--side:#384f64;--side-fg:#d3dee8;--side-act:#4a6580;--mark:#9fcfe6;--bg:#f3f6f9;--surf:#ffffff;--ink:#2b3f52;--muted:#5a6b7c;--line:#dde5ec;--grid:#d3dce5;--pri:#4d7aa1;--pri-dark:#384f64;--pri-tint:#e8eff5;--prog-done:#5fae78;--prog-work:#e9b949;--prog-todo:#c9d4de;--done-bg:#d7eedd;--done-ink:#1f5a33;--done-line:#b5dcc0;--work-bg:#fbe9c2;--work-ink:#6e4a07;--work-line:#efd08a;--todo-bg:#e9eef3;--todo-ink:#4b5b6b;--todo-line:#d3dce5;--review-bg:#ece6f8;--review-ink:#5b3f8a;--danger-bg:#fbe3e1;--danger-ink:#8a2a20;--dark:var(--pri-dark);--white:var(--surf);--accent:var(--mark);--red:var(--danger-ink)}
body{font-family:'Instrument Sans','Segoe UI',system-ui,sans-serif;font-size:var(--fs-sm);line-height:1.5}
h1{font-size:var(--fs-2xl);letter-spacing:-.02em}h2{font-size:var(--fs-lg)}input,select,textarea,button,.button{font-family:inherit}
a{color:var(--pri-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--pri);outline-offset:3px}
aside{background:var(--side);color:var(--side-fg);overflow-y:auto}.brand span,.workspace,.sidebar-bottom small,.sidebar-bottom .quiet{color:var(--side-fg)}
aside nav{display:block}.nav-group{display:grid;gap:4px;margin:18px 0}.nav-group h2{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;color:var(--side-fg);margin:0 13px 4px}
aside nav a{color:var(--side-fg);font-size:var(--fs-sm);min-height:40px}aside nav a.active{background:var(--side-act);color:white;border-left:0;box-shadow:inset 3px 0 var(--mark)}aside nav a:hover{background:var(--side-act);color:white}aside a:focus-visible{outline-color:var(--mark)}
.panel,.stat,.result-card,.table-wrap{background:var(--surf);border-radius:12px}.button,button,.btn{min-height:40px;font-size:var(--fs-sm);font-weight:600;line-height:1.4;border-radius:8px;background:var(--pri);padding:10px 16px;color:white;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.button:hover,button:hover,.btn:hover{background:var(--pri-dark);text-decoration:none}.secondary,.btn-light{background:var(--surf);color:var(--ink);border-color:var(--line)}.secondary:hover,.btn-light:hover{background:var(--pri-tint);color:var(--ink)}.btn-dark{background:var(--pri-dark)}.quiet{background:transparent;color:var(--pri-dark)}.quiet:hover{background:var(--pri-tint);color:var(--ink)}button:disabled{opacity:.65;cursor:not-allowed}
input,select,textarea{background:var(--surf);border-color:var(--grid);font-size:var(--fs-sm);border-radius:8px}input:focus,select:focus,textarea:focus{outline-color:var(--pri)}
.component-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.component-row>*{min-width:0;max-width:100%}
.pill,.step{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--todo-line);background:var(--todo-bg);color:var(--todo-ink);font-size:var(--fs-xs);font-weight:600;padding:5px 10px;border-radius:14px}.step{min-height:40px;border-radius:8px}.step:hover{filter:brightness(.98);background:var(--todo-bg)}
.pill-done,.step-done{background:var(--done-bg);color:var(--done-ink);border-color:var(--done-line)}.pill-work,.step-work{background:var(--work-bg);color:var(--work-ink);border-color:var(--work-line)}.pill-review,.step-review{background:var(--review-bg);color:var(--review-ink);border-color:var(--review-ink)}.pill-danger,.step-danger{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-ink)}.step-done:hover{background:var(--done-bg)}.step-work:hover{background:var(--work-bg)}.step-review:hover{background:var(--review-bg)}.step-danger:hover{background:var(--danger-bg)}
.step-dot{width:9px;height:9px;border:1px solid currentColor;border-radius:50%;flex:none}.step-done .step-dot,.step-work .step-dot,.step-review .step-dot,.step-danger .step-dot{background:currentColor}.step-skip .step-dot{border-style:dashed}.pill-skip,.step-skip{border-style:dashed}
.progress-bar{display:flex;gap:2px;height:12px;overflow:hidden;border-radius:6px;background:var(--todo-bg)}.progress-bar span{flex:1;min-width:0}.progress-done{background:var(--prog-done)}.progress-work{background:var(--prog-work)}.progress-todo{background:var(--prog-todo)}.progress-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--fs-xs);color:var(--muted);margin:8px 0}
.f{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px;font-size:var(--fs-xs)}.f input{border-color:transparent;background:var(--bg);margin:0}.f input:hover{border-color:var(--grid)}.saved-state{font-size:var(--fs-xs);color:var(--muted)}
.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.kanban-column{min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px}.kanban-column header{height:auto;min-height:40px;gap:8px;color:var(--ink);font-size:var(--fs-sm)}.kanban-column header h3{font-size:var(--fs-sm);margin:0}.kanban-card{background:var(--surf);border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:12px}.kanban-card label{margin:12px 0}.kanban-card li{font-size:var(--fs-xs)}
.activity{display:flex;align-items:flex-start;gap:12px;margin:16px 0}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pri-tint);color:var(--ink);font-weight:600;flex:none}.activity-body{min-width:0;flex:1}.activity time{margin-left:8px;font-size:var(--fs-xs);color:var(--muted)}.activity p{margin:8px 0}.time-log{border:1px solid var(--grid);border-radius:8px;padding:12px;background:var(--bg)}.screenshot-placeholder{border:1px dashed var(--muted);padding:12px;color:var(--muted);margin-top:8px}.mention{border-radius:4px;background:var(--pri-tint);color:var(--ink);padding:2px 4px}.composer{border:1px solid var(--line);border-radius:12px;padding:16px}.mention-suggestions{background:var(--surf);border:1px solid var(--line);border-radius:8px;padding:8px;font-size:var(--fs-xs)}
.dense-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.dense-table{table-layout:fixed;width:642px;border-collapse:collapse;font-size:var(--fs-xs)}.dense-table .name-col{width:220px}.dense-table .logged-col{width:100px}.dense-table .day-col{width:46px}.dense-table th,.dense-table td{border:1px solid var(--grid);padding:8px;font-size:var(--fs-xs);text-transform:none;letter-spacing:0;color:var(--ink);vertical-align:middle}.dense-table thead th{background:#e9eef3}.dense-table .person-row th,.dense-table .person-row td{background:#e3ebf3}.dense-table .weekend{background:var(--bg)}.dense-table tfoot th,.dense-table tfoot td{border-top:2px solid var(--grid);font-weight:600}.dense-table caption{text-align:left;color:var(--muted);padding:8px 0}
@media(max-width:768px){.kanban-board{grid-template-columns:minmax(0,1fr)}.panel{padding:16px}}
@media(max-width:650px){aside nav{display:block;overflow:visible}.nav-group{margin:14px 0;display:flex;flex-wrap:wrap}.nav-group h2{flex-basis:100%;margin-left:0}aside nav a{white-space:normal}.f{grid-template-columns:minmax(0,1fr);gap:4px}.activity time{display:block;margin-left:0}.composer{padding:12px}h1{font-size:var(--fs-2xl)}}

/* Radar screens use Harbor surfaces and the same controls as the workspace gallery. */
.page-title{margin:28px 0 20px}.page-title p{font-size:var(--fs-sm)}.eyebrow{color:var(--muted)}
.result-tabs{gap:22px;border-bottom:1px solid var(--line);margin-bottom:20px}.result-tabs a{background:transparent;color:var(--muted);padding:8px 0 10px;font-size:var(--fs-md);border-radius:0}.result-tabs a.active{background:transparent;color:var(--ink);border-bottom:2px solid var(--pri);font-weight:600}.result-tabs a:hover{background:transparent;color:var(--ink)}
.results-status{border-color:var(--line);background:var(--surf);font-size:var(--fs-xs);gap:12px}.review-mode{display:flex;flex-wrap:wrap;gap:8px}.filters{background:var(--surf);padding:16px;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.filters label{font-size:var(--fs-xs)}
.result-card{padding:18px 20px}.result-card h2{font-size:var(--fs-lg)}.result-card p{font-size:var(--fs-md);line-height:1.5;max-width:72ch}.result-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:var(--fs-xs);margin-bottom:10px}.source-preview{background:var(--bg);border-color:var(--line);padding:14px}.reason{color:var(--muted);border-color:var(--mark)}.result-bottom{border-color:var(--line);font-size:var(--fs-xs)}.result-top small{font-size:var(--fs-xs)}
.badge{font-family:inherit;font-size:var(--fs-xs);letter-spacing:0;border-radius:5px;background:var(--todo-bg);color:var(--todo-ink)}.direct{background:var(--done-bg);color:var(--done-ink)}.latent{background:var(--review-bg);color:var(--review-ink)}.uncertain,.extraction-warning{background:var(--work-bg);color:var(--work-ink)}.irrelevant{background:var(--todo-bg);color:var(--todo-ink)}.sample{color:var(--work-ink)}
.distribution,td{border-color:var(--line)}th{background:var(--todo-bg);font-size:var(--fs-xs);text-transform:none;letter-spacing:0}td{font-size:var(--fs-xs)}.stat strong{font-size:var(--fs-2xl)}.stat span,footer{font-size:var(--fs-xs)}.empty{border-color:var(--grid)}.radar-icon{color:var(--pri)}pre{background:var(--bg);border:1px solid var(--line);font-size:var(--fs-xs)}.notice{background:var(--work-bg);border-color:var(--work-line);color:var(--work-ink)}#message{background:var(--done-bg);border-color:var(--done-line);color:var(--done-ink)}#message.error{background:var(--danger-bg);color:var(--danger-ink)}
.btn.visit-source{background:var(--pri-dark);color:var(--surf)}.btn.visit-source:hover{background:var(--pri)}.triage-card{outline:2px solid var(--pri);outline-offset:-1px}.triage-nav button{background:var(--surf);color:var(--ink);border-color:var(--line)}
.decision-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:24px;margin-top:20px}.decision-content,.decision-rail{min-width:0}.decision-summary{padding:28px}.decision-summary .page-title{margin:0}.decision-summary .page-title p{font-size:var(--fs-lg);line-height:1.6;max-width:68ch;color:var(--ink)}.decision-summary .badge{display:inline-block;margin-bottom:12px}.decision-rail .panel{padding:20px}.decision-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.decision-rail form>button[type=submit]{width:100%}.decision-rail label{font-size:var(--fs-xs)}
@media(max-width:1000px){.decision-layout{grid-template-columns:minmax(0,1fr)}.decision-content{display:contents}.decision-rail{grid-row:2}.decision-summary{padding:20px}}
@media(max-width:650px){.result-card{padding:16px}.decision-summary{padding:16px}.filters{padding:12px}.source-actions{width:100%}.source-actions .btn{flex:1 1 130px}.decision-actions{gap:6px}}

/* Results / Decision structure from the approved Harbor mockups. */
body:not(.login){overflow-x:clip;overflow-y:visible}
body:not(.login){display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}body:not(.login)>aside{position:sticky;inset:auto;top:0;align-self:start;height:100vh;width:auto}body:not(.login)>main{margin-left:0;max-width:100%;width:100%}
.result-tabs a.active{box-shadow:none;border-left:0;border-bottom:2px solid var(--pri)}.result-tabs a{border-bottom:2px solid transparent;border-radius:0}.setup-notice{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.setup-notice span{min-width:0}
.review-card{display:grid;grid-template-columns:110px minmax(0,1fr) 160px;gap:20px;align-items:start}.review-card[hidden]{display:none}.result-age{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:var(--fs-xs)}.result-age strong{color:var(--ink);font-size:var(--fs-sm)}.result-age .badge{align-self:start;max-width:100%;overflow-wrap:anywhere}.result-select{margin-top:12px;font-size:var(--fs-xs)}.result-reading{min-width:0}.result-reading h2{margin:8px 0}.result-reading p{margin:8px 0}.result-reading .result-snippet{color:var(--muted)}.result-why,.result-review-state{font-size:var(--fs-xs)!important;color:var(--muted)}.result-labels{display:flex;gap:6px;flex-wrap:wrap}.result-decisions{display:flex;flex-direction:column;gap:8px;align-self:center;margin:0}.result-decisions>.btn{width:100%;flex:none}.result-more{font-size:var(--fs-xs)}.result-more summary{color:var(--muted)}.result-more[open]{display:flex;flex-direction:column;gap:8px}.result-more a,.result-more small{display:block;margin:8px 0}.btn-danger,.btn-danger:hover{color:var(--danger-ink)}
.result-filter-form{margin-bottom:20px}.filter-chips{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.filter-chips label{font-size:var(--fs-xs);margin:0;max-width:160px}.filter-chips select{border-radius:18px;font-size:var(--fs-xs);padding:7px 12px;min-height:40px}.filter-chips .btn{border-radius:18px;font-size:var(--fs-xs)}.filter-chips>a{padding:9px}.result-filter-form>details{margin-top:12px}.result-filter-form>details:not([open])>summary{display:none}.decision-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.decision-actions .btn{padding:10px 7px;font-size:var(--fs-xs);min-width:0}
@media(max-width:1100px){.review-card{grid-template-columns:100px minmax(0,1fr)}.result-decisions{grid-column:2;flex-direction:row;flex-wrap:wrap;align-self:start}.result-decisions>.btn{width:auto;flex:1 1 130px}.result-more{flex-basis:100%}}
@media(max-width:1000px){body:not(.login){grid-template-columns:195px minmax(0,1fr)}}
@media(max-width:650px){body:not(.login){display:block}body:not(.login)>aside{position:relative;height:auto;min-height:0}.review-card{grid-template-columns:minmax(0,1fr);gap:12px}.result-age{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.result-select{margin:0}.result-decisions{grid-column:1}.filter-chips label{flex:1 1 120px;max-width:none}.decision-actions .btn{font-size:var(--fs-xs)}.result-more{max-width:100%}}

@media(min-width:1001px){body:not(.login){background:linear-gradient(to right,var(--side) 0 236px,var(--bg) 236px)}}
@media(min-width:651px) and (max-width:1000px){body:not(.login){background:linear-gradient(to right,var(--side) 0 195px,var(--bg) 195px)}}

/* One type scale for the workspace; mobile navigation is a focused sheet. */
body{font-size:var(--fs-md);line-height:1.45}h1{font-size:var(--fs-2xl);line-height:1.2}h2{font-size:var(--fs-lg);line-height:1.2}h3{font-size:var(--fs-md);line-height:1.2}input,select,textarea,button,.button,.btn,td{font-size:var(--fs-md)}label{font-size:var(--fs-sm)}small,.muted,th,footer{font-size:var(--fs-xs)}
.nav-group h2{font-size:var(--fs-md);font-weight:700;letter-spacing:0;color:var(--side-fg);opacity:1;margin-left:13px}.nav-group a{font-size:var(--fs-md);font-weight:500;color:var(--side-fg);padding-left:25px}
.mobile-topbar{display:block}.mobile-menu-button,.mobile-current{display:none}.workspace-menu{display:flex;flex-direction:column;flex:1}.type-preview{margin:12px 0}.type-xs{font-size:var(--fs-xs)}.type-sm{font-size:var(--fs-sm)}.type-md{font-size:var(--fs-md)}.type-lg{font-size:var(--fs-lg)}.type-xl{font-size:var(--fs-xl)}.type-2xl{font-size:var(--fs-2xl)}
@media(max-width:767px){body:not(.login){display:block;background:var(--bg)}body:not(.login)>aside{position:sticky;inset:auto;top:0;align-self:auto;width:100%;height:auto;min-height:0;overflow:visible;padding:8px 16px;z-index:60}body:not(.login)>main{margin:0;width:100%;max-width:100%;padding:0 16px 20px}.mobile-topbar{display:flex;align-items:center;gap:10px;min-height:44px}.mobile-topbar .brand{font-size:var(--fs-lg);letter-spacing:0;flex:none}.mobile-topbar .brand span{display:none}.mobile-current{display:block;font-size:var(--fs-xs);margin-left:auto;color:var(--side-fg)}.mobile-menu-button{display:inline-flex;flex:none;font-size:var(--fs-md);padding:8px 12px}.workspace,.sidebar-bottom{display:none}.workspace-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--side);padding:12px 16px 20px;max-height:calc(100dvh - 60px);overflow-y:auto;box-shadow:0 12px 18px #20353133}.workspace-menu.is-open{display:flex}.workspace-menu .sidebar-bottom{display:block;margin:0;padding:16px 13px 0}.workspace-menu .nav-group{display:grid;gap:4px;margin:12px 0}.workspace-menu nav{display:block;margin:0;overflow:visible}.workspace-menu .nav-group h2{flex-basis:auto;margin:0 13px 4px}.workspace-menu nav a{white-space:normal}.page-title{margin:18px 0 16px}.page-title h1,h1{font-size:var(--fs-xl)}main>header{height:auto;min-height:64px;padding:10px 0;gap:6px;font-size:var(--fs-xs)}.budget{padding:5px 10px}.page-title p{font-size:var(--fs-sm)}}

/* Shared scale takes precedence over older screen-specific font declarations. */
body .board-icon,body .card-options summary{font-size:var(--fs-lg)}
body .board-empty-hint{font-size:var(--fs-xs)}
body .inline-confirm p{font-size:var(--fs-xs)}
body .client-field{font-size:var(--fs-sm)}
body .client-field label{font-size:var(--fs-sm)}
body .client-title{font-size:var(--fs-2xl)}
body .client-event time{font-size:var(--fs-xs)}
body .crm-leads .kanban-card p{font-size:var(--fs-xs)}
body .pipeline-search label{font-size:var(--fs-sm)}
body .step-status{font-size:var(--fs-md)}
body .step-review{font-size:var(--fs-xs)}
body .task-initials{font-size:var(--fs-xs)}
body .task-due{font-size:var(--fs-xs)}
body .asset-step-table{font-size:var(--fs-xs)}
body .asset-step-table th{font-size:var(--fs-xs)}
body .task-details dl{font-size:var(--fs-xs)}
body .task-page-title .btn-light{font-size:var(--fs-md)}
body .crm-prospects .kanban-card{font-size:var(--fs-md)}
body .crm-prospects .kanban-card strong{font-size:var(--fs-md)}
body .prospect-actions .btn{font-size:var(--fs-md)}
body .conversion-details summary{font-size:var(--fs-xs)}
body .activity-avatar,body .activity-item-heading time{font-size:var(--fs-xs)}
@media(max-width:767px){body .client-title{font-size:var(--fs-xl)}}
/* T46: scanners stay compact; every search expands independently. */
.scanner-list{display:grid;gap:12px;margin-bottom:24px}.scanner{border:1px solid var(--line);border-radius:12px;background:var(--surf);min-width:0;overflow:hidden}.scanner-header{display:flex;gap:12px;align-items:center;padding:14px 16px;min-width:0}.scanner-expand,.query-expand{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:1;min-width:0;white-space:normal;background:transparent;color:var(--ink);text-align:left;padding:0;border:0;font-size:var(--fs-md);line-height:1.45}.scanner-expand:hover,.query-expand:hover{background:transparent;color:var(--pri)}.scanner-expand strong,.query-expand strong{min-width:0;overflow-wrap:anywhere}.scanner-chevron{display:inline-block;transition:transform .15s}.scanner-expand[aria-expanded=true] .scanner-chevron{transform:rotate(90deg)}.scanner-count,.scanner-meta{font-size:var(--fs-xs);color:var(--muted)}.scanner-count{white-space:nowrap}.scanner-summary,.query-metrics{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.scanner-toggle{display:flex;align-items:center;gap:3px;margin:0;font-size:var(--fs-xs)}.scanner-toggle input{margin:0;width:18px;height:18px}.scanner-meta{display:flex;flex-wrap:wrap;gap:6px 18px;padding:0 16px 12px}.scanner-body{border-top:1px solid var(--line);padding:12px 16px}.scanner-body[hidden],.scanner-query-detail[hidden]{display:none}.scanner-select{margin:0 0 8px}.scanner-query{padding:10px 0;border-top:1px solid var(--line)}.scanner-query-top{display:flex;align-items:center;gap:10px;min-width:0}.query-toggle{width:18px;height:18px;margin:0;flex:none}.scanner-query-top input[name=run_query]{margin:0;width:18px;height:18px;flex:none}.intent-dot{width:8px;height:8px;flex:none;border-radius:50%;border:1px solid currentColor}.intent-dot.direct{color:#1f5a33;background:#1f5a33}.intent-dot.latent{color:#5b3f8a;background:#5b3f8a}.scanner-query .query-text{max-width:none;margin:8px 0;line-height:1.45;font-size:var(--fs-sm)}.scanner-query-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scanner-query-detail small{display:block;margin:8px 0}.scanner-query-actions{display:flex;gap:8px;flex-wrap:wrap}.scanner-query:has(.query-expand[aria-expanded=true]) .scanner-query-preview{display:none}
@media(max-width:767px){.scanner-list{gap:8px}.scanner-header{padding:10px;gap:6px;flex-wrap:wrap}.scanner-expand{gap:6px}.scanner-count{font-size:var(--fs-xs)}.scanner-run{padding:6px 9px;min-height:36px}.scanner-toggle span{display:none}.scanner-summary{font-size:var(--fs-xs)}.scanner-meta{padding:0 10px 8px;gap:4px 10px}.scanner-meta span{overflow-wrap:anywhere}.scanner-body{padding:8px 10px}.scanner-query{padding:10px 0}.scanner-query-top{gap:7px}.query-expand{gap:6px}.query-metrics{margin-left:auto;font-size:var(--fs-xs)}.scanner-query-preview{display:none}.scanner-query-detail{padding:4px 0 0 25px}.scanner-select{font-size:var(--fs-xs)}.scanner-query-actions .btn{padding:6px 10px}}

.scan-header-actions,.scanner-editor-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scanner-editor-heading{justify-content:space-between}.scanner-editor-heading h2{margin:0}#scanner-editor[hidden],#scanner-group-editor[hidden]{display:none}.scanner-group-link{background:transparent;color:var(--pri);border:0;padding:8px 0;margin-top:12px;text-align:left;font-size:var(--fs-md)}.scanner-group-link:hover{text-decoration:underline;background:transparent;color:var(--dark)}

/* Result metadata stays inside its grid track, including long source domains. */
.result-age{min-width:0;overflow-wrap:anywhere}.result-age .badge{white-space:normal;word-break:break-word}.result-decisions>.btn{white-space:normal;text-align:center}
