:root{--n-0:#ffffff;--n-25:#fcfcfd;--n-50:#f8f9fb;--n-100:#f1f3f7;--n-150:#e8ebf1;--n-200:#dee2ea;--n-300:#c6ccd8;--n-400:#98a1b3;--n-500:#6b7488;--n-600:#4e5668;--n-700:#3a4152;--n-800:#242a38;--n-900:#161b26;--n-950:#0d1017;--accent-50:#eef2ff;--accent-100:#e0e7ff;--accent-200:#c7d2fe;--accent-400:#818cf8;--accent-500:#6366f1;--accent-600:#4f46e5;--accent-700:#4338ca;--ok-50:#ecfdf5;--ok-100:#d1fae5;--ok-200:#a7f3d0;--ok-500:#10b981;--ok-600:#059669;--ok-700:#047857;--warn-50:#fffbeb;--warn-100:#fef3c7;--warn-200:#fde68a;--warn-500:#f59e0b;--warn-600:#d97706;--warn-700:#b45309;--bad-50:#fef2f2;--bad-100:#fee2e2;--bad-200:#fecaca;--bad-500:#ef4444;--bad-600:#dc2626;--bad-700:#b91c1c;--info-50:#eff6ff;--info-100:#dbeafe;--info-200:#bfdbfe;--info-500:#3b82f6;--info-600:#2563eb;--info-700:#1d4ed8;--bg-canvas:var(--n-50);--bg-surface:var(--n-0);--bg-sunken:var(--n-100);--bg-hover:var(--n-100);--bg-active:var(--n-150);--text-primary:var(--n-900);--text-secondary:var(--n-600);--text-tertiary:var(--n-500);--text-inverse:var(--n-0);--border:var(--n-200);--border-strong:var(--n-300);--border-subtle:var(--n-150);--nav-bg:var(--n-950);--nav-bg-hover:#1b2130;--nav-bg-active:#232b3d;--nav-text:#9aa3b5;--nav-text-active:var(--n-0);--nav-border:#1f2534;--font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:32px;--lh-tight:1.25;--lh-normal:1.5;--lh-loose:1.65;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-full:999px;--shadow-sm:0 1px 2px rgba(13,16,23,0.05);--shadow-md:0 1px 3px rgba(13,16,23,0.08),0 1px 2px rgba(13,16,23,0.04);--shadow-lg:0 10px 24px rgba(13,16,23,0.10),0 2px 6px rgba(13,16,23,0.05);--shadow-focus:0 0 0 3px var(--accent-100);--sidebar-w:236px;--topbar-h:56px;--content-max:1440px;--transition:120ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--fw-semibold);line-height:var(--lh-tight)}ol,p,ul{margin:0}ol,ul{padding:0}a{color:var(--accent-600);text-decoration:none}a:hover{text-decoration:underline}.mono,code,pre{font-family:var(--font-mono);font-size:.925em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}code{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:1px 5px;color:var(--text-secondary)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-100)}.muted{color:var(--text-secondary)}.dim{color:var(--text-tertiary)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.strong{font-weight:var(--fw-semibold)}.nowrap{white-space:nowrap}.right{text-align:right}.grow{flex:1 1}.stack{gap:var(--s-4)}.stack,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:var(--s-2)}.stack-lg{display:flex;flex-direction:column;gap:var(--s-6)}.row-wrap{display:flex;gap:var(--s-3)}.badge-row,.row-wrap{flex-wrap:wrap;align-items:center}.badge-row{display:inline-flex;gap:var(--s-2)}.dl-page{max-width:720px;margin:0 auto;padding:var(--s-10) var(--s-5) var(--s-16);gap:var(--s-5)}.dl-head,.dl-page{display:flex;flex-direction:column}.dl-brand,.dl-head{gap:var(--s-2)}.dl-brand{display:flex;align-items:center;color:var(--accent-600)}.dl-brand .brand-name{color:var(--text-primary);font-weight:var(--fw-semibold);font-size:var(--fs-lg)}.dl-title{font-size:var(--fs-2xl);letter-spacing:-.02em;margin-top:var(--s-3)}.dl-sub-lead{color:var(--text-secondary);font-size:var(--fs-md);max-width:60ch}.dl-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-surface)}.dl-row-primary{border-color:var(--accent-200);background:var(--accent-50)}.dl-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r-md);background:var(--bg-sunken);color:var(--text-secondary)}.dl-row-primary .dl-icon{background:var(--n-0);color:var(--accent-600)}.dl-label{display:flex;align-items:center;gap:var(--s-2);font-weight:var(--fw-semibold);font-size:var(--fs-base)}.dl-sub{display:block;color:var(--text-tertiary);font-size:var(--fs-sm)}.dl-tag{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--accent-700);background:var(--accent-100);padding:1px var(--s-2);border-radius:var(--r-full)}.dl-soon{font-size:var(--fs-sm);color:var(--text-tertiary);padding:0 var(--s-2);white-space:nowrap}.dl-steps{margin:0;padding-left:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--fs-base);color:var(--text-secondary);list-style:decimal}.dl-steps code{word-break:break-all}.dl-foot{text-align:center;padding-top:var(--s-4);font-size:var(--fs-base);color:var(--text-tertiary)}.apply-page{max-width:1080px;margin:0 auto;padding:var(--s-10) var(--s-5) var(--s-16);display:flex;flex-direction:column;gap:var(--s-5)}.apply-grid{display:grid;grid-gap:var(--s-5);gap:var(--s-5);grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start}@media (max-width:900px){.apply-grid{grid-template-columns:minmax(0,1fr)}}.alert-card{border-left:3px solid var(--warn-500)}.alert-card.alert-reviewed{border-left-color:var(--border-subtle);opacity:.78}.alert-body{display:flex;gap:var(--s-4);align-items:flex-start;flex-wrap:wrap}.capture-slot{width:200px;flex:none;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-sunken)}.capture-slot img{display:block;width:100%;height:auto}.capture-empty{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-3);text-align:center}@media (max-width:720px){.capture-slot{width:100%}}.divider{height:1px;background:var(--border-subtle);border:0;margin:0}.label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-w);display:flex;flex-direction:column;background:var(--nav-bg);border-right:1px solid var(--nav-border)}.sidebar-brand{display:flex;align-items:center;gap:var(--s-3);height:var(--topbar-h);padding:0 var(--s-4);border-bottom:1px solid var(--nav-border);flex-shrink:0}.brand-mark{width:26px;height:26px;flex-shrink:0;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent-500),var(--accent-700));display:grid;place-items:center;color:#fff}.brand-text{min-width:0}.brand-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--nav-text-active);letter-spacing:-.01em;white-space:nowrap}.brand-env{font-size:10px;font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--n-500)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:var(--s-4) var(--s-3);display:flex;flex-direction:column;gap:2px}.nav-section{padding:var(--s-4) var(--s-3) var(--s-2);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--n-600)}.nav-section:first-child{padding-top:0}.nav-item{display:flex;align-items:center;gap:var(--s-3);padding:7px var(--s-3);border-radius:var(--r-md);color:var(--nav-text);font-size:var(--fs-base);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-item:hover{background:var(--nav-bg-hover);color:var(--nav-text-active);text-decoration:none}.nav-item[aria-current=page]{background:var(--nav-bg-active);color:var(--nav-text-active)}.nav-item svg{flex-shrink:0;opacity:.85}.nav-item[aria-current=page] svg{opacity:1}.nav-soon{margin-left:auto;font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--n-600);border:1px solid var(--nav-border);border-radius:var(--r-full);padding:1px 6px}.sidebar-foot{flex-shrink:0;padding:var(--s-3);border-top:1px solid var(--nav-border)}.nav-note{font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--n-600);padding:var(--s-2) var(--s-3)}.workspace{flex:1 1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-6);background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.topbar-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary)}.topbar-crumb{color:var(--text-tertiary);font-size:var(--fs-base)}.icon-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--r-md);cursor:pointer;color:var(--text-secondary)}.icon-btn:hover{background:var(--bg-hover)}.user-menu{position:relative}.user-trigger{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-1);border:1px solid transparent;background:none;border-radius:var(--r-md);cursor:pointer;transition:background var(--transition)}.user-trigger:hover{background:var(--bg-hover)}.user-trigger[aria-expanded=true]{background:var(--bg-active)}.avatar{width:26px;height:26px;flex-shrink:0;border-radius:var(--r-full);background:var(--n-800);color:var(--n-0);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em}.user-trigger-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}.user-trigger-name{font-size:var(--fs-base);font-weight:var(--fw-medium)}.user-trigger-role{font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:capitalize}.menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:210px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s-1)}.menu-head{padding:var(--s-3);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--s-1)}.menu-head-name{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.menu-head-email{font-size:var(--fs-sm);color:var(--text-tertiary);word-break:break-all}.menu-item{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border:0;background:none;border-radius:var(--r-md);font-size:var(--fs-base);text-align:left;cursor:pointer;color:var(--text-primary)}.menu-item:hover{background:var(--bg-hover)}.menu-item-danger{color:var(--bad-600)}.menu-item-danger:hover{background:var(--bad-50)}.page{flex:1 1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--s-6) var(--s-6) var(--s-16);display:flex;flex-direction:column;gap:var(--s-6)}.page-header{display:flex;align-items:flex-start;gap:var(--s-4);flex-wrap:wrap}.page-header-text{flex:1 1;min-width:240px}.page-title{font-size:var(--fs-2xl);letter-spacing:-.02em}.page-sub{margin-top:var(--s-2);color:var(--text-secondary);font-size:var(--fs-md);max-width:68ch}.page-actions{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--fs-base);color:var(--text-tertiary);margin-bottom:var(--s-2)}.back-link:hover{color:var(--text-primary);text-decoration:none}.grid{display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-main{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start}@media (max-width:1080px){.grid-main{grid-template-columns:minmax(0,1fr)}}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border-subtle)}.card-header-text{flex:1 1;min-width:0}.card-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.card-sub{margin-top:2px;font-size:var(--fs-base);color:var(--text-secondary)}.card-header-actions{display:flex;align-items:center;gap:var(--s-2);flex-shrink:0}.card-body{padding:var(--s-5)}.card-body-flush{padding:0}.card-footer{padding:var(--s-3) var(--s-5);border-top:1px solid var(--border-subtle);background:var(--n-25);font-size:var(--fs-base);color:var(--text-secondary)}.stat{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.stat-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);display:flex;align-items:center;gap:var(--s-2)}.stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:-.03em;line-height:1.1;font-feature-settings:"pnum";font-variant-numeric:proportional-nums}.stat-value-ok{color:var(--ok-600)}.stat-value-bad{color:var(--bad-600)}.stat-value-warn{color:var(--warn-600)}.stat-hint,.stat-value-dim{color:var(--text-tertiary)}.stat-hint{font-size:var(--fs-sm)}.stat-dot{width:7px;height:7px;border-radius:var(--r-full);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:0 var(--s-4);height:34px;border-radius:var(--r-md);border:1px solid transparent;font-size:var(--fs-base);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{flex-shrink:0}.btn-primary{background:var(--accent-600);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-700)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:not(:disabled):hover{background:var(--bg-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:not(:disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--bad-600);color:#fff}.btn-danger:not(:disabled):hover{background:var(--bad-700)}.btn-danger-outline{background:var(--bg-surface);color:var(--bad-600);border-color:var(--bad-200)}.btn-danger-outline:not(:disabled):hover{background:var(--bad-50);border-color:var(--bad-500)}.btn-sm{height:28px;padding:0 var(--s-3);font-size:var(--fs-sm)}.btn-lg{height:40px;padding:0 var(--s-5);font-size:var(--fs-md)}.btn-block{width:100%}.link-btn{background:none;border:0;padding:0;font-size:var(--fs-base);color:var(--accent-600);cursor:pointer;font-weight:var(--fw-medium)}.link-btn:hover{text-decoration:underline}.link-btn:disabled{color:var(--text-tertiary);cursor:not-allowed;text-decoration:none}.link-btn-danger{color:var(--bad-600)}.field{flex-direction:column;min-width:0;flex:1 1}.field,.field-label{display:flex;gap:var(--s-2)}.field-label{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-primary);align-items:baseline}.field-optional{font-weight:var(--fw-normal)}.field-hint,.field-optional{font-size:var(--fs-sm);color:var(--text-tertiary)}.field-error{font-size:var(--fs-sm);color:var(--bad-600)}.input{width:100%;height:34px;padding:0 var(--s-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-md);font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.input::placeholder{color:var(--n-400)}.input:focus{outline:none;border-color:var(--accent-500);box-shadow:var(--shadow-focus)}.input:disabled{background:var(--bg-sunken);color:var(--text-tertiary);cursor:not-allowed}.input-invalid{border-color:var(--bad-500)}.input-invalid:focus{box-shadow:0 0 0 3px var(--bad-100)}.checkbox-row{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--n-25);cursor:pointer}.checkbox-row input{margin-top:2px;width:15px;height:15px;accent-color:var(--accent-600);flex-shrink:0}.checkbox-row span{font-size:var(--fs-base);line-height:var(--lh-normal)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-full);border:1px solid;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.01em;white-space:nowrap;vertical-align:middle}.badge-cap{text-transform:capitalize}.badge:before{content:"";width:5px;height:5px;border-radius:var(--r-full);background:currentColor;flex-shrink:0}.badge-plain:before{display:none}.badge-ok{background:var(--ok-50);border-color:var(--ok-200);color:var(--ok-700)}.badge-bad{background:var(--bad-50);border-color:var(--bad-200);color:var(--bad-700)}.badge-warn{background:var(--warn-50);border-color:var(--warn-200);color:var(--warn-700)}.badge-info{background:var(--info-50);border-color:var(--info-200);color:var(--info-700)}.badge-neutral{background:var(--bg-sunken);border-color:var(--border);color:var(--text-secondary)}.badge-lg{font-size:var(--fs-sm);padding:4px 10px}.table-scroll{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table th{position:-webkit-sticky;position:sticky;top:0;text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);background:var(--n-25);border-bottom:1px solid var(--border);white-space:nowrap}.table td,.table th{padding:var(--s-3) var(--s-4)}.table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;color:var(--text-primary)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-clickable:hover{background:var(--n-25)}.table td.num,.table th.num{text-align:right;font-family:var(--font-mono);font-size:var(--fs-sm)}.table-compact td{padding:var(--s-2) var(--s-4)}.cell-primary{font-weight:var(--fw-medium)}.cell-sub{font-size:var(--fs-sm);color:var(--text-tertiary)}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-12) var(--s-6);color:var(--text-secondary)}.state-icon{width:40px;height:40px;border-radius:var(--r-lg);background:var(--bg-sunken);color:var(--text-tertiary);display:grid;place-items:center}.state-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.state-body{font-size:var(--fs-base);max-width:46ch}.state-sm{padding:var(--s-8) var(--s-4)}.state-error .state-icon{background:var(--bad-50);color:var(--bad-600)}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent-600);border-radius:var(--r-full);animation:spin .7s linear infinite}.spinner-sm{width:13px;height:13px;border-width:2px}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{background:linear-gradient(90deg,var(--n-100),var(--n-150),var(--n-100));background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--r-sm);height:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.pulse-dot,.skeleton,.spinner{animation:none}*{transition:none!important}}.callout{display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid;border-radius:var(--r-md);font-size:var(--fs-base);line-height:var(--lh-normal)}.callout-icon{flex-shrink:0;margin-top:1px}.callout-body{min-width:0}.callout-title{font-weight:var(--fw-semibold);margin-bottom:2px}.callout-ok{background:var(--ok-50);border-color:var(--ok-200);color:var(--ok-700)}.callout-bad{background:var(--bad-50);border-color:var(--bad-200);color:var(--bad-700)}.callout-warn{background:var(--warn-50);border-color:var(--warn-200);color:var(--warn-700)}.callout-info{background:var(--info-50);border-color:var(--info-200);color:var(--info-700)}.callout-neutral{background:var(--bg-sunken);border-color:var(--border);color:var(--text-secondary)}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(13,16,23,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:var(--s-6);animation:fade .12s ease-out}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:520px;max-height:calc(100vh - var(--s-12));display:flex;flex-direction:column;background:var(--bg-surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .14s cubic-bezier(.16,1,.3,1)}.modal-lg{max-width:720px}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.99)}}.modal-header{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-5) var(--s-5) var(--s-4)}.modal-header-text{flex:1 1;min-width:0}.modal-title{font-size:var(--fs-lg);letter-spacing:-.01em}.modal-sub{margin-top:var(--s-1);font-size:var(--fs-base);color:var(--text-secondary)}.modal-body{padding:0 var(--s-5) var(--s-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid var(--border-subtle);background:var(--n-25)}.modal-close{border:0;background:none;padding:var(--s-1);border-radius:var(--r-md);color:var(--text-tertiary);cursor:pointer;flex-shrink:0}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-region{position:fixed;bottom:var(--s-5);right:var(--s-5);z-index:200;display:flex;flex-direction:column;gap:var(--s-2);max-width:min(400px,calc(100vw - var(--s-8)))}.toast{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--n-900);color:var(--n-0);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);font-size:var(--fs-base);animation:toast-in .16s cubic-bezier(.16,1,.3,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-accent{width:3px;border-radius:var(--r-full);align-self:stretch;flex-shrink:0}.toast-ok .toast-accent{background:var(--ok-500)}.toast-bad .toast-accent{background:var(--bad-500)}.toast-info .toast-accent{background:var(--info-500)}.toast-body{flex:1 1;min-width:0}.toast-title{font-weight:var(--fw-semibold)}.toast-desc{color:var(--n-400);margin-top:2px;line-height:var(--lh-normal)}.toast-close{border:0;background:none;color:var(--n-500);cursor:pointer;padding:0;line-height:1;flex-shrink:0}.toast-close:hover{color:var(--n-0)}.spark{display:block;width:100%;height:auto;overflow:visible}.spark-wrap{position:relative}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--s-4);font-size:var(--fs-sm);color:var(--text-secondary)}.chart-legend-item{display:inline-flex;align-items:center;gap:6px}.chart-swatch{width:9px;height:9px;border-radius:2px;flex-shrink:0}.chart-swatch-line{width:12px;height:2px;border-radius:var(--r-full)}.cam{position:relative;width:100%;aspect-ratio:4/3;background:var(--n-900);border-radius:var(--r-lg);overflow:hidden;display:grid;place-items:center}.cam img,.cam video{width:100%;height:100%;object-fit:cover;display:block}.cam video{transform:scaleX(-1)}.cam-offline{color:var(--n-500);font-size:var(--fs-base);display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-6);text-align:center}.cam-badge{position:absolute;top:var(--s-3);left:var(--s-3);display:inline-flex;align-items:center;gap:6px;padding:3px 9px;background:rgba(13,16,23,.7);color:var(--n-0);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cam-badge,.pulse-dot{border-radius:var(--r-full)}.pulse-dot{width:6px;height:6px;background:var(--bad-500);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.cam-count{position:absolute;inset:0;display:grid;place-items:center;background:rgba(13,16,23,.5);color:var(--n-0);font-size:64px;font-weight:var(--fw-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shot-strip{display:flex;gap:var(--s-2);flex-wrap:wrap}.shot{position:relative;width:64px;aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);background:var(--bg-sunken)}.shot img{width:100%;height:100%;object-fit:cover;display:block}.shot-empty{border-style:dashed;display:grid;place-items:center;color:var(--n-400);font-size:var(--fs-sm)}.shot-drop{position:absolute;top:2px;right:2px;width:16px;height:16px;border:0;border-radius:var(--r-full);background:rgba(13,16,23,.7);color:#fff;font-size:11px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}.live-stage{position:relative;width:100%;aspect-ratio:4/3;background:var(--n-950);border-radius:var(--r-lg);overflow:hidden;display:grid;place-items:center}.live-stage video{width:100%;height:100%;object-fit:contain;display:block;background:var(--n-950)}.live-status{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-8);text-align:center;color:var(--n-400);font-size:var(--fs-base)}.live-status-title{color:var(--n-0);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.live-status-body{max-width:44ch;line-height:var(--lh-normal)}.call-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4);margin-top:var(--s-4)}@media (max-width:720px){.call-panel{grid-template-columns:minmax(0,1fr)}}.call-side{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3);flex-direction:column}.call-side,.call-side-head{display:flex;gap:var(--s-2)}.call-side-head{align-items:center;justify-content:space-between;flex-wrap:wrap}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4);align-items:start}@media (max-width:900px){.board{grid-template-columns:minmax(0,1fr)}}.board-col{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-lg);min-height:160px;display:flex;flex-direction:column;transition:background var(--transition),border-color var(--transition)}.board-col.is-drop-target{background:var(--accent-50);border-color:var(--accent-400)}.board-col-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-subtle)}.board-col-body{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);min-height:80px}.board-empty{padding:var(--s-6) var(--s-3);text-align:center;font-size:var(--fs-sm);color:var(--text-tertiary);border:1px dashed var(--border);border-radius:var(--r-md)}.ticket{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:var(--s-3);cursor:-webkit-grab;cursor:grab;transition:box-shadow var(--transition),opacity var(--transition)}.ticket:hover{box-shadow:var(--shadow-md)}.ticket.is-dragging{opacity:.4;cursor:-webkit-grabbing;cursor:grabbing}.ticket-head{display:flex;align-items:flex-start;gap:var(--s-2)}.ticket-title{border:0;background:none;padding:0;text-align:left;font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text-primary);cursor:pointer;line-height:var(--lh-normal)}.ticket-title:hover:not(:disabled){color:var(--accent-600)}.ticket-title:disabled{cursor:inherit}.ticket-snippet{margin-top:var(--s-1);line-height:var(--lh-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ticket-foot,.ticket-snippet{font-size:var(--fs-sm);color:var(--text-secondary)}.ticket-foot{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-3)}.ticket-assignee{display:inline-flex;align-items:center;gap:5px;min-width:0}.ticket-move{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--border-subtle);opacity:0;transition:opacity var(--transition)}.ticket:focus-within .ticket-move,.ticket:hover .ticket-move{opacity:1}.ticket-move-btn{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--r-sm);padding:2px 6px;font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer}.ticket-move-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.project-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4) var(--s-5);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:box-shadow var(--transition),border-color var(--transition)}.project-card:hover{text-decoration:none;box-shadow:var(--shadow-md);border-color:var(--border-strong)}.project-card-head{display:flex;align-items:center;gap:var(--s-2)}.project-card-name{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.project-card-desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-meta{display:flex;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-tertiary)}.project-card-counts{display:flex;gap:var(--s-4);font-size:var(--fs-xs);color:var(--text-tertiary)}.textarea{height:auto;padding:var(--s-3);line-height:var(--lh-normal);resize:vertical;font-family:inherit}.coverage-bar{display:flex;height:8px;border-radius:var(--r-full);overflow:hidden;background:var(--bg-sunken)}.coverage-seg{display:block;height:100%}.coverage-verified{background:var(--ok-500)}.coverage-flagged{background:var(--bad-500)}.coverage-unverified{background:var(--n-300)}.coverage-legend{display:flex;flex-wrap:wrap;gap:var(--s-4);font-size:var(--fs-sm);color:var(--text-secondary)}.coverage-key{display:inline-flex;align-items:center;gap:6px}.coverage-key .chart-swatch{border-radius:2px}.hours-row{display:flex;align-items:flex-start;gap:var(--s-4)}.hours-figure{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;font-feature-settings:"pnum";font-variant-numeric:proportional-nums;line-height:1.15}.verdict{border:1px solid;border-radius:var(--r-lg);overflow:hidden}.verdict-ok{border-color:var(--ok-200)}.verdict-bad{border-color:var(--bad-200)}.verdict-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:.02em}.verdict-ok .verdict-head{background:var(--ok-50);color:var(--ok-700)}.verdict-bad .verdict-head{background:var(--bad-50);color:var(--bad-700)}.verdict-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:1px;gap:1px;background:var(--border-subtle);border-top:1px solid var(--border-subtle)}.verdict-cell{background:var(--bg-surface);padding:var(--s-3) var(--s-4)}.verdict-cell-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.verdict-cell-value{margin-top:3px;font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-medium)}.meter{position:relative;height:6px;background:var(--bg-sunken);overflow:hidden}.meter,.meter-fill{border-radius:var(--r-full)}.meter-fill{position:absolute;inset:0 auto 0 0}.meter-fill-ok{background:var(--ok-500)}.meter-fill-bad{background:var(--bad-500)}.meter-fill-info{background:var(--info-500)}.meter-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--n-800);border-radius:var(--r-full)}.kv{flex-direction:column}.kv,.kv-row{display:flex}.kv-row{gap:var(--s-4);align-items:baseline;padding:var(--s-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--fs-base)}.kv-row:last-child{border-bottom:0}.kv-row:first-child{padding-top:0}.kv-key{color:var(--text-secondary);min-width:150px;flex-shrink:0}.kv-val{flex:1 1;min-width:0;text-align:right;word-break:break-word}.policy{font-size:var(--fs-md);line-height:var(--lh-loose);color:var(--text-secondary);max-height:560px;overflow-y:auto;padding:var(--s-4) var(--s-5);background:var(--n-25);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.policy h2,.policy h3{font-size:var(--fs-md);color:var(--text-primary);margin:var(--s-5) 0 var(--s-2)}.policy h2{font-size:var(--fs-lg)}.policy h2:first-child,.policy h3:first-child{margin-top:0}.policy p,.policy ul{margin:0 0 var(--s-3)}.policy ul{padding-left:var(--s-5);list-style:disc}.policy li{margin-bottom:var(--s-1)}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg-canvas)}@media (max-width:900px){.auth-wrap{grid-template-columns:1fr}.auth-alt{text-align:center;font-size:var(--fs-sm);color:var(--text-tertiary);margin-top:calc(var(--s-1) * -1)}.auth-aside{display:none}}.auth-panel{display:grid;place-items:center;padding:var(--s-8) var(--s-6)}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--s-5)}.auth-brand{display:flex;align-items:center;gap:var(--s-3)}.auth-brand .brand-name{color:var(--text-primary);font-size:var(--fs-lg)}.auth-title{font-size:var(--fs-xl);letter-spacing:-.02em}.auth-sub{margin-top:var(--s-1);color:var(--text-secondary);font-size:var(--fs-base)}.auth-aside{background:var(--nav-bg);color:var(--n-400);padding:var(--s-12) var(--s-10);display:flex;flex-direction:column;justify-content:center;gap:var(--s-6);border-left:1px solid var(--nav-border)}.auth-aside h2{color:var(--n-0);font-size:var(--fs-xl);letter-spacing:-.02em;max-width:22ch}.auth-points{display:flex;flex-direction:column;gap:var(--s-4);max-width:42ch}.auth-point{display:flex;gap:var(--s-3);font-size:var(--fs-base);line-height:var(--lh-normal)}.auth-point-mark{color:var(--accent-400);flex-shrink:0;margin-top:2px}.auth-point strong{color:var(--n-200);font-weight:var(--fw-semibold);display:block}.centered-note{min-height:100vh;display:grid;place-items:center;color:var(--text-tertiary);font-size:var(--fs-base)}.centered-note,.soon-grid{grid-gap:var(--s-3);gap:var(--s-3)}.soon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.soon-item{padding:var(--s-4);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--n-25)}.soon-item-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);margin-bottom:var(--s-1)}.soon-item-body{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal)}.chips{flex-wrap:wrap;gap:var(--s-1)}.chip,.chips{display:inline-flex}.chip{align-items:center;padding:1px 7px;border-radius:var(--r-sm);border:1px solid var(--border-subtle);background:var(--bg-sunken);color:var(--text-secondary);font-size:var(--fs-xs);line-height:1.6;white-space:nowrap}.chip-more{color:var(--text-tertiary);cursor:default}.row-line{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--border-subtle)}.row-line:last-child{border-bottom:0}.row-actions{display:flex;gap:var(--s-2);margin-top:var(--s-3)}.link-cell{border:0;background:none;padding:0;font:inherit;color:var(--accent-600);cursor:pointer;text-align:left}.link-cell:hover{text-decoration:underline}@media (max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .16s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-lg)}.sidebar.is-open{transform:translateX(0)}.workspace{margin-left:0}.icon-btn{display:inline-flex}.page{padding:var(--s-4) var(--s-4) var(--s-12);gap:var(--s-4)}.topbar{padding:0 var(--s-4)}.page-title{font-size:var(--fs-xl)}.kv-row{flex-direction:column;gap:var(--s-1)}.kv-val{text-align:left}}.scrim{position:fixed;inset:0;z-index:35;background:rgba(13,16,23,.4)}.shot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.shot-tile{margin:0}.shot-frame{position:relative;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--s-3);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-sunken);overflow:hidden}.shot-frame img{display:block;width:100%;height:100%;object-fit:contain}.shot-hidden{display:flex;flex-direction:column;align-items:center;gap:8px}.shot-tile figcaption{padding-top:8px}.free-text{white-space:pre-wrap;max-width:70ch;color:var(--text-secondary);margin:0}.pick-row{padding:var(--s-3);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-surface);display:flex;flex-direction:column;gap:var(--s-2)}.pick-row .row-line{padding:0;border-bottom:0}.pick-row-chosen{border-color:var(--ok-200);background:var(--ok-50)}.card-chosen{border-color:var(--ok-200);box-shadow:none}.card-chosen .card-header{background:var(--ok-50)}.usage-heading{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--s-3)}.usage-list{list-style:none;margin:0;padding:0;flex-direction:column}.usage-list,.usage-row{display:flex;gap:var(--s-3)}.usage-row{align-items:baseline}.usage-name{flex:1 1;min-width:0;overflow-wrap:anywhere;font-size:var(--fs-base)}.usage-time{color:var(--text-secondary);font-size:var(--fs-sm);white-space:nowrap}.usage-track{margin-top:var(--s-1);height:6px;background:var(--bg-sunken);overflow:hidden}.usage-bar,.usage-track{border-radius:var(--r-full)}.usage-bar{height:100%;background:var(--accent-400)}.capture-moment{border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--s-3);background:var(--bg-surface)}.capture-moment-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2) var(--s-3);margin-bottom:var(--s-3)}.auth-wrap-single{grid-template-columns:1fr}.auth-panel-wide{padding:var(--s-8) var(--s-4)}.auth-card-wide{max-width:720px}@media (max-width:760px){.auth-card-wide{max-width:100%}}.step-rail{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);list-style:none;margin:0;padding:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-block:var(--s-3)}.step-dot{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-tertiary)}.step-dot-mark{display:inline-grid;place-items:center;width:20px;height:20px;flex-shrink:0;border-radius:var(--r-full);border:1px solid var(--border);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1}.step-dot.is-current{color:var(--text-primary);font-weight:var(--fw-medium)}.step-dot.is-current .step-dot-mark{border-color:var(--accent-500);background:var(--accent-500);color:#fff}.step-dot.is-done .step-dot-mark{border-color:var(--ok-500);color:var(--ok-600)}@media (max-width:560px){.step-dot-label{display:none}.step-dot.is-current .step-dot-label{display:inline}}.reference-photo{display:block;width:100%;max-width:260px;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg-raised)}.reference-row{display:flex;flex-wrap:wrap;gap:var(--s-5);align-items:flex-start}.reference-row>.stack{flex:1 1;min-width:240px}a.btn,a.btn:hover{text-decoration:none}a.btn-primary,a.btn-primary:hover{color:#fff}a.btn-secondary,a.btn-secondary:hover{color:var(--text-primary)}.choice-card,.choice-card>.card-body{height:100%}.choice-head{display:flex;gap:var(--s-4);align-items:flex-start}.choice-mark{display:inline-grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary)}.choice-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:-.01em;margin:0 0 var(--s-1);text-wrap:balance}.choice-blurb{margin:0;color:var(--text-secondary);font-size:var(--fs-base);line-height:var(--lh-normal)}.choice-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.choice-steps li{display:flex;gap:var(--s-3);align-items:flex-start;font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-secondary)}.choice-step-n{display:inline-grid;place-items:center;width:20px;height:20px;flex-shrink:0;margin-top:1px;border-radius:var(--r-full);border:1px solid var(--border);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary)}.choice-card .btn-lg{margin-top:auto}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.segmented{display:inline-flex;gap:2px;padding:2px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.plan-card{display:flex;flex-direction:column;gap:var(--s-2);align-items:flex-start;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-surface);min-width:0}.plan-name{font-size:var(--fs-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.plan-name,.plan-price{font-weight:var(--fw-semibold)}.plan-price{font-size:var(--fs-2xl);letter-spacing:-.02em}.plan-seats{font-size:var(--fs-sm);color:var(--text-secondary)}.plan-saving{color:var(--ok-700)}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.timeline>li{padding-left:var(--s-4);border-left:2px solid var(--border)}.timeline>li:last-child{border-left-color:var(--n-400,var(--text-secondary))}