@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_fcbcbf{font-family:Inter,Inter Fallback;font-style:normal}.__variable_fcbcbf{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_89caef{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_89caef{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#fcfcfc;--bg-sub:#f5f5f4;--bg-hover:#f0efec;--bg-panel:#fff;--bg-overlay:rgba(18,17,16,.4);--border:#e7e5e0;--border-strong:#d8d5cf;--divider:#eeece7;--fg:#18171a;--fg-muted:#6b6863;--fg-subtle:#9b978f;--fg-inverse:#fafaf8;--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#eef0ff;--accent-fg:#fff;--pos:#0f7a4d;--pos-soft:#e3f4eb;--neg:#b42318;--neg-soft:#fbe9e6;--warn:#b45309;--warn-soft:#fdf1dc;--info:#1d5d9b;--info-soft:#e4eef8;--shadow-sm:0 1px 2px rgba(17,16,15,.04),0 1px 1px rgba(17,16,15,.03);--shadow-md:0 2px 4px rgba(17,16,15,.04),0 8px 16px rgba(17,16,15,.06);--shadow-lg:0 8px 24px rgba(17,16,15,.08),0 24px 48px rgba(17,16,15,.1);--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--row-h:36px;--cell-py:8px;--cell-px:12px;--gap:12px;--fs-base:13px;--fs-sm:12px;--fs-xs:11px;--fs-lg:15px;--fs-xl:20px;--fs-2xl:28px;--fs-3xl:34px;--role-gaffer:#f59e0b;--role-gaffer-bg:#fef3c7;--role-key-grip:#ea580c;--role-key-grip-bg:#ffedd5;--role-best-boy:#fb923c;--role-best-boy-bg:#fff7ed;--role-programmer:#8b5cf6;--role-programmer-bg:#f3e8ff;--role-grip:#06b6d4;--role-grip-bg:#ecfeff;--role-intern:#94a3b8;--role-intern-bg:#f1f5f9}[data-theme=dark]{--bg:#111113;--bg-sub:#16161a;--bg-hover:#1d1d22;--bg-panel:#18181c;--bg-overlay:rgba(0,0,0,.6);--border:#27272c;--border-strong:#34343a;--divider:#222227;--fg:#ececed;--fg-muted:#a1a1a6;--fg-subtle:#6a6a70;--fg-inverse:#111113;--accent:#818cf8;--accent-hover:#a5aef9;--accent-soft:#242449;--accent-fg:#0b0b0e;--pos:#4ade80;--pos-soft:#103725;--neg:#f87171;--neg-soft:#3b1b1b;--warn:#fbbf24;--warn-soft:#3a2a0e;--info:#60a5fa;--info-soft:#12294a;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 2px 4px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.35);--shadow-lg:0 8px 24px rgba(0,0,0,.5),0 24px 48px rgba(0,0,0,.6)}[data-density=compact]{--row-h:30px;--cell-py:5px;--cell-px:10px;--gap:8px;--fs-base:12px;--fs-sm:11px;--fs-xs:10px;--fs-lg:14px;--fs-xl:18px;--fs-2xl:24px;--fs-3xl:30px}*{box-sizing:border-box}body,html{height:100%;margin:0}body{font-family:var(--font-inter,"Inter"),"Helvetica Neue",system-ui,-apple-system,sans-serif;font-size:var(--fs-base);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--accent-fg)}.app{display:grid;grid-template-columns:232px 1fr;min-height:100dvh}@media (min-width:961px){.app{grid-template-rows:100dvh;height:100dvh;overflow:hidden}}.sidebar{background:var(--bg-sub);border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:6px 8px 14px;font-weight:600;font-size:13px;letter-spacing:-.01em}.sidebar-logo{width:22px;height:22px;border-radius:5px;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:-.02em}.sidebar-section-label{font-size:10.5px;font-weight:500;color:var(--fg-subtle);padding:12px 8px 4px;text-transform:uppercase;letter-spacing:.06em}.nav-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);cursor:pointer;color:var(--fg-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--fg)}.nav-item.active{background:var(--bg-panel);color:var(--fg);box-shadow:var(--shadow-sm)}.nav-item .icon{width:14px;height:14px;flex-shrink:0;opacity:.85}.nav-item .count{margin-left:auto;font-size:var(--fs-xs);color:var(--fg-subtle);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav-item.active .count{color:var(--fg-muted)}.main{display:flex;flex-direction:column;min-width:0}@media (min-width:961px){.main{overflow:hidden}}.topbar{height:48px;border-bottom:1px solid var(--border);padding:0 20px;display:flex;align-items:center;gap:14px;background:var(--bg);flex-shrink:0}.topbar h1{font-size:14px;font-weight:600;margin:0;letter-spacing:-.005em}.topbar .breadcrumb{color:var(--fg-subtle);font-size:13px}.topbar .breadcrumb a{color:var(--fg-muted);cursor:pointer}.topbar .breadcrumb a:hover{color:var(--fg)}.topbar .topbar-spacer{flex:1 1}.content{flex:1 1;padding:24px 28px 80px}@media (min-width:961px){.content{overflow-y:auto}}.h-eyebrow{font-size:10.5px;font-weight:500;color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px}.h-title{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;margin:0 0 4px}.h-subtitle{color:var(--fg-muted);font-size:var(--fs-base);margin:0}.h-section{font-size:13px;font-weight:600;margin:0 0 10px;letter-spacing:-.005em}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 20px;flex-wrap:wrap}.page-header-text{flex:1 1;min-width:0}.page-header-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.page-header .h-eyebrow,.page-header .h-title{margin-bottom:4px}.page-header .h-subtitle{margin:0}.mono{font-family:var(--font-mono,"JetBrains Mono"),"SF Mono",ui-monospace,monospace}.mono,.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num{letter-spacing:-.005em}.num.pos{color:var(--pos)}.num.neg{color:var(--neg)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--fg);font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background 80ms,border-color 80ms}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover{background:#2a2a2e}[data-theme=dark] .btn.primary{background:var(--fg);color:var(--bg)}[data-theme=dark] .btn.primary:hover{background:#dcdce0}.btn.accent{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bg-hover)}.btn.danger{color:var(--neg);border-color:var(--neg-soft)}.btn.danger:hover{background:var(--neg-soft)}.btn.sm{height:26px;padding:0 8px;font-size:12px}.btn.xs{height:22px;padding:0 7px;font-size:11px;border-radius:var(--radius-sm)}.btn.lg{height:34px;padding:0 14px;font-size:13.5px}.btn.btn-icon{width:30px;padding:0;justify-content:center}.btn .kbd{color:var(--fg-subtle);margin-left:4px;font-family:var(--font-mono,"JetBrains Mono"),ui-monospace,monospace;font-size:10.5px}.btn-link{background:transparent;border:0;padding:0;color:var(--fg-muted);font:inherit;cursor:pointer;text-decoration:none}.btn-link:hover{color:var(--neg);text-decoration:underline}.btn.btn-ghost-row{background:transparent;border:1px dashed var(--border-strong);color:var(--fg-muted);height:32px;font-size:12.5px;justify-content:center}.btn.btn-ghost-row:hover{background:var(--bg-hover);color:var(--fg);border-style:solid}.filter-chip{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 7px;border-radius:10px;border:1px solid var(--border);background:var(--bg-sub);color:var(--fg-muted);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap}.filter-chip:hover{background:var(--bg-hover);color:var(--fg)}.filter-chip.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.icon-btn{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius);border:1px solid transparent;color:var(--fg-muted)}.icon-btn:hover{background:var(--bg-hover);color:var(--fg)}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md)}.panel-pad{padding:16px 18px}.panel-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:10px 14px;border-bottom:1px solid var(--divider);color:var(--fg)}.panel-title .ico{opacity:.6}.panel-title .ico,svg.ico{width:14px;height:14px;flex:0 0 14px}.panel-title .count{margin-left:auto;color:var(--fg-subtle);font-weight:400;font-size:var(--fs-xs)}.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:10px;font-size:11px;font-weight:500;background:var(--bg-sub);color:var(--fg-muted);border:1px solid var(--border);white-space:nowrap}.tag.tag-pos{color:var(--pos);background:var(--pos-soft);border-color:transparent}.tag.tag-neg{color:var(--neg);background:var(--neg-soft);border-color:transparent}.tag.tag-warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.badge,.tag.tag-default{color:var(--fg-muted);background:var(--bg-sub)}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:10px;font-size:11px;font-weight:500;border:1px solid var(--border);white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.pos{color:var(--pos);background:var(--pos-soft)}.badge.neg,.badge.pos{border-color:transparent}.badge.neg{color:var(--neg);background:var(--neg-soft)}.badge.warn{color:var(--warn);background:var(--warn-soft)}.badge.info,.badge.warn{border-color:transparent}.badge.info{color:var(--info);background:var(--info-soft)}.badge.accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.badge.neutral{color:var(--fg-muted);background:var(--bg-sub)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table th{text-align:left;font-weight:500;font-size:var(--fs-xs);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--bg);position:-webkit-sticky;position:sticky;top:0}.table td,.table th{padding:var(--cell-py) var(--cell-px)}.table td{border-bottom:1px solid var(--divider);vertical-align:middle;height:var(--row-h)}.table tr:hover td{background:var(--bg-sub)}.table tr.selectable{cursor:pointer}.table .mono,.table .num{text-align:right}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.input,.table-wrap,.table-wrap .table th{background:var(--bg-panel)}.input{height:30px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--fg);font-size:12.5px;outline:none;min-width:0;max-width:100%}.grid-2>*>.input,.grid-2>*>.select,.grid-3>*>.input,.grid-3>*>.select,.grid-4>*>.input,.grid-4>*>.select{width:100%}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input.search{background:var(--bg-sub);border-color:transparent;padding-left:28px}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--fg-subtle);pointer-events:none}.select{height:30px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);font-size:12.5px;color:var(--fg);cursor:pointer;min-width:0;max-width:100%}textarea.input{min-height:72px;padding:8px 10px;resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>.input,.field>.select,.field>textarea.input{width:100%}.label{font-size:11.5px;font-weight:500;color:var(--fg-muted);letter-spacing:.02em}.field-error{font-size:11.5px;color:var(--neg);margin-top:2px}.input.input-error,.select.input-error,textarea.input-error{border-color:var(--neg)}.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);position:relative;overflow:hidden}.kpi-label{font-size:11.5px;color:var(--fg-muted);font-weight:500}.kpi-value{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.025em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-value.pos{color:var(--pos)}.kpi-value.neg{color:var(--neg)}.kpi-sub{font-size:11.5px;color:var(--fg-subtle);margin-top:2px}.kpi-accent-strip{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.kpi.pos .kpi-accent-strip{background:var(--pos)}.kpi.neg .kpi-accent-strip{background:var(--neg)}.kpi.warn .kpi-accent-strip{background:var(--warn)}.kpi-card{padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.kpi-card.kpi-pos:before{background:var(--pos)}.kpi-card.kpi-neg:before{background:var(--neg)}.kpi-card.kpi-warn:before{background:var(--warn)}.kpi-card .kpi-label{font-size:11.5px;color:var(--fg-muted);font-weight:500}.kpi-card .kpi-value{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.025em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-card .kpi-sub{font-size:11.5px;color:var(--fg-subtle);margin-top:2px}.segmented{display:inline-flex;background:var(--bg-sub);border:1px solid var(--border);border-radius:var(--radius);padding:2px}.segmented button{background:transparent;border:0;padding:4px 10px;font-size:11.5px;color:var(--fg-muted);cursor:pointer;border-radius:4px}.segmented button.on{background:var(--bg-panel);color:var(--fg);box-shadow:var(--shadow-sm)}.overlay{position:fixed;inset:0;background:var(--bg-overlay);display:grid;place-items:center;z-index:50;animation:fadein .12s ease-out}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes slidein{0%{opacity:0;transform:translateY(6px) scale(.995)}to{opacity:1;transform:none}}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;width:min(640px,90vw);overflow:hidden;display:flex;flex-direction:column;animation:slidein .16s ease-out}.modal.wide{width:min(880px,94vw)}.modal-head{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--divider);gap:10px}.modal-head h3{margin:0;font-size:14px;font-weight:600}.modal-body{padding:18px;overflow-y:auto;flex:1 1}.modal-foot{padding:12px 16px;border-top:1px solid var(--divider);display:flex;justify-content:flex-end;gap:8px;background:var(--bg)}.avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:600;letter-spacing:-.01em;color:var(--fg-inverse);background:#64748b;flex-shrink:0}.avatar.sm{width:18px;height:18px;font-size:9.5px}.avatar.lg{width:32px;height:32px;font-size:12px}.person{display:inline-flex;align-items:center;gap:7px;color:var(--fg)}.person .name{font-size:12.5px}.row,.row-between{display:flex;align-items:center;gap:var(--gap)}.row-between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:var(--gap)}.grid-2{grid-template-columns:1fr 1fr;grid-gap:var(--gap)}.grid-2,.grid-3{display:grid;gap:var(--gap)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--gap)}.grid-4{grid-template-columns:repeat(4,1fr);grid-gap:var(--gap)}.grid-4,.grid-5{display:grid;gap:var(--gap)}.grid-5{grid-template-columns:repeat(5,1fr);grid-gap:var(--gap)}.stretch{flex:1 1}.muted{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:var(--warn)}.center{text-align:center}.right{text-align:right}.nowrap{white-space:nowrap}.empty{padding:40px 20px;text-align:center;color:var(--fg-muted)}.empty .t{font-weight:500;color:var(--fg);margin-bottom:4px}.flash-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:500;z-index:100;box-shadow:var(--shadow-lg);animation:slidein .16s ease-out}.flash-toast.flash-pos{background:var(--pos);color:#fff}.flash-toast.flash-neg{background:var(--neg);color:#fff}.copied-flash{bottom:24px;left:50%;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:500;z-index:100;animation:slidein .16s ease-out}.copied-flash,.tweaks-panel{position:fixed;box-shadow:var(--shadow-lg)}.tweaks-panel{right:20px;bottom:20px;width:260px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:40;padding:14px;font-size:12px;display:flex;flex-direction:column;gap:10px}.tweaks-panel h4{margin:0 0 4px;font-size:12px}.tweaks-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.tweaks-group{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tweaks-group button{background:transparent;border:0;padding:5px 8px;cursor:pointer;color:var(--fg-muted);font-size:11.5px}.tweaks-group button.on{background:var(--bg-hover);color:var(--fg)}.content::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{width:10px;height:10px}.content::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid transparent;background-clip:padding-box}.content::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track{background:transparent}.src{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--fg-muted);padding:1px 6px;background:var(--bg-sub);border-radius:4px;border:1px solid var(--border)}.src.proj{color:var(--accent);background:var(--accent-soft)}.src.free,.src.proj{border-color:transparent}.src.free{color:var(--info);background:var(--info-soft)}.src.personal{color:var(--warn);background:var(--warn-soft);border-color:transparent}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:8px 12px;font-size:12.5px;color:var(--fg-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.tab.active,.tab:hover{color:var(--fg)}.tab.active{border-bottom-color:var(--fg)}.tab .count{color:var(--fg-subtle);font-size:11px}.balance-bars{display:flex;flex-direction:column;gap:8px}.bar-row{display:flex;align-items:center;gap:10px}.bar-label{font-size:11.5px;color:var(--fg-muted);width:80px;flex-shrink:0}.bar{flex:1 1;height:8px;background:var(--bg-sub);border-radius:4px;overflow:hidden;border:1px solid var(--border);min-width:60px}.bar-filled{height:100%;border-radius:4px;transition:width .3s ease}.bar-filled.pos{background:var(--pos)}.bar-filled.neg{background:var(--neg)}.bar-nums{font-size:11.5px;color:var(--fg-muted);width:120px;text-align:right;flex-shrink:0}:root{--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}html{text-size-adjust:100%}body,html{touch-action:pan-x pan-y}button,input,select,textarea{touch-action:manipulation}.m-bottombar,.m-burger,.m-scrim,.m-title{display:none}@media (max-width:960px){.grid-5{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:880px){.hide-sm{display:none!important}.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{position:fixed;top:0;bottom:0;left:0;width:84vw;max-width:300px;z-index:60;transform:translateX(-100%);transition:transform .22s cubic-bezier(.2,.7,.2,1);box-shadow:var(--shadow-lg);padding-top:calc(12px + var(--safe-t));padding-bottom:calc(12px + var(--safe-b))}.sidebar.open{transform:translateX(0)}.m-scrim{display:block;position:fixed;inset:0;background:var(--bg-overlay);z-index:55;opacity:0;pointer-events:none;transition:opacity .18s ease}.m-scrim.on{opacity:1;pointer-events:auto}.topbar{padding:0 10px;padding-top:var(--safe-t);gap:8px;height:calc(52px + var(--safe-t))}.topbar .breadcrumb{display:none}.m-burger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--fg);cursor:pointer;padding:0}.m-burger:active{background:var(--bg-hover)}.m-title{display:inline-block;font-size:15px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.topbar .muted{display:none}.content{padding:14px 12px;padding-bottom:calc(80px + var(--safe-b))}.h-title{font-size:22px}.h-subtitle{font-size:12.5px}.kpi-card .kpi-value,.kpi-value{font-size:22px}.panel-pad{padding:14px}.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}.panel>.table,.panel>div>.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:640px}.table td,.table th{padding:10px}.panel{max-width:100%;overflow-x:auto}.table[data-mobile=cards]{min-width:0;display:block;overflow-x:visible}.table[data-mobile=cards] tfoot,.table[data-mobile=cards] thead{display:none}.table[data-mobile=cards] tbody{display:flex;flex-direction:column;gap:8px}.table[data-mobile=cards] tr{display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;gap:6px;box-shadow:var(--shadow-sm)}.table[data-mobile=cards] td{display:flex;align-items:center;gap:8px;padding:0;border:none;font-size:var(--fs-sm)}.table[data-mobile=cards] td:before{content:attr(data-label);font-size:var(--fs-xs);color:var(--fg-subtle);width:80px;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.panel>.table[data-mobile=cards],.panel>div>.table[data-mobile=cards]{overflow-x:visible}.btn,.input,.select{min-height:40px;font-size:14px}.btn{padding:8px 14px}.btn.lg,.btn.primary{min-height:44px}textarea.input{min-height:80px}.segmented{flex-wrap:wrap;padding:3px}.segmented button{padding:7px 12px;font-size:12.5px;min-height:32px}.modal{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0;inset:0;display:flex;flex-direction:column}.modal-body{flex:1 1;overflow-y:auto;padding:14px}.modal-head{padding:calc(12px + var(--safe-t)) 14px 12px;top:0}.modal-foot,.modal-head{position:-webkit-sticky;position:sticky;background:var(--bg-panel);z-index:2}.modal-foot{padding:12px 14px calc(12px + var(--safe-b))}.m-bottombar,.modal-foot{bottom:0;border-top:1px solid var(--border)}.m-bottombar{display:flex;position:fixed;left:0;right:0;background:var(--bg-panel);padding:6px 4px calc(6px + var(--safe-b));z-index:40;box-shadow:0 -2px 12px rgba(0,0,0,.04)}.m-bottombar>button{flex:1 1;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;color:var(--fg-muted);font-size:10.5px;cursor:pointer;border-radius:6px;min-height:48px}.m-bottombar>button>span:first-child,.m-bottombar>button>svg{height:20px;display:inline-flex;align-items:center;justify-content:center}.m-bottombar>button.on{color:var(--accent)}.m-bottombar>button svg{width:20px;height:20px}.m-bottombar>button .b-count{position:absolute;margin-left:14px;margin-top:-14px;background:var(--neg);color:#fff;border-radius:999px;font-size:9px;font-weight:600;min-width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.tweaks-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;border-radius:16px 16px 0 0;z-index:70;padding-bottom:calc(16px + var(--safe-b))}.copied-flash,.flash-toast{bottom:calc(80px + var(--safe-b))}}@media (max-width:430px){.h-title,.kpi-card .kpi-value,.kpi-value{font-size:20px}.panel-pad{padding:12px}.content{padding:12px 10px;padding-bottom:calc(80px + var(--safe-b))}.m-title{max-width:62vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--gap);gap:var(--gap);margin-bottom:var(--gap)}@media (max-width:880px){.kpi-row{grid-template-columns:repeat(2,1fr)}}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap);gap:var(--gap);align-items:start}@media (max-width:880px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-col{display:flex;flex-direction:column;gap:var(--gap)}.overdue-row{display:grid;grid-template-columns:1fr auto 6rem 5rem 7rem;align-items:center;grid-gap:8px;gap:8px;padding:8px 14px;border-bottom:1px solid var(--divider);font-size:var(--fs-sm)}.overdue-row:last-child{border-bottom:0}.upcoming-row{display:grid;grid-template-columns:6rem 1fr auto auto 7rem;align-items:center;grid-gap:8px;gap:8px;padding:8px 14px;border-bottom:1px solid var(--divider);font-size:var(--fs-sm)}.upcoming-row:last-child{border-bottom:0}.risk-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 14px;border-bottom:1px solid var(--divider);font-size:var(--fs-sm)}.risk-row:last-child{border-bottom:0}.contacts-selection-bar{display:none}.contacts-search-row{display:flex;gap:8px;align-items:center}.contacts-search-input{flex:1 1;height:40px;padding:0 14px 0 38px;border-radius:100px;border:1px solid var(--border);background:var(--bg-panel);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23999' stroke-width='2'><circle cx='7' cy='7' r='5'/><line x1='14' y1='14' x2='11' y2='11'/></svg>");background-repeat:no-repeat;background-position:14px;background-size:16px;font:inherit;font-size:14px;color:var(--fg)}.contacts-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.contacts-toolbar{align-items:center}.contacts-segmented-desktop{display:block}.contacts-toolbar-right{display:flex;gap:8px;align-items:center;margin-left:auto}.icon-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.icon-btn:active{background:var(--bg-hover)}.contacts-mobile-list{display:none}.contacts-desktop-list{display:block}.contacts-row{display:grid;grid-template-columns:36px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--divider);cursor:pointer;background:var(--bg-panel);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.contacts-row:last-child{border-bottom:none}.contacts-row:active{background:var(--bg-hover)}.contacts-row.with-checkbox{grid-template-columns:28px 36px 1fr auto}.contacts-row.selected{background:var(--accent-soft)}.contacts-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);background:var(--bg-panel);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.contacts-row.selected .contacts-checkbox{background:var(--accent);border-color:var(--accent)}.contacts-row.selected .contacts-checkbox:after{content:"✓";color:#fff;font-size:12px;font-weight:700;line-height:1}.contacts-av{flex-shrink:0;width:32px;height:32px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.contacts-info{min-width:0}.contacts-name{display:flex;align-items:center;gap:8px;min-width:0}.contacts-name-text{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contacts-role-pill{font-size:10px;font-weight:600;padding:2px 7px;border-radius:100px;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.contacts-role-pill.production{background:var(--pos-soft);color:var(--pos)}.contacts-role-pill.crew{background:var(--warn-soft);color:var(--warn)}.contacts-role-pill.rental{background:var(--neg-soft);color:var(--neg)}.contacts-role-pill.other{background:var(--bg-sub);color:var(--fg-muted)}.contacts-sub{font-size:12px;color:var(--fg-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contacts-right{text-align:right;flex-shrink:0}.contacts-debt{font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.contacts-debt.out{color:var(--neg)}.contacts-debt.in{color:var(--pos)}.contacts-debt-label{font-size:10px;color:var(--fg-muted);margin-top:1px;text-transform:lowercase}.contacts-debt-label.muted-zero{color:var(--fg-subtle)}.contacts-action-bar,.contacts-fab{display:none}.contacts-chips-mobile{display:none;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none;flex:1 1}.contacts-chips-mobile::-webkit-scrollbar{display:none}.contacts-chips-mobile .chip{padding:7px 12px;border:1px solid var(--border);border-radius:100px;color:var(--fg-muted);background:var(--bg-panel);cursor:pointer;flex-shrink:0;font:inherit;font-size:12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.contacts-chips-mobile .chip.on{background:var(--fg);color:#fff;border-color:var(--fg);font-weight:500}.contacts-chips-mobile .chip-icon{font-size:14px;line-height:1}@media (max-width:640px){.contacts-mobile-list{display:block;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.contacts-desktop-list,.contacts-segmented-desktop{display:none}.contacts-chips-mobile{display:flex}.contacts-new-desktop{display:none}.contacts-selection-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--accent);color:#fff;margin:-14px -12px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:11}.contacts-selection-bar .icon-btn{border-color:hsla(0,0%,100%,.35);color:#fff;background:transparent}.contacts-selection-bar .icon-btn:active{background:hsla(0,0%,100%,.15)}.contacts-selection-count{font-size:15px;font-weight:600}.contacts-selection-bar .icon-btn:last-child{margin-left:auto}.contacts-fab{display:inline-flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:calc(80px + env(safe-area-inset-bottom, 0px));width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(79,70,229,.35),0 2px 4px rgba(0,0,0,.06);z-index:30;-webkit-tap-highlight-color:transparent}.contacts-fab:active{transform:scale(.95)}.contacts-action-bar{display:flex;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom, 0px));background:var(--bg-panel);border-top:1px solid var(--border);box-shadow:0 -4px 12px rgba(0,0,0,.06);padding:12px;gap:8px;z-index:30}.contacts-action-bar .btn{flex:1 1;height:48px;border-radius:8px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.contacts-action-bar .btn-cancel{border:1px solid var(--border);background:var(--bg-panel);color:var(--fg)}.contacts-action-bar .btn-danger{background:var(--neg);color:#fff;border:none;flex:2 1}.contacts-toolbar-right .icon-btn{width:36px;height:36px}}.oblig-root{padding:16px}.oblig-hero{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:16px}.oblig-tab{border:2px solid transparent;border-radius:12px;padding:14px 18px;text-align:left;cursor:pointer;font:inherit;background:var(--bg-panel);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;transition:border-color .15s}.oblig-tab:hover:not(.active){background:var(--bg-sub)}.oblig-tab.active{border-color:var(--fg)}.oblig-tab-row{display:flex;align-items:center;gap:8px}.oblig-tab-ic{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.oblig-tab.out .oblig-tab-ic{background:var(--neg-soft);color:var(--neg)}.oblig-tab.in .oblig-tab-ic{background:var(--pos-soft);color:var(--pos)}.oblig-tab-label{font-size:12px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.oblig-tab-v{font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.oblig-tab.out .oblig-tab-v{color:var(--neg)}.oblig-tab.in .oblig-tab-v{color:var(--pos)}.oblig-tab-meta{font-size:12px;color:var(--fg-muted)}.oblig-overdue{color:var(--neg);font-weight:600}.oblig-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.oblig-search{flex:1 1;min-width:200px;height:36px}.oblig-chips{display:flex;gap:6px;flex-wrap:wrap}.oblig-chips .chip{padding:7px 12px;border:1px solid var(--border);border-radius:100px;font-size:12px;color:var(--fg-muted);background:var(--bg-panel);cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.oblig-chips .chip.on{background:var(--fg);color:#fff;border-color:var(--fg);font-weight:500}.oblig-chips .chip .count{color:var(--fg-subtle);font-size:11px}.oblig-chips .chip.on .count{color:hsla(0,0%,100%,.6)}.oblig-sort{display:flex;gap:8px;align-items:center;margin-left:auto}.oblig-list{border:1px solid var(--border);border-radius:10px;overflow:hidden}.cp-row,.oblig-list{background:var(--bg-panel)}.cp-row{display:grid;grid-template-columns:48px 1fr auto 24px;grid-gap:14px;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--divider);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cp-row:last-of-type{border-bottom:none}.cp-row:hover{background:var(--bg-sub)}.cp-row.expanded{background:var(--accent-soft)}.cp-av{width:40px;height:40px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.cp-info{min-width:0}.cp-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-role{font-size:12px;color:var(--fg-muted);margin-top:2px}.cp-role.role-best_boy,.cp-role.role-gaffer{color:var(--role-gaffer);font-weight:500}.cp-role.role-grip,.cp-role.role-key_grip{color:var(--role-grip);font-weight:500}.cp-role.role-rental{color:var(--neg);font-weight:500}.cp-role.role-client,.cp-role.role-producer,.cp-role.role-production{color:var(--pos);font-weight:500}.cp-totals{text-align:right}.cp-amount{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.cp-amount.out{color:var(--neg)}.cp-amount.in{color:var(--pos)}.cp-meta{font-size:11px;color:var(--fg-muted);margin-top:2px}.cp-meta .urgent{color:var(--neg);font-weight:600}.cp-chev{color:var(--fg-subtle);font-size:14px;transition:transform .2s;text-align:center}.cp-row.expanded .cp-chev{transform:rotate(90deg);color:var(--accent)}.cp-breakdown{background:var(--bg-sub);border-bottom:1px solid var(--divider)}.cp-proj-row{display:grid;grid-template-columns:12px 1fr auto auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 16px 10px 70px;font-size:13px;cursor:pointer}.cp-proj-row:hover{background:var(--bg-hover)}.cp-proj-row .dot{width:6px;height:6px;border-radius:50%;background:var(--fg-subtle)}.cp-proj-row .dot.overdue{background:var(--neg)}.cp-proj-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-proj-link{color:var(--fg);text-decoration:none;font-weight:500}.cp-proj-link:hover{text-decoration:underline}.cp-proj-due{color:var(--fg-muted);font-weight:400;font-size:12px;margin-left:6px}.cp-proj-due.overdue{color:var(--neg);font-weight:500}.cp-proj-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.cp-proj-amount.outgoing{color:var(--neg)}.cp-proj-amount.incoming{color:var(--pos)}.oblig-empty{padding:48px 16px;text-align:center;color:var(--fg-muted);font-size:14px}.oblig-empty-icon{font-size:32px;color:var(--pos);margin-bottom:8px}@media (max-width:640px){.oblig-root{padding:12px}.oblig-hero{grid-template-columns:1fr 1fr;gap:6px}.oblig-tab{padding:12px}.oblig-tab-v{font-size:18px}.oblig-tab-meta{font-size:11px}.oblig-filters{flex-direction:column;align-items:stretch;gap:8px}.oblig-search{width:100%;min-width:0}.oblig-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.oblig-chips::-webkit-scrollbar{display:none}.oblig-sort{margin-left:0}.cp-row{grid-template-columns:36px 1fr auto;gap:10px;padding:12px}.cp-av{width:32px;height:32px;font-size:11px}.cp-chev{display:none}.cp-name{font-size:14px}.cp-amount{font-size:16px}.cp-meta{font-size:11px}.cp-proj-row{grid-template-columns:6px 1fr auto;gap:8px;padding:10px 12px 10px 54px}.cp-proj-btn{display:none}}.bsheet-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:bsheet-fade-in .2s ease}.bsheet{width:100%;max-width:480px;background:var(--bg-panel);border-radius:16px 16px 0 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:85dvh;animation:bsheet-slide-up .24s cubic-bezier(.22,1,.36,1)}.bsheet-handle{width:36px;height:4px;background:var(--border-strong);border-radius:100px;margin:8px auto 0;flex-shrink:0}.bsheet-head{display:flex;align-items:flex-start;gap:12px;padding:12px 16px 8px;flex-shrink:0}.bsheet-title-wrap{flex:1 1;min-width:0}.bsheet-title{margin:0;font-size:17px;font-weight:600;line-height:1.3}.bsheet-subtitle{font-size:12px;color:var(--fg-muted);margin-top:2px}.bsheet-close{width:32px;height:32px;border:0;background:var(--bg-sub);border-radius:50%;font-size:20px;line-height:1;color:var(--fg-muted);cursor:pointer;flex-shrink:0}.bsheet-close:active{background:var(--bg-hover)}.bsheet-body{flex:1 1;overflow-y:auto;padding:8px 16px 16px;-webkit-overflow-scrolling:touch}.bsheet-foot{flex-shrink:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--border);display:flex;gap:8px}.bsheet-foot .btn{flex:1 1;height:44px;font-size:14px;font-weight:600}@keyframes bsheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bsheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width:641px){.bsheet-overlay{align-items:center}.bsheet{border-radius:16px;max-width:480px;max-height:80vh;margin:0 16px}.bsheet-handle{display:none}}.seg-mode{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));grid-gap:0;gap:0;background:var(--bg-sub);border-radius:8px;padding:3px}.seg-mode>button{padding:10px 8px;background:transparent;border:0;border-radius:6px;font:inherit;font-size:13px;cursor:pointer;color:var(--fg-muted)}.seg-mode>button.on{background:var(--bg-panel);color:var(--fg);font-weight:600;box-shadow:var(--shadow-sm)}.show-on-mobile{display:none}@media (max-width:640px){.hide-on-mobile{display:none!important}.show-on-mobile,.wizard-actions{display:flex!important}.wizard-actions{position:fixed;left:0;right:0;bottom:calc(64px + var(--safe-b));margin:0;padding:10px 12px 12px;background:var(--bg-panel);border-top:1px solid var(--border);box-shadow:0 -4px 12px rgba(0,0,0,.06);z-index:30;flex-direction:column;gap:8px}.wizard-actions-margin{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 0}.wizard-actions-margin-label{font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.wizard-actions-margin-value{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.wizard-actions-buttons{flex-wrap:nowrap!important;gap:8px!important}.wizard-actions .btn{flex:1 1;height:48px!important;font-size:15px;font-weight:600}.wizard-actions .btn.primary{flex:2 1}.content:has(.wizard-actions){padding-bottom:calc(170px + var(--safe-b))!important}}.crew-inline-row{display:flex;align-items:center;gap:8px;padding:10px 12px}.crew-inline-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.crew-inline-info{flex:1 1;min-width:0}.crew-row-mobile-menu{display:none;width:32px;height:32px;background:transparent;border:0;border-radius:6px;cursor:pointer;font-size:16px;line-height:1;color:var(--fg-subtle)}.crew-row-mobile-menu:active{background:var(--bg-hover)}@media (max-width:640px){.crew-inline-row{display:grid;grid-template-columns:36px 1fr auto auto;grid-template-rows:auto;grid-column-gap:8px;column-gap:8px;grid-row-gap:0;row-gap:0;padding:10px 12px;align-items:center}.crew-inline-avatar{grid-column:1;grid-row:1}.crew-inline-info{grid-column:2;grid-row:1}.crew-inline-info>div:first-child{font-size:13px!important}.crew-inline-info>div:last-child{font-size:11px!important;white-space:nowrap}.crew-inline-hours{grid-column:3;grid-row:1;justify-self:end}.crew-inline-hours input{width:48px!important;height:32px;padding:0 4px}.crew-inline-pay,.crew-inline-tail{display:none}.crew-row-mobile-menu{display:inline-flex;align-items:center;justify-content:center;grid-column:4;grid-row:1}}.shoot-day-header{display:flex;align-items:center;gap:8px;padding:10px 12px}.shoot-day-drag{flex-shrink:0;width:32px;display:inline-flex;justify-content:center;cursor:-webkit-grab;cursor:grab;color:var(--fg-subtle);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:14px}.shoot-day-title{flex:1 1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.shoot-day-hours{flex-shrink:0;display:flex;align-items:center;gap:4px}.shoot-day-hours-pill{display:none;align-items:baseline;gap:2px;padding:6px 12px;border:1px solid var(--border);border-radius:100px;background:var(--bg-panel);cursor:pointer;font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shoot-day-hours-pill .hpv{font-weight:700;font-size:14px}.shoot-day-hours-pill .hph{color:var(--fg-muted);font-size:11px;font-weight:500}.shoot-day-hours-pill:active{background:var(--bg-hover)}.shoot-day-total{font-size:12px;flex-shrink:0;min-width:90px;text-align:right}.shoot-day-actions{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:130px}@media (max-width:640px){.shoot-day-header{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;grid-gap:6px 8px;gap:6px 8px;padding:10px 12px;align-items:center}.shoot-day-drag{grid-row:1/3;align-self:center}.shoot-day-title{grid-column:2/4;grid-row:1;flex-wrap:wrap;line-height:1.3}.shoot-day-hours{grid-column:2;grid-row:2}.shoot-day-hours-input{display:none}.shoot-day-hours-pill{display:inline-flex}.shoot-day-total{grid-column:3;grid-row:2;min-width:0;font-size:13px;font-weight:600}.shoot-day-actions{grid-column:3;grid-row:1;min-width:0;gap:4px}}.projects-hero{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-panel);box-shadow:var(--shadow-sm)}.projects-hero-cell{padding:16px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.projects-hero-cell:last-child{border-right:none}.projects-hero-in{background:linear-gradient(180deg,var(--pos-soft) 0,transparent 100%)}.projects-hero-out{background:linear-gradient(180deg,var(--neg-soft) 0,transparent 100%)}.projects-hero-label{font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.projects-hero-value{font-size:24px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.projects-hero-in .projects-hero-value{color:var(--pos)}.projects-hero-out .projects-hero-value{color:var(--neg)}.projects-hero-meta{color:var(--fg-muted);font-size:12px}.projects-hero-net{padding:16px 20px;display:flex;flex-direction:column;gap:4px;background:linear-gradient(180deg,var(--bg-sub) 0,transparent 100%)}.projects-hero-net>span:first-child{font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.projects-hero-net>span:last-child{font-size:24px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.projects-hero-net .pos-val{color:var(--pos)}.projects-hero-net .neg-val{color:var(--neg)}.projects-filterbar-desktop{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.projects-filterbar-mobile,.projects-search-panel{display:none}.projects-client-select,.projects-search-input{height:32px;padding:0 8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-panel);color:var(--fg);font:inherit;font-size:14px}.projects-client-select,.projects-search-input{min-width:160px}.projects-mobile-only{display:none}.projects-desktop-only{display:block}.projects-tfoot-cell{padding:12px;border-top:1px solid var(--border-strong);background:var(--bg-sub);font-weight:700;font-size:13px}.projects-tfoot-amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.projects-hero{grid-template-columns:1fr 1fr;background:linear-gradient(120deg,var(--pos-soft) 0,var(--bg-panel) 35%,var(--bg-panel) 65%,var(--neg-soft) 100%)}.projects-hero-cell{background:transparent;padding:14px 14px 8px;border-right:none}.projects-hero-in{border-right:1px solid var(--border)}.projects-hero-value{font-size:20px}.projects-hero-meta{font-size:11px}.projects-hero-net{grid-column:1/-1;flex-direction:row!important;justify-content:space-between;align-items:center;padding:8px 14px;border-top:1px solid var(--border);background:hsla(0,0%,100%,.5)}.projects-hero-net>span:first-child{font-size:12px;text-transform:none;letter-spacing:0;color:var(--fg-muted);font-weight:500}.projects-hero-net>span:last-child{font-size:14px}.projects-filterbar-desktop{display:none}.projects-filterbar-mobile{display:flex;align-items:center;gap:8px}.projects-chips{display:flex;gap:6px;flex:1 1;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.projects-chips::-webkit-scrollbar{display:none}.projects-chip{padding:6px 12px;border:1px solid var(--border);border-radius:100px;color:var(--fg-muted);cursor:pointer;flex-shrink:0;background:var(--bg-panel);white-space:nowrap;font:inherit;font-size:12px;display:inline-flex;align-items:center;gap:4px}.projects-chip.on{background:var(--fg);color:var(--fg-inverse);border-color:var(--fg);font-weight:500}.projects-chip-count{color:var(--fg-subtle);font-size:11px}.projects-chip.on .projects-chip-count{color:hsla(0,0%,100%,.6)}.projects-search-icon{width:36px;height:36px;background:var(--bg-panel);border:1px solid var(--border);border-radius:100px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:var(--fg-muted)}.projects-search-panel{display:flex!important;flex-direction:column;gap:8px;padding:8px 0 0}.projects-search-panel .projects-client-select,.projects-search-panel .projects-search-input{width:100%;height:36px}.projects-desktop-only{display:none}.pcard,.projects-mobile-only{display:flex;flex-direction:column;gap:10px}.pcard{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:14px;position:relative;cursor:pointer;box-shadow:var(--shadow-sm)}.pcard:active{background:var(--bg-hover)}.pcard-overdue{border-color:rgba(180,35,24,.25)}.pcard-overdue:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--neg)}.pcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pcard-title-wrap{min-width:0;flex:1 1}.pcard-title{margin:0;font-size:15px;font-weight:600;line-height:1.3}.pcard-submeta{display:flex;gap:6px;align-items:center;margin-top:4px;color:var(--fg-muted);font-size:12px;flex-wrap:wrap}.pcard-prod{display:inline-flex;align-items:center}.pcard-dot{color:var(--fg-subtle)}.pcard-dates{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pcard-menu{position:relative}.pcard-menu-btn{width:28px;height:28px;background:transparent;border:0;color:var(--fg-subtle);cursor:pointer;border-radius:6px;flex-shrink:0;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.pcard-menu-btn:active{background:var(--bg-hover)}.pcard-menu-pop{position:absolute;top:32px;right:0;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);z-index:10;overflow:hidden;min-width:140px}.pcard-menu-pop button{display:block;width:100%;padding:10px 12px;background:transparent;border:0;text-align:left;font:inherit;font-size:13px;color:var(--fg);cursor:pointer}.pcard-menu-pop button:active{background:var(--bg-hover)}.pcard-status-row{display:flex;gap:6px;flex-wrap:wrap}.pcard-money{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--border);border-radius:8px;overflow:hidden}.pcard-money>div{background:var(--bg-panel);padding:10px 12px}.pcard-money-label{font-size:11px;color:var(--fg-muted);margin-bottom:4px}.pcard-money-value{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pcard-money-value.in{color:var(--pos)}.pcard-money-value.neg,.pcard-money-value.out{color:var(--neg)}.pcard-money-value.zero{color:var(--fg-subtle);font-weight:400;font-size:14px}.upcoming-row{grid-template-columns:minmax(5.5rem,auto) 1fr auto;grid-template-rows:auto auto;column-gap:8px;row-gap:4px;padding:10px 12px;font-size:var(--fs-xs)}.upcoming-row>:first-child{grid-column:1;grid-row:1;min-width:0}.upcoming-row>:nth-child(2){grid-column:2;grid-row:1;min-width:0;overflow:hidden}.upcoming-row>:nth-child(3){grid-column:1/3;grid-row:2;min-width:0;overflow:hidden}.upcoming-row>:nth-child(3) a,.upcoming-row>:nth-child(3) span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}.upcoming-row>:nth-child(4){grid-column:3;grid-row:2;justify-self:end}.upcoming-row>:nth-child(5){grid-column:3;grid-row:1;justify-self:end}.overdue-row{grid-template-columns:1fr auto auto;grid-template-rows:auto auto;column-gap:8px;row-gap:4px;padding:10px 12px;font-size:var(--fs-xs)}.overdue-row>:first-child{grid-column:1;grid-row:1;min-width:0;overflow:hidden}.overdue-row>:first-child a,.overdue-row>:first-child span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}.overdue-row>:nth-child(2){grid-column:1;grid-row:2;min-width:0}.overdue-row>:nth-child(3){grid-column:2;grid-row:1;justify-self:end}.overdue-row>:nth-child(4){grid-column:3;grid-row:1;justify-self:end}.overdue-row>:nth-child(5){grid-column:2/4;grid-row:2;justify-self:end}.risk-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px;row-gap:6px}.risk-row>:first-child{grid-column:1;grid-row:1;min-width:0;overflow:hidden}.risk-row>:first-child>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.risk-row>:nth-child(2){grid-column:2;grid-row:1;justify-self:end}.risk-row>:nth-child(3){grid-column:1/3;grid-row:2;min-width:0!important}}.donut-wrap{align-items:center;gap:12px;padding:16px}.donut-legend,.donut-wrap{display:flex;flex-direction:column}.donut-legend{gap:6px;width:100%;font-size:var(--fs-sm)}.donut-legend-row{display:flex;align-items:center;gap:8px}.donut-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.spec-page{max-width:860px;gap:28px}.spec-page,.spec-section{display:flex;flex-direction:column}.spec-section{gap:10px}.spec-section-head{display:flex;align-items:center;gap:10px;margin-bottom:2px}.spec-n{width:28px;height:28px;display:grid;place-items:center;background:var(--fg);color:var(--bg);border-radius:6px;font-size:12px;font-weight:600;flex-shrink:0}.spec-section-body{font-size:13px;line-height:1.6;display:flex;flex-direction:column;gap:10px}.spec-formula{padding:10px;border-left:3px solid var(--accent);background:var(--bg-sub)}.spec-formula-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);margin-bottom:4px}.spec-grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:700px){.spec-grid-3{grid-template-columns:1fr}}.help-callout{background:var(--accent-soft);border-left:3px solid var(--accent);padding:10px 14px;border-radius:var(--radius);margin:12px 0;font-size:var(--fs-sm);color:var(--fg)}.help-toc{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:var(--fs-sm)}.help-toc a{color:var(--accent);text-decoration:none}.help-toc a:hover{text-decoration:underline}.ai-modal-grid{display:grid;grid-template-columns:200px 1fr;grid-gap:24px;gap:24px}@media (max-width:600px){.ai-modal-grid{grid-template-columns:1fr}}.tone-tabs{display:flex;gap:4px}.tone-tabs button{height:26px;padding:0 10px;font-size:12px;font-weight:500;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-sub);color:var(--fg-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.tone-tabs button:hover{background:var(--bg-hover);color:var(--fg)}.tone-tabs button.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tg-preview{background:#e5ddd5;border-radius:var(--radius-md);padding:16px 12px;min-height:80px;display:flex;justify-content:flex-end}.tg-bubble{position:relative;background:#fff;border-radius:12px 12px 0 12px;padding:8px 40px 20px 10px;max-width:90%;font-size:13px;line-height:1.5;color:#1a1a1a;box-shadow:0 1px .5px rgba(0,0,0,.13);white-space:pre-wrap;word-break:break-word}.tg-bubble .time{position:absolute;bottom:5px;right:8px;font-size:10px;color:#8ea0b2;white-space:nowrap}@media (prefers-color-scheme:dark){.tg-preview{background:#0d1117}.tg-bubble{background:#1e3a5f;color:#e8f4f8}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-sub);padding:20px}.auth-card{width:100%;max-width:400px;padding:32px;box-shadow:var(--shadow-lg)}.auth-brand{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.03em;color:var(--fg);margin:0 0 24px;display:flex;align-items:center;gap:10px}.auth-brand:before{content:"G";display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--fg);color:var(--bg);font-size:14px;font-weight:700;letter-spacing:-.02em;flex-shrink:0}.auth-form-footer{margin-top:16px;text-align:center;font-size:var(--fs-sm);color:var(--fg-muted)}.auth-form-footer a{color:var(--accent)}.auth-form-footer a:hover{text-decoration:underline}.auth-error{background:var(--neg-soft);color:var(--neg);border-radius:var(--radius);padding:8px 12px;font-size:var(--fs-sm);margin-bottom:14px}.crew-chip-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}@media (min-width:880px){.crew-chip-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:640px){.crew-chip-grid{grid-template-columns:1fr;gap:6px}.crew-chip-card{min-height:64px!important;padding:12px!important;gap:12px!important}.crew-chip-card .av{width:40px!important;height:40px!important;font-size:14px!important}.crew-chip-meta .name{font-size:14px!important;font-weight:600!important}.crew-chip-meta .role{font-size:12px!important}.crew-chip-meta .muted{font-size:11.5px!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.crew-chip-card .kebab{width:32px!important;height:32px!important;font-size:18px!important;opacity:1!important}.crew-chip-card .check{top:12px!important;right:12px!important;width:22px!important;height:22px!important;font-size:13px!important}.crew-chip-card.on .kebab{right:44px!important}.crew-pickup-hint{display:none}.crew-section-divider{font-size:11px;margin:12px 0 6px}}.crew-chip-card{position:relative;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px;display:flex;align-items:center;gap:10px;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;transition:background 80ms,border-color 80ms;min-height:56px;text-align:left}.crew-chip-card:hover{background:var(--bg-hover)}.crew-chip-card.on{background:var(--accent-soft);border-color:var(--accent)}.crew-chip-card .av{width:34px;height:34px;border-radius:50%;background:#64748b;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;flex-shrink:0}.crew-chip-meta{flex:1 1;min-width:0;line-height:1.25}.crew-chip-meta .name{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-chip-meta .role{font-size:10.5px;color:var(--fg-subtle)}.crew-chip-card .check{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--pos);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}.crew-chip-card .kebab{position:absolute;top:4px;right:4px;width:22px;height:22px;background:transparent;border:0;cursor:pointer;color:var(--fg-subtle);font-size:16px;line-height:1;display:grid;place-items:center;border-radius:4px;opacity:.5}.crew-chip-card .kebab:hover{background:var(--bg-hover);opacity:1}.crew-chip-card.on .kebab{right:28px}.crew-chip-card .custom-dot{position:absolute;bottom:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px var(--bg-panel)}.crew-chip-card.on .custom-dot{box-shadow:0 0 0 2px var(--fg)}.crew-chip-card.add-new{border-style:dashed;justify-content:center;color:var(--fg-muted);font-weight:500}.crew-chip-card.add-new:hover{color:var(--fg);border-color:var(--fg)}.crew-section-divider{font-size:10.5px;font-weight:600;color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.06em;margin:8px 0 4px;display:flex;align-items:center;gap:6px}.crew-section-divider .pin{color:var(--warn);font-size:11px}.crew-pickup-hint{font-size:11px;color:var(--fg-subtle);margin-top:-4px;margin-bottom:4px}.crew-pickup-hint .hint-kbd{display:inline-block;padding:1px 5px;background:var(--bg-sub);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono,monospace);font-size:10px;margin:0 2px}.coach-pulse{animation:coachPulse 1.6s ease-in-out 3}@keyframes coachPulse{0%{box-shadow:0 0 0 0 rgba(79,70,229,.5)}70%{box-shadow:0 0 0 14px rgba(79,70,229,0)}to{box-shadow:0 0 0 0 rgba(79,70,229,0)}}.coach-tooltip{top:-42px;background:var(--fg);color:var(--bg);padding:6px 10px;border-radius:6px;font-size:11.5px;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;z-index:5;animation:coachFadeOut .3s ease-out 4s forwards}.coach-tooltip,.coach-tooltip:after{position:absolute;left:50%;transform:translateX(-50%)}.coach-tooltip:after{content:"";bottom:-4px;border:4px solid transparent;border-top:4px solid var(--fg)}@keyframes coachFadeOut{to{opacity:0;visibility:hidden}}.crew-template-ribbon{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.crew-template-card{position:relative;flex-shrink:0;min-width:120px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 22px 8px 10px;font-size:11.5px;line-height:1.3;display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer;transition:background 80ms,border-color 80ms}.crew-template-card:hover{background:var(--bg-hover);border-color:var(--border-strong)}.crew-template-card .t-name{font-weight:600;color:var(--fg)}.crew-template-card .t-meta,.crew-template-card .t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-template-card .t-meta{color:var(--fg-subtle);font-size:10.5px;max-width:200px}.crew-template-card .t-delete{position:absolute;top:4px;right:4px;width:18px;height:18px;background:transparent;border:0;cursor:pointer;color:var(--fg-subtle);font-size:12px;line-height:1;border-radius:4px;display:grid;place-items:center;opacity:0;transition:opacity 80ms}.crew-template-card:hover .t-delete{opacity:.7}.crew-template-card .t-delete:hover{opacity:1;color:var(--neg);background:var(--neg-soft)}.crew-template-card.add{border-style:dashed;justify-content:center;align-items:center;color:var(--fg-muted);padding:8px 10px}.crew-template-card.add:hover{color:var(--fg);border-color:var(--fg)}.bulk-shifts{margin-top:4px;background:var(--accent-soft);border:1px solid #d8dffe;border-radius:var(--radius);padding:8px 10px;display:flex;flex-direction:column;gap:6px;font-size:12px}.bulk-shifts .bulk-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bulk-shifts-label{color:var(--fg-muted);white-space:nowrap;min-width:130px}.bulk-shifts-options{display:flex;gap:4px;margin-left:auto}.bulk-shifts-options button{height:28px;min-width:28px;padding:0 8px;border:1px solid var(--border-strong);background:var(--bg-panel);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer}.bulk-shifts-options button:hover{background:var(--bg-hover)}.bulk-shifts-options button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.bulk-shifts-note{font-size:10.5px;color:var(--fg-subtle);width:100%;margin-top:2px}.crew-sheet-bg{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:flex-end;justify-content:center;z-index:60;animation:fadein .12s ease-out}@media (min-width:880px){.crew-sheet-bg{align-items:center}}.crew-sheet{background:var(--bg-panel);border-radius:20px 20px 0 0;padding:14px 14px calc(20px + env(safe-area-inset-bottom, 0));display:flex;flex-direction:column;gap:12px;width:100%;max-height:85dvh;overflow-y:auto;animation:sheetSlide .2s cubic-bezier(.2,.7,.2,1)}@media (min-width:880px){.crew-sheet{border-radius:var(--radius-lg);width:min(440px,92vw);padding:18px;animation:slidein .16s ease-out}}@keyframes sheetSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.crew-sheet-grabber{width:36px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto 6px}@media (min-width:880px){.crew-sheet-grabber{display:none}}.onb-strip{position:relative;padding:10px 24px;background:linear-gradient(90deg,var(--accent-soft) 0,#e8f4f8 100%);border-bottom:1px solid var(--accent-soft);display:flex;align-items:center;gap:14px;flex-shrink:0}.onb-strip-label{font-size:10.5px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.onb-strip-text{font-size:12.5px;color:var(--fg)}.onb-strip-text b{font-weight:600}.onb-strip .spacer{flex:1 1}.onb-strip .btn-link{font-size:12px;color:var(--fg-muted);cursor:pointer;background:transparent;border:0}.onb-strip.collapsed{padding:6px 24px;background:var(--bg-sub);border-bottom-color:var(--border)}.onb-strip.collapsed .onb-steps,.onb-strip.collapsed .onb-strip-action,.onb-strip.collapsed .onb-strip-text{display:none}.onb-steps{gap:8px}.onb-step,.onb-steps{display:flex;align-items:center}.onb-step{gap:6px;font-size:11.5px;color:var(--fg-muted);white-space:nowrap}.onb-step .dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--bg-panel);border:1px solid var(--border-strong);font-size:10px;font-weight:600;color:var(--fg-muted);line-height:1}.onb-step.done .dot{background:var(--pos);border-color:var(--pos);color:#fff}.onb-step.current .dot{background:var(--fg);border-color:var(--fg);color:var(--bg)}.onb-step.current{color:var(--fg);font-weight:500}.onb-step.done{color:var(--pos)}.onb-bar{width:16px;height:1px;background:var(--border-strong)}.onb-bar.done{background:var(--pos)}.onb-callout{display:flex;gap:12px;padding:14px 16px;background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--radius);font-size:12.5px;line-height:1.55;color:var(--fg)}.onb-callout .ico{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;background:var(--accent);color:#fff;border-radius:50%;font-size:12px;font-weight:700;margin-top:1px;line-height:1}.onb-callout b{font-weight:600}.onb-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.onb-hero-text{max-width:640px}.onb-hero .h-eyebrow{color:var(--accent)}.onb-welcome{width:560px;max-width:92vw;background:var(--bg-panel);border-radius:var(--radius-lg);overflow:hidden}.onb-welcome-hero{padding:32px 32px 20px;background:linear-gradient(135deg,var(--accent-soft) 0,var(--bg-sub) 100%);border-bottom:1px solid var(--border)}.onb-welcome-hero .h-eyebrow{color:var(--accent)}.onb-welcome-hero h2{margin:0 0 6px;font-size:22px;letter-spacing:-.02em;font-weight:600}.onb-welcome-hero p{margin:0;color:var(--fg-muted);font-size:13px;line-height:1.55}.onb-welcome-body{padding:20px 32px 24px}.onb-roadmap{display:flex;flex-direction:column;gap:10px}.onb-road-step{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-sub);border:1px solid var(--border)}.onb-road-step .n{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;background:var(--fg);color:var(--bg);border-radius:50%;font-size:12px;font-weight:700;line-height:1}.onb-road-step .t{font-size:13px;font-weight:500;margin-bottom:2px}.onb-road-step .d{font-size:11.5px;color:var(--fg-muted);line-height:1.45}.onb-welcome-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 32px;border-top:1px solid var(--divider);background:var(--bg)}.onb-success{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:520px;margin:40px auto 0;padding:40px 32px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.onb-success .check{width:64px;height:64px;border-radius:50%;background:var(--pos-soft);color:var(--pos);display:grid;place-items:center;font-size:32px;font-weight:700;line-height:1}.onb-success h2{margin:0;font-size:22px;letter-spacing:-.02em;font-weight:600}.onb-success p{margin:0;color:var(--fg-muted);font-size:13px;line-height:1.55}.onb-achieve{width:100%;display:flex;flex-direction:column;gap:8px}.onb-achieve-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--pos-soft);border-radius:var(--radius);font-size:12.5px;color:var(--fg)}.onb-achieve-row .check-sm{width:16px;height:16px;border-radius:50%;background:var(--pos);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;line-height:1;flex-shrink:0}.onb-achieve-row .amount{margin-left:auto;color:var(--fg-muted);font-size:11.5px}.field .hint{font-size:11px;color:var(--fg-subtle);line-height:1.5;margin-top:-2px}@media (max-width:880px){.onb-strip{flex-wrap:wrap;padding:10px 12px}.onb-steps{order:10;width:100%}}.sidebar-user{border-top:1px solid var(--border);padding:10px 8px 6px;margin-top:4px}.sidebar-user-info{display:flex;align-items:center;gap:8px;padding:4px 0 8px;font-size:var(--fs-sm)}.sidebar-user-actions{display:flex;align-items:center;gap:4px}