@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{color-scheme:dark;--bg-0: #07080b;--bg-1: #0c0e12;--surface: rgb(255 255 255 / .06);--surface-solid: #13151a;--surface-2: rgb(255 255 255 / .1);--border: rgb(255 255 255 / .08);--border-strong: rgb(255 255 255 / .16);--glass-bg: linear-gradient(135deg, rgb(255 255 255 / .11), rgb(255 255 255 / .035));--glass-border: rgb(255 255 255 / .13);--glass-shadow: inset 0 1px 0 rgb(255 255 255 / .28), inset 0 -1px 0 rgb(255 255 255 / .04), 0 24px 60px -28px rgb(0 0 0 / .75);--blur: 26px;--text: #eceef2;--text-dim: #aab0bb;--text-faint: #8b92a0;--accent: #22e4ff;--accent-glow: rgb(34 228 255 / .4);--accent-soft: rgb(34 228 255 / .12);--accent-ink: #03181c;--ok: #5fd39a;--warn: #f2b84b;--danger: #ff7b72;--info: #7aa7ff;--font-ui: "Geist Variable", system-ui, sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--control-h: 40px;--radius-s: 8px;--radius-m: 14px;--radius-l: 26px;--radius-pill: 999px;--dur-fast: .15s;--dur-normal: .22s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-0);color:var(--text);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em}h1{font-size:var(--text-xl)}code,kbd,.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-glow)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes sheen{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes drift-a{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(120px,80px,0) scale(1.18)}}@keyframes drift-b{0%{transform:translateZ(0) scale(1.1)}to{transform:translate3d(-140px,60px,0) scale(.9)}}@keyframes drift-c{0%{transform:translateZ(0) scale(.95)}to{transform:translate3d(90px,-100px,0) scale(1.2)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}@media (max-width: 819px){:root{--control-h: 44px}html,body,#root{height:auto;min-height:100dvh}body{-webkit-tap-highlight-color:transparent}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea{font-size:16px!important}button,select,[role=button],a.project-tab,.settings-tab{min-height:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.ui-surface{padding:var(--space-4)}.ui-field{min-width:0}.ui-field input,.ui-field select{min-width:0;width:100%}.shell-content>*{min-width:0}}@media (max-width: 819px){.stack-table,.stack-table tbody{display:block;width:100%}.stack-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}table.stack-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:end;padding:var(--space-4) var(--space-3);border-top:1px solid var(--border)}table.stack-table tr:first-child{border-top:0}table.stack-table td{display:grid;gap:2px;min-width:0;padding:0;border:0;overflow-wrap:anywhere}table.stack-table td[data-label]:before{content:attr(data-label);font-size:var(--text-xs);color:var(--text-faint)}table.stack-table td[data-full]{grid-column:1 / -1}table.stack-table td:empty{display:none}.stack-table .ui-button{width:100%;min-height:44px}table.stack-table tbody tr:hover{background:none}}.ui-button{font:inherit;font-weight:500;height:var(--control-h);padding:0 var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-normal) var(--ease-out-expo)}.ui-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.ui-button[data-variant=primary]{background:var(--accent);border-color:transparent;color:var(--accent-ink);font-weight:600}.ui-button[data-variant=primary]:hover:not(:disabled){background:var(--accent);box-shadow:0 10px 34px -10px var(--accent-glow)}.ui-button[data-variant=ghost]{background:transparent}.ui-button[data-variant=ghost]:hover:not(:disabled){border-color:var(--accent)}.ui-button[data-variant=danger]{color:var(--danger);border-color:#ff7b7273;background:#ff7b7214}.ui-button:disabled{opacity:.45;cursor:not-allowed}.ui-surface{position:relative;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border:1px solid var(--glass-border);border-radius:var(--radius-l);box-shadow:var(--glass-shadow);padding:var(--space-5);animation:rise .7s var(--ease-out-expo) backwards}.ui-surface:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 70% at 12% 0%,rgb(255 255 255 / .16),transparent 55%)}.ui-surface>*{position:relative;z-index:1}.ui-surface:nth-child(2){animation-delay:.08s}.ui-surface:nth-child(3){animation-delay:.16s}.ui-surface:nth-child(4){animation-delay:.24s}.ui-field{display:grid;gap:var(--space-1)}.ui-field label{font-size:var(--text-sm);color:var(--text-dim)}.ui-field input,.ui-field select{font:inherit;height:var(--control-h);padding:0 var(--space-4);background:#05070a80;color:var(--text);border:1px solid var(--glass-border);border-radius:var(--radius-m);transition:border-color var(--dur-fast),box-shadow var(--dur-normal)}.ui-field input:focus-visible,.ui-field select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ui-field input[aria-invalid=true]{border-color:var(--danger)}.ui-field-error{font-size:var(--text-sm);color:var(--danger)}.ui-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-dim)}.ui-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.ui-pill[data-tone=ok]{color:var(--ok)}.ui-pill[data-tone=warn]{color:var(--warn)}.ui-pill[data-tone=danger]{color:var(--danger)}.ui-pill[data-tone=info]{color:var(--info)}.ui-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:var(--space-4);background:#0000009e;animation:ui-fade .18s ease-out backwards}.ui-sheet{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;background:#13151af5;-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border:1px solid var(--glass-border);border-radius:var(--radius-l);box-shadow:inset 0 1px #fff3,0 30px 80px #0009;animation:ui-sheet-in .26s var(--ease-out-expo) backwards}.ui-sheet:focus{outline:none}.ui-sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);background:#13151af5;border-bottom:1px solid var(--border)}.ui-sheet-head h2{font-size:var(--text-lg)}.ui-sheet-close{width:44px;height:44px;font:inherit;font-size:1.5rem;line-height:1;border-radius:50%;border:0;background:transparent;color:var(--text);cursor:pointer}.ui-sheet-close:hover{background:var(--surface-2)}.ui-sheet-body{display:grid;gap:var(--space-4);padding:var(--space-5)}.ui-sheet-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.ui-sheet-actions .ui-button{flex:1 1 auto}.ui-sheet-note{margin:0;font-size:var(--text-sm);color:var(--text-dim)}.ui-sheet-body .ui-field{min-width:0}.ui-sheet-body .ui-field input,.ui-sheet-body .ui-field select{min-width:0;width:100%}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (max-width: 819px){.ui-sheet-backdrop{place-items:end stretch;padding:0}.ui-sheet{width:100%;max-height:92dvh;border-radius:28px 28px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);animation-name:ui-sheet-up}.ui-sheet-body{padding:var(--space-4)}}@keyframes ui-sheet-up{0%{transform:translateY(100%)}to{transform:none}}.dc-check input[type=checkbox],.mz-check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:0 0 auto;width:44px;height:44px;margin:0 -10px;cursor:pointer;background:none;border:0}.dc-check input[type=checkbox]:before,.mz-check input[type=checkbox]:before{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;border-radius:6px;border:1.5px solid var(--border-strong);background:#05070a80;transition:background var(--dur-fast),border-color var(--dur-fast)}.dc-check input[type=checkbox]:checked:before,.mz-check input[type=checkbox]:checked:before{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2303181c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-color:var(--accent)}.dc-check input[type=checkbox]:focus-visible,.mz-check input[type=checkbox]:focus-visible{outline:none}.dc-check input[type=checkbox]:focus-visible:before,.mz-check input[type=checkbox]:focus-visible:before{box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent)}.dc-check input[type=checkbox]:disabled,.mz-check input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.ui-switch{flex:none;width:52px;height:44px;display:inline-grid;place-items:center;padding:0;background:none;border:0;border-radius:var(--radius-pill);cursor:pointer}.ui-switch:disabled{opacity:.45;cursor:not-allowed}.ui-switch-track{position:relative;width:44px;height:26px;border-radius:var(--radius-pill);background:#ffffff1f;border:1px solid var(--border-strong);transition:background var(--dur-fast),border-color var(--dur-fast)}.ui-switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--text-dim);transition:transform var(--dur-normal) var(--ease-out-expo),background var(--dur-fast)}.ui-switch[aria-checked=true] .ui-switch-track{background:var(--accent);border-color:transparent}.ui-switch[aria-checked=true] .ui-switch-thumb{transform:translate(18px);background:var(--accent-ink)}.ui-switch:focus-visible{outline:2px solid var(--accent);outline-offset:0}.shell{display:grid;grid-template-columns:236px 1fr;gap:20px;padding:20px;min-height:100vh;min-height:100dvh;position:relative}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.blob{position:absolute;border-radius:50%}.blob-a{left:-120px;top:-100px;width:620px;height:620px;background:radial-gradient(circle,rgb(34 228 255 / .32),transparent 65%);animation:drift-a 24s ease-in-out infinite alternate}.blob-b{right:-160px;top:160px;width:700px;height:700px;background:radial-gradient(circle,rgb(124 108 255 / .28),transparent 65%);animation:drift-b 30s ease-in-out infinite alternate}.blob-c{left:30%;bottom:-260px;width:760px;height:760px;background:radial-gradient(circle,rgb(20 184 166 / .24),transparent 65%);animation:drift-c 27s ease-in-out infinite alternate}.sidebar{position:sticky;top:20px;height:calc(100vh - 40px);z-index:1;display:flex;flex-direction:column;gap:var(--space-4);padding:22px var(--space-3) var(--space-3);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border:1px solid var(--glass-border);border-radius:28px;box-shadow:var(--glass-shadow);animation:rise .7s var(--ease-out-expo) backwards}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 50% at 12% 0%,rgb(255 255 255 / .14),transparent 60%)}.sidebar>*{position:relative;z-index:1}.sidebar-logo{display:block;height:36px;width:auto;align-self:flex-start;margin:0 var(--space-3) var(--space-3)}.sidebar ul{list-style:none;margin:0;padding:0;display:grid;gap:3px}.nav-link{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-3);border-radius:var(--radius-pill);color:var(--text-dim);text-decoration:none;font-weight:500;transition:color var(--dur-fast),background var(--dur-fast)}a.nav-link:hover{color:var(--text);background:#ffffff12}.nav-link[aria-disabled=true]{opacity:.6;cursor:default}.nav-link.active{color:var(--accent-ink)}.nav-content{position:relative;z-index:1;display:inline-flex;align-items:center;gap:var(--space-3)}.nav-active{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-pill);background:var(--accent);box-shadow:0 10px 30px -10px var(--accent-glow)}a.nav-link.active:hover{background:transparent;color:var(--accent-ink)}.nav-soon{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-faint)}.user-card{margin-top:auto;display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--glass-border);border-radius:22px;background:var(--surface)}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border-strong);font-size:var(--text-xs);font-weight:600}.user-info{display:flex;flex-direction:column;line-height:1.25;min-width:0}.user-info strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info span{font-size:var(--text-xs);color:var(--text-dim)}.user-actions{grid-column:1 / -1;display:flex;justify-content:space-between;gap:var(--space-3)}.user-link{font:inherit;font-size:var(--text-xs);color:var(--text-dim);background:none;border:0;padding:2px 0;cursor:pointer;text-decoration:none}.user-link:hover{color:var(--text)}.shell-content{position:relative;z-index:1;min-width:0;padding:var(--space-2) var(--space-4) var(--space-12)}.nav-badge{position:relative;z-index:1;min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center;border-radius:var(--radius-pill);background:var(--warn);color:#1a1203;font-size:.6875rem;font-weight:700;line-height:1}.nav-link.active .nav-badge{background:var(--accent-ink);color:var(--accent)}.login{position:relative;z-index:1;min-height:100%;display:grid;place-items:center;padding:var(--space-6)}.login-card{width:min(400px,100%)}.login-logo{display:block;height:72px;width:auto}.login-product{margin:var(--space-1) 0 var(--space-6);color:var(--text-dim)}.login-form{display:grid;gap:var(--space-4)}.boot{min-height:100%;display:grid;place-items:center;color:var(--text-faint);font-size:var(--text-sm)}@media (max-width: 819px){.login{min-height:100dvh;padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.login-logo{height:56px}}.cs-page,.cs-tab{display:grid;gap:var(--space-4);align-content:start}.cs-tab-head,.cs-invoices-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4)}.cs-tab-head h2,.cs-invoices-head h3{font-size:var(--text-lg)}.cs-totals{display:grid;gap:var(--space-4)}.cs-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.cs-kpi{display:grid;gap:2px;min-width:0}.cs-kpi span{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.cs-kpi strong{font-size:var(--text-lg);overflow-wrap:anywhere}.cs-kpi[data-tone=negative] strong{color:var(--danger)}.cs-kpi[data-tone=positive] strong{color:var(--ok)}.cs-hours-line{display:grid;gap:var(--space-2)}.cs-warn-note{margin:0;color:var(--warn);font-size:var(--text-sm)}@media (min-width: 820px){.cs-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}.cs-bar{position:relative;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.cs-bar span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--ok);transform-origin:left center;transition:transform var(--dur-normal) var(--ease-out-expo),background var(--dur-fast)}.cs-bar[data-level=warning] span{background:var(--warn)}.cs-bar[data-level=over] span{background:var(--danger);box-shadow:0 0 14px #ff7b7280}.cs-alerts{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.cs-alerts li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);border:1px solid var(--border);border-left-width:4px;background:var(--surface)}.cs-alerts li[data-level=warning]{border-color:#f2b84b73;background:#f2b84b17}.cs-alerts li[data-level=warning] span{color:var(--warn)}.cs-alerts li[data-level=over]{border-color:#ff7b7280;background:#ff7b721a}.cs-alerts li[data-level=over] span{color:var(--danger)}.cs-depts,.cs-tasks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.cs-dept{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg)}.cs-dept[data-level=warning]{border-color:#f2b84b73}.cs-dept[data-level=over]{border-color:#ff7b728c}.cs-dept-head,.cs-task-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.cs-dept-head strong{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.cs-ratio{color:var(--text-dim);font-size:var(--text-sm)}.cs-toggle{width:44px;height:44px;display:grid;place-items:center;color:var(--text-dim);background:none;border:0;border-radius:50%;cursor:pointer}.cs-toggle:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.cs-toggle:disabled{opacity:.3;cursor:default}.cs-toggle svg{transition:transform var(--dur-normal) var(--ease-out-expo)}.cs-toggle svg[data-open=true]{transform:rotate(90deg)}.cs-money{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2) var(--space-4)}.cs-money div{display:grid;gap:0}.cs-money dt{font-size:var(--text-xs);color:var(--text-faint)}.cs-money dd{margin:0;font-family:var(--font-mono);font-size:var(--text-sm)}.cs-money dd[data-negative]{color:var(--ok)}.cs-tasks{padding-left:var(--space-3);border-left:2px solid var(--border);margin-top:var(--space-2)}.cs-task{display:grid;gap:var(--space-2)}.cs-task-head>span:first-child{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.cs-general{margin:0}.cs-invoices{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.cs-invoice-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.cs-invoice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4)}.cs-invoice-main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.cs-invoice .ui-button{grid-column:1 / -1}@media (min-width: 820px){.cs-invoice{grid-template-columns:minmax(0,1fr) auto auto}.cs-invoice .ui-button{grid-column:auto}}.cs-mode{display:grid;gap:var(--space-2);border:0;padding:0;margin:0}.cs-mode legend{font-size:var(--text-sm);color:var(--text-dim);margin-bottom:var(--space-1)}.cs-mode label{display:flex;align-items:center;gap:var(--space-3);min-height:44px}.cs-inv-head{display:flex;align-items:center;gap:var(--space-3)}.cs-inv-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.cs-lines{display:grid;gap:var(--space-3);border:0;padding:0;margin:0;min-width:0}.cs-lines legend{font-weight:600;margin-bottom:var(--space-2)}.cs-line{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3);padding:var(--space-3);padding-right:52px;border:1px solid var(--border);border-radius:var(--radius-m)}.cs-line>:first-child{grid-column:1 / -1}.cs-line-amount{display:grid;gap:2px;align-content:end;font-size:var(--text-sm)}.cs-line-amount span{color:var(--text-dim);font-size:var(--text-sm)}.cs-line-remove{position:absolute;top:4px;right:4px;width:44px;height:44px;font:inherit;font-size:1.4rem;color:var(--danger);background:none;border:0;border-radius:50%;cursor:pointer}.cs-line-remove:hover{background:#ff7b721a}.cs-inv-totals{margin:0;display:grid;gap:var(--space-1)}.cs-inv-totals div{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono)}.cs-inv-totals dt{color:var(--text-dim);font-family:var(--font-ui)}.cs-inv-totals dd{margin:0}.cs-confirm{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:1px solid rgb(242 184 75 / .45);border-radius:var(--radius-m);background:#f2b84b17}.cs-confirm p{margin:0;flex:1 1 100%}.cs-overview-grid{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}@media (min-width: 820px){.cs-overview-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.cs-project{display:grid;gap:var(--space-3)}.cs-project-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3)}.cs-project-head a{color:var(--text);text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}.cs-project-head a:hover{color:var(--accent)}.cs-project[data-level=warning]{border-color:#f2b84b73}.cs-project[data-level=over]{border-color:#ff7b728c}.cs-summary{display:grid;gap:var(--space-3)}.cs-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.cs-layer-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}.cs-layer-item{display:grid;gap:var(--space-2)}.cs-layer-item a{color:var(--text);text-decoration:none;font-weight:500}.cs-layer-head{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}@media (prefers-reduced-motion: reduce){.cs-bar span,.cs-toggle svg{transition:none}}.cs-alerts a,.cs-layer-item a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none}.cs-alerts a:hover,.cs-layer-item a:hover{color:var(--accent)}.plan-page{min-width:0}.cg{display:grid;gap:var(--space-4);min-width:0}.cg-range{color:var(--text-dim);font-size:var(--text-sm);align-self:center;padding:0 var(--space-2)}.cg-notice{align-items:start}.cg-notice[data-tone=ok]{border-color:#5fd39a80;background:#5fd39a14}.cg-notice[data-tone=ok] strong{color:var(--ok)}.cg-notice[data-tone=warn]{border-color:#f2b84b80;background:#f2b84b17}.cg-notice[data-tone=warn] strong{color:var(--warn)}.cg-notice .ui-button{height:36px;justify-self:start}.cg-notice .ui-sheet-actions .ui-button{flex:0 0 auto}.cg-legend li:before{border-radius:4px}.cg-legend li[data-state=free]:before{background:var(--surface-2)}.cg-legend li[data-state=ok]:before{background:var(--ok)}.cg-legend li[data-state=limit]:before{background:var(--warn)}.cg-legend li[data-state=over]:before{background:var(--danger)}.cg-legend li[data-shade=leave]:before{background:repeating-linear-gradient(135deg,rgb(255 255 255 / .55) 0 2px,transparent 2px 5px);border:1px solid var(--border-strong)}.cg-legend li[data-shade=pending]:before{background:repeating-linear-gradient(135deg,rgb(255 255 255 / .22) 0 2px,transparent 2px 5px);border:1px dashed var(--border-strong)}.cg-legend li[data-shade=holiday]:before{background:#7aa7ff66}.cg-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}.cg-main{min-width:0}@media (min-width: 820px){.cg-layout{grid-template-columns:minmax(0,1fr) 260px}}.cg-scroll{user-select:none;-webkit-user-select:none;position:relative;max-height:min(68dvh,720px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--glass-border);border-radius:var(--radius-m);background:#05070a59}.cg-inner{position:relative}.cg-head{position:sticky;top:0;z-index:6;display:flex;height:48px;background:var(--surface-solid);border-bottom:1px solid var(--border-strong)}.cg-corner{position:sticky;left:0;z-index:7;flex:0 0 208px;width:208px;display:flex;align-items:center;padding:0 var(--space-4);background:var(--surface-solid);border-right:1px solid var(--border);color:var(--text-dim);font-size:var(--text-sm)}.cg-weeks{display:flex}.cg-week{flex:0 0 auto;display:grid;place-content:center;gap:0;min-height:44px;font:inherit;font-size:var(--text-xs);color:var(--text-dim);background:none;border:0;border-left:1px solid var(--border);cursor:pointer}.cg-week:hover{background:var(--accent-soft);color:var(--text)}.cg-week[data-current]{color:var(--accent)}.cg-week .mono{font-size:var(--text-sm)}.cg-body{position:relative}.cg-today{position:absolute;top:0;width:2px;margin-left:-1px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);pointer-events:none;z-index:4}.cg-row{position:absolute;left:0;display:flex;border-bottom:1px solid var(--border)}.cg-row[data-over]{background:var(--accent-soft)}.cg-label{position:sticky;left:0;z-index:5;flex:0 0 208px;width:208px;display:grid;align-content:center;gap:2px;padding:0 var(--space-3) 0 var(--space-4);background:var(--surface-solid);border-right:1px solid var(--border);min-width:0}.cg-label strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-label-sub{display:flex;gap:var(--space-2);align-items:center;color:var(--text-faint);font-size:var(--text-xs);overflow:hidden;white-space:nowrap}.cg-track{position:relative;flex:0 0 auto;background:repeating-linear-gradient(90deg,transparent 0,transparent var(--weekdays),rgb(255 255 255 / .03) var(--weekdays),rgb(255 255 255 / .03) var(--week))}.cg-shade{position:absolute;top:0;bottom:0;pointer-events:none;z-index:0}.cg-shade[data-kind=holiday]{background:#7aa7ff33;border-inline:1px solid rgb(122 167 255 / .35)}.cg-shade[data-kind=leave]{background:repeating-linear-gradient(135deg,rgb(255 255 255 / .2) 0 3px,transparent 3px 8px);border-inline:1px solid var(--border-strong)}.cg-shade[data-kind=pending]{background:repeating-linear-gradient(135deg,rgb(255 255 255 / .09) 0 3px,transparent 3px 8px);border-inline:1px dashed var(--border-strong)}.cg-shade[title]{pointer-events:auto}.cg-cell{position:absolute;top:0;z-index:1;display:grid;align-content:center;gap:4px;padding:0 6px;font:inherit;color:var(--text);background:none;border:0;border-left:1px solid var(--border);cursor:pointer;--tone: var(--ok)}.cg-cell:hover{background:#ffffff0d}.cg-bar{display:flex;height:8px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.cg-cap{display:block;height:100%;background:var(--surface-2)}.cg-fill{display:block;height:100%;border-radius:inherit;background:var(--tone);transition:width var(--dur-normal) var(--ease-out-expo)}.cg-seg{display:block;height:100%}.cg-seg[data-kind=leave]{background:repeating-linear-gradient(135deg,rgb(255 255 255 / .6) 0 2px,transparent 2px 5px)}.cg-seg[data-kind=holiday]{background:#7aa7ff8c}.cg-num{font-size:var(--text-xs);color:var(--text-dim)}.cg-cell[data-state=free] .cg-fill{display:none}.cg-cell[data-state=limit]{--tone: var(--warn)}.cg-cell[data-state=over]{--tone: var(--danger);background:#ff7b721a}.cg-cell[data-state=over] .cg-num{color:var(--danger);font-weight:600}.cg-cell[data-state=off] .cg-num{color:var(--text-faint)}.cg-booking{position:absolute;z-index:2;display:flex;align-items:center;min-width:14px;padding:0 6px;border-radius:7px;background:color-mix(in srgb,var(--bar) 26%,#13151a);border:1px solid color-mix(in srgb,var(--bar) 70%,transparent);color:var(--text);font-size:var(--text-xs);cursor:grab;touch-action:manipulation;user-select:none;-webkit-user-select:none}.cg-booking:hover{border-color:var(--bar)}.cg-booking[data-dragging]{z-index:20;opacity:.9;cursor:grabbing;box-shadow:0 12px 30px -8px #000000b3}.cg-booking[data-locked]:after{content:"";position:absolute;right:6px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--warn);transform:translateY(-50%)}.cg-booking-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.cg-handle{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;touch-action:none}.cg-handle[data-edge=start]{left:0}.cg-handle[data-edge=end]{right:0}.cg-handle:after{content:"";position:absolute;top:5px;bottom:5px;left:3px;width:2px;border-radius:2px;background:color-mix(in srgb,var(--bar, #fff) 80%,#fff);opacity:0;transition:opacity var(--dur-fast)}.cg-booking:hover .cg-handle:after,.cg-booking:focus-visible .cg-handle:after{opacity:1}.cg-panel{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg);position:sticky;top:var(--space-4);max-height:72dvh;overflow-y:auto}.cg-panel h2{font-size:var(--text-lg)}.cg-panel p{margin:0}.cg-tasks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.cg-task{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:#ffffff12;border:1px solid var(--glass-border);border-left:3px solid var(--dept, var(--accent))}.cg-task[data-dragging]{opacity:.4}.cg-task-main{user-select:none;-webkit-user-select:none;flex:1;min-width:0;display:grid;cursor:grab;touch-action:none;padding:var(--space-1) 0}.cg-task-main strong{font-weight:500;font-size:var(--text-sm);overflow-wrap:anywhere}.cg-task .ui-button{height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.cg-overlay{width:240px}.cg-overlay .cg-task{background:var(--surface-solid);box-shadow:0 16px 40px -10px #000c}.cg-days{display:grid;gap:var(--space-3)}.cg-days-scroll{overflow-x:auto;border:1px solid var(--glass-border);border-radius:var(--radius-m)}.cg-days-table{width:100%;border-collapse:collapse;min-width:640px;font-size:var(--text-sm)}.cg-days-table th,.cg-days-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left}.cg-days-table tbody th{width:220px}.cg-days-table td.cg-day{text-align:center}.cg-days-table thead th{color:var(--text-dim);font-weight:500;text-align:center}.cg-days-table tbody th{font-weight:500;position:sticky;left:0;background:var(--surface-solid)}.cg-day{text-align:center;display:table-cell;--tone: var(--ok)}.cg-day .mono{display:block}.cg-day em{display:block;font-style:normal;font-size:var(--text-xs);color:var(--text-faint)}.cg-day[data-state=ok]{background:#5fd39a24}.cg-day[data-state=limit]{background:#f2b84b2e}.cg-day[data-state=over]{background:#ff7b7238;color:var(--danger);font-weight:600}.cg-day[data-note=leave]{background:repeating-linear-gradient(135deg,rgb(255 255 255 / .14) 0 3px,transparent 3px 8px)}.cg-day[data-note=holiday]{background:repeating-linear-gradient(135deg,#7aa7ff52 0,#7aa7ff52 4px,#7aa7ff1f 4px,#7aa7ff1f 8px)}.cg-day[data-state=off]{color:var(--text-faint)}.cm-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.cm-person{width:100%;display:grid;gap:var(--space-2);min-height:64px;padding:var(--space-3) var(--space-4);font:inherit;color:inherit;text-align:left;border-radius:var(--radius-m);border:1px solid var(--glass-border);background:var(--glass-bg);cursor:pointer}.cm-person[data-over]{border-color:#ff7b7299}.cm-name{display:grid;gap:2px;min-width:0}.cm-name strong{font-weight:500}.cm-mini{display:grid;gap:3px;height:28px;align-items:end}.cm-mini-col{position:relative;display:block;height:100%;border-radius:4px;background:var(--surface-2);overflow:hidden;--tone: var(--ok)}.cm-mini-col>span{position:absolute;left:0;right:0;bottom:0;background:var(--tone)}.cm-mini-col[data-state=limit]{--tone: var(--warn)}.cm-mini-col[data-state=over]{--tone: var(--danger);background:#ff7b7240}.cm-mini-col[data-state=over]>span{height:100%!important}.pl-week[data-state=ok]{--tone: var(--ok)}.ui-sheet-body .pl-week{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name load" "bar bar" "state action"}.ui-sheet-body .pl-week .ui-button{grid-area:action;justify-self:end;min-height:44px}.cg-filters-details{border:1px solid var(--border);border-radius:var(--radius-m);padding:0 var(--space-3)}.cg-filters-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--text-dim)}.cg-filters-details[open]{padding-bottom:var(--space-3)}.cg-nav-short{display:none}@media (max-width: 819px){.cg-filters,.pl-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-weeknav .ui-button{flex:1 1 auto;min-height:44px;padding:0 var(--space-3)}.cg-nav-long{display:none}.cg-nav-short{display:inline}.cg-legend{gap:var(--space-2) var(--space-3);font-size:var(--text-xs)}.cg-range{flex:1 1 100%}.cg-panel{position:static;max-height:none;border:0;padding:0;background:none}}@media (prefers-reduced-motion: reduce){.cg-fill{transition:none}}.cg-ghost{position:absolute;z-index:19;display:flex;align-items:center;padding:0 6px;border-radius:7px;border:2px dashed var(--bar);background:color-mix(in srgb,var(--bar) 20%,transparent);color:var(--text);font-size:var(--text-xs);pointer-events:none;white-space:nowrap;overflow:hidden}.home-hero{padding:var(--space-8);overflow:hidden;display:grid;gap:var(--space-2)}.home-glow{position:absolute!important;right:-90px;top:-150px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgb(34 228 255 / .5),transparent 65%);pointer-events:none}.home-date{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.home-hero h1{font-size:2.125rem;line-height:1.08;letter-spacing:-.03em}.home-note{margin:var(--space-3) 0 0;color:var(--text-dim);max-width:60ch}.home,.overview{display:grid;gap:var(--space-5)}.overview-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--space-4)}.overview-kpi{display:grid;gap:var(--space-2)}.overview-kpi-label{font-size:var(--text-sm);color:var(--text-dim)}.overview-kpi-value{font-size:2.25rem;line-height:1;font-weight:500;letter-spacing:-.04em}.overview-table h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.overview-rows{display:grid;gap:var(--space-1);overflow-x:auto}.overview-row{display:grid;grid-template-columns:1.6fr .9fr 1.5fr .8fr .8fr;gap:var(--space-4);align-items:center;min-width:680px;padding:var(--space-3);border-radius:var(--radius-m);color:inherit;text-decoration:none;transition:background var(--dur-fast)}.overview-row:hover{background:#ffffff0d}.overview-name{display:grid;gap:2px}.overview-name span,.overview-state,.overview-due{color:var(--text-dim);font-size:var(--text-sm)}.overview-progress{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}@media (max-width: 819px){.home,.overview{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.home-hero{padding:var(--space-5)}.home-glow{width:280px;height:280px;right:-110px;top:-120px}.home-hero h1{font-size:1.75rem}.overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.overview-kpi-value{font-size:2rem}.overview-rows{overflow-x:visible}.overview-row{min-width:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name pill" "progress progress" "state due";gap:var(--space-2) var(--space-3);padding:var(--space-3);min-height:44px;border-top:1px solid var(--border);border-radius:0}.overview-row:first-child{border-top:0}.overview-name{grid-area:name}.overview-row>.ui-pill{grid-area:pill;justify-self:end}.overview-progress{grid-area:progress}.overview-state{grid-area:state}.overview-due{grid-area:due;justify-self:end}}.home-tabs{margin-bottom:0}.cap{display:grid;gap:var(--space-5)}.cap-block h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.cap-scroll{overflow-x:auto;margin:0 calc(var(--space-2) * -1);padding:0 var(--space-2)}.cap-table{width:100%;min-width:560px;border-collapse:separate;border-spacing:3px;font-size:var(--text-sm)}.cap-table thead th{color:var(--text-dim);font-weight:500;font-size:var(--text-xs);text-align:center}.cap-table tbody th{text-align:left;font-weight:500;padding-right:var(--space-3);white-space:nowrap;position:sticky;left:0;background:var(--surface-solid);z-index:1}.cap-cell{text-align:center;height:40px;min-width:52px;border-radius:8px;background:var(--surface-2)}.cap-cell[data-state=ok]{background:#5fd39a33}.cap-cell[data-state=limit]{background:#f2b84b47}.cap-cell[data-state=over]{background:#ff7b7261;color:var(--text);font-weight:600}.cap-cell[data-state=off]{color:var(--text-faint)}.cap-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.cap-alerts{list-style:none;margin:0 0 var(--space-3);padding:0;display:grid;gap:var(--space-2)}.cap-alerts li{padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);background:#ffffff0d}.cap-alerts li[data-tone=danger]{border-left:3px solid var(--danger);background:#ff7b7214}.cap-alerts a{color:var(--text);font-weight:500}.myday{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);align-items:start}.myday-block{display:grid;gap:var(--space-3);align-content:start}.myday-block h2{font-size:var(--text-lg)}.myday-tasks{grid-column:1 / -1}.myday-list{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.myday-big{margin:0;font-size:1.25rem;font-weight:500;letter-spacing:-.02em}.myday-bar{flex:none;width:100%;height:8px}@media (max-width: 819px){.myday{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.myday-list{grid-template-columns:minmax(0,1fr)}}.home-tabs{overflow-x:auto;scrollbar-width:none}.home-tabs::-webkit-scrollbar{display:none}.home-tabs .pl-tab{flex:none;white-space:nowrap}@media (max-width: 819px){.home-tabs .pl-tab{padding:0 var(--space-4)}}.mt-page{display:grid;gap:var(--space-5);max-width:980px}.mt-head{display:grid;gap:var(--space-1)}.mt-summary{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.mt-state,.mt-empty{display:grid;justify-items:start;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-m);border:1px dashed var(--border-strong);color:var(--text-dim)}.mt-state p,.mt-empty p{margin:0}.mt-empty h2{color:var(--text);font-size:1.25rem}.mt-truncated{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:#f2b84b1a;color:var(--warn);font-size:var(--text-sm)}.mt-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:var(--space-3);align-items:center}.mt-control{font:inherit;font-size:1rem;width:100%;min-width:0;height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:#05070a80;color:var(--text);border:1px solid var(--glass-border)}.mt-search{grid-column:1 / -1}.mt-toggle{min-height:44px;padding:0 var(--space-4);font:inherit;color:var(--text-dim);border-radius:var(--radius-pill);background:transparent;border:1px solid var(--glass-border);cursor:pointer}.mt-toggle[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.mt-group{display:grid;gap:var(--space-3)}.mt-group h2{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-lg)}.mt-group[data-group=overdue] h2{color:var(--danger)}.mt-count{min-width:24px;height:24px;padding:0 var(--space-2);display:inline-grid;place-items:center;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-dim);font-size:var(--text-xs);font-weight:500}.mt-group[data-group=overdue] .mt-count{background:#ff7b7229;color:var(--danger)}.mt-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}.mt-card{position:relative;display:grid;gap:var(--space-3);min-width:0;padding:var(--space-4);border-radius:var(--radius-m);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.mt-card[data-group=overdue]{border-color:#ff7b7273}.mt-card[data-group=today]{border-color:#22e4ff66}.mt-card[data-group=done]{opacity:.7}.mt-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.mt-id{display:grid;gap:2px;min-width:0}.mt-shot{display:inline-flex;align-items:center;min-height:44px;margin-block:-10px;min-width:44px;font-size:var(--text-lg);font-weight:600;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.mt-shot:hover{color:var(--accent)}.mt-sub{color:var(--text-dim);font-size:var(--text-sm);overflow-wrap:anywhere}.mt-play{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--accent);background:var(--surface);border:1px solid var(--glass-border);cursor:pointer}.mt-play:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.mt-play:disabled{opacity:.5;cursor:default}.mt-play[data-running]{color:var(--danger)}.mt-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.mt-status{--pill: var(--text-dim);display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--pill) 16%,transparent);border:1px solid color-mix(in srgb,var(--pill) 55%,transparent);cursor:pointer}.mt-status[data-static]{cursor:default;min-height:32px}.mt-status:hover:not([data-static]){background:color-mix(in srgb,var(--pill) 26%,transparent)}.mt-dot{width:8px;height:8px;border-radius:50%;background:var(--pill);flex:none}.mt-caret{color:var(--text-dim);font-size:var(--text-xs)}.mt-due{font-size:var(--text-sm);color:var(--text-dim)}.mt-due[data-group=overdue]{color:var(--danger);font-weight:600}.mt-due[data-group=today]{color:var(--accent);font-weight:600}.mt-hours{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-dim)}.mt-bar{flex:1 1 80px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.mt-bar i{display:block;height:100%;border-radius:3px;background:var(--accent)}.mt-bar[data-over] i{background:var(--danger)}.mt-over{color:var(--danger);font-weight:500}.mt-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--text-sm)}.mt-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;color:var(--accent);text-decoration:none;font-weight:500}.mt-link:hover{text-decoration:underline}.mt-open{margin-left:auto}.mt-faint{color:var(--text-faint)}.mt-notes{padding:2px var(--space-3);border-radius:var(--radius-pill);background:#f2b84b24;color:var(--warn)}.mt-status-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.mt-status-option{--pill: var(--text-dim);display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:0 var(--space-4);font:inherit;font-size:1rem;color:var(--text);text-align:left;border-radius:var(--radius-m);background:transparent;border:1px solid transparent;cursor:pointer}.mt-status-option:hover{background:var(--surface)}.mt-status-option[aria-selected=true]{background:color-mix(in srgb,var(--pill) 18%,transparent);border-color:color-mix(in srgb,var(--pill) 55%,transparent)}@media (max-width: 819px){.mt-page{gap:var(--space-4)}.mt-list{grid-template-columns:minmax(0,1fr)}.mt-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mt-open{margin-left:0}}.pipeline{display:grid;gap:var(--space-3)}.pipeline-bar{display:flex;gap:3px;height:14px}.pipeline-seg{border-radius:6px;transform-origin:left;animation:grow 1.1s var(--ease-out-expo) .3s backwards}.pipeline-empty{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.pipeline-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--text-dim)}.pipeline-legend li{display:inline-flex;align-items:center;gap:var(--space-2)}.pipeline-legend .mono{color:var(--text)}.pipeline-dot{width:8px;height:8px;border-radius:3px}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lift{transition:transform .35s var(--ease-out-expo),border-color .25s,box-shadow .35s}.lift:hover{transform:translateY(-4px);border-color:#ffffff47;box-shadow:var(--glass-shadow),0 30px 70px -26px var(--accent-glow)}.sheen{overflow:hidden}.sheen:after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;pointer-events:none;z-index:2;background:linear-gradient(100deg,transparent,rgb(255 255 255 / .18),transparent);transform:translate(-120%)}.sheen:hover:after{animation:sheen .9s ease}.projects-page{display:grid;gap:var(--space-5)}.projects-head{display:flex;justify-content:space-between;align-items:center}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:var(--space-4)}.projects-empty{margin:0;color:var(--text-dim);max-width:60ch}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:4px;width:fit-content;border-radius:var(--radius-pill);background:var(--glass-bg);border:1px solid var(--glass-border)}.segmented button{font:inherit;font-size:var(--text-sm);font-weight:500;height:34px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-dim);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.segmented button[data-active=true]{background:#ffffff29;color:var(--text)}.project-card{display:grid;gap:var(--space-3);color:inherit;text-decoration:none}.project-card h2{font-size:var(--text-lg);letter-spacing:-.01em}.project-card-head,.project-card-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.project-code{font-size:var(--text-xs);color:var(--text-dim)}.project-meta{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.project-card-foot{font-size:var(--text-sm);color:var(--text-dim)}.project-progress{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.project-progress-track{flex:1;height:7px;border-radius:4px;background:#ffffff1a;overflow:hidden}.project-progress-track span{display:block;height:100%;border-radius:4px;background:var(--accent);box-shadow:0 0 14px -2px var(--accent);transform-origin:left;animation:grow 1.1s var(--ease-out-expo) .3s backwards}.new-project-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.new-project-error,.new-project-actions{grid-column:1 / -1}.new-project-actions{display:flex;gap:var(--space-3)}.project-header{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:flex-end}.project-crumb{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-dim)}.project-crumb a{color:inherit;text-decoration:none}.project-crumb a:hover{color:var(--text)}.project-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:var(--space-4)}.project-facts .ui-surface{display:grid;gap:var(--space-1)}.fact-label{font-size:var(--text-sm);color:var(--text-dim)}.project-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--space-4)}.project-columns h2,.members h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.dept-list,.attention-list,.members-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.dept-list li{display:flex;justify-content:space-between}.attention-list li{display:flex;align-items:center;gap:var(--space-3)}.attention-desc{color:var(--text-dim);font-size:var(--text-sm)}.members-list li{display:flex;align-items:center;gap:var(--space-3)}.members-name{flex:1}.members-role{color:var(--text-dim);font-size:var(--text-sm)}.members-form{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end;margin-top:var(--space-4)}.status-control{display:grid;gap:var(--space-3)}.status-control-actions,.status-control-date{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end}.project-tab{display:inline-flex;align-items:center;font-size:var(--text-sm);font-weight:500;height:34px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--text-dim);text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast)}.project-tab:hover{color:var(--text)}.project-tab.active{background:#ffffff29;color:var(--text)}@media (max-width: 819px){.segmented{flex-wrap:nowrap;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented>*{flex:none}.segmented button{height:44px}}@media (max-width: 819px){.projects-page{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.projects-grid,.project-facts,.project-columns{grid-template-columns:minmax(0,1fr)}.project-header{align-items:stretch;gap:var(--space-3)}.project-header h1{overflow-wrap:anywhere}.project-header .ui-button,.status-control,.status-control-actions,.status-control-date{width:100%}.members-form{align-items:stretch}.members-form>*{flex:1 1 100%}.new-project-form{grid-template-columns:minmax(0,1fr)}.new-project-actions .ui-button{flex:1}.pipeline-legend{gap:var(--space-2) var(--space-4)}}.pl-page{display:grid;gap:var(--space-4)}.pl-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pl-head h2,.pl-head h1{font-size:var(--text-lg)}.pl-note{margin:0;color:var(--text-dim);font-size:var(--text-sm);max-width:62ch}.pl-card{padding:var(--space-2)}.pl-list{list-style:none;margin:0;padding:0;display:grid}.pl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-3);align-items:center;padding:var(--space-3);border-top:1px solid var(--border)}.pl-row:first-child{border-top:0}.pl-row[data-inactive] .pl-row-main strong{color:var(--text-faint)}.pl-row-main{display:grid;gap:2px;min-width:0}.pl-row-main strong{font-weight:500;overflow-wrap:anywhere}.pl-sub{color:var(--text-dim);font-size:var(--text-sm);overflow-wrap:anywhere}.pl-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--space-2)}.pl-actions .ui-button,.pl-row .ui-button{height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}.pl-form{display:grid;gap:var(--space-4)}.pl-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media (min-width: 820px){.pl-row{grid-template-columns:minmax(0,1fr) auto auto}.pl-actions{grid-column:auto;flex-wrap:nowrap}}@media (max-width: 819px){.pl-actions .ui-button,.pl-row .ui-button{min-height:44px;flex:1 1 auto}.pl-head>.ui-button{flex:1 1 100%}}.pl-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);padding:var(--space-4);border:1px solid rgb(242 184 75 / .45);border-radius:var(--radius-m);background:#f2b84b17}.pl-banner-text{display:grid;gap:var(--space-1);min-width:0;flex:1 1 260px}.pl-banner-text strong{color:var(--warn)}.pl-banner-text p{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.pl-banner-link{color:var(--accent);font-weight:500;display:inline-flex;align-items:center;min-height:44px}@media (max-width: 819px){.pl-banner>.ui-button{flex:1 1 100%}}.pl-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.pl-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-dim)}.pl-legend li{display:inline-flex;align-items:center;gap:var(--space-2)}.pl-legend li:before{content:"";width:12px;height:12px;border-radius:4px;background:var(--kind)}[data-kind=official]{--kind: var(--info)}[data-kind=custom]{--kind: var(--ok)}[data-kind=closure]{--kind: var(--warn)}.pl-months{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr)}@media (min-width: 820px){.pl-months{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}.pl-month section{display:grid;gap:var(--space-3)}.pl-month h3{font-size:var(--text-lg)}.pl-mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.pl-mgrid-head{text-align:center;font-size:var(--text-xs);color:var(--text-faint)}.pl-day{display:grid;place-items:center;height:28px;border-radius:8px;font-size:var(--text-xs);color:var(--text-dim)}.pl-day[data-weekend]{color:var(--text-faint)}.pl-day[data-kinds~=official]{background:#7aa7ff47;color:var(--text)}.pl-day[data-kinds~=custom]{background:#5fd39a47;color:var(--text)}.pl-day[data-kinds~=closure]{background:#f2b84b52;color:var(--text)}.pl-holidays{list-style:none;margin:0;padding:0;display:grid}.pl-holiday{display:grid;gap:var(--space-2);padding:var(--space-3) 0 var(--space-3) var(--space-3);border-top:1px solid var(--border);border-left:3px solid var(--kind)}.pl-holiday[data-off]{opacity:.6}.pl-holiday-date{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-dim)}.pl-holiday strong{font-weight:500;overflow-wrap:anywhere}.pl-badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.pl-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:24px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);font-size:var(--text-xs);color:var(--text-dim)}.pl-chip[data-tone=warn]{color:var(--warn);border-color:#f2b84b66}.pl-chip[data-tone=danger]{color:var(--danger);border-color:#ff7b7266}.pl-chip-off{padding-right:0;justify-self:start}.pl-chip-off b{color:var(--text);font-weight:500}.pl-chip-off button{font:inherit;min-width:44px;min-height:44px;margin:-10px 0;border:0;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer}.pl-holiday .pl-actions{grid-column:auto}.settings>.pl-banner{margin-bottom:var(--space-5)}.pl-group{display:grid;gap:var(--space-3)}.pl-group h3{font-size:var(--text-lg)}.pl-row[data-status=rejected] .pl-row-main{opacity:.65}.pl-actions-decide .ui-button{flex:1 1 0}.pl-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border)}.pl-tab{position:relative;font:inherit;min-height:44px;padding:0 var(--space-5);color:var(--text-dim);background:none;border:0;cursor:pointer}.pl-tab[aria-selected=true]{color:var(--text)}.pl-tab[aria-selected=true]:after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:-1px;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.pl-row[data-selected]{background:var(--accent-soft);border-radius:var(--radius-m)}.pl-weeknav{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pl-weeknav .ui-button{height:36px;font-size:var(--text-sm)}.pl-weeks{list-style:none;margin:0;padding:0;display:grid}.pl-week{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name load" "bar bar" "state state";gap:var(--space-1) var(--space-3);padding:var(--space-3);border-top:1px solid var(--border);--tone: var(--info)}.pl-week:first-child{border-top:0}.pl-week-name{grid-area:name;font-size:var(--text-sm);color:var(--text-dim)}.pl-week-load{grid-area:load;font-family:var(--font-mono);font-size:var(--text-sm)}.pl-week-state{grid-area:state;font-size:var(--text-xs);color:var(--text-faint)}.pl-bar{grid-area:bar;height:10px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.pl-bar>span{display:block;height:100%;border-radius:inherit;background:var(--tone)}.pl-week[data-state=free] .pl-bar>span{display:none}.pl-week[data-state=full]{--tone: var(--warn)}.pl-week[data-state=over]{--tone: var(--danger)}.pl-week[data-state=over] .pl-week-load,.pl-week[data-state=over] .pl-week-state{color:var(--danger)}.pl-row[data-conflict]{border-left:3px solid var(--danger);background:#ff7b7212}.pl-flag{color:var(--danger);font-size:var(--text-xs);font-weight:600}.pl-conflicts{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid rgb(255 123 114 / .5);border-radius:var(--radius-m);background:#ff7b721a;color:var(--text)}.pl-conflicts strong{color:var(--danger)}.pl-conflicts ul{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-1);font-size:var(--text-sm)}.pl-conflicts p{margin:0;font-size:var(--text-sm);color:var(--text-dim)}.pl-person{grid-template-columns:minmax(0,1fr) auto}.pl-hours{font-family:var(--font-mono);font-size:var(--text-sm)}.pl-leaves{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--space-2)}.pl-chip em{font-style:normal;color:var(--warn)}@media (min-width: 820px){.pl-week{grid-template-columns:200px minmax(0,1fr) 70px 110px;grid-template-areas:"name bar load state";align-items:center}.pl-person{grid-template-columns:minmax(0,1.2fr) auto auto minmax(0,2fr)}.pl-leaves{grid-column:auto}}.bd-tab{display:grid;gap:var(--space-4);align-content:start;min-width:0}.bd-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4)}.bd-head h2{font-size:var(--text-lg)}.bd-versions{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1)}.bd-version{flex:0 0 auto;min-height:44px;display:grid;gap:0;align-content:center;padding:var(--space-2) var(--space-4);text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-m);cursor:pointer}.bd-version:hover{border-color:var(--border-strong)}.bd-version[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.bd-version small{color:var(--text-dim);font-size:var(--text-xs)}.bd-actions{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center}.bd-actions .ui-button{min-height:44px}.bd-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-m);background:#13151af0;-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur))}.bd-bar[data-dirty=true]{border-color:#f2b84b8c}.bd-bar .bd-dirty{color:var(--warn);font-size:var(--text-sm);flex:1 1 auto}.bd-bar .ui-button{min-height:44px}.bd-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.bd-meta .bd-notes{grid-column:1 / -1}.bd-meta .ui-field input,.bd-meta .ui-field select{width:100%;min-width:0;min-height:44px}.bd-note{margin:0;font-size:var(--text-sm);color:var(--text-dim)}.bd-warn{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);border:1px solid rgb(242 184 75 / .45);background:#f2b84b17}.bd-warn strong{color:var(--warn)}.bd-warn p{margin:0;font-size:var(--text-sm);color:var(--text-dim)}.bd-totals{display:grid;gap:var(--space-3)}.bd-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4);margin:0}.bd-kpis div{display:grid;gap:2px;min-width:0}.bd-kpis dt{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.bd-kpis dd{margin:0;font-family:var(--font-mono);font-size:var(--text-lg);overflow-wrap:anywhere}.bd-kpis dd[data-tone=negative]{color:var(--danger)}.bd-kpis dd[data-tone=positive]{color:var(--ok)}.bd-kpis .bd-grand dd{color:var(--accent)}@media (min-width: 820px){.bd-kpis,.bd-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.bd-meta .bd-notes{grid-column:span 4}}.bd-table-wrap{overflow-x:auto;border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg)}.bd-table{border-collapse:separate;border-spacing:0;min-width:1500px;width:100%;font-size:var(--text-sm)}.bd-table th{position:sticky;top:0;text-align:left;font-weight:500;font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-2);background:#13151af5;border-bottom:1px solid var(--border);white-space:nowrap}.bd-table td{padding:4px var(--space-2);border-bottom:1px solid var(--border);vertical-align:middle}.bd-table th:first-child,.bd-table td:first-child{position:sticky;left:0;z-index:2;background:#13151af5}.bd-table input,.bd-table select{width:100%;min-width:0;height:44px;font:inherit;color:var(--text);background:#05070a80;border:1px solid var(--glass-border);border-radius:var(--radius-s);padding:0 var(--space-2)}.bd-table input:focus-visible,.bd-table select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.bd-table input[aria-invalid=true],.bd-table select[aria-invalid=true]{border-color:var(--danger)}.bd-table td.num,.bd-table th.num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.bd-table td.num input{text-align:right;font-family:var(--font-mono)}.bd-table tr[data-missing=true] td.price{color:var(--warn)}.bd-icon{width:44px;height:44px;display:inline-grid;place-items:center;font:inherit;font-size:1.1rem;color:var(--text-dim);background:none;border:0;border-radius:50%;cursor:pointer}.bd-icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.bd-icon.danger{color:var(--danger)}.bd-icon:disabled{opacity:.3;cursor:default}.bd-err{display:block;color:var(--danger);font-size:var(--text-xs)}.bd-cards{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.bd-card{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg)}.bd-card[data-invalid=true]{border-color:#ff7b7299}.bd-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.bd-card-head strong{min-width:0;overflow-wrap:anywhere}.bd-card dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.bd-card dl div{display:grid;gap:0;min-width:0}.bd-card dt{font-size:var(--text-xs);color:var(--text-faint)}.bd-card dd{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere}.bd-card-sub{font-size:var(--text-sm);color:var(--text-dim);margin:0}.bd-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.bd-form .wide{grid-column:1 / -1}.bd-form .ui-field input,.bd-form .ui-field select{min-height:44px}.bd-derived{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);margin:0;padding:var(--space-3);border-radius:var(--radius-m);background:var(--surface)}.bd-derived div{display:grid}.bd-derived dt{font-size:var(--text-xs);color:var(--text-faint)}.bd-derived dd{margin:0;font-family:var(--font-mono)}.bd-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--space-1);align-items:end}.bd-stepper button{height:44px;width:44px;font:inherit;font-size:1.2rem;color:var(--text);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-m);cursor:pointer}.bg-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg)}.bg-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bg-inner{position:relative}.bg-head,.bg-row{display:flex}.bg-head{height:32px;border-bottom:1px solid var(--border)}.bg-corner,.bg-label{position:sticky;left:0;z-index:4;flex:0 0 auto;background:#13151af5;border-right:1px solid var(--border)}.bg-label{display:flex;align-items:center;padding:0 var(--space-3);font-size:var(--text-sm)}.bg-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-weeks{position:relative;flex:0 0 auto}.bg-weeks span{position:absolute;top:0;bottom:0;display:grid;place-items:center;font-size:var(--text-xs);color:var(--text-faint);border-left:1px solid var(--border)}.bg-row{border-bottom:1px solid var(--border)}.bg-track{position:relative;flex:0 0 auto;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--week-px) - 1px),var(--border) calc(var(--week-px) - 1px) var(--week-px))}.bg-bar{position:absolute;top:4px;bottom:4px;min-height:0;z-index:3;display:flex;align-items:center;overflow:hidden;padding:0 12px;border-radius:8px;background:color-mix(in srgb,var(--tone) 28%,#13151a);border:1px solid color-mix(in srgb,var(--tone) 75%,transparent);color:var(--text);font-size:var(--text-xs);cursor:grab;touch-action:manipulation;user-select:none;-webkit-user-select:none}.bg-bar:hover{border-color:var(--tone)}.bg-bar:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bg-bar[data-fixed]{cursor:pointer}.bg-bar[data-dragging]{opacity:.4}.bg-bar-text{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.bg-handle{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;touch-action:none;z-index:1}.bg-handle[data-edge=start]{left:0}.bg-handle[data-edge=end]{right:0}.bg-handle:after{content:"";position:absolute;top:8px;bottom:8px;left:5px;width:2px;border-radius:2px;background:#fff;opacity:0;transition:opacity var(--dur-fast)}.bg-bar:hover .bg-handle:after,.bg-bar:focus-visible .bg-handle:after{opacity:.85}.bg-ghost{position:absolute;top:4px;bottom:4px;z-index:2;display:flex;align-items:center;padding:0 12px;border-radius:8px;border:2px dashed var(--accent);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);pointer-events:none}.bg-empty{margin:0;padding:var(--space-4);color:var(--text-dim)}.bg-help{margin:0;font-size:var(--text-xs);color:var(--text-faint)}.bd-summary,.bd-sum-grid{display:grid;gap:var(--space-4)}@media (min-width: 820px){.bd-sum-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.bd-sum-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.bd-sum-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);align-items:baseline;font-size:var(--text-sm)}.bd-sum-list .sub{grid-column:1 / -1;color:var(--text-dim);font-size:var(--text-xs);font-family:var(--font-mono)}.bd-sum-bar{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.bd-sum-bar span{display:block;height:100%;background:var(--accent);transform-origin:left center}.bd-weeks-chart{display:flex;align-items:flex-end;gap:4px;height:96px;overflow-x:auto;padding-bottom:var(--space-1)}.bd-weeks-chart .col{flex:0 0 auto;width:28px;height:100%;display:grid;grid-template-rows:1fr auto;justify-items:center;gap:2px;font-size:10px;color:var(--text-faint)}.bd-weeks-chart .col i{align-self:end;width:100%;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px}.mz{display:grid;gap:var(--space-4)}.mz-sheet.ui-sheet{width:min(960px,100%)}.mz-controls{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.mz-controls .ui-field input{width:100%;min-height:44px}.mz-check{display:flex;align-items:center;gap:var(--space-3);min-height:44px}.mz-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4);margin:0}.mz-kpis div{display:grid;gap:2px;min-width:0}.mz-kpis dt{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.mz-kpis dd{margin:0;font-family:var(--font-mono);overflow-wrap:anywhere}.mz-kpis dd[data-tone=warn]{color:var(--warn)}@media (min-width: 820px){.mz-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.mz h3{font-size:var(--text-base)}.mz-conflicts{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.mz-conflicts li{display:grid;gap:2px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);border:1px solid var(--border);border-left-width:4px;background:var(--surface)}.mz-conflicts li[data-severity=error]{border-color:#ff7b728c;background:#ff7b721a}.mz-conflicts li[data-severity=warning]{border-color:#f2b84b73;background:#f2b84b17}.mz-conflicts li[data-severity=info]{border-color:#7aa7ff66}.mz-conflicts b{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.mz-conflicts li[data-severity=error] b{color:var(--danger)}.mz-conflicts li[data-severity=warning] b{color:var(--warn)}.mz-conflicts li[data-severity=info] b{color:var(--info)}.mz-table-wrap{overflow-x:auto;border:1px solid var(--glass-border);border-radius:var(--radius-m)}.mz-table{border-collapse:collapse;width:100%;min-width:640px;font-size:var(--text-sm)}.mz-table th{text-align:left;font-weight:500;font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2);border-bottom:1px solid var(--border);white-space:nowrap}.mz-table td{padding:var(--space-2);border-bottom:1px solid var(--border);white-space:nowrap}.mz-table td.num,.mz-table th.num{text-align:right;font-family:var(--font-mono)}.mz-table td[data-shift=true]{color:var(--warn)}.mz-cards{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.mz-cards li{display:grid;gap:2px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.mz-cards .row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm)}.mz-cards .row span:first-child{color:var(--text-dim)}.mz-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.mz-actions .ui-button{min-height:44px;flex:1 1 auto}.mz-applied{display:grid;gap:var(--space-3)}.mz-applied a{display:inline-flex;align-items:center;min-height:44px}@media (max-width: 819px){.mz-sheet.ui-sheet{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.ui-sheet-backdrop:has(.mz-sheet){place-items:stretch}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bd-tab>*,.bd-editor>*,.mz>*{min-width:0}.bd-editor{display:grid;gap:var(--space-4)}.dropbox-field{display:grid;gap:var(--space-1);min-width:0}.dropbox-label{font-size:var(--text-sm);color:var(--text-dim)}.dropbox-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.dropbox-row input{flex:1 1 220px;min-width:0}.dropbox-open{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-3);color:var(--accent);text-decoration:none;font-weight:500}.dropbox-open:hover{text-decoration:underline}.dropbox-none{color:var(--text-faint)}@media (max-width: 819px){.dropbox-row .ui-button{flex:1 1 auto}}.shots-table{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--glass-border);border-radius:var(--radius-l);background:var(--glass-bg);overflow:hidden}.shots-scroll{height:min(640px,70vh);overflow-y:auto}.shots-row{display:grid;grid-template-columns:1.1fr .7fr 2fr .7fr 1.1fr 1fr;gap:var(--space-3);align-items:center;padding:0 var(--space-4)}.shots-head{height:40px;font-size:var(--text-sm);color:var(--text-dim);border-bottom:1px solid var(--border)}.shots-body-row{height:52px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--dur-fast)}.shots-body-row:hover,.shots-body-row:focus-visible{background:#ffffff0d}.shots-code{font-weight:500}.shots-desc{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shots-status{font:inherit;font-size:var(--text-sm);height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:#05070a80;border:1px solid;cursor:pointer;max-width:100%}.shots-status:disabled{cursor:default;opacity:.8}.shots-dots{display:flex;gap:5px;flex-wrap:wrap}.shots-dot{width:10px;height:10px;border-radius:50%}@media (max-width: 800px){.shots-table{overflow-x:auto}.shots-row{min-width:760px}}.shot-panel{grid-template-columns:minmax(0,1fr);position:fixed;z-index:20;top:20px;right:20px;bottom:20px;width:min(420px,calc(100vw - 40px));overflow-y:auto;display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-l);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),0 0 80px -20px var(--accent-glow);animation:rise .4s var(--ease-out-expo) backwards}.shot-panel-head{display:flex;justify-content:space-between;align-items:center}.shot-panel-close{font:inherit;font-size:1.5rem;line-height:1;width:36px;height:36px;border-radius:50%;border:1px solid var(--glass-border);background:var(--surface);color:var(--text);cursor:pointer}.shot-panel textarea{font:inherit;padding:var(--space-3);border-radius:var(--radius-m);background:#05070a80;color:var(--text);border:1px solid var(--glass-border);resize:vertical}.shot-panel select,.shot-panel input[type=number]{font:inherit;height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius-m);background:#05070a80;color:var(--text);border:1px solid var(--glass-border)}.shot-panel select,.shot-panel input,.shot-panel textarea{width:100%;min-width:0}.shot-panel-frames{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.shot-panel h3{font-size:var(--text-base);color:var(--text-dim)}.shot-tasks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.shot-tasks li{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);align-items:center}.shot-task-head{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.shot-task-name{font-weight:500}.shot-task-play{width:44px;height:44px;flex:none;display:grid;place-items:center;color:var(--accent);border-radius:50%;border:1px solid var(--glass-border);background:var(--surface);cursor:pointer}.shot-task-play:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.shot-task-play:disabled{opacity:.5;cursor:default}.shot-task-play[data-running]{color:var(--danger)}.shot-panel-danger{padding-top:var(--space-3);border-top:1px solid var(--border)}.shots-page{display:grid;gap:var(--space-4)}.shots-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.shots-search,.shots-select{font:inherit;height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-pill);background:#05070a80;color:var(--text);border:1px solid var(--glass-border)}.shots-search{flex:1 1 240px;max-width:420px}.shots-count{margin-left:auto;color:var(--text-dim);font-size:var(--text-sm)}.new-shot-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.new-shot-error,.new-shot-actions{grid-column:1 / -1}.new-shot-actions{display:flex;gap:var(--space-3)}.board-page{display:grid;gap:var(--space-4)}.board-hint{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-3)}.board-column{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-3);min-height:320px;border-radius:var(--radius-l);background:var(--glass-bg);border:1px solid var(--glass-border);transition:border-color var(--dur-fast),box-shadow var(--dur-normal)}.board-column[data-over=true]{border-color:var(--accent);box-shadow:0 0 40px -12px var(--accent-glow)}.board-column-head{display:flex;align-items:center;gap:var(--space-2)}.board-column-head h3{font-size:var(--text-base);flex:1}.board-count{color:var(--text-dim);font-size:var(--text-sm)}.board-cards{display:grid;gap:var(--space-2)}.board-card{display:grid;gap:2px;padding:var(--space-3);border-radius:var(--radius-m);background:#ffffff12;border:1px solid var(--glass-border);cursor:grab;touch-action:none;transition:transform var(--dur-normal) var(--ease-out-expo),border-color var(--dur-fast)}.board-card:hover{transform:translateY(-2px);border-color:var(--border-strong)}.board-card[aria-disabled=true]{cursor:default;opacity:.7}.board-card[data-dragging=true]{opacity:.35}.board-card-title{font-weight:500}.board-card-sub{color:var(--text-dim);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-empty{margin:0;color:var(--text-faint);font-size:var(--text-sm)}.board-check{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-dim);font-size:var(--text-sm)}.shot-card{padding-bottom:8px;cursor:pointer}.shot-card:focus-visible{outline:none}.shot-card-body{height:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:0 var(--space-3) 0 var(--space-4);border-radius:var(--radius-m);background:var(--glass-bg);border:1px solid var(--glass-border);transition:border-color var(--dur-fast),background var(--dur-fast)}.shot-card:active .shot-card-body{background:var(--surface-2)}.shot-card:focus-visible .shot-card-body{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.shot-card-main{display:grid;gap:1px;min-width:0}.shot-card-main .shots-code{font-size:var(--text-lg)}.shot-card-meta{font-size:var(--text-xs);color:var(--text-faint)}.shot-card-side{display:grid;justify-items:end;gap:6px}.shot-card .shots-status{height:44px;max-width:148px;padding:0 var(--space-3)}.shot-card .shots-dots{min-height:10px}.shot-card .shots-dot{box-shadow:0 0 0 1px #ffffff47}.shot-card .shots-status{color:var(--text);padding-left:var(--space-4);background-image:radial-gradient(circle at 12px 50%,var(--status) 0 3.5px,transparent 4.5px);background-color:#05070a80}.shots-cards .shots-scroll{overscroll-behavior:auto}@media (max-width: 819px){.shots-search{flex:1 1 100%;max-width:none}.shots-select{flex:1 1 140px;min-width:0}.shots-count{margin-left:0;flex:1 0 100%;order:9;white-space:nowrap}.shots-toolbar>.ui-button{flex:none}.shots-page,.board-page{grid-template-columns:minmax(0,1fr)}.shots-cards .shots-scroll{height:max(420px,calc(100dvh - var(--header-h) - var(--tabbar-h) - env(safe-area-inset-bottom) - 24px))}.new-shot-form{grid-template-columns:1fr}.new-shot-actions .ui-button{flex:1}.shot-panel{z-index:30;top:0;right:0;bottom:0;left:0;width:auto;max-height:none;border-radius:0;border:0;padding:0 var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));background:#0c0e12f7;animation:sheet-up .34s var(--ease-out-expo) backwards;box-shadow:none;overscroll-behavior:contain}.shot-panel{grid-template-columns:minmax(0,1fr)}.shot-panel select,.shot-panel input,.shot-panel textarea{width:100%;min-width:0}.shot-panel-frames{grid-template-columns:repeat(2,minmax(0,1fr))}.shot-panel-head{position:sticky;top:0;z-index:2;margin:0 calc(var(--space-4) * -1);padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-3);background:#0c0e12f7;border-bottom:1px solid var(--border)}.shot-panel-head h2{font-size:1.375rem}.shot-panel-close{width:48px;height:48px;font-size:1.75rem;flex:none}.shot-tasks li{grid-template-columns:1fr;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.shot-panel select,.shot-panel input[type=number],.shot-panel textarea{min-height:48px}.shot-panel textarea{min-height:96px;resize:none}.shot-panel-danger .ui-button{width:100%}.board{grid-auto-columns:85vw;gap:var(--space-3);margin:0 calc(var(--space-4) * -1);padding:0 var(--space-4) var(--space-3);scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-4);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.board[data-dragging=true]{scroll-snap-type:none}.board-column{scroll-snap-align:start;min-height:50dvh}.board-card{min-height:60px;padding:var(--space-3) var(--space-4);cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.board-card:hover{transform:none}.board-card-title{font-size:var(--text-lg)}.board-check{min-height:44px}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.review-page{display:grid;gap:var(--space-5)}.review-intro{margin:var(--space-1) 0 0;color:var(--text-dim)}.review-feed{display:grid;gap:var(--space-4)}.review-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.review-select{font:inherit;height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-pill);background:#05070a80;color:var(--text);border:1px solid var(--glass-border);max-width:100%}.version-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.version-card-link{display:grid;height:100%;align-content:start;color:inherit;text-decoration:none;overflow:hidden;border-radius:var(--radius-l);background:var(--glass-bg);border:1px solid var(--glass-border);transition:border-color var(--dur-fast),transform var(--dur-normal) var(--ease-out-expo)}.version-card-link:hover{border-color:var(--border-strong);transform:translateY(-2px)}.version-card-link:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.version-poster{position:relative;display:block;aspect-ratio:16 / 9;background:#05070a}.version-poster img{width:100%;height:100%;object-fit:cover;display:block}.version-poster-empty{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,rgb(255 255 255 / .03) 0 10px,transparent 10px 20px)}.version-poster-state{position:absolute;left:var(--space-3);bottom:var(--space-3);padding:2px var(--space-3);border-radius:var(--radius-pill);background:#07080bd1}.version-card-body{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}.version-card-title{display:flex;align-items:baseline;gap:var(--space-2)}.version-card-title strong{font-size:var(--text-lg);font-weight:600}.version-number{color:var(--accent)}.version-project{margin-left:auto;font-size:var(--text-xs);color:var(--text-faint)}.version-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.version-notes{font-size:var(--text-xs);color:var(--text-faint)}.version-notes[data-open=true]{color:var(--warn)}.version-card-by{font-size:var(--text-xs);color:var(--text-faint)}.shot-versions{display:grid;gap:var(--space-3);min-width:0}.shot-versions h3{font-size:var(--text-base);color:var(--text-dim)}.version-drop{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-4);text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius-m);background:#05070a59;color:var(--text-dim);transition:border-color var(--dur-fast),background var(--dur-fast)}.version-drop[data-active=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.version-drop-hint{margin:0;font-size:var(--text-xs);color:var(--text-faint)}.version-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.version-uploads{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.version-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-3);align-items:center;padding:var(--space-3);border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface)}.version-upload-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.version-upload progress{grid-column:1 / -1;width:100%;height:6px;accent-color:var(--accent)}.version-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.version-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-2);border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface)}.version-row-thumb{aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;background:#05070a;display:block}.version-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.version-row-main{display:grid;gap:2px;min-width:0;color:inherit;text-decoration:none}.version-row-main strong{font-weight:600}.version-row-sub{font-size:var(--text-xs);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-row-open{color:var(--accent);font-size:var(--text-xs);text-decoration:none}.version-row-open:hover{text-decoration:underline}.version-row-error{font-size:var(--text-xs);color:var(--danger)}.version-row-actions{display:flex;gap:var(--space-2)}.version-row-actions .ui-button{height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}@media (max-width: 819px){.review-page,.review-feed{grid-template-columns:minmax(0,1fr)}.review-page>*,.review-feed>*{min-width:0}.review-select{flex:1 1 100%;min-width:0;font-size:16px}.review-toolbar .segmented{max-width:100%;overflow-x:auto}.version-grid{grid-template-columns:minmax(0,1fr)}.version-card-link{grid-template-columns:132px minmax(0,1fr);align-items:stretch}.version-poster{aspect-ratio:auto;min-height:92px}.version-card-body{padding:var(--space-3);align-content:center}.version-row{grid-template-columns:64px minmax(0,1fr)}.version-row-open{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm)}.version-row-actions{grid-column:1 / -1}.version-row-actions .ui-button{flex:1;height:44px}.version-upload .ui-button{height:44px}.version-drop .ui-button{width:100%}}.intg{display:grid;gap:var(--space-8)}.intg-section{display:grid;gap:var(--space-4)}.intg-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.intg-section h2{font-size:var(--text-lg)}.intg-intro{margin:var(--space-1) 0 0;color:var(--text-dim);max-width:70ch}.intg-empty{margin:0;color:var(--text-dim);max-width:65ch}.intg-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}.intg-card{display:grid;gap:var(--space-3);min-width:0}.intg-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.intg-card h3{font-size:var(--text-lg);overflow-wrap:anywhere}.intg-url{margin:0;color:var(--text-dim);font-size:var(--text-sm);overflow-wrap:anywhere}.intg-meta{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);color:var(--text-faint);font-size:var(--text-sm)}.intg-failures{color:var(--danger)}.intg-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.intg-actions .ui-button{height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}.intg-warning{margin:0;padding:var(--space-3) var(--space-4);border:1px solid rgb(242 184 75 / .5);border-radius:var(--radius-m);background:#f2b84b14;color:var(--warn);font-size:var(--text-sm)}.intg-secret{display:block;padding:var(--space-4);border-radius:var(--radius-m);border:1px solid var(--accent);background:#05070a99;color:var(--accent);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.intg-form{display:grid;gap:var(--space-4)}.intg-hint{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-faint)}.intg-events{border:0;margin:0;padding:0;display:grid;gap:var(--space-3);min-width:0}.intg-events legend{padding:0;margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-dim)}.intg-group{display:grid;gap:0;border-top:1px solid var(--border);padding-top:var(--space-2)}.intg-group-title{font-weight:500}.intg-group-events{display:grid;padding-left:var(--space-8)}@media (min-width: 820px){.intg-group-events{grid-template-columns:repeat(2,minmax(0,1fr))}}.intg-toolbar{display:flex;justify-content:flex-end}.intg-form .dc-check,.intg-events .dc-check{display:flex;align-items:center;gap:var(--space-3);min-height:44px;cursor:pointer}.intg-channels .intg-channel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border)}.intg-channels .intg-channel:first-child{border-top:0}.intg-channel-main{display:flex;align-items:center;gap:var(--space-4);min-width:0}.intg-channel-name{font-weight:500}.intg-channels{gap:0}.intg-note{flex-basis:100%;color:var(--ok);font-size:var(--text-sm)}.intg-channel .ui-field-error{flex-basis:100%}.intg-deliveries{list-style:none;margin:0;padding:0;display:grid}.intg-deliveries li{display:grid;gap:var(--space-1);padding:var(--space-3) 0;border-top:1px solid var(--border)}.intg-deliveries li:first-child{border-top:0}.intg-delivery-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.intg-delivery-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);color:var(--text-faint);font-size:var(--text-sm)}.intg-delivery-error{margin:0;color:var(--danger);font-size:var(--text-sm);overflow-wrap:anywhere}.intg-sheet{width:min(560px,100%)}@media (max-width: 819px){.intg-section-head{flex-direction:column}.intg-section-head .ui-button{width:100%}.intg-actions .ui-button{flex:1 1 auto;min-height:44px}.intg-channels .intg-channel .ui-button{width:100%;min-height:44px}}.pipe{display:grid;gap:var(--space-6)}.pipe-title{font-size:var(--text-lg)}.pipe-intro{margin:calc(var(--space-4) * -1) 0 0;color:var(--text-dim);max-width:70ch}.pipe-validation{margin:0;padding:var(--space-3) var(--space-4);border:1px solid rgb(242 184 75 / .5);border-radius:var(--radius-m);background:#f2b84b14;color:var(--warn);max-width:75ch}.pipe-card{display:grid;gap:var(--space-3);min-width:0}.pipe-card p{margin:0;color:var(--text-dim);max-width:70ch}.pipe-card h2{font-size:var(--text-lg)}.pipe-card h3{margin-top:var(--space-2);font-size:var(--text-sm);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.pipe-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pipe-code,.pipe-paths code{display:block;padding:var(--space-3);border-radius:var(--radius-s);background:#05070a8c;border:1px solid var(--border);font-size:var(--text-sm);overflow-wrap:anywhere;color:var(--text)}.pipe-paths{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.pipe-steps{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-2);color:var(--text-dim);max-width:70ch}.pipe-token{display:grid;gap:var(--space-2);justify-items:start;padding-top:var(--space-3);border-top:1px solid var(--border)}.pipe-hint{font-size:var(--text-sm);color:var(--text-faint)}.pipe-secret{display:grid;gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-m);box-shadow:0 0 32px var(--accent-glow)}.pipe-secret code{overflow-wrap:anywhere;color:var(--accent)}.pipe-warn{color:var(--warn)!important}.pipe-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pipe-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);text-decoration:none}.pipe-link:hover{text-decoration:underline}@media (max-width: 819px){.pipe-token .ui-button,.pipe-actions .ui-button{min-height:44px}.pipe-actions .ui-button{flex:1 1 auto}}.account>.account-note{margin:var(--space-2) 0 var(--space-6)}.account-card{margin-bottom:var(--space-6);display:grid;gap:var(--space-3)}.account-note{margin:0;color:var(--text-dim);max-width:65ch}.pref-list{list-style:none;margin:0;padding:0;display:grid}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border)}.pref-row:first-child{border-top:0}.pref-text{display:grid;gap:2px;min-width:0}.pref-text strong{font-weight:500}.pref-text span{color:var(--text-dim);font-size:var(--text-sm)}.pref-switches{flex:none;display:flex;gap:var(--space-1)}.pref-switch{display:grid;justify-items:center}.pref-switch>span{font-size:.6875rem;color:var(--text-faint);margin-top:-4px}.account-channels{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.account-channels li{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 var(--space-1);border-top:1px solid var(--border)}.account-channels li:first-child{border-top:0}.account-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);text-decoration:none}.account-link:hover{text-decoration:underline}@media (max-width: 819px){.pref-row{flex-direction:column;align-items:stretch;gap:var(--space-1);padding:var(--space-4) 0}.pref-switches{justify-content:space-between}.pref-switch{flex:1}}.bell{position:relative;flex:none;width:44px;height:44px;display:inline-grid;place-items:center;padding:0;font:inherit;color:var(--text);background:transparent;border:1px solid transparent;border-radius:50%;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.bell:hover{background:var(--surface-2);border-color:var(--border)}.bell-count{position:absolute;top:3px;right:1px;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:.6875rem;font-weight:700;line-height:1}.notif-sheet{width:min(480px,100%)}.notif-panel{display:grid;gap:var(--space-3)}.notif-toolbar{display:flex;justify-content:flex-end}.notif-empty{margin:0;color:var(--text-dim);max-width:55ch}.notif-state{display:grid;gap:var(--space-3);justify-items:start}.notif-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.notif-item{width:100%;min-height:56px;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);font:inherit;text-align:left;color:var(--text);background:transparent;border:0;border-radius:var(--radius-m);cursor:pointer;transition:background var(--dur-fast)}.notif-item:hover{background:var(--surface-2)}.notif-dot{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:transparent}li[data-unread] .notif-dot{background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.notif-text{display:grid;gap:2px;min-width:0}.notif-text strong{font-weight:500;overflow-wrap:anywhere}li:not([data-unread]) .notif-text strong{color:var(--text-dim)}.notif-body{color:var(--text-dim);font-size:var(--text-sm);overflow-wrap:anywhere}.notif-time{color:var(--text-faint);font-size:var(--text-xs)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 var(--space-3);padding-right:var(--space-1)}.sidebar-top .sidebar-logo{margin:0 var(--space-3)}.mobile-header-actions{display:flex;align-items:center;gap:var(--space-2)}.tm-bar{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:var(--space-3);min-height:52px;margin:0 0 var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid rgb(34 228 255 / .35);border-radius:var(--radius-pill);background:linear-gradient(135deg,#22e4ff29,#13151adb);-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);box-shadow:0 14px 40px -18px var(--accent-glow)}.tm-bar>.ui-field-error{flex-basis:100%}.tm-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--danger);animation:tm-pulse 1.4s ease-in-out infinite}@keyframes tm-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.tm-target{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-task{color:var(--text-dim)}.tm-clock{font-size:var(--text-lg);font-weight:600}.tm-bar .ui-button{min-width:76px;padding:0 var(--space-4)}.tm-outcome{display:grid;gap:var(--space-2)}.tm-outcome p{margin:0}.tm-outcome-warn{color:var(--warn)}.shell[data-mobile=true] .tm-bar{position:fixed;z-index:11;top:auto;left:var(--space-3);right:var(--space-3);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-2));margin:0}@media (prefers-reduced-motion: reduce){.tm-dot{animation:none}}.shell[data-mobile=true] .shell-content:has(.tm-bar){padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 92px)}.tm-page{display:grid;gap:var(--space-4);align-content:start}.tm-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.tm-h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.tm-sheet,.tm-person{display:grid;gap:var(--space-3);min-width:0}.tm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4)}.tm-toolbar h2{font-size:var(--text-lg)}.tm-weeknav{display:inline-flex;align-items:center;gap:var(--space-2)}.tm-weeklabel{font-size:var(--text-lg);font-weight:600;white-space:nowrap}.tm-toolbar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.tm-nav{width:44px;height:44px;flex:none;font:inherit;font-size:1.5rem;line-height:1;color:var(--text);border-radius:50%;border:1px solid var(--glass-border);background:var(--surface);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.tm-nav:hover{background:var(--surface-2);border-color:var(--border-strong)}.tm-summary{display:grid;gap:var(--space-2)}.tm-summary p{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.tm-meter{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.tm-meter span{display:block;height:100%;border-radius:inherit;background:var(--accent);transform-origin:left;transition:width var(--dur-normal) var(--ease-out-expo)}.tm-meter span[data-over]{background:var(--warn)}.tm-notice{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:#5fd39a1a;border:1px solid rgb(95 211 154 / .35);color:var(--ok);font-size:var(--text-sm)}.tm-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.tm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tm-grid-wrap{overflow-x:auto;border:1px solid var(--glass-border);border-radius:var(--radius-l);background:var(--glass-bg);box-shadow:var(--glass-shadow)}.tm-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.tm-grid th,.tm-grid td{padding:var(--space-2);border-bottom:1px solid var(--border);text-align:center}.tm-grid thead th{color:var(--text-dim);font-weight:500;font-size:var(--text-xs);position:relative}.tm-grid .tm-rowhead{text-align:left;min-width:220px;width:28%;padding-left:var(--space-4)}.tm-grid th.tm-rowhead{font-weight:400}.tm-rowhead-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:52px}.tm-rowtext{display:grid;gap:1px;min-width:0}.tm-rowtext strong{font-size:var(--text-sm)}.tm-task{color:var(--text-dim);overflow-wrap:anywhere}.tm-bid{font-size:var(--text-xs);color:var(--text-faint);font-family:var(--font-mono)}.tm-total-col{width:72px;font-weight:600;color:var(--text)}.tm-grid tfoot td,.tm-grid tfoot th{border-bottom:0;background:#ffffff08}.tm-daytotal{display:grid;gap:0;justify-items:center}.tm-daytotal span{font-size:var(--text-xs);color:var(--text-faint)}.tm-daytotal[data-load=full] strong{color:var(--ok)}.tm-daytotal[data-load=over] strong{color:var(--warn)}.tm-daytotal[data-load=under] strong{color:var(--text)}[data-off=holiday]{background:repeating-linear-gradient(135deg,#f2b84b24 0,#f2b84b24 6px,#f2b84b0f 6px,#f2b84b0f 12px)}[data-off=leave]{background:repeating-linear-gradient(135deg,#7aa7ff29 0,#7aa7ff29 6px,#7aa7ff12 6px,#7aa7ff12 12px)}[data-off=nonworking]{background:#ffffff09}.tm-empty{padding:var(--space-8) var(--space-4);color:var(--text-dim);text-align:center}.tm-play{width:44px;height:44px;flex:none;display:grid;place-items:center;color:var(--accent);border-radius:50%;border:1px solid var(--glass-border);background:var(--surface);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.tm-play:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.tm-play:disabled{opacity:.5;cursor:default}.tm-play[data-running]{color:var(--danger)}.tm-cell{padding:4px}.tm-cellbox{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px}.tm-cell-input{width:64px;height:40px;padding:0 var(--space-2);text-align:center;font:inherit;color:var(--text);background:#05070a59;border:1px solid transparent;border-radius:var(--radius-s);transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-normal)}.tm-cell-input:hover:not(:disabled){border-color:var(--border-strong)}.tm-cell-input:focus-visible{outline:none;border-color:var(--accent);background:#05070a99;box-shadow:0 0 0 3px var(--accent-soft)}.tm-cell-input:disabled{color:var(--text-dim);background:transparent;cursor:not-allowed;opacity:.8}[data-status=submitted] .tm-cell-input{color:var(--warn)}[data-status=approved] .tm-cell-input{color:var(--ok)}.tm-step{width:24px;height:40px;flex:none;padding:0;font:inherit;color:var(--text-dim);border:0;border-radius:var(--radius-s);background:transparent;cursor:pointer;opacity:0;transition:opacity var(--dur-fast),background var(--dur-fast)}.tm-cellbox:hover .tm-step:not(:disabled),.tm-cellbox:focus-within .tm-step:not(:disabled){opacity:1}.tm-step:hover{background:var(--surface-2);color:var(--text)}.tm-grid .tm-cellbox{margin:0 -10px}.tm-grid .tm-cell-input{width:52px}.tm-grid .tm-step{width:20px}.tm-dayview{display:grid;gap:var(--space-4)}.tm-daystrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.tm-chip{min-height:56px;display:grid;place-items:center;align-content:center;gap:0;padding:4px 0;font:inherit;font-size:var(--text-xs);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;position:relative;overflow:hidden}.tm-chip strong{font-size:var(--text-base);color:var(--text);font-weight:600}.tm-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tm-chip[data-load=full]:after,.tm-chip[data-load=under]:after,.tm-chip[data-load=over]:after{content:"";position:absolute;left:30%;right:30%;bottom:4px;height:3px;border-radius:2px;background:var(--info)}.tm-chip[data-load=full]:after{background:var(--ok)}.tm-chip[data-load=over]:after{background:var(--warn)}.tm-daynav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:var(--space-2)}.tm-dayhead{display:grid;gap:0;text-align:center;padding:var(--space-1) 0;border-radius:var(--radius-m)}.tm-dayhead h2{font-size:var(--text-lg);text-transform:capitalize}.tm-cards{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.tm-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg)}.tm-card-main{display:grid;gap:2px;min-width:0}.tm-card-title{font-weight:500;overflow-wrap:anywhere}.tm-card .tm-cell-input{width:56px;height:44px}.tm-card .tm-step{opacity:1;width:44px;height:44px;border:1px solid var(--glass-border);font-size:1.25rem}.tm-card .tm-cellbox{gap:4px}.tm-empty-day{margin:0;padding:var(--space-6) 0;text-align:center;color:var(--text-dim)}.tm-add{position:sticky;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-3));z-index:4}.tm-add .ui-button{width:100%;min-height:56px;font-size:var(--text-lg);box-shadow:0 14px 40px -12px var(--accent-glow)}.shell[data-mobile=true] .tm-bar~* .tm-add,.shell[data-mobile=true] .shell-content:has(.tm-bar) .tm-add{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 84px)}.tm-picker{display:grid;gap:var(--space-3)}.tm-stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:end;gap:var(--space-3)}.tm-stepper>button{width:48px;height:48px;font:inherit;font-size:1.5rem;color:var(--text);border-radius:50%;border:1px solid var(--glass-border);background:var(--surface);cursor:pointer}.tm-stepper .ui-field input{text-align:center;height:48px;font-size:1.25rem}.tm-pending{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.tm-pending-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.tm-pending-main{display:grid;gap:2px;min-width:0}.tm-readonly{display:grid;gap:var(--space-3)}.tm-ro-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.tm-ro-row{padding:var(--space-3) var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg);display:grid;gap:var(--space-2)}.tm-ro-head{display:flex;justify-content:space-between;gap:var(--space-3)}.tm-ro-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.tm-ro-day{display:grid;place-items:center;gap:0;padding:4px 0;border-radius:var(--radius-s);background:#ffffff0a;font-size:var(--text-xs);color:var(--text-dim);min-height:44px}.tm-ro-day strong{color:var(--text);font-size:var(--text-sm)}.tm-ro-day[data-status=submitted] strong{color:var(--warn)}.tm-ro-day[data-status=approved] strong{color:var(--ok)}.tm-ro-total{margin:0;color:var(--text-dim);font-size:var(--text-sm)}@media (max-width: 819px){.tm-toolbar-actions{margin-left:0;width:100%}.tm-toolbar-actions .ui-button{flex:1 1 auto}.tm-pending-card .ui-button{width:100%}}@media (min-width: 820px){body:has(.tm-bar) .shot-panel{top:88px}}.shell[data-mobile=true] .tm-bar{z-index:32}@media (max-width: 819px){body:has(.tm-bar) .shot-panel{padding-bottom:calc(var(--tabbar-h) + 120px)}}:root{--tabbar-h: 60px;--header-h: 52px}.mobile-header{position:sticky;top:0;z-index:5;height:calc(var(--header-h) + env(safe-area-inset-top));margin:0 calc(var(--space-4) * -1);padding:env(safe-area-inset-top) var(--space-4) 0;display:flex;align-items:center;justify-content:space-between;background:#07080bb8;-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border-bottom:1px solid var(--border)}.mobile-header img{height:26px;width:auto;display:block}.mobile-header .user-avatar{width:32px;height:32px}.tabbar{position:fixed;z-index:10;left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom);background:#0c0e12c7;-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border-top:1px solid var(--glass-border);box-shadow:inset 0 1px #ffffff1f}.tabbar ul{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.tab{position:relative;width:100%;min-height:var(--tabbar-h);display:grid;place-items:center;padding:0;font:inherit;color:var(--text-dim);background:none;border:0;text-decoration:none;cursor:pointer;transition:color var(--dur-fast)}.tab-content{display:grid;justify-items:center;gap:3px;font-size:.6875rem;font-weight:500;letter-spacing:.01em}.tab.active,.tab[data-active=true]{color:var(--accent)}.tab-active{position:absolute;top:0;left:28%;right:28%;height:2px;border-radius:0 0 3px 3px;background:var(--accent);box-shadow:0 2px 16px 1px var(--accent-glow)}.sheet-backdrop{position:fixed;z-index:39;top:0;right:0;bottom:0;left:0;background:#0000008c}.more-sheet{position:fixed;z-index:40;left:0;right:0;bottom:0;max-height:86dvh;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:var(--space-3);padding:0 var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));background:#13151af0;-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border:1px solid var(--glass-border);border-bottom:0;border-radius:28px 28px 0 0;box-shadow:inset 0 1px #ffffff47,0 -24px 60px -28px #000c}.more-sheet:focus{outline:none}.sheet-grip{display:grid;place-items:center;height:28px;margin:0 calc(var(--space-4) * -1);touch-action:none;cursor:grab}.sheet-grip span{width:40px;height:4px;border-radius:2px;background:var(--border-strong)}.more-user{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2)}.more-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.more-link{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-4);border-radius:var(--radius-m);color:var(--text);text-decoration:none;font-weight:500;transition:background var(--dur-fast),color var(--dur-fast)}a.more-link:active{background:var(--surface-2)}.more-link.active{background:var(--accent-soft);color:var(--accent)}.more-soon-title{margin:var(--space-2) var(--space-2) var(--space-2);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.more-soon{list-style:none;margin:0;padding:0 var(--space-1);display:flex;flex-wrap:wrap;gap:var(--space-2)}.more-soon li{display:inline-flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px dashed var(--border-strong);color:var(--text-dim);font-size:var(--text-sm)}.more-logout{font:inherit;font-weight:500;min-height:48px;border-radius:var(--radius-pill);cursor:pointer;color:var(--danger);background:#ff7b7214;border:1px solid rgb(255 123 114 / .45)}@media (max-width: 819px){.shell{display:block;padding:0 var(--space-4)}.shell-content{padding:var(--space-4) 0 calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-8))}.shell-content h1{font-size:1.5rem}}.tab-content{position:relative}.tab .nav-badge{position:absolute;top:-6px;left:calc(50% + 6px);min-width:18px;height:18px;font-size:.625rem}.more-link .nav-badge{margin-left:auto}.player{--pl-bg: #0a0b0e;--pl-panel: #0f1115;--pl-raise: #171a20;--pl-line: rgb(255 255 255 / .1);display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--pl-bg);color:var(--text)}.player-message{height:auto;min-height:100dvh}.player-message .projects-empty{padding:var(--space-6) var(--space-4)}.player-top{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-height:56px;padding:6px var(--space-4);background:var(--pl-panel);border-bottom:1px solid var(--pl-line)}.player-back{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:-8px;border-radius:50%;color:var(--text);text-decoration:none}.player-back:hover{background:var(--pl-raise)}.player-title{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-lg);letter-spacing:0}.player-version{color:var(--accent)}.approval{margin-left:auto;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.approval-who{font-size:var(--text-sm);color:var(--text-dim)}.approval-actions{display:flex;gap:var(--space-2)}.approval-actions .ui-button{height:40px}.suggestion{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#5fd39a1f;border-bottom:1px solid rgb(95 211 154 / .35)}.suggestion span:first-child{flex:1 1 220px;font-weight:500}.player-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px}.player-main{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0;padding:var(--space-4);overflow-y:auto}.player-notes{min-height:0;display:flex;flex-direction:column;background:var(--pl-panel);border-left:1px solid var(--pl-line)}.stage-box{flex:1 1 0;min-height:200px;container-type:size;display:flex;align-items:center;justify-content:center;gap:4px;background:#000;border-radius:6px;overflow:hidden}.stage{position:relative;margin:0;flex:none;width:min(100cqw,calc(100cqh * var(--ar)));aspect-ratio:var(--ar);background:#000;overflow:hidden}.stage-box[data-compare=side] .stage{width:min(calc(50cqw - 2px),calc(100cqh * var(--ar)))}.stage-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;background:#000;-webkit-user-select:none;user-select:none}.stage-over{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.stage-wipe-line{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #00000080;pointer-events:none}.stage-tag{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:6px;background:#000000b3;font:600 var(--text-xs) var(--font-mono);pointer-events:none}.draw-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.draw-svg{display:block;width:100%;height:100%;pointer-events:none;touch-action:auto}.draw-svg[data-active=true]{pointer-events:all;touch-action:none;cursor:crosshair}.draw-text{position:absolute;z-index:3;display:flex;gap:4px;max-width:90%;transform:translateY(-100%)}.draw-text input{font:inherit;font-size:16px;height:44px;min-width:0;width:220px;max-width:100%;padding:0 var(--space-3);border-radius:8px;border:1px solid var(--accent);background:#0a0b0eeb;color:var(--text)}.draw-text button{font:inherit;height:44px;padding:0 var(--space-3);border-radius:8px;border:1px solid var(--pl-line);background:var(--pl-raise);color:var(--text);cursor:pointer}.tbtn{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0;font:inherit;color:var(--text);background:var(--pl-raise);border:1px solid var(--pl-line);border-radius:10px;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.tbtn:hover:not(:disabled){background:#20242c;border-color:var(--border-strong)}.tbtn:disabled{opacity:.4;cursor:not-allowed}.tbtn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tbtn-play{min-width:60px;background:var(--accent);border-color:transparent;color:var(--accent-ink)}.tbtn-play:hover:not(:disabled){background:var(--accent);filter:brightness(1.1)}.tbtn-text{font:600 var(--text-base) var(--font-mono)}.tbtn-wide{padding:0 var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm)}.draw-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;padding:var(--space-2);background:var(--pl-panel);border:1px solid var(--pl-line);border-radius:12px}.draw-group{display:flex;align-items:center;gap:var(--space-1)}.draw-close{margin-left:auto}.swatch{width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}.swatch:before{content:"";width:26px;height:26px;border-radius:50%;background:var(--swatch);border:2px solid rgb(255 255 255 / .4);box-sizing:border-box}.swatch[aria-pressed=true]:before{border-color:#fff;box-shadow:0 0 0 3px var(--accent)}.player-tools{display:flex;flex-wrap:wrap;gap:var(--space-2)}.player-tools .ui-button{display:inline-flex;align-items:center;gap:var(--space-2);height:44px;border-radius:10px}.player-tools .ui-button[data-variant=ghost]{background:var(--pl-raise)}.still-note{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.timeline{padding:0 6px}.timeline-track{position:relative;height:44px;cursor:pointer;touch-action:none;border-radius:6px}.timeline-rail{position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;background:#ffffff29;border-radius:3px}.timeline-played{position:absolute;left:0;top:50%;height:6px;margin-top:-3px;background:#22e4ff80;border-radius:3px;pointer-events:none}.timeline-loop{position:absolute;top:4px;bottom:4px;background:#f2b84b33;border-left:2px solid var(--warn);border-right:2px solid var(--warn);pointer-events:none}.timeline-loop[data-on=false]{opacity:.45;border-style:dashed}.timeline-head{position:absolute;top:4px;bottom:4px;width:2px;margin-left:-1px;background:#fff;border-radius:1px;pointer-events:none;box-shadow:0 0 0 1px #00000080}.timeline-marker{position:absolute;top:0;height:44px;min-width:28px;margin-left:-14px;padding:0;background:none;border:0;cursor:pointer;display:flex;align-items:flex-start;justify-content:center;z-index:2}.timeline-marker span{margin-top:4px;width:12px;height:12px;border-radius:50%;background:var(--warn);border:2px solid var(--pl-bg);box-sizing:border-box;transition:transform var(--dur-fast)}.timeline-marker:hover span,.timeline-marker:focus-visible span{transform:scale(1.35)}.timeline-marker[data-resolved=true] span{background:var(--ok)}.timeline-marker[data-kind=range]{margin-left:0;justify-content:stretch}.timeline-marker[data-kind=range] span{width:100%;height:8px;border-radius:4px;margin-top:2px;opacity:.85}.transport{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-3) var(--space-4)}.transport-main,.transport-loop,.transport-audio{display:flex;align-items:center;gap:var(--space-1)}.transport-readout{display:grid;justify-items:end;gap:0;line-height:1.2}.readout-frame{font-size:var(--text-lg);font-weight:600}.readout-tc{font-size:var(--text-sm);color:var(--text-dim)}.speed select{font:inherit;height:44px;padding:0 var(--space-3);border-radius:10px;background:var(--pl-raise);color:var(--text);border:1px solid var(--pl-line)}.volume{width:90px;accent-color:var(--accent)}.compare-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3) var(--space-4);padding:var(--space-3);background:var(--pl-panel);border:1px solid var(--pl-line);border-radius:12px}.compare-bar .ui-field select{background:var(--pl-raise)}.compare-amount{display:grid;gap:2px;flex:1 1 180px;font-size:var(--text-sm);color:var(--text-dim)}.compare-amount input{width:100%;accent-color:var(--accent);height:28px}.notes{display:flex;flex-direction:column;min-height:0;height:100%}.notes-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--pl-line)}.notes-head h2{font-size:var(--text-lg)}.notes-head .segmented{background:var(--pl-raise);border-color:var(--pl-line)}.notes-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-4);overscroll-behavior:contain}.note-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.note{display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--pl-raise);border:1px solid var(--pl-line);border-left:3px solid var(--warn);border-radius:10px}.note[data-resolved=true]{border-left-color:var(--ok);opacity:.78}.note[data-current=true]{background:#1c2128;box-shadow:0 0 0 1px var(--accent)}.note-head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.note-author{font-weight:600}.note-time{margin-left:auto;font-size:var(--text-xs);color:var(--text-faint)}.note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.note-frame{font:600 var(--text-sm) var(--font-mono);min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);cursor:pointer}.note-frame[data-static=true]{border-color:var(--pl-line);background:transparent;color:var(--text-dim);cursor:default;display:inline-flex;align-items:center}.note-tag{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--pl-line);color:var(--text-dim)}.note-tag[data-tone=ok]{color:var(--ok);border-color:#5fd39a66}.note-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.note-replies{list-style:none;margin:0;padding:0 0 0 var(--space-3);display:grid;gap:var(--space-2);border-left:1px solid var(--pl-line);font-size:var(--text-sm)}.note-reply{display:grid;gap:var(--space-2)}.note-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.note-action{font:inherit;font-size:var(--text-sm);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--pl-line);background:transparent;color:var(--text-dim);cursor:pointer}.note-action:hover{color:var(--text);border-color:var(--border-strong)}.note-action[data-primary=true]{color:var(--ok);border-color:#5fd39a73}.note-action[data-danger=true]{color:var(--danger);border-color:#ff7b7280}.notes textarea,.modal textarea{font:inherit;padding:var(--space-3);border-radius:10px;background:#0a0b0e;color:var(--text);border:1px solid var(--pl-line);resize:vertical;width:100%}.composer{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--pl-line);background:var(--pl-panel)}.composer .ui-button{width:100%;height:44px;border-radius:10px}.composer-hint{margin:0;font-size:var(--text-sm);color:var(--text-dim)}.composer-draft{margin:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:10px;background:var(--accent-soft);font-size:var(--text-sm)}.composer-pins{display:grid;gap:0}.composer-check{display:flex;align-items:center;gap:var(--space-2);min-height:36px;font-size:var(--text-sm);color:var(--text-dim);cursor:pointer}.composer-check input{accent-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:var(--space-4);background:#000000a8}.modal{width:min(540px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:#13151a;color:var(--text);border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 30px 80px #0009}.modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:#13151a;border-bottom:1px solid var(--pl-line)}.modal-head h2{font-size:var(--text-lg)}.modal-close{width:44px;height:44px;font:inherit;font-size:1.5rem;line-height:1;border-radius:50%;border:0;background:transparent;color:var(--text);cursor:pointer}.modal-close:hover{background:var(--pl-raise)}.modal-body{display:grid;gap:var(--space-4);padding:var(--space-4)}.modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.link-form{display:grid;gap:var(--space-3)}.link-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.link-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.link-row{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--pl-line);border-radius:10px;background:var(--pl-raise)}.link-row[data-status=revoked],.link-row[data-status=expired]{opacity:.65}.link-row-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.link-row-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--text-sm);color:var(--text-dim)}.link-row-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.link-row .ui-button{justify-self:start;height:40px}.link-created{display:grid;gap:var(--space-3)}.link-created p{margin:0}.notes-bar,.notes-sheet{display:none}@media (max-width: 819px){.player{height:auto;min-height:100dvh;padding-bottom:calc(56px + env(safe-area-inset-bottom))}.player-top{padding:4px var(--space-3);padding-top:calc(4px + env(safe-area-inset-top));gap:var(--space-2)}.player-top{flex-wrap:nowrap}.player-title{flex:1;min-width:0}.approval[data-part=status]{flex-wrap:wrap;justify-content:flex-end;gap:0 var(--space-2)}.approval-who{display:none}.approval[data-part=actions],.approval-actions{display:contents}.approval-actions .ui-button{height:44px;padding:0 var(--space-3);border-radius:10px}.approval-actions .ui-button[data-variant=primary]{color:var(--accent-ink)}.approval-actions .ui-button[data-variant=ghost]{background:var(--pl-raise)}.player-body{display:block}.player-main{padding:0 0 var(--space-4);overflow:visible;gap:var(--space-3)}.player-main>:not(.stage-box){margin-inline:var(--space-3)}.stage-box{flex:none;container-type:inline-size;min-height:0;border-radius:0;display:flex;flex-direction:column}.stage-box[data-compare=side]{flex-direction:row}.stage{width:100cqw}.stage-box[data-compare=side] .stage{width:calc(50cqw - 2px)}.transport{grid-template-columns:auto 1fr}.transport-loop{grid-column:1}.transport-audio{grid-column:2;justify-self:end}.volume{display:none}.link-form-row{grid-template-columns:1fr}.note-action,.note-frame,.composer-check,.link-row .ui-button{min-height:44px}.player-tools{display:grid;grid-template-columns:1fr 1fr}.player-tools .ui-button{justify-content:center;padding:0 var(--space-2)}.draw-toolbar{gap:2px var(--space-3);padding:6px}.draw-toolbar .tbtn{min-width:40px}.swatch{width:40px}.compare-bar{gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3)}.compare-bar>.ui-field{flex:1 1 110px}.compare-bar>.tbtn{flex:1 1 auto}.timeline{margin-inline:var(--space-3)}.notes-bar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;align-items:center;gap:var(--space-3);height:calc(56px + env(safe-area-inset-bottom));padding:0 var(--space-4) env(safe-area-inset-bottom);font:inherit;font-weight:600;color:var(--text);background:var(--pl-panel);border:0;border-top:1px solid var(--pl-line);cursor:pointer;text-align:left}.notes-bar[aria-expanded=true]{color:var(--accent)}.notes-sheet{position:fixed;z-index:29;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));height:min(54dvh,480px);flex-direction:column;background:var(--pl-panel);border-top:1px solid var(--border-strong);border-radius:16px 16px 0 0;box-shadow:0 -18px 40px #00000080;animation:sheet-up .28s var(--ease-out-expo) backwards}.notes-sheet:not([hidden]){display:flex}.sheet-handle{flex:none;display:grid;place-items:center}.sheet-close{width:100%;height:44px;display:grid;place-items:center;background:none;border:0;cursor:pointer}.sheet-close span{width:40px;height:4px;border-radius:2px;background:var(--border-strong)}.notes-sheet .notes{flex:1;min-height:0}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92dvh;border-radius:16px 16px 0 0;border-bottom:0;animation:sheet-up .28s var(--ease-out-expo) backwards}}.portal-screen{min-height:100dvh;display:grid;place-items:center;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:#0a0b0e;color:var(--text)}.portal-card{width:min(420px,100%);display:grid;gap:var(--space-3);padding:var(--space-6);background:#0f1115;border:1px solid rgb(255 255 255 / .1);border-radius:16px}.portal-card h1{font-size:1.25rem;letter-spacing:0}.portal-card p{margin:0;color:var(--text-dim)}.portal-logo{display:block;height:20px;width:auto;opacity:.85}.portal-card .portal-logo{height:24px}.portal-brand{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)!important}.portal-form{display:grid;gap:var(--space-3)}.portal-card .ui-field input{height:48px;background:#0a0b0e;border-color:#ffffff29;border-radius:10px}.portal-card .ui-button,.portal-decision .ui-button{height:48px;border-radius:10px}.portal-card .ui-button[data-variant=ghost],.portal-decision .ui-button[data-variant=ghost]{background:var(--pl-raise)}.portal .player-top{min-height:52px;gap:var(--space-3)}.portal-top{flex-wrap:nowrap}.portal-title{flex:1;min-width:0;flex-wrap:wrap;row-gap:0}.portal-project{color:var(--text-dim);font-size:var(--text-sm);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.portal-who{flex:none;max-width:40%;min-height:44px;padding:0 var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--text-dim);background:transparent;border:1px solid var(--pl-line);border-radius:var(--radius-pill);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-who:hover{color:var(--text);border-color:var(--border-strong)}.portal-muted{margin:0;color:var(--text-dim);font-size:var(--text-sm)}.portal-decision{max-width:560px;display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--pl-panel);border:1px solid var(--pl-line);border-radius:12px}.portal-decision h2{font-size:var(--text-lg)}.portal-decision-now{margin:0;display:grid;gap:var(--space-1)}.portal-decision-comment{color:var(--text-dim);font-size:var(--text-sm);overflow-wrap:anywhere;white-space:pre-wrap}.portal-decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.portal-confirmed{margin:0;padding:var(--space-2) var(--space-3);border-radius:10px;background:#5fd39a1f;border:1px solid rgb(95 211 154 / .35)}@media (max-width: 819px){.portal .player-top{padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}.portal .player-main{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.portal .player-main>:not(.stage-box){margin-inline:max(var(--space-3),env(safe-area-inset-left))}.portal .player-tools{grid-template-columns:1fr}.portal .notes-sheet{height:min(76dvh,640px)}.portal .notes-bar{padding-left:max(var(--space-4),env(safe-area-inset-left))}.portal .ui-button,.portal .tbtn,.portal .note-action{min-height:44px}}@media (max-width: 819px) and (orientation: landscape) and (max-height: 520px){.portal .stage{width:min(100cqw,calc((100dvh - 64px) * var(--ar)));margin-inline:auto}.portal .notes-sheet{height:min(70dvh,300px)}}@media (prefers-reduced-motion: reduce){.portal .notes-sheet,.portal .modal{animation:none}}@media (pointer: coarse){.portal .segmented button,.portal .note-frame,.portal .note-action,.portal .composer-check{min-height:44px}}@media (min-width: 820px) and (pointer: coarse) and (max-height: 520px){.portal .player-body{grid-template-columns:minmax(0,1fr) 340px}.portal .transport{grid-template-columns:auto 1fr}.portal .transport-loop{grid-column:1}.portal .transport-audio{grid-column:2;justify-self:end}.portal .volume{display:none}.portal .stage-box{min-height:160px}.portal .composer{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.portal .composer textarea{height:52px;min-height:52px;resize:none}.portal .composer-hint,.portal .composer-pins{display:none}.portal .notes-head{padding:var(--space-1) var(--space-3)}}.import{display:grid;gap:var(--space-5)}.import-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--text-faint)}.import-steps li{display:flex;align-items:center;gap:var(--space-2);transition:color var(--dur-fast)}.import-steps li[data-done]{color:var(--text-dim)}.import-steps li[aria-current=step]{color:var(--text)}.import-step-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-sm)}.import-steps li[aria-current=step] .import-step-num{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.import-step{display:grid;gap:var(--space-4)}.import-drop{display:grid;place-items:center;min-height:140px;padding:var(--space-6);border:1px dashed var(--glass-border);border-radius:var(--radius-m, 10px);color:var(--text-dim);text-align:center;cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast)}.import-drop:hover,.import-drop[data-over]{border-color:var(--accent);background:#ffffff08}.import-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.import-file-input:focus-visible+*,.import-drop:focus-within{outline:2px solid var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.import-entities{display:flex;flex-wrap:wrap;gap:var(--space-3);border:0;margin:0;padding:0}.import-entities legend{color:var(--text-faint);font-size:var(--text-sm);margin-bottom:var(--space-3);padding:0}.import-entity{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m, 10px);cursor:pointer;transition:border-color var(--dur-fast)}.import-entity:hover,.import-entity[data-checked]{border-color:var(--accent)}.import-mapping{align-items:start;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.import-required{font-size:var(--text-sm);color:var(--text-faint)}.import-missing{margin:0;color:var(--warn, #ffb454)}.import-summary{margin:0;font-size:var(--text-lg, 1.125rem)}.import-actions{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:flex-end}.import-link{color:var(--accent);text-decoration:none;margin-right:auto}.import-link:hover{text-decoration:underline}.import-sample{max-height:220px;overflow:auto}@media (max-width: 819px){.import{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.import-step{grid-template-columns:minmax(0,1fr)}.import-steps{gap:var(--space-2) var(--space-4);font-size:var(--text-sm)}.import-mapping{grid-template-columns:minmax(0,1fr)}.import-entity{min-height:48px;flex:1 1 100%}.import-drop{min-height:120px;padding:var(--space-4)}.import-actions{flex-direction:column-reverse;align-items:stretch}.import-actions .ui-button{width:100%}.import-link{margin:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.import-sample{max-width:100%}}.gt-page{display:grid;gap:var(--space-4);min-width:0}.gt-surface{padding:var(--space-4);min-width:0}.gt{display:grid;gap:var(--space-3);min-width:0}.gt-zoom{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-pill);overflow:hidden}.gt-zoom-btn{padding:0 var(--space-4)}.gt-zoom-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--text)}.gt-hint{margin:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-m);background:var(--accent-soft);color:var(--text);font-size:var(--text-sm)}.gt-tray{border:1px solid var(--border);border-radius:var(--radius-m);padding:0 var(--space-3)}.gt-tray summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--text-dim)}.gt-tray .pl-row{grid-template-columns:minmax(0,1fr) auto}.gt-scroll{user-select:none;-webkit-user-select:none;position:relative;max-height:min(70dvh,720px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--glass-border);border-radius:var(--radius-m);background:#05070a59}.gt-inner{position:relative}.gt-head{position:sticky;top:0;z-index:8;display:flex;background:var(--surface-solid);border-bottom:1px solid var(--border-strong)}.gt-corner{position:sticky;left:0;z-index:9;flex:0 0 auto;background:var(--surface-solid);border-right:1px solid var(--border)}.gt-headtrack{position:relative;flex:0 0 auto}.gt-months,.gt-units{position:relative;height:26px}.gt-months span,.gt-units span{position:absolute;top:0;height:100%;display:flex;align-items:center;font-size:var(--text-xs);color:var(--text-dim);border-left:1px solid var(--border);padding-left:4px;overflow:hidden;white-space:nowrap}.gt-months span{color:var(--text);font-weight:500;border-left-color:var(--border-strong)}.gt-units span{justify-content:center;padding:0;font-family:var(--font-mono)}.gt-units span[data-weekend]{color:var(--text-faint);background:#ffffff0a}.gt-units span[data-today]{color:var(--accent-ink);background:var(--accent);font-weight:600}.gt-body{position:relative}.gt-bg{position:absolute;top:0;pointer-events:none;z-index:0}.gt-shade{position:absolute;top:0;bottom:0;pointer-events:auto}.gt-shade[data-kind=weekend]{background:#ffffff0a}.gt-shade[data-kind=holiday]{background:repeating-linear-gradient(135deg,#7aa7ff47 0,#7aa7ff47 4px,#7aa7ff1f 4px,#7aa7ff1f 8px)}.gt-today{position:absolute;top:0;width:2px;margin-left:-1px;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);pointer-events:none;z-index:3}.gt-arrows{position:absolute;left:0;top:0;z-index:2;pointer-events:none;overflow:visible}.gt-arrow-line{fill:none;stroke:var(--text-dim);stroke-width:1.5}.gt-arrow[data-bad] .gt-arrow-line{stroke:var(--warn);stroke-dasharray:4 3}.gt-arrow-hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer}.gt-arrow:hover .gt-arrow-line{stroke:var(--accent);stroke-width:2}.gt-row{position:absolute;left:0;border-bottom:1px solid var(--border)}.gt-group{background:#ffffff0a}.gt-label{position:sticky;left:0;z-index:4;height:100%;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--surface-solid);border-right:1px solid var(--border);min-width:0;overflow:hidden}.gt-group .gt-label{background:color-mix(in srgb,var(--surface-solid) 90%,#fff);font-size:var(--text-sm)}.gt-label strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gt-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--dept)}.gt-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.gt-bar{position:absolute;z-index:3;display:flex;align-items:center;overflow:hidden;padding:0 8px;border-radius:6px;background:color-mix(in srgb,var(--dept) 28%,#13151a);border:1px solid color-mix(in srgb,var(--dept) 75%,transparent);color:var(--text);font-size:var(--text-xs);cursor:grab;touch-action:manipulation;user-select:none;-webkit-user-select:none}.gt-bar:hover{border-color:var(--dept)}.gt-bar[data-link]{cursor:crosshair}.gt-bar[data-link-from]{outline:2px solid var(--accent);outline-offset:1px}.gt-bar[data-violation]{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.gt-progress{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--dept) 60%,transparent);pointer-events:none}.gt-bar-text{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.gt-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;touch-action:none;z-index:1}.gt-handle[data-edge=start]{left:0}.gt-handle[data-edge=end]{right:0}.gt-handle:after{content:"";position:absolute;top:5px;bottom:5px;left:3px;width:2px;border-radius:2px;background:#fff;opacity:0;transition:opacity var(--dur-fast)}.gt-bar:hover .gt-handle:after,.gt-bar:focus-visible .gt-handle:after{opacity:.85}@media (max-width: 819px){.gt-surface{padding:var(--space-3)}.gt-scroll{max-height:66dvh}.gt-zoom-btn{min-height:44px}.gt-bar{min-height:30px}}.gt-ghost{position:absolute;z-index:4;display:flex;align-items:center;padding:0 8px;border-radius:6px;border:2px dashed var(--dept);background:color-mix(in srgb,var(--dept) 22%,transparent);color:var(--text);font-size:var(--text-xs);pointer-events:none;white-space:nowrap;overflow:hidden}.gt-bar[data-dragging]{opacity:.4}.settings>h1{margin-bottom:var(--space-4)}.settings-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-6);border-bottom:1px solid var(--border)}.settings-tab{position:relative;padding:var(--space-3) var(--space-4);color:var(--text-dim);text-decoration:none;font-size:var(--text-base);transition:color var(--dur-fast)}.settings-tab:hover,.settings-tab[aria-current=page]{color:var(--text)}.settings-tab[aria-current=page]:after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:-1px;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.ref-table{display:grid;gap:var(--space-6)}.ref-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);align-items:end}.ref-form-card .ui-field-error{display:block;margin-top:var(--space-3)}.ref-color{width:48px;height:var(--control-h);padding:2px;border:1px solid var(--glass-border);border-radius:var(--radius-m, 10px);background:var(--surface);cursor:pointer}.ref-name,.settings-input{font:inherit;width:100%;min-width:140px;height:34px;padding:0 var(--space-3);color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-s, 8px);transition:border-color var(--dur-fast),background var(--dur-fast)}.ref-name:hover,.settings-input:hover{border-color:var(--border)}.ref-name:focus,.settings-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.ref-moves{white-space:nowrap}.settings-table-card{padding:var(--space-2);overflow-x:auto}.settings-table{width:100%;border-collapse:collapse}.settings-table th{text-align:left;font-size:var(--text-sm);color:var(--text-faint);font-weight:500;padding:var(--space-3)}.settings-table td{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);vertical-align:middle}.settings-table tbody tr:hover{background:#ffffff08}.settings-table tr[data-inactive] .ref-name{color:var(--text-faint)}.settings-table .ui-button{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.settings-empty{margin:0;color:var(--text-dim);max-width:60ch}.settings-note{margin:var(--space-3);color:var(--text-faint);font-size:var(--text-sm)}.template-toolbar{display:flex;justify-content:flex-end}.template-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.template-card-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.template-card-actions{margin-left:auto;display:flex;gap:var(--space-2)}.template-card .ui-button,.template-line .ui-button{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.template-items{margin:0;padding-left:var(--space-5);color:var(--text-dim);display:grid;gap:var(--space-1)}.template-hours-label{margin-left:var(--space-3);color:var(--text-faint);font-family:var(--font-mono);font-size:var(--text-sm)}.template-form{display:grid;gap:var(--space-5)}.template-head{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4)}.template-lines{border:0;margin:0;padding:0;display:grid;gap:var(--space-3);justify-items:start}.template-lines legend{color:var(--text-faint);font-size:var(--text-sm);padding:0;margin-bottom:var(--space-2)}.template-line{display:flex;gap:var(--space-2);align-items:center}.template-hours{width:84px;min-width:0;border-color:var(--border)}.template-actions{display:flex;gap:var(--space-3)}@media (max-width: 640px){.template-head{grid-template-columns:1fr}}@media (max-width: 640px){.ref-name,.settings-input{min-width:96px}.settings-table th,.settings-table td{padding-inline:var(--space-2)}}@media (max-width: 819px){.settings-tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4);margin-bottom:var(--space-4);scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding-inline:var(--space-4)}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{flex:none;display:inline-flex;align-items:center;padding:0 var(--space-4);white-space:nowrap}.settings-tab[aria-current=page]:after{left:var(--space-3);right:var(--space-3)}.settings-table-card,.users-table-card{overflow-x:visible;padding:var(--space-1)}.ref-name,.settings-input{min-width:0;width:100%;height:44px;border-color:var(--border);background:#05070a59}.ref-color{width:100%;height:44px}.ref-moves{display:flex;gap:var(--space-2)}.ref-moves .ui-button{flex:1}.ref-form,.template-list{grid-template-columns:minmax(0,1fr)}.template-line{flex-wrap:wrap}.template-card .ui-button,.template-line .ui-button{min-height:44px}.template-hours{width:96px}.template-actions .ui-button,.template-toolbar .ui-button{flex:1}.template-toolbar{justify-content:stretch}}.dc-page,.dc-editor{display:grid;gap:var(--space-4);align-content:start;min-width:0}.dc-page h2{font-size:var(--text-lg);margin-bottom:var(--space-3)}.dc-note{margin:0;color:var(--text-dim);font-size:var(--text-sm);max-width:70ch}.dc-hint{margin:0;color:var(--text-faint);font-size:var(--text-sm)}.dc-cards{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.dc-card{display:grid;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.dc-card-main{display:grid;gap:var(--space-1);min-width:0}.dc-card-name{color:var(--text);font-weight:600;text-decoration:none;overflow-wrap:anywhere;display:inline-flex;align-items:center;min-height:44px}.dc-card-name:hover{color:var(--accent)}.dc-card-sub{color:var(--text-dim);font-size:var(--text-sm)}.dc-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dc-card-actions .ui-button,.dc-actions .ui-button,.dc-preview-actions .ui-button,.dc-panel-actions .ui-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}@media (min-width: 820px){.dc-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.dc-editor-head{display:grid;gap:var(--space-3)}.dc-back{color:var(--text-dim);font-size:var(--text-sm);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.dc-back:hover{color:var(--accent)}.dc-title-row{display:grid;gap:var(--space-2)}.dc-title-row .ui-field input{width:100%;min-height:44px;font-size:var(--text-lg)}.dc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);color:var(--text-dim);font-size:var(--text-sm)}.dc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.dc-dirty{color:var(--warn);font-size:var(--text-sm)}.dc-saved{color:var(--ok);font-size:var(--text-sm)}.dc-issues{list-style:none;margin:0;padding:var(--space-3) var(--space-4);display:grid;gap:var(--space-1);border-radius:var(--radius-m);border:1px solid rgb(255 123 114 / .5);background:#ff7b7217;color:var(--danger);font-size:var(--text-sm)}.dc-grid{display:grid;gap:var(--space-4);min-width:0}.dc-left{display:grid;gap:var(--space-4);align-content:start;min-width:0}@media (min-width: 1100px){.dc-grid{grid-template-columns:minmax(360px,5fr) minmax(0,6fr);align-items:start}.dc-right{position:sticky;top:var(--space-4);max-height:calc(100dvh - 2 * var(--space-4));overflow-y:auto}}.dc-settings{display:grid;gap:var(--space-3)}.dc-settings .ui-field select{width:100%;min-height:44px}.dc-check{display:flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-base)}.dc-add{display:grid;gap:var(--space-2)}.dc-add-title{font-size:var(--text-sm);color:var(--text-dim)}.dc-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}@media (min-width: 560px){.dc-add-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.dc-add-btn{min-height:44px;font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-m);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast)}.dc-add-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.dc-add-btn:disabled{opacity:.4;cursor:not-allowed}.dc-items{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.dc-item{border:1px solid var(--glass-border);border-radius:var(--radius-m);background:var(--glass-bg);transition:border-color var(--dur-fast),box-shadow var(--dur-normal)}.dc-item[data-selected]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dc-item[data-invalid]{border-color:#ff7b72a6}.dc-item[data-dragging]{opacity:.45}.dc-item[data-target]{box-shadow:0 -3px 0 0 var(--accent)}.dc-item-row{display:flex;align-items:stretch;min-width:0}.dc-handle{flex:0 0 auto;width:44px;min-height:44px;display:grid;place-items:center;font:inherit;font-size:1.25rem;color:var(--text-faint);background:none;border:0;border-radius:var(--radius-m) 0 0 var(--radius-m);cursor:grab;touch-action:none}.dc-handle:hover:not(:disabled){color:var(--accent);background:var(--surface)}.dc-handle:disabled{opacity:.3;cursor:default}.dc-item-main{flex:1 1 auto;min-width:0;min-height:44px;display:grid;gap:0;align-content:center;text-align:left;padding:var(--space-2) var(--space-2);font:inherit;color:var(--text);background:none;border:0;cursor:pointer}.dc-item-main small{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-item-moves{flex:0 0 auto;display:flex}.dc-icon{width:44px;height:44px;display:inline-grid;place-items:center;font:inherit;font-size:1.1rem;color:var(--text-dim);background:none;border:0;border-radius:50%;cursor:pointer}.dc-icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.dc-icon.danger{color:var(--danger)}.dc-icon:disabled{opacity:.3;cursor:default}.dc-item-issues{list-style:none;margin:0;padding:0 var(--space-4) var(--space-3);color:var(--danger);font-size:var(--text-sm);display:grid;gap:2px}.dc-props{display:grid;gap:var(--space-4)}.dc-panel-body{display:grid;gap:var(--space-4);min-width:0}.dc-panel-body h3{font-size:var(--text-lg)}.dc-form{display:grid;gap:var(--space-3);min-width:0}.dc-form .ui-field input,.dc-form .ui-field select,.dc-form .ui-field textarea,.dc-style .ui-field select{width:100%;min-width:0;min-height:44px}.dc-textarea{font:inherit;padding:var(--space-3) var(--space-4);color:var(--text);background:#05070a80;border:1px solid var(--glass-border);border-radius:var(--radius-m);resize:vertical;min-height:96px;width:100%}.dc-textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dc-textarea[aria-invalid=true]{border-color:var(--danger)}.dc-columns,.dc-style{border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--space-3);margin:0;display:grid;gap:var(--space-3);min-width:0}.dc-columns legend,.dc-style legend{font-size:var(--text-sm);color:var(--text-dim);padding:0 var(--space-2)}.dc-style{grid-template-columns:repeat(3,minmax(0,1fr))}.dc-style legend{grid-column:1 / -1}@media (max-width: 560px){.dc-style{grid-template-columns:1fr}}.dc-col-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.dc-col-list li[data-blocked]{opacity:.65}.dc-col-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:var(--space-2);align-items:end;padding-left:var(--space-6)}@media (max-width: 560px){.dc-col-fields{grid-template-columns:1fr;padding-left:0}}.dc-mini-actions{display:flex}.dc-kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:var(--space-2);align-items:end}@media (max-width: 560px){.dc-kv{grid-template-columns:minmax(0,1fr) auto}.dc-kv .ui-field:nth-child(2){grid-column:1 / -1;order:3}}.dc-panel-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.dc-tag{display:inline-block;margin-left:var(--space-2);padding:1px 8px;font-size:var(--text-xs);font-weight:600;color:var(--warn);border:1px solid rgb(242 184 75 / .5);border-radius:var(--radius-pill);background:#f2b84b1a}.dc-vars{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border)}.dc-vars-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-3)}.dc-vars-head h4{font-size:var(--text-base)}.dc-vars-filter{display:grid;gap:2px;font-size:var(--text-xs);color:var(--text-faint)}.dc-vars-filter select{font:inherit;min-height:44px;padding:0 var(--space-3);color:var(--text);background:#05070a80;border:1px solid var(--glass-border);border-radius:var(--radius-m)}.dc-var-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2);max-height:260px;overflow-y:auto}.dc-var{min-height:44px;display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-pill);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast)}.dc-var:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.dc-var:disabled{opacity:.4;cursor:not-allowed}.dc-var[data-internal]{border-style:dashed}.dc-preview{display:grid;gap:var(--space-3);min-width:0}.dc-preview-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.dc-preview-controls .ui-field input,.dc-preview-controls .ui-field select{width:100%;min-width:0;min-height:44px}.dc-frame-wrap{position:relative;border:1px solid var(--glass-border);border-radius:var(--radius-m);overflow:hidden;background:#fff}.dc-frame{display:block;width:100%;height:min(70dvh,760px);border:0;background:#fff}.dc-frame-small .dc-frame{height:320px}.dc-frame-empty{display:grid;place-items:center;height:220px;color:#555;font-size:var(--text-sm)}.dc-preview-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.dc-exported{margin:0;color:var(--ok)}.dc-exported a{color:var(--accent);display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-2)}.dc-history{display:grid;gap:var(--space-2)}.dc-history h4{font-size:var(--text-base)}.dc-exports{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.dc-export{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.dc-export small{display:block;color:var(--text-dim);font-size:var(--text-xs)}.dc-download{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;flex:0 0 auto}@media (max-width: 819px){.ui-sheet.dc-full{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.ui-sheet-backdrop:has(.dc-full){place-items:stretch}.dc-frame{height:62dvh}.dc-preview-controls{grid-template-columns:1fr}}.ui-sheet.dc-export-sheet{width:min(720px,100%)}.dc-project{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.dc-project-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4)}.dc-project-head h3{font-size:var(--text-lg)}.dc-project-head .ui-button{min-height:44px}.dc-page>*,.dc-editor>*,.dc-grid>*,.dc-left>*,.dc-preview>*{min-width:0}.tokens-intro{color:var(--text-dim);margin:var(--space-2) 0 var(--space-6)}.tokens-card{margin-bottom:var(--space-6)}.tokens-form{display:flex;gap:var(--space-4);align-items:end;flex-wrap:wrap}.tokens-secret{border-color:var(--accent);box-shadow:0 0 32px var(--accent-glow)}.tokens-secret code{display:block;margin:var(--space-3) 0;overflow-wrap:anywhere;color:var(--accent)}.tokens-scope-note{margin:0 0 var(--space-3);color:var(--text-dim);font-size:var(--text-sm)}.tokens-empty{margin:0;color:var(--text-dim);max-width:65ch}.tokens-table{width:100%;border-collapse:collapse}.tokens-table td{padding:var(--space-3);border-top:1px solid var(--border)}.tokens-table tr:first-child td{border-top:0}.tokens-table .ui-button{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}@media (max-width: 819px){.tokens-intro{margin-bottom:var(--space-4)}.tokens-form{align-items:stretch;flex-direction:column}.tokens-form>*{width:100%}.tokens-table .ui-button{min-height:44px}}.users-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.users-form-card{margin-bottom:var(--space-6)}.users-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.users-form .ui-field-error,.users-actions{grid-column:1 / -1}.users-actions{display:flex;gap:var(--space-3)}.users-table-card{padding:var(--space-2);overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th{text-align:left;font-size:var(--text-sm);color:var(--text-faint);font-weight:500;padding:var(--space-3)}.users-table td{padding:var(--space-3);border-top:1px solid var(--border)}.users-table tbody tr:hover{background:#ffffff08}.users-table .ui-button{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}@media (max-width: 819px){.users-head{gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.users-form{grid-template-columns:minmax(0,1fr)}.users-actions .ui-button{flex:1}}.users-note{margin:calc(var(--space-4) * -1) 0 var(--space-4);color:var(--text-dim);font-size:var(--text-sm)}.users-select,.users-hours{font:inherit;height:34px;width:100%;min-width:120px;padding:0 var(--space-3);color:var(--text);background:#05070a59;border:1px solid var(--border);border-radius:var(--radius-s)}.users-hours{min-width:72px;max-width:96px;font-family:var(--font-mono)}.users-select:focus-visible,.users-hours:focus-visible{outline:none;border-color:var(--accent)}@media (max-width: 819px){.users-select,.users-hours{height:44px;max-width:none}}
