@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-body:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", SFMono-Regular, ui-monospace, Menlo, Consolas, monospace;--radius-sm:7px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--accent:#6366f1;--accent-strong:#4f46e5;--accent-2:#a855f7;--accent-soft:#6366f11f;--accent-gradient:linear-gradient(135deg, #6366f1, #8b5cf6);--danger:#ef4444;--danger-soft:#ef44441f;--warning:#f59e0b;--warning-soft:#f59e0b24;--success:#22c55e;--success-soft:#22c55e24;--shadow-sm:0 1px 2px #0f12220f;--shadow-md:0 6px 20px #0f122214, 0 2px 6px #0f12220d;--shadow-lg:0 20px 50px #0f12222e, 0 6px 16px #0f122214;--ring:0 0 0 3px #6366f147}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#eceefa;--bg-surface:#fff;--bg-raised:#fdfdff;--bg-inset:#e7eaf7;--bg-hover:#6366f112;--bg-active:#6366f11c;--sidebar-bg:#1e2130;--sidebar-text:#b6bac9;--sidebar-text-strong:#fff;--sidebar-hover:#ffffff12;--sidebar-active:#6366f147;--border:#dce0f0;--border-strong:#c2c8e2;--text-primary:#171a26;--text-secondary:#565d75;--text-tertiary:#6b7189;--grid-line:#e9ecf8;--weekend:#e4e7f5;--scrollbar:#c3c9e0;--shadow-sm:0 1px 2px #312e8112;--shadow-md:0 6px 20px #312e8117, 0 2px 6px #312e810d;--shadow-lg:0 20px 50px #312e812e, 0 6px 16px #312e8114}:root[data-theme=light] body{background-image:radial-gradient(1100px 620px at 12% -8%,#6366f11a,#0000 60%),radial-gradient(900px 560px at 92% 4%,#a855f714,#0000 62%);background-attachment:fixed}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#101116;--bg-surface:#17181f;--bg-raised:#1d1f28;--bg-inset:#101116;--bg-hover:#ffffff0d;--bg-active:#6366f129;--sidebar-bg:#0c0d12;--sidebar-text:#9298a8;--sidebar-text-strong:#fff;--sidebar-hover:#ffffff0f;--sidebar-active:#6366f14d;--border:#262833;--border-strong:#363945;--text-primary:#f1f2f6;--text-secondary:#a2a8b8;--text-tertiary:#676d7c;--grid-line:#1f212b;--weekend:#14151c;--scrollbar:#33363f;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 12px 40px #0009}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv02", "cv03", "cv04", "cv11";margin:0;font-size:14px;line-height:1.45;overflow:hidden}h1,h2,h3{letter-spacing:-.015em}:focus-visible{box-shadow:var(--ring);border-radius:var(--radius-sm);outline:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,select,textarea{font:inherit;color:var(--text-primary)}h1,h2,h3,h4,p{margin:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:content-box;border:2px solid #0000;border-radius:5px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.18s fadeIn}.app-shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:linear-gradient(180deg, var(--sidebar-bg) 0%, color-mix(in srgb, var(--sidebar-bg) 88%, #6366f1) 140%);width:232px;min-width:232px;color:var(--sidebar-text);flex-direction:column;display:flex;overflow:hidden}.workspace-header{align-items:center;gap:10px;padding:18px 16px 14px;display:flex}.workspace-logo{background:var(--accent-gradient);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:800;display:flex;box-shadow:0 4px 14px #6366f173,inset 0 1px #ffffff40}.workspace-header h1{color:var(--sidebar-text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.sidebar-scroll{flex:1;padding:4px 10px 20px;overflow-y:auto}.sidebar-section{margin-top:18px}.sidebar-title{letter-spacing:.07em;text-transform:uppercase;color:var(--sidebar-text);opacity:.6;padding:0 8px 6px;font-size:11px;font-weight:700}.nav-link{border-radius:var(--radius-sm);width:100%;color:var(--sidebar-text);cursor:pointer;text-align:left;align-items:center;gap:10px;margin-bottom:1px;padding:8px 10px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.nav-link.active{background:var(--sidebar-active);color:var(--sidebar-text-strong);font-weight:600;box-shadow:inset 0 1px #ffffff0f}.nav-link.active:before{content:"";background:var(--accent-gradient);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-10px;box-shadow:0 0 10px #8b5cf6cc}.nav-link .badge{color:var(--sidebar-text-strong);border-radius:var(--radius-pill);background:#ffffff1f;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.sidebar-footer{opacity:.55;border-top:1px solid #ffffff12;flex-direction:column;gap:8px;padding:12px 16px;font-size:11.5px;display:flex}.built-by{letter-spacing:.01em;color:inherit;border-radius:var(--radius-sm);align-items:center;gap:7px;margin:-3px -5px;padding:3px 5px;font-size:11px;text-decoration:none;transition:background .12s,color .12s;display:flex}.built-by-text{color:var(--sidebar-text)}.built-by:hover{background:var(--sidebar-hover)}.built-by:hover .built-by-text{color:var(--sidebar-text-strong)}.built-by:hover strong{text-decoration:underline}.built-by:focus-visible{box-shadow:var(--ring);background:var(--sidebar-hover);outline:none}.built-by strong{color:var(--sidebar-text-strong);font-weight:700}.main-column{flex-direction:column;flex:1;min-width:0;display:flex}.header-bar{background:color-mix(in srgb, var(--bg-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:14px;height:56px;min-height:56px;padding:0 20px;display:flex}.page-title{letter-spacing:-.02em;font-size:16.5px;font-weight:800}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.content-area{flex:1;padding:20px 24px 40px;overflow:auto}.content-area.flush{flex-direction:column;padding:0;display:flex;overflow:hidden}.global-search{width:300px;position:relative}.global-search .search-field{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:8px;padding:6px 12px;display:flex}.global-search input{background:0 0;border:none;outline:none;width:100%;font-size:13px}.search-results{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);width:380px;max-height:400px;box-shadow:var(--shadow-lg);z-index:300;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.search-result-row{border-radius:var(--radius-sm);text-align:left;cursor:pointer;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.search-result-row:hover{background:var(--bg-hover)}.search-result-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);flex-shrink:0;width:52px;font-size:10.5px;font-weight:700}.btn{border-radius:var(--radius-md);white-space:nowrap;border:1px solid #0000;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 10px #6366f159,inset 0 1px #fff3}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 16px #6366f173,inset 0 1px #fff3}.btn-secondary{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.1)}.btn-danger-ghost{color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--text-secondary);font-size:12px;font-weight:600}.field-hint{color:var(--text-tertiary);margin-top:4px;font-size:11.5px}.input,.select,.textarea{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:8px 10px;font-size:13.5px;transition:border-color .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:70px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .span-2{grid-column:span 2}.pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill.clickable{cursor:pointer}.pill.clickable:hover{filter:brightness(1.08)}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 -6px 10px #00000024}.avatar-stack{display:inline-flex}.avatar-stack .avatar{border:2px solid var(--bg-surface);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-pad{padding:20px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:6px;padding:16px 18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";opacity:0;background:linear-gradient(90deg,#0000,#6366f18c,#0000);height:2px;transition:opacity .15s;position:absolute;inset:0 0 auto}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-label{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.stat-icon{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.stat-sub{color:var(--text-tertiary);font-size:12px}.capacity-bar{background:var(--bg-inset);border-radius:3px;height:6px;position:relative;overflow:hidden}.capacity-fill{background:var(--accent-gradient);border-radius:3px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.capacity-fill.warn{background:linear-gradient(90deg,#f59e0b,#f97316)}.capacity-fill.over{background:linear-gradient(90deg,#ef4444,#f43f5e)}.capacity-fill.ok{background:linear-gradient(90deg,#22c55e,#14b8a6)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 24px;display:flex}.empty-icon{background:var(--accent-gradient);color:#fff;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:8px;display:flex;box-shadow:0 10px 30px #6366f159,inset 0 1px #ffffff4d}.empty-state h3{font-size:16px;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:380px;font-size:13.5px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:500;background:#0a0b108c;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:520px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);animation:.18s slideUp;display:flex}.modal.wide{width:680px}.modal-header{justify-content:space-between;align-items:center;padding:18px 22px 0;display:flex}.modal-header h3{font-size:16px;font-weight:700}.modal-body{flex-direction:column;gap:14px;padding:18px 22px;display:flex;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:10px;padding:0 22px 20px;display:flex}.drawer-overlay{z-index:480;background:#0a0b1066;animation:.15s fadeIn;position:fixed;inset:0}.drawer{background:var(--bg-raised);border-left:1px solid var(--border);width:480px;max-width:92vw;box-shadow:var(--shadow-lg);z-index:490;flex-direction:column;animation:.2s slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:18px 22px 14px;display:flex}.drawer-body{flex-direction:column;flex:1;gap:18px;padding:18px 22px;display:flex;overflow-y:auto}.popover{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:600;min-width:160px;padding:5px;animation:.12s fadeIn;position:fixed}.menu-item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;color:var(--text-primary);align-items:center;gap:9px;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.menu-item:hover{background:var(--bg-hover)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.menu-item.selected{background:var(--bg-active)}.menu-divider{background:var(--border);height:1px;margin:5px 0}.toast-stack{z-index:900;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:color-mix(in srgb, var(--bg-raised) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);border-left:3px solid var(--success);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:10px;max-width:480px;padding:11px 18px;font-size:13.5px;font-weight:500;animation:.2s slideUp;display:flex}.board-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.view-toggle{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-md);gap:2px;padding:3px;display:inline-flex}.view-toggle button{color:var(--text-secondary);border-radius:7px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.view-toggle button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.board-group{margin-bottom:26px}.board-group-header{align-items:center;gap:9px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.board-group-count{color:var(--text-tertiary);font-size:12.5px;font-weight:600}.board-table{border-collapse:separate;border-spacing:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);table-layout:fixed;width:100%;overflow:hidden}.board-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--bg-surface);-webkit-user-select:none;user-select:none;cursor:pointer;white-space:nowrap;padding:9px 12px;font-size:11.5px;font-weight:700}.board-table th .sort-icon{vertical-align:-2px;margin-left:3px}.board-table td{border-bottom:1px solid var(--grid-line);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;padding:7px 12px;font-size:13.5px;overflow:hidden}.board-table tr:last-child td{border-bottom:none}.board-table tbody tr{cursor:pointer;transition:background .1s}.board-table tbody tr:hover{background:var(--bg-hover)}.cell-editable{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:7px;max-width:100%;margin:-3px -6px;padding:3px 6px;display:inline-flex}.cell-editable:hover{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}.add-row-btn{width:100%;color:var(--text-tertiary);align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.add-row-btn:hover{color:var(--accent);background:var(--bg-hover)}.kanban-wrap{align-items:flex-start;gap:14px;min-height:400px;padding-bottom:20px;display:flex;overflow-x:auto}.kanban-col{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;width:268px;min-width:268px;max-height:calc(100vh - 240px);display:flex}.kanban-col.drag-over{border-color:var(--accent);background:var(--accent-soft)}.kanban-col-header{align-items:center;gap:8px;padding:12px 14px 8px;font-size:13px;font-weight:700;display:flex}.kanban-cards{flex-direction:column;flex:1;gap:8px;min-height:60px;padding:6px 10px 12px;display:flex;overflow-y:auto}.kanban-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:grab;box-shadow:var(--shadow-sm);padding:12px;transition:box-shadow .15s,transform .15s,border-color .15s}.kanban-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.kanban-card.dragging{opacity:.45}.kanban-card-title{margin:6px 0;font-size:13.5px;font-weight:600;line-height:1.35}.kanban-card-meta{color:var(--text-tertiary);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.schedule-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.schedule-toolbar{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;display:flex}.week-label{text-align:center;min-width:170px;font-size:14.5px;font-weight:700}.schedule-scroll{background:var(--bg-app);flex:1;overflow:auto}.schedule-grid{min-width:fit-content;display:grid}.sg-corner,.sg-day-header{z-index:30;background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0}.sg-corner{z-index:40;border-right:1px solid var(--border);left:0}.sg-day-header{border-right:1px solid var(--border);padding:8px 10px 6px}.sg-day-header .day-name{font-size:12.5px;font-weight:700}.sg-day-header .day-name.today{color:var(--accent)}.sg-day-header .today-pill{border-radius:var(--radius-pill);background:var(--accent-gradient);color:#fff;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;margin-left:6px;padding:1px 7px;font-size:9.5px;font-weight:800;display:inline-block}.sg-day-ticks{margin-top:4px;display:flex}.sg-tick{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:9.5px;overflow:hidden}.sg-person-cell{z-index:20;background:var(--bg-surface);border-right:1px solid var(--border);border-bottom:1px solid var(--grid-line);align-items:center;gap:10px;width:210px;padding:8px 12px;display:flex;position:sticky;left:0}.sg-person-info{flex:1;min-width:0}.sg-person-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sg-person-role{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sg-person-hours{margin-top:3px;font-size:11px;font-weight:700}.sg-day-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--grid-line);background:var(--bg-surface);position:relative;overflow:hidden}.sg-day-cell.today-col{background:var(--accent-soft)}.sg-slot-line{background:var(--grid-line);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.booking-block{color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;justify-content:center;padding:4px 9px;font-size:11.5px;font-weight:600;line-height:1.25;transition:filter .1s,box-shadow .1s;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden;box-shadow:0 2px 8px #0a0c1847,inset 0 1px #ffffff47,inset 0 -1px #0000001f}.booking-block:hover{filter:brightness(1.07);box-shadow:0 4px 14px #0a0c1861,inset 0 1px #ffffff47,inset 0 -1px #0000001f}.booking-block .booking-time{opacity:.85;font-size:10px;font-weight:500}.booking-block.away{background:repeating-linear-gradient(-45deg, var(--bg-inset), var(--bg-inset) 6px, var(--border) 6px, var(--border) 7px);color:var(--text-secondary);border:1px dashed var(--border-strong);box-shadow:none}.booking-block.dragging{opacity:.5}.booking-resize{cursor:ew-resize;z-index:2;width:7px;position:absolute;top:0;bottom:0}.booking-resize.left{left:0}.booking-resize.right{right:0}.drag-preview{background:var(--accent-soft);border:2px dashed var(--accent);pointer-events:none;z-index:5;border-radius:7px;position:absolute;top:6px;bottom:6px}.overbooked-flag{color:var(--danger);align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:inline-flex}.legend{color:var(--text-secondary);border-top:1px solid var(--border);background:var(--bg-surface);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 20px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.entity-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.entity-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:16px;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex}.entity-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.entity-card-top{align-items:center;gap:12px;display:flex}.entity-card-name{font-size:14.5px;font-weight:700}.entity-card-sub{color:var(--text-secondary);font-size:12.5px}.report-section{margin-bottom:24px}.report-row{align-items:center;gap:12px;padding:8px 0;display:flex}.report-row-label{white-space:nowrap;text-overflow:ellipsis;width:180px;min-width:180px;font-size:13px;font-weight:600;overflow:hidden}.report-bar-track{background:var(--bg-inset);border-radius:var(--radius-sm);flex:1;height:22px;display:flex;overflow:hidden}.report-bar-fill{align-items:center;height:100%;transition:width .3s;display:flex}.report-row-value{text-align:right;font-variant-numeric:tabular-nums;width:70px;min-width:70px;font-size:12.5px;font-weight:700}.activity-item{border-bottom:1px solid var(--grid-line);gap:11px;padding:9px 0;font-size:13px;display:flex}.activity-item:last-child{border-bottom:none}.activity-time{color:var(--text-tertiary);white-space:nowrap;font-size:11.5px}.timer-chip{border:1px solid var(--border-strong);background:var(--bg-inset);border-radius:var(--radius-pill);color:var(--text-secondary);align-items:center;gap:9px;padding:5px 12px;font-size:12.5px;font-weight:600;display:flex}.timer-chip.running{border-color:var(--success);background:var(--success-soft);color:var(--success)}.timer-time{font-variant-numeric:tabular-nums;text-align:center;min-width:42px;font-weight:700}.onboard-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.onboard-hero{position:relative;overflow:hidden}.onboard-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f138,#0000 65%);border-radius:50%;width:340px;height:340px;position:absolute;top:-120px;right:-80px}.onboard-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#a855f724,#0000 65%);border-radius:50%;width:300px;height:300px;position:absolute;bottom:-140px;left:-60px}.onboard-step{z-index:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;flex-direction:column;gap:8px;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.onboard-step:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.onboard-step.done{opacity:.65}.onboard-step-num{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:flex;box-shadow:0 3px 10px #6366f166}.onboard-step.done .onboard-step-num{background:linear-gradient(135deg,#22c55e,#14b8a6);box-shadow:0 3px 10px #22c55e66}.chat-dock{z-index:700;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:0;right:16px}.chat-window{background:var(--bg-raised);border:1px solid var(--border-strong);width:300px;height:400px;max-height:70vh;box-shadow:var(--shadow-lg);border-bottom:none;border-radius:12px 12px 0 0;flex-direction:column;animation:.18s slideUp;display:flex;overflow:hidden}.chat-window-header{background:var(--accent-gradient);color:#fff;flex-shrink:0;align-items:center;gap:7px;padding:8px 10px;display:flex}.chat-window-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.chat-window-body{flex-direction:column;flex:1;min-height:0;padding:8px 12px 12px;display:flex}.chat-chips{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.chat-chip{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-size:12px;font-weight:700;font-family:var(--font-mono);box-shadow:var(--shadow-md);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.chat-chip:hover{border-color:var(--accent)}.chat-chip-x{opacity:.6;margin-left:2px;display:inline-flex}.chat-chip-x:hover{opacity:1;color:var(--danger)}.thread-row{border-radius:var(--radius-sm);text-align:left;cursor:pointer;border-bottom:1px solid var(--grid-line);align-items:center;gap:10px;width:100%;padding:8px;display:flex}.thread-row:hover{background:var(--bg-hover)}.thread-row .thread-code{font-family:var(--font-mono);color:var(--accent);flex-shrink:0;font-size:12px;font-weight:700}.thread-row .thread-preview{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.thread-row.unread .thread-preview{color:var(--text-primary);font-weight:600}.thread-row .thread-time{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.unread-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.scroll-panel{flex-direction:column;max-height:60vh;display:flex}.scroll-panel-body{flex:1;min-height:0;margin-right:-6px;padding-right:6px;overflow-y:auto}.change-row{border-bottom:1px solid var(--grid-line);flex-wrap:wrap;align-items:flex-start;gap:6px;padding:4px 0;display:flex}.change-editor{flex:1 0 100%;margin-top:4px}.change-row:last-child{border-bottom:none}.change-go{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;flex:1;align-items:flex-start;gap:10px;min-width:0;margin:-2px 0;padding:6px;transition:background .12s;display:flex}.change-go:hover{background:var(--bg-hover)}.washup-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.washup-head h3{flex:1;align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.washup-date{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.washup-summary{color:var(--text-secondary);border-bottom:1px solid var(--grid-line);padding-bottom:10px;font-size:13px;line-height:1.5}.washup-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:12px 0 2px;font-size:11px;font-weight:700}.washup-item{border-bottom:1px solid var(--grid-line);align-items:flex-start;gap:8px;padding:7px 0;font-size:13px;display:flex}.washup-item:last-child{border-bottom:none}.washup-text{flex:1;min-width:0}.washup-title{font-weight:600;display:block}.washup-done{color:var(--text-tertiary);font-weight:500;text-decoration:line-through}.washup-detail{color:var(--text-tertiary);margin-top:1px;font-size:12px;display:block}.washup-go{flex-shrink:0;padding:2px 8px;font-size:12px}.washup-foot{color:var(--text-tertiary);align-items:center;gap:5px;margin-top:12px;font-size:11.5px;display:flex}.cs-group{border-bottom:1px solid var(--grid-line)}.cs-group:last-child{border-bottom:none}.cs-head{text-align:left;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 4px;transition:background .12s;display:flex}.cs-head:hover{background:var(--bg-hover)}.cs-name{min-width:0;color:var(--text-primary);flex:1;font-size:13.5px;font-weight:600}.cs-role{color:var(--text-tertiary);font-size:11.5px;font-weight:500;display:block}.cs-count{text-align:center;min-width:22px;color:var(--text-secondary);background:var(--bg-hover);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:11.5px;font-weight:700}.cs-chev{color:var(--text-tertiary);flex-shrink:0;transition:transform .15s}.cs-chev.open{transform:rotate(180deg)}.cs-jobs{padding:2px 0 8px 40px}.cs-job{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px;font-size:12.5px;display:flex}.cs-job:hover{background:var(--bg-hover)}.cs-job-code{color:var(--text-primary);flex-shrink:0;font-weight:700}.cs-job-name{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cs-job-due{color:var(--text-tertiary);flex-shrink:0;font-size:11.5px}.timesheet-table{border-collapse:collapse;width:100%;min-width:520px;font-size:13px}.timesheet-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border-bottom:1px solid var(--border);text-align:center;padding:6px 8px;font-size:11.5px;font-weight:700}.timesheet-table th.ts-job,.timesheet-table td.ts-job{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.timesheet-table td{border-bottom:1px solid var(--grid-line);text-align:center;color:var(--text-secondary);padding:8px}.timesheet-table td.ts-filled{color:var(--text-primary);font-weight:600}.timesheet-table .ts-total{color:var(--text-primary);font-weight:700}.timesheet-table .ts-today{background:var(--bg-hover)}.timesheet-table th.ts-day{line-height:1.3}.timesheet-table th .ts-daydate{text-transform:none;letter-spacing:0;color:var(--text-tertiary);font-size:10.5px;font-weight:600;display:block}.timesheet-table tfoot td{border-bottom:none;border-top:1px solid var(--border);color:var(--text-primary);font-weight:700}.timesheet-table .ts-empty{text-align:center;color:var(--text-tertiary);padding:18px 8px;font-size:13px}.opening-day{margin-bottom:14px}.opening-day-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:4px;padding:4px 2px 6px;font-size:11.5px;font-weight:700;display:flex}.opening-day-count{color:var(--success)}.opening-row{border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:8px;transition:background .12s,border-color .12s;display:flex}.opening-row:hover{background:var(--bg-hover);border-color:var(--border)}.opening-who{flex:1;min-width:0}.opening-name{color:var(--text-primary);font-size:13.5px;font-weight:600;display:block}.opening-role{color:var(--text-tertiary);font-size:11.5px;display:block}.opening-time{text-align:right;flex-shrink:0}.opening-free{color:var(--success);font-size:13px;font-weight:700;display:block}.opening-from{color:var(--text-tertiary);font-size:11px;display:block}.sg-day-cell.jump-target{box-shadow:inset 0 0 0 2px var(--accent);animation:2.6s jumpPulse}@keyframes jumpPulse{0%,60%{background:color-mix(in srgb, var(--accent) 14%, transparent)}to{background:0 0}}.client-rail{max-height:calc(100vh - 190px);padding-right:4px;position:sticky;top:16px;overflow-y:auto}@media (width<=900px){.client-rail{max-height:none;position:static;overflow:visible}}.review-split{grid-template-columns:minmax(0,1fr) 320px}@media (width<=900px){.review-split{grid-template-columns:minmax(0,1fr)}.sidebar{width:64px;min-width:64px}.sidebar .nav-label,.sidebar .sidebar-title,.sidebar .workspace-header h1,.sidebar .sidebar-footer,.sidebar .nav-link .badge{display:none}.nav-link{justify-content:center;padding:9px}.global-search{width:180px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.drawer{width:100vw}}.ask-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);margin-bottom:16px;padding:12px}.ask-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ask-title{color:var(--text-primary);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.ask-title svg{color:var(--accent)}.ask-hello{color:var(--text-secondary);margin-bottom:10px;font-size:12.5px;line-height:1.55}.ask-hello strong{color:var(--text-primary);font-weight:700}.ask-scope{background:var(--bg-inset);border-radius:var(--radius-md);margin-bottom:10px;padding:10px 12px}.ask-scope-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:5px;font-size:11px;font-weight:700;display:flex}.ask-scope-list{color:var(--text-secondary);margin:0;padding:0;font-size:12px;line-height:1.65;list-style:none}.ask-scope-list li{padding-left:12px;position:relative}.ask-scope-list li:before{content:"";background:var(--border-strong);border-radius:50%;width:4px;height:4px;position:absolute;top:8px;left:2px}.ask-scope-list b{color:var(--text-primary);font-weight:700}.ask-suggestions{flex-wrap:wrap;gap:6px;display:flex}.ask-chip{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;text-align:left;padding:5px 10px;font-size:11.5px;transition:background .12s,border-color .12s,color .12s}.ask-chip:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ask-chip:disabled{opacity:.5;cursor:default}.ask-thread{flex-direction:column;gap:8px;max-height:300px;margin-bottom:10px;display:flex;overflow-y:auto}.ask-msg{border-radius:var(--radius-md);white-space:pre-wrap;max-width:92%;padding:8px 11px;font-size:12.5px;line-height:1.55}.ask-msg-user{background:var(--accent-gradient);color:#fff;align-self:flex-end;font-weight:500}.ask-msg-assistant{background:var(--bg-inset);color:var(--text-primary);align-self:flex-start}.ask-thinking{color:var(--text-tertiary);font-style:italic}.ask-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);align-items:center;gap:6px;margin-bottom:8px;padding:7px 9px;font-size:12px;display:flex}.ask-form{gap:6px;display:flex}.ask-form .input{flex:1;min-width:0}.ask-send{background:var(--accent-gradient);color:#fff;flex-shrink:0}.ask-send:disabled{opacity:.5}.ask-foot{color:var(--text-tertiary);margin-top:7px;font-size:11px;line-height:1.5}.briefing-toggle{color:var(--text-secondary);cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-inset);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:6px 11px 6px 8px;font-size:12px;font-weight:600;display:flex}.briefing-toggle:hover{border-color:var(--border-strong)}.briefing-toggle input{accent-color:var(--accent);cursor:pointer}.briefing-toggle svg{color:var(--text-tertiary)}.briefing-toggle:has(input:checked) svg{color:var(--accent)}.ft-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ft-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.ft-title svg{color:var(--accent)}.ft-total{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--text-tertiary);background:var(--bg-inset);border-radius:var(--radius-pill);padding:2px 8px;font-size:11px}.ft-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.ft-btn{padding:5px 11px;font-size:12.5px}.ft-viewtoggle{border:1px solid var(--border);border-radius:var(--radius-md);display:flex;overflow:hidden}.ft-viewtoggle button{background:var(--bg-surface);width:30px;height:28px;color:var(--text-tertiary);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.ft-viewtoggle button+button{border-left:1px solid var(--border)}.ft-viewtoggle button:hover{background:var(--bg-hover);color:var(--text-secondary)}.ft-viewtoggle button.is-on{background:var(--accent-soft);color:var(--accent)}.ft-empty{color:var(--text-tertiary);font-size:13px;line-height:1.6}.ft-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px;display:grid}.ft-tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);min-width:0;padding:8px}.ft-tile:hover{border-color:var(--border-strong)}.ft-thumb{border-radius:var(--radius-sm);background-color:var(--bg-surface);background-image:linear-gradient(45deg, var(--grid-line) 25%, transparent 25%), linear-gradient(-45deg, var(--grid-line) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--grid-line) 75%), linear-gradient(-45deg, transparent 75%, var(--grid-line) 75%);background-position:0 0,0 7px,7px -7px,-7px 0;background-size:14px 14px;display:block;overflow:hidden}.ft-thumb-img{object-fit:contain;width:100%;display:block}.ft-thumb-placeholder{background:var(--bg-surface);color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.ft-thumb-placeholder span{letter-spacing:.08em;font-size:10.5px;font-weight:800}.type-pdf{color:#ef4444}.type-tiff{color:#8b5cf6}.type-video{color:#f59e0b}.type-html{color:#06b6d4}.type-gif{color:#22c55e}.type-image{color:var(--accent)}.ft-tile-name{text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:12px;font-weight:600;overflow:hidden}.ft-tile-size{font-family:var(--font-mono);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10.5px;overflow:hidden}.ft-tile-actions{border-top:1px solid var(--border);gap:1px;margin-top:6px;padding-top:6px;display:flex}.ft-list{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.ft-row{grid-template-columns:30px minmax(0,1fr) 60px 190px 74px 84px auto;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:grid}.ft-row+.ft-row{border-top:1px solid var(--grid-line)}.ft-row:not(.ft-row-head):hover{background:var(--bg-hover)}.ft-row-head{background:var(--bg-inset);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:10.5px;font-weight:800}.ft-row-icon{justify-content:center;align-items:center;display:flex}.ft-row-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ft-row-type{color:var(--text-tertiary);font-size:11px;font-weight:700}.ft-row-size{font-family:var(--font-mono);color:var(--text-secondary);font-size:11.5px}.ft-row-when{color:var(--text-tertiary);font-size:11.5px}.ft-row-drive{display:flex}.ft-row-actions{justify-content:flex-end;gap:1px;display:flex}.ft-drive{color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:3px;font-size:10.5px;font-weight:700;text-decoration:none;display:inline-flex}.ft-drive.is-on{color:var(--ok,#16a34a)}.ft-sync{color:var(--text-tertiary);align-items:center;gap:6px;margin:-2px 0 11px;font-size:11.5px;line-height:1.45;display:flex}.ft-sync.is-on{color:var(--ok,#16a34a)}.ft-sync svg{flex:none}.ft-drive.is-on:hover{text-decoration:underline}.ft-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:11px;display:flex}.ft-foot-note{color:var(--text-tertiary);flex:1;min-width:200px;font-size:12px;line-height:1.5}.ft-foot .btn:disabled{opacity:.5;cursor:not-allowed}.ft-drop{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-inset);text-align:center;padding:18px}.ft-drop-hint{color:var(--text-tertiary);margin-top:9px;font-size:12px;line-height:1.5}.ft-progress{color:var(--accent);margin-top:8px;font-size:12.5px;font-weight:600}.ft-folder{container-type:inline-size}@container (width<=560px){.ft-row{grid-template-columns:26px minmax(0,1fr) auto;grid-template-areas:"icon name actions""icon size actions";row-gap:1px}.ft-row-icon{grid-area:icon;align-self:center}.ft-row-name{grid-area:name}.ft-row-size{grid-area:size;font-size:11px}.ft-row-actions{grid-area:actions;align-self:center}.ft-row-type,.ft-row-when,.ft-row-drive,.ft-row-head{display:none}.ft-grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:10px}}.fl-dept{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);border-bottom:1px solid var(--border);align-items:center;gap:9px;margin-bottom:12px;padding-bottom:8px;font-size:12px;font-weight:800;display:flex}.fl-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:14px;display:grid}.fl-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm);padding:13px}.fl-card:hover{border-color:var(--border-strong)}.fl-card-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.fl-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.fl-role{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.fl-rate{font-family:var(--font-mono);color:var(--success);background:var(--success-soft);border-radius:var(--radius-sm);margin-bottom:10px;padding:5px 9px;font-size:12px;font-weight:700}.fl-rate.is-missing{color:var(--warning);background:var(--warning-soft)}.fl-contact{flex-direction:column;gap:4px;font-size:12px;display:flex}.fl-contact a,.fl-contact .fl-muted{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;text-decoration:none;display:flex;overflow:hidden}.fl-contact a:hover{color:var(--accent);text-decoration:underline}.fl-contact .fl-muted{color:var(--text-tertiary);font-style:italic}.fl-contact svg{color:var(--text-tertiary);flex-shrink:0}.fl-notes{color:var(--text-secondary);background:var(--bg-inset);border-radius:var(--radius-sm);margin-top:10px;padding:7px 9px;font-size:12px;line-height:1.5}.fl-jobs{border-top:1px solid var(--border);margin-top:10px;padding-top:9px}.fl-jobs-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:6px;font-size:10.5px;font-weight:800;display:flex}.fl-jobs-total{font-family:var(--font-mono);color:var(--warning);letter-spacing:0;margin-left:auto}.fl-job-row{color:var(--text-secondary);justify-content:space-between;gap:10px;padding:2px 0;font-size:11.5px;display:flex}.fl-job-row span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fl-job-row span:last-child{font-family:var(--font-mono);flex-shrink:0}.fl-job-more{color:var(--text-tertiary);padding-top:3px;font-size:11px}.fl-warn{color:var(--warning);background:var(--warning-soft);border-radius:var(--radius-md);align-items:center;gap:8px;margin-bottom:16px;padding:9px 12px;font-size:12.5px;display:flex}.fl-preview{border:1px solid var(--border);border-radius:var(--radius-md);max-height:260px;margin-top:12px;overflow-y:auto}.fl-preview-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;font-size:12.5px;display:grid}.fl-preview-row+.fl-preview-row{border-top:1px solid var(--grid-line)}.fl-preview-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.fl-preview-role{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fl-preview-rate{font-family:var(--font-mono);color:var(--success);white-space:nowrap;font-size:11px}.fl-preview-rate.is-missing{color:var(--warning)}.fl-issues{color:var(--warning);background:var(--warning-soft);border-radius:var(--radius-sm);gap:8px;margin-top:10px;padding:9px 11px;font-size:12px;line-height:1.6;display:flex}.fl-issues svg{flex-shrink:0;margin-top:2px}.jf-freelance{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.jf-freelance-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);align-items:center;margin-bottom:9px;font-size:11.5px;font-weight:800;display:flex}.jf-freelance-head span:first-child{align-items:center;gap:6px;display:flex}.jf-freelance-total{font-family:var(--font-mono);color:var(--warning);letter-spacing:0;margin-left:auto}.jf-freelance-empty{color:var(--text-tertiary);font-size:12.5px;line-height:1.5}.jf-freelance-row{grid-template-columns:minmax(0,1fr) 78px 100px 88px 30px;align-items:center;gap:7px;margin-bottom:7px;display:grid}.jf-freelance-cost{font-family:var(--font-mono);text-align:right;color:var(--warning);font-size:12px;font-weight:700}.jf-freelance-note{color:var(--text-tertiary);margin-top:2px;font-size:11.5px;line-height:1.5}.jf-freelance-note.is-warn{color:var(--warning)}.jf-freelance-add{margin-top:4px;padding:4px 8px;font-size:12.5px}@media (width<=640px){.jf-freelance-row{grid-template-columns:minmax(0,1fr) 64px 84px auto 28px;gap:5px}}.shift-lead{color:var(--text-secondary);background:var(--bg-inset);border-radius:var(--radius-md);gap:9px;margin-bottom:14px;padding:11px 13px;font-size:13.5px;line-height:1.55;display:flex}.shift-lead svg{color:var(--accent);flex-shrink:0;margin-top:2px}.shift-lead strong{color:var(--text-primary)}.shift-list{border:1px solid var(--border);border-radius:var(--radius-md);max-height:300px;overflow:hidden auto}.shift-row{grid-template-columns:26px minmax(90px,1fr) auto auto 30px;align-items:center;gap:10px;padding:8px 11px;font-size:13px;display:grid}.shift-row+.shift-row{border-top:1px solid var(--grid-line)}.shift-row.is-bad{background:var(--warning-soft)}.shift-row.is-skipped{opacity:.55}.shift-who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.shift-when{white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;display:flex}.shift-from{color:var(--text-tertiary);text-decoration:line-through}.shift-to{color:var(--text-primary);font-weight:600}.shift-when svg{color:var(--text-tertiary);flex-shrink:0}.shift-time{color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px}.shift-verdict{justify-content:flex-end;display:flex}.shift-ok{color:var(--success);display:flex}.shift-bad{color:var(--warning);align-items:center;gap:3px;font-size:11.5px;font-weight:700;display:flex}.shift-conflicts{color:var(--warning);grid-column:2/-1;margin:3px 0 0;padding:0;font-size:11.5px;line-height:1.55;list-style:none}.shift-conflicts li{padding-left:11px;position:relative}.shift-conflicts li:before{content:"↳";opacity:.7;position:absolute;left:0}.shift-skip{color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:8px;margin-top:14px;font-size:13px;line-height:1.5;display:flex}.shift-skip input{accent-color:var(--accent);cursor:pointer;margin-top:2px}.shift-note{color:var(--text-tertiary);margin-top:6px;font-size:11.5px;line-height:1.5}.shift-stan-btn{justify-content:center;width:100%;margin-top:14px}.shift-stan{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);margin-top:14px;padding:11px}.shift-stan-head{justify-content:space-between;align-items:center;margin-bottom:9px;font-size:12.5px;font-weight:700;display:flex}.shift-stan-head span{align-items:center;gap:6px;display:flex}.shift-stan-head svg{color:var(--accent)}.shift-stan-thread{flex-direction:column;gap:8px;max-height:240px;margin-bottom:9px;display:flex;overflow-y:auto}.presence{align-items:center;gap:9px;display:flex}.presence-label{color:var(--text-tertiary);white-space:nowrap;font-size:11.5px;font-weight:700}.presence-stack{align-items:center;display:flex}.presence-stack>*+*{margin-left:-9px;transition:margin-left .16s}.presence-stack:hover>*+*{margin-left:2px}.presence-dot{cursor:pointer;box-shadow:0 0 0 2px var(--bg-surface);background:0 0;border:none;border-radius:50%;padding:0;transition:transform .14s;position:relative}.presence-dot:hover,.presence-dot.is-open{z-index:3;transform:translateY(-2px)}.presence-dot:focus-visible{box-shadow:0 0 0 2px var(--bg-surface), var(--ring);outline:none}.presence-live{background:var(--success);border:1.5px solid var(--bg-surface);border-radius:50%;width:8px;height:8px;position:absolute;bottom:-1px;right:-1px}.presence-name{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--text-primary);white-space:nowrap;z-index:20;flex-direction:column;gap:1px;padding:5px 9px;font-size:12px;font-weight:600;display:none;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.presence-dot:hover .presence-name,.presence-dot.is-open .presence-name{display:flex}.presence-role{color:var(--text-tertiary);font-size:10.5px;font-weight:500}.presence-more{background:var(--bg-inset);color:var(--text-secondary);box-shadow:0 0 0 2px var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.avatar-edit{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:relative}.avatar-edit:hover{filter:brightness(1.06)}.avatar-edit:focus-visible{box-shadow:var(--ring);outline:none}.avatar-edit-badge{background:var(--accent);color:#fff;border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;display:flex;position:absolute;bottom:-2px;right:-2px}.ap-preview{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:14px;padding-bottom:14px;display:flex}.ap-clear{margin-left:auto;padding:4px 10px;font-size:12.5px}.ap-section{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.ap-hint{color:var(--text-tertiary);font-size:11.5px}.ap-section-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:9px;font-size:11px;font-weight:800;display:flex}.ap-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:7px;display:grid}.ap-char{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-inset);cursor:pointer;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:border-color .12s,background .12s,transform .12s;display:flex;position:relative}.ap-char:hover{border-color:var(--border-strong);transform:translateY(-1px)}.ap-char.is-on{border-color:var(--accent);background:var(--accent-soft)}.ap-char-tick{background:var(--accent);color:#fff;border-radius:50%;padding:2px;position:absolute;top:-5px;right:-5px}.job-approvals{color:var(--success);background:var(--success-soft);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:10px;padding:7px 10px;font-size:12.5px;line-height:1.5;display:flex}.job-approvals svg{flex-shrink:0}.job-proof-approved{color:var(--success);align-items:center;gap:4px;margin-top:3px;font-size:10.5px;font-weight:700;display:flex}.job-proof-feedback{color:var(--warning);margin-top:3px;font-size:10.5px;font-weight:700}.drawer-proof{border-bottom:1px solid var(--grid-line);align-items:center;gap:10px;padding:6px 0;font-size:13px;display:flex}.drawer-proof:last-child{border-bottom:none}.drawer-proof-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.drawer-proof-waiting{color:var(--text-tertiary);white-space:nowrap;font-size:10.5px;font-weight:700}.drawer-proof .job-proof-approved,.drawer-proof .job-proof-feedback{white-space:nowrap;margin-top:0}.sg-menu-backdrop{z-index:700;position:fixed;inset:0}.sg-menu{z-index:701;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:196px;box-shadow:var(--shadow-lg);padding:5px;animation:.1s menuIn;position:fixed}@keyframes menuIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.sg-menu-head{color:var(--text-tertiary);border-bottom:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;padding:5px 9px 7px;font-size:11px;font-weight:700;overflow:hidden}.sg-menu button{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:7px 9px;font-size:13px;display:flex}.sg-menu button:hover{background:var(--bg-hover)}.sg-menu button svg{color:var(--text-tertiary);flex-shrink:0}.sg-menu button.is-danger{color:var(--danger)}.sg-menu button.is-danger:hover{background:var(--danger-soft)}.sg-menu button.is-danger svg{color:var(--danger)}.sg-menu-key{font-family:var(--font-mono);color:var(--text-tertiary);margin-left:auto;font-size:10.5px}.sg-menu-empty{color:var(--text-tertiary);padding:8px 9px;font-size:12px;line-height:1.5}.booking-menu-btn{color:#fff;cursor:pointer;opacity:0;z-index:3;background:#00000038;border:none;border-radius:4px;justify-content:center;align-items:center;width:18px;height:16px;transition:opacity .12s,background .12s;display:flex;position:absolute;top:2px;right:8px}.booking-block:hover .booking-menu-btn{opacity:.85}.booking-menu-btn:hover{opacity:1;background:#0006}.booking-menu-btn:focus-visible{opacity:1;outline-offset:1px;outline:2px solid #fff}.booking-block.away .booking-menu-btn{background:var(--bg-hover);color:var(--text-secondary)}.booking-block.away .booking-menu-btn:hover{background:var(--bg-active)}.booking-block{padding-right:22px}.booking-block.clashing{box-shadow:inset 0 0 0 2px var(--warning);background-image:repeating-linear-gradient(135deg,#ffffff38 0 5px,#0000 5px 10px)}.booking-clash-icon{vertical-align:-2px;color:#fff;cursor:pointer;filter:drop-shadow(0 1px 1px #00000080);background:0 0;border:none;align-items:center;margin-right:4px;padding:0;display:inline-flex}.booking-clash-icon:hover{transform:scale(1.25)}.booking-clash-icon:focus-visible{outline-offset:1px;border-radius:2px;outline:2px solid #fff}.sg-day-cell.over-cap{background:var(--warning-soft)}.sg-day-cell.over-cap:after{content:"";border-top:2px solid var(--warning);pointer-events:none;position:absolute;inset:0}.booking-by{opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;display:block;overflow:hidden}.booked-by-pill{color:var(--text-tertiary);background:var(--bg-inset);border-radius:var(--radius-pill);white-space:nowrap;padding:1px 7px;font-size:10.5px;font-weight:600}.checkbox-row{cursor:pointer;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;display:flex}.checkbox-row input{accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.checkbox-row strong{color:var(--text-primary);font-weight:600;display:block}.checkbox-row em{color:var(--text-tertiary);margin-top:2px;font-size:11.5px;font-style:normal;display:block}.crash-panel{border:1px solid var(--warning);border-radius:var(--radius-lg);background:var(--warning-soft);align-items:flex-start;gap:12px;max-width:620px;margin:24px auto;padding:16px 18px;font-size:13.5px;line-height:1.55;display:flex}.crash-panel svg{color:var(--warning);flex-shrink:0;margin-top:2px}.crash-panel strong{color:var(--text-primary);display:block}.crash-panel p{color:var(--text-secondary);margin-top:2px}.crash-panel code{border-radius:var(--radius-sm);background:var(--bg-inset);font-family:var(--font-mono);color:var(--text-tertiary);word-break:break-word;margin-top:8px;padding:6px 9px;font-size:11.5px;display:block}.crash-panel .btn{flex-shrink:0;align-self:center}.label-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.cc-wrap{display:inline-flex;position:relative}.cc-inline{color:var(--text-tertiary);text-transform:none;letter-spacing:0;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.cc-inline.is-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);cursor:pointer;padding:2px 9px 2px 5px}.cc-inline.is-button:hover{border-color:var(--border-strong);color:var(--text-secondary)}.cc-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.cc-name{line-height:1}.cc-backdrop{z-index:950;position:fixed;inset:0}.cc-pop{z-index:951;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:232px;box-shadow:var(--shadow-lg);padding:10px;position:absolute;top:calc(100% + 6px);right:0}.cc-pop-head{color:var(--text-secondary);margin-bottom:8px;font-size:12px;line-height:1.45;display:block}.cc-pop-head strong{color:var(--text-primary)}.cc-pop-head em{color:var(--text-tertiary);font-size:11px;font-style:normal;display:block}.cc-grid{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.cc-swatch{aspect-ratio:1;cursor:pointer;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s;display:flex;box-shadow:inset 0 0 0 1px #0000002e}.cc-swatch:hover{transform:scale(1.18)}.cc-swatch.is-on{box-shadow:0 0 0 2px var(--bg-raised), 0 0 0 4px var(--accent)}.booking-block.laned{top:calc(6px + var(--lane) * (100% - 12px) / var(--lanes));height:calc((100% - 12px) / var(--lanes) - 3px);justify-content:center;padding-top:2px;padding-bottom:2px;font-size:10.5px;bottom:auto}.bc-panel{border-color:var(--danger);background:linear-gradient(0deg, var(--bg-surface), var(--bg-surface)), var(--danger-soft);margin-bottom:16px}.bc-head{color:var(--danger);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.bc-count{background:var(--danger);color:#fff;border-radius:var(--radius-pill);padding:1px 8px;font-size:11px;font-weight:800}.bc-clear{margin-left:auto;padding:3px 10px;font-size:12px}.bc-row{align-items:flex-start;gap:9px;padding:7px 0;font-size:13px;line-height:1.5;display:flex}.bc-row+.bc-row{border-top:1px solid var(--grid-line)}.bc-dot{background:var(--danger);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px}.bc-text{min-width:0;color:var(--text-primary);flex:1}.bc-meta{color:var(--text-tertiary);margin-top:1px;font-size:11.5px;display:block}.bc-dismiss{flex-shrink:0;width:24px;height:24px}.bc-more{color:var(--text-tertiary);padding-top:6px;font-size:12px}.bf-wrap{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.bf-list{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;overflow:hidden}.bf-row{align-items:center;gap:9px;padding:7px 10px;font-size:12.5px;display:flex}.bf-row+.bf-row{border-top:1px solid var(--grid-line)}.bf-type{letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--bg-inset);flex-shrink:0;padding:2px 6px;font-size:9.5px;font-weight:800}.bf-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;text-decoration:none;overflow:hidden}a.bf-name:hover{color:var(--accent);text-decoration:underline}.bf-size{font-family:var(--font-mono);color:var(--text-tertiary);flex-shrink:0;font-size:10.5px}.bf-drive{color:var(--text-tertiary);background:var(--bg-inset);border-radius:var(--radius-pill);flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:700;text-decoration:none;display:inline-flex}.bf-drive.is-on{color:var(--success);background:var(--success-soft)}a.bf-drive.is-on:hover{text-decoration:underline}.bf-act{flex-shrink:0;width:26px;height:26px}.bf-add{padding:5px 11px;font-size:12.5px}.bf-hint{color:var(--text-tertiary);font-size:11.5px;line-height:1.5}.bf-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.rt-panel{margin-bottom:16px}.rt-head{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.rt-month{color:var(--text-secondary);align-items:center;gap:4px;margin-left:auto;font-size:12.5px;font-weight:600;display:flex}.rt-month span{text-align:center;min-width:104px}.rt-person+.rt-person{border-top:1px solid var(--grid-line);margin-top:14px;padding-top:14px}.rt-line{align-items:baseline;gap:10px;display:flex}.rt-name{font-size:13.5px;font-weight:600}.rt-count{font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:700}.rt-count.is-over{color:var(--danger)}.rt-over{font-weight:600}.rt-bar{background:var(--bg-inset);border-radius:4px;height:7px;margin-top:6px;display:flex;overflow:hidden}.rt-fill{background:var(--success)}.rt-fill-over{background:var(--danger)}.rt-meta{color:var(--text-tertiary);margin-top:5px;font-size:11.5px}.rt-warn{color:var(--danger);align-items:center;gap:4px;font-weight:600;display:inline-flex}.rt-days{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.rt-day{background:var(--success-soft);width:20px;height:20px;color:var(--success);cursor:default;border-radius:5px;justify-content:center;align-items:center;font-size:10.5px;font-weight:800;display:flex}.rt-day.is-chargeable{background:var(--danger-soft);color:var(--danger)}.job-flags{flex-wrap:wrap;gap:8px;display:flex}.job-flag{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;padding:7px 13px 7px 10px;font-size:13px;font-weight:600;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.job-flag:hover{border-color:var(--border-strong)}.job-flag.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.job-flag input{accent-color:var(--accent);cursor:pointer}.jn-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);align-items:center;gap:7px;margin-bottom:9px;font-size:13px;font-weight:700;display:flex}.jn-saved{text-transform:none;letter-spacing:0;color:var(--success);align-items:center;gap:3px;margin-left:auto;font-size:10.5px;display:inline-flex}.jn-read{white-space:pre-wrap;color:var(--text-secondary);font-size:13.5px}.jn-area{resize:none;width:100%;min-height:68px;font-size:13.5px;line-height:1.5;overflow:hidden}.jn-hint{color:var(--text-tertiary);margin-top:5px;font-size:11px;display:block}.discussion-composer{resize:none;flex:1;min-height:34px;max-height:132px;padding-top:7px;padding-bottom:7px;font-family:inherit;line-height:1.45}.sg-person-name{align-items:center;gap:5px;display:flex}.sg-person-add{border:1px solid var(--border);width:17px;height:17px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border-radius:5px;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.sg-person-cell:hover .sg-person-add,.sg-person-add:focus-visible{opacity:1}.sg-person-add:hover{background:var(--accent);border-color:var(--accent);color:#fff}.cp{flex-direction:column;gap:10px;display:flex}.cp-grid{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.cp-swatch{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:7px;justify-content:center;align-items:center;min-height:26px;padding:0;display:flex}.cp-swatch:hover{transform:scale(1.08)}.cp-swatch.is-on{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-raised)}.cp-custom{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cp-wheel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.cp-wheel:hover{border-color:var(--border-strong);color:var(--text-primary)}.cp-wheel input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.cp-hex{width:92px;font-family:var(--font-mono);text-transform:uppercase;font-size:12.5px}.cp-rgb{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11.5px}.cp-preview{border-radius:var(--radius-sm);font-size:12px;font-weight:700;font-family:var(--font-mono);text-align:center;padding:7px 11px}.cc-done{justify-content:center;width:100%;margin-top:10px}.bl-wrap,.bl-rows{flex-direction:column;gap:6px;display:flex}.bl-row{grid-template-columns:15px 150px minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.bl-new{grid-template-columns:15px 150px minmax(0,1fr) auto}.bl-icon{color:var(--text-tertiary)}.bl-label,.bl-url{padding:5px 8px;font-size:12.5px}.bl-url{font-family:var(--font-mono);font-size:11.5px}.bl-add{padding:5px 12px;font-size:12.5px}.bl-list{flex-direction:column;gap:3px;display:flex}.bl-read{color:var(--accent);align-items:center;gap:6px;min-width:0;padding:2px 0;font-size:12.5px;text-decoration:none;display:inline-flex}.bl-read:hover{text-decoration:underline}.bl-read-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bl-read-out{opacity:.6;flex:none}@container (width<=560px){.bl-row,.bl-new{grid-template-columns:15px minmax(0,1fr) auto}.bl-label{grid-column:2/-1}}.washup-scope{border:1px solid var(--border);border-radius:var(--radius-sm);margin-left:8px;display:inline-flex;overflow:hidden}.washup-scope button{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:3px 9px;font-size:11px;font-weight:700}.washup-scope button+button{border-left:1px solid var(--border)}.washup-scope button.is-on{background:var(--accent);color:#fff}.washup-scope button:not(.is-on):hover{background:var(--bg-hover);color:var(--text-primary)}.cm-indicative{color:var(--text-secondary);background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;margin-bottom:12px;padding:9px 12px;font-size:12.5px;line-height:1.5;display:flex}.cm-indicative svg{color:var(--accent);flex:none;margin-top:2px}.dc-panel{flex-direction:column;gap:8px;display:flex}.dc-head{align-items:center;gap:8px;margin-bottom:2px;font-size:14.5px;font-weight:700;display:flex}.dc-left{color:var(--text-tertiary);margin-left:auto;font-size:11.5px;font-weight:600}.dc-row{border-top:1px solid var(--grid-line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.dc-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dc-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.dc-time{color:var(--text-tertiary);font-size:11.5px}.dc-actions{align-items:center;gap:6px;display:flex}.dc-btn{padding:4px 10px;font-size:12px}.dc-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.dc-field{flex-direction:column;gap:3px;display:flex}.dc-field>span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-size:10.5px;font-weight:700}.dc-hours{width:76px;padding:4px 8px;font-size:12.5px}.dc-date{width:140px;padding:4px 8px;font-size:12.5px}.dc-over{color:var(--warning);align-items:center;gap:4px;font-size:11.5px;font-weight:600;display:inline-flex}.dc-note{color:var(--text-secondary);font-size:11.5px}.dc-warn{color:var(--danger);font-size:11.5px}.dc-summary{color:var(--success);border-top:1px solid var(--grid-line);align-items:center;gap:5px;padding-top:8px;font-size:11.5px;display:flex}.bc-panel.is-amber{border-color:var(--warning)}.bc-panel.is-amber .bc-head{color:var(--warning)}.bc-dot.is-amber{background:var(--warning)}.sa-panel{margin-bottom:16px}.sa-head{align-items:center;gap:8px;margin-bottom:10px;font-size:14.5px;font-weight:700;display:flex}.sa-head>svg{color:var(--accent)}.sa-count{background:var(--bg-inset);color:var(--text-tertiary);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:800}.sa-new{margin-left:auto;padding:4px 10px;font-size:12px}.sa-empty{color:var(--text-tertiary);font-size:12.5px;line-height:1.55}.sa-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-inset);border-left:3px solid var(--text-tertiary);gap:10px;padding:10px 12px;display:flex}.sa-item+.sa-item{margin-top:7px}.sa-item.is-news{border-left-color:var(--accent)}.sa-item.is-important{border-left-color:var(--warning)}.sa-item.is-urgent{border-left-color:var(--danger)}.sa-icon{color:var(--text-tertiary);flex:none;margin-top:1px}.sa-item.is-important .sa-icon{color:var(--warning)}.sa-item.is-urgent .sa-icon{color:var(--danger)}.sa-item.is-news .sa-icon{color:var(--accent)}.sa-text{flex:1;min-width:0}.sa-title{font-size:13.5px;font-weight:700;line-height:1.4}.sa-body{color:var(--text-secondary);white-space:pre-wrap;margin-top:3px;font-size:13px;line-height:1.55}.sa-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px;font-size:11px;display:flex}.sa-actions{flex:none;align-items:flex-start;gap:2px;display:flex}.sa-expired{border-top:1px solid var(--grid-line);color:var(--text-tertiary);align-items:center;gap:5px;margin-top:9px;padding-top:8px;font-size:11px;display:flex}.sa-composer{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-inset);flex-direction:column;gap:8px;margin-bottom:10px;padding:11px 12px;display:flex}.sa-compose-row{gap:8px;display:flex}.sa-title-input{flex:1;font-size:13.5px;font-weight:600}.sa-level{width:128px;font-size:12.5px}.sa-body-input{resize:vertical;width:100%;min-height:68px;font-size:13px}.sa-compose-foot{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.sa-until{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.sa-until>span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-size:10.5px;font-weight:700}.sa-until input{width:150px;padding:4px 8px;font-size:12.5px}.sa-until em{color:var(--text-tertiary);font-size:11px;font-style:normal}.sa-compose-actions{gap:7px;margin-left:auto;display:flex}@media (width<=640px){.sa-compose-row{flex-direction:column}.sa-level{width:100%}.sa-compose-actions{width:100%;margin-left:0}}.jt-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:11px 14px}.jt-panel.is-running{border-color:var(--accent);background:var(--accent-soft)}.jt-panel.is-idle{border-color:var(--warning)}.jt-main{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.jt-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;font-weight:800;display:inline-flex}.jt-panel.is-running .jt-label{color:var(--accent)}.jt-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-primary);border-radius:var(--radius-sm);cursor:text;background:0 0;border:1px solid #0000;margin:-3px 0;padding:3px 7px;font-size:25px;font-weight:600;line-height:1}.jt-clock:hover{border-color:var(--border-strong);background:var(--bg-inset)}.jt-panel.is-running .jt-clock{color:var(--accent)}.jt-btn{padding:5px 12px;font-size:12.5px}.jt-who{width:132px;padding:4px 8px;font-size:12px}.jt-total{color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px}.jt-edit{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.jt-edit>span{color:var(--text-tertiary);font-size:12px}.jt-num{width:62px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:5px 8px;font-size:13px}.jt-idled{border-top:1px solid var(--grid-line);color:var(--text-secondary);align-items:flex-start;gap:7px;margin-top:9px;padding-top:9px;font-size:12px;line-height:1.5;display:flex}.jt-idled svg{color:var(--warning);flex:none;margin-top:1px}@media (width<=620px){.jt-total{width:100%;margin-left:0}}.booking-note-icon{vertical-align:-1px;opacity:.75;cursor:help;align-items:center;margin-right:3px;display:inline-flex}.booking-note-icon:hover{opacity:1}.booking-note-tip{z-index:900;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-raised);max-width:260px;color:var(--text-primary);white-space:pre-wrap;box-shadow:var(--shadow-lg,0 8px 24px #00000059);pointer-events:none;padding:9px 11px;font-size:12.5px;line-height:1.5;position:fixed}.clash-bubble{z-index:920;border-radius:var(--radius-md);border:1px solid var(--danger);background:var(--bg-raised);width:330px;max-height:calc(100vh - 40px);padding:13px 14px 14px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0006}.clash-head{text-transform:uppercase;letter-spacing:.06em;color:var(--danger);align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.clash-close{width:24px;height:24px;margin-left:auto}.clash-what{color:var(--text-secondary);margin:9px 0 10px;font-size:13px;line-height:1.5}.clash-what b{color:var(--text-primary)}.clash-list{flex-direction:column;gap:1px;display:flex}.clash-row{border-radius:var(--radius-sm);background:var(--bg-inset);grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:7px 9px;font-size:12.5px;display:grid}.clash-row.is-this{box-shadow:inset 2px 0 0 var(--accent)}.clash-row-job{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.clash-row-when{font-family:var(--font-mono);color:var(--text-secondary);font-size:11.5px}.clash-row-by{color:var(--text-tertiary);grid-column:1/-1;font-size:11px}.clash-advice{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent);margin-top:11px;padding:9px 11px}.clash-advice-head{text-transform:uppercase;letter-spacing:.07em;color:var(--accent);align-items:center;gap:5px;margin-bottom:4px;font-size:10px;font-weight:800;display:flex}.clash-advice p{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.clash-advice-wait{color:var(--text-tertiary);font-size:12.5px}.clash-spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.clash-spin{animation:none}}.clash-alt{border-top:1px solid var(--grid-line);margin-top:11px;padding-top:11px}.clash-alt-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.clash-alt-slot{flex-wrap:wrap;align-items:center;gap:8px;margin:7px 0 9px;font-size:12.5px;display:flex}.clash-alt-slot svg{color:var(--text-tertiary);flex:none}.clash-alt-from{color:var(--text-tertiary);font-family:var(--font-mono);font-size:11.5px;text-decoration:line-through}.clash-alt-to{color:var(--success);font-weight:600}.clash-move{justify-content:center;width:100%}.clash-none{border-top:1px solid var(--grid-line);color:var(--text-secondary);margin:11px 0 0;padding-top:11px;font-size:12.5px;line-height:1.5}.clash-notify{justify-content:center;width:100%;margin-top:8px}.clash-notify:disabled{opacity:.65;cursor:default}.clash-ask{justify-content:center;width:100%;margin-top:11px;padding:6px 12px;font-size:12.5px}.settings-readonly{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-inset);color:var(--text-secondary);align-items:center;gap:9px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;line-height:1.5;display:flex}.settings-readonly svg{color:var(--text-tertiary);flex:none}.form-head{border-bottom:1px solid var(--border);grid-template-columns:190px minmax(0,1fr);gap:14px;margin-bottom:16px;padding-bottom:16px;display:grid}@media (width<=560px){.form-head{grid-template-columns:1fr}}.ca-panel{border-color:var(--warning);background:var(--warning-soft)}.ca-head{color:var(--warning);align-items:center;gap:8px;margin-bottom:12px;display:flex}.ca-head h3{font-size:14.5px;font-weight:700}.ca-item+.ca-item{border-top:1px solid var(--grid-line);margin-top:14px;padding-top:14px}.ca-when{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:flex}.ca-tag{letter-spacing:.03em;border-radius:var(--radius-pill);background:var(--bg-inset);color:var(--text-secondary);padding:2px 7px;font-size:10px;font-weight:800}.ca-line{color:var(--text-primary);margin:6px 0 9px;font-size:13.5px}.ca-rows{flex-direction:column;gap:5px;display:flex}.ca-row{background:var(--bg-surface);border:1px solid var(--grid-line);border-radius:var(--radius-md);align-items:baseline;gap:10px;padding:7px 10px;font-size:13px;display:flex}.ca-time{font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0;font-size:11.5px}.ca-job{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.ca-advice{border-radius:var(--radius-md);background:var(--bg-inset);color:var(--text-secondary);align-items:flex-start;gap:6px;margin-top:10px;padding:9px 11px;font-size:13px;line-height:1.55;display:flex}.ca-acts{flex-wrap:wrap;gap:8px;margin-top:11px;display:flex}.ca-btn{padding:5px 11px;font-size:12.5px}.bt-picker{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.bt-choice{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;flex-direction:column;gap:3px;padding:9px 11px;transition:border-color .12s,background .12s;display:flex}.bt-choice:hover{border-color:var(--border-strong)}.bt-choice.is-on{border-color:var(--accent);background:var(--accent-soft,var(--bg-inset))}.bt-choice-name{color:var(--text-primary);font-size:13px;font-weight:700}.bt-choice-blurb{color:var(--text-tertiary);font-size:11.5px;line-height:1.45}.bt-import{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.bt-import-btn{padding:5px 11px;font-size:12.5px}.bt-result{width:100%;color:var(--text-secondary);font-size:12px}.bt-result-line{color:var(--success);align-items:center;gap:5px;font-weight:600;display:flex}.bt-unmatched{margin-top:6px}.bt-unmatched summary{cursor:pointer;color:var(--warning);align-items:center;gap:5px;font-weight:600;display:flex}.bt-unmatched-row{border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-secondary);margin-top:4px;padding:5px 9px;font-size:12px}.bt-unmatched-row strong{color:var(--text-primary)}.bt-section{border-top:1px solid var(--grid-line);padding-top:14px}.bt-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:10px;font-size:11.5px;font-weight:800}.bt-grid{grid-template-columns:1fr 1fr;gap:12px 14px;display:grid}.bt-grid .span-2{grid-column:span 2}.bt-pill{letter-spacing:.02em;border-radius:var(--radius-pill);background:var(--bg-inset);color:var(--text-secondary);padding:2px 8px;font-size:10.5px;font-weight:700}.bt-readout{background:var(--bg-inset);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.bt-readout-row{align-items:baseline;gap:10px;display:flex}.bt-readout-label{text-transform:uppercase;letter-spacing:.03em;width:148px;color:var(--text-tertiary);flex-shrink:0;font-size:11px;font-weight:700}.bt-readout-value{color:var(--text-secondary);white-space:pre-wrap;min-width:0}@media (width<=560px){.bt-grid{grid-template-columns:1fr}.bt-grid .span-2{grid-column:span 1}.bt-readout-row{flex-direction:column;gap:1px}.bt-readout-label{width:auto}}.sg-cal-cell{z-index:20;background:var(--bg-surface);border-right:1px solid var(--border);border-bottom:1px solid var(--grid-line);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;padding:3px 10px 3px 14px;font-size:10px;font-weight:700;display:flex;position:sticky;left:0}.sg-cal-day-cell{background:var(--bg-inset);border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);min-height:26px;position:relative;overflow:hidden}.sg-cal-day-cell.today-col{background:var(--bg-hover)}.booking-block.gcal{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-secondary);box-shadow:none;padding:1px 6px;font-size:10.5px;line-height:1.6;top:2px;bottom:2px}.booking-block.gcal:hover{border-color:var(--accent);color:var(--text-primary)}.bm-chips{flex-wrap:wrap;gap:6px;margin-bottom:7px;display:flex}.bm-chip{border-radius:var(--radius-pill);background:var(--bg-inset);border:1px solid var(--border);color:var(--text-primary);align-items:center;gap:5px;padding:3px 6px 3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.bm-chip-x{width:17px;height:17px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.bm-chip-x:hover{background:var(--bg-hover);color:var(--danger)}.md-decline{color:var(--text-tertiary);margin-top:3px;padding:1px 7px;font-size:10.5px}.md-decline:hover{color:var(--danger)}.gm-wrap{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.gm-sub{color:var(--text-tertiary);font-size:12px}.gm-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-top:8px;font-size:11px;font-weight:800}.gm-list{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.gm-row{align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.gm-row+.gm-row{border-top:1px solid var(--grid-line)}.gm-mark{text-align:center;width:14px;color:var(--text-tertiary);flex-shrink:0}.gm-mark.is-yes{color:var(--success)}.gm-mark.is-no{color:var(--danger)}.gm-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gm-org{letter-spacing:.03em;border-radius:var(--radius-pill);background:var(--bg-inset);color:var(--text-secondary);flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:700}.gm-empty{color:var(--text-tertiary);font-size:12.5px}.pc-card{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-soft,var(--bg-inset));flex-direction:column;gap:4px;margin-top:10px;padding:11px 13px;display:flex}.pc-title{color:var(--text-primary);align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:flex}.pc-line{color:var(--text-secondary);font-size:13px}.pc-reason{color:var(--text-tertiary);margin-top:2px;font-size:12px;font-style:italic}.pc-actions{gap:8px;margin-top:8px;display:flex}.pc-btn{padding:5px 12px;font-size:12.5px}.stan-dock{z-index:690;position:fixed;bottom:16px;right:16px}.stan-fab{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--accent), #8b5cf6);color:#fff;letter-spacing:.01em;cursor:pointer;border:none;align-items:center;gap:9px;padding:8px 16px 8px 8px;font-size:13px;font-weight:800;transition:transform .15s,box-shadow .15s;animation:4s ease-in-out infinite stan-bob;display:inline-flex;box-shadow:0 4px 18px #6366f173}.stan-fab:hover{animation-play-state:paused;transform:translateY(-2px)scale(1.03);box-shadow:0 8px 26px #6366f18c}.stan-fab:hover .stan-fab-face{transform:rotate(20deg)scale(1.15)}.stan-fab-face{background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .2s;display:inline-flex}@keyframes stan-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.stan-fab{animation:none}.stan-fab:hover{transform:none}}.stan-dock-panel{background:var(--bg-raised);border:1px solid var(--border-strong);transform-origin:100% 100%;border-radius:14px;width:360px;max-width:calc(100vw - 32px);max-height:72vh;padding:4px;animation:.18s ease-out stan-pop;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000059}@keyframes stan-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.stan-dock-panel{animation:none}}.stan-dock-close{z-index:2;position:absolute;top:8px;right:8px}.stan-dock-panel .ask-panel{box-shadow:none;border:none;margin:0}.cd-panel{border-color:var(--warning);background:var(--warning-soft);margin-bottom:16px}.cd-line{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.cd-line+.cd-line{margin-top:8px}.cd-line.is-overdue{color:var(--danger)}.cd-fix{padding:3px 10px;font-size:12px}.stan-tradeoff{background:var(--bg-inset);border-radius:var(--radius-md);color:var(--text-secondary);grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 6px;padding:10px 12px;font-size:12px;display:grid}.stan-tradeoff strong{color:var(--text-primary);font-size:12px}.stan-tradeoff ul{flex-direction:column;gap:3px;margin:5px 0 0;padding-left:16px;display:flex}@media (width<=560px){.stan-tradeoff{grid-template-columns:1fr}}
