@font-face{font-family:bricolage;src:url(../media/bricolage-s.p.1jake7ccbq8_p.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:bricolage Fallback;src:local(Arial);ascent-override:91.48%;descent-override:26.56%;line-gap-override:0.0%;size-adjust:101.66%}.bricolage_1490f867-module__m7IjFa__className{font-family:bricolage,bricolage Fallback}.bricolage_1490f867-module__m7IjFa__variable{--font-bricolage:"bricolage", "bricolage Fallback"}
@font-face{font-family:inter;src:url(../media/inter-s.p.2bn3s6zvc0dyp.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_5a6f712a-module__IhsNhq__className{font-family:inter,inter Fallback}.inter_5a6f712a-module__IhsNhq__variable{--font-inter:"inter", "inter Fallback"}
:root{--paper:#f3f4f2;--paper-2:#e9ebe8;--surface:#fff;--surface-2:#f8f9f8;--ink:#15191c;--ink-2:#4b545a;--ink-3:#7b858c;--ink-4:#a9b1b6;--line:#dfe3e0;--line-2:#c9cfcb;--red:#c62f2a;--red-2:#a4241f;--red-soft:#fbeae8;--navy:#1d3557;--navy-soft:#e7ecf4;--ok:#2b8a5a;--ok-soft:#e4f3ea;--warn:#b7791f;--warn-soft:#fbf1dc;--chrome:linear-gradient(180deg, #fff 0%, #eef0ee 100%);--stripe:repeating-linear-gradient(135deg, var(--red) 0 6px, #fff 6px 12px, var(--navy) 12px 18px, #fff 18px 24px);--stripe-soft:repeating-linear-gradient(135deg, var(--ink) 0 3px, transparent 3px 7px);--radius:10px;--radius-lg:16px;--shadow:0 1px 2px #15191c0d, 0 10px 30px -18px #15191c40;--font-display:var(--font-bricolage), "Bricolage Grotesque", system-ui, sans-serif;--font-sans:var(--font-inter), Inter, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sidebar:248px}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-text-size-adjust:100%;font-size:15px;line-height:1.5}body{min-height:100dvh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}h1,h2,h3{font-family:var(--font-display);font-variation-settings:"opsz" 48, "wdth" 100;letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-size:1.9rem;font-weight:600;line-height:1.1}h2{font-size:1.25rem;font-weight:600;line-height:1.2}h3{font-size:1rem;font-weight:600}p{margin:0}:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:6px}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:.8125rem}.muted{color:var(--ink-3)}.small{font-size:.8125rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.125rem;font-weight:700;display:inline-flex}.brand-mark{background:var(--stripe);width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--ink);background-size:24px 24px;border-radius:8px;flex:none}.brand-mark.lg{background-size:34px 34px;border-radius:12px;width:44px;height:44px}.shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:18px;height:100dvh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-head{justify-content:space-between;align-items:center;padding:0 6px;display:flex}.sidebar-section{gap:2px;display:grid}.sidebar-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 6px;padding:0 10px;font-size:.6875rem;font-weight:700}.nav-item{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.9rem;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-item svg{color:var(--ink-3);flex:none}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item[aria-current=page]{background:var(--ink);color:#fff}.nav-item[aria-current=page] svg{color:#fff}.nav-item .count{background:var(--red);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:.75rem;font-weight:700}.sidebar-foot{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding:10px;display:grid}.workspace-switch{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);gap:2px;padding:10px 12px;display:grid}.workspace-switch strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.workspace-switch span{color:var(--ink-3);font-size:.75rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:10;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0}.crumbs{color:var(--ink-3);align-items:center;gap:8px;min-width:0;font-size:.875rem;display:flex}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--ink-4)}.crumbs .current{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.user-chip{color:var(--ink-2);align-items:center;gap:10px;font-size:.8125rem;display:flex}.avatar{background:var(--navy);color:#fff;letter-spacing:.02em;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.75rem;font-weight:700;display:grid}.content{width:100%;max-width:1240px;padding:28px 32px 64px}.content.narrow{max-width:880px}.mobile-nav,.mobile-only{display:none}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-head .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin-bottom:8px;font-size:.75rem;font-weight:700;display:flex}.page-head p.lede{color:var(--ink-2);max-width:60ch;margin-top:6px}.page-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.btn{border-radius:var(--radius);background:var(--ink);color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:.875rem;font-weight:600;transition:background .12s,transform 80ms,box-shadow .12s;display:inline-flex}.btn:hover{background:#2a3034}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.secondary{background:var(--chrome);color:var(--ink);border-color:var(--line-2);box-shadow:0 1px 1px #15191c0a}.btn.secondary:hover{background:var(--surface-2)}.btn.danger{background:var(--red)}.btn.danger:hover{background:var(--red-2)}.btn.ghost{color:var(--ink-2);background:0 0}.btn.ghost:hover{background:var(--paper-2);color:var(--ink)}.btn.sm{min-height:32px;padding:0 10px;font-size:.8125rem}.btn.lg{min-height:46px;padding:0 20px;font-size:.95rem}.btn.wide{width:100%}.link{color:var(--navy);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--navy) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--navy) 35%, transparent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link:hover{-webkit-text-decoration-color:var(--navy);text-decoration-color:var(--navy)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-pad{padding:22px 24px}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.card-head h2{align-items:center;gap:10px;display:flex}.card-foot{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);color:var(--ink-2);padding:14px 24px;font-size:.8125rem}.card.link-card{transition:border-color .12s,transform .12s,box-shadow .12s;display:block}.card.link-card:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:0 2px 4px #15191c0d,0 16px 36px -20px #15191c59}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.stack{gap:16px;display:grid}.stack.tight{gap:8px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.split{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.stat{gap:4px;padding:18px 20px;display:grid}.stat .label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:.75rem;font-weight:600}.stat .value{font-family:var(--font-display);font-variation-settings:"opsz" 96, "wdth" 92;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600;line-height:1}.stat .value.red{color:var(--red)}.stat .foot{color:var(--ink-3);font-size:.8125rem}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.chip .dot{background:var(--ink-4);border-radius:50%;width:7px;height:7px}.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.chip.ok .dot{background:var(--ok)}.chip.live{background:var(--red-soft);color:var(--red);border-color:#0000}.chip.live .dot{background:var(--red);animation:1.6s ease-out infinite pulse}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.chip.warn .dot{background:var(--warn)}.chip.bad{background:var(--red-soft);color:var(--red);border-color:#0000}.chip.bad .dot{background:var(--red)}.chip.navy{background:var(--navy-soft);color:var(--navy);border-color:#0000}.chip.navy .dot{background:var(--navy)}.chip.ink{background:var(--ink);color:#fff;border-color:#0000}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--red) 50%, transparent)}70%,to{box-shadow:0 0 0 7px #0000}}@media (prefers-reduced-motion:reduce){.chip.live .dot{animation:none}}.notice{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);align-items:flex-start;gap:12px;padding:12px 14px;font-size:.875rem;display:flex}.notice svg{flex:none;margin-top:1px}.notice.error{background:var(--red-soft);border-color:color-mix(in srgb, var(--red) 25%, transparent);color:var(--red-2)}.notice.ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 25%, transparent);color:var(--ok)}.notice.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent);color:#7a4f10}.notice.info{background:var(--navy-soft);border-color:color-mix(in srgb, var(--navy) 25%, transparent);color:var(--navy)}.field{gap:6px;display:grid}.field>span,.field>label{color:var(--ink-2);font-size:.8125rem;font-weight:600}.field .hint{color:var(--ink-3);font-size:.78rem;font-weight:400}.field .err{color:var(--red);font-size:.78rem;font-weight:600}.input,.select{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);width:100%;min-height:40px;padding:8px 12px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus{border-color:var(--navy);box-shadow:0 0 0 3px color-mix(in srgb, var(--navy) 18%, transparent);outline:none}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--red)}.input:disabled,.select:disabled{background:var(--surface-2);color:var(--ink-3)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.form-grid .full{grid-column:1/-1}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.choice{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;gap:4px;padding:12px 14px;transition:border-color .12s,background .12s;display:grid}.choice:hover{background:var(--surface-2)}.choice[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice strong{font-size:.9rem}.choice span{color:var(--ink-3);font-size:.78rem}.choice:disabled{opacity:.5;cursor:not-allowed}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);background:var(--surface-2);padding:10px 24px;font-size:.7rem;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 24px}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table td.primary{font-weight:600}.table-wrap{overflow-x:auto}.dl{grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:0;font-size:.875rem;display:grid}.dl dt{color:var(--ink-3)}.dl dd{overflow-wrap:anywhere;margin:0;font-weight:500}.stepper{grid-template-columns:repeat(var(--steps,5), minmax(0, 1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.stepper li{color:var(--ink-3);gap:8px;font-size:.8125rem;display:grid}.stepper .bar{background:var(--paper-2);border-radius:3px;height:6px}.stepper li.done .bar{background:var(--ink)}.stepper li.current .bar{background:var(--stripe);background-size:24px 24px}.stepper li.done,.stepper li.current{color:var(--ink)}.stepper li.current strong{color:var(--red)}.stepper strong{font-weight:600;display:block}.stepper span{font-size:.75rem;display:block}.gate-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.gate{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;display:grid}.gate .icon{background:var(--paper-2);width:28px;height:28px;color:var(--ink-3);border-radius:50%;place-items:center;display:grid}.gate.done .icon{background:var(--ok-soft);color:var(--ok)}.gate.blocked .icon{background:var(--red-soft);color:var(--red)}.gate.current .icon{background:var(--ink);color:#fff}.gate strong{font-size:.9rem;display:block}.gate p{color:var(--ink-2);font-size:.8125rem}.gate .gate-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.camera-card{overflow:hidden}.camera-thumb{aspect-ratio:16/9;background:var(--ink);color:var(--ink-4);place-items:center;font-size:.8125rem;display:grid;position:relative;overflow:hidden}.camera-thumb img{object-fit:cover;width:100%;height:100%;display:block}.camera-thumb .overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.camera-thumb .stamp{color:#fff;font-family:var(--font-mono);background:#15191cbf;border-radius:6px;padding:2px 7px;font-size:.7rem;position:absolute;bottom:8px;left:10px}.camera-thumb .placeholder{text-align:center;justify-items:center;gap:8px;padding:16px;display:grid}.camera-thumb .placeholder svg{color:var(--ink-3)}.camera-body{gap:10px;padding:14px 16px 16px;display:grid}.camera-body .title{justify-content:space-between;align-items:center;gap:10px;display:flex}.camera-body .title strong{font-size:.95rem}.camera-meta{flex-wrap:wrap;gap:6px;display:flex}.canvas{background:var(--ink);border-radius:var(--radius);line-height:0;position:relative;overflow:hidden}.canvas img{width:100%;height:auto;display:block}.canvas svg.overlay{width:100%;height:100%;position:absolute;inset:0}.canvas svg.overlay.drawing{cursor:crosshair;touch-action:manipulation}.canvas .empty{aspect-ratio:16/9;color:var(--ink-4);text-align:center;place-items:center;padding:24px;line-height:1.5;display:grid}.tabs{background:var(--paper-2);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.tabs a,.tabs button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}.tabs [aria-current=page],.tabs [aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #15191c1f}.minute-strip{background:var(--paper-2);border-radius:6px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:1px;height:36px;display:grid;overflow:hidden}.minute-strip button{cursor:pointer;background:var(--paper-2);border:0;min-width:0;padding:0}.minute-strip button.frames{background:var(--navy-soft)}.minute-strip button.person{background:var(--stripe-soft);background-color:var(--red-soft);color:var(--red)}.minute-strip button.ok-empty{background:var(--ok-soft)}.minute-strip button.active{outline:2px solid var(--ink);outline-offset:-2px}.minute-list{gap:4px;max-height:60vh;padding-right:4px;display:grid;overflow-y:auto}.minute-row{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;gap:10px;padding:8px 12px;font-size:.85rem;display:flex}.minute-row small{color:var(--ink-3)}.minute-row.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.frame-picker{flex-wrap:wrap;gap:6px;display:flex}.frame-picker button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;padding:5px 9px;font-size:.75rem}.frame-picker button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.legend{color:var(--ink-3);flex-wrap:wrap;gap:14px;font-size:.75rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:14px;height:10px;display:inline-block}.timeline-list{margin:0;padding:0;list-style:none}.timeline-list li{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:16px;padding:12px 24px;font-size:.875rem;display:grid}.timeline-list li:last-child{border-bottom:0}.timeline-list time{color:var(--ink-3);font-variant-numeric:tabular-nums}.timeline-list .who{color:var(--ink-3)}.empty{text-align:center;color:var(--ink-2);justify-items:center;gap:10px;padding:40px 24px;display:grid}.empty .icon{background:var(--paper-2);width:48px;height:48px;color:var(--ink-3);border-radius:14px;place-items:center;display:grid}.empty h3{font-size:1.05rem}.empty p{max-width:46ch;font-size:.875rem}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-art{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:40px;display:flex;position:relative;overflow:hidden}.auth-art .pole{background:var(--stripe);background-size:28px 28px;width:14px;animation:1.4s linear infinite pole;position:absolute;inset:0 auto 0 0}@keyframes pole{to{background-position:0 28px}}@media (prefers-reduced-motion:reduce){.auth-art .pole{animation:none}}.auth-art h2{letter-spacing:-.03em;font-variation-settings:"opsz" 96, "wdth" 90;max-width:14ch;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1.05}.auth-art h2 em{color:#ff9b94;font-style:normal}.auth-art .facts{color:#ffffffb8;gap:10px;max-width:40ch;font-size:.875rem;display:grid}.auth-art .facts span{align-items:flex-start;gap:10px;display:flex}.auth-form{place-items:center;padding:40px 24px;display:grid}.auth-card{gap:18px;width:min(100%,400px);display:grid}.auth-card h1{font-size:2rem}.provider-list{gap:10px;display:grid}@media (max-width:1100px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media (max-width:820px){.shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-only{display:inline-flex}.desktop-only{display:none}.mobile-nav{border-bottom:1px solid var(--line);background:var(--surface);gap:4px;padding:8px 16px;display:flex;overflow-x:auto}.mobile-nav .nav-item{white-space:nowrap;padding:6px 10px;font-size:.8125rem}.topbar,.content{padding-left:16px;padding-right:16px}.content{padding-top:20px}.page-head{flex-direction:column;align-items:stretch}.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-grid,.stepper{grid-template-columns:1fr}.stepper .bar{display:none}.stepper li{border-left:3px solid var(--paper-2);grid-template-columns:1fr;padding-left:12px}.stepper li.done{border-color:var(--ink)}.stepper li.current{border-color:var(--red)}.auth{grid-template-columns:1fr}.auth-art{min-height:260px;padding:28px 28px 28px 40px}.table th,.table td{padding-left:16px;padding-right:16px}.card-head,.card-pad,.card-foot{padding-left:18px;padding-right:18px}.timeline-list li{grid-template-columns:1fr;gap:2px;padding-left:18px;padding-right:18px}.gate{grid-template-columns:28px minmax(0,1fr)}.gate .gate-actions{grid-column:2;justify-content:flex-start}}
