:root,body.dark{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--bg-app: #0B1112;--bg-sidebar: #0D1516;--bg-topbar: #0C1314;--bg-surface: #111A1C;--bg-surface-raised: #142022;--bg-overlay: #182527;--bg-modal: #121C1E;--bg-inset: #0F1719;--bg-hover: rgba(255, 255, 255, .04);--bg-hover-strong: rgba(255, 255, 255, .07);--bg-selected: rgba(34, 168, 120, .09);--bg-scrim: rgba(0, 0, 0, .62);--border-subtle: #1D2A2C;--border-default: #243235;--border-strong: #314245;--text-primary: #F5F7F7;--text-secondary: #B5BFC0;--text-muted: #7E8C8E;--text-disabled: #566467;--text-inverse: #0B1112;--accent: #22A878;--accent-hover: #299B75;--accent-press: #17845D;--accent-bright: #37C896;--accent-soft: rgba(34, 168, 120, .12);--accent-softer: rgba(34, 168, 120, .06);--accent-ring: rgba(55, 200, 150, .3);--accent-contrast: #FFFFFF;--green-secondary: #64D39C;--nav-active-bg: rgba(34, 168, 120, .14);--nav-active-text: #71D6AC;--nav-active-icon: #55C999;--nav-active-indicator: #32B783;--tech: #44C994;--tech-soft: rgba(34, 168, 120, .08);--color-success: #39B982;--success-soft: rgba(57, 185, 130, .12);--color-warning: #D3AA4C;--warning-soft: rgba(211, 170, 76, .12);--color-danger: #EF5B5B;--danger-soft: rgba(239, 91, 91, .12);--color-info: #5C9CA8;--info-soft: rgba(92, 156, 168, .12);--color-purple: #7793B9;--purple-soft: rgba(119, 147, 185, .12);--color-neutral: #7594A0;--neutral-soft: rgba(117, 148, 160, .12);--badge-critical: #EF5B5B;--badge-high: #E99543;--badge-medium: #D3AA4C;--badge-low: #7594A0;--badge-success: #39B982;--chart-1: #3DBE8A;--chart-2: #5C9CA8;--chart-3: #7793B9;--chart-4: #C49B5A;--chart-5: #D49A50;--chart-6: #7594A0;--chart-danger: #D96262;--chart-warning: #D49A50;--chart-grid: #1E2D30;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .24);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .26);--shadow-md: 0 8px 20px -6px rgba(0, 0, 0, .44);--shadow-overlay: 0 18px 44px -12px rgba(0, 0, 0, .62), 0 0 0 1px #243235;--shadow-lg: var(--shadow-overlay);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-full: 9999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--motion-fast: .11s var(--ease-out);--motion-normal: .18s var(--ease-out);--motion-slow: .26s var(--ease-out);--sidebar-w: 232px;--sidebar-w-collapsed: 68px;--topbar-h: 52px;color-scheme:dark}body.light{--bg-app: #F7F9F8;--bg-sidebar: #F2F6F4;--bg-topbar: #F7F9F8;--bg-surface: #FFFFFF;--bg-surface-raised: #F0F5F2;--bg-overlay: #FFFFFF;--bg-modal: #FFFFFF;--bg-inset: #EBF0ED;--bg-hover: rgba(23, 32, 29, .04);--bg-hover-strong: rgba(23, 32, 29, .08);--bg-selected: #E7F4EE;--bg-scrim: rgba(23, 32, 29, .4);--border-subtle: #E8EFEB;--border-default: #DFE7E3;--border-strong: #C5D3CD;--text-primary: #17201D;--text-secondary: #617069;--text-muted: #899991;--text-disabled: #B0BCB6;--text-inverse: #FFFFFF;--accent: #168A62;--accent-hover: #137653;--accent-press: #0E5E42;--accent-bright: #22936A;--accent-soft: #E8F5EF;--accent-softer: #F2F9F5;--accent-ring: rgba(22, 138, 98, .25);--accent-contrast: #FFFFFF;--nav-active-bg: #E7F4EE;--nav-active-text: #137656;--nav-active-icon: #168A62;--nav-active-indicator: #22936A;--tech: #168A62;--tech-soft: #E8F5EF;--color-success: #168A62;--success-soft: #E8F5EF;--color-warning: #B87B33;--warning-soft: rgba(184, 123, 51, .1);--color-danger: #C94A4A;--danger-soft: rgba(201, 74, 74, .1);--color-info: #3E7C85;--info-soft: rgba(62, 124, 133, .1);--color-purple: #587291;--purple-soft: rgba(88, 114, 145, .1);--color-neutral: #617069;--neutral-soft: rgba(97, 112, 105, .1);--chart-1: #168A62;--chart-2: #3E7C85;--chart-3: #587291;--chart-4: #A67C3B;--chart-5: #B87B33;--chart-6: #617069;--chart-danger: #C94A4A;--chart-warning: #B87B33;--chart-grid: #E3EBE7;--shadow-xs: 0 1px 2px rgba(23, 32, 29, .05);--shadow-sm: 0 1px 3px rgba(23, 32, 29, .07);--shadow-md: 0 6px 16px -6px rgba(23, 32, 29, .12);--shadow-overlay: 0 16px 40px -12px rgba(23, 32, 29, .18), 0 0 0 1px #DFE7E3;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);font-size:13px;line-height:1.5;letter-spacing:-.006em;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv05" 1,"ss01" 1,"tnum" 0;transition:background-color var(--motion-normal),color var(--motion-normal)}h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:600;letter-spacing:-.018em;color:var(--text-primary);line-height:1.25}.t-display{font-size:22px;font-weight:600;letter-spacing:-.026em}.t-title{font-size:17px;font-weight:600;letter-spacing:-.02em}.t-section{font-size:13px;font-weight:600;letter-spacing:-.01em}.t-body{font-size:13px;font-weight:400;color:var(--text-secondary)}.t-sub{font-size:12.5px;font-weight:400;color:var(--text-muted)}.t-label{font-size:11px;font-weight:500;color:var(--text-muted)}.t-eyebrow{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.t-metric{font-size:30px;font-weight:640;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.t-metric-sm{font-size:21px;font-weight:600;letter-spacing:-.024em;font-variant-numeric:tabular-nums}.t-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:transparent;border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box;transition:background-color var(--motion-normal)}*:hover::-webkit-scrollbar-thumb{background-color:var(--border-strong)}::-webkit-scrollbar-thumb:hover{background-color:var(--text-disabled)}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-app),0 0 0 4px var(--accent-ring);border-radius:var(--radius-sm)}::selection{background:var(--accent-soft);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 11px;border-radius:var(--radius-md);font-family:inherit;font-size:12.5px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;border:1px solid transparent;outline:none;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(.5px)}.btn svg{flex-shrink:0}.btn-primary{background-color:#1f9d70;color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid transparent}.btn-primary:not(:disabled):hover{background-color:#238a66}.btn-primary:not(:disabled):active{background-color:#17845d}.btn-secondary{background-color:#152022;color:#dce3e3;border-color:#2a383a;border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.btn-secondary:not(:disabled):hover{background-color:#1b292b;border-color:#314245;color:#f5f7f7}.btn-ghost{background-color:transparent;color:var(--text-secondary)}.btn-ghost:not(:disabled):hover{background-color:var(--bg-hover);color:var(--text-primary)}.btn-danger{background-color:var(--danger-soft);color:var(--color-danger);border-color:transparent}.btn-danger:not(:disabled):hover{background-color:var(--color-danger);color:#fff}.btn-sm{height:26px;padding:0 9px;font-size:11.5px;gap:5px;border-radius:var(--radius-sm)}.btn-lg{height:36px;padding:0 16px;font-size:13.5px}.btn-icon{width:30px;height:30px;padding:0;border-radius:var(--radius-md);background-color:transparent;color:var(--text-secondary);border-color:transparent}.btn-icon:not(:disabled):hover{background-color:var(--bg-hover);color:var(--text-primary)}.btn-icon.btn-sm{width:26px;height:26px}.btn-ai{background-color:#22a87814;border:1px solid rgba(55,200,150,.3);color:#63d6a7;border-radius:var(--radius-md);box-shadow:inset 0 1px #ffffff0d}.btn-ai svg{color:#4dd09a}.btn-ai:not(:disabled):hover{background-color:#22a87829;border-color:#37c89680;color:#71d6ac}.input,.input-control,.form-control,input[type=text],input[type=search],input[type=email],input[type=number],input[type=date],input[type=password],textarea,select{width:100%;min-height:30px;padding:6px 10px;border-radius:var(--radius-md);background-color:var(--bg-inset);border:1px solid var(--border-default);color:var(--text-primary);font-family:inherit;font-size:12.5px;line-height:1.45;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background-color var(--motion-fast)}textarea{min-height:72px;resize:vertical}.input:hover,.input-control:hover,.form-control:hover,input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}.input:focus,.input-control:focus,.form-control:focus,input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer);background-color:var(--bg-surface)}input::placeholder,textarea::placeholder{color:var(--text-disabled)}select{padding-right:26px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 12px center,right 7px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:var(--text-primary)}select option{background-color:var(--bg-overlay);color:var(--text-primary)}input[type=checkbox],input[type=radio]{width:14px;height:14px;min-height:0;padding:0;flex-shrink:0;cursor:pointer;accent-color:var(--accent);border-radius:var(--radius-xs)}input[type=radio]{border-radius:var(--radius-full)}.form-label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:5px;letter-spacing:.005em}.form-field{display:flex;flex-direction:column}.form-hint{font-size:11px;color:var(--text-muted);margin-top:5px}.card,.surface-card{background-color:var(--bg-surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-xs);transition:border-color var(--motion-normal),background-color var(--motion-normal),box-shadow var(--motion-normal),transform var(--motion-normal)}.card-flush{padding:0;overflow:hidden}.card-interactive,.task-card-hover{cursor:pointer}.card-interactive:hover,.surface-card:hover,.task-card-hover:hover{border-color:var(--border-strong);background-color:var(--bg-overlay);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{font-size:13px;font-weight:600;color:var(--text-primary)}.panel{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border-subtle);background-color:var(--bg-surface-raised)}.divider{height:1px;background-color:var(--border-subtle);border:0}.grid-table,.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.grid-table thead th,.data-table thead th{position:sticky;top:0;z-index:2;text-align:left;padding:8px 12px;font-size:10.5px;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted);background-color:var(--bg-surface);border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none}.grid-table tbody td,.data-table tbody td{padding:8px 12px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle}.grid-table tbody tr,.data-table tbody tr{transition:background-color var(--motion-fast)}.grid-table tbody tr:hover,.data-table tbody tr:hover,.grid-row-hover:hover{background-color:var(--bg-hover)}.grid-table tbody tr[data-selected=true],.data-table tbody tr[data-selected=true]{background-color:var(--accent-softer)}.grid-table tbody tr:last-child td{border-bottom:0}.sheet-table{table-layout:fixed;min-width:1040px}.sheet-table td{overflow:hidden;text-overflow:ellipsis}.sheet-table td:last-child,.sheet-table th:last-child{overflow:visible;text-overflow:clip;padding-left:6px;padding-right:6px}.sheet-table td:not(:last-child),.sheet-table th:not(:last-child){border-right:1px solid var(--border-subtle)}.sheet-table td.cell-active{box-shadow:inset 0 0 0 1px var(--accent);background-color:var(--accent-softer)}.col-type{font-size:9px;letter-spacing:0;color:var(--text-disabled);opacity:0;transition:opacity var(--motion-fast);white-space:nowrap}th:hover .col-type{opacity:1}.cell-num{width:44px;text-align:right;color:var(--text-disabled);font-size:11px;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:var(--radius-full);font-size:11px;font-weight:500;line-height:1;white-space:nowrap;background-color:var(--neutral-soft);color:var(--text-secondary)}.badge-dot{width:5px;height:5px;border-radius:var(--radius-full);background-color:currentColor;flex-shrink:0}.badge-success{background-color:var(--success-soft);color:var(--color-success)}.badge-warning{background-color:var(--warning-soft);color:var(--color-warning)}.badge-danger{background-color:var(--danger-soft);color:var(--color-danger)}.badge-info{background-color:var(--info-soft);color:var(--color-info)}.badge-accent{background-color:var(--accent-soft);color:var(--accent)}.badge-tech{background-color:var(--tech-soft);color:var(--tech)}.badge-critical{background-color:#ef5b5b24;color:var(--badge-critical)}.badge-high{background-color:#e9954324;color:var(--badge-high)}.badge-medium{background-color:#d3aa4c24;color:var(--badge-medium)}.badge-low{background-color:#7594a024;color:var(--badge-low)}.priority{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;color:var(--text-secondary)}.key-chip{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.02em;color:var(--text-muted);background-color:var(--bg-hover);padding:2px 5px;border-radius:var(--radius-xs);white-space:nowrap}.kbd{display:inline-flex;align-items:center;gap:1px;height:17px;padding:0 5px;border-radius:var(--radius-xs);background-color:var(--bg-hover);border:1px solid var(--border-subtle);font-size:10px;font-weight:500;color:var(--text-muted)}.avatar{width:22px;height:22px;min-width:22px;border-radius:var(--radius-full);object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background-color:var(--bg-surface-raised);border:1px solid var(--border-subtle);font-size:9.5px;font-weight:600;color:var(--text-secondary);overflow:hidden;flex-shrink:0}.avatar-sm{width:18px;height:18px;min-width:18px;font-size:8.5px}.avatar-lg{width:30px;height:30px;min-width:30px;font-size:11.5px}.avatar-stack{display:inline-flex}.avatar-stack>.avatar+.avatar{margin-left:-6px}.progress{height:4px;width:100%;border-radius:var(--radius-full);background-color:var(--bg-hover-strong);overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background-color:var(--accent);transition:width var(--motion-slow)}.segmented{display:inline-flex;padding:2px;gap:2px;border-radius:var(--radius-md);background-color:var(--bg-inset);border:1px solid var(--border-subtle)}.segmented>button{height:24px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:inherit;font-size:11.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background-color var(--motion-fast),color var(--motion-fast)}.segmented>button:hover{color:var(--text-primary)}.segmented>button[data-active=true]{background-color:var(--bg-surface-raised);color:var(--text-primary);box-shadow:var(--shadow-xs)}.tabs{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:0;background:transparent;color:var(--text-muted);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;position:relative;border-radius:var(--radius-sm);transition:color var(--motion-fast),background-color var(--motion-fast)}.tab:hover{color:var(--text-primary);background-color:var(--bg-hover)}.tab[data-active=true]{color:var(--text-primary)}.tab[data-active=true]:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background-color:var(--accent)}.menu{background-color:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);padding:5px;min-width:200px;animation:popIn .12s var(--ease-out)}.menu-label{padding:6px 9px 4px;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-disabled)}.menu-item{display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:var(--radius-sm);font-size:12.5px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast)}.menu-item:hover,.menu-item[data-active=true]{background-color:var(--bg-hover);color:var(--text-primary)}.menu-item[data-selected=true]{color:var(--accent);background-color:var(--accent-softer)}.menu-sep{height:1px;margin:5px -5px;background-color:var(--border-subtle)}.skeleton{border-radius:var(--radius-sm);background-color:var(--bg-hover);background-image:linear-gradient(90deg,transparent 0%,var(--bg-hover-strong) 50%,transparent 100%);background-size:240px 100%;background-repeat:no-repeat;animation:shimmer 1.5s linear infinite}@keyframes shimmer{0%{background-position:-240px 0}to{background-position:calc(100% + 240px) 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:44px 24px;text-align:center;color:var(--text-muted)}.empty-state-icon{width:38px;height:38px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background-color:var(--bg-hover);color:var(--text-disabled);margin-bottom:2px}.empty-state-title{font-size:13px;font-weight:500;color:var(--text-secondary)}.empty-state-body{font-size:12px;color:var(--text-muted);max-width:320px}.modal-overlay,.task-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;animation:fadeIn .14s var(--ease-out)}.modal-overlay{display:flex;align-items:center;justify-content:center;padding:24px;z-index:1100}.modal-content{background-color:var(--bg-modal);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);width:100%;max-width:480px;max-height:84vh;overflow-y:auto;padding:20px;animation:modalIn .17s var(--ease-out)}.modal-title{font-size:15px;font-weight:600;margin-bottom:3px}.modal-sub{font-size:12.5px;color:var(--text-muted);margin-bottom:16px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle)}.task-drawer{position:fixed;top:0;right:0;bottom:0;width:580px;max-width:94vw;background-color:var(--bg-surface);border-left:1px solid var(--border-default);box-shadow:var(--shadow-overlay);z-index:1010;display:flex;flex-direction:column;animation:drawerSlideIn var(--motion-slow) forwards}@media (max-width: 900px){.task-drawer{width:100vw}}.prop-row{display:grid;grid-template-columns:108px 1fr;align-items:center;gap:10px;min-height:30px;padding:2px 0}.prop-key{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.prop-val{font-size:12.5px;color:var(--text-primary);min-width:0}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(-3px) scale(.985)}to{opacity:1;transform:none}}@keyframes modalIn{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.live-dot{animation:pulseDot 2s var(--ease-in-out) infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-app)}.app-body{flex:1;display:flex;min-height:0}.app-topbar{display:flex;align-items:center;gap:10px;height:var(--topbar-h);flex-shrink:0;padding:0 12px 0 14px;background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-subtle);z-index:40}.command-bar{display:flex;align-items:center;gap:8px;height:30px;width:100%;max-width:440px;padding:0 9px;border-radius:var(--radius-md);background-color:var(--bg-hover);border:1px solid transparent;color:var(--text-muted);font-size:12.5px;cursor:pointer;transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}.command-bar:hover{background-color:var(--bg-hover-strong);border-color:var(--border-subtle);color:var(--text-secondary)}.command-bar:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-app)}.work-surface{flex:1;min-height:0;overflow-y:auto;background-color:var(--bg-app)}.work-surface-inner{padding:18px 22px 32px}@media (max-width: 768px){.work-surface-inner{padding:14px 14px 24px}}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;z-index:30;transition:width .2s var(--ease-out)}.sidebar[data-collapsed=true]{width:var(--sidebar-w-collapsed)}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;padding:2px 8px 8px}.nav-group{margin-bottom:10px}.nav-group-title{padding:8px 8px 4px;font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-disabled)}.nav-item{display:flex;align-items:center;gap:9px;height:29px;padding:0 8px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;transition:background-color var(--motion-fast),color var(--motion-fast)}.nav-item>svg{color:var(--text-muted);transition:color var(--motion-fast);flex-shrink:0}.nav-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-item:hover>svg{color:var(--text-secondary)}.nav-item[data-active=true]{background-color:var(--bg-hover-strong);color:var(--text-primary);font-weight:500}.nav-item[data-active=true]>svg{color:var(--accent)}.nav-item[data-active=true]:before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:2px;border-radius:0 2px 2px 0;background-color:var(--accent)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--text-disabled);font-weight:500}.sidebar[data-collapsed=true] .nav-item{justify-content:center;padding:0}.sidebar[data-collapsed=true] .nav-label,.sidebar[data-collapsed=true] .nav-count,.sidebar[data-collapsed=true] .nav-group-title,.sidebar[data-collapsed=true] .collapse-hide{display:none}.sidebar[data-collapsed=true] .nav-group{margin-bottom:6px;padding-top:6px;border-top:1px solid var(--border-subtle)}.sidebar[data-collapsed=true] .nav-group:first-child{border-top:0;padding-top:0}.tooltip-host{position:relative}.tooltip-host:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:4px 8px;border-radius:var(--radius-sm);background-color:var(--bg-modal);border:1px solid var(--border-default);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:11.5px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--motion-fast);z-index:100}.sidebar[data-collapsed=true] .tooltip-host:hover:after{opacity:1}.ws-switcher{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;border-radius:var(--radius-md);background-color:transparent;border:1px solid transparent;cursor:pointer;text-align:left;transition:background-color var(--motion-fast),border-color var(--motion-fast)}.ws-switcher:hover{background-color:var(--bg-hover);border-color:var(--border-subtle)}.ws-glyph{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:600;color:#fff;box-shadow:inset 0 1px #fff3}.ws-name{font-size:12.5px;font-weight:500;color:var(--text-primary);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-context{font-size:10px;color:var(--text-disabled);line-height:1.3}.page-header{display:flex;flex-direction:column;gap:10px;padding:14px 22px 12px;background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-muted);min-height:15px}.breadcrumb-item{cursor:pointer;transition:color var(--motion-fast)}.breadcrumb-item:hover,.breadcrumb-current{color:var(--text-secondary)}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-size:18px;font-weight:600;letter-spacing:-.022em}.page-subtitle{font-size:12.5px;color:var(--text-muted);margin-top:2px}.page-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.toolbar{display:flex;align-items:center;gap:7px;padding:7px 22px;background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.toolbar-sep{width:1px;height:16px;background-color:var(--border-subtle);flex-shrink:0}.workspace-panel{width:224px;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--bg-surface);border-right:1px solid var(--border-subtle);overflow:hidden}.workspace-panel[data-collapsed=true]{width:0;border-right:0}.board-scroll{display:flex;gap:12px;align-items:flex-start;height:100%;overflow-x:auto;padding-bottom:8px}.board-column{width:272px;min-width:272px;display:flex;flex-direction:column;gap:7px;border-radius:var(--radius-lg);padding:4px;transition:background-color var(--motion-normal)}.board-column[data-over=true]{background-color:var(--bg-hover)}.board-column-header{display:flex;align-items:center;gap:7px;padding:4px 6px 6px;position:sticky;top:0}.board-card{background-color:var(--bg-surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:9px 10px;cursor:pointer;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow-xs);transition:border-color var(--motion-fast),background-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast)}.board-card:hover{border-color:var(--border-strong);background-color:var(--bg-overlay);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.board-card[data-dragging=true]{opacity:.4}.board-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:30px;border:1px dashed var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--text-disabled);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;opacity:0;transition:opacity var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}.board-column:hover .board-add{opacity:1}.board-add:hover{color:var(--text-secondary);border-color:var(--border-strong)}.gantt-bar{height:18px;border-radius:var(--radius-sm);position:relative;overflow:hidden;background-image:linear-gradient(180deg,#ffffff24,#fff0);box-shadow:inset 0 0 0 1px #ffffff17;cursor:pointer;transition:filter var(--motion-fast),transform var(--motion-fast)}.gantt-bar:hover{filter:brightness(1.12)}.gantt-bar-progress{position:absolute;inset:0 auto 0 0;background-color:#ffffff38}.gantt-bar-label{position:relative;z-index:2;padding:0 8px;font-size:11px;font-weight:500;color:#fff;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;text-shadow:0 1px 2px rgba(0,0,0,.28)}.gantt-today{position:absolute;bottom:0;width:1px;background-color:var(--color-danger);opacity:.55;pointer-events:none;z-index:3}.gantt-today-cap{position:absolute;top:-3px;left:-2.5px;width:6px;height:6px;border-radius:50%;background-color:var(--color-danger)}.gantt-nonworking{background-color:var(--bg-hover);opacity:.55}.gantt-row{border-bottom:1px solid var(--border-subtle);display:flex;align-items:center}.gantt-row:hover{background-color:var(--bg-hover)}.ref-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 7px 1px 5px;border-radius:var(--radius-full);background-color:var(--accent-softer);border:1px solid transparent;color:var(--accent);font-size:11.5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color var(--motion-fast),border-color var(--motion-fast)}.ref-chip:hover{background-color:var(--accent-soft);border-color:var(--accent-ring)}.rollup-cell{display:inline-flex;align-items:center;gap:4px;color:var(--tech);font-size:11.5px;font-variant-numeric:tabular-nums;cursor:pointer;border-bottom:1px dashed var(--tech-soft)}.rollup-cell:hover{border-bottom-color:var(--tech)}.gap-5{gap:5px}.gap-2{gap:2px}.gap-14{gap:14px}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-default);background-color:var(--bg-surface);flex-shrink:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(96px,1fr);flex:1;min-height:0;overflow-y:auto}.cal-cell{display:flex;flex-direction:column;gap:5px;padding:6px;min-width:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);transition:background-color var(--motion-fast);-webkit-user-select:none;user-select:none}.cal-cell:nth-child(7n){border-right:0}.cal-cell:hover{background-color:var(--bg-hover)}.cal-cell[data-outside=true]{background-color:var(--bg-inset)}.cal-cell[data-outside=true] .cal-daynum{color:var(--text-disabled)}.cal-cell[data-today=true]{background-color:var(--accent-softer)}.cal-add-btn{opacity:0;transition:opacity var(--motion-fast),color var(--motion-fast),background-color var(--motion-fast)}.cal-cell:hover .cal-add-btn{opacity:1}.cal-add-btn:hover{color:var(--accent)!important;background-color:var(--accent-softer)!important}.cal-daynum{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);font-size:11.5px;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.cal-daynum[data-today=true]{background-color:var(--accent);color:#fff}.cal-event{display:flex;align-items:center;gap:4px;padding:2px 6px;border-left:2px solid var(--accent);border-radius:0 var(--radius-xs) var(--radius-xs) 0;background-color:var(--bg-hover);font-size:11px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--motion-fast),color var(--motion-fast)}.cal-event:hover{background-color:var(--bg-hover-strong);color:var(--text-primary)}.wf-canvas{background-color:var(--bg-app);background-image:radial-gradient(circle at 1px 1px,var(--chart-grid) 1px,transparent 0);background-size:20px 20px}.wf-node{background-color:var(--bg-surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.wf-node:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.wf-node[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.wf-node-header{display:flex;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--border-subtle)}.wf-node-body{padding:9px 10px;font-size:12px;color:var(--text-secondary)}.wf-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);border:1px solid var(--border-default);background-color:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:border-color var(--motion-fast),color var(--motion-fast),background-color var(--motion-fast)}.wf-add:hover{border-color:var(--accent);color:var(--accent);background-color:var(--accent-softer)}.ai-message-assistant{font-size:13px;line-height:1.6;color:var(--text-secondary);padding:2px 0 10px}.ai-message-user{background-color:var(--bg-surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:9px 11px;font-size:12.5px;color:var(--text-primary)}.ai-action-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--bg-surface);padding:11px;display:flex;flex-direction:column;gap:9px}.ai-panel{position:fixed;top:0;right:0;bottom:0;width:392px;max-width:96vw;display:flex;flex-direction:column;background-color:var(--bg-surface);border-left:1px solid var(--border-default);box-shadow:var(--shadow-overlay);z-index:1005;animation:drawerSlideIn var(--motion-slow) forwards}.ai-panel:before{content:"";position:absolute;top:0;left:-1px;width:1px;height:180px;background:linear-gradient(180deg,var(--tech),transparent);opacity:.5}.ai-suggestion{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;height:25px;padding:0 9px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background-color:var(--bg-hover);color:var(--text-secondary);font-family:inherit;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.ai-suggestion:hover{background-color:var(--bg-hover-strong);border-color:var(--accent-ring);color:var(--text-primary)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack{display:flex;flex-direction:column;gap:16px}.drawer-title-input{width:100%;border:1px solid transparent;background:transparent;padding:4px 6px;margin-left:-6px;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.35;color:var(--text-primary);resize:none;outline:none;min-height:0;field-sizing:content}.drawer-title-input:hover{background-color:var(--bg-hover)}.drawer-title-input:focus{background-color:var(--bg-inset);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.cell-input.cell-input,.cell-select.cell-select{width:100%;min-height:24px;padding:2px 5px;border:1px solid transparent;border-radius:var(--radius-xs);background-color:transparent;color:var(--text-secondary);font-family:inherit;font-size:12.5px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}.cell-select.cell-select{cursor:pointer;padding-right:4px;background-image:none;min-width:0;text-overflow:ellipsis}.cell-input.cell-input:hover,.cell-select.cell-select:hover{background-color:var(--bg-hover)}.cell-input.cell-input:focus,.cell-select.cell-select:focus{background-color:var(--bg-surface);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-softer);color:var(--text-primary)}input.cell-input[type=date]{font-size:11.5px;padding-left:4px;padding-right:2px}.cell-input::-webkit-calendar-picker-indicator{opacity:0;transition:opacity var(--motion-fast)}.cell-input:hover::-webkit-calendar-picker-indicator{opacity:.5}.cell-field{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.row-affordance{display:inline-flex;align-items:center;justify-content:flex-end;width:100%;cursor:pointer}.row-affordance-box,tr:hover .row-affordance-num{display:none}tr:hover .row-affordance-box{display:inline-block}.row-action{opacity:0}tr:hover .row-action{opacity:1}.row-action:hover{color:var(--color-danger)}.ov-priority{display:grid;grid-template-columns:1.9fr 1fr;gap:14px}.ov-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ov-detail{display:grid;grid-template-columns:1.9fr 1fr;gap:14px;align-items:start}@media (max-width: 1180px){.ov-priority,.ov-detail{grid-template-columns:1fr}.ov-metrics{grid-template-columns:repeat(2,1fr)}}.mywork-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 1060px){.mywork-grid{grid-template-columns:1fr;gap:22px}}.work-row{display:flex;align-items:center;gap:10px;padding:8px;margin:0 -8px;border-radius:var(--radius-sm);font-size:12.5px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--motion-fast)}.work-row+.work-row{box-shadow:inset 0 1px 0 var(--border-subtle)}.work-row:hover{background-color:var(--bg-hover)}.settings-layout{display:grid;grid-template-columns:186px 1fr;gap:22px;align-items:start}@media (max-width: 900px){.settings-layout{grid-template-columns:1fr}}.settings-nav{position:sticky;top:0;display:flex;flex-direction:column;gap:1px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}.mobile-only{display:none}@media (max-width: 768px){.mobile-only{display:flex}.desktop-only{display:none!important}.sidebar{position:fixed;top:0;bottom:0;left:0;width:264px;transform:translate(-100%);transition:transform .2s var(--ease-out);box-shadow:var(--shadow-overlay);z-index:900}.sidebar[data-mobile-open=true]{transform:translate(0)}.sidebar[data-collapsed=true]{width:264px}.page-header,.toolbar{padding-left:14px;padding-right:14px}.workspace-panel{display:none}}.voice-mic-button{position:relative;transition:all .18s cubic-bezier(.16,1,.3,1);color:var(--text-secondary)}.voice-mic-button:hover{color:var(--text-primary);background:var(--bg-hover)}.voice-btn-idle{color:var(--text-secondary)}.voice-btn-requesting{color:var(--color-warning);animation:voice-pulse 1.2s infinite ease-in-out}.voice-btn-listening{color:#fff!important;background:var(--color-danger)!important;box-shadow:0 0 0 3px #ef5b5b59}.voice-mic-active-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.voice-pulse-ring{position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;border:2px solid var(--color-danger);animation:voice-ripple 1.5s infinite cubic-bezier(.215,.61,.355,1)}@keyframes voice-ripple{0%{transform:scale(.9);opacity:.9}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.5);opacity:0}}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.94)}}.voice-btn-speaking{color:var(--accent-bright);background:var(--accent-soft);border:1px solid var(--accent)}.voice-speaking-icon{color:var(--accent-bright)}.voice-btn-processing{color:var(--tech);background:var(--tech-soft);animation:voice-pulse .9s infinite ease-in-out}.voice-speech-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;margin:6px 12px;background:var(--bg-surface-raised);border:1px solid var(--border-default);border-left:3px solid var(--accent);border-radius:6px;font-size:11.5px;color:var(--text-primary);animation:fadeIn .2s ease-out}.voice-speech-status{display:flex;align-items:center;gap:6px;font-weight:500}.voice-speech-icon{color:var(--accent)}.voice-speech-actions{display:flex;align-items:center;gap:6px}.voice-ctrl-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:4px}.voice-ctrl-stop{color:var(--color-danger);border-color:#ef5b5b4d}.voice-ctrl-stop:hover{background:#ef5b5b1f}.voice-replay-btn{opacity:.6;transition:opacity .15s ease;padding:3px 5px}.voice-replay-btn:hover{opacity:1;color:var(--accent)}.voice-interim-banner{padding:6px 10px;margin:4px 12px;background:var(--bg-inset);border:1px dashed var(--accent);border-radius:6px;font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;animation:fadeIn .15s ease-out}.voice-live-dot{width:6px;height:6px;border-radius:50%;background:var(--color-danger);animation:voice-pulse 1s infinite;flex-shrink:0}.voice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease-out}.voice-modal-card{width:100%;max-width:440px;background:var(--bg-modal);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 16px 36px #00000073;overflow:hidden;display:flex;flex-direction:column}.voice-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface)}.voice-modal-body{padding:16px;display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow-y:auto}.voice-modal-footer{display:flex;justify-content:flex-end;padding:10px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.voice-setting-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.voice-setting-label{display:flex;flex-direction:column;gap:2px}.voice-setting-desc{font-size:11px;color:var(--text-muted);margin:0}.voice-setting-field{display:flex;flex-direction:column;gap:4px}.voice-setting-divider{height:1px;background:var(--border-subtle);margin:4px 0}.voice-security-note{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--bg-inset);border-radius:6px;border:1px solid var(--border-subtle);font-size:10.5px;color:var(--text-muted)}.voice-toggle-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.voice-toggle-switch input{opacity:0;width:0;height:0}.voice-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-surface-raised);border:1px solid var(--border-default);transition:.18s ease;border-radius:20px}.voice-toggle-slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:var(--text-secondary);transition:.18s ease;border-radius:50%}.voice-toggle-switch input:checked+.voice-toggle-slider{background-color:var(--accent);border-color:var(--accent)}.voice-toggle-switch input:checked+.voice-toggle-slider:before{transform:translate(16px);background-color:#fff}@page{size:auto;margin:0!important}@media print{@page{size:auto;margin:0!important}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
