/* Shell, sign-in, setup, report page. Builds on app.css (brand tokens, buttons, cards, pills). */
[hidden]{display:none!important}
a.btn{text-decoration:none;display:inline-flex;align-items:center}
label.btn{display:inline-flex;align-items:center}

/* sign-in */
.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background:var(--s50)}
.auth-card{width:100%;max-width:420px;background:var(--white);border:1px solid var(--s200);border-radius:10px;padding:32px}
.auth-brand{display:flex;align-items:center;gap:10px;color:var(--forest);margin-bottom:24px}
.auth-brand svg.logo{color:var(--forest)}
.auth-brand .product{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.auth-card h1{font-size:25px;margin-bottom:6px}
.auth-card .lede{color:var(--ink2);margin-bottom:20px;font-size:15px}
.auth-card form{display:grid;gap:14px}
.auth-card label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--ink2)}
.auth-card .inp{width:100%;border-radius:999px;padding:10px 16px;font-size:15px}
.auth-card .lang-sel{width:auto;padding:0 28px 0 12px;font-size:13px}
.auth-card .btn-fill{width:100%;padding:11px 18px;font-size:15px}
.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:13px;flex-wrap:wrap}
.auth-foot{max-width:420px;text-align:center;color:var(--ink2);font-size:13px;margin-top:20px}
.devcode{border:1px dashed var(--amber);background:var(--amber-t);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--ink)}
.devcode b{font-size:20px;letter-spacing:.2em;font-variant-numeric:tabular-nums;color:var(--forest)}
.err{color:var(--brick);font-size:13px;min-height:1em}
.code-inp{letter-spacing:.4em;text-align:center;font-size:20px!important;font-variant-numeric:tabular-nums}

/* sidebar groups */
.navgroup{display:flex;flex-direction:column;gap:2px}
.navgroup .gl{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,240,228,.55);padding:0 10px 6px;display:flex;justify-content:space-between}
.navgroup .gl .prog{letter-spacing:0;text-transform:none;font-weight:400}
.navgroup a.step{text-decoration:none}
.step .ring.ok{background:var(--bone);color:var(--forest);border-color:var(--bone)}
.step .ring svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.side-foot .who{display:block;font-weight:700;color:var(--bone);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-foot .mail{display:block;font-size:12px;color:rgba(245,240,228,.65);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-foot .row{margin-top:10px;gap:8px}
.side-foot .pill{font-weight:700}
.pill-mock{background:rgba(182,131,43,.22);color:#f3d9a8}
.pill-live{background:rgba(245,240,228,.14);color:var(--bone)}
.side-foot button.lnk{color:rgba(245,240,228,.8);text-decoration-color:rgba(245,240,228,.4)}

/* page furniture */
.crumbs{font-size:13px;color:var(--ink2);margin-bottom:6px}
.crumbs a{color:var(--ink2)}
.banner{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--s200);background:var(--white);border-radius:10px;padding:14px 18px;margin-bottom:16px}
.banner.amber{border-color:var(--amber);background:var(--amber-t)}
.banner.forest{border-color:var(--forest);background:var(--g050)}
.stepper{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap}
.stepper .s{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2);padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--s200);background:var(--white)}
.stepper .s .ring{border-color:var(--s400);color:var(--ink2);width:22px;height:22px;flex-basis:22px}
.stepper .s[data-on="1"]{border-color:var(--forest);color:var(--forest);font-weight:700}
.stepper .s[data-on="1"] .ring{border-color:var(--forest);color:var(--forest)}
.stepper .s[data-done="1"] .ring{background:var(--forest);border-color:var(--forest);color:var(--bone)}
.stepper .ring svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5}
.footer-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}

/* standards as building blocks */
.blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.block{border:1px solid var(--s400);border-radius:10px;padding:16px;background:var(--white);text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease)}
.block:hover{background:rgba(32,90,64,.04)}
.block[aria-pressed="true"]{border:2px solid var(--forest);background:var(--g050);padding:15px}
.block[aria-disabled="true"]{cursor:default;background:var(--s50);border-style:dashed;color:var(--ink2)}
.block .t{font-weight:700;display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.block .c{font-size:13px;color:var(--ink2)}
.block .box{margin-top:2px}
.block[aria-pressed="true"] .box{border-color:var(--forest);background:var(--forest)}
.block .box svg{width:11px;height:11px;stroke:var(--bone);stroke-width:2.5;fill:none;opacity:0}
.block[aria-pressed="true"] .box svg{opacity:1}

/* per-standard rows in setup */
.srow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--s200)}
.srow:first-child{border-top:0}
.srow .name{font-weight:700}
.srow .meta{margin-top:2px}

/* drop zone */
.drop input[type=file]{display:none}
.drop .t{font-weight:700}
.filelist{margin-top:10px;display:grid;gap:4px;font-size:13px;color:var(--ink2)}
.filelist div{display:flex;gap:8px;align-items:center}
.filelist div:has(.fl-name){display:grid;grid-template-columns:16px minmax(0,1fr) 64px 30px;gap:8px;align-items:center;max-width:600px}
.filelist .fl-name{overflow-wrap:anywhere;line-height:1.4}
.filelist .fl-size{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.filelist .fl-x{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}

/* reports list */
.rlist{display:grid;gap:0}
.ritem{display:grid;grid-template-columns:22px minmax(0,1fr) 110px 120px 210px 80px 34px;cursor:pointer;gap:16px;align-items:center;padding:14px 4px;border-top:1px solid var(--s200);text-decoration:none;color:inherit;border-radius:10px}
.ritem:first-child{border-top:0}
.ritem:hover{background:var(--g050)}
.ritem>*{min-width:0}
.ritem .who{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ritem .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rhead{display:grid;grid-template-columns:22px minmax(0,1fr) 110px 120px 210px 80px 34px;gap:16px;padding:0 4px 8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--s200)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
@media (max-width:760px){.ritem,.rhead{grid-template-columns:22px minmax(0,1fr) 100px}.ritem>:nth-child(n+4),.rhead>:nth-child(n+4){display:none}}
/* several reports deleted at once (founder 2026-10-29) */
.rsel{display:flex;align-items:center;justify-content:center}.rsel input{width:16px;height:16px;cursor:pointer;margin:0}
.bulkbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}

/* report page */
.tabs a{padding:10px 12px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--s200);margin-bottom:20px;overflow-x:auto}
.tabs a{padding:10px 14px;font-size:15px;color:var(--ink2);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a:hover{color:var(--forest)}
.tabs a[aria-current="true"]{color:var(--forest);border-bottom-color:var(--forest);font-weight:700}
.tabs .cnt{display:inline-block;min-width:18px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--s200);font-size:11px;font-weight:700;color:var(--ink2);text-align:center}
.tabs .cnt.amber{background:var(--amber-t);color:var(--amber)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.kpi{background:var(--white);border:1px solid var(--s200);border-radius:10px;padding:14px 16px}
.kpi .v{font-size:25px;font-weight:300;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi .l{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-top:4px}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,1fr)}}

/* timeline */
.tl{position:relative;padding-left:22px}
.tl::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:var(--s400)}
.tl .ev{position:relative;padding:8px 0 12px}
.tl .ev::before{content:"";position:absolute;left:-20px;top:13px;width:9px;height:9px;border-radius:999px;background:var(--white);border:1.5px solid var(--forest)}
.tl .ev[data-k="final"]::before{background:var(--forest)}
.tl .ev[data-k="evidence"]::before,.tl .ev[data-k="generated"]::before{border-color:var(--fern);background:var(--g100)}
.tl .ev .at{font-size:12px;color:var(--ink2);font-variant-numeric:tabular-nums}
.tl .ev .tx{font-size:15px}

/* rounds and diffs */
.round{border:1px solid var(--s200);border-radius:10px;background:var(--white);padding:16px 18px}
.round + .round{margin-top:12px}
.round .rh{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.assign{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--s200)}
.assign:first-of-type{border-top:0}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip-s{border:1px solid var(--s400);background:var(--white);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--ink2)}
.chip-s[aria-pressed="true"]{border-color:var(--forest);background:var(--forest);color:var(--bone);font-weight:700}
.diff{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--s200);font-size:13px}
.diff .b{background:var(--brick-t);border-radius:6px;padding:8px 10px;white-space:pre-wrap}
.diff .a{background:var(--g050);border-radius:6px;padding:8px 10px;white-space:pre-wrap}
@media (max-width:760px){.diff,.assign{grid-template-columns:1fr}}

/* draft review */
.review{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}
.chlist{display:flex;flex-direction:column;gap:2px;max-height:72vh;overflow:auto;background:var(--white);border:1px solid var(--s200);border-radius:10px;padding:8px}
.chlist button{display:flex;gap:10px;align-items:center;border:0;background:none;padding:7px 10px;border-radius:999px;text-align:left;font-size:13px;color:var(--ink)}
.chlist button:hover{background:var(--g050)}
.chlist button[aria-current="true"]{background:var(--g100);color:var(--forest);font-weight:700;box-shadow:inset 2px 0 0 var(--forest)}
.chlist .code{min-width:38px;font-weight:700;color:var(--forest);font-variant-numeric:tabular-nums}
.chlist .dot{margin-left:auto;width:7px;height:7px;border-radius:999px;background:var(--s400)}
.chlist .dot.ok{background:var(--fern)}.chlist .dot.warn{background:var(--amber)}.chlist .dot.off{background:var(--s200)}
@media (max-width:900px){.review{grid-template-columns:1fr}.chlist{max-height:none;flex-direction:row;overflow-x:auto}}
.locked{opacity:1}
.locked textarea,.locked select,.locked input{background:var(--s50);pointer-events:none}
.empty{padding:28px;text-align:center;color:var(--ink2)}
.empty h3{color:var(--ink);margin-bottom:6px}

.ritem.child{padding-left:28px;border-top-style:dashed}
.ritem a.who{color:var(--ink);text-decoration:none}
.ritem a.who:hover{text-decoration:underline;text-decoration-color:var(--s400)}
.ritem .next-txt{font-size:13px;color:var(--amber);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ritem .menu{justify-self:end}
/* sentence case for headers and labels (shell.css loads after app.css) */
.rhead,.kpi .l{text-transform:none;letter-spacing:0;font-size:13px}
.ritem .next-txt{white-space:normal;line-height:1.45}
/* a report's header is the same page header as Settings: one title size across the app; a long client name wraps */
.report-head>div:first-child{min-width:0;flex:1}
.report-head h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.report-head .lede{margin-top:4px}
.page-head.report-head{margin-bottom:12px}
.report-head .lede{margin-top:8px}
/* the report's tabs drawn as the set-up steps: numbered pills, a tick when a step has nothing open; one line that scrolls */
.steptabs{flex-wrap:nowrap;overflow-x:auto;border-bottom:0;padding:8px 0;margin:0 0 16px}
.steptabs a.s{white-space:nowrap;text-decoration:none;margin-bottom:0;padding:6px 12px 6px 6px;font-size:13px}
.steptabs a.s:hover{border-color:var(--s400);color:var(--forest)}
.steptabs a.s[aria-current="true"]{border-color:var(--forest);border-bottom-color:var(--forest);color:var(--forest);font-weight:700}
.steptabs .cnt{margin-left:2px}
.btn.is-saved,.btn.is-saved:hover{background:var(--g050);color:var(--forest);border-color:var(--g050);opacity:1;cursor:default}
