/* StatusHQ Contractor 2.0 · tokens shared across existing and new screens. */
:root{color-scheme:light;--ink:#172135;--muted:#576579;--line:#dde3eb;--paper:#f5f7fa;--white:#fff;--green:#087c56;--deep:#10283a;--orange:#9a5900;--red:#b4233e;--brand-hover:#066344;--brand-soft:#e8f5ee;--focus:#2563eb;--danger-soft:#fff0f2;--warning-soft:#fff6df;--font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-xs:.75rem;--text-sm:.875rem;--radius-sm:6px;--radius:10px;--radius-lg:14px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--control-height:44px;--sidebar-width:246px;--shadow-sm:0 1px 3px #17213508;--shadow:0 12px 36px #1721350d}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:var(--text-sm)/1.55 var(--font)}body.drawerOpen,body.modalOpen{overflow:hidden}[hidden]{display:none!important}a{color:var(--green);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}img{max-width:100%}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.22;letter-spacing:-.025em}h1{font-size:clamp(1.9rem,3vw,2.65rem);margin:0 0 12px}h2{font-size:1.35rem;margin:0 0 16px}h3{font-size:1.1rem}
header{min-height:76px;padding:14px 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);flex-shrink:0}.brand:hover{text-decoration:none}.brand img{width:132px;height:34px;object-fit:contain}.brand em{font-style:normal;color:var(--green);font-size:10px;letter-spacing:.14em;border-left:1px solid var(--line);padding-left:14px;font-weight:750}header nav{display:flex;flex-wrap:wrap;align-items:center;gap:16px}nav a{color:var(--muted);font-size:13px}nav form{margin:0}main{max-width:1440px;margin:0 auto;padding:36px 32px 64px;min-height:calc(100vh - 160px)}footer{padding:24px;border-top:1px solid var(--line);background:var(--white);color:var(--muted);text-align:center;font-size:var(--text-xs)}
.hasSidebar>header{margin-left:var(--sidebar-width)}.hasSidebar>header>nav{display:none}.hasSidebar>main,.hasSidebar>footer{margin-left:var(--sidebar-width)}.workspaceSidebar{width:var(--sidebar-width);background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;z-index:45;display:flex;flex-direction:column;padding:24px 16px;overflow-y:auto}.workspaceSidebar .brand{flex-wrap:wrap;gap:8px;padding:0 10px 28px}.workspaceSidebar .brand em{border:0;padding:0;width:100%}.workspaceSidebar nav{display:grid;gap:5px}.workspaceSidebar nav a{padding:11px 14px;border-radius:var(--radius-sm);color:#445169;font-weight:600}.workspaceSidebar nav a:hover{background:var(--paper);text-decoration:none}.workspaceSidebar nav a[aria-current=page]{color:#075d40;background:var(--brand-soft);box-shadow:inset 3px 0 var(--green)}.workspaceSidebar nav form{padding:18px 8px;margin-top:16px;border-top:1px solid var(--line)}.workspaceSidebar nav button{width:100%}.sidebarCaption{margin:0 14px 12px;color:var(--muted);font-size:10px;letter-spacing:.13em;font-weight:750;text-transform:uppercase}.sidebarToggle{display:none;gap:8px}.sidebarBackdrop{position:fixed;inset:0;z-index:40;border:0;border-radius:0;background:#0f172a80}
.eyebrow{display:block;color:var(--green);margin:0 0 10px;font-size:10px;letter-spacing:.14em;font-weight:800}.pageHead,.dashboardHead{margin-bottom:28px}.pageHead>p:last-child,.dashboardHead>p:last-child,.lead{color:var(--muted);max-width:780px;font-size:1rem;margin:0}.hero{max-width:920px;padding:40px 0}.hero h1{font-size:clamp(2.4rem,5vw,4.5rem)}.hero h1 strong{color:var(--green)}.actions,.recordActions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.actions{margin:24px 0}
button,.primary,.secondary,.navCta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);padding:10px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);font:600 var(--text-sm)/1.25 var(--font);cursor:pointer;text-align:center;transition:background .15s,border-color .15s}button:hover,.secondary:hover{background:var(--paper);border-color:#bdc7d5;text-decoration:none}.primary,.navCta{background:var(--green);border-color:var(--green);color:#fff}.primary:hover,.navCta:hover{background:var(--brand-hover);border-color:var(--brand-hover);text-decoration:none}button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.55}.danger{color:var(--red);border-color:#f3c3cc}.danger:hover{background:var(--danger-soft);border-color:var(--red)}.compact{min-height:34px;padding:7px 10px;font-size:var(--text-xs)}.textButton{min-height:32px;padding:4px 0;border:0;background:transparent;color:var(--green);justify-content:flex-start}
.card,.heroCards article,.workspaceGrid article,.metrics article,.pricing article,.ramsPanel,.savedRams,.riskMatrixCard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);min-width:0}.heroCards,.workspaceGrid,.metrics,.adminMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.heroCards b{color:var(--green)}.heroCards p,.workspaceGrid p,.pricing p,.muted{color:var(--muted)}.workspaceGrid a{display:inline-block;margin-top:16px}.metrics article small{display:block;color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:700}.metrics article b{display:block;font-size:2.1rem;margin:8px 0;font-weight:700;letter-spacing:-.04em}.metrics article span{color:var(--muted);font-size:var(--text-xs)}.twoCol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}.auth{max-width:480px;margin:24px auto;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow)}
.form{display:grid;gap:18px}label,.form label{display:grid;gap:6px;font-size:13px;font-weight:650;align-content:start}label small{color:var(--muted);font-weight:400}input,select,textarea{width:100%;min-height:var(--control-height);padding:10px 12px;border:1px solid #cbd3df;border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:400 var(--text-sm)/1.5 var(--font)}input::placeholder,textarea::placeholder{color:#717e91;opacity:1}input:hover,select:hover,textarea:hover{border-color:#94a3b8}input:focus,select:focus,textarea:focus{outline:2px solid #2563eb33;outline-offset:1px;border-color:var(--focus)}textarea{min-height:108px;resize:vertical}input[type=checkbox],input[type=radio]{width:17px;height:17px;min-height:0;accent-color:var(--green);flex:0 0 auto}input[type=file]{padding:8px}input::file-selector-button{border:0;border-radius:4px;padding:6px 10px;background:var(--paper);color:var(--ink);margin-right:10px;font:inherit;cursor:pointer}fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius)}legend{padding:0 6px;font-weight:650}.check,.form .check{display:flex;align-items:flex-start;gap:10px;font-weight:450}.check input{margin-top:3px}[aria-invalid=true]{border-color:var(--red)!important}.fieldError{display:block;font-size:var(--text-xs);color:var(--red);font-weight:500}.flash{display:block;position:static;margin:0 0 24px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);line-height:1.55}.flash.error{color:#9c2036;border-color:#f3c3cc;background:var(--danger-soft)}.flash.ok{color:#07603f;background:var(--brand-soft);border-color:#b7dfc9}
.record{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.record:last-child{border-bottom:0}.record>div:first-of-type{min-width:120px;flex:1}.record b,.record small{display:block;overflow-wrap:anywhere}.record small{color:var(--muted);font-size:var(--text-xs);margin-top:4px}.recordActions{flex:0 0 auto}.recordActions form,.record>form{margin:0}.empty{color:var(--muted);text-align:center;padding:32px 16px}.badge,.pill,.planBadge,.riskResult,.riskLegend span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;font-size:11px;line-height:1.4;font-weight:700;background:#edf1f6;color:#475569}.valid,.active,.compliant,.low,.captured{background:#e5f5ec;color:#07603f}.expiring,.expiring_soon,.moderate{background:#fff3cf;color:#855000}.expired,.suspended,.non_compliant,.critical{background:#ffe8ed;color:#a61b35}.high{background:#ffe8d2;color:#984506}.neutral{background:#edf1f6;color:#475569}.dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#94a3b8}.dot.valid{background:var(--green)}.dot.expiring{background:#d18b0c}.dot.expired{background:var(--red)}
.tableWrap,.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{background:#f8fafc;color:#526178;font-size:11px;letter-spacing:.04em;white-space:nowrap;font-weight:700}th,td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}td small{display:block;color:var(--muted)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fafc}.inlineForm{display:flex;align-items:center;gap:8px}.inlineForm select{min-width:115px}
.pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px 0}.planCompare{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing article{display:flex;flex-direction:column;gap:10px}.pricing article h3{font-size:2rem;margin:8px 0}.pricing h3 i,.pricing h2 small{font-style:normal;font-size:var(--text-sm);color:var(--muted)}.pricing .pro,.pricing .featured,.pricing .current,.annualPlan{border-color:var(--green);box-shadow:inset 0 3px var(--green)}.pricing ul{color:var(--muted);padding-left:18px}.pricing li{margin:9px 0}.pricing .primary,.pricing .planBadge{margin-top:auto}.planNote{color:var(--muted);text-align:center}.upgradeCard{padding:24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #b7dfc9;border-radius:var(--radius-lg)}.upgradeCard p{color:var(--muted);margin-bottom:0}.brandPreview{background:var(--deep);color:#fff}.brandPreview .eyebrow{color:#91e2bc}.brandPreview p{color:#c4d6df}.brandPreview img{width:170px;height:96px;object-fit:contain;background:#fff;border-radius:8px;padding:8px;margin-bottom:24px}.brandPreviewLine{width:80px;height:3px;background:#37c18a;margin:20px 0}.manageSaved{display:none}/* Duplicate legacy lists; primary lists retain all actions. */
.legal{max-width:880px}.legal p,.legal li,.legalIntro{color:var(--muted)}.legal h2{margin-top:32px}.legal section{padding-top:12px;scroll-margin-top:100px}.legalNav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.legalCallout{padding:20px;border:1px solid #b7dfc9;background:var(--brand-soft);border-radius:var(--radius)}.legalMeta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted)}.legalSmall{font-size:var(--text-xs)}
.ramsLayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.ramsForm,.ramsAside{display:grid;gap:20px;min-width:0}.ramsPanelHead{margin-bottom:22px}.ramsPanelHead p:last-child{color:var(--muted);margin:0}.ramsPanelHead h2{margin-bottom:8px}.ramsGrid,.riskFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.ramsGrid .wide,.riskFields .wide{grid-column:1/-1}.ramsGrid textarea,.riskFields textarea{min-height:112px}.builderSteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:24px}.builderSteps button{display:flex;justify-content:flex-start;background:#fff;min-height:60px;padding:14px}.builderSteps button[aria-current=step]{border-color:var(--green);background:var(--brand-soft);color:#075d40}.stepNumber{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e2e8f0;font-size:11px;flex-shrink:0}.builderActions{display:flex;justify-content:space-between;gap:12px;padding-top:16px}.riskTitle,.riskEntryHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.riskEntries{display:grid;gap:18px}.riskEntry{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfe}.riskEntryHead{margin-bottom:20px}.riskEntryHead h3{margin:4px 0 0}.riskNumber{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.08em}.riskSuggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.riskSuggestions button{min-height:34px;font-size:12px}.riskSuggestions>span{width:100%;color:var(--muted);font-size:12px}.riskScoring{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.scoreSelects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0}.riskArrow{display:none}.riskMatrixCard h2{font-size:1.3rem}.riskMatrixCard>p{color:var(--muted);font-size:13px}.riskMatrix{display:grid;grid-template-columns:24px repeat(5,minmax(0,1fr));gap:4px;margin:18px 0 10px}.matrixCell,.matrixLabel{min-height:33px;display:grid;place-items:center;border-radius:4px;font-size:11px;font-weight:750}.matrixCell.matrixSelected{outline:2px solid #172135;outline-offset:-2px}.matrixLabel{color:var(--muted)}.matrixAxis{color:var(--muted);font-size:10px;text-align:right}.riskLegend{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.riskLegend span{font-size:10px}.matrixScale{padding-left:18px;color:var(--muted);font-size:11px}.matrixScale li{margin:5px 0}.dynamicList{display:grid;gap:12px;margin-bottom:12px}.taskRow{padding:16px;border:1px solid var(--line);border-radius:var(--radius)}.taskRow .ramsGrid{margin-top:12px}.listRow{display:flex;align-items:flex-start;gap:8px}.listRow input,.listRow textarea{flex:1;min-width:0}.listRow button{flex:0 0 auto}.signatureField{display:grid;gap:10px}.signatureField canvas,canvas#signature{display:block;width:100%;height:170px;border:1px dashed #94a3b8;border-radius:var(--radius);background:#fff;touch-action:none;cursor:crosshair}.signatureStatus,.photoStatus{font-size:12px;color:var(--muted)}.signatureStatus.captured{background:none;color:var(--green)}.reviewSummary{display:grid;gap:12px;margin:20px 0}.reviewSummary>div{padding:14px;background:var(--paper);border-radius:var(--radius-sm)}.reviewSummary dt{color:var(--muted);font-size:11px}.reviewSummary dd{margin:3px 0 0;font-weight:600}
dialog{max-width:min(480px,calc(100vw - 32px));width:100%;padding:28px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 30px 100px #0f172a44}dialog::backdrop{background:#0f172a80}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modalClose{float:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){.heroCards,.workspaceGrid,.metrics,.adminMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ramsLayout{grid-template-columns:minmax(0,1fr) 260px}.ramsPanel{padding:20px}}
@media(max-width:1050px){.hasSidebar>header,.hasSidebar>main,.hasSidebar>footer{margin-left:0}.workspaceSidebar{transform:translateX(-100%);transition:transform .2s}.drawerOpen .workspaceSidebar{transform:translateX(0)}.sidebarToggle{display:inline-flex}.ramsLayout{grid-template-columns:minmax(0,1fr) 280px}.twoCol{grid-template-columns:1fr}}
@media(max-width:800px){header{padding:12px 18px}main{padding:24px 18px 48px}.ramsLayout{grid-template-columns:1fr}.ramsAside{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing{grid-template-columns:1fr}.builderSteps{grid-template-columns:repeat(2,minmax(0,1fr))}.upgradeCard{flex-direction:column;align-items:flex-start}}
@media(max-width:540px){.ramsGrid,.riskFields,.riskScoring,.ramsAside,.heroCards,.workspaceGrid,.metrics,.adminMetrics,.planCompare,.legalNav{grid-template-columns:1fr}.brand em{display:none}.workspaceSidebar .brand em{display:block}.riskTitle{flex-direction:column}.ramsPanel,.card,.riskEntry{padding:18px}.auth{padding:20px}.recordActions{width:100%}.builderSteps button{font-size:12px;padding:10px}.builderActions button{padding:10px 12px}.listRow textarea{min-height:90px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* One workspace logo: sidebar on desktop, header when the mobile drawer is closed. */
@media(min-width:1051px){
  body.hasSidebar{min-height:100vh;display:flex;flex-direction:column}
  .hasSidebar>header{display:none}
  .hasSidebar>main{flex:1;width:calc(100% - var(--sidebar-width));min-height:0}
}
