:root{font-family:system-ui,-apple-system,sans-serif;color:#182c35;background:#f3f5f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#142e36;color:#fff;padding:32px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}header small{letter-spacing:.15em;color:#9ad3c1}h1{font-size:32px;margin:8px 0}h2{font-size:23px;margin-top:0}h3{font-size:19px}main{max-width:1120px;margin:24px auto;padding:0 20px}section{background:#fff;border:1px solid #d7e0dc;border-radius:12px;padding:24px;margin:18px 0;box-shadow:0 3px 15px #122a3305}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;margin:10px 0}input,select,textarea{font:inherit;padding:10px 12px;border:1px solid #a8bab4;border-radius:6px;background:#fff;max-width:100%}textarea{min-height:90px;resize:vertical}button{font:inherit;background:#196b57;color:white;border:0;border-radius:6px;padding:11px 15px;cursor:pointer;margin:6px 6px 6px 0}button:disabled{background:#d7dedb;color:#56665f;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d58a22;outline-offset:3px}.toolbar,.row{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.tag{background:#e3f1e9;color:#174b3b;padding:6px 10px;border-radius:5px;font-size:12px;display:inline-block}.notice{border-left:4px solid #c08d32;padding:8px 16px;background:#fbf6e9}.muted,small{color:#5c6b69;overflow-wrap:anywhere}.error{position:sticky;bottom:15px;background:#fff0ed;color:#7b2618;border:1px solid #bf6553;border-radius:8px;padding:16px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;border-bottom:1px solid #dbe2df;padding:10px;overflow-wrap:anywhere}summary{cursor:pointer;padding:8px 0}article{border-top:1px solid #e2e7e3;padding:16px 0}blockquote{border-left:3px solid #599c84;padding:8px 16px;margin:12px 0;background:#f6f9f7}blockquote footer{font-size:12px;color:#5c6b69;margin-top:8px}code{font-size:12px;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere}img{max-width:100%;border:1px solid #d6dedb;margin-top:12px}.pagefoot{text-align:center;padding:28px;color:#60726b;font-size:13px}@media(max-width:700px){header{display:block}.grid{grid-template-columns:1fr}section{padding:18px}.toolbar{display:block}th,td{padding:7px;font-size:12px}}

label.checkbox{display:flex;flex-direction:row;align-items:center;gap:.6rem}label.checkbox input{width:auto}

.workflow-steps ol{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin:0;padding:1rem 1rem 1rem 2rem}
.workflow-steps a{color:inherit;text-underline-offset:.2em}

.workflow-steps a[aria-current=step]{font-weight:700;text-decoration-thickness:.2em}
.step-complete{font-weight:700;color:#17684a}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.result-help{padding:1rem 1.25rem;margin:1rem 0;background:#eaf4f0;border-radius:.85rem;border:1px solid #c7dfd5}
.result-help>div,.result-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.result-help ul{margin:.55rem 0;padding-left:1.15rem}
.result-help li+li{margin-top:.35rem}
.result-card{background:#fff;border:1px solid #d5dfdc;border-radius:1rem;padding:clamp(.85rem,3vw,1.5rem);margin:1rem 0;box-shadow:0 .25rem .85rem #183c3010}
.result-card h3{margin:.2rem 0 .55rem;font-size:clamp(1.15rem,3vw,1.45rem)}
.result-stimulus{background:#f5f8f7;padding:.75rem 1rem;border-radius:.65rem;margin-bottom:1rem}
.result-message{white-space:pre-wrap;margin:.3rem 0 0;padding:0;border:0}
.result-headline p{margin:.35rem 0}
.result-headline .headline-primary{font-weight:750;font-size:clamp(1.15rem,3.4vw,1.65rem)}
.result-checks{list-style:none;padding:0;margin:.65rem 0 1rem;color:#33433c}
.result-checks li+li{margin-top:.35rem}
.result-layer{border-top:1px solid #dae4df;padding:.7rem 0}
.result-layer>summary{font-weight:650}
.result-grid{display:grid;grid-template-columns:minmax(4.5rem,.8fr) repeat(2,minmax(0,1fr));gap:.4rem;align-items:center;margin:.65rem 0}
.result-grid>strong{font-size:.85rem}
.result-dots{display:flex;gap:.32rem;min-height:2.55rem;justify-content:center;align-items:center;background:#edf5f1;color:#14674d;border:1px solid #b9d7cb;margin:0;padding:.35rem;min-width:0}
.result-dots[aria-expanded=true]{outline:2px solid #287a62;outline-offset:1px}
.result-dot{display:inline-block;border-radius:50%;width:.74rem;height:.74rem;flex:0 0 .74rem;border:1.5px solid #167358;background:#fff}
.result-dot.click{background:#167358}
.result-dot.other{background:linear-gradient(90deg,#167358 50%,#fff 50%)}
.result-dot.unknown{border-style:dashed;border-color:#65746d}
.result-legend{display:flex;gap:.4rem .85rem;flex-wrap:wrap;font-size:.78rem}
.result-legend>span{display:inline-flex;align-items:center;gap:.18rem}
.result-buyer{margin:.4rem 0}
.result-buyer blockquote,.result-themes blockquote{margin:.45rem 0}
.result-drill{padding:.4rem .7rem;margin-top:.5rem;background:#f5f8f7;border-radius:.55rem}
.result-info{display:inline}
button.result-info-trigger{font:inherit;color:#275e4f;background:transparent;border:0;padding:0 .18rem;margin:0;cursor:pointer}
.result-info-definition{display:inline-block;background:#eaf4f0;padding:.22rem .4rem;border-radius:.25rem;font-weight:400;font-size:.83rem}
.result-footer{color:#3b544b;font-size:.85rem;margin:.8rem 0}
.result-footer p{margin:.35rem 0}
.result-technical{overflow-x:auto}
.result-technical dd{overflow-wrap:anywhere}

.admin-entry { margin: 1rem 0; }
.admin-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.admin-tabs [aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: 2px; }
.admin-check { margin: .5rem 0; }
.admin-table { overflow-x: auto; }
.admin-table table { min-width: 42rem; }

.check-scorecard, .role-actions, .result-recommendations { margin: 1rem 0; }
.check-scorecard h4, .role-actions h4, .result-recommendations h4 { margin: .25rem 0; }
.check-scorecard td, .check-scorecard th, .role-actions td, .role-actions th { vertical-align: top; }

@media (max-width: 600px) {
    .check-scorecard table, .check-scorecard tbody { display: block; }
    .check-scorecard thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .check-scorecard tbody tr { display: grid; grid-template-columns: 1fr; border-bottom: 1px solid var(--line); padding: .5rem 0; }
    .check-scorecard tbody th, .check-scorecard tbody td { display: block; padding: .2rem 0; border: 0; overflow-wrap: normal; }
    .check-scorecard tbody td:empty { display: none; }
}

.other-action-evidence { margin: .15rem 0; }
.other-action-evidence q { display: block; color: var(--muted); }

.headline-groups { font-weight: 600; }
.persona-method p { margin: .45rem 0; }
.check-scope-copy { display: block; font-weight: 400; }

.admin-tabs [aria-pressed="true"] { background: var(--paper, #fff); color: var(--ink, #102730); border: 2px solid currentColor; font-weight: 700; }
.admin-channels, .admin-rule-settings { margin: .5rem 0; border: 1px solid var(--line); border-radius: .4rem; }
.admin-packages small { display: block; overflow-wrap: anywhere; }
.admin-package-status { white-space: nowrap; overflow-wrap: normal; }

.check-scorecard thead th:last-child { white-space: nowrap; }

.result-recommendations h5 { font-size: 1rem; margin: .75rem 0 .25rem; }
.result-recommendations a { display: block; overflow-wrap: anywhere; }
.persona-grounding { margin: .5rem 0; }
.persona-grounding dt { font-weight: 600; }
.persona-grounding dd { margin: 0 0 .5rem; }
q[data-already-quoted] { quotes: none; }
.step-summary{background:transparent;color:inherit;border:0;padding:0;text-align:left;text-decoration:underline;text-underline-offset:.2em}
/* App shell: top bar, separate pages, settings side nav */
header.appbar{padding:14px max(24px,calc((100vw - 1120px)/2));background:#173a3a;justify-content:flex-start}
header.appbar .brand{font-size:17px;margin-right:12px}
header.appbar label{flex-direction:row;align-items:center;color:#cfe3dc;font-weight:500;margin:0}
header.appbar select{padding:6px 10px;background:#214a49;color:#fff;border-color:#3c6b67}
.mainnav{display:flex;gap:4px;margin-left:auto}
.mainnav a{color:#cfe3dc;text-decoration:none;padding:8px 14px;border-radius:6px}
.mainnav a[aria-current=page]{background:#1e5e55;color:#fff}
section.page{background:none;border:0;box-shadow:none;padding:0}
section.page>section,section.page .result-card{background:#fff}
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:16px}
a.button{display:inline-block;background:#196b57;color:#fff;border-radius:6px;padding:11px 15px;text-decoration:none}
table.testlist{background:#fff;border:1px solid #d7e0dc;border-radius:12px;overflow:hidden}
table.testlist th{background:#f6f9f7;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#5c6b69}
section.settings{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}
.sidenav{display:flex;flex-direction:column;gap:2px;position:sticky;top:16px}
.sidenav h1{font-size:22px;margin:0 0 12px}
.sidenav a{color:#182c35;text-decoration:none;padding:9px 12px;border-radius:6px}
.sidenav a[aria-current=page]{background:#e3f1e9;color:#174b3b;font-weight:600}
.settings-body>section{margin-top:0}
@media(max-width:700px){section.settings{display:block}.mainnav{margin:8px 0 0}}
nav.tabs{display:flex;gap:4px;border-bottom:1px solid #d7e0dc;margin:16px 0 0}
nav.tabs a{padding:10px 16px;color:#5c6b69;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
nav.tabs a[aria-current=page]{color:#173a3a;font-weight:600;border-bottom-color:#1e5e55}
ol.stepper{display:flex;gap:8px;list-style:none;padding:0;margin:16px 0}
ol.stepper button{background:#fff;color:#182c35;border:1px solid #d7e0dc;margin:0}
ol.stepper li[aria-current=step] button{background:#1e5e55;color:#fff;border-color:#1e5e55}
/* Mockup styling (Screen map v1): warm neutral surface, Inter, softer borders */
:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#1c1f23;background:#f6f6f3}
.muted,small{color:#565b61}
section,table.testlist,.result-card{border-color:#e2e2dc}
section{box-shadow:none}
th,td{border-bottom-color:#ecece6}
button,a.button{background:#1e5e55;border-radius:8px;font-weight:600}
button:disabled{background:#ecece6;color:#565b61}
a{color:#1e5e55}
section.page>a:first-child{text-decoration:none;font-size:14px}
table.testlist td{padding:16px 12px}
table.testlist td a{font-weight:600;text-decoration:none;color:#1c1f23}
table.testlist td a:hover{text-decoration:underline}
.chip{padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;background:#ecece6;color:#1c1f23}
.chip-ready{background:#d7e6e3;color:#143f39}
.chip-awaiting_review{background:#fff4db;color:#7a4b00}
.chip-blocked{background:#fbe3df;color:#7b2618}
.tag{background:#ecece6;color:#565b61}
header.appbar{background:#173a3a}
.mainnav a,header.appbar label{color:#d7e6e3}
.sidenav a[aria-current=page],nav.tabs a[aria-current=page]{color:#143f39}
.sidenav a[aria-current=page]{background:#d7e6e3}
.admin-embedded{border:0;padding:0;margin:0}
.admin-table{overflow-x:auto}
.admin-table table{min-width:760px}
.admin-table th{white-space:nowrap}
table.testlist .tag{margin-left:8px}

.document-pages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 1rem;
}
.document-pages figure { margin: 0; min-width: 0; }
.document-pages pre { max-height: 18rem; overflow: auto; white-space: pre-wrap; }
.document-thumbnail { display: block; max-height: 240px; max-width: 100%; object-fit: contain; }
