:root{--sidebar:#191d22;--sidebar-2:#20252c;--sidebar-active:#2b313a;--sidebar-text:#a7b0bb;--sidebar-muted:#69727e;--paper:#f2f4f7;--card:#ffffff;--line:#e4e8ec;--line-2:#eef1f4;--border:#e4e8ec;--text:#1b2026;--muted:#6b7580;--muted-2:#8a94a0;--orange:#cf5a28;--orange-600:#b94e21;--accent:#cf5a28;--peach:#ecb08d;--yellow:#f3c01a;--green:#2f7d46;--green-bg:#e9f4ed;--green-line:#c4e2ce;--amber:#9c650f;--amber-bg:#fbf1db;--amber-line:#efd6a2;--red:#bd3427;--red-bg:#fbe8e5;--red-line:#f1c2ba;--blue:#2c6cb0;--blue-bg:#e9f0f9;--blue-line:#c6d9ef;--grey:#6b7580;--grey-bg:#eef1f4;--grey-line:#dde2e8;--mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--radius:8px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}.app-shell{display:grid;grid-template-columns:256px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid #0e1114;padding:20px 14px 32px;position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}.brand{padding:2px 8px 14px;margin-bottom:8px;border-bottom:1px solid #262c33}.brand img{width:170px;max-width:100%;height:auto;display:block}.navgroup{margin-top:14px}.navgroup-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sidebar-muted);padding:0 8px 8px}.navitem{display:block;font-family:var(--mono);font-size:12.5px;color:var(--sidebar-text);text-decoration:none;padding:8px 10px;border-radius:6px}.navitem:hover{background:var(--sidebar-2);color:#e7ebef}.navitem.active{background:var(--sidebar-active);color:#fff;box-shadow:inset 2px 0 0 var(--orange)}.sidefoot{margin-top:22px;padding-top:16px;border-top:1px solid #262c33}.sidefoot .sf-email{font-family:var(--mono);font-size:11px;color:var(--sidebar-muted);word-break:break-all}.sidefoot .sf-role{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-top:3px}.sidefoot form{margin-top:12px}.sidefoot .sf-signout{width:100%;padding:9px;border:1px solid #2c333b;border-radius:7px;background:transparent;color:#cdd4db;font-family:var(--mono);font-size:12.5px;cursor:pointer}.sidefoot .sf-signout:hover{background:var(--sidebar-2)}.app-main{min-width:0}.workspace{max-width:1180px;margin:0 auto;padding:26px 34px 80px}main:not(.app-main){max-width:26rem;margin:0 auto;padding:4rem 1.5rem}h1{font-size:27px;font-weight:800;letter-spacing:-.01em;margin:6px 0}h1,h2,h3{text-wrap:balance}.section-title{margin:1.75rem 0 .75rem;font-size:1.05rem;font-weight:700}.crumb{font-family:var(--mono);font-size:12.5px;display:inline-block;margin-bottom:8px}.crumb,.crumb a{color:var(--orange);text-decoration:none}.eyebrow,.kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}.eyebrow,.kicker,.muted,.subtitle,.t-muted{color:var(--muted)}.t-strong{font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:16px 0;padding:18px 20px}.card>h2:first-child,.card>h3:first-child,.card>p:first-child{margin-top:0}.card-pad{padding:0}.card-head{margin:-18px -20px 16px;padding:14px 20px;border-bottom:1px solid var(--line-2);font-size:15px;font-weight:700}.card .tablewrap{margin:0 -20px -18px}.card .tablewrap table{border:0;border-radius:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.btn-link,button{font-family:var(--sans);font-weight:700;font-size:14px;padding:11px 18px;border-radius:7px;border:1px solid transparent;background:var(--orange);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}.btn-link:hover,button:hover{background:var(--orange-600)}button:disabled{background:var(--grey-bg);color:var(--muted-2);border-color:var(--line);cursor:not-allowed}.btn-small{font-family:var(--mono);font-size:12px;font-weight:600;padding:7px 12px;border-radius:6px;background:#fff;color:var(--text);border:1px solid var(--line)}.btn-small:hover{background:#fff;border-color:var(--orange);color:var(--orange)}.pdfbtn{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;font-weight:600;padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);text-decoration:none}.pdfbtn:hover{border-color:var(--orange);color:var(--orange)}.minibtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border:1px solid var(--line);border-radius:6px;color:var(--muted-2)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}thead th{text-align:left;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:11px 16px;background:var(--line-2);white-space:nowrap}tbody td,thead th{font-family:var(--mono)}tbody td{padding:13px 16px;border-top:1px solid var(--line-2);font-size:13px;vertical-align:middle}tbody td.sans{font-family:var(--sans)}tbody tr:hover{background:#fafbfc}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td a{color:var(--orange)}.empty{padding:1rem 0}.badge,.empty{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:5px;border:1px solid var(--line);background:#fff;white-space:nowrap}.badge.b-green-o,.badge.b-pass{color:var(--green);background:var(--green-bg);border-color:var(--green-line)}.pill-sensitive{margin-left:.5rem;padding:.05rem .4rem;border-radius:.35rem;background:var(--red-bg);color:var(--red);border:1px solid var(--red-line);font-size:.7rem;font-weight:700;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}.kpigrid,.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px;margin:16px 0}.kpi,.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px}.k-value,.tile-value{font-size:19px;font-weight:700;margin-top:6px;letter-spacing:-.01em}.k-value.mono{font-size:16px;font-weight:600}.k-label,.k-value.mono{font-family:var(--mono)}.k-label{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.k-sub,.k-target{font-family:var(--mono);font-size:11.5px;color:var(--muted-2);margin-top:4px}.k-big{font-size:30px;font-weight:800;margin:8px 0 4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-top{display:flex;align-items:flex-start;justify-content:space-between}.kpi--accent{border-left:4px solid var(--accent2,var(--grey))}.kpi--top{border-top:3px solid var(--accent2,var(--grey))}.kpi--good{--accent2:var(--green)}.kpi--warn{--accent2:var(--amber)}.kpi--bad{--accent2:var(--red)}.kpi--info{--accent2:var(--blue)}.kpi--brand{--accent2:var(--orange)}.kpi--mute{--accent2:var(--grey)}.form-grid{display:grid;grid-gap:.35rem;gap:.35rem}.field{display:flex;flex-direction:column;margin-bottom:.25rem}label{color:var(--muted);font-size:.85rem;margin-bottom:.3rem}input,select,textarea{width:100%;padding:.6rem .75rem;border-radius:.5rem;border:1px solid var(--line);background:#fff;color:var(--text);font-size:.95rem;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--orange)}.field .checkbox,input[type=checkbox]{width:auto}.error{color:var(--red);font-size:.85rem;margin-top:.25rem}.stop-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.stop-actions form{display:inline-flex;gap:.25rem;margin:0}.stop-actions input[type=date]{width:auto;padding:.3rem .45rem;font-size:.8rem}.inline-renew{display:inline-flex;gap:.35rem;margin:0;align-items:center}.inline-renew input[type=date]{width:auto;padding:.3rem .45rem;font-size:.8rem}.badge,.btn-small,.pdfbtn{line-height:1.3}.report{max-width:900px;background:#fff;color:#111;border:1px solid var(--line);padding:28px 32px}.report-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:12px}.report-head strong{font-family:var(--mono);letter-spacing:.04em}.report-meta{text-align:right;font-family:var(--mono);font-size:.9rem}.report-week{margin:16px 0}.report-summary{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.report-summary>div{border:1px solid var(--line);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.report-summary .l{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--mono)}.report-summary .v{font-size:1.3rem;font-family:var(--mono)}.report-foot{margin-top:18px;padding-top:10px;border-top:1px solid var(--line);font-size:.8rem}.stamp{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.03em;margin-top:8px}.review-required{border-left:4px solid var(--red)}.review-required strong{color:var(--red);font-family:var(--mono);letter-spacing:.08em}.flag-form{display:flex;flex-direction:column;gap:8px;max-width:520px}.flag-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line)}.flag-row.flag-unknown{border-color:var(--red);background:color-mix(in srgb,var(--red) 6%,transparent)}.flag-row select{width:auto}.flag-label{font-size:.9rem}.permit-list{margin:.5rem 0;padding-left:1.2rem}.permit-list li{font-family:var(--mono);font-size:.85rem;margin:.2rem 0}.brief-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.brief-form input{width:auto}.geo-capture .geo-row{display:flex;gap:.6rem;align-items:center}@media (max-width:640px){.report-summary{grid-template-columns:repeat(2,1fr)}}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.sig-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.sig-capture{display:flex;flex-direction:column;gap:.4rem}.sig-label{color:var(--muted);font-size:.85rem}.sig-name{width:100%}.sig-canvas-wrap{position:relative;border:1px dashed var(--line);border-radius:.5rem;background:#fbfcfd;overflow:hidden}.sig-canvas{display:block;width:100%;height:110px;touch-action:none;cursor:crosshair}.sig-hint{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted-2);font-size:.85rem;pointer-events:none}.sig-actions{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.sig-ok{color:var(--green)}.sig-pending{color:var(--muted)}.scafftag{width:420px;max-width:100%;aspect-ratio:1.414/1;background:#fff;color:#171a1e;border:3px solid #171a1e;border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}.scafftag.fail{border-color:var(--red)}.scafftag .st-head{display:flex;justify-content:space-between;align-items:baseline}.scafftag .st-head strong{font-size:15px;letter-spacing:.02em}.scafftag .st-token{font-family:var(--mono);font-size:10px;color:var(--muted)}.scafftag .st-body{display:flex;align-items:center;gap:12px;flex:1 1}.scafftag .st-verdict{flex:1 1}.scafftag .st-qr{flex:none}.scafftag .st-qr svg{width:118px;height:118px;display:block}.scafftag .st-lbl{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.scafftag .st-big{font-size:34px;font-weight:800;line-height:1.05;color:var(--green)}.scafftag.fail .st-big{color:var(--red)}.scafftag .st-ref{font-family:var(--mono);font-size:12px;margin-top:6px}.scafftag .st-foot{display:flex;gap:16px;border-top:1px solid var(--line);padding-top:8px;flex-wrap:wrap}.scafftag .st-foot>div{display:flex;flex-direction:column;font-family:var(--mono);font-size:11px}.scafftag .st-foot .l{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2)}.scafftag .st-foot .v.next{color:var(--orange);font-weight:600}@media print{.no-print,.sidebar{display:none!important}.app-shell{grid-template-columns:1fr}.app-main,.workspace{padding:0!important;max-width:none}.scafftag{border-width:2px}}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.workspace{padding:20px 16px 60px}.sig-grid{grid-template-columns:1fr}}