@font-face{font-family:Inter;src:url(/fonts/Inter-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:TT Firs Neue;src:url(/fonts/TTFirsNeue-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:TT Firs Neue;src:url(/fonts/TTFirsNeue-DemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/Inter-Regular.ttf) format("truetype");font-weight:400 700;font-display:swap}@font-face{font-family:Lilita One;src:url(/fonts/TTFirsNeue-DemiBold.ttf) format("truetype");font-weight:400 700;font-display:swap}@font-face{font-family:Comic Shanns;src:url(/fonts/JetBrainsMono-Regular.ttf) format("truetype");font-weight:400 700;font-display:swap}:root{--bg: #000;--panel: #0d0d0d;--panel2: #151515;--surf: #191919;--sbbg: #080808;--border: #242424;--border2: #323232;--text: #efefef;--text2: #8f8f8f;--text3: #5a5a5a;--text4: #6b6b6b;--green: #94fe82;--green-dim: rgba(148, 254, 130, .16);--red: #f0556a;--amber: #f5a623;--blue: #6db8ff;--purple: #b9a3ff;--grid: rgba(255, 255, 255, .015);--on-green: #000;--canvas-bg: #0a0a0a;color-scheme:dark;--type-display-family: "TT Firs Neue", sans-serif;--type-body-family: "Inter", sans-serif;--type-label-family: "JetBrains Mono", monospace;--type-weight-regular: 400;--type-weight-medium: 500;--type-weight-semibold: 600;--type-size-page-title: 21px;--type-size-detail-title: 30px;--type-size-body: 14px;--type-size-value: 14px;--type-size-caption: 12px;--type-size-label: 10px;--type-size-label-dense: 9px;--type-line-body: 1.4;--type-line-value: 1.36;--type-line-compact: 1.25;--type-tracking-label: .05em;--radius-pill: 999px;--radius-control: 10px;--radius-icon: 9px;--radius-detail: 10px;--radius-card: 12px;--radius-panel: 14px;--radius-popover: 12px;--control-height-xs: 24px;--control-height-sm: 28px;--control-height-md: 36px;--control-height-lg: 40px;--surface-page: var(--bg);--surface-panel: var(--panel);--surface-muted: var(--panel2);--surface-control: var(--surf);--surface-hover: var(--panel2);--surface-selected: color-mix(in srgb, var(--green) 7%, var(--surface-muted));--border-selected: color-mix(in srgb, var(--green) 82%, var(--border));--accent-strong: color-mix(in srgb, var(--green) 70%, var(--text));--accent-subtle: color-mix(in srgb, var(--green) 14%, transparent);--danger-subtle: color-mix(in srgb, var(--red) 13%, transparent);--warning-subtle: color-mix(in srgb, var(--amber) 14%, transparent);--info-subtle: color-mix(in srgb, var(--blue) 14%, transparent);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--green) 22%, transparent);--shadow-drawer: -18px 0 50px rgba(0, 0, 0, .55);--shadow-popover: 0 12px 30px rgba(0, 0, 0, .5);--shadow-card: 0 4px 16px rgba(0, 0, 0, .18);--shadow-selected: 0 0 0 3px color-mix(in srgb, var(--green) 11%, transparent);--transition-fast: .12s ease;--font-head: var(--type-display-family);--font-mono: var(--type-label-family);--font-body: var(--type-body-family);--sidebar-width: 230px;--sidebar-rail: 56px;--header-height: 48px}[data-theme=light]{--bg: #f4f5f3;--panel: #ffffff;--panel2: #eef0ec;--surf: #f0f2ee;--sbbg: #ffffff;--border: #e0e3dd;--border2: #ced3ca;--text: #14160f;--text2: #62695f;--text3: #858d80;--text4: #83897d;--green: #4fd03a;--green-dim: rgba(79, 208, 58, .14);--red: #d83a4f;--amber: #c78616;--blue: #5c9dca;--grid: rgba(0, 0, 0, .025);--canvas-bg: #f7f8f6;color-scheme:light;--shadow-drawer: -18px 0 50px rgba(34, 41, 32, .12);--shadow-popover: 0 12px 30px rgba(20, 28, 18, .18);--shadow-card: 0 4px 16px rgba(34, 41, 32, .055)}*{box-sizing:border-box}:where(body,h1,h2,h3,h4,p,ul,figure,form):where(:not(.excalidraw *)){margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--type-size-body);line-height:var(--type-line-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button:where(:not(.excalidraw *)){font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}button:disabled{cursor:default}:focus-visible{outline:2px solid color-mix(in srgb,var(--green) 70%,transparent);outline-offset:2px}h1{font-family:var(--font-head);font-size:var(--type-size-page-title);font-weight:var(--type-weight-semibold);text-transform:uppercase;letter-spacing:.02em;line-height:1.15}h2{font-family:var(--font-head);font-size:19px;font-weight:var(--type-weight-semibold);line-height:1.15}h3{font-family:var(--font-mono);font-size:12px;font-weight:var(--type-weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text2);margin-bottom:10px}h4{font-family:var(--font-mono);font-size:11px;font-weight:var(--type-weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--text2);margin:14px 0 8px}.muted{color:var(--text2)}.small{font-size:12px}.accent{color:var(--green)}.spacer{flex:1}.crumb{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text2);margin-bottom:4px}:where(input,textarea,select):where(:not(.excalidraw *)){min-height:var(--control-height-md);background:var(--surf);border:1px solid var(--border2);border-radius:var(--radius-control);color:var(--text);font:inherit;padding:8px 10px;outline:none}:where(input,textarea,select):where(:not(.excalidraw *)):focus-visible{outline:none}:where(input,textarea,select):where(:not(.excalidraw *)):focus{border-color:var(--green);box-shadow:var(--focus-ring)}input[type=checkbox]{width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;accent-color:var(--green)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field>span{font-family:var(--font-mono);font-size:var(--type-size-label);font-weight:var(--type-weight-medium);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text2)}.field>input,.field>textarea,.field>select,.field>.select{width:100%;min-width:0}.pillbtn,.ghostbtn,.panel-action-btn{min-height:var(--control-height-md);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--type-size-label);font-weight:var(--type-weight-medium);text-transform:uppercase;letter-spacing:var(--type-tracking-label);white-space:nowrap;transition:filter var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.pillbtn{background:var(--green);color:#000}.pillbtn:hover:not(:disabled){filter:brightness(1.05)}.pillbtn.danger{background:transparent;border:1px solid var(--red);color:var(--red)}.pillbtn.danger:hover:not(:disabled){background:var(--danger-subtle)}.ghostbtn{background:var(--panel2);border:1px solid var(--border2);color:var(--text2)}.ghostbtn:hover:not(:disabled){color:var(--text);border-color:var(--text3)}.panel-action-btn{min-height:30px;padding:0 14px;border:1px solid color-mix(in srgb,var(--green) 70%,var(--border));background:transparent;color:var(--green)}.panel-action-btn:hover:not(:disabled){background:color-mix(in srgb,var(--green) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 18%,transparent)}.panel-action-btn--small{min-height:26px;padding:0 10px}.pillbtn:focus-visible,.ghostbtn:focus-visible,.panel-action-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pillbtn:disabled,.ghostbtn:disabled,.panel-action-btn:disabled{opacity:.5}.iconbtn{width:var(--control-height-sm);height:var(--control-height-sm);flex:none;display:inline-grid;place-items:center;border-radius:var(--radius-icon);color:var(--text2);transition:color var(--transition-fast),background var(--transition-fast)}.iconbtn:hover{color:var(--text);background:var(--surf)}.iconbtn.danger:hover{color:var(--red)}.iconbtn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.seg{display:flex;width:fit-content;max-width:100%;min-height:32px;border:1px solid var(--border2);border-radius:var(--radius-pill);overflow-x:auto;scrollbar-width:none}.seg button{display:inline-flex;align-items:center;flex:none;padding:0 14px;font-family:var(--font-mono);font-size:var(--type-size-label);font-weight:var(--type-weight-medium);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text2);white-space:nowrap}.seg button:hover{color:var(--text)}.seg button.active{background:var(--green);color:#000;font-weight:var(--type-weight-semibold)}.seg button:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.tg{--tag-color: var(--text2);min-height:26px;display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--type-size-label);font-weight:var(--type-weight-medium);color:var(--tag-color);background:color-mix(in srgb,var(--tag-color) 15%,transparent);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.tg-review{--tag-color: var(--amber)}[data-theme=light] .tg{color:color-mix(in srgb,var(--tag-color) 72%,#000);background:color-mix(in srgb,var(--tag-color) 14%,transparent)}.cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip-btn{min-height:var(--control-height-sm);background:var(--surf);border:1px solid var(--border2);color:var(--text2);border-radius:var(--radius-pill);padding:0 12px;font-family:var(--font-mono);font-size:var(--type-size-label);font-weight:var(--type-weight-medium);text-transform:uppercase;letter-spacing:var(--type-tracking-label)}.chip-btn:hover{color:var(--green);border-color:var(--green)}.chip-btn.on{color:var(--green);border-color:var(--green);background:var(--green-dim)}.searchbox{display:inline-flex;align-items:center;max-width:100%;border:1px solid transparent;border-radius:8px}.searchbox.open{border-color:var(--border2);background:var(--surf)}.searchbox-ic{display:inline-flex;align-items:center;color:var(--text2);padding:7px 8px}.searchbox-input{width:210px;max-width:46vw;min-height:0;padding:7px 2px;border:none;background:none;box-shadow:none!important}.searchbox-clear{display:inline-flex;color:var(--text3);padding:6px 8px}.searchbox-clear:hover{color:var(--red)}.picker{position:relative;display:inline-flex;min-width:0}.picker-trigger{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:320px;height:30px;padding:0 6px 0 8px;border-radius:8px;color:var(--text);font-weight:var(--type-weight-medium)}.picker-trigger svg{flex:none;color:var(--text2)}.picker-trigger:hover,.picker-trigger.on{background:var(--surf)}.picker-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-drop{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:220px;max-width:340px;max-height:320px;overflow-y:auto;padding:5px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover)}.picker-item{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;padding:8px 10px;border-radius:7px;text-align:left;font-size:13px}.picker-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-item small{color:var(--text2);font-size:11px}.picker-item:hover{background:var(--surf)}.picker-item.on{color:var(--green);background:var(--green-dim)}.picker-item.danger{color:var(--red)}.picker-item.danger:hover{background:var(--danger-subtle)}.select:where(:not(.excalidraw *)){display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;min-height:var(--control-height-md);padding:0 8px 0 10px;background:var(--surf);border:1px solid var(--border2);border-radius:var(--radius-control);color:var(--text);text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast)}.select:hover:not(:disabled){border-color:color-mix(in srgb,var(--green) 45%,var(--border2))}.select:focus-visible,.select.on{outline:none;border-color:var(--green);box-shadow:var(--focus-ring)}.select:disabled{opacity:.55}.select>svg{flex:none;margin-left:auto;color:var(--text2);transition:transform var(--transition-fast)}.select.on>svg{transform:rotate(180deg);color:var(--green)}.select-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-drop{position:fixed;z-index:200;max-width:min(380px,calc(100vw - 16px));overflow-y:auto;padding:5px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover);font-size:13px;animation:select-in .1s ease-out}@keyframes select-in{0%{transform:translateY(-3px);opacity:0}}.select-group{padding:8px 10px 4px;color:var(--text2);font:500 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.select-item{padding:7px 10px;border-radius:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.select-item.active{background:var(--surf)}.select-item.on{color:var(--green);background:var(--green-dim)}.select-item.disabled{color:var(--text3);cursor:default}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px;background:#000000b3;overflow-y:auto}.modal{width:440px;max-width:100%;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-panel);box-shadow:var(--shadow-popover);animation:modal-in .14s ease-out}@keyframes modal-in{0%{transform:translateY(8px);opacity:0}}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-title{font-family:var(--font-head);font-size:15px;font-weight:600;text-transform:uppercase}.modal-body{padding:18px}.modal-text{color:var(--text2);margin-bottom:4px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--surf);border:1px solid var(--border2);font-family:var(--font-mono);font-size:10px;color:var(--text2)}.state-msg{display:grid;place-items:center;min-height:200px;color:var(--text2);font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;border:1px dashed var(--border2);border-radius:var(--radius-panel);text-align:center}.empty-state h3{margin:0;color:var(--text)}.empty-state .pillbtn{margin-top:10px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.menu-drop{min-width:200px}.menu-item{display:flex;align-items:center;gap:12px;justify-content:space-between}.menu-item>svg{flex:none;color:var(--text2)}.menu-item:hover:not(.disabled),.menu-item.active{background:var(--surf)}.banner{position:sticky;top:0;z-index:20;display:flex;align-items:flex-start;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border2);background:var(--panel);color:var(--text);font-size:13px;line-height:1.4}.banner>svg{flex:0 0 auto;margin-top:1px}.banner.warn{border-bottom-color:color-mix(in srgb,var(--amber) 45%,var(--border));background:color-mix(in srgb,var(--amber) 14%,var(--panel))}.banner.warn>svg{color:var(--amber)}.app{display:flex;height:100vh;overflow:hidden}.main{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;height:100vh;overflow:auto}.main>*{flex-shrink:0}.main>.board-page{flex-shrink:1}.sb{width:var(--sidebar-width);flex:none;display:flex;flex-direction:column;height:100vh;background:var(--sbbg);border-right:1px solid var(--border);padding:14px 0 0;transition:width .14s ease}.sb.collapsed{width:var(--sidebar-rail)}.sb-top{display:flex;align-items:center;gap:6px;padding:0 12px 12px 18px}.sb.collapsed .sb-top{flex-direction:column;padding:0 0 10px;gap:10px}.sb-logo{display:flex;align-items:center;gap:9px;min-width:0;flex:1;font-family:var(--font-head);font-size:18px;font-weight:600;line-height:1;letter-spacing:-.01em}.sb.collapsed .sb-logo{flex:none}.sb-logo-mark{width:24px;height:24px;flex:none}.sb-logo-text{white-space:nowrap}.sb-nav{display:flex;flex-direction:column;flex:1;min-height:0}.sb-sec{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px 22px;font-family:var(--font-mono);font-size:9px;color:var(--text2);letter-spacing:.16em;text-transform:uppercase}.sb-search{display:flex;align-items:center;gap:6px;margin:2px 14px 8px;padding:0 8px;border:1px solid var(--border2);border-radius:8px;background:var(--surf);color:var(--text2)}.sb-search input{flex:1;min-width:0;min-height:30px;padding:4px 0;border:0;background:none;box-shadow:none!important;font-size:12px}.sb-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;padding-bottom:12px}.sb-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 18px 6px 20px;color:var(--text2);font-size:13px;border-left:2px solid transparent}.sb-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-item svg{flex:none;opacity:.75}.sb-item{min-width:0}.sb-item-label{flex:1}.sb-dot{width:6px;height:6px;flex:none;border-radius:50%;opacity:.85}.sb-client{margin-top:4px}.sb-client-name{padding:6px 18px 2px 22px;color:var(--text3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-client .sb-item{min-height:30px;padding-left:28px}.sb-more{display:flex;align-items:center;gap:6px;width:100%;min-height:32px;margin-top:4px;padding:4px 18px 4px 20px;color:var(--text2);font-size:12px}.sb-more:hover{color:var(--text)}.sb-more small{margin-left:auto;color:var(--text3);font:500 10px var(--font-mono)}.sb-sandbox{margin-top:6px;border-top:1px solid var(--border)}.sb-item:hover{color:var(--text)}.sb-item.active{color:var(--green);border-left-color:var(--green);background:var(--accent-subtle)}.sb-empty{padding:10px 22px;color:var(--text2);font-size:12px}.pin-btn{width:26px;height:26px;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.pin-btn.on{color:var(--green)}.sb-proj,.project-card-wrap,.pcard{position:relative}.sb-proj .sb-item{padding-right:36px}.sb-proj .pin-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.project-card-wrap .project-card{padding-right:40px}.project-card-wrap .pin-btn{position:absolute;top:8px;right:8px}.pcard-head{padding-right:26px}.pcard .pin-btn{position:absolute;top:10px;right:10px}@media (hover: hover){.sb-proj .pin-btn:not(.on),.project-card-wrap .pin-btn:not(.on),.pcard .pin-btn:not(.on){opacity:0}.sb-proj:hover .pin-btn,.project-card-wrap:hover .pin-btn,.pcard:hover .pin-btn,.pin-btn:focus-visible{opacity:1}}.sb-pages{list-style:none;padding:4px 0 8px;margin:0}.sb-page{position:relative;display:flex;align-items:center}.sb-page-btn{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:32px;padding:6px 64px 6px 34px;color:var(--text2);font-size:13px;text-align:left}.sb-page-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-page-btn svg{flex:none;opacity:.7}.sb-page-btn:hover{color:var(--text);background:var(--panel2)}.sb-page.active .sb-page-btn{color:var(--text);background:var(--surface-selected)}.sb-page.active .sb-page-btn svg{color:var(--green);opacity:1}.sb-page-actions{position:absolute;right:8px;display:flex;gap:0;opacity:0}.sb-page:hover .sb-page-actions,.sb-page-actions:focus-within{opacity:1}.sb-page-actions .iconbtn{width:26px;height:26px}.sb-page-input{flex:1;min-height:30px;margin:2px 10px 2px 30px;padding:4px 8px;font-size:13px}.sb-page-add{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 18px 4px 34px;color:var(--text2);font-size:12px}.sb-page-add:hover{color:var(--green)}.sb-rail{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-height:0;overflow-y:auto;padding-bottom:10px}.sb-rail-btn{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:var(--radius-icon);color:var(--text2);font-family:var(--font-mono);font-size:12px}.sb-rail-btn:hover{color:var(--text);background:var(--surf)}.sb-rail-btn.active{color:var(--green);background:var(--accent-subtle)}.sb-rail-page.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 50%,transparent)}.sb-rail-sep{width:24px;margin:6px 0;border-top:1px solid var(--border)}.sb-bottom{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--border)}.sb.collapsed .sb-bottom{align-items:center;padding:10px 0 12px}.sb-user-row{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 0 0 4px}.sb.collapsed .sb-user-row{padding:0}.sb-user-info{flex:1;min-width:0}.sb-username{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-access-line{display:flex;align-items:baseline;gap:4px;min-width:0;white-space:nowrap}.sb-account{min-width:0;overflow:hidden;color:var(--text2);font-size:10px;text-overflow:ellipsis}.sb-access-level{flex:none;color:var(--text2);font-size:10px}.sb-user-actions{display:flex;flex-wrap:wrap;gap:4px}.sb.collapsed .sb-user-actions{flex-direction:column;align-items:center}.sb-user-action{display:flex;align-items:center;gap:6px;min-height:32px;padding:7px 6px;border:1px solid transparent;border-radius:var(--radius-control);color:var(--text2);font-size:11px}.sb-user-action-icon{width:32px;height:32px;flex:0 0 32px;justify-content:center;padding:0}.sb-user-action:hover{color:var(--text);background:var(--surf)}.sb-user-action.active{color:var(--green);background:var(--accent-subtle)}.sb-user-action:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 760px){.sb:not(.collapsed){position:fixed;z-index:30;box-shadow:18px 0 50px #00000073}.app:not(.sb-collapsed) .main{margin-left:var(--sidebar-rail)}}.sb-current{padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--border)}.sb-current-title{display:-webkit-box;padding:2px 18px 0 22px;font-family:var(--font-head);font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sb-current-title:hover{color:var(--green)}.sb-current-client{padding:2px 18px 0 22px;color:var(--text2);font-size:12px}.sb-sub{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:4px 12px 2px 22px;color:var(--text3);font:500 9px var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.sb-current .sb-item{padding-left:20px}.sb-current .sb-pages .sb-page-btn,.sb-current .sb-pages .sb-page-add{padding-left:42px}.sb-current .sb-pages .sb-page-input{margin-left:38px}.board-page{display:flex;flex-direction:column;height:100vh;min-height:0;background:var(--canvas-bg)}.topbar{position:relative;z-index:10;flex:0 0 var(--header-height);display:flex;align-items:center;gap:16px;min-width:0;padding:0 14px 0 16px;background:var(--panel);border-bottom:1px solid var(--border)}.crumbs{display:flex;align-items:center;gap:4px;min-width:0;flex:0 1 auto;color:var(--text2);font-size:13px}.crumbs>svg{flex:none;color:var(--text3)}.crumb-link{flex:none;padding:4px 6px;border-radius:6px;color:var(--text2)}.crumb-link:hover{color:var(--text);background:var(--surf)}.crumb-text{min-width:0;max-width:260px;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2)}.topbar .view-switch{flex:none}.topbar-views{display:flex;flex:none;align-items:center;gap:8px}.topbar-status{display:flex;align-items:center;gap:14px;margin-left:auto;flex:none}.save-state,.sync-state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--text2);font-family:var(--font-mono);font-size:var(--type-size-label);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.save-state.dirty,.save-state.saving{color:var(--amber)}.sync-state:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--text3)}.sync-state.online{color:var(--green)}.sync-state.online:before{background:var(--green);box-shadow:0 0 0 3px var(--green-dim)}.sync-state.connecting:before{animation:sync-pulse 1s ease-in-out infinite alternate}.sync-state.offline{color:var(--red)}.sync-state.offline:before{background:var(--red)}@keyframes sync-pulse{to{opacity:.3}}.board-canvas-area{display:flex;flex-direction:column;flex:1;min-height:0}.board-canvas{position:relative;flex:1;min-width:0;min-height:0;background:var(--canvas-bg)}.production-hidden{display:none!important}.canvas-toolbar{position:absolute;z-index:5;top:64px;left:12px;display:flex;flex-direction:column;gap:4px;padding:5px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-panel);box-shadow:var(--shadow-popover)}.canvas-toolbar-group{position:relative;display:flex;flex-direction:column;gap:2px}.canvas-toolbar-group+.canvas-toolbar-group{padding-top:4px;border-top:1px solid var(--border)}.canvas-tool{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-icon);color:var(--text2);transition:background var(--transition-fast),color var(--transition-fast)}.canvas-tool:hover{color:var(--text);background:var(--surf)}.canvas-tool.active{color:#000;background:var(--green)}.canvas-popover{position:absolute;left:calc(100% + 12px);bottom:0;width:212px;padding:12px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover)}.canvas-popover-title{margin-bottom:10px;color:var(--text2);font-family:var(--font-mono);font-size:var(--type-size-label);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.backdrop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.backdrop-swatch{aspect-ratio:16 / 9;border-radius:6px;border:1px solid var(--border2)}.backdrop-swatch:hover{outline:2px solid var(--green);outline-offset:1px}.board-canvas .excalidraw,.board-canvas .excalidraw.theme--dark{--color-primary: var(--green);--color-primary-darker: var(--green);--color-primary-darkest: var(--green);--color-primary-light: var(--green-dim);--color-surface-primary-container: var(--green-dim);--island-bg-color: var(--panel);--default-border-color: var(--border2);--button-hover-bg: var(--surf);--ui-font: var(--font-body)}@media (min-width: 731px){.board-canvas .excalidraw .App-menu_top .shapes-section,.board-canvas .excalidraw .HintViewer,.board-canvas .excalidraw .default-sidebar-trigger,.board-canvas .excalidraw .help-icon{display:none!important}.board-canvas .excalidraw .App-menu__left{position:absolute;right:12px;left:auto;top:0;max-height:calc(100% - 72px)}.board-canvas .excalidraw .Island{border:1px solid var(--border2);border-radius:var(--radius-panel);box-shadow:var(--shadow-popover)}}@media (max-width: 730px){.canvas-toolbar{display:none}}.shot-strip{flex:none;background:var(--panel);border-top:1px solid var(--border)}.shot-strip-head{height:40px;display:flex;align-items:center;gap:12px;padding:0 10px 0 16px}.shot-strip-head>strong{font-family:var(--font-mono);font-size:11px;font-weight:var(--type-weight-medium);letter-spacing:.06em;text-transform:uppercase}.shot-strip-head .production-summary{margin-left:auto}.shot-strip-cards{display:flex;gap:10px;padding:2px 16px 14px;overflow-x:auto}.shot-strip-card{position:relative;flex:0 0 160px;height:116px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--panel2);text-align:left;transition:border-color var(--transition-fast)}.shot-strip-card:hover{border-color:var(--border2)}.shot-strip-card:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--text3)}.shot-strip-card.status-in_progress:after{background:var(--blue)}.shot-strip-card.status-review:after{background:var(--amber)}.shot-strip-card.status-changes:after{background:var(--red)}.shot-strip-card.status-done:after,.shot-strip-card.status-approved:after{background:var(--green)}.shot-strip-caption{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:7px 9px}.shot-strip-caption b{color:var(--text);font:500 11px var(--font-mono);text-transform:uppercase}.shot-strip-caption span{max-width:90px;overflow:hidden;color:var(--text2);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.shot-quick-status{position:absolute;top:6px;right:6px;max-width:100px;padding:2px 7px;border-radius:var(--radius-pill);background:#000000b8;color:#fff;font:500 9px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.canvas-pages{position:absolute;z-index:6;top:14px;left:66px;padding:2px;border:1px solid var(--border2);border-radius:var(--radius-control);background:var(--surface-panel);box-shadow:var(--shadow-drawer)}.canvas-pages .picker-trigger{max-width:260px}.save-state.off{visibility:hidden}.comments-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:hidden;pointer-events:none}.comments-layer.placing{pointer-events:auto;cursor:crosshair;background:color-mix(in srgb,var(--green) 4%,transparent)}.comment-pin{position:absolute;display:grid;place-items:center;width:26px;height:26px;margin:-26px 0 0;border-radius:50% 50% 50% 4px;background:var(--green);color:var(--on-green);font:600 11px var(--font-mono);box-shadow:var(--shadow-card),0 0 0 2px var(--canvas-bg);pointer-events:auto;cursor:pointer;transition:transform var(--transition-fast)}.comment-pin:hover,.comment-pin.active{transform:scale(1.12)}.comment-pin:focus-visible{outline:none;box-shadow:var(--focus-ring)}.comment-pin.from-guest{background:var(--amber);color:#000}.comment-pin.resolved{background:var(--surf);color:var(--text2)}.comment-pin.draft{background:var(--panel2);border:2px dashed var(--green);pointer-events:none}.comment-card{position:absolute;z-index:1;display:flex;flex-direction:column;gap:8px;width:300px;max-height:min(460px,calc(100% - 16px));padding:10px 12px 12px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover);color:var(--text);font-size:13px;pointer-events:auto;cursor:default}.comment-card-head{display:flex;align-items:center;gap:8px}.comment-resolve{min-height:var(--control-height-xs);padding:0 10px;font-size:11px}.comment-num{display:inline-grid;place-items:center;flex:none;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent-subtle);color:var(--green);font:600 10px var(--font-mono)}.comment-messages{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto}.comment-message p{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.comment-meta{display:flex;align-items:center;gap:6px;font-size:12px}.comment-meta .iconbtn{width:22px;height:22px;margin-left:auto}.comment-guest{padding:0 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber);font:500 9px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label)}.comment-reply{display:flex;flex-direction:column;gap:6px}.comment-reply textarea{width:100%;min-height:54px;resize:vertical;font-size:13px}.comment-reply .form-error{margin:0}.comment-reply-actions{display:flex;justify-content:flex-end;gap:6px}.comment-reply-actions .pillbtn,.comment-reply-actions .ghostbtn{min-height:var(--control-height-sm);padding:0 12px;font-size:12px}.comments-control{position:absolute;z-index:5;right:14px;bottom:14px;display:flex;gap:6px}.comments-btn{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-height-md);padding:0 12px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);color:var(--text2);font-size:12px}.comments-btn:hover{color:var(--text)}.comments-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.comments-btn.on{background:var(--green);border-color:var(--green);color:var(--on-green)}.comments-btn.count{min-width:var(--control-height-md);justify-content:center;font:600 12px var(--font-mono)}.comments-btn.count.has-open{color:var(--green);border-color:color-mix(in srgb,var(--green) 50%,var(--border2))}.comment-list{position:absolute;right:0;bottom:calc(100% + 8px);display:flex;flex-direction:column;gap:4px;width:320px;max-height:380px;overflow-y:auto;padding:10px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover)}.comment-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:13px}.comment-list-head label{display:inline-flex;align-items:center;gap:4px}.comment-list-row{display:flex;align-items:flex-start;gap:8px;padding:6px;border-radius:var(--radius-control);text-align:left;font-size:12px;color:var(--text2)}.comment-list-row:hover{background:var(--panel2);color:var(--text)}.comment-list-row.resolved{opacity:.6}.comment-list-text{min-width:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.comment-list-text b{color:var(--text);font-weight:600}.board-card .board-comments-badge{align-self:flex-start;gap:4px;margin-top:6px}.production-main{position:relative;flex:1;min-height:0;overflow:auto;background:var(--bg)}.production-page{min-height:100%;padding:22px 24px 48px}.production-summary{color:var(--text2);font-family:var(--font-mono);font-size:var(--type-size-label);letter-spacing:var(--type-tracking-label);text-transform:uppercase;white-space:nowrap}.production-empty{padding:28px;color:var(--text2);text-align:center}.production-empty.inline{padding:22px;white-space:nowrap}.production-code,.production-code-link{color:var(--green);font:500 11px var(--font-mono);text-transform:uppercase}.production-code-link:hover{text-decoration:underline}.production-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border);margin:14px 0 12px}.production-tabs button{flex:none;min-height:32px;padding:0 12px;font-family:var(--font-mono);font-size:var(--type-size-label);font-weight:var(--type-weight-medium);letter-spacing:var(--type-tracking-label);text-transform:uppercase;color:var(--text2);border-bottom:2px solid transparent;margin-bottom:-1px}.production-tabs button:hover{color:var(--text)}.production-tabs button.active{color:var(--green);border-bottom-color:var(--green)}.production-tabs.compact{margin:0;border-bottom:0}.production-tabs.compact button{min-height:40px;padding:0 9px}.preview-surface{display:grid;place-items:center;width:100%;min-height:220px;overflow:hidden;border-radius:var(--radius-control);background:var(--panel2);color:var(--text3)}.preview-surface.empty{border:1px dashed var(--border2)}.preview-surface.empty.failed{border-color:var(--red);color:var(--red)}.preview-surface.compact{height:70px;min-height:70px;border:0;border-bottom:1px solid var(--border);border-radius:0}.preview-surface img,.preview-surface video{display:block;width:100%;height:100%;object-fit:cover}.preview-surface.contain img,.preview-surface.contain video{object-fit:contain}.production-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel)}.shots-table{width:auto;border-collapse:collapse}.shots-table th{position:sticky;top:0;z-index:1;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel);color:var(--text2);text-align:left;font:500 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.shots-table th.matrix-stage{text-align:center}.shots-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.shots-table td+td{border-left:1px solid var(--border)}.shots-table tr:not(.shots-add-row,.scene-gap):hover td:not(.matrix-scene-cell){background:color-mix(in srgb,var(--panel2) 60%,transparent)}.shots-table .shots-text{width:300px;min-width:220px}.shots-table .shots-preview{width:196px;min-width:196px}.shots-table .shots-seconds{width:86px;min-width:86px}.shots-input{width:100%;min-height:30px;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:transparent;resize:none;field-sizing:content;line-height:1.4;box-shadow:none}.shots-input:hover:not([readonly]){border-color:var(--border)}.shots-input:focus:not([readonly]){background:var(--surf);border-color:var(--green)}.shots-input[readonly]{cursor:default}.shot-code{display:flex;align-items:center;gap:2px}.shot-code .flow-error{display:block;flex-basis:100%}.shot-code{flex-wrap:wrap}.shot-code-input{width:76px;min-height:26px;padding:2px 6px;color:var(--green);font:500 11px var(--font-mono);text-transform:uppercase}.shot-code .iconbtn{width:22px;height:22px;min-height:22px}.scene-title-input{min-height:24px;padding:2px 4px;margin-left:-4px;font-size:13px;field-sizing:fixed}.scene-renumber{align-self:flex-start;padding:0;border:0;background:none;color:var(--text2);font-size:11px;text-decoration:underline dotted;cursor:pointer}.scene-renumber:hover{color:var(--green)}.shots-add-row td{padding:4px 10px}.shots-table tr.scene-gap td{height:14px;padding:0;border:0;border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);background:var(--bg)}.shots-add-row .ghostbtn{position:sticky;left:270px;min-height:var(--control-height-sm);padding:0 10px;font-size:12px}.shots-table td.matrix-stage,.shots-table td.matrix-extra{vertical-align:middle}.shots-table th:nth-child(1){left:0;z-index:3;min-width:132px}.shots-table th:nth-child(2){left:132px;z-index:3;min-width:138px}.shots-table .matrix-scene-cell{position:sticky;left:0;z-index:1;width:132px;min-width:132px;max-width:132px;padding:0;border-left:4px solid var(--green);background:var(--surface-selected);vertical-align:top}.shots-table .matrix-scene-cell.tone-1{border-left-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--panel))}.matrix-scene-cell>div{position:sticky;top:40px;display:flex;flex-direction:column;gap:3px;padding:10px 10px 12px}.matrix-scene-cell b{color:var(--green);font:600 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.matrix-scene-cell.tone-1 b{color:var(--blue)}.matrix-scene-cell span{color:var(--text);font-size:13px;overflow-wrap:anywhere}.matrix-scene-cell small{color:var(--text2);font-size:11px}.shots-table .matrix-scene-cell:has(.scene-add-shot){padding-bottom:44px}.matrix-scene-cell .scene-add-shot{position:absolute;bottom:10px;left:10px;min-height:var(--control-height-sm);padding:0 10px;font-size:12px}.shots-table .matrix-shot-cell{position:sticky;left:132px;z-index:1;width:138px;min-width:138px;max-width:160px;background:var(--panel)}.shots-table .matrix-shot-cell small{display:block;max-width:140px;margin-top:3px;overflow:hidden;color:var(--text2);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.matrix-cell{padding:3px;border-left:3px solid var(--text3);border-radius:6px;background:var(--panel2)}.matrix-cell.status-in_progress{border-color:var(--blue)}.matrix-cell.status-review{border-color:var(--amber)}.matrix-cell.status-changes{border-color:var(--red)}.matrix-cell.status-done,.matrix-cell.status-approved{border-color:var(--green)}.matrix-cell .select{width:100%;min-height:26px;padding:2px 6px;border:0;background:transparent;font-size:12px;box-shadow:none}.matrix-cell .select+.select{color:var(--text2)}.matrix-cell .select:focus{background:var(--surf)}option{background:var(--panel);color:var(--text)}.daily-view{position:relative;display:grid;grid-template-rows:1fr auto;height:100%;min-height:0;background:#030303;color:#ddd}.daily-counter{position:absolute;z-index:2;top:16px;right:22px;color:#9a9a9a;font:500 var(--type-size-label) var(--font-mono)}.daily-media{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:0;padding:28px 88px 18px}.daily-media .preview-surface{flex:1;min-height:0;border:0;background:#0b0b0b}.daily-caption{color:#b5b5b5;font:500 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.daily-arrow{position:absolute;top:calc(50% - 40px);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #333;background:#111;color:#ddd;font-size:26px;line-height:1}.daily-arrow:hover:not(:disabled){border-color:var(--green);color:var(--green)}.daily-arrow:disabled{opacity:.3}.daily-arrow.left{left:22px}.daily-arrow.right{right:22px}.daily-actions{display:flex;align-items:center;gap:10px;padding:12px 22px;border-top:1px solid #222;background:#0b0b0b}.daily-actions .tg{margin-right:auto}.daily-sketch{grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr) auto}.daily-sketch .daily-actions{grid-column:1 / -1}.daily-main{display:flex;flex-direction:column;min-width:0;min-height:0}.daily-top{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 16px;border-bottom:1px solid #222}.daily-top .iconbtn{color:#ddd;font-size:20px}.daily-top .iconbtn:disabled{opacity:.3}.daily-sketch .daily-counter{position:static}.daily-top .spacer{flex:1}.daily-people{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.daily-person{display:inline-flex;align-items:baseline;gap:6px;max-width:220px;padding:3px 10px;border:1px solid #333;border-radius:999px;background:#111;color:#ddd;font-size:12px}.daily-person span{overflow:hidden;color:#8a8a8a;font:500 11px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.daily-person.on{border-color:var(--green);color:var(--green)}.daily-sync-state{color:#8a8a8a;font:500 11px var(--font-mono)}.frame-viewer{display:flex;flex:1;flex-direction:column;min-height:0}.frame-stage{position:relative;display:grid;flex:1;min-height:0;place-items:center;overflow:hidden;background:#0b0b0b}.frame-stage video,.frame-stage img{display:block;width:100%;height:100%;object-fit:contain}.frame-canvas,.frame-flip{position:absolute;top:0;right:0;bottom:0;left:0}.frame-canvas{transform-origin:0 0}.frame-flip{display:flex;gap:2px}.frame-pane{position:relative;display:grid;flex:1;min-width:0;place-items:center}.frame-pane>video,.frame-pane>img{position:absolute;top:0;right:0;bottom:0;left:0}.frame-compare{pointer-events:none}.frame-flip.compare-overlay .frame-compare,.frame-flip.compare-wipe .frame-compare{z-index:1}.frame-pane .sketch-layer{z-index:2}.frame-wipe{position:absolute;top:0;bottom:0;z-index:3;width:16px;margin-left:-8px;cursor:ew-resize;touch-action:none}.frame-wipe:before{content:"";position:absolute;top:0;bottom:0;left:7px;width:2px;background:var(--green);box-shadow:0 0 0 1px #0000007f}.frame-wipe span{position:absolute;top:50%;left:0;width:16px;height:32px;transform:translateY(-50%);border-radius:8px;background:var(--green)}.frame-tags{position:absolute;inset:8px 10px auto;z-index:4;display:flex;justify-content:space-between;pointer-events:none}.frame-tags.compare-side span:last-child{position:absolute;left:calc(50% + 4px)}.frame-tags span{padding:2px 8px;border-radius:999px;background:#000000a6;color:#ddd;font-size:11px}.frame-tags span:last-child{color:var(--amber)}.daily-versions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.daily-version{padding:2px 8px;border:1px solid #333;border-radius:999px;background:#111;color:#9a9a9a;font-size:11px}.daily-version:hover{color:#ddd}.daily-version.on{border-color:var(--green);color:var(--green)}.daily-version.compared{border-color:var(--amber);color:var(--amber)}.daily-version.rejected{text-decoration:line-through}.select.daily-compare-select{min-height:26px;padding:0 6px 0 10px;border-color:#333;border-radius:999px;background:#111;color:#9a9a9a;font-family:var(--font-mono);font-size:var(--type-size-label);font-weight:var(--type-weight-medium);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.select.daily-compare-select{flex:none}.select.daily-compare-select .select-value{overflow:visible}.select.daily-compare-select:hover:not(:disabled){color:#ddd}.select.daily-compare-select.active{border-color:var(--amber);color:var(--amber)}.select.daily-compare-select.on{box-shadow:none}.select.daily-compare-select>svg{width:12px;height:12px;color:inherit}.daily-compare-mode{min-height:26px}.daily-compare-mode button{padding:0 10px}.frame-stage.hold-pan{cursor:grab}.frame-stage.hold-zoom{cursor:zoom-in}.frame-stage.hold-pan .sketch-layer,.frame-stage.hold-zoom .sketch-layer{cursor:inherit}.sketch-layer{position:absolute;overflow:visible;pointer-events:none}.sketch-layer.drawing{cursor:crosshair;pointer-events:auto;touch-action:none}.sketch-layer.erasing{cursor:none}.sketch-layer.picking{cursor:copy}.sketch-eraser{fill:#ffffff14;stroke:#fff;stroke-width:1}.frame-transport{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;border-top:1px solid #222}.frame-transport .iconbtn{color:#ddd;font-size:18px}.frame-transport .iconbtn:disabled{opacity:.35}.frame-transport .iconbtn.toggle:not(.on){color:#777}.frame-transport .iconbtn.on,.sketch-tools .iconbtn.on{color:var(--green)}.frame-transport .frame-play{font-size:13px}.frame-range{display:inline-flex;align-items:center}.frame-range .mono{font-size:15px}.frame-scrub{position:relative;flex:1;display:flex;align-items:center;min-width:160px}.frame-scrub input{width:100%;accent-color:var(--green)}.frame-scrub-range{position:absolute;top:50%;height:14px;transform:translateY(-50%);border-radius:3px;background:color-mix(in srgb,var(--green) 22%,transparent);pointer-events:none}.frame-marker{position:absolute;top:-7px;width:9px;height:9px;margin-left:-4px;padding:0;border:0;border-radius:50%;background:#bbb}.frame-marker.drawn{background:var(--amber)}.frame-marker.on{background:var(--red)}.frame-label{min-width:120px;color:#9a9a9a;font-size:11px;text-align:right}.frame-sound,.frame-view-tools{display:inline-flex;align-items:center;gap:4px}.frame-sound input{width:64px;accent-color:var(--green)}.frame-opacity,.sketch-opacity{display:inline-flex;align-items:center;gap:4px;color:#9a9a9a;font-size:11px}.frame-opacity input,.sketch-opacity input{width:64px;accent-color:var(--green)}.frame-opacity .mono,.sketch-opacity .mono{min-width:30px;text-align:right}.frame-transport .frame-zoom{width:auto;padding:0 6px;font-size:11px}.sketch-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid #222}.sketch-group{display:inline-flex;gap:4px}.sketch-swatch{width:20px;height:20px;padding:0;border:2px solid transparent;border-radius:50%}.sketch-swatch.on{border-color:#fff;box-shadow:0 0 0 1px #000 inset}.sketch-width{display:grid;width:26px;height:22px;padding:0 4px;place-items:center;border:1px solid #333;border-radius:6px;background:#111}.sketch-width i{width:100%;border-radius:2px;background:#ddd}.sketch-width.on{border-color:var(--green)}.sketch-custom{position:relative;overflow:hidden;cursor:pointer;background-image:conic-gradient(#f66,#fd5,#6e6,#6cf,#a7f,#f66)!important}.sketch-custom.on{background-image:none!important}.sketch-custom input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.sketch-tools .chip-btn{display:inline-flex;align-items:center;gap:6px}.sketch-tools .iconbtn{color:#ddd}.sketch-tools .iconbtn:disabled{opacity:.35}.daily-notes{display:flex;flex-direction:column;gap:10px;min-height:0;padding:12px 14px;overflow-y:auto;border-left:1px solid #222;background:var(--panel);color:var(--text)}.daily-notes h3{margin:0;font-size:14px}.frame-note-form{display:flex;flex-direction:column;gap:6px}.frame-note-form textarea{min-height:64px;resize:vertical}.frame-note-target{font-size:12px}.frame-note-elsewhere{padding:6px 8px;border-radius:6px;background:var(--panel2);font-size:12px}.frame-note-list{display:flex;flex-direction:column;gap:8px}.frame-note-list .version-comment.current{box-shadow:0 0 0 1px var(--amber) inset}.frame-chip{padding:1px 6px;border:1px solid var(--border2);border-radius:999px;background:transparent;color:inherit;font-size:11px}.frame-chip:hover{border-color:var(--green);color:var(--green)}.linkbtn{padding:0;border:0;background:none;color:var(--green);font:inherit;text-decoration:underline}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.asset-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);text-align:left;box-shadow:var(--shadow-card);transition:border-color var(--transition-fast)}.asset-card:hover{border-color:var(--border2)}.asset-card .preview-surface{height:150px;min-height:150px;border:0;border-bottom:1px solid var(--border);border-radius:0}.asset-card-body{display:flex;flex-direction:column;gap:8px;padding:12px}.asset-card-body strong{font-size:14px;font-weight:600}.asset-card-body>span{display:flex;justify-content:space-between;gap:8px}.asset-card-body i,.asset-card-body b{font:500 var(--type-size-label) var(--font-mono);font-style:normal;letter-spacing:var(--type-tracking-label);text-transform:uppercase;color:var(--text2)}.asset-card-body b.ready{color:var(--green)}.asset-card-body small{min-height:30px;color:var(--text2);font-size:12px;line-height:1.4}.production-drawer{position:fixed;z-index:40;top:0;right:0;bottom:0;width:min(440px,94vw);padding:0 18px 34px;overflow-y:auto;border-left:1px solid var(--border2);background:var(--surface-panel);box-shadow:var(--shadow-drawer);animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(40px);opacity:0}}.drawer-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;margin:0 -18px 16px;padding:0 18px;border-bottom:1px solid var(--border);background:var(--surface-panel)}.drawer-head .crumb{margin-bottom:2px;color:var(--green)}.upload-button{display:block;margin:10px 0 16px;padding:9px;border:1px dashed var(--border2);border-radius:var(--radius-control);color:var(--text2);font:500 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase;text-align:center;cursor:pointer}.upload-button:hover{border-color:var(--green);color:var(--green)}.upload-button.dragging{border-style:solid;border-color:var(--green);color:var(--green);background:var(--panel2);padding:24px 9px}.upload-button input{display:none}.drawer-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drawer-fields label,.ready-toggle{display:flex;flex-direction:column;gap:5px;color:var(--text2);font:500 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.drawer-fields textarea{width:100%;min-height:84px;resize:vertical;font:13px var(--font-body);text-transform:none;letter-spacing:0}.status-editor{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.status-editor .select,.drawer-section .select,.asset-stage-list>.select{width:100%;font-size:13px}.drawer-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.drawer-section h4{margin-top:0}.drawer-section small{color:var(--text2)}.linked-asset{display:inline-flex;align-items:center;gap:6px;margin:0 6px 6px 0;min-height:28px;padding:3px 6px 3px 10px;border:1px solid var(--border2);border-radius:var(--radius-pill);background:var(--surf);color:var(--text2);font-size:12px}.linked-asset.ready{border-color:color-mix(in srgb,var(--green) 45%,var(--border));color:var(--green)}.linked-asset button{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:var(--text3)}.linked-asset button:hover{color:var(--red)}.ready-toggle{flex-direction:row;align-items:center;gap:8px;margin:12px 0;color:var(--text)}.asset-stage-list{display:flex;flex-direction:column;gap:6px}.asset-stage-row{display:grid;grid-template-columns:90px 1fr 1fr;align-items:center;gap:6px;padding:4px 4px 4px 10px;border-left:3px solid var(--text3);border-radius:6px;background:var(--panel2)}.asset-stage-row .select{min-height:28px;padding:2px 6px;border:0;background:transparent;font-size:12px}.asset-stage-row.status-in_progress{border-left-color:var(--blue)}.asset-stage-row.status-review{border-left-color:var(--amber)}.asset-stage-row.status-changes{border-left-color:var(--red)}.asset-stage-row.status-done,.asset-stage-row.status-approved{border-left-color:var(--green)}.asset-stage-row b{color:var(--text2);font:500 var(--type-size-label) var(--font-mono);text-transform:uppercase}@media (max-width: 760px){.production-page{padding:16px 14px 36px}.daily-sketch{grid-template-columns:1fr;grid-template-rows:minmax(320px,1fr) auto auto;overflow-y:auto}.daily-notes{border-top:1px solid #222;border-left:0}.daily-media{padding:20px 56px 12px}.daily-arrow.left{left:6px}.daily-arrow.right{right:6px}.drawer-fields{grid-template-columns:1fr}}.matrix-cell.status-not_started .select{color:var(--text2)}.preview-state{color:var(--text2);font:500 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.preview-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;color:var(--text2);font-size:12px}.preview-note .preview-failed{color:var(--red)}.preview-path{flex-basis:100%;overflow:hidden;color:var(--text3);font:11px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all}.storage-button{display:inline-flex;align-items:center;gap:6px}.storage-badge{min-width:18px;padding:0 5px;border-radius:9px;background:var(--amber);color:#000;font:600 11px/18px var(--font-mono);text-align:center}.storage-drawer code{font:12px var(--font-mono)}.storage-folder{display:flex;align-items:center;gap:10px;margin-bottom:8px}.storage-folder code{flex:1;min-width:0;padding:8px 10px;overflow:hidden;border:1px solid var(--border2);border-radius:var(--radius-control);text-overflow:ellipsis;white-space:nowrap}.storage-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.storage-item>div{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.storage-item code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-item small{color:var(--text2)}.storage-item .ghostbtn,.folder-actions .ghostbtn,.folder-actions .pillbtn{min-height:var(--control-height-sm);padding:0 10px;font-size:12px}.folder-picker{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.folder-crumbs{color:var(--text3);font:12px var(--font-mono)}.folder-crumbs button,.folder-list button{border:0;background:none;color:var(--text);cursor:pointer;font:inherit}.folder-crumbs button:hover,.folder-list button:hover{color:var(--green)}.folder-list{display:flex;flex-direction:column;max-height:240px;overflow-y:auto;padding:4px;border:1px solid var(--border2);border-radius:var(--radius-control)}.folder-list button{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;text-align:left}.folder-list button:hover{background:var(--panel2)}.folder-path{display:flex;flex-direction:column;gap:5px;color:var(--text2);font:500 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.folder-path input{font:13px var(--font-mono);text-transform:none;letter-spacing:0}.folder-actions{display:flex;gap:8px}.structure-list{display:flex;flex-direction:column;gap:6px;max-height:260px;margin:8px 0 10px;overflow-y:auto}.structure-list>div{display:flex;flex-direction:column;gap:2px;font-size:13px}.structure-list b{font:600 12px var(--font-mono)}.structure-list small{color:var(--text2)}.matrix-thumb{position:relative;display:block;width:176px;margin:0 auto 4px;padding:0;border:0;border-radius:4px;overflow:hidden;background:#0b0b0b;aspect-ratio:16 / 9;cursor:pointer}.matrix-thumb video,.matrix-thumb img{display:block;width:100%;height:100%;object-fit:contain}.matrix-thumb .preview-surface.compact{width:100%;height:100%;min-height:0;border:0;border-radius:4px}.matrix-thumb:hover{outline:1px solid var(--green)}.matrix-thumb-version{position:absolute;bottom:4px;left:4px;padding:1px 5px;border-radius:4px;background:#000000b3;color:#fff;font:600 10px var(--font-mono)}.danger-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--red)}.danger-link:hover:not(:disabled){border-color:var(--red);color:var(--red)}.board-stages{position:relative}.board-stages-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:30;display:flex;flex-direction:column;gap:6px;width:300px;padding:12px;border:1px solid var(--border2);border-radius:var(--radius-panel);background:var(--surface-panel);box-shadow:var(--shadow-drawer)}.board-stages.start .board-stages-panel{right:auto;left:0}.board-stages .iconbtn[aria-expanded=true]{color:var(--text);background:var(--surf)}.board-stages-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.board-stage-option{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.board-stage-add{display:flex;gap:6px;margin-top:4px}.board-stage-add input{flex:1;min-width:0;font-size:12px}.board-stages-panel .ghostbtn{min-height:var(--control-height-sm);padding:0 10px;font-size:12px}.ghostbtn.active{border-color:var(--green);color:var(--green)}.matrix-cell.waiting{opacity:.55}.matrix-cell.waiting:hover{opacity:1}.matrix-cell.ready{border-left-color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 35%,transparent)}.matrix-hint{display:block;padding:2px 6px 0;color:var(--text2);font:500 10px var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.matrix-hint.ready{color:var(--green)}.shots-page .production-table-wrap{width:fit-content;max-width:100%}.shots-table .matrix-stage{width:clamp(200px,calc((100vw - 560px) / var(--stage-count, 7)),300px);min-width:200px}.shots-table td.matrix-stage .matrix-thumb{width:100%;max-width:220px}.matrix-thumb{margin:0 0 4px}.matrix-shot-cell .shot-duration{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:4px;background:var(--panel2);color:var(--text);font:600 11px var(--font-mono)}.matrix-filters{display:inline-flex;gap:6px}.shots-table .matrix-stage.compact{width:clamp(180px,calc((100vw - 560px) / var(--stage-count, 7)),260px);min-width:180px}.matrix-cell.compact{display:flex;align-items:center;gap:4px}.matrix-cell.compact .select{flex:3;min-width:0}.matrix-cell.compact .select+.select{flex:2}.matrix-dates{display:block;padding:2px 6px;color:var(--text2);font:500 11px var(--font-mono)}.shots-table .matrix-extra{width:120px;min-width:100px;max-width:180px;color:var(--text2);font-size:12px}.matrix-assets{display:flex;flex-wrap:wrap;gap:4px}.matrix-assets .linked-asset{font-size:11px}.library-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.library-head .cat-chips{margin:0}.library-pick{max-width:260px}.upload-button{width:100%;background:none}.preview-folder{display:inline-flex;align-items:center;gap:6px;margin:-8px 0 12px;padding:2px 0;border:0;background:none;color:var(--text2);font-size:12px;cursor:pointer}.preview-folder:hover{color:var(--green)}.preview-surface video{object-fit:contain;background:#0b0b0b}video:fullscreen,video:-webkit-full-screen{object-fit:contain;background:#000}.review-badge{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:4px;background:var(--panel2);color:var(--text2);font:500 10px var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.review-badge.verdict-pending{color:var(--amber)}.review-badge.verdict-changes{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}.review-badge.verdict-approved{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.matrix-shot-cell .review-badge{display:block;width:fit-content}.shot-versions-toggle{display:block;margin-top:4px;padding:0;border:0;background:none;color:var(--text2);font:500 11px var(--font-mono);text-decoration:underline dotted;cursor:pointer}.shot-versions-toggle:after{content:" ▾"}.shot-versions-toggle.open{color:var(--green)}.shot-versions-toggle.open:after{content:" ▴"}.shots-table .shot-versions-row>td{padding:0;background:var(--bg)}.shots-table tr.shot-versions-row:hover td{background:var(--bg)}.shot-versions{position:sticky;left:132px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;width:min(980px,calc(100vw - 260px));padding:14px 16px}.shot-versions.muted{display:block}.shot-versions-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto}.shot-versions-list h5{margin:0 0 4px;color:var(--text2);font:500 var(--type-size-label) var(--font-mono);letter-spacing:var(--type-tracking-label);text-transform:uppercase}.shot-version{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;margin-bottom:4px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-size:12px;text-align:left;cursor:pointer}.shot-version b{font:600 12px var(--font-mono)}.shot-version .review-badge{margin-top:0}.shot-version:hover{border-color:var(--border2)}.shot-version.active{border-color:var(--green)}.shot-version.rejected b{color:var(--text3);text-decoration:line-through}.shot-version-comments{display:inline-flex;align-items:center;gap:3px;color:var(--text2)}.shot-versions-detail{display:flex;flex-direction:column;gap:10px;min-width:0}.shot-versions-detail .preview-surface{height:300px;border-radius:8px}.shot-versions-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:12px}.shot-versions-meta b{font-family:var(--font-mono)}.send-to-client{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.send-to-client input{flex:1;min-width:200px}.send-to-client .review-badge{margin-top:0}.version-comments{display:flex;flex-direction:column;gap:8px}.version-comment{padding:8px 10px;border-left:3px solid var(--green);border-radius:6px;background:var(--panel2)}.version-comment.internal{border-left-color:var(--text3)}.version-comment-head{display:flex;align-items:center;gap:8px;font-size:12px}.version-comment-head .iconbtn{width:22px;height:22px;min-height:22px;margin-left:auto}.version-comment p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.version-comment-scope{color:var(--text2);font:500 10px var(--font-mono);text-transform:uppercase}.version-comment-scope.client{color:var(--green)}.version-comment-form textarea{width:100%;min-height:56px;resize:vertical}.version-comment-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px;font-size:12px}.review-page .page-head .cat-chips{margin:0}.review-table td.review-thumb{width:196px;min-width:196px}.review-table td.review-meta{width:150px;min-width:130px}.review-table td.review-meta span,.review-table td.review-meta small{display:block}.review-table td.review-meta span{font:500 12px var(--font-mono)}.review-table td.review-note-cell{width:260px;min-width:200px;font-size:13px}.review-table td.review-note-cell span:not(.muted),.review-table td.review-comments-cell small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:pre-wrap;overflow-wrap:anywhere}.review-table td.review-answer{width:230px;min-width:210px}.review-table td.review-answer .review-verdict{margin-bottom:6px}.review-table td.review-answer .scene-renumber{display:block;margin-top:6px}.review-table td.review-comments-cell{width:240px;min-width:200px}.review-table td.review-comments-cell .shot-versions-toggle{margin:0 0 4px}.review-table td.review-comments-cell small{color:var(--text2);font-size:12px}.review-table .review-sends{display:block;margin-top:4px;color:var(--text2);font:500 11px var(--font-mono)}.review-table .matrix-shot-cell .production-code{font-size:12px}.review-table td.review-seconds{width:70px;font:500 12px var(--font-mono);white-space:nowrap}.review-table td.review-text{width:240px;min-width:180px;font-size:13px;line-height:1.45;white-space:pre-wrap}.review-table td.review-answer .shot-versions-toggle{display:block;margin-top:6px}.review-table td.review-empty-row{padding:28px 16px;color:var(--text2);text-align:center}.shots-page .production-table-wrap:has(.review-empty-row),.review-table:has(.review-empty-row){width:100%}.review-table th{white-space:nowrap}.review-detail{position:sticky;left:132px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:16px;width:min(1100px,calc(100vw - 260px));padding:14px 16px}.review-media{min-width:0}.review-media .preview-surface,.shot-versions-detail .preview-surface{display:flex;align-items:center;justify-content:center;min-height:0;background:#0b0b0b}.review-media .preview-surface{height:min(56vh,540px);border-radius:8px}.review-media .preview-surface video,.review-media .preview-surface img,.shot-versions-detail .preview-surface video,.shot-versions-detail .preview-surface img{width:100%;height:100%;object-fit:contain}.review-body{display:flex;flex-direction:column;gap:10px;min-width:0}.review-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px}.review-title .review-badge{margin-top:0}.review-note{margin:0;padding:8px 10px;border-radius:6px;background:var(--panel2);color:var(--text2);font-size:13px;white-space:pre-wrap}.review-verdict{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.review-verdict .review-badge{margin-top:0}.review-verdict .verdict-btn.changes{color:var(--red)}.review-verdict .verdict-btn.approved.active{border-color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green)}.review-verdict .verdict-btn.changes.active{border-color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.review-verdict .review-badge{padding:3px 8px}.review-history{display:flex;flex-direction:column;gap:4px}@media (max-width: 900px){.review-detail,.shot-versions{grid-template-columns:1fr}.review-detail,.shot-versions{width:calc(100vw - 48px);left:0}}.shots-notice{display:flex;align-items:center;gap:8px;margin:0 0 10px}.shots-notice .iconbtn{width:22px;height:22px;min-height:22px}.shots-legacy{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;color:var(--text2)}.shots-legacy .ghostbtn{margin-left:auto}.shots-table th.matrix-stage.legacy small{display:block;margin-top:2px;text-transform:none;letter-spacing:0;color:var(--text2)}.shots-table td.matrix-stage.legacy{background:var(--surface-muted)}.production-tabs button.legacy:not(.active){color:var(--text2);font-style:italic}.create-folders{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.open-folders{display:flex;flex-wrap:wrap;gap:4px 14px;margin:-6px 0 12px}.open-folders .preview-folder,.preview-note .preview-folder,.shot-versions-meta .preview-folder{margin:0}.shot-cell-links{display:flex;align-items:center;gap:8px;margin-top:4px}.shot-cell-links .shot-versions-toggle{margin-top:0}.open-folder-icon{display:inline-flex;align-items:center;color:var(--text2)}.open-folder-icon:hover{color:var(--green)}.open-folder{display:inline-flex;align-items:center;gap:6px}button.open-folder-icon{padding:0;border:0;background:none;cursor:pointer}.open-folder-note{color:var(--text2);font-size:11px}.shots-seconds .shot-duration.actual{display:block;margin-top:2px;padding:0 2px;color:var(--text2);font:400 11px var(--font-mono);white-space:nowrap}.shots-table tr.shot-draft-row td:not(.matrix-scene-cell){background:color-mix(in srgb,var(--green) 7%,var(--panel))}.shot-draft-row .shot-code{flex-wrap:nowrap}.shot-draft-row .shot-code-input{width:64px;border-color:var(--border)}.shot-draft-row .shot-draft-ok{color:var(--green)}.shot-draft-row .shot-draft-ok:hover:not(:disabled){background:color-mix(in srgb,var(--green) 15%,transparent)}.shot-draft-row .shots-input{border-color:var(--border)}.label-edit{display:inline-flex;align-items:baseline;gap:1px;font:500 11px var(--font-mono)}.label-edit .flow-error{display:block;font-family:inherit}.label-input{width:92px;min-height:22px;padding:1px 4px;font:500 11px var(--font-mono);text-transform:lowercase}.label-text{display:block;color:var(--text2);font:500 11px var(--font-mono)}.matrix-scene-cell .label-edit .label-input{width:84px}.shot-draft-row .label-input{width:76px;border-color:var(--border)}.shot-draft-row .matrix-shot-cell{width:230px;min-width:230px;max-width:260px}.fbx-cell{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border2);border-radius:4px;font:500 11px var(--font-mono);white-space:nowrap}.fbx-cell:hover{border-color:var(--green);color:var(--green)}.fbx-cell.missing{color:var(--text3);border-style:dashed}.fullscreen-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;background:var(--bg)}.fullscreen-head{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border2);background:var(--panel)}.fullscreen-head .spacer{flex:1}.fullscreen-body{position:relative;flex:1;min-height:0}.fbx-upload{display:inline-flex;align-items:center;gap:8px}.fbx-upload .upload-button{width:auto;margin:0}.fbx-upload .preview-folder{display:none}.fbx-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;padding:24px;text-align:center}.fbx-state{position:absolute;top:16px;left:50%;transform:translate(-50%);padding:6px 12px;border-radius:4px;background:#000000b3;color:#fff;font:500 12px var(--font-mono)}.fbx-state.failed{color:var(--red)}.fullscreen-head{flex-wrap:wrap}.fullscreen-head .modal-title{min-width:0}.fbx-viewer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;min-height:0}.fbx-main{flex:1;display:flex;flex-direction:column;min-width:0}.fbx-topbar{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border2);background:var(--panel);white-space:nowrap;overflow:hidden}.fbx-topbar .spacer{flex:1}.fbx-file{font:600 12px var(--font-mono);overflow:hidden;text-overflow:ellipsis}.fbx-meta{font-size:12px;overflow:hidden;text-overflow:ellipsis}.fbx-stage-wrap{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#141518}.fbx-stage{position:relative;box-shadow:0 0 0 1px #000}.fbx-stage canvas{display:block;width:100%;height:100%}.fbx-stage.checker{background-image:conic-gradient(#777 25%,#999 0,#999 50%,#777 0,#777 75%,#999 0);background-size:24px 24px}.fbx-toast{top:52px;max-width:calc(100% - 32px);border:0;cursor:pointer;white-space:pre-wrap;text-align:left}.fbx-timeline{display:flex;align-items:center;gap:8px;padding:6px 12px;border-top:1px solid var(--border2);background:var(--panel)}.fbx-timeline input[type=range]{flex:1;min-width:80px;accent-color:var(--green)}.fbx-time{font:500 11px var(--font-mono);white-space:nowrap}.fbx-viewer .fbx-num{width:72px;min-height:28px;padding:3px 6px}.fbx-viewer input[type=color]{width:44px;min-height:28px;padding:2px}.fbx-panel{width:380px;flex:none;overflow-y:auto;border-left:1px solid var(--border2);background:var(--panel)}.fbx-section{border-bottom:1px solid var(--border2)}.fbx-section>summary{padding:9px 14px;cursor:pointer;font:500 var(--type-size-label) var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text2);background:var(--panel2);-webkit-user-select:none;user-select:none}.fbx-section-body{display:grid;gap:8px;padding:10px 14px 14px;font-size:13px}.fbx-row{display:flex;align-items:center;gap:6px;min-width:0}.fbx-row>.select{flex:1;min-width:0}.fbx-label{width:104px;flex:none;color:var(--text2);font-size:12px}.fbx-hint{margin:0;font-size:12px}.fbx-check{display:inline-flex;align-items:center;gap:5px;font-size:12px;cursor:pointer}.fbx-checks{display:flex;flex-wrap:wrap;gap:12px}.fbx-buttons{display:flex;flex-wrap:wrap;gap:6px}.fbx-buttons .ghostbtn,.fbx-buttons .pillbtn{padding:0 12px}.fbx-materials{display:grid;gap:4px}.fbx-material{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:6px;align-items:center;padding:3px 4px;border-radius:6px}.fbx-material.selected{background:var(--surf)}.fbx-material-name{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:0;border:0;background:none;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.fbx-material-name,.fbx-material-name small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fbx-material-edit{display:grid;gap:8px;padding-top:8px;border-top:1px dashed var(--border2)}.fbx-progress{display:grid;gap:6px}.fbx-progress-bar{height:6px;border-radius:3px;overflow:hidden;background:var(--surf)}.fbx-progress-bar>div{height:100%;background:var(--green);transition:width var(--transition-fast)}.fbx-viewer kbd{padding:0 4px;border:1px solid var(--border2);border-radius:3px;background:var(--surf);font:500 11px var(--font-mono)}@media (max-width: 900px){.fbx-viewer{flex-direction:column;overflow-y:auto}.fbx-main{flex:none;height:70vh}.fbx-panel{width:auto;border-left:0;border-top:1px solid var(--border2);overflow:visible}}.fbx-cell-box{display:flex;flex-wrap:wrap;align-items:center;gap:4px;max-width:220px}.fbx-cell.anim{color:var(--text2)}.fbx-cell:disabled{opacity:.5;cursor:progress}.fbx-cell-note{flex-basis:100%;font-size:11px;line-height:1.3;white-space:normal}.fbx-cell-note .iconbtn{display:inline;padding:0 2px}.shots-settings-button{position:relative}.shots-settings-button.active{color:var(--text);background:var(--surf)}.shots-settings-button .storage-badge{position:absolute;top:-4px;right:-8px;min-width:16px;padding:0 4px;font-size:10px;line-height:16px}.settings-list{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.settings-list h4{margin-bottom:2px}.settings-list code{font:12px var(--font-mono);word-break:break-all}.settings-list .board-stage-add{align-self:stretch}.settings-list input[type=radio]{height:auto;min-height:0}.shots-add-scene{margin:12px 0 4px}.review-table td.review-thumb .review-thumb-empty{display:grid;place-items:center;height:96px;border:1px dashed var(--border2);border-radius:var(--radius-control);color:var(--text3);font:500 11px var(--font-mono)}.review-table .review-row.waiting td{color:var(--text2)}.link-card{position:relative;display:block;color:var(--text);text-decoration:none}.link-card-blank{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:70px;color:var(--text2);background:var(--surface-muted)}.link-card-badge{position:absolute;right:4px;bottom:4px;display:inline-flex;padding:2px;border-radius:6px;background:var(--bg);color:var(--text)}.link-card-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:color-mix(in srgb,var(--bg) 88%,transparent)}.link-card-caption b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.link-card-caption small{color:var(--text2);font-size:11px}a.link-card:hover .link-card-caption small{color:var(--green)}.link-version-form{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.link-version-form input{flex:1;min-width:180px}.grid-views{display:inline-flex;align-items:center;gap:2px;min-width:0;flex-wrap:wrap}.grid-views .view-switch{margin-right:4px}.sheet-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px}.sheet-table th,.sheet-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:4px 6px;vertical-align:middle;text-align:left}.sheet-table th{position:sticky;top:0;z-index:1;background:var(--panel);font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text2);white-space:nowrap}.sheet-table .sheet-num{width:32px;color:var(--text3, var(--text2));text-align:right;font:11px var(--font-mono)}.sheet-cell{min-width:140px}.sheet-cell.sheet-type-check{min-width:60px;text-align:center}.sheet-cell.sheet-type-media{width:150px}.sheet-input,.sheet-select{width:100%;min-height:28px;background:transparent;border:1px solid transparent;border-radius:6px;padding:0 6px;color:inherit;font:inherit}.sheet-input:hover,.sheet-select:hover{border-color:var(--border)}.sheet-input:focus,.sheet-select:focus{border-color:var(--accent, var(--border2));outline:none;background:var(--panel)}.sheet-text{display:flex;align-items:center;gap:2px}.sheet-actions{width:34px}.sheet-media{display:flex;align-items:center;justify-content:center;min-height:84px;border-radius:8px;outline:none}.sheet-media.over,.sheet-media:focus-visible{box-shadow:inset 0 0 0 2px var(--accent, var(--border2))}.sheet-media .matrix-thumb{width:136px;height:76px}.sheet-media .matrix-thumb img,.sheet-media .matrix-thumb video{width:100%;height:100%;object-fit:cover}.sheet-media-state{font-size:11px;color:var(--text2);padding:6px}.sheet-media-state.failed{color:var(--danger, #e66)}.sheet-add-row{margin:10px 0 0}.modal:has(.sheet-viewer){width:980px}.sheet-viewer{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px}.sheet-viewer-media{display:flex;align-items:center;justify-content:center;min-height:320px;background:var(--bg, #000);border-radius:10px;overflow:hidden}.sheet-viewer-media img,.sheet-viewer-media video{max-width:100%;max-height:64vh}.sheet-viewer-side{display:flex;flex-direction:column;gap:10px;min-width:0}.sheet-versions{display:flex;flex-wrap:wrap;gap:4px}.sheet-versions .stage-chip{cursor:pointer;border:1px solid var(--border)}.sheet-versions .stage-chip.active{border-color:var(--accent, var(--border2))}.sheet-viewer-actions{display:flex;flex-wrap:wrap;gap:6px}.sheet-comments{display:flex;flex-direction:column;gap:6px;font-size:13px}.sheet-comments h4{margin:0;font:500 11px var(--font-mono);text-transform:uppercase;color:var(--text2)}.sheet-comment{padding:6px 8px;border-radius:8px;background:var(--panel2, var(--panel))}.sheet-column-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.sheet-column-row>input:first-child{flex:1;min-width:120px}.sheet-column-row .sheet-options{flex-basis:100%}@media (max-width: 720px){.sheet-viewer{grid-template-columns:1fr}}.page{padding:22px;max-width:1100px}.page-wide{max-width:none}.page-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}.page-head>:first-child{min-height:52px;display:flex;flex-direction:column;justify-content:center}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.board-card{display:flex;flex-direction:column;gap:4px;padding:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast),background var(--transition-fast)}.board-card:hover{border-color:var(--border2);background:var(--panel2)}.board-card:hover .board-card-cover{color:var(--green)}.board-card-cover{position:relative;overflow:hidden;display:grid;place-items:center;aspect-ratio:1;margin-bottom:8px;border-radius:var(--radius-control);background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 14px 14px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 14px 14px,var(--panel2);color:var(--text3);transition:color var(--transition-fast)}.board-card-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.board-card-hint{position:absolute;right:6px;bottom:6px;padding:2px 8px;border-radius:999px;background:#0000009e;color:#fff;font-size:11px;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.board-card:hover .board-card-hint,.board-card:focus-visible .board-card-hint,.board-card-hint.busy{opacity:1}.board-card-error{color:var(--red);font-size:12px}.board-card-wrap{position:relative;display:grid}.board-card-remove{position:absolute;top:20px;right:20px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:999px;background:#0000009e;color:#fff;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.board-card-wrap:hover .board-card-remove,.board-card-remove:focus-visible{opacity:1}.board-card-remove:hover{background:var(--red)}.board-card-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-card-meta{color:var(--text2);font-size:12px}.login-screen{display:grid;place-items:center;min-height:100vh;padding:16px;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:38px 38px}.login-box{width:360px;max-width:100%;padding:28px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius-panel);box-shadow:var(--shadow-popover)}.login-brand{font-family:var(--font-head);font-size:26px;font-weight:600;line-height:1}.login-box>.muted{margin:6px 0 22px}.form-error{margin-bottom:12px;padding:8px 10px;border-radius:var(--radius-control);background:var(--danger-subtle);color:var(--red);font-size:13px}.login-submit{width:100%;margin-top:6px;min-height:var(--control-height-lg)}a.login-submit{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.login-hint{margin:8px 0 0;text-align:center}.login-or{display:flex;align-items:center;gap:10px;margin:18px 0 8px;color:var(--text3);font-size:11px}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--border)}.login-alt{display:block;margin:16px auto 0;color:var(--text2)}.login-sent{margin:0 0 14px;color:var(--text2);font-size:13px;line-height:1.45}.login-sent b{color:var(--text)}.login-code{font:600 22px var(--font-mono);letter-spacing:.4em;text-align:center}.login-links{display:flex;justify-content:space-between;margin-top:12px}.link-btn:disabled{color:var(--text3);text-decoration:none;cursor:default}@media (max-width: 760px){.page{padding:14px}}.crumb a:hover{color:var(--text)}.page-head-chips{margin:0 0 0 8px}.page-lead{margin:-6px 0 18px}.notice{margin-bottom:18px;padding:10px 14px;border-radius:var(--radius-control);border:1px solid var(--border2);background:var(--panel);font-size:13px}.notice.warn{border-color:color-mix(in srgb,var(--amber) 45%,var(--border));background:var(--warning-subtle);color:var(--text)}.client-columns{columns:320px;column-gap:20px}.client-group{break-inside:avoid;margin-bottom:22px}.client-title{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;color:var(--text);font-size:12px}.client-title span{color:var(--text3);font-size:11px}.client-title a:hover{color:var(--green)}.series-group{margin-bottom:14px}.series-group:last-child{margin-bottom:0}.series-title{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:var(--text2);font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.series-title span{color:var(--text3)}.series-group.unassigned{padding:10px;border:1px solid color-mix(in srgb,var(--amber) 45%,var(--border));border-radius:var(--radius-control);background:var(--warning-subtle)}.series-group.unassigned .series-title{color:var(--amber)}.series-hint{margin:8px 0 0}.series-title a{color:inherit;text-decoration:none}.series-title a:hover{color:var(--text);text-decoration:underline}.series-episodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.series-people{display:flex;flex-direction:column;gap:6px;max-width:720px}.series-person{display:flex;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.series-person strong{min-width:180px;font-weight:500}.board-template-hint{display:flex;align-items:center;gap:6px;margin:4px 0 0}.asset-episode-row{display:flex;align-items:center;gap:8px;padding:4px 0}.asset-episode-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-episode-row .select{flex:0 0 auto;width:170px}.series-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid var(--border2);border-radius:6px;background:none;color:var(--text);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.series-chip:hover{border-color:var(--text3)}.series-chip.unassigned{border-color:color-mix(in srgb,var(--amber) 55%,var(--border));background:var(--warning-subtle);color:var(--amber)}.series-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.series-option{display:inline-flex;align-items:center;gap:6px}.series-note{color:var(--text2);text-transform:none;letter-spacing:0}.project-list{display:flex;flex-direction:column;gap:8px}.project-card{display:flex;gap:12px;align-items:center;min-height:76px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--tag-color, var(--border));border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast),background var(--transition-fast)}.project-card:hover{border-color:var(--border2);border-left-color:var(--tag-color);background:var(--panel2)}.project-card-cover{display:grid;place-items:center;flex:none;width:52px;height:52px;overflow:hidden;border-radius:var(--radius-control);background:color-mix(in srgb,var(--tag-color, var(--text2)) 14%,transparent);color:var(--tag-color, var(--text2));font:600 17px var(--font-head)}.project-card-cover img{width:100%;height:100%;object-fit:cover}.project-card-body{display:flex;flex-direction:column;gap:6px;min-width:0}.project-card-title{font-size:14px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;color:var(--text2);font-size:12px}.project-status{min-height:22px;padding:2px 8px}.project-source{color:var(--text3);font:500 9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.board-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.board-chip{display:inline-flex;align-items:center;gap:7px;max-width:260px;min-height:32px;padding:0 12px;border:1px solid var(--border2);border-radius:var(--radius-pill);background:var(--surf);color:var(--text2);font-size:13px}.board-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-chip:hover{color:var(--text);border-color:var(--text3)}.board-chip.more{color:var(--green)}.sandbox-group{padding-top:18px;border-top:1px solid var(--border)}.access{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px 28px;align-items:start}.access>.form-error{grid-column:1 / -1;margin:0}.access-col{display:flex;flex-direction:column;gap:10px;min-width:0}.access-col .home-section-title{margin:0}.access-col>p{margin:-4px 0 0}.access-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.access-row{display:flex;align-items:center;gap:8px;min-width:0}.access-row .ghostbtn{min-height:var(--control-height-sm);padding:0 10px;font-size:12px}.access-person{display:flex;flex-direction:column;min-width:0}.access-person strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-guest{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-card)}.access-boards{display:flex;flex-direction:column;gap:4px}.access-boards{gap:8px}.access-board{display:flex;flex-direction:column;gap:4px;font-size:13px}.access-board label{display:inline-flex;align-items:center;gap:6px;min-width:0}.access-board label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-views,.access-presets{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.access-views{padding-left:22px}.access-views .chip-btn,.access-presets .chip-btn{min-height:24px;padding:0 9px;font-size:11px}.access-views .chip-btn:disabled{cursor:default}.access-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.access-add{max-width:100%}.credentials{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0 0;font-size:13px}.credentials dt{color:var(--text2)}.credentials dd{margin:0;overflow-wrap:anywhere}.team-table{width:100%;border-collapse:collapse;font-size:13px}.team-table th{text-align:left;padding:6px 10px;color:var(--text2);font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);border-bottom:1px solid var(--border)}.team-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.team-table tr.off td{opacity:.55}.team-actions{display:flex;justify-content:flex-end;gap:6px}.team-actions .ghostbtn{min-height:var(--control-height-sm);padding:0 10px;font-size:12px}.team-actions .ghostbtn.danger:hover:not(:disabled){color:var(--red);border-color:var(--red)}.check-row{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px;cursor:pointer}.check-row input[type=radio]{width:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--green)}.check-row .select{flex:1;min-width:0}.delete-boards{border:1px solid var(--border);border-radius:var(--radius, 8px);padding:6px 12px 8px;margin:0 0 12px}.delete-boards legend{padding:0 4px;color:var(--text2);font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label)}.import-list{max-height:50vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius, 8px);padding:2px 10px;margin:4px 0 10px}.import-row{align-items:flex-start;padding:4px 0;border-bottom:1px solid var(--border)}.import-row:last-child{border-bottom:0}.import-row input{margin-top:3px}.import-note{display:block}.cat-chips+.form-error{margin-top:10px}.home-section{margin-bottom:26px}.home-section-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px}.home-section-head .cat-chips{margin:0}.home-section-title{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;font:600 15px var(--font-head);color:var(--text)}.home-section-title span{color:var(--text2);font:500 11px var(--font-mono)}.home-section-head .home-section-title{margin:0}.home-section-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--text2);border-radius:var(--radius-control);padding:2px 4px 2px 0}.home-section-toggle:hover .home-section-title{color:var(--green)}.home-section-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.home-hint{margin:-4px 0 0}.pcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.pcard{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--tag-color) 5%,transparent),transparent 60%),var(--panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast),background var(--transition-fast)}.pcard:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--border2))}.pcard-open{display:flex;flex-direction:column;gap:10px;min-width:0;border-radius:var(--radius-control)}.pcard-open:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pcard-head{display:flex;align-items:center;gap:10px;min-width:0}.pcard-mark{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--tag-color) 16%,transparent);color:var(--tag-color);font:600 12px var(--font-head)}.pcard-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.pcard-copy strong{display:-webkit-box;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;transition:color var(--transition-fast)}.pcard-head{align-items:flex-start}.pcard-open:hover .pcard-copy strong{color:var(--green)}.pcard-copy>span{font-size:11px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard-status{color:var(--tag-color)}.pcard-preview{display:grid;gap:3px;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surf)}.pcard-preview img{width:100%;height:100%;min-height:0;object-fit:cover;display:block}.pcard-preview.n2{grid-template-columns:2fr 1fr}.pcard-preview.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.pcard-preview.n3 img:first-child{grid-row:1 / 3}.pcard-preview.empty{aspect-ratio:auto;height:72px;place-items:center;font-size:11px;color:var(--text3);background:radial-gradient(color-mix(in srgb,var(--text) 9%,transparent) 1px,transparent 1px) 0 0 / 14px 14px,var(--panel2)}.pcard-preview.empty span{display:inline-flex;align-items:center;gap:6px}.pcard-stats{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-height:22px}.pcard-stats .progress-bar{flex:1 1 60px}.progress-bar{height:5px;border-radius:var(--radius-pill);background:var(--surf);overflow:hidden}.progress-bar>span{display:block;height:100%;border-radius:inherit;background:var(--green)}.progress-num{font:500 11px var(--font-mono);color:var(--text2);white-space:nowrap}.count-badge{--badge: var(--text2);display:inline-flex;align-items:center;min-height:20px;padding:1px 7px;border-radius:var(--radius-pill);font:500 9px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--badge);background:color-mix(in srgb,var(--badge) 14%,transparent);white-space:nowrap}.count-badge.mine{--badge: var(--green)}.count-badge.review{--badge: var(--amber)}.pcard-foot{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--text2)}.pcard-boards{display:inline-flex;align-items:center;gap:5px;font:500 11px var(--font-mono)}.pcard-due{--due: var(--text2);display:inline-flex;align-items:center;min-height:20px;padding:1px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--due) 12%,transparent);color:var(--due);font:500 10px var(--font-mono);white-space:nowrap}.pcard-due.soon{--due: var(--amber)}.pcard-due.overdue{--due: var(--red)}.pcard-tasks{min-height:24px;padding:0 10px;border:1px solid var(--border2);border-radius:var(--radius-pill);font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text2)}.pcard-tasks:hover{color:var(--green);border-color:var(--green)}.pcard-tasks:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pcard-go{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-icon);color:var(--green)}.pcard-go:hover{background:var(--accent-subtle)}.project-card-cover.has-image{width:72px;height:44px;background:var(--surf)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#00000040}.tasks-drawer{width:min(620px,96vw);padding-bottom:24px}.tasks-drawer .drawer-head h2{margin:0;font-size:17px}.tasks-drawer .drawer-head h2 a:hover{color:var(--green)}.tasks-drawer .tasks-panel{padding:0;border-top:0}.tasks-panel{padding:12px 14px 14px;border-top:1px solid var(--border)}.tasks-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.tasks-toolbar .seg{min-height:var(--control-height-sm)}.tasks-legend{display:inline-flex;gap:5px;margin-left:auto}.tasks-empty{margin:4px 0}.tasks-more{margin-top:8px}.link-btn{color:var(--green);font-size:12px}.link-btn:hover{text-decoration:underline}.tasks-group+.tasks-group{margin-top:12px}.tasks-group-title{display:flex;align-items:baseline;gap:8px;margin:0 0 4px;font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text)}.tasks-group-hint{color:var(--text2);text-transform:none;letter-spacing:0;font:400 12px var(--font-body)}.tasks-group-count{color:var(--text3)}.tasks-rows{list-style:none;margin:0;padding:0}.task-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"thumb head due" "thumb stages stages";align-items:center;gap:4px 10px;padding:6px;border-radius:var(--radius-control);color:var(--text)}.task-row:hover{background:var(--panel2)}.task-row:focus-visible{outline:none;box-shadow:var(--focus-ring)}.task-thumb{grid-area:thumb;width:64px;height:36px;border-radius:5px;overflow:hidden;background:var(--surf)}.task-thumb img{width:100%;height:100%;object-fit:cover;display:block}.task-head{grid-area:head;display:flex;align-items:baseline;gap:8px;min-width:0}.task-code{flex:none;font:600 12px var(--font-mono);color:var(--text)}.task-title{font-size:12px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row:hover .task-title{color:var(--text)}.task-stages{grid-area:stages;display:flex;flex-wrap:wrap;gap:4px}.task-due{grid-area:due;font:500 11px var(--font-mono);color:var(--text2);text-align:right}.task-pill{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 8px 0 7px;border:1px solid var(--border2);border-radius:var(--radius-pill);font-size:11px;color:var(--text2);white-space:nowrap}.task-pill.mine{border-color:color-mix(in srgb,var(--green) 60%,var(--border));color:var(--text);background:var(--accent-subtle)}.task-pill-stage{color:var(--text)}.task-pill-who{max-width:110px;overflow:hidden;text-overflow:ellipsis;color:var(--text2)}.task-pill.mine .task-pill-who{color:var(--green)}.task-pill.status-done,.task-pill.status-approved{opacity:.6}.task-dot{--dot: var(--text3);width:7px;height:7px;flex:none;border-radius:50%;background:var(--dot)}.task-dot.status-in_progress{--dot: var(--blue)}.task-dot.status-review{--dot: var(--amber)}.task-dot.status-changes{--dot: var(--red)}.task-dot.status-done{--dot: var(--green)}.task-dot.status-approved{--dot: var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 30%,transparent)}@media (max-width: 560px){.pcard-grid{grid-template-columns:1fr}.task-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head due" "stages stages"}.task-thumb{display:none}}.flow-block{margin-top:28px}.flow-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.flow-head h2{margin:0;font-size:17px}.flow-error{color:var(--red);font-size:13px;margin:6px 0}.flow-stage{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);margin-bottom:12px;overflow:hidden}.flow-stage-head{display:flex;gap:6px;align-items:baseline;padding:8px 14px;font-weight:600;border-bottom:1px solid var(--border);background:var(--panel2)}.flow-task{border-bottom:1px solid var(--border);padding:8px 14px}.flow-task:last-child{border-bottom:0}.flow-task.nested{padding-left:34px;background:color-mix(in srgb,var(--panel2) 50%,transparent);border-top:1px dashed var(--border);border-bottom:0;margin:6px -14px -8px;padding-bottom:8px}.flow-task-row{display:grid;grid-template-columns:10px minmax(160px,1fr) auto auto minmax(120px,220px) auto;align-items:center;gap:12px}.flow-task-title{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-task-title:hover{color:var(--green);text-decoration:underline}.flow-task-status{white-space:nowrap}.flow-task-dates{white-space:nowrap;font-family:var(--font-mono)}.flow-task-exec{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:flex-end;font-size:13px;color:var(--text2)}.flow-task-exec b{color:var(--text);font-weight:600}.flow-task-exec .me{color:var(--green)}.flow-link-btn{white-space:nowrap}.task-dot.flow-status-new{--dot: var(--text3)}.task-dot.flow-status-in_progress,.task-dot.flow-status-ongoing{--dot: var(--green)}.task-dot.flow-status-review{--dot: var(--amber)}.task-dot.flow-status-done{--dot: var(--blue)}.flow-rows{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px 22px}.flow-rows .task-pill{padding-right:4px}.flow-rows .task-pill a{color:inherit}.flow-unlink{color:var(--text3);padding:0 4px;font-size:13px;line-height:1}.flow-unlink:hover{color:var(--red)}.flow-proposals{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.flow-proposals li{border:1px solid var(--border);border-radius:var(--radius-control);padding:10px 12px}.flow-proposal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.flow-linkable{max-height:50vh;overflow:auto;display:grid;gap:10px;margin-bottom:8px}.flow-linkable-title{font-family:var(--font-mono);font-size:var(--type-size-label);letter-spacing:var(--type-tracking-label);text-transform:uppercase;color:var(--text2);margin-bottom:4px}.flow-linkable-row{display:flex;align-items:center;gap:8px;padding:4px 2px;cursor:pointer}.flow-linkable-row:hover{background:var(--panel2)}.flow-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;font-size:11px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-chip:before{content:"↗";color:var(--green)}.flow-toolbar{display:flex;align-items:center;gap:8px}.stage-dates{display:flex;gap:6px;align-items:center}.stage-dates input{width:130px}.brief-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.brief-section{padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-card);min-width:0}.brief-section h3{margin:0 0 6px;font-size:13px;color:var(--text2);text-transform:uppercase;letter-spacing:var(--type-tracking-label);font-family:var(--font-mono);font-weight:var(--type-weight-medium)}.brief-text{margin:0;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}.brief-text a{color:var(--green)}.brief-files{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.brief-files .link-btn{font-size:13px;text-align:left;overflow-wrap:anywhere}.schedule{display:flex;flex-direction:column;gap:10px}.schedule-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.schedule-scroll{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);max-height:calc(100vh - 220px)}.schedule-grid{position:relative;min-width:100%}.schedule-days{position:sticky;top:0;z-index:3;display:flex;background:var(--panel2);border-bottom:1px solid var(--border)}.schedule-corner{flex:none;width:var(--label);position:sticky;left:0;z-index:4;background:var(--panel2);border-right:1px solid var(--border)}.schedule-day{flex:none;width:var(--col);height:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:500 10px var(--font-mono);color:var(--text2);border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.schedule-day small{font-size:9px;color:var(--text3);text-transform:uppercase}.schedule-day.off{background:color-mix(in srgb,var(--text3) 10%,transparent)}.schedule-day.today{color:var(--green);font-weight:700;box-shadow:inset 0 -2px 0 var(--green)}.schedule-group-title{position:sticky;left:0;z-index:2;padding:6px 12px;font-weight:600;background:var(--panel2);border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.schedule-row{display:flex;height:30px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.schedule-label{flex:none;width:var(--label);position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--panel);border-right:1px solid var(--border);overflow:hidden;white-space:nowrap}.schedule-label-text{flex:none;max-width:75%;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis}.schedule-label .task-dot{flex:none}.schedule-label a.schedule-label-text:hover{color:var(--green)}.schedule-label .muted{overflow:hidden;text-overflow:ellipsis}.schedule-cells{position:relative;flex:1;min-width:0}.schedule-off{position:absolute;top:0;bottom:0;width:var(--col);background:color-mix(in srgb,var(--text3) 8%,transparent);pointer-events:none}.schedule-bar{--bar: var(--blue);position:absolute;top:5px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--bar) 35%,var(--panel));border:1px solid var(--bar);color:var(--text);font-size:11px;line-height:18px;padding:0 8px;overflow:hidden;white-space:nowrap;cursor:grab;z-index:1;-webkit-user-select:none;user-select:none}.schedule-bar:hover{background:color-mix(in srgb,var(--bar) 50%,var(--panel))}.schedule-row.dragging .schedule-bar{cursor:grabbing;opacity:.85}.schedule-bar.readonly{cursor:default}.schedule-bar.status-done,.schedule-bar.status-approved{opacity:.55}.schedule-bar.status-review{box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 40%,transparent)}.schedule-bar.status-changes{border-style:dashed}.schedule-bar-text{pointer-events:none}.schedule-handle{position:absolute;top:0;right:0;width:8px;height:100%;cursor:ew-resize}.schedule-handle:after{content:"";position:absolute;top:5px;bottom:5px;right:2px;width:2px;border-radius:1px;background:var(--bar)}.schedule-deadline{position:absolute;top:2px;bottom:2px;width:2px;background:var(--red);z-index:2;pointer-events:none}.schedule-empty{position:absolute;top:8px;font-size:11px;color:var(--text3);pointer-events:none}.schedule-cells[title]{cursor:cell}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;align-items:start}.settings-sections{margin:-4px 0 16px}.settings-block{display:flex;flex-direction:column;gap:12px}.settings-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.settings-toolbar .cat-chips{margin:0}.settings-more{align-self:center}.seg.seg-sm button{min-height:var(--control-height-sm);padding:0 12px;font-size:12px}.set-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.set-card.wide{grid-column:1 / -1}.set-card-title{margin:0;font:600 15px var(--font-head);color:var(--text)}.set-card-hint{margin:-4px 0 0;color:var(--text2);font-size:12px;line-height:1.45}.set-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--border)}.set-card-title+.set-row,.set-card-hint+.set-row{border-top:0}.set-row-text{min-width:0}.set-name{font-size:13px;color:var(--text);overflow-wrap:anywhere}.set-sub{margin-top:2px;color:var(--text2);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.set-row-value{flex:none;max-width:50%;text-align:right;overflow-wrap:anywhere}.set-flag{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:var(--radius-pill);font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label)}.set-flag.ok{color:var(--green);background:var(--accent-subtle)}.set-flag.off{color:var(--amber);background:var(--warning-subtle)}.set-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:4px}.set-ok{color:var(--green);font-size:12px}.set-fail{color:var(--red);font-size:12px}.stages-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.stage-list-title{margin:0 0 6px;font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text2)}.stage-list ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.stage-list li{display:flex;align-items:center;gap:8px;min-height:34px}.stage-list li input{flex:1;min-width:0;min-height:30px}.stage-label{flex:1;font-size:13px}.stage-used{min-width:18px;text-align:right;font-family:var(--font-mono)}.stage-list li.hidden-stage input,.stage-list li.hidden-stage .stage-label{opacity:.5}.stage-actions{display:flex;align-items:center;gap:2px}.stage-actions .iconbtn{width:26px;height:26px}.stage-actions .iconbtn:disabled{opacity:.3}.stage-toggle{min-height:26px;padding:0 9px;font-size:11px}.stage-add{display:flex;gap:6px;margin-top:8px}.stage-add input{flex:1;min-width:0}.security-table tr.failed td:nth-child(2){color:var(--red)}.stage-links{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:2px 0 4px;color:var(--text2);font-size:12px}.stage-folder input{width:90px;min-height:24px;padding:0 6px;font:12px var(--font-mono)}.stage-after{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.stage-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border:1px solid var(--border2);border-radius:10px;color:var(--text)}.stage-chip button{border:0;background:none;color:var(--text2);cursor:pointer}.stage-after .select{min-height:22px;padding:0 4px;font-size:12px}.stage-list li{flex-wrap:wrap}.stage-links input{flex:none;min-height:24px}.templates-settings{display:flex;flex-direction:column;gap:12px}.template-tabs{display:flex;flex-wrap:wrap;gap:4px}.template-tabs button{min-height:30px;padding:0 12px;border:1px solid var(--border2);border-radius:10px;background:none;color:var(--text2);cursor:pointer;font-size:13px}.template-tabs button.active{border-color:var(--green);color:var(--text)}.template-new{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.template-new input{flex:1;min-width:200px}.template-form{display:flex;flex-direction:column;border-top:1px solid var(--border)}.template-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:6px 18px;padding:10px 0;border-bottom:1px solid var(--border)}.template-row-value{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.template-row-value>input{flex:1;min-width:0;max-width:420px}.template-labels{display:flex;flex-direction:column;gap:4px}.template-label-row{display:grid;grid-template-columns:70px repeat(4,minmax(70px,1fr));gap:4px;align-items:center}.template-label-row input{min-width:0}.template-numbering{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text2);font-size:12px}.template-input-small{width:72px;min-height:26px;padding:0 6px;font:12px var(--font-mono)}.template-value{font-size:13px}.template-asset-types{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.template-asset-add{display:inline-flex;gap:4px}.template-asset-add input{width:110px}.template-presets{display:flex;flex-direction:column;gap:10px;width:100%}.template-default-preset{display:inline-flex;align-items:center;gap:6px;color:var(--text2);font-size:12px}.template-preset{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 10px;border:1px solid var(--border);border-radius:12px}.template-preset>input{width:160px}.template-column{display:inline-flex;align-items:center;gap:4px;font-size:12px}.template-column label{display:inline-flex;align-items:center;gap:4px}.template-column .template-input-small{width:130px;font-family:inherit}.template-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px}.template-section-title{margin:8px 0 0;font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:var(--type-tracking-label);color:var(--text2)}@media (max-width: 720px){.template-row{grid-template-columns:1fr}.template-label-row{grid-template-columns:repeat(2,minmax(0,1fr))}.template-label-row>span{grid-column:1 / -1}}.modal:has(.grid-settings){width:820px}.grid-settings{display:flex;flex-direction:column;gap:10px;max-height:min(72vh,760px);overflow-y:auto;padding-right:4px}.grid-settings .template-row{grid-template-columns:160px 1fr}.grid-settings .stages-columns{grid-template-columns:1fr}.views-settings{display:flex;flex-direction:column;gap:6px}.views-settings .template-row-value{flex-direction:row;flex-wrap:wrap;gap:6px 14px}.views-settings .template-row-name>input{width:100%;max-width:220px}.views-settings .template-row-name .board-stage-option{margin-top:6px;font-size:12px;color:var(--text2)}
