:root{--ui-scale: 1;--c-bg: #EDEEF1;--c-surface: #FFFFFF;--c-surface-2: #F0F1F4;--c-surface-3: #E8EAF0;--c-surface-hover: #E4E5EA;--c-panel-muted: #F4F5F8;--c-elevated: #FFFFFF;--c-border: #E2E3EA;--c-border-strong: #CACBD6;--c-sidebar-bg: #16192A;--c-sidebar-bg-hover: rgba(255, 255, 255, .06);--c-sidebar-bg-active: rgba(255, 255, 255, .1);--c-sidebar-border: rgba(255, 255, 255, .08);--c-sidebar-text: rgba(255, 255, 255, .58);--c-sidebar-text-hover: rgba(255, 255, 255, .88);--c-sidebar-text-active: #FFFFFF;--c-sidebar-label: rgba(255, 255, 255, .3);--c-text-1: #000000;--c-text-2: #333333;--c-text-3: #525252;--c-text-4: #747474;--c-accent: #7033FF;--c-accent-hover: #5B26E0;--c-accent-subtle: #E2EBFF;--c-accent-border: #C2CAFF;--c-critical: #E54B4F;--c-high: #EA580C;--c-medium: #CA8A04;--c-low: #16A34A;--c-neutral: #6B7280;--c-critical-bg: #FCE9EC;--c-high-bg: #FEF0E3;--c-medium-bg: #F8F1D8;--c-low-bg: #E8F7EC;--tone-indigo: #4F46E5;--tone-rose: #E11D48;--tone-amber: #D97706;--tone-teal: #0D9488;--tone-slate: #475569;--tone-orange: #EA580C;--tone-indigo-bg: #ECEFFF;--tone-rose-bg: #FEECEF;--tone-amber-bg: #FBF1D9;--tone-teal-bg: #E8F6F3;--tone-slate-bg: #EFF3F8;--tone-orange-bg: #FEEEDF;--c-status-done: #16A34A;--c-status-in-progress: #4F46E5;--c-status-blocked: #DC2626;--c-status-planned: #A3A3A3;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .03), 0 10px 24px rgba(15, 23, 42, .05);--shadow-md: 0 14px 32px rgba(15, 23, 42, .08);--shadow-focus: 0 0 0 1px color-mix(in srgb, var(--c-accent) 18%, transparent);--s-0: calc(2px * var(--ui-scale));--s-1: calc(4px * var(--ui-scale));--s-2: calc(8px * var(--ui-scale));--s-3: calc(12px * var(--ui-scale));--s-4: calc(16px * var(--ui-scale));--s-5: calc(20px * var(--ui-scale));--s-6: calc(24px * var(--ui-scale));--s-8: calc(32px * var(--ui-scale));--s-10: calc(40px * var(--ui-scale));--s-12: calc(48px * var(--ui-scale));--s-16: calc(64px * var(--ui-scale));--font-sans: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Menlo", monospace;--text-2xs: calc(11px * var(--ui-scale));--text-xs: calc(12px * var(--ui-scale));--text-sm: calc(13px * var(--ui-scale));--text-base: calc(14px * var(--ui-scale));--text-md: calc(15px * var(--ui-scale));--text-lg: calc(17px * var(--ui-scale));--text-xl: calc(19px * var(--ui-scale));--text-2xl: calc(22px * var(--ui-scale));--text-3xl: calc(26px * var(--ui-scale));--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--sidebar-w: calc(252px * var(--ui-scale));--topbar-h: calc(58px * var(--ui-scale));--max-app-w: 2160px;--right-rail: calc(340px * var(--ui-scale));--logo-mark-size: calc(26px * var(--ui-scale));--sidebar-icon-size: calc(16px * var(--ui-scale));--sidebar-avatar-size: calc(30px * var(--ui-scale));--icon-xs: calc(12px * var(--ui-scale));--icon-sm: calc(14px * var(--ui-scale));--icon-md: calc(16px * var(--ui-scale));--icon-lg: calc(18px * var(--ui-scale));--control-h-xs: calc(24px * var(--ui-scale));--control-h-sm: calc(30px * var(--ui-scale));--control-h-md: calc(34px * var(--ui-scale));--control-h-lg: calc(40px * var(--ui-scale));--btn-icon-xs: calc(24px * var(--ui-scale));--btn-icon-sm: calc(30px * var(--ui-scale));--btn-icon-md: calc(34px * var(--ui-scale));--badge-h: calc(22px * var(--ui-scale));--badge-h-sm: calc(18px * var(--ui-scale));--search-w: calc(180px * var(--ui-scale));--date-nav-btn-size: calc(32px * var(--ui-scale));--date-nav-h: calc(36px * var(--ui-scale));--date-nav-min-w: calc(172px * var(--ui-scale));--time-input-w: calc(106px * var(--ui-scale));--project-select-w: calc(184px * var(--ui-scale));--mini-divider-h: calc(20px * var(--ui-scale));--slot-h: calc(20px * var(--ui-scale));--slot-per-hour: 4;--timeline-gutter: calc(56px * var(--ui-scale));--timeline-meta-size: calc(11px * var(--ui-scale));--timeline-badge-size: calc(10px * var(--ui-scale));--timeline-action-size: calc(24px * var(--ui-scale));--r-xs: 3px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-2xl: 16px;--r-full: 9999px;--z-base: 1;--z-float: 10;--z-sticky: 50;--z-sidebar: 100;--z-topbar: 90;--z-overlay: 150;--z-modal: 200;--z-toast: 300;--t-fast: 80ms ease;--t-base: .14s ease;--t-slow: .22s ease;--t-enter: .2s cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--c-bg: #1A1B1E;--c-surface: #222327;--c-surface-2: #2A2C33;--c-surface-3: #33353A;--c-surface-hover: #33353A;--c-panel-muted: #161618;--c-elevated: #222327;--c-border: #33353A;--c-border-strong: #4A4C52;--c-sidebar-bg: #111420;--c-sidebar-bg-hover: rgba(255, 255, 255, .05);--c-sidebar-bg-active: rgba(255, 255, 255, .08);--c-sidebar-border: rgba(255, 255, 255, .06);--c-text-1: #F0F0F0;--c-text-2: #C0C0C0;--c-text-3: #A0A0A0;--c-text-4: #707070;--c-accent: #8C5CFF;--c-accent-hover: #7A4AEE;--c-accent-subtle: rgba(140, 92, 255, .12);--c-accent-border: rgba(140, 92, 255, .3);--c-critical-bg: rgba(248, 113, 113, .16);--c-high-bg: rgba(253, 130, 43, .16);--c-medium-bg: rgba(202, 138, 4, .16);--c-low-bg: rgba(74, 222, 128, .16);--tone-indigo-bg: rgba(79, 70, 229, .18);--tone-rose-bg: rgba(225, 29, 72, .18);--tone-amber-bg: rgba(217, 119, 6, .18);--tone-teal-bg: rgba(13, 148, 136, .18);--tone-slate-bg: rgba(71, 85, 105, .22);--tone-orange-bg: rgba(253, 130, 43, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .18), 0 14px 28px rgba(0, 0, 0, .2);--shadow-md: 0 18px 36px rgba(0, 0, 0, .28)}@media(min-width:1800px){:root{--text-2xs: calc(12px * var(--ui-scale));--text-xs: calc(13px * var(--ui-scale));--text-sm: calc(14px * var(--ui-scale));--text-base: calc(15px * var(--ui-scale));--text-md: calc(16px * var(--ui-scale));--text-lg: calc(18px * var(--ui-scale));--text-xl: calc(20px * var(--ui-scale));--text-2xl: calc(24px * var(--ui-scale));--text-3xl: calc(28px * var(--ui-scale));--sidebar-w: calc(276px * var(--ui-scale));--topbar-h: calc(64px * var(--ui-scale));--max-app-w: none;--right-rail: calc(390px * var(--ui-scale));--logo-mark-size: calc(30px * var(--ui-scale));--sidebar-icon-size: calc(18px * var(--ui-scale));--sidebar-avatar-size: calc(34px * var(--ui-scale));--icon-sm: calc(15px * var(--ui-scale));--icon-md: calc(17px * var(--ui-scale));--icon-lg: calc(19px * var(--ui-scale));--control-h-sm: calc(34px * var(--ui-scale));--control-h-md: calc(40px * var(--ui-scale));--control-h-lg: calc(46px * var(--ui-scale));--btn-icon-sm: calc(34px * var(--ui-scale));--btn-icon-md: calc(38px * var(--ui-scale));--badge-h: calc(24px * var(--ui-scale));--badge-h-sm: calc(20px * var(--ui-scale));--search-w: calc(220px * var(--ui-scale));--date-nav-btn-size: calc(36px * var(--ui-scale));--date-nav-h: calc(40px * var(--ui-scale));--date-nav-min-w: calc(188px * var(--ui-scale));--time-input-w: calc(118px * var(--ui-scale));--project-select-w: calc(210px * var(--ui-scale));--slot-h: calc(22px * var(--ui-scale));--timeline-gutter: calc(64px * var(--ui-scale));--timeline-action-size: calc(28px * var(--ui-scale))}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--c-text-1);background:var(--c-bg)}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--c-text-1)}p{color:var(--c-text-2)}button{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;cursor:pointer;border:none;background:none;-webkit-appearance:none;appearance:none}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;border:none;outline:none;background:none;-webkit-appearance:none;appearance:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{display:block}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:var(--r-sm)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--c-text-4)}::selection{background:var(--c-accent-subtle);color:var(--c-accent)}.text-2xs{font-size:var(--text-2xs)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.fw-regular{font-weight:var(--fw-regular)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.text-1{color:var(--c-text-1)}.text-2{color:var(--c-text-2)}.text-3{color:var(--c-text-3)}.text-4{color:var(--c-text-4)}.text-mono{font-family:var(--font-mono)}.text-upper{text-transform:uppercase;letter-spacing:.06em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell{display:flex;min-height:100vh;background:var(--c-bg)}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;background:var(--c-sidebar-bg);border-right:1px solid var(--c-sidebar-border);z-index:var(--z-sidebar);overflow-y:auto;overflow-x:hidden}.sidebar-logo{height:var(--topbar-h);min-height:var(--topbar-h);display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-4);border-bottom:1px solid var(--c-sidebar-border);flex-shrink:0}.sidebar-logo-mark{width:var(--logo-mark-size);height:var(--logo-mark-size);background:var(--c-accent);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffff2e}.sidebar-logo-mark svg{width:calc(var(--logo-mark-size) * .58);height:calc(var(--logo-mark-size) * .58)}.sidebar-logo-text{font-size:var(--text-md);font-weight:var(--fw-semibold);color:#fff;letter-spacing:-.01em}.sidebar-logo-sub{font-size:var(--text-2xs);font-weight:var(--fw-medium);color:var(--c-sidebar-label);letter-spacing:.04em;text-transform:uppercase}.sidebar-body{flex:1;padding:var(--s-2) var(--s-2);overflow-y:auto}.sidebar-section{margin-bottom:var(--s-1)}.sidebar-section-label{font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--c-sidebar-label);letter-spacing:.07em;text-transform:uppercase;padding:var(--s-3) var(--s-3) var(--s-1)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--text-base);font-weight:var(--fw-regular);color:var(--c-sidebar-text);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;min-height:var(--control-h-sm)}.sidebar-nav-item:hover{background:var(--c-sidebar-bg-hover);color:var(--c-sidebar-text-hover)}.sidebar-nav-item.is-active{background:var(--c-sidebar-bg-active);color:var(--c-sidebar-text-active);font-weight:var(--fw-semibold)}.sidebar-nav-item.is-active svg{color:var(--c-sidebar-text-active)}.sidebar-nav-item svg{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);flex-shrink:0;opacity:.8}.sidebar-nav-item.is-active svg{opacity:1}.sidebar-divider{height:1px;background:var(--c-sidebar-border);margin:var(--s-2) var(--s-3)}.sidebar-projects{flex-shrink:0;border-top:1px solid var(--c-sidebar-border);padding:var(--s-2) var(--s-2) var(--s-3)}.sidebar-projects-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-3) var(--s-1)}.sidebar-projects-label{font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--c-sidebar-label);letter-spacing:.07em;text-transform:uppercase}.sidebar-project-item{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast)}.sidebar-project-item:hover{background:var(--c-sidebar-bg-hover)}.sidebar-project-item.is-active{background:var(--c-sidebar-bg-active)}.project-swatch{width:7px;height:7px;border-radius:var(--r-full);flex-shrink:0}.sidebar-project-name{flex:1;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-sidebar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-project-hours{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--c-sidebar-label);flex-shrink:0}.sidebar-footer{flex-shrink:0;border-top:1px solid var(--c-sidebar-border);padding:var(--s-3) var(--s-4);display:flex;align-items:center;gap:var(--s-2)}.sidebar-footer.is-interactive{width:100%;background:transparent;cursor:pointer;transition:background var(--t-fast)}.sidebar-footer.is-interactive:hover{background:var(--c-sidebar-bg-hover)}.sidebar-user-avatar{width:var(--sidebar-avatar-size);height:var(--sidebar-avatar-size);border-radius:var(--r-full);background:#7033ff40;border:1px solid rgba(112,51,255,.4);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:#ffffffe6;flex-shrink:0}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-user-role{font-size:var(--text-xs);color:var(--c-sidebar-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logo-wordmark{flex:1;min-width:0;overflow:hidden}.sidebar-collapse-btn{flex-shrink:0;margin-left:auto;width:22px;height:22px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--c-sidebar-label);cursor:pointer;opacity:0;transition:background var(--t-fast),color var(--t-fast),opacity var(--t-fast)}.sidebar:hover .sidebar-collapse-btn{opacity:1}.sidebar-collapse-btn:hover{background:var(--c-sidebar-bg-hover);color:var(--c-sidebar-text-hover)}.sidebar-search{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);margin-bottom:var(--s-2);cursor:default;color:var(--c-sidebar-label);font-size:var(--text-sm);border:1px dashed rgba(255,255,255,.1);box-sizing:border-box}.sidebar-search-icon{flex-shrink:0;width:var(--icon-sm);height:var(--icon-sm)}.sidebar-search-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sidebar-user-avatar-wrap{position:relative;flex-shrink:0}.sidebar-avatar-sync-dot{position:absolute;bottom:0;right:-1px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--c-sidebar-bg);pointer-events:none}.sidebar.is-collapsed{width:56px;min-width:56px}.sidebar.is-collapsed .sidebar-logo{justify-content:center;padding:0}.sidebar.is-collapsed .sidebar-logo-mark,.sidebar.is-collapsed .sidebar-logo-wordmark{display:none}.sidebar.is-collapsed .sidebar-collapse-btn{opacity:1;margin:0;width:32px;height:32px;border-radius:var(--r-md);background:var(--c-sidebar-bg-hover);color:var(--c-sidebar-text)}.sidebar.is-collapsed .sidebar-collapse-btn:hover{background:var(--c-sidebar-bg-active);color:var(--c-sidebar-text-active)}.sidebar.is-collapsed .sidebar-section-label,.sidebar.is-collapsed .sidebar-search-label,.sidebar.is-collapsed .sidebar-nav-label,.sidebar.is-collapsed .sidebar-divider,.sidebar.is-collapsed .sidebar-projects,.sidebar.is-collapsed .sidebar-user-meta,.sidebar.is-collapsed .sidebar-footer .icon-sm{display:none}.sidebar.is-collapsed .sidebar-body{padding:var(--s-2) 0;display:flex;flex-direction:column;align-items:center}.sidebar.is-collapsed .sidebar-nav-item{width:36px;height:36px;padding:0;justify-content:center;align-items:center;gap:0;border-radius:var(--r-md);margin-bottom:2px}.sidebar.is-collapsed .sidebar-nav-item svg{width:18px;height:18px;opacity:.65}.sidebar.is-collapsed .sidebar-nav-item.is-active svg{opacity:1}.sidebar.is-collapsed .sidebar-search{width:36px;height:36px;padding:0;justify-content:center;border-color:transparent;gap:0;margin-bottom:var(--s-1)}.sidebar.is-collapsed .sidebar-search .sidebar-search-icon{width:16px;height:16px;opacity:.4}.sidebar.is-collapsed .sidebar-footer{padding:var(--s-3) var(--s-2);justify-content:center}.app-main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;transition:margin-left var(--t-fast)}.app-shell.sidebar-collapsed .app-main{margin-left:56px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--s-8);background:radial-gradient(circle at top left,color-mix(in srgb,var(--c-accent) 10%,transparent),transparent 28%),var(--c-bg)}.auth-card{width:min(100%,480px);padding:0;overflow:hidden;display:flex;flex-direction:column;gap:var(--s-5);box-shadow:0 4px 24px #0f172a1a,0 1px 4px #0f172a0f}.auth-brand{background:#1e2235;padding:var(--s-5) var(--s-6);display:flex;align-items:center;gap:var(--s-3);border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.auth-brand-mark{width:42px;height:42px;border-radius:var(--r-md);background:var(--c-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--fw-bold);box-shadow:var(--shadow-sm)}.auth-brand-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:#fff}.auth-brand-sub{font-size:var(--text-xs);color:#ffffff61;letter-spacing:.06em;text-transform:uppercase}.auth-copy{display:flex;flex-direction:column;gap:var(--s-1);text-align:center;padding:var(--s-6) var(--s-6) 0}.auth-title{margin:0;font-size:clamp(30px,2vw,36px);line-height:1.05;color:var(--c-text-1)}.auth-sub{margin:0;font-size:var(--text-base);line-height:var(--lh-normal);color:var(--c-text-3)}.auth-mode-switch{align-self:flex-start}.auth-form{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-4) var(--s-6) var(--s-6)}.topbar{height:var(--topbar-h);min-height:var(--topbar-h);position:sticky;top:0;background:var(--c-surface);border-bottom:1px solid var(--c-border-strong);box-shadow:0 1px #0f172a0a;z-index:var(--z-topbar);display:flex;align-items:center;padding:0 var(--s-6);gap:var(--s-4)}.topbar-brand{display:flex;align-items:center;gap:var(--s-3);min-width:calc(160px * var(--ui-scale));min-height:0}.topbar-section-label{font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--c-text-3)}.topbar-sep{color:var(--c-border-strong);font-size:var(--text-lg)}.topbar-page-title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--c-text-1)}.topbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--s-3);min-width:0}.topbar-right{display:flex;align-items:center;gap:var(--s-2);justify-content:flex-end;min-width:0;flex-shrink:0}.date-nav{display:flex;align-items:center;border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;background:var(--c-elevated);box-shadow:var(--shadow-sm);min-width:0}.date-nav-btn{display:flex;align-items:center;justify-content:center;width:var(--date-nav-btn-size);height:var(--date-nav-h);color:var(--c-text-3);transition:background var(--t-fast),color var(--t-fast);flex-shrink:0}.date-nav-btn:hover{background:var(--c-bg);color:var(--c-text-1)}.date-nav-label{display:flex;flex-direction:column;align-items:center;padding:0 var(--s-4);border-left:1px solid var(--c-border);border-right:1px solid var(--c-border);min-width:var(--date-nav-min-w);height:var(--date-nav-h);justify-content:center;gap:1px}.date-nav-day{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:1.1;white-space:nowrap}.date-nav-day-badge{display:inline-flex;align-items:center;min-height:var(--badge-h-sm);padding:0 var(--s-1);border-radius:var(--r-full);background:var(--c-accent-subtle);color:var(--c-accent);font-size:var(--text-2xs);font-weight:var(--fw-semibold)}.date-nav-weekday{font-size:var(--text-xs);color:var(--c-text-4);line-height:1}.date-nav-today-btn{padding:0 var(--s-3);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--c-accent);height:var(--date-nav-h);display:flex;align-items:center;border-left:1px solid var(--c-border);white-space:nowrap;transition:background var(--t-fast)}.date-nav-today-btn:hover{background:var(--c-accent-subtle)}.page-content{flex:1;padding:var(--s-6);overflow-y:auto;width:100%;max-width:var(--max-app-w)}.page-content.is-dashboard{padding:var(--s-5) var(--s-6)}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,var(--right-rail));gap:var(--s-5);align-items:start}.dashboard-main{min-width:0}.dashboard-rail{min-width:0;display:flex;flex-direction:column;gap:var(--s-3)}.manager-board-shell{display:flex;flex-direction:column;gap:var(--s-4)}.manager-board-hero{padding:var(--s-5)}.manager-board-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-5)}.manager-board-hero-copy{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.manager-board-hero-title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--c-text-1);line-height:var(--lh-tight)}.manager-board-hero-sub{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal)}.manager-board-date-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap}.manager-board-date-chip{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h-sm);padding:0 var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-full);background:var(--c-elevated);color:var(--c-text-3);font-size:var(--text-xs);font-weight:var(--fw-medium);white-space:nowrap;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.manager-board-date-chip:hover{color:var(--c-text-1);border-color:var(--c-border-strong)}.manager-board-date-chip.is-active{color:var(--c-accent);border-color:var(--c-accent-border);background:var(--c-accent-subtle)}.manager-board-date-input{width:calc(160px * var(--ui-scale))}.manager-board-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.manager-board-rail-body{padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}@media(max-width:1400px){.dashboard-layout{grid-template-columns:1fr}.manager-board-hero-head{flex-direction:column;align-items:stretch}.manager-board-date-row{justify-content:flex-start}}.topbar-coming-soon{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);padding:0 var(--s-3);border:1px dashed var(--c-border);border-radius:var(--r-full);color:var(--c-text-4);font-size:var(--text-xs);white-space:nowrap;background:var(--c-surface-2)}.ui-switch{width:36px;height:20px;border-radius:10px;background:var(--c-text-4);position:relative;cursor:pointer;transition:background .18s ease;flex-shrink:0;border:none;padding:0}.ui-switch.is-on{background:var(--c-accent)}.ui-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .18s ease;box-shadow:0 1px 3px #00000040;display:block;pointer-events:none}.ui-switch.is-on .ui-switch-thumb{transform:translate(16px)}.topbar-divider{height:var(--mini-divider-h)}.topbar-sync-dot{width:calc(var(--icon-xs) - 1px);height:calc(var(--icon-xs) - 1px)}.topbar-theme-btn svg,.topbar-create-btn svg,.topbar-coming-soon svg{width:var(--icon-sm);height:var(--icon-sm)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}.dashboard-hero{padding:var(--s-5);background:var(--c-elevated)}.dashboard-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-5)}.dashboard-hero-copy{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.dashboard-hero-title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--c-text-1);line-height:var(--lh-tight)}.dashboard-hero-sub{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal)}.dashboard-hero-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.dashboard-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}.dashboard-hero-card{display:flex;flex-direction:column;gap:var(--s-3);min-height:148px;padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-elevated);box-shadow:var(--shadow-sm)}.dashboard-hero-card.is-focus{border-color:var(--c-accent-border);box-shadow:var(--shadow-focus),var(--shadow-sm)}.dashboard-hero-card.is-warning{border-color:color-mix(in srgb,var(--c-critical) 30%,var(--c-border));background:color-mix(in srgb,var(--c-critical-bg) 30%,var(--c-elevated))}.dashboard-hero-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.dashboard-hero-card-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;color:var(--c-text-3);text-transform:uppercase}.dashboard-hero-card-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-snug)}.dashboard-hero-card-sub{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal)}.dashboard-hero-metric{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-1);font-variant-numeric:tabular-nums}.dashboard-hero-progress{margin-top:auto}.dashboard-pulse{padding:var(--s-5);background:var(--c-elevated)}.dashboard-pulse-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-5)}.dashboard-pulse-copy{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.dashboard-pulse-title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--c-text-1);line-height:var(--lh-tight)}.dashboard-pulse-sub{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal)}.dashboard-pulse-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.dashboard-pulse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}.dashboard-pulse.is-rail{padding:var(--s-4)}.dashboard-pulse.is-rail .dashboard-pulse-head{flex-direction:column;align-items:stretch;gap:var(--s-3);margin-bottom:var(--s-4)}.dashboard-pulse.is-rail .dashboard-pulse-title{font-size:var(--text-xl)}.dashboard-pulse.is-rail .dashboard-pulse-actions{justify-content:flex-start}.dashboard-pulse.is-rail .dashboard-pulse-grid{grid-template-columns:1fr;gap:var(--s-3)}.dashboard-pulse.is-rail .dashboard-pulse-card{min-height:0;padding:var(--s-3);border-radius:var(--r-lg)}.dashboard-pulse.is-rail .dashboard-pulse-score-value{font-size:calc(34px * var(--ui-scale))}.dashboard-pulse.is-rail .dashboard-pulse-score-row{align-items:flex-start}.dashboard-pulse-card{display:flex;flex-direction:column;gap:var(--s-3);min-height:152px;padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-elevated);box-shadow:var(--shadow-sm)}.dashboard-pulse-card.is-score{border-color:var(--c-accent-border)}.dashboard-pulse-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.dashboard-pulse-card-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;color:var(--c-text-3);text-transform:uppercase}.dashboard-pulse-card-metric{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-1);font-variant-numeric:tabular-nums}.dashboard-pulse-card-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-snug)}.dashboard-pulse-card-sub{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal)}.dashboard-pulse-score-row{display:flex;align-items:center;gap:var(--s-4)}.dashboard-pulse-score-value{font-size:calc(42px * var(--ui-scale));line-height:1;font-weight:var(--fw-bold);color:var(--c-text-1);letter-spacing:-.03em}.dashboard-pulse-score-copy{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.dashboard-pulse-score-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--c-text-1)}.dashboard-pulse-score-sub{font-size:var(--text-sm);color:var(--c-text-2)}.dashboard-pulse-progress{margin-top:auto}.dashboard-load-bar{display:flex;align-items:stretch;gap:2px;height:10px;padding:2px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-full);overflow:hidden}.dashboard-load-segment{display:block;height:100%;border-radius:var(--r-full)}.dashboard-load-segment.is-busy{background:var(--c-accent)}.dashboard-load-segment.is-lunch{background:var(--c-medium)}.dashboard-load-segment.is-free{background:var(--c-surface-3)}.dashboard-load-legend{display:flex;flex-wrap:wrap;gap:var(--s-3);font-size:var(--text-xs);color:var(--c-text-3)}.dashboard-load-legend span{display:inline-flex;align-items:center;gap:var(--s-1)}.dashboard-load-dot{width:8px;height:8px;border-radius:var(--r-full);flex-shrink:0}.dashboard-load-dot.is-busy{background:var(--c-accent)}.dashboard-load-dot.is-lunch{background:var(--c-medium)}.dashboard-load-dot.is-free{background:var(--c-surface-3);border:1px solid var(--c-border-strong)}.dashboard-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2)}.dashboard-mini-stat{display:flex;flex-direction:column;gap:2px;padding:var(--s-3);border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-border)}.dashboard-mini-stat-label{font-size:var(--text-xs);color:var(--c-text-3)}.dashboard-mini-stat-value{font-size:var(--text-lg);color:var(--c-text-1);font-weight:var(--fw-semibold);line-height:1}.dashboard-pulse-dual{display:flex;flex-direction:column;gap:var(--s-2)}.dashboard-pulse-dual-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--s-3)}.dashboard-pulse-dual-label{min-width:calc(96px * var(--ui-scale));font-size:var(--text-xs);color:var(--c-text-3)}.week-strip-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:var(--s-3) var(--s-5);gap:var(--s-2)}.dashboard-controls{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);flex-wrap:wrap}.dashboard-controls-group{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.dashboard-controls-group-right{margin-left:auto}.dashboard-day-switcher{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.dashboard-day-switcher .manager-board-date-chip{background:var(--c-surface)}.dashboard-control-badges{display:flex;gap:var(--s-1);margin-top:calc(var(--s-4) - var(--s-1));align-items:center;flex-wrap:wrap}.dashboard-control-field{display:flex;flex-direction:column;gap:2px}.dashboard-control-label{font-size:var(--text-xs);color:var(--c-text-4);font-weight:var(--fw-medium)}.dashboard-time-input{width:var(--time-input-w);font-family:var(--font-sans);font-size:var(--text-sm)}.dashboard-project-select{width:var(--project-select-w)}.dashboard-control-btn{margin-top:calc(var(--s-4) - var(--s-1))}.dashboard-control-field-wrap{display:flex;align-items:center;gap:var(--s-1)}.dashboard-tip-wrap{position:relative;display:inline-flex;align-items:center}.dashboard-tip-icon{width:15px;height:15px;border-radius:50%;background:var(--c-surface-2);color:var(--c-text-4);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:default;flex-shrink:0;transition:background var(--t-fast),color var(--t-fast);-webkit-user-select:none;user-select:none}.dashboard-tip-wrap:hover .dashboard-tip-icon{background:var(--c-border);color:var(--c-text-2)}.dashboard-tip-box{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--c-canvas);border:1px solid var(--c-border-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--text-2xs);color:var(--c-text-3);white-space:normal;min-width:160px;max-width:220px;line-height:var(--lh-relaxed);opacity:0;pointer-events:none;transition:opacity var(--t-fast);z-index:100;box-shadow:var(--shadow-md)}.dashboard-tip-wrap:hover .dashboard-tip-box{opacity:1}.dashboard-slack-card{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-4)}.dashboard-slack-card-left{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-slack-card-title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--c-text-1)}.dashboard-slack-card-hint{font-size:var(--text-2xs);color:var(--c-text-4);line-height:var(--lh-normal)}.dashboard-control-hint{display:block;max-width:240px;margin-top:var(--s-1);font-size:var(--text-2xs);line-height:var(--lh-relaxed);color:var(--c-text-4)}.dashboard-summary-badge{font-family:var(--font-sans);font-size:var(--text-2xs)}.dashboard-main{min-width:0;display:flex;flex-direction:column;gap:var(--s-4)}.analytics-shell{display:flex;flex-direction:column;gap:var(--s-5)}.analytics-stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}.analytics-stat-card{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-5);background:var(--c-surface-1);border:1px solid var(--c-border);border-radius:var(--r-xl);min-width:0;border-top:3px solid var(--stat-accent, var(--c-violet))}.analytics-stat-value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--c-text-1);line-height:1.1}.analytics-stat-label{font-size:var(--text-xs);color:var(--c-text-4);text-transform:uppercase;letter-spacing:.04em}.analytics-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:var(--s-5);align-items:start}.analytics-summary-card,.analytics-side-card{min-width:0}.analytics-workload-list{display:flex;flex-direction:column;gap:var(--s-3)}.analytics-workload-row{display:flex;flex-direction:column;gap:6px}.analytics-workload-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.analytics-workload-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.analytics-workload-hours{font-size:var(--text-xs);color:var(--c-text-4);white-space:nowrap}.analytics-workload-track{height:6px;background:var(--c-border);border-radius:999px;overflow:hidden}.analytics-workload-fill{height:100%;border-radius:999px;background:var(--workload-color, var(--c-violet));transition:width .3s ease}.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);align-items:start}.calendar-shell{display:flex;flex-direction:column;gap:var(--s-5)}.calendar-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-5);padding:var(--s-5)}.calendar-toolbar-actions{display:flex;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap}.calendar-filter-label{display:flex;flex-direction:column;gap:2px;min-width:180px}@media(min-width:1800px){.topbar{padding:0 var(--s-8);gap:var(--s-5)}.topbar-brand{min-width:220px}.topbar-right{gap:var(--s-3)}.page-content{max-width:none;padding:var(--s-8)}.page-content.is-dashboard{padding:var(--s-6) var(--s-8) var(--s-8)}.dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(360px,var(--right-rail));gap:var(--s-6)}.stats-grid{gap:var(--s-5)}.dashboard-hero,.dashboard-pulse{padding:var(--s-6)}.week-strip-grid{gap:var(--s-3);padding:var(--s-4) var(--s-6)}.dashboard-controls{gap:var(--s-5);padding:var(--s-5) var(--s-6)}.dashboard-controls-group{gap:var(--s-4)}.analytics-layout{grid-template-columns:minmax(0,1.35fr) minmax(380px,.85fr);gap:var(--s-6)}.settings-layout{grid-template-columns:repeat(2,minmax(360px,1fr));gap:var(--s-6)}.calendar-toolbar{padding:var(--s-6)}}@media(max-width:1400px){.analytics-layout,.settings-layout,.stats-grid,.dashboard-hero-grid,.dashboard-pulse-grid,.manager-board-stats{grid-template-columns:1fr 1fr}}@media(max-width:960px){.stats-grid,.analytics-layout,.settings-layout,.dashboard-hero-grid,.dashboard-pulse-grid,.manager-board-stats{grid-template-columns:1fr}.dashboard-hero-head{flex-direction:column;align-items:stretch}.dashboard-hero-actions{justify-content:flex-start}.dashboard-pulse-head{flex-direction:column;align-items:stretch}.dashboard-pulse-actions{justify-content:flex-start}.dashboard-mini-stats,.dashboard-pulse-dual-row{grid-template-columns:1fr}.week-strip-grid{grid-template-columns:repeat(5,minmax(88px,1fr));overflow-x:auto}.dashboard-controls-group-right{margin-left:0}.dashboard-project-select{width:min(100%,var(--project-select-w))}.topbar-coming-soon{display:none}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar-actions{align-items:stretch}.calendar-filter-label{min-width:0}}.timeline-shell{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden}.day-agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:var(--s-5);align-items:start}.day-agenda-layout.is-no-rail{grid-template-columns:1fr}.day-agenda-shell{min-width:0}.day-agenda-body{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);background:var(--c-elevated)}.day-agenda-empty{padding:var(--s-8) var(--s-4);text-align:center}.agenda-task-card,.agenda-slot-card,.agenda-lunch-card{border-radius:var(--r-xl);border:1px solid var(--c-border);background:var(--c-elevated);box-shadow:var(--shadow-sm)}.agenda-task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-left:3px solid var(--agenda-tone, var(--c-accent));background:var(--c-elevated);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast),opacity var(--t-fast)}.agenda-task-card.is-blocked{border-left-color:var(--c-critical)}.agenda-task-card.is-done{background:var(--c-surface-2);opacity:.72}.agenda-task-card.is-active-now{border-color:var(--c-accent-border);box-shadow:var(--shadow-focus),var(--shadow-sm)}.agenda-task-card.is-editing{box-shadow:var(--shadow-focus),var(--shadow-md)}.agenda-task-card[draggable=true]{cursor:grab}.agenda-task-card.is-dragging{opacity:.42;transform:scale(.97);box-shadow:var(--shadow-md)}.agenda-task-card.is-drop-target,.agenda-slot-card.is-drop-target,.agenda-lunch-card.is-drop-target{border-color:var(--c-accent-border);box-shadow:var(--shadow-focus),var(--shadow-sm)}.agenda-task-main{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.agenda-task-time,.agenda-slot-time{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);font-size:var(--text-xs);color:var(--c-text-4);font-variant-numeric:tabular-nums}.agenda-task-range{color:var(--c-text-2);font-weight:var(--fw-semibold)}.agenda-task-duration{color:var(--c-text-3)}.agenda-task-duration:before{content:"���� ";color:var(--c-text-4);font-weight:var(--fw-medium)}.agenda-task-title,.agenda-slot-title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-snug)}.agenda-task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2)}.agenda-task-project,.agenda-task-category{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--text-xs)}.agenda-task-project{font-weight:var(--fw-semibold);color:var(--c-text-2)}.agenda-task-category{color:var(--c-text-3)}.agenda-task-project-dot{width:8px;height:8px;border-radius:var(--r-full);flex-shrink:0}.agenda-task-badges{display:flex;flex-wrap:wrap;gap:var(--s-1)}.agenda-task-actions{display:flex;align-items:flex-start;gap:var(--s-1);flex-shrink:0}.agenda-task-actions .btn-icon.is-checked{color:var(--c-status-done);background:var(--c-low-bg)}.agenda-slot-card,.agenda-lunch-card{padding:var(--s-2) var(--s-4);display:flex;flex-direction:column;gap:var(--s-1)}.agenda-slot-card{background:var(--c-surface);border-style:dashed}.agenda-slot-card .drop-hint,.agenda-lunch-card .drop-hint,.agenda-task-card .drop-hint{margin-bottom:var(--s-1)}.agenda-lunch-card{background:var(--c-surface);border-color:color-mix(in srgb,var(--c-medium) 20%,var(--c-border));border-left:3px solid var(--c-medium)}.agenda-slot-sub{font-size:var(--text-xs);color:var(--c-text-4);line-height:var(--lh-normal)}.day-agenda-rail{min-width:0}.timeline-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-border)}.timeline-head-left{display:flex;align-items:baseline;gap:var(--s-3)}.timeline-head-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--c-text-1)}.timeline-head-meta{font-size:var(--text-sm);color:var(--c-text-4)}.timeline-head-right{display:flex;align-items:center;gap:var(--s-3)}.timeline-free-note{font-size:var(--text-xs);color:var(--c-text-4);font-variant-numeric:tabular-nums}.timeline-body{display:grid;grid-template-columns:var(--timeline-gutter) 1fr}.timeline-gutter{grid-column:1;position:relative;border-right:1px solid var(--c-border);background:var(--c-surface)}.timeline-track{grid-column:2;position:relative}.timeline-hour-label{position:absolute;right:var(--s-2);font-size:var(--timeline-meta-size);font-variant-numeric:tabular-nums;color:var(--c-text-4);line-height:1;transform:translateY(-50%);white-space:nowrap;-webkit-user-select:none;user-select:none}.timeline-gridline{position:absolute;left:0;right:0;height:0;pointer-events:none}.timeline-gridline.is-quarter{border-top:1px dashed var(--c-border);opacity:.5}.timeline-gridline.is-hour{border-top:1px solid var(--c-border);opacity:1}.timeline-work-zone{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--c-surface-2) 72%,transparent);pointer-events:none}.timeline-lunch{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--c-medium-bg) 68%,var(--c-elevated) 32%);border-top:1px solid color-mix(in srgb,var(--c-medium) 26%,transparent);border-bottom:1px solid color-mix(in srgb,var(--c-medium) 26%,transparent);display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-4);font-size:var(--text-xs);font-weight:var(--fw-medium);color:#92400e;pointer-events:none;z-index:2}.timeline-lunch-icon{font-size:12px;line-height:1}.timeline-now-line{position:absolute;left:0;right:0;height:0;border-top:1.5px solid var(--c-critical);z-index:15;pointer-events:none}.timeline-now-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:var(--r-full);background:var(--c-critical)}.timeline-now-time{position:absolute;right:var(--s-3);top:-9px;font-size:var(--timeline-meta-size);font-variant-numeric:tabular-nums;color:var(--c-critical);background:var(--c-elevated);padding:0 var(--s-1);border-radius:var(--r-xs)}.timeline-day-marker{position:absolute;left:0;right:0;height:0;pointer-events:none;z-index:3}.timeline-day-marker.is-start{border-top:1px dashed var(--c-accent-border)}.timeline-day-marker.is-end{border-top:1px dashed var(--c-border-strong)}.timeline-day-marker-label{position:absolute;right:var(--s-3);top:-8px;font-size:var(--timeline-meta-size);color:var(--c-text-4);background:var(--c-elevated);padding:0 var(--s-1);border-radius:var(--r-xs)}.timeline-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.timeline-empty-title{font-size:var(--text-md);font-weight:var(--fw-medium);color:var(--c-text-3);margin-bottom:var(--s-1)}.timeline-empty-sub{font-size:var(--text-sm);color:var(--c-text-4)}.tblock{position:absolute;left:var(--s-2);right:var(--s-2);border-radius:var(--r-lg);background:var(--c-elevated);border:1px solid var(--c-border);border-left:3px solid var(--tblock-tone, var(--c-accent));display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast);z-index:4}.tblock:hover{border-color:var(--tblock-tone, var(--c-accent));z-index:5;box-shadow:var(--shadow-md)}.tblock:hover .tblock-actions{opacity:1;pointer-events:auto}.tblock.is-done{opacity:.84;background:var(--c-surface)}.tblock.is-done .tblock-title{text-decoration:line-through;color:var(--c-text-4)}.tblock.is-blocked{border-left-color:var(--c-critical)}.tblock.is-active-now{border-left-color:var(--c-accent);border-color:var(--c-accent-border);box-shadow:var(--shadow-focus),var(--shadow-sm)}.tblock.is-editing{border-color:var(--c-accent);border-left-color:var(--c-accent)}.tblock.is-carryover{background:var(--c-surface)}.tblock-inner{display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3);padding-right:var(--s-8);flex:1;min-height:0;overflow:hidden}.tblock.is-micro .tblock-inner{flex-direction:row;align-items:center;padding:0 var(--s-2);padding-right:var(--s-8);gap:var(--s-2)}.tblock-time{font-size:var(--timeline-meta-size);font-variant-numeric:tabular-nums;color:var(--c-text-3);line-height:1;white-space:nowrap;flex-shrink:0}.tblock-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tblock.is-micro .tblock-title{font-size:var(--text-xs);flex:1;min-width:0}.tblock.is-short .tblock-meta{display:none}.tblock-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:nowrap;overflow:hidden}.tblock-meta-dot{width:5px;height:5px;border-radius:var(--r-full);flex-shrink:0}.tblock-meta-text{font-size:var(--timeline-meta-size);color:var(--c-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tblock-meta-sep{color:var(--c-text-4);font-size:var(--timeline-meta-size);flex-shrink:0}.tblock-note-indicator{display:inline-flex;align-items:center;gap:4px;color:var(--c-accent);font-size:var(--timeline-meta-size);font-weight:var(--fw-semibold);white-space:nowrap;flex-shrink:0}.tblock-note-indicator .icon-xs{width:12px;height:12px}.tblock-badges{display:flex;align-items:center;gap:var(--s-1);flex-wrap:nowrap;overflow:hidden}.tblock-badge{display:inline-flex;align-items:center;padding:0 var(--s-1);min-height:var(--badge-h-sm);border-radius:var(--r-xs);font-size:var(--timeline-badge-size);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.tblock-badge.priority-critical{background:var(--c-critical-bg);color:var(--c-critical);border:1px solid color-mix(in srgb,var(--c-critical) 18%,transparent)}.tblock-badge.priority-high{background:var(--c-high-bg);color:var(--c-high);border:1px solid color-mix(in srgb,var(--c-high) 18%,transparent)}.tblock-badge.priority-medium{background:var(--c-medium-bg);color:var(--c-medium);border:1px solid color-mix(in srgb,var(--c-medium) 18%,transparent)}.tblock-badge.priority-low{background:var(--c-low-bg);color:var(--c-low);border:1px solid color-mix(in srgb,var(--c-low) 18%,transparent)}.tblock-badge.status-done{background:var(--c-low-bg);color:var(--c-status-done);border:1px solid color-mix(in srgb,var(--c-status-done) 18%,transparent)}.tblock-badge.status-blocked{background:var(--c-critical-bg);color:var(--c-critical);border:1px solid color-mix(in srgb,var(--c-critical) 18%,transparent)}.tblock-badge.is-carryover{background:var(--c-accent-subtle);color:var(--c-accent);border:1px solid color-mix(in srgb,var(--c-accent) 18%,transparent)}.tblock-badge.is-overtime{background:var(--c-high-bg);color:var(--c-high);border:1px solid color-mix(in srgb,var(--c-high) 18%,transparent)}.tblock-actions{position:absolute;top:var(--s-1);right:var(--s-1);display:flex;gap:2px;opacity:0;pointer-events:none;transition:opacity var(--t-fast);background:var(--c-elevated);border:1px solid var(--c-border);border-radius:var(--r-md);padding:2px;z-index:6;box-shadow:var(--shadow-sm)}.tblock-action-btn{display:flex;align-items:center;justify-content:center;width:var(--timeline-action-size);height:var(--timeline-action-size);border-radius:var(--r-sm);color:var(--c-text-3);transition:background var(--t-fast),color var(--t-fast)}.tblock-action-btn:hover{background:var(--c-bg);color:var(--c-text-1)}.tblock-action-btn.is-done-btn.is-checked{color:var(--c-status-done);background:var(--c-low-bg)}.tblock-action-btn.is-danger:hover{background:var(--c-critical-bg);color:var(--c-critical)}.tblock.is-micro .tblock-actions{top:50%;transform:translateY(-50%)}.timeline-free-band{position:absolute;left:0;right:0;pointer-events:none;background:color-mix(in srgb,var(--c-accent) 4%,transparent);border-radius:0}.timeline-rail{display:flex;flex-direction:column;gap:var(--s-4)}.rail-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--s-4) var(--s-5)}.rail-card-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--c-text-4);letter-spacing:.07em;text-transform:uppercase;margin-bottom:var(--s-3)}.rail-slot-item{display:flex;align-items:center;justify-content:space-between;padding:var(--s-1) 0;border-bottom:1px solid var(--c-border);gap:var(--s-3)}.rail-slot-item:last-child{border-bottom:none}.rail-slot-time{font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium);color:var(--c-text-2);white-space:nowrap}.rail-slot-dur{font-size:var(--text-xs);color:var(--c-text-4);white-space:nowrap}.rail-empty{font-size:var(--text-sm);color:var(--c-text-4);padding:var(--s-2) 0}.cap-bar{display:flex;flex-direction:column;gap:var(--s-3)}.cap-bar-row{display:flex;flex-direction:column;gap:var(--s-1)}.cap-bar-label{display:flex;align-items:center;justify-content:space-between}.cap-bar-name{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--c-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cap-bar-val{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--c-text-4);flex-shrink:0}.cap-bar-track{height:3px;background:var(--c-border);border-radius:var(--r-full);overflow:hidden}.cap-bar-fill{height:100%;border-radius:var(--r-full);background:var(--tbar-color, var(--c-accent));transition:width var(--t-slow)}.tblock-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.tblock.is-micro .tblock-title{-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis}@media(max-width:1400px){.day-agenda-layout{grid-template-columns:1fr}}@media(max-width:960px){.agenda-task-card{grid-template-columns:1fr}.agenda-task-actions{justify-content:flex-start}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-medium);line-height:1;border-radius:var(--r-md);cursor:pointer;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);-webkit-user-select:none;user-select:none;-webkit-appearance:none;appearance:none;border:1px solid transparent}.icon-xs,.icon-sm,.icon-md,.icon-lg{flex-shrink:0}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-xs{height:var(--control-h-xs);padding:0 var(--s-2);font-size:var(--text-xs);border-radius:var(--r-sm)}.btn-sm{height:var(--control-h-sm);padding:0 var(--s-3);font-size:var(--text-sm)}.btn-md{height:var(--control-h-md);padding:0 var(--s-4)}.btn-lg{height:var(--control-h-lg);padding:0 var(--s-5);font-size:var(--text-md)}.btn-primary{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.btn-primary:hover:not(:disabled){background:var(--c-accent-hover);border-color:var(--c-accent-hover)}.btn-secondary{background:var(--c-elevated);color:var(--c-text-2);border-color:var(--c-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text-1);border-color:var(--c-border-strong)}.btn-ghost{background:transparent;color:var(--c-text-3);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text-1)}.btn-ghost-accent{background:transparent;color:var(--c-accent);border-color:transparent}.btn-ghost-accent:hover:not(:disabled){background:var(--c-accent-subtle)}.btn-danger{background:var(--c-surface);color:var(--c-critical);border-color:var(--c-border)}.btn-danger:hover:not(:disabled){background:var(--c-critical-bg);border-color:var(--c-critical)}.btn-icon{width:var(--btn-icon-md);height:var(--btn-icon-md);padding:0;border-radius:var(--r-md)}.btn-icon.btn-sm{width:var(--btn-icon-sm);height:var(--btn-icon-sm)}.btn-icon.btn-xs{width:var(--btn-icon-xs);height:var(--btn-icon-xs);border-radius:var(--r-sm)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:0 var(--s-2);min-height:var(--badge-h);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-medium);white-space:nowrap;border:1px solid transparent}.badge-sm{min-height:var(--badge-h-sm);font-size:max(var(--text-2xs),var(--timeline-badge-size));padding:0 var(--s-1)}.badge-dot{width:5px;height:5px;border-radius:var(--r-full);flex-shrink:0}.badge-neutral{background:var(--c-surface-2);color:var(--c-text-2);border-color:transparent}.badge-accent{background:var(--c-accent-subtle);color:var(--c-accent)}.badge-critical{background:var(--c-critical-bg);color:var(--c-critical)}.badge-high{background:var(--c-high-bg);color:var(--c-high)}.badge-medium{background:var(--c-medium-bg);color:var(--c-medium)}.badge-low{background:var(--c-low-bg);color:var(--c-low)}.badge-done{background:var(--c-low-bg);color:var(--c-status-done);border-color:color-mix(in srgb,var(--c-status-done) 18%,transparent)}.badge-blocked{background:var(--c-critical-bg);color:var(--c-critical)}.badge-planned{background:var(--c-surface-2);color:var(--c-text-3);border-color:transparent}.card-prio-critical{border-left:4px solid var(--c-critical)}.card-prio-high{border-left:4px solid var(--c-high)}.card-prio-medium{border-left:4px solid var(--c-medium)}.card-prio-low{border-left:4px solid var(--c-low)}.status-dot{width:7px;height:7px;border-radius:var(--r-full);flex-shrink:0}.status-dot.online{background:#16a34a}.status-dot.saving{background:var(--c-medium)}.status-dot.offline{background:var(--c-text-4)}.status-dot.error{background:var(--c-critical)}.card{background:var(--c-elevated);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);overflow:hidden;background-clip:padding-box}.card-sm{border-radius:var(--r-lg)}.card-body{padding:var(--s-5)}.card-body-sm{padding:var(--s-4)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-border);background:color-mix(in srgb,var(--c-surface-2) 60%,var(--c-elevated) 40%)}.card-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--c-text-1)}.card-sub{font-size:var(--text-sm);color:var(--c-text-3);margin-top:2px}.divider{height:1px;background:var(--c-border)}.divider-v{width:1px;background:var(--c-border);align-self:stretch}.field{display:flex;flex-direction:column;gap:var(--s-1)}.field-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-text-2)}.checkbox-row{display:flex;align-items:center;gap:var(--s-3);cursor:pointer;font-size:var(--text-sm);color:var(--c-text-1);-webkit-user-select:none;user-select:none}.checkbox-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:var(--r-sm);border:1.5px solid var(--c-border-strong);background:var(--c-surface);flex-shrink:0;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast);position:relative}.checkbox-row input[type=checkbox]:checked{background:var(--c-accent);border-color:var(--c-accent)}.checkbox-row input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.field-label-hint{font-weight:var(--fw-regular);color:var(--c-text-4);margin-left:var(--s-1)}.field-hint{font-size:var(--text-xs);color:var(--c-text-4);line-height:var(--lh-normal)}.input{height:var(--control-h-md);padding:0 var(--s-3);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-elevated);font-family:var(--font-sans);font-size:var(--text-base);color:var(--c-text-1);transition:border-color var(--t-fast);width:100%}.input:focus{border-color:var(--c-accent);outline:none;box-shadow:var(--shadow-focus)}.input::placeholder{color:var(--c-text-4)}.input-sm{height:var(--control-h-sm);padding:0 var(--s-2);font-size:var(--text-sm);border-radius:var(--r-sm)}.textarea{padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-elevated);font-family:var(--font-sans);font-size:var(--text-base);color:var(--c-text-1);transition:border-color var(--t-fast);width:100%;resize:vertical;min-height:72px;line-height:var(--lh-normal)}.textarea:focus{border-color:var(--c-accent);outline:none;box-shadow:var(--shadow-focus)}.select{height:var(--control-h-md);padding:0 var(--s-3);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-elevated);font-family:var(--font-sans);font-size:var(--text-base);color:var(--c-text-1);transition:border-color var(--t-fast);width:100%;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A3A3A3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.select:focus{border-color:var(--c-accent);outline:none;box-shadow:var(--shadow-focus)}.select-sm{height:var(--control-h-sm);font-size:var(--text-sm);padding:0 var(--s-2);padding-right:24px;border-radius:var(--r-sm)}.segmented{display:inline-flex;align-items:center;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md);padding:2px;gap:2px}.segmented-item{padding:0 var(--s-3);height:calc(var(--control-h-sm) - 4px);border-radius:var(--r-sm);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--c-text-3);transition:background var(--t-fast),color var(--t-fast);cursor:pointer;white-space:nowrap}.segmented-item:hover{color:var(--c-text-1)}.segmented-item.is-active{background:var(--c-elevated);color:var(--c-text-1);border:1px solid var(--c-border);box-shadow:0 1px 2px #0f172a0d}.modal-overlay{position:fixed;inset:0;background:#00000052;z-index:var(--z-overlay);display:flex;align-items:flex-start;justify-content:center;padding-top:80px;padding-bottom:var(--s-8);overflow-y:auto}.modal{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-2xl);width:560px;max-width:calc(100vw - var(--s-8));position:relative;animation:modal-in var(--t-enter) both;box-shadow:0 20px 60px #0f172a2e,0 4px 16px #0f172a14}@keyframes modal-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-lg{width:680px}.modal-sm{width:420px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--c-border)}.modal-title{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--c-text-1)}.modal-close{display:flex;align-items:center;justify-content:center;width:var(--btn-icon-sm);height:var(--btn-icon-sm);border-radius:var(--r-md);color:var(--c-text-3);transition:background var(--t-fast),color var(--t-fast)}.modal-close:hover{background:var(--c-bg);color:var(--c-text-1)}.modal-body{padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-4)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--c-border)}.search-bar{display:flex;align-items:center;gap:var(--s-2);height:var(--control-h-md);padding:0 var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-2);transition:border-color var(--t-fast),background var(--t-fast);min-width:var(--search-w)}.search-bar:focus-within{border-color:var(--c-accent);background:var(--c-elevated);box-shadow:var(--shadow-focus)}.search-bar input{flex:1;font-size:var(--text-sm);color:var(--c-text-1);background:transparent}.search-bar input::placeholder{color:var(--c-text-4)}.search-bar svg{color:var(--c-text-4);flex-shrink:0;width:var(--icon-sm);height:var(--icon-sm)}.eyebrow{font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--c-text-4);letter-spacing:.07em;text-transform:uppercase}.stat-block{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:var(--text-2xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;color:var(--c-text-1);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--c-text-4)}@media(min-width:1800px){.badge,.inline-chip{min-height:var(--badge-h);padding-inline:var(--s-3)}.card-head{padding:var(--s-5) var(--s-6)}.card-body{padding:var(--s-6)}.segmented{padding:3px}.stat-value{font-size:var(--text-3xl)}}.progress-bar{height:4px;background:var(--c-border);border-radius:var(--r-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--r-full);background:var(--c-accent);transition:width var(--t-slow)}.progress-bar-fill.is-done{background:var(--c-status-done)}.progress-bar-fill.is-warning{background:var(--c-medium)}.progress-bar-fill.is-danger{background:var(--c-critical)}.page-section-title{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--c-text-1);margin-bottom:var(--s-4)}.section-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--c-text-1);margin-bottom:var(--s-3)}.tab-nav{display:flex;gap:var(--s-2);border-bottom:1px solid var(--c-border);margin-bottom:var(--s-5)}.tab-nav-item{padding-bottom:var(--s-2);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-text-2);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.tab-nav-item:hover{color:var(--c-text-1)}.tab-nav-item.is-active{color:var(--c-accent);border-bottom-color:var(--c-accent);font-weight:var(--fw-semibold)}.data-table{width:100%;border-collapse:collapse}.data-table thead tr{font-size:var(--text-xs);color:var(--c-text-3);text-align:left}.data-table thead th{padding:var(--s-2);font-weight:var(--fw-medium)}.data-table tbody tr{border-top:1px solid var(--c-border);font-size:var(--text-sm)}.data-table tbody td{padding:var(--s-2)}.tone-indigo{--tblock-tone: var(--tone-indigo);--tbar-color: var(--tone-indigo)}.tone-rose{--tblock-tone: var(--tone-rose);--tbar-color: var(--tone-rose)}.tone-amber{--tblock-tone: var(--tone-amber);--tbar-color: var(--tone-amber)}.tone-teal{--tblock-tone: var(--tone-teal);--tbar-color: var(--tone-teal)}.tone-slate{--tblock-tone: var(--tone-slate);--tbar-color: var(--tone-slate)}.tone-orange{--tblock-tone: var(--tone-orange);--tbar-color: var(--tone-orange)}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-wrap .tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--c-text-1);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-medium);padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;z-index:var(--z-toast);box-shadow:var(--shadow-sm)}.tooltip-wrap:hover .tooltip{display:block}.callout{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);border:1px solid var(--c-border);font-size:var(--text-sm);color:var(--c-text-2)}.callout-info{background:var(--c-accent-subtle);border-color:var(--c-accent-border);color:var(--c-accent)}.callout-warning{background:var(--c-medium-bg);border-color:#fde68a;color:#92400e}.callout-error{background:var(--c-critical-bg);border-color:#fecaca;color:var(--c-critical)}.callout-success{background:var(--c-low-bg);border-color:#bbf7d0;color:#15803d}.slack-publish-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:var(--s-4);padding:var(--s-4);border:1px solid var(--c-accent-border);border-radius:var(--r-xl);background:color-mix(in srgb,var(--c-accent-subtle) 55%,var(--c-elevated))}.slack-publish-hero-copy{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.slack-publish-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--c-text-1)}.slack-publish-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;font-size:var(--text-sm);color:var(--c-text-3)}.slack-publish-hero-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);min-width:0}.slack-publish-kpi{display:flex;flex-direction:column;gap:2px;padding:var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-elevated)}.slack-publish-kpi-label{font-size:var(--text-xs);color:var(--c-text-3)}.slack-publish-kpi strong{font-size:var(--text-md);color:var(--c-text-1);line-height:var(--lh-snug);overflow-wrap:anywhere}.slack-publish-message{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-surface)}.slack-publish-message-line{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal);white-space:pre-wrap}.slack-publish-message-context{color:var(--c-text-4)}.slack-publish-message-list{display:flex;flex-direction:column;gap:var(--s-2)}.slack-publish-message-item{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-elevated)}.slack-publish-message-item-empty{background:var(--c-surface-2);border-style:dashed}.slack-publish-message-item-title{display:flex;align-items:flex-start;gap:var(--s-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-snug)}.slack-publish-message-item-sub{font-size:var(--text-sm);color:var(--c-text-3);line-height:var(--lh-normal)}.slack-publish-bullet{color:var(--c-accent);flex-shrink:0}.slack-publish-history{display:flex;flex-direction:column;gap:var(--s-3)}.slack-publish-history-list{display:flex;flex-direction:column;gap:var(--s-2)}.slack-publish-history-item{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface)}.slack-publish-history-item.is-sent{border-color:color-mix(in srgb,var(--c-status-done) 20%,var(--c-border))}.slack-publish-history-item.is-failed{border-color:color-mix(in srgb,var(--c-critical) 24%,var(--c-border))}.slack-publish-history-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);font-size:var(--text-xs);color:var(--c-text-4)}.slack-publish-history-top strong{font-size:var(--text-sm);color:var(--c-text-2)}.slack-publish-history-message{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal)}.slack-publish-history-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;font-size:var(--text-xs);color:var(--c-text-4)}@media(max-width:1100px){.slack-publish-hero{grid-template-columns:1fr}.slack-publish-hero-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.slack-publish-hero-kpis{grid-template-columns:1fr}}kbd{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-1);min-height:var(--badge-h-sm);background:var(--c-surface-2);border:1px solid var(--c-border-strong);border-bottom-width:2px;border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--c-text-3)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--c-border);border-radius:var(--r-sm);animation:skeleton-pulse 1.6s ease infinite}.sync-chip{display:inline-flex;align-items:center;gap:var(--s-1);padding:0 var(--s-2);min-height:var(--badge-h);border:1px solid var(--c-border);border-radius:var(--r-full);font-size:var(--text-xs);color:var(--c-text-3);background:var(--c-elevated);cursor:default}.sync-chip.is-saving{color:var(--c-medium);border-color:#fde68a}.sync-chip.is-remote{color:var(--c-status-done);border-color:#bbf7d0}.sync-chip.is-error{color:var(--c-critical);border-color:#fecaca}.panel{background:var(--c-elevated);border:1px solid var(--c-border);border-radius:var(--r-2xl);box-shadow:var(--shadow-sm);overflow:hidden;background-clip:padding-box}.muted,.field-note{font-size:var(--text-xs);color:var(--c-text-2);line-height:var(--lh-normal)}.inline-chip{display:inline-flex;align-items:center;min-height:var(--badge-h-sm);padding:0 var(--s-2);border-radius:var(--r-full);background:var(--c-surface);border:1px solid var(--c-border-strong);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--c-text-2);white-space:nowrap}.form-stack{display:flex;flex-direction:column;gap:var(--s-4)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.subsection-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.subsection-head h4{font-size:var(--text-xl)}.studio-shell{padding:var(--s-6)}.studio-note{margin-bottom:var(--s-5);max-width:720px}.studio-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:var(--s-5);align-items:start}.studio-column{min-width:0}.project-settings-list{display:flex;flex-direction:column;gap:var(--s-4)}.project-settings-card{border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-elevated);box-shadow:var(--shadow-sm);overflow:hidden}.project-settings-card.is-active{border-color:var(--studio-tone, var(--c-accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--studio-tone, var(--c-accent)) 35%,transparent)}.project-settings-select{width:100%;padding:var(--s-4) var(--s-5);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);text-align:left}.project-settings-select h4{font-size:var(--text-lg);margin-bottom:2px}.project-settings-select p{font-size:var(--text-sm);color:var(--c-text-4)}.project-capacity-line{padding:0 var(--s-5) var(--s-4);display:flex;align-items:center;gap:var(--s-3)}.project-capacity-line strong{font-size:var(--text-sm);color:var(--c-text-2);white-space:nowrap}.capacity-bar{flex:1;height:6px;border-radius:var(--r-full);background:var(--c-bg);overflow:hidden}.capacity-bar span{display:block;height:100%;border-radius:inherit;background:var(--studio-tone, var(--c-accent))}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);padding:0 var(--s-5) var(--s-5)}.project-slack-storage{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px dashed var(--c-border-strong);border-radius:var(--r-lg);background:var(--c-surface-2)}.project-slack-storage-note{font-size:var(--text-sm);color:var(--c-text-3);line-height:var(--lh-normal)}.project-slack-storage-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.field.small .input,.field.small .select{height:var(--control-h-sm)}.studio-check{display:flex;align-items:flex-start;gap:var(--s-2);font-size:var(--text-sm);color:var(--c-text-2)}.studio-check input,.composer-check input,.field.check input{appearance:auto;width:16px;height:16px;margin-top:1px;flex-shrink:0}.studio-delete-btn{justify-self:start}.tone-picker{display:flex;flex-wrap:wrap;gap:var(--s-2)}.tone-option{width:var(--control-h-md);height:var(--control-h-md);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-lg);border:1px solid var(--c-border);background:var(--c-elevated);transition:border-color var(--t-fast),transform var(--t-fast),background var(--t-fast)}.tone-option:hover{transform:translateY(-1px);border-color:var(--studio-tone, var(--c-accent))}.tone-option.is-active{border-color:var(--studio-tone, var(--c-accent));background:color-mix(in srgb,var(--studio-tone, var(--c-accent)) 10%,var(--c-surface))}.tone-swatch{width:16px;height:16px;border-radius:var(--r-full)}.category-grid{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-4)}.category-pill{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);padding:0 var(--s-3);border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-elevated);font-size:var(--text-sm);color:var(--c-text-2)}.category-dot{width:8px;height:8px;border-radius:var(--r-full)}.studio-color-input{appearance:auto;width:100%;height:var(--control-h-md);padding:3px;border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-elevated)}.composer-modal{width:min(760px,calc(100vw - var(--s-8)))}.composer-head-actions{display:flex;align-items:center;gap:var(--s-2)}.composer-body{gap:var(--s-5)}.composer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}.composer-check{display:flex;align-items:flex-start;gap:var(--s-2)}.composer-check span{display:flex;flex-direction:column;gap:4px;color:inherit}.composer-slot-list{display:flex;flex-wrap:wrap;gap:var(--s-2)}.composer-ai-card{border:1px solid var(--c-accent-border);background:var(--c-accent-subtle);border-radius:var(--r-xl);padding:var(--s-4)}.composer-ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.composer-ai-copy{display:grid;gap:var(--s-4)}.composer-ai-field{font-size:var(--text-sm);color:var(--c-text-1);line-height:var(--lh-normal)}.composer-ai-description{color:var(--c-text-2)}.composer-history-card{border:1px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-xl);padding:var(--s-4)}.composer-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.composer-history-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s-3);margin-bottom:var(--s-4)}.composer-history-filters{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-4)}.composer-history-filter{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);padding:0 var(--s-3);border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-3);font-size:var(--text-xs);font-weight:var(--fw-medium);transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}.composer-history-filter:hover{color:var(--c-text-1);border-color:var(--c-border-strong)}.composer-history-filter.is-active{background:color-mix(in srgb,var(--c-accent-subtle) 48%,var(--c-surface));border-color:var(--c-accent-border);color:var(--c-accent)}.composer-history-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);background:color-mix(in srgb,var(--c-surface-2) 86%,transparent);color:inherit;font-size:var(--text-2xs);font-weight:var(--fw-semibold)}.composer-history-empty{border:1px dashed color-mix(in srgb,var(--c-border) 84%,transparent);border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-surface-2) 70%,transparent);padding:var(--s-4);font-size:var(--text-sm);color:var(--c-text-3)}.composer-history-kpi{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-elevated);padding:var(--s-3);display:flex;flex-direction:column;gap:2px}.composer-history-kpi-label{font-size:var(--text-xs);color:var(--c-text-3)}.composer-history-kpi-value{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:1}.composer-history-list{display:flex;flex-direction:column;gap:var(--s-3);max-height:240px;overflow:auto;padding-right:var(--s-1)}.composer-history-section{display:flex;flex-direction:column;gap:var(--s-3)}.composer-history-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid color-mix(in srgb,var(--c-border) 85%,transparent)}.composer-history-section-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-1)}.composer-history-section-count{min-width:24px;min-height:24px;border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-2)}.composer-history-section-list{display:flex;flex-direction:column;gap:var(--s-3)}.composer-history-item{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-lg);border:1px solid var(--c-border);background:var(--c-elevated)}.composer-history-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.composer-history-type{display:inline-flex;align-items:center;min-height:var(--control-h-xs);padding:0 var(--s-2);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);border:1px solid var(--c-border);color:var(--c-text-2);background:var(--c-surface)}.composer-history-type.is-completed{color:var(--c-status-done);background:color-mix(in srgb,var(--c-status-done) 12%,var(--c-surface));border-color:color-mix(in srgb,var(--c-status-done) 18%,var(--c-border))}.composer-history-type.is-partial{color:var(--c-medium);background:color-mix(in srgb,var(--c-medium) 12%,var(--c-surface));border-color:color-mix(in srgb,var(--c-medium) 18%,var(--c-border))}.composer-history-type.is-reopened{color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 12%,var(--c-surface));border-color:color-mix(in srgb,var(--c-accent) 18%,var(--c-border))}.composer-history-type.is-carryover{color:var(--c-text-2);background:color-mix(in srgb,var(--c-elevated) 80%,var(--c-surface))}.composer-history-type.is-moved{color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 10%,var(--c-surface));border-color:color-mix(in srgb,var(--c-accent-border) 45%,var(--c-border))}.composer-history-type.is-legacy{color:var(--c-text-2);background:color-mix(in srgb,var(--c-accent-subtle) 60%,var(--c-surface));border-color:color-mix(in srgb,var(--c-accent-border) 40%,var(--c-border))}.composer-history-time,.composer-history-actor{font-size:var(--text-xs);color:var(--c-text-4)}.composer-history-message{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal);white-space:pre-wrap}@media(max-width:1280px){.studio-grid,.composer-grid{grid-template-columns:1fr}}@media(max-width:900px){.settings-grid,.form-grid,.form-grid.compact{grid-template-columns:1fr}}.week-board-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:var(--s-5);align-items:start}.week-board-layout.is-no-rail{grid-template-columns:1fr}.week-board-shell{min-width:0;background:var(--c-elevated)}.week-board-grid{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:var(--s-4);padding:var(--s-5);overflow-x:auto}.week-day-column{min-width:0;border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-elevated);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);cursor:pointer;box-shadow:var(--shadow-sm)}.week-day-column:hover{border-color:color-mix(in srgb,var(--c-accent) 28%,var(--c-border-strong));box-shadow:var(--shadow-md);transform:translateY(-2px)}.week-day-column.is-today{border-color:color-mix(in srgb,var(--c-accent) 35%,var(--c-border));background:color-mix(in srgb,var(--c-accent-subtle) 40%,var(--c-elevated))}.week-day-column.is-today .week-day-date{color:var(--c-accent)}.week-day-column.is-selected{border-color:var(--c-accent-border);background:color-mix(in srgb,var(--c-accent-subtle) 55%,var(--c-elevated));box-shadow:var(--shadow-focus),var(--shadow-sm)}.week-day-column.is-today.is-selected{background:color-mix(in srgb,var(--c-accent-subtle) 70%,var(--c-elevated))}.week-day-column.is-drop-target{border-color:color-mix(in srgb,var(--c-accent) 72%,var(--c-border));background:color-mix(in srgb,var(--c-accent-subtle) 48%,var(--c-elevated));box-shadow:var(--shadow-focus),var(--shadow-md);opacity:1!important}.week-board-layout.is-drag-active .week-day-column{transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast),opacity var(--t-fast)}.week-board-layout.is-drag-active .week-day-column:not(.is-drop-target){opacity:.72;cursor:copy}.week-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);text-align:left}.week-day-label{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-xs);color:var(--c-text-3);text-transform:capitalize}.week-day-date{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--c-text-1);line-height:var(--lh-tight);margin-top:2px}.week-day-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);font-size:var(--text-xs);color:var(--c-text-3)}.week-day-load{height:5px;border-radius:var(--r-full);background:var(--c-surface-3);overflow:hidden}.week-day-load-fill{height:100%;border-radius:inherit;background:var(--c-accent);transition:width var(--t-slow)}.week-day-tasks{display:flex;flex-direction:column;min-height:280px}.week-day-schedule{display:flex;flex-direction:column;min-height:280px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-elevated);overflow:hidden}.week-day-slot{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;min-height:48px;border-top:1px solid color-mix(in srgb,var(--c-border-strong) 48%,transparent);background:linear-gradient(90deg,var(--c-surface) 0,var(--c-surface) 56px,transparent 56px)}.week-day-slot:first-child{border-top:none}.week-day-slot.is-empty{min-height:36px}.week-day-slot.is-lunch{background:linear-gradient(90deg,var(--c-surface) 0,var(--c-surface) 56px,transparent 56px),color-mix(in srgb,#f59e0b 10%,transparent);min-height:56px}.week-day-slot.is-drop-target-slot{background:linear-gradient(90deg,var(--c-surface) 0,var(--c-surface) 56px,transparent 56px),color-mix(in srgb,var(--c-accent-subtle) 56%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 48%,transparent)}.week-day-slot.is-drop-target-slot:after{content:"";position:absolute;inset:0;border:2px dashed color-mix(in srgb,var(--c-accent) 60%,transparent);pointer-events:none}.week-day-slot-content:before{content:"";position:absolute;top:0;left:calc(var(--s-2) * -1);right:0;border-top:2px solid transparent;pointer-events:none}.week-day-slot.is-drop-target-slot .week-day-slot-content:before{border-top-color:color-mix(in srgb,var(--c-accent) 88%,white 10%)}.week-day-slot-label{padding:var(--s-2) 0 0 var(--s-2);color:var(--c-text-4);font-size:var(--text-xs);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.week-day-slot-content{min-height:36px;padding:6px var(--s-2) 4px 0;display:flex;flex-direction:column;gap:var(--s-2);position:relative;z-index:1}.week-day-window-marker{position:absolute;left:56px;right:var(--s-2);height:0;border-top:2px solid transparent;transform:translateY(-50%);pointer-events:none;z-index:1;opacity:.88}.week-day-window-marker.is-start{border-top-color:color-mix(in srgb,var(--c-status-done) 78%,white 12%)}.week-day-window-marker.is-end{border-top-color:color-mix(in srgb,#f59e0b 82%,white 10%)}.week-day-window-marker.is-lunch{border-top-color:color-mix(in srgb,#f59e0b 68%,white 12%)}.week-day-window-label{position:absolute;left:calc(-1 * (56px - var(--s-2)));top:0;transform:translateY(-115%);display:inline-flex;align-items:center;padding:0 var(--s-1);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text-3);font-size:var(--text-2xs);font-weight:var(--fw-semibold);line-height:1.4;letter-spacing:.02em;white-space:nowrap;pointer-events:none}.week-day-window-marker.is-start .week-day-window-label{color:var(--c-status-done)}.week-day-window-marker.is-end .week-day-window-label{color:#f59e0b}.week-day-window-marker.is-lunch .week-day-window-label{color:color-mix(in srgb,#f59e0b 92%,white 10%)}.week-day-lunch-card{border:1px solid rgba(245,158,11,.35);border-left:3px solid rgba(245,158,11,.65);border-radius:var(--r-md);background:#f59e0b14;padding:var(--s-2) var(--s-3)}.week-day-lunch-card-time{color:#d97706;font-size:var(--text-2xs);font-weight:var(--fw-semibold);line-height:1.3;margin-bottom:2px}.week-day-lunch-card-title{color:var(--c-text-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);line-height:1.3}.week-day-lunch-card-sub{color:var(--c-text-4);font-size:var(--text-2xs);line-height:1.45;margin-top:2px}.drop-hint{display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:1px dashed var(--c-border-strong);background:var(--c-surface-2);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.drop-hint:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;opacity:.42;background:currentColor}.drop-hint--week{margin-bottom:var(--s-1)}.drop-hint-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--c-text-2)}.drop-hint-detail{font-size:var(--text-2xs);line-height:1.45;color:var(--c-text-4)}.drop-hint.is-ok{border-color:color-mix(in srgb,var(--c-status-done) 38%,var(--c-border));background:color-mix(in srgb,var(--c-status-done) 10%,var(--c-surface))}.drop-hint.is-ok .drop-hint-label{color:var(--c-status-done)}.drop-hint.is-ok:before{background:var(--c-status-done)}.drop-hint.is-conflict{border-color:color-mix(in srgb,var(--c-accent) 42%,var(--c-border));background:color-mix(in srgb,var(--c-accent) 11%,var(--c-surface))}.drop-hint.is-conflict .drop-hint-label{color:var(--c-accent)}.drop-hint.is-conflict:before{background:var(--c-accent)}.drop-hint.is-lunch{border-color:color-mix(in srgb,#f59e0b 42%,var(--c-border));background:color-mix(in srgb,#f59e0b 12%,var(--c-surface))}.drop-hint.is-lunch .drop-hint-label{color:color-mix(in srgb,#f59e0b 92%,black 8%)}.drop-hint.is-lunch:before{background:#f59e0b}.drop-hint.is-overtime{border-color:color-mix(in srgb,var(--c-critical) 48%,var(--c-border));background:color-mix(in srgb,var(--c-critical) 10%,var(--c-surface))}.drop-hint.is-overtime .drop-hint-label{color:var(--c-critical)}.drop-hint.is-overtime:before{background:var(--c-critical)}.week-day-empty{border:1px dashed var(--c-border);border-radius:var(--r-lg);padding:var(--s-4);background:var(--c-panel-muted)}.week-day-empty-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-2);margin-bottom:var(--s-1)}.week-day-empty-sub{font-size:var(--text-xs);color:var(--c-text-4);line-height:var(--lh-normal)}.week-task-card{border:1px solid color-mix(in srgb,var(--week-task-tone) 28%,var(--c-border));border-left:3px solid var(--week-task-tone, var(--c-accent));border-radius:var(--r-lg);background:color-mix(in srgb,var(--week-task-tone, var(--c-accent)) 5%,var(--c-elevated));padding:calc(var(--s-3) + 2px) var(--s-3) var(--s-3);display:flex;flex-direction:column;gap:var(--s-2);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.week-task-card--grid{position:relative;left:auto;right:auto;top:auto;height:auto!important;z-index:auto;box-shadow:var(--shadow-sm)}.week-task-card:hover{border-color:var(--week-task-tone, var(--c-accent));box-shadow:var(--shadow-md);transform:translateY(-2px)}.week-task-card[draggable=true]{cursor:grab}.week-task-card[draggable=true]:active{cursor:grabbing}.week-task-card.is-dragging{opacity:.42;transform:scale(.97);box-shadow:var(--shadow-lg)}.week-task-card.is-dragging .task-activity-preview-wrap{display:none}.week-board-layout.is-drag-active .week-task-card:not(.is-dragging){box-shadow:none}.week-board-layout.is-drag-active .week-task-card:hover{transform:none}.week-task-card.is-done{background:var(--c-surface);border-color:var(--c-border)}.week-task-card.is-blocked{border-left-color:var(--c-critical)}.week-task-card.is-done .week-task-title,.week-task-card.is-done .week-task-project-name{color:var(--c-text-3)}.week-task-card.is-done .week-task-category,.week-task-card.is-done .week-task-time-range,.week-task-card.is-done .week-task-time-duration{color:var(--c-text-4)}.week-task-card.is-compact{padding:var(--s-2);gap:var(--s-1)}.week-task-card.is-dense{padding:var(--s-2)}.week-task-time{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--c-text-4);font-variant-numeric:tabular-nums;margin-bottom:2px}.week-task-time-range{color:var(--c-text-3);font-weight:var(--fw-semibold)}.week-task-time-sep{color:var(--c-text-4)}.week-task-time-dur{color:var(--c-text-4);font-weight:var(--fw-medium)}.week-task-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-2)}.week-task-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.week-task-action-btn{opacity:0;transition:opacity var(--t-fast)}.week-task-card:hover .week-task-action-btn{opacity:1}.week-task-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-snug);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.week-task-meta{display:flex;flex-wrap:wrap;gap:var(--s-2);font-size:var(--text-xs);color:var(--c-text-3)}.week-task-project-line{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);min-width:0}.week-task-project-dot{width:8px;height:8px;border-radius:var(--r-full);flex-shrink:0}.week-task-project-name{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--c-text-2)}.week-task-category{font-size:var(--text-xs);color:var(--c-text-3)}.composer-related-projects{grid-column:1 / -1}.composer-related-projects-list{display:flex;flex-wrap:wrap;gap:var(--s-2)}.composer-related-project{display:inline-flex;align-items:center;gap:var(--s-2);min-height:var(--control-h-sm);padding:0 var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-full);background:var(--c-surface);color:var(--c-text-2);cursor:pointer}.composer-related-project input{margin:0}.composer-related-project.is-selected{border-color:var(--c-accent-border);background:color-mix(in srgb,var(--c-accent-subtle) 45%,var(--c-surface));color:var(--c-accent)}.composer-related-project-name{font-size:var(--text-sm);font-weight:var(--fw-medium)}.task-related-tags{display:flex;flex-wrap:wrap;gap:var(--s-1)}.task-related-tag{display:inline-flex;align-items:center;min-height:var(--badge-h-sm);padding:0 var(--s-2);border-radius:var(--r-full);border:1px solid color-mix(in srgb,var(--c-accent) 18%,var(--c-border));background:color-mix(in srgb,var(--c-accent-subtle) 52%,var(--c-surface));color:var(--c-accent);font-size:var(--text-2xs);font-weight:var(--fw-semibold)}.task-activity-pill{position:relative;display:inline-flex;align-items:center;gap:4px;min-height:var(--control-h-xs);padding:0 var(--s-2);border-radius:var(--r-full);border:1px solid color-mix(in srgb,var(--c-accent) 18%,var(--c-border));background:color-mix(in srgb,var(--c-accent) 10%,var(--c-surface));color:var(--c-accent);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.task-activity-pill .icon-xs{width:12px;height:12px}.task-activity-pill:hover,.task-activity-pill.is-active{background:color-mix(in srgb,var(--c-accent) 16%,var(--c-surface));border-color:color-mix(in srgb,var(--c-accent) 28%,var(--c-border))}.task-activity-pill-wrap{position:relative;display:inline-flex;align-items:center}.task-activity-preview-wrap{position:absolute;top:calc(100% + var(--s-2));right:0;z-index:20}.task-activity-preview{width:min(320px,70vw);border:1px solid var(--c-border-strong);border-radius:var(--r-lg);background:var(--c-elevated);box-shadow:var(--shadow-lg);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.task-activity-preview-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.task-activity-preview-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--c-text-2);letter-spacing:.04em;text-transform:uppercase}.task-activity-preview-count{font-size:var(--text-xs);color:var(--c-text-4)}.task-activity-preview-list{display:flex;flex-direction:column;gap:var(--s-2)}.task-activity-preview-item{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-1)}.task-activity-preview-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.task-activity-preview-type{display:inline-flex;align-items:center;min-height:var(--badge-h-sm);padding:0 var(--s-2);border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--c-border);color:var(--c-text-2);background:var(--c-surface-2)}.task-activity-preview-type.is-completed{color:var(--c-status-done);background:var(--c-low-bg);border-color:color-mix(in srgb,var(--c-status-done) 18%,transparent)}.task-activity-preview-type.is-partial{color:var(--c-accent);background:var(--c-accent-subtle);border-color:color-mix(in srgb,var(--c-accent) 18%,transparent)}.task-activity-preview-type.is-reopened{color:var(--c-medium);background:var(--c-medium-bg);border-color:color-mix(in srgb,var(--c-medium) 18%,transparent)}.task-activity-preview-type.is-carryover{color:var(--c-accent);background:var(--c-accent-subtle);border-color:color-mix(in srgb,var(--c-accent) 18%,transparent)}.task-activity-preview-type.is-moved,.task-activity-preview-type.is-legacy{color:var(--c-text-2);background:var(--c-surface-2);border-color:var(--c-border)}.task-activity-preview-time,.task-activity-preview-actor{font-size:var(--text-xs);color:var(--c-text-4)}.task-activity-preview-message{font-size:var(--text-sm);color:var(--c-text-2);line-height:var(--lh-normal);white-space:pre-wrap}.week-task-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.week-task-badges{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-1)}.week-task-actions{display:flex;align-items:center;gap:var(--s-1);flex-shrink:0}.week-task-actions .btn-icon{width:var(--btn-icon-xs);height:var(--btn-icon-xs)}.week-task-actions .btn-icon.is-checked{color:var(--c-status-done);background:var(--c-low-bg)}.week-task-card.is-dense .week-task-title{-webkit-line-clamp:2;font-size:var(--text-xs)}.week-task-card.is-dense .week-task-actions .btn-icon{width:var(--btn-icon-2xs);height:var(--btn-icon-2xs)}.week-board-rail{min-width:0}.week-board-rail-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4);background:var(--c-elevated)}.week-board-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.week-board-kpi{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);padding:var(--s-3);display:flex;flex-direction:column;gap:2px}.week-board-kpi-label{font-size:var(--text-xs);color:var(--c-text-3)}.week-board-kpi-value{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--c-text-1);line-height:1}.week-board-focus{display:flex;flex-direction:column;gap:var(--s-2);border-radius:var(--r-xl);background:var(--c-elevated);border:1px solid var(--c-accent-border);box-shadow:inset 3px 0 0 var(--c-accent);padding:var(--s-4)}.week-board-focus-label{font-size:var(--text-2xs);color:var(--c-accent);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-semibold)}.week-board-focus-title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-snug)}.week-board-focus-meta{font-size:var(--text-xs);color:var(--c-text-2);line-height:var(--lh-normal)}.dashboard-week-board .card-head{border-bottom-color:color-mix(in srgb,var(--c-accent) 10%,var(--c-border))}@media(max-width:1400px){.week-board-layout{grid-template-columns:1fr}}@media(max-width:960px){.week-board-grid{grid-template-columns:repeat(5,minmax(260px,260px))}.week-board-kpis{grid-template-columns:1fr}}.auth-error{border:1px solid color-mix(in srgb,var(--c-critical) 24%,transparent);background:var(--c-critical-bg);color:var(--c-critical);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--text-sm)}.auth-password-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-2)}.auth-forgot-trigger{font-size:var(--text-xs);color:var(--c-accent);font-weight:var(--fw-medium);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;line-height:1}.auth-forgot-trigger:hover{text-decoration:underline}.auth-password-wrap{position:relative}.auth-password-input{padding-right:40px}.auth-eye-btn{position:absolute;right:var(--s-3);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:var(--s-1);color:var(--c-text-4);display:flex;align-items:center;border-radius:var(--r-sm);transition:color var(--t-fast)}.auth-eye-btn:hover{color:var(--c-text-2)}.auth-hint{text-align:center;font-size:var(--text-xs);color:var(--c-text-4);margin:0}.auth-forgot{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-6);text-align:center}.auth-forgot-icon{font-size:28px;line-height:1}.auth-forgot-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--c-text-1)}.auth-forgot-text{font-size:var(--text-sm);color:var(--c-text-3);line-height:var(--lh-normal);margin:0}.auth-forgot-link{font-size:var(--text-sm);color:var(--c-accent);font-weight:var(--fw-semibold);text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-back-btn{font-size:var(--text-xs);color:var(--c-text-4);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;margin-top:var(--s-1)}.auth-back-btn:hover{color:var(--c-text-2)}.auth-success{display:flex;flex-direction:column;align-items:center;gap:var(--s-4);padding:var(--s-8) var(--s-6);text-align:center}.auth-success-icon{width:52px;height:52px;border-radius:var(--r-full);background:var(--c-low-bg);border:1.5px solid color-mix(in srgb,var(--c-status-done) 25%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.auth-success-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--c-text-1)}.auth-success-sub{font-size:var(--text-sm);color:var(--c-text-3);margin:calc(var(--s-1) * -1) 0 0}.auth-spinner-sm{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--r-full);animation:auth-spin .7s linear infinite;flex-shrink:0}.auth-spinner-lg{width:20px;height:20px;border:2px solid color-mix(in srgb,var(--c-accent) 25%,transparent);border-top-color:var(--c-accent);border-radius:var(--r-full);animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--s-2)}.profile-modal-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}.profile-section-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.profile-avatar-row{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.profile-avatar-preview{width:56px;height:56px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--fw-bold);color:#fff;box-shadow:var(--shadow-sm)}.profile-avatar-swatches{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.profile-avatar-swatch{width:28px;height:28px;border-radius:var(--r-full);border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff2e}.profile-avatar-swatch.is-active{border-color:var(--c-text-1)}.composer-history-timeline{display:flex;flex-direction:column;gap:var(--s-4)}.composer-history-group{display:flex;flex-direction:column;gap:var(--s-3)}.composer-history-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid color-mix(in srgb,var(--c-border) 70%,transparent)}.composer-history-group-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--c-text-2)}.composer-history-group-count{min-width:28px;height:28px;border-radius:var(--r-full);display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-2);font-size:var(--text-xs);color:var(--c-text-3);border:1px solid var(--c-border);background:var(--c-surface-2)}.composer-history-group-list{display:flex;flex-direction:column;gap:var(--s-3)}.composer-history-timeline-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--s-3)}.composer-history-line{position:relative;display:flex;justify-content:center}.composer-history-line:before{content:"";position:absolute;top:0;bottom:calc(var(--s-3) * -1);left:50%;width:1px;transform:translate(-50%);background:color-mix(in srgb,var(--c-border) 75%,transparent)}.composer-history-group-list .composer-history-timeline-item:last-child .composer-history-line:before{display:none}.composer-history-dot{position:relative;z-index:1;width:10px;height:10px;margin-top:8px;border-radius:var(--r-full);background:var(--c-text-4);border:2px solid var(--c-surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--c-border) 70%,transparent)}.composer-history-dot.is-completed{background:var(--c-status-done)}.composer-history-dot.is-partial{background:var(--c-accent)}.composer-history-dot.is-reopened{background:var(--c-medium)}.composer-history-dot.is-carryover{background:var(--c-accent)}.composer-history-dot.is-moved{background:var(--c-text-3)}.composer-history-dot.is-legacy{background:var(--c-text-4)}.composer-history-entry{display:flex;flex-direction:column;gap:var(--s-2);border:1px solid color-mix(in srgb,var(--c-border) 80%,transparent);border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-surface-2) 78%,transparent);padding:var(--s-3) var(--s-4)}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}.profile-actions{display:flex;gap:var(--s-3);flex-wrap:wrap}.account-card-body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.account-summary{display:flex;align-items:center;gap:var(--s-3)}.account-avatar{width:52px;height:52px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-md);font-weight:var(--fw-bold);color:#fff;box-shadow:var(--shadow-sm);flex-shrink:0}.account-summary-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.account-summary-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--c-text-1)}.account-summary-sub{font-size:var(--text-sm);color:var(--c-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.account-detail{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-1)}.account-detail-label{font-size:var(--text-xs);color:var(--c-text-4)}.account-detail-value{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-text-1)}.account-note{font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--c-text-3)}.account-actions{display:flex;gap:var(--s-3);flex-wrap:wrap}@media(max-width:960px){.profile-modal-body,.profile-form-grid,.account-grid{grid-template-columns:1fr}}.manager-share-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-5);flex-wrap:wrap}.manager-share-bar-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.manager-share-bar-url{font-size:var(--text-xs);font-family:monospace;color:var(--c-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:480px}.manager-share-bar-actions{display:flex;align-items:center;gap:var(--s-2);flex-shrink:0}.cap-bar-row.is-over .cap-bar-name,.cap-bar-row.is-over .cap-bar-val{color:var(--c-critical)}.cap-bar-over-mark{font-size:var(--text-xs)}.completion-task-context{padding:var(--s-3) var(--s-4);background:var(--c-surface-2);border-radius:var(--r-md);border:1px solid var(--c-border)}.completion-task-title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--c-text-1);line-height:var(--lh-tight)}.completion-task-meta{font-size:var(--text-sm);color:var(--c-text-4);margin-top:2px}.completion-carryover-block{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--c-accent-subtle);border:1px solid var(--c-accent-border);border-radius:var(--r-md)}.completion-carryover-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-text-2);display:flex;align-items:center;gap:var(--s-2)}.completion-carryover-duration{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--c-accent);background:var(--c-elevated);border:1px solid var(--c-accent-border);border-radius:var(--r-sm);padding:1px var(--s-2)}.project-studio-layout{display:grid;grid-template-columns:minmax(0,1.4fr) 340px;gap:var(--s-5);align-items:start}.project-studio-main{min-width:0;display:flex;flex-direction:column;gap:var(--s-5)}.project-studio-side{display:flex;flex-direction:column;gap:var(--s-5)}.project-studio-filter{display:flex;align-items:center;gap:var(--s-2)}.project-studio-list{display:flex;flex-direction:column;gap:var(--s-4)}.project-studio-list.compact{gap:var(--s-3);padding:var(--s-4) var(--s-5)}.project-studio-card{border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-4);background:var(--c-surface)}.project-studio-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.project-studio-project-name{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--c-text-1)}.project-studio-project-client{font-size:var(--text-sm);color:var(--c-text-4);margin-top:2px}.project-studio-usage{display:flex;align-items:center;gap:var(--s-1);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--c-text-2);white-space:nowrap;flex-shrink:0}.project-studio-progress{height:4px;border-radius:var(--r-full);background:var(--c-surface-3);overflow:hidden}.project-studio-progress-fill{height:100%;border-radius:var(--r-full);background:var(--c-accent);transition:width .2s}.project-studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.project-studio-slack-row{display:flex;flex-direction:column;gap:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--c-border)}.project-studio-slack-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.project-studio-slack-actions .input{flex:1;min-width:200px}.project-studio-form{display:flex;flex-direction:column;gap:var(--s-4);padding:0 var(--s-5) var(--s-5)}.project-studio-label-head{display:flex;align-items:center;gap:var(--s-2)}.project-studio-label-dot{width:10px;height:10px;border-radius:var(--r-full);flex-shrink:0}@media(max-width:1100px){.project-studio-layout{grid-template-columns:1fr}}@media(max-width:640px){.project-studio-grid{grid-template-columns:1fr}}
