:root{--ink: #111a22;--muted: #4a5763;--paper: #f3f4f1;--surface: #ffffff;--rule: #c5ccd2;--line: #8e99a3;--brand: #0b4f9c;--brand-dark: #083a74;--brand-soft: #e3edf8;--amber: #f2a900;--amber-soft: #fff3cf;--amber-ink: #5c4100;--ok: #146c43;--ok-soft: #dff1e7;--danger: #b42318;--danger-dark: #8a1a12;--danger-soft: #fbe3df;--track: #e4e8eb;--on-brand: #ffffff;--radius: 10px;--tap: 48px;--ledger: var(--brand);--ledger-soft: var(--brand-soft);--notice-bg: var(--amber-soft);--notice-ink: var(--amber-ink);--on-bright: var(--on-brand);color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:106.25%;line-height:1.5;color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}a{color:var(--brand);font-weight:600;text-underline-offset:.15em}a:hover{color:var(--brand-dark)}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}code{font-size:.9em;overflow-wrap:anywhere}h1,h2,h3{line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.5rem);font-weight:800}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app>main{flex:1}.page{width:100%;max-width:960px;margin:0 auto;padding:28px 16px 56px}.muted{color:var(--muted)}.lede{font-size:1.1875rem;color:var(--ink);max-width:60ch}.hint{font-size:.9375rem;color:var(--muted)}.eyebrow{display:inline-block;margin:0 0 12px;padding:2px 10px;border-left:6px solid var(--amber);background:var(--surface);font-size:.875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-status{padding:48px 16px;text-align:center;color:var(--muted)}.page-status h1{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:10px 20px;border:2px solid var(--brand);border-radius:var(--radius);background:var(--brand);color:var(--on-brand);font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:var(--on-brand)}.btn-small{min-height:40px;padding:6px 14px;font-size:.9375rem}.btn-big{min-height:56px;padding:12px 26px;font-size:1.125rem}.btn-quiet{background:var(--surface);color:var(--brand)}.btn-quiet:hover{background:var(--brand-soft);color:var(--brand-dark)}.btn-danger{border-color:var(--danger);background:var(--danger)}.btn-danger:hover{border-color:var(--danger-dark);background:var(--danger-dark)}.btn:disabled{opacity:.45;cursor:not-allowed}.link-button{padding:0;border:0;background:none;color:var(--brand);font:inherit;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.link-button:disabled{color:var(--muted);cursor:not-allowed}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.status{margin:10px 0;font-weight:600}.status-error{padding:10px 14px;border-left:5px solid var(--danger);border-radius:6px;background:var(--danger-soft);color:var(--danger-dark)}.status-ok{padding:10px 14px;border-left:5px solid var(--ok);border-radius:6px;background:var(--ok-soft);color:var(--ok)}.notice{margin:0 0 16px;padding:12px 16px;border-left:5px solid var(--amber);border-radius:6px;background:var(--amber-soft);color:var(--amber-ink);font-weight:600}.tag{display:inline-block;padding:2px 10px;border:1px solid var(--amber);border-radius:999px;background:var(--amber-soft);color:var(--amber-ink);font-size:.8125rem;font-weight:800;white-space:nowrap}.tag-on{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.field{display:grid;gap:6px;margin:0 0 14px;min-width:0}.field label,.field-label{font-weight:700}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:var(--tap);padding:10px 12px;border:2px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:3px solid var(--brand-soft);outline-offset:0}input[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox]{width:22px;height:22px;accent-color:var(--brand)}.check{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);font-weight:600}.inline{display:flex;flex-wrap:wrap;gap:10px}.inline input{flex:1 1 180px;width:auto}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0 12px}.inline-form .field{flex:1 1 220px}.inline-form .btn{margin-bottom:14px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.card{margin:0 0 20px;padding:20px;border:1px solid var(--rule);border-radius:14px;background:var(--surface)}.card h2{margin:0 0 12px;font-size:1.25rem}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0 16px}.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0;overflow-wrap:anywhere}.danger-zone{border-color:var(--danger)}.masthead{position:sticky;top:0;z-index:100;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px max(16px,calc((100vw - 1120px)/2));border-bottom:4px solid var(--amber);background:var(--ink);color:#fff}.brand{display:inline-flex;align-items:center;gap:10px;min-height:var(--tap);color:#fff;font-size:1.1875rem;font-weight:800;letter-spacing:-.01em;text-decoration:none}.brand:hover{color:#fff}.brand-logo{display:block}.masthead-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.nav-link{display:inline-flex;align-items:center;min-height:var(--tap);color:#fff;text-decoration:none}.masthead .link-button{color:#fff;text-decoration:none}.nav-link:hover,.masthead .link-button:hover{color:#fff;text-decoration:underline}.masthead .btn{border-color:var(--amber);background:var(--amber);color:var(--ink)}.masthead .btn:hover{border-color:#fff;background:#fff;color:var(--ink)}@media(max-width:560px){.nav-optional{display:none}}.profile{position:relative}.avatar{display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:2px solid var(--amber);border-radius:50%;background:var(--brand);color:#fff;font:inherit;font-weight:800;cursor:pointer}.profile-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:200;display:flex;flex-direction:column;min-width:240px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);box-shadow:0 10px 28px #111a2238}.profile-who{display:flex;flex-direction:column;padding:8px 12px 10px;margin-bottom:4px;border-bottom:1px solid var(--rule);color:var(--ink);font-size:.9375rem;overflow-wrap:anywhere}.profile-who span{color:var(--muted)}.profile-menu a,.profile-menu button{display:flex;align-items:center;min-height:var(--tap);padding:8px 12px;border:0;border-radius:8px;background:none;color:var(--ink);font:inherit;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.profile-menu a:hover,.profile-menu button:hover{background:var(--paper);color:var(--ink)}.site-footer{padding:24px max(16px,calc((100vw - 1120px)/2)) 32px;border-top:1px solid var(--rule);background:var(--surface);font-size:.9375rem}.footer-links{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0 0 10px;padding:0;list-style:none}.footer-links a{display:inline-flex;align-items:center;min-height:40px;overflow-wrap:anywhere}.footer-legal{margin:0;color:var(--muted)}.landing{width:100%;max-width:960px;margin:0 auto;padding:36px 16px 56px}.hero{padding:8px 0 24px}.hero h1{max-width:22ch;margin:0 0 16px}.band{margin:0 0 20px;padding:22px 20px;border:1px solid var(--rule);border-left:6px solid var(--brand);border-radius:12px;background:var(--surface)}.band h2{margin:0 0 12px;font-size:1.375rem}.checklist{display:grid;gap:10px;margin:0 0 12px;padding:0;list-style:none}.checklist li{position:relative;padding-left:34px}.checklist li:before{content:"";position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:6px;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 16px no-repeat}.checklist-later li:before{border:2px dashed var(--line);background:var(--surface)}.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:24px 0}.plan-card{display:flex;flex-direction:column;padding:22px 20px;border:2px solid var(--rule);border-radius:14px;background:var(--surface)}.plan-free{border-color:var(--brand)}.plan-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.plan-head h2{margin:0;font-size:1.625rem}.plan-price{margin:6px 0 0;font-size:2rem;font-weight:800}.plan-card h3{margin:14px 0 8px;font-size:1rem}.plan-list{display:grid;gap:6px;margin:0;padding-left:1.2em}.plan-list-later{color:var(--muted)}.plan-action{margin-top:auto;padding-top:20px}.plan-action .btn{width:100%}.waitlist{border:2px solid var(--amber)}.waitlist-form{max-width:640px}.waitlist-done h3{margin:0 0 8px;color:var(--ok)}.settings{max-width:680px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:24px 0}.tool-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:140px;padding:18px;border:2px solid var(--brand);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none}a.tool-tile:hover{background:var(--brand-soft);color:var(--ink)}.tool-tile-soon{border-style:dashed;border-color:var(--line)}.tool-title{font-size:1.25rem;font-weight:800}.tool-text{color:var(--muted)}.tool-tile .tag{margin-top:auto}.setup-form{max-width:560px}.role-key{display:grid;gap:4px;margin:0 0 20px;padding:14px 18px 14px 34px;border-left:6px solid var(--amber);border-radius:8px;background:var(--surface)}.invite-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:0 12px}.invite-form .btn{margin-bottom:14px}@media(max-width:640px){.invite-form{grid-template-columns:1fr}}.people{display:grid;margin:0;padding:0;list-style:none}.person{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 0;border-top:1px solid var(--rule)}.person:first-child{border-top:0}.person-who{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.person-email{color:var(--muted);font-size:.9375rem}.person-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.person-actions select{width:auto;min-width:170px}.person-note{flex-basis:100%;margin:0}.ro-toolbar,.ro-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0 0 16px}.ro-filters .field{margin:0}.ro-search{flex:1 1 260px}.segmented{display:inline-flex;flex-wrap:wrap;border:2px solid var(--brand);border-radius:var(--radius);overflow:hidden}.segmented button{min-height:44px;padding:6px 14px;border:0;border-left:1px solid var(--rule);background:var(--surface);color:var(--brand);font:inherit;font-weight:700;cursor:pointer}.segmented button:first-child{border-left:0}.segmented button.on{background:var(--brand);color:var(--on-brand)}.ro-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}@media(max-width:1000px){.ro-board{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}}.ro-column{display:grid;gap:10px;padding:12px;border-radius:12px;background:var(--track)}.ro-column h2{margin:0;font-size:1rem}.ro-empty{margin:0;color:var(--muted);font-size:.9375rem}.ro-card{display:grid;gap:2px;padding:12px;border:1px solid var(--rule);border-left:5px solid var(--brand);border-radius:10px;background:var(--surface);color:var(--ink);font-weight:400;text-decoration:none}.ro-card:hover{border-color:var(--brand);color:var(--ink)}.ro-card-top{display:flex;justify-content:space-between;gap:8px;font-weight:700}.ro-card-who{font-weight:700;overflow-wrap:anywhere}.ro-card-car,.ro-card-meta{color:var(--muted);font-size:.9375rem}.ro-list{display:grid;gap:8px}.ro-row{display:grid;grid-template-columns:5rem minmax(0,2fr) minmax(0,2fr) auto 7rem 8rem;align-items:center;gap:8px 12px;padding:12px 14px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);font-weight:400;text-decoration:none}.ro-row:hover{border-color:var(--brand);color:var(--ink)}@media(max-width:700px){.ro-row{grid-template-columns:1fr auto}}.ro-status,.ro-approval{display:inline-block;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:.8125rem;font-weight:800;vertical-align:middle;white-space:nowrap}h1 .ro-status{font-size:1rem}.ro-status-in_progress,.ro-status-ready{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.ro-status-waiting_parts,.ro-approval-pending{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-ink)}.ro-status-invoiced,.ro-status-closed,.ro-approval-approved{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.ro-status-void,.ro-approval-declined{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-dark)}.ro-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.ro-who h2{margin:0 0 4px}.ro-who p{margin:0 0 4px;overflow-wrap:anywhere}.ro-section{margin:28px 0 12px}.page-wide{max-width:1200px}.ro-checks{display:flex;flex-wrap:wrap;gap:0 24px}@media(min-width:761px){.ro-parts td:nth-child(2) input{min-width:12rem}.ro-lines td:first-child input{min-width:9rem}.ro-lines select{min-width:7.5rem}.ro-lines .in-money{min-width:6.5rem}.ro-lines .in-num{min-width:4.5rem}}.ro-job{border-left:6px solid var(--amber)}.ro-job-approved{border-left-color:var(--ok)}.ro-job-declined{border-left-color:var(--danger);opacity:.85}.ro-job-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.ro-job-title{flex:1 1 260px;margin:0}.ro-job-title-text{flex:1 1 260px;margin:0;font-size:1.125rem}.ro-lines{width:100%;margin:14px 0 0;border-collapse:collapse}.ro-lines th{padding:4px 6px;color:var(--muted);font-size:.8125rem;text-align:left}.ro-lines td{padding:4px 6px;border-top:1px solid var(--rule);vertical-align:middle}.ro-lines .num{text-align:right;white-space:nowrap}.ro-lines input:not([type=checkbox]),.ro-lines select{min-height:44px;padding:6px 8px}.ro-lines tbody:empty{display:none}.ro-lines:has(tbody:empty) thead{display:none}.in-num{max-width:5.5rem}.in-money{max-width:7.5rem}@media(max-width:760px){.ro-lines thead{display:none}.ro-lines tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px 0;border-top:1px solid var(--rule)}.ro-lines td{display:grid;gap:2px;padding:0;border:0}.ro-lines td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.8125rem;font-weight:700}.ro-lines td:first-child{grid-column:1 / -1}.ro-lines .num{text-align:left}.in-num,.in-money{max-width:none}}.ro-remove-job{margin-left:auto}.ro-tech{margin:-12px 0 20px;padding:14px 18px 4px;border:1px dashed var(--line);border-radius:0 0 14px 14px;background:var(--surface)}.ro-notes-read{margin:-12px 0 20px;padding:10px 18px}.ro-fee{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 0}.ro-fee input:not([type=checkbox]){flex:1 1 200px;width:auto}.ro-fee .in-money{flex:0 1 8rem}.ro-totals{display:grid;gap:4px;max-width:360px;margin:0 0 0 auto}.ro-totals div{display:flex;justify-content:space-between;gap:16px}.ro-totals dt{color:var(--muted)}.ro-totals dd{margin:0;font-weight:700}.ro-totals .ro-total{padding-top:6px;border-top:2px solid var(--ink);font-size:1.125rem}.ro-totals .ro-total dt{color:var(--ink);font-weight:800}.ro-sum .notice{margin:14px 0 0}.ro-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;margin:16px -16px 8px;padding:12px 16px;border-top:1px solid var(--rule);background:var(--paper)}.ro-void{border-color:var(--danger);color:var(--danger)}.ro-panel{border:2px solid var(--brand)}.ro-decide{display:grid;gap:10px;margin:0 0 16px;padding:0;list-style:none}.ro-decide li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.ro-history{display:grid;gap:6px;margin:0 0 12px;padding-left:18px}.pick-list{display:grid;gap:8px;margin:0 0 14px;padding:0;list-style:none}.pick{display:grid;gap:2px;width:100%;min-height:var(--tap);padding:10px 14px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.pick:hover{border-color:var(--brand);background:var(--brand-soft)}.picked,.cust-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.cust-head h2,.cust-head p{margin:0 0 4px}.field-row-tight{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.field-wide{grid-column:span 2}.field-narrow{max-width:280px}.ps-pre{white-space:pre-line}.print-only{display:none}@media print{@page{margin:.5in}:root,body{background:#fff;font-size:11pt}.masthead,.site-footer,.screen-only,.app-home>h1{display:none!important}.page{max-width:none;padding:0}.print-only{display:block}.print-sheet h1{margin:0;font-size:18pt}.print-sheet h2,.print-sheet h3,.print-sheet p{margin:0 0 4px}.ps-head,.ps-parties{display:flex;justify-content:space-between;gap:24px;margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid #000}.ps-doc{text-align:right}.ps-void{font-weight:800}.ps-job{margin:12px 0;break-inside:avoid}.ps-job h3{display:flex;justify-content:space-between;border-bottom:1px solid #999}.print-sheet table{width:100%;border-collapse:collapse}.print-sheet td{padding:2px 0}.print-sheet .num{padding-left:12px;text-align:right;white-space:nowrap}.ps-fees{margin:10px 0}.print-sheet .ro-totals{margin:12px 0 12px auto}.ps-declined,.ps-sign,.ps-footer{margin:14px 0 0;break-inside:avoid}.ps-line{margin-top:28px!important}}.prerender{max-width:960px;margin:0 auto;padding:32px 16px}.admin{width:100%;max-width:1120px;margin:0 auto;padding:28px 16px 48px}.admin-head,.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin h1{margin:0;font-size:1.75rem}.admin h2{margin:0 0 10px;font-size:1.125rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0}.tile{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}.tile-value{font-size:1.75rem;font-weight:700;line-height:1.1;color:var(--ledger);font-variant-numeric:tabular-nums}.tile-label{font-size:.875rem;font-weight:600}.tile-note{font-size:.8125rem;color:var(--muted)}.admin-card{margin-bottom:16px;padding:20px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}.admin-card-head input,.grant-form input[type=email],.grant-form select,.admin-table select{padding:7px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.admin-card-head{margin-bottom:10px}.admin-card-head h2{margin:0}.grant-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.grant-form .field{margin:0}.grant-form input[type=email],.grant-form select{height:40px}.admin-card>.status{margin:12px 0 0;padding:0}.grant-form input[type=email]{width:min(320px,100%)}.grant-form .check{padding-bottom:9px}.table-wrap{position:relative;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9375rem}.admin-table th,.admin-table td{padding:8px 10px;border-bottom:1px solid var(--rule);text-align:left;white-space:nowrap}.admin-table th{font-size:.8125rem;font-weight:600;color:var(--muted)}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-table .muted,.admin .muted{color:var(--muted);font-size:.875rem}.admin-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:4px 0 16px}.admin-choice{display:flex;align-items:center;gap:8px}.admin-choice-label{font-size:.8125rem;font-weight:600;color:var(--muted)}.admin-filters-note{flex-basis:100%;margin:0;font-size:.8125rem;color:var(--muted)}.traffic{margin:4px 0 16px}.traffic-title{font-size:.9375rem;font-weight:600}.traffic-plot{position:relative;width:100%;margin-top:8px;overflow:hidden}.traffic-plot svg{display:block;touch-action:pan-y}.traffic-plot svg:focus-visible{outline:2px solid var(--ledger);outline-offset:2px;border-radius:4px}.traffic-grid{stroke:var(--track);stroke-width:1}.traffic-base{stroke:var(--rule);stroke-width:1}.traffic-hover{fill:var(--ink);opacity:.05}.traffic-tick{font-size:11px;fill:var(--muted);font-variant-numeric:tabular-nums}.traffic-empty{font-size:13px;fill:var(--muted)}.traffic-readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;min-height:1.5em;margin:8px 0 0;font-size:.8125rem;color:var(--muted)}.traffic-readout-when{color:var(--ink);font-weight:600}.traffic-readout-row{display:inline-flex;align-items:center;gap:5px}.traffic-readout-row strong{color:var(--ink);font-size:.9375rem;font-variant-numeric:tabular-nums}.traffic-key{align-self:center;width:10px;height:10px;border-radius:2px}.traffic-table{margin-top:8px;font-size:.875rem}.traffic-table summary{cursor:pointer;color:var(--ledger);font-weight:600}.traffic-table .table-scroll{max-height:320px;margin-top:8px}.top-lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 24px}.admin-top{position:relative;top:0;z-index:20;margin:-28px -16px 20px;padding:20px 16px 0;background:var(--paper);border-bottom:1px solid var(--rule)}.admin-head-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.admin-tabs{position:relative;display:flex;gap:2px;margin-top:14px;overflow-x:auto;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs [role=tab]{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;white-space:nowrap}.admin-tabs [role=tab]:hover{color:var(--ink)}.admin-tabs [role=tab][aria-selected=true]{color:var(--ledger);border-bottom-color:var(--ledger)}.admin-tabs [role=tab]:focus-visible{outline-offset:-2px}.admin-badge{min-width:20px;padding:1px 6px;border-radius:10px;background:var(--ledger);color:var(--on-brand);font-size:.75rem;line-height:1.4;text-align:center}.admin-panel{transition:opacity .15s}.admin-panel-busy{opacity:.55}.admin-panel>.tiles:first-child,.admin-panel>.admin-filters+.tiles{margin-top:0}.admin-head-tools .data-toggle button{white-space:nowrap}.data-toggle button:disabled{cursor:progress}.tile{align-content:start;text-align:left;font:inherit;color:inherit}.tile-link{cursor:pointer;text-decoration:none}.tile-link:hover{border-color:var(--ledger)}.tile .spark{margin-top:6px}.delta{font-size:.8125rem;font-weight:600}.delta-up{color:var(--ledger)}.delta-down{color:var(--danger)}.delta-flat{color:var(--muted)}.chart-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.chart-check{font-size:.875rem;font-weight:600;color:var(--muted)}.traffic-key-line{height:3px;width:14px;border-radius:2px}.traffic-note{margin:6px 0 0;font-size:.8125rem;color:var(--muted)}.admin-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 16px}.bar-list h3{margin:0 0 8px;font-size:.875rem}.bar-list ol,.step-bars ol{margin:0;padding:0;list-style:none}.bar-list li,.step-bars li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:5px 0 7px;font-size:.875rem}.bar-list-name,.step-name{overflow-wrap:anywhere}.bar-list-n,.step-n{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.bar-list-bar{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--track)}.bar-list-bar>span{display:block;height:100%;border-radius:3px;background:var(--ok)}.bar-list-more{margin:4px 0 0;font-size:.8125rem}.step-bars-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px solid var(--rule);font-size:.75rem;font-weight:600;color:var(--muted)}.source-table td:first-child{min-width:150px}.source-bar{display:block;height:4px;margin-top:4px;border-radius:2px;background:var(--track)}.source-bar>span{display:block;height:100%;border-radius:2px;background:var(--ok)}.source-all td{font-weight:600;background:var(--paper)}.source-few td{color:var(--muted)}.heat{margin:0}.heat-grid{display:grid;grid-template-columns:34px repeat(24,minmax(0,1fr));gap:2px;margin-top:8px;touch-action:pan-y}.heat-grid:focus-visible{outline:2px solid var(--ledger);outline-offset:4px;border-radius:4px}.heat-grid:focus:not(:focus-visible){outline:none}.heat-row{display:contents}.heat-hour{font-size:11px;color:var(--muted);white-space:nowrap;overflow:visible}.heat-day{font-size:12px;color:var(--muted);line-height:22px}.heat-cell{height:22px;border-radius:3px}.heat-on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.heat-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:10px 0 0 34px;font-size:.75rem;color:var(--muted)}.heat-key{width:18px;height:12px;border-radius:2px}.admin-card details+.section-note,.admin-card .table-wrap+.section-note,.admin-card .heat+.section-note{margin-top:12px}.heat-tables{margin-top:8px}.todo ul{margin:0;padding-left:20px}.todo li{margin:4px 0}.todo .link-button{text-align:left}.todo-quiet .link-button{color:var(--muted);font-weight:500}.net-here{margin:4px 0 14px;padding:12px 14px;border:1px solid var(--rule);border-radius:10px;background:var(--notice-bg);color:var(--notice-ink);font-size:.9375rem}.net-here-on{background:var(--ledger-soft);color:var(--ink)}.net-form{margin-top:10px}.net-form input[type=text]{height:40px;width:min(240px,100%);padding:7px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}@media(max-width:640px){.admin{padding:20px 16px 40px}.admin-top{position:static;margin:-20px -16px 16px;padding:16px 16px 0}.admin-head{align-items:flex-start}.admin-head-tools .data-toggle button{padding:6px 10px}.admin-card{padding:16px}.heat-grid{grid-template-columns:28px repeat(24,minmax(0,1fr));gap:1px}.heat-cell,.heat-day{height:18px;line-height:18px}.heat-hour{font-size:10px}.heat-legend{margin-left:28px}}.site-alerts .alarm-summary{margin:0 0 10px;font-weight:700}.alarm-summary-ok{color:var(--ledger)}.alarm-summary-bad{color:var(--danger-dark)}.alarm-list,.alarm-changes{display:grid;gap:6px;margin:0;padding:0;list-style:none}.alarm{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0}.alarm-state{flex:none;min-width:6.5em;padding:2px 8px;border-radius:999px;font-size:.8125rem;font-weight:700;text-align:center;background:var(--ledger-soft);color:var(--ledger)}.alarm-alarm .alarm-state{background:var(--danger-soft);color:var(--danger-dark)}.alarm-insufficient_data .alarm-state{background:var(--notice-bg);color:var(--notice-ink)}.alarm-name{font-weight:600;overflow-wrap:anywhere}.alarm-since{font-size:.875rem}.alarm-sub{margin:16px 0 6px;font-size:.9375rem}.alarm-changes li{font-size:.9375rem;overflow-wrap:anywhere}
