@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:19px;--fs-xl:24px;--fs-2xl:28px;--bg:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--surface-hover:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eaf1fe;--accent-contrast:#fff;--success:#16a34a;--success-soft:#e9f8ee;--warning:#d97706;--warning-soft:#fdf3e3;--danger:#dc2626;--danger-soft:#fdeceb;--info:#0284c7;--info-soft:#e6f4fb;--color-bg:var(--bg);--color-surface:var(--surface);--color-surface-secondary:var(--surface-2);--color-surface-hover:var(--surface-hover);--color-border:var(--border);--color-border-strong:var(--border-strong);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-tertiary);--color-accent:var(--accent);--color-accent-hover:var(--accent-hover);--color-accent-subtle:var(--accent-soft);--color-success:var(--success);--color-success-subtle:var(--success-soft);--color-warning:var(--warning);--color-warning-subtle:var(--warning-soft);--color-danger:var(--danger);--color-danger-subtle:var(--danger-soft);--color-info:var(--info);--color-info-subtle:var(--info-soft);--chart-series-1:#2a78d6;--chart-series-2:#eb6834;--chart-series-3:#1baf7a;--chart-series-4:#eda100;--chart-series-5:#e87ba4;--chart-series-6:#008300;--chart-series-7:#4a3aa7;--chart-series-8:#e34948;--chart-grid:var(--border);--chart-axis:var(--border-strong);--chart-muted:var(--text-tertiary);--shadow-sm:0 1px 2px #0f0f140f;--shadow-md:0 4px 16px #0f0f1414;--shadow-lg:0 12px 32px #0f0f1424;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font:var(--fs-base)/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b1120;--surface:#131b2e;--surface-2:#182338;--surface-hover:#1c2740;--border:#263149;--border-strong:#37435e;--text-primary:#eef2f9;--text-secondary:#9aa7bd;--text-tertiary:#6b7994;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-soft:#3b82f629;--accent-contrast:#fff;--success:#34d399;--success-soft:#34d39924;--warning:#f2a93c;--warning-soft:#f2a93c24;--danger:#f37070;--danger-soft:#f3707024;--info:#38bdf8;--info-soft:#38bdf824;--chart-series-1:#3987e5;--chart-series-2:#d95926;--chart-series-3:#199e70;--chart-series-4:#c98500;--chart-series-5:#d55181;--chart-series-6:#008300;--chart-series-7:#9085e9;--chart-series-8:#e66767;--chart-grid:var(--border);--chart-axis:var(--border-strong);--chart-muted:var(--text-tertiary);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 16px 40px #00000080}}*{box-sizing:border-box}body{margin:0}::selection{background:var(--accent-soft)}a{color:inherit}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{font-family:var(--sans);color:var(--text-primary);margin:0}h1{font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:650}h2{font-size:var(--fs-md);font-weight:650}h3{font-size:var(--fs-base);font-weight:600}p{margin:0}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary);font-size:var(--fs-xs)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:248px;padding:var(--sp-3);flex-direction:column;flex-shrink:0;height:100vh;transition:width .15s;display:flex;position:sticky;top:0}.sidebar.collapsed{width:68px}.sidebar-brand{align-items:center;gap:var(--sp-2);padding:var(--sp-2);margin-bottom:var(--sp-4);color:var(--text-primary);min-width:0;text-decoration:none;display:flex}.sidebar-brand-mark{border-radius:var(--radius-sm);background:var(--accent);width:26px;height:26px;color:var(--accent-contrast);font-weight:700;font-size:var(--fs-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-brand-name{font-weight:650;font-size:var(--fs-md);white-space:nowrap;letter-spacing:-.01em;overflow:hidden}.sidebar.collapsed .sidebar-brand-name,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-section-title{display:none}.sidebar.collapsed .sidebar-brand{padding:var(--sp-2) 0;justify-content:center}.sidebar.collapsed .sidebar-footer{justify-content:center}.sidebar-section{margin-bottom:var(--sp-5);flex-direction:column;gap:1px;display:flex}.sidebar-section-scroll{flex:1;min-height:0;overflow-y:auto}.sidebar-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:var(--sp-2) var(--sp-2) 4px;font-size:11px;font-weight:650}.nav-item{align-items:center;gap:var(--sp-2);padding:7px var(--sp-2);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-base);white-space:nowrap;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar.collapsed .nav-item{justify-content:center;padding:8px}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sidebar-footer{padding-top:var(--sp-2);border-top:1px solid var(--border);margin-top:auto;display:flex}.sidebar-collapse-btn{align-items:center;gap:var(--sp-2);width:100%;color:var(--text-tertiary);cursor:pointer;padding:7px var(--sp-2);border-radius:var(--radius-md);font-size:var(--fs-sm);background:0 0;border:none;font-weight:500;display:flex}.sidebar-collapse-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-collapse-btn svg.flip{transform:rotate(180deg)}.topbar{justify-content:space-between;align-items:center;gap:var(--sp-4);height:56px;padding:0 var(--sp-5);background:var(--surface);border-bottom:1px solid var(--border);z-index:40;flex-shrink:0;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.topbar-breadcrumb{font-size:var(--fs-sm);align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.topbar-crumb{white-space:nowrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.topbar-crumb a,.topbar-crumb-current{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:220px;display:inline-block;overflow:hidden}.topbar-crumb a{color:var(--text-secondary);font-weight:500;text-decoration:none}.topbar-crumb a:hover{color:var(--text-primary)}.topbar-crumb-sep{color:var(--text-tertiary);flex-shrink:0}.topbar-crumb-current{color:var(--text-primary);font-weight:650}.mobile-menu-btn{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);background:0 0;flex-shrink:0;padding:6px 8px;display:none}.topbar-right{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.topbar-search{background:var(--surface-2);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--fs-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:7px;min-width:168px;padding:6px 8px 6px 10px;display:inline-flex}.topbar-search:hover{border-color:var(--border-strong);color:var(--text-secondary)}.topbar-search-label{text-align:left;flex:1}.topbar-kbd{color:var(--text-tertiary);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600}.topbar-user{position:relative}.topbar-user-trigger{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:4px;padding:4px;display:inline-flex}.topbar-user-trigger:hover{background:var(--surface-hover)}.topbar-user-chevron{color:var(--text-tertiary)}.topbar-user-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-lg);z-index:70;padding:var(--sp-1);position:absolute;top:calc(100% + 8px);right:0}.topbar-user-menu-header{padding:var(--sp-2) var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);margin-bottom:4px}.topbar-user-menu-name{font-size:var(--fs-sm);color:var(--text-primary);font-weight:650}.topbar-user-menu-email{font-size:var(--fs-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-user-menu-item{align-items:center;gap:var(--sp-2);text-align:left;width:100%;padding:7px var(--sp-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:none;display:flex}.topbar-user-menu-item:hover{background:var(--surface-hover)}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.content{padding:var(--sp-6) var(--sp-7);flex:1;width:100%;max-width:1320px;margin:0 auto}@media (width<=900px){.sidebar{display:none}.sidebar.mobile-open{z-index:50;width:248px;box-shadow:var(--shadow-lg);display:flex;position:fixed;inset:0 auto 0 0}.sidebar-scrim{z-index:45;background:#00000059;position:fixed;inset:0}.mobile-menu-btn{display:inline-flex}.topbar-search-label,.topbar-kbd{display:none}.topbar-search{min-width:0;padding:6px}.content{padding:var(--sp-4)}.topbar-crumb:not(:last-child){display:none}.topbar-crumb-current,.topbar-crumb a{max-width:46vw}}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.page-header-text h1{margin-bottom:2px}.page-header-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.breadcrumb{font-size:var(--fs-sm);color:var(--text-tertiary);margin-bottom:var(--sp-2);align-items:center;gap:6px;display:flex}.breadcrumb a{color:var(--text-tertiary);text-decoration:none}.breadcrumb a:hover{color:var(--text-primary)}.page-loading{padding:var(--sp-6) 0}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:var(--radius-md);font-size:var(--fs-base);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:7px 13px;font-weight:550;line-height:1.3;text-decoration:none;transition:background .12s,border-color .12s,color .12s,transform 60ms;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:0 1px 2px #2563eb29}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--accent-soft);color:var(--accent);border-color:#0000}.btn-secondary:hover{background:var(--accent-soft);border-color:var(--accent);filter:brightness(.97)}.btn-outline{border-color:var(--border-strong);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--surface-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-hover);border-color:#0000}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-small{font-size:var(--fs-sm);padding:4px 9px}.btn-icon{padding:6px}.btn-spinner{opacity:.7;border:2px solid;border-top-color:#0000;border-radius:50%;width:13px;height:13px;animation:.6s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation-duration:1.4s}}.icon-btn{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.icon-btn:active{transform:translateY(.5px)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn-sm{width:26px;height:26px}.icon-btn-md{width:32px;height:32px}.icon-btn-lg{width:38px;height:38px}.icon-btn-outline{border-color:var(--border);background:var(--surface)}.icon-btn-outline:hover{border-color:var(--border-strong)}.icon-btn-active,.icon-btn-active:hover{background:var(--accent-soft);color:var(--accent)}.field{font-size:var(--fs-sm);color:var(--text-secondary);flex-direction:column;gap:5px;display:flex}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--fs-base);background:var(--surface);color:var(--text-primary);padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field label{color:var(--text-secondary);font-weight:600}.field-invalid input,.field-invalid select,.field-invalid textarea,.input-error{border-color:var(--danger)}.field-invalid input:focus,.field-invalid select:focus,.field-invalid textarea:focus,.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.field-error-text{color:var(--danger);font-size:var(--fs-xs)}.field-hint-text{color:var(--text-tertiary);font-size:var(--fs-xs)}.select-wrap{position:relative}.select-wrap select{appearance:none;width:100%;padding-right:28px}.select-wrap .select-chevron{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.inline-form{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.inline-form input,.inline-form select{flex:1;min-width:180px}.search-box{min-width:220px;position:relative}.search-box input{width:100%;padding-left:30px}.search-box svg{color:var(--text-tertiary);position:absolute;top:50%;left:9px;transform:translateY(-50%)}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:360px;padding:var(--sp-7);gap:var(--sp-3);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.auth-brand{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.auth-card h1{font-size:var(--fs-lg)}.auth-subtitle{color:var(--text-secondary);margin-bottom:var(--sp-2);font-size:var(--fs-sm)}.auth-switch{font-size:var(--fs-sm);text-align:center;margin-top:var(--sp-1);color:var(--text-secondary)}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.error-banner{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-md);margin-bottom:var(--sp-3);font-size:var(--fs-sm);padding:9px 12px}.info-banner{background:var(--info-soft);color:var(--info);border-radius:var(--radius-md);margin-bottom:var(--sp-3);font-size:var(--fs-sm);padding:9px 12px}.card-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);color:inherit;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:block}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.card-subtext{color:var(--text-tertiary);font-size:var(--fs-xs);margin-top:2px;display:block}.section{margin-bottom:var(--sp-7)}.section-header{margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;display:flex}.section-header h2{font-size:var(--fs-md)}.ds-section{margin-bottom:var(--sp-7)}.ds-section-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-3);display:flex}.ds-section-header h2{font-size:var(--fs-md);margin-bottom:2px}.ds-section-description{font-size:var(--fs-sm);color:var(--text-secondary)}.ds-section-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.ds-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.ds-card-padded{padding:var(--sp-4)}.badge{background:var(--surface-2);color:var(--text-secondary);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:650;line-height:1.6;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.avatar{background:var(--accent);color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.avatar-sm{width:20px;height:20px}.avatar-md{width:28px;height:28px;font-size:11px}.avatar-lg{width:40px;height:40px;font-size:15px}.avatar-stack{display:flex}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.kpi-row{gap:var(--sp-3);margin-bottom:var(--sp-7);grid-template-columns:repeat(4,1fr);display:grid}.kpi-row-5{grid-template-columns:repeat(5,1fr)}@media (width<=1100px){.kpi-row-5{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.kpi-row-5{grid-template-columns:repeat(2,1fr)}}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;transition:border-color .12s,box-shadow .12s;display:flex}.kpi-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.kpi-top{justify-content:space-between;align-items:center;display:flex}.kpi-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);justify-content:center;align-items:center;display:flex}.kpi-value{font-size:var(--fs-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700}.kpi-label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.kpi-icon-warn{background:var(--warning-soft);color:var(--warning)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table-scroll{overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-base);min-width:640px}.data-table thead th{text-align:left;padding:10px var(--sp-4);text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--surface);font-size:11px;font-weight:650;position:sticky;top:0}.data-table tbody td{padding:11px var(--sp-4);border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table .row-link{color:inherit;text-decoration:none;display:block}.cell-primary{color:var(--text-primary);font-weight:600}.cell-muted{color:var(--text-tertiary);font-size:var(--fs-sm)}.progress-bar{background:var(--surface-hover);vertical-align:middle;width:80px;height:6px;margin-right:var(--sp-2);border-radius:999px;display:inline-block;overflow:hidden}.progress-bar-fill{background:var(--accent);border-radius:999px;height:100%}.toolbar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.empty-state{text-align:center;padding:var(--sp-8) var(--sp-4);color:var(--text-secondary);border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface)}.empty-state-icon{background:var(--surface-hover);width:40px;height:40px;color:var(--text-tertiary);margin:0 auto var(--sp-3);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-state h3{margin-bottom:4px}.empty-state p{font-size:var(--fs-sm);margin-bottom:var(--sp-3)}.skeleton{background:linear-gradient(90deg, var(--surface-hover) 25%, var(--border) 37%, var(--surface-hover) 63%);border-radius:var(--radius-md);background-size:400% 100%;animation:1.4s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0}}.skeleton-kpi-row{gap:var(--sp-3);margin-bottom:var(--sp-7);grid-template-columns:repeat(4,1fr);display:grid}.skeleton-kpi{border-radius:var(--radius-lg);height:84px}.skeleton-row{border-radius:var(--radius-md);height:44px;margin-bottom:var(--sp-2)}.skeleton-line{height:14px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.modal-overlay{z-index:100;padding:var(--sp-4);background:#0a0a0e73;justify-content:center;align-items:center;animation:.12s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius-lg);width:400px;max-width:100%;box-shadow:var(--shadow-lg);animation:.14s modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.modal-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{margin:0}.modal-close{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{padding:var(--sp-5)}.modal-form{gap:var(--sp-3);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);display:flex}.modal-sm{width:320px}.modal-md{width:400px}.modal-lg{width:560px}.drawer-overlay{z-index:100;background:#0a0a0e73;justify-content:flex-end;animation:.12s fade-in;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);max-width:100%;height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s drawer-in;display:flex}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-header h2{margin:0}.drawer-body{padding:var(--sp-5);flex:1;overflow-y:auto}.drawer-footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);flex-shrink:0;display:flex}.tooltip-wrap{display:inline-flex;position:relative}.tooltip-wrap:after{content:attr(data-tooltip);background:var(--text-primary);color:var(--bg);font-size:var(--fs-xs);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;z-index:300;padding:4px 8px;font-weight:500;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,4px)}.tooltip-wrap:hover:after,.tooltip-wrap:focus-within:after{opacity:1;transform:translate(-50%)}.tooltip-wrap.tooltip-bottom:after{top:calc(100% + 7px);bottom:auto;transform:translate(-50%,-4px)}.tooltip-wrap.tooltip-bottom:hover:after,.tooltip-wrap.tooltip-bottom:focus-within:after{transform:translate(-50%)}.ds-tabs{gap:var(--sp-1);scrollbar-width:none;border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.ds-tabs::-webkit-scrollbar{display:none}.ds-tab{margin-right:var(--sp-5);color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 4px;font-family:inherit;font-weight:550;text-decoration:none}.ds-tab:hover{color:var(--text-primary)}.ds-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.toast-stack{bottom:var(--sp-5);right:var(--sp-5);gap:var(--sp-2);z-index:200;flex-direction:column;display:flex;position:fixed}.toast{background:var(--text-primary);color:var(--bg);border-radius:var(--radius-md);font-size:var(--fs-sm);box-shadow:var(--shadow-md);padding:10px 16px;animation:.16s toast-in}.toast.toast-error{background:var(--danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.project-header{border-bottom:1px solid var(--border);background:var(--surface);padding:var(--sp-5) var(--sp-7) 0}.project-header-top{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.project-title-row{align-items:center;gap:var(--sp-2);display:flex}.project-tabs{gap:var(--sp-1);scrollbar-width:none;display:flex;overflow-x:auto}.project-tabs::-webkit-scrollbar{display:none}.project-tab{margin-right:var(--sp-5);color:var(--text-secondary);font-size:var(--fs-base);white-space:nowrap;border-bottom:2px solid #0000;padding:9px 4px;font-weight:550;text-decoration:none}.project-tab:hover{color:var(--text-primary)}.project-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.project-body{padding:var(--sp-6) var(--sp-7)}@media (width<=900px){.project-header{padding:var(--sp-4) var(--sp-4) 0}.project-body{padding:var(--sp-4)}}.board-toolbar{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.board{gap:var(--sp-3);padding-bottom:var(--sp-2);grid-template-columns:repeat(5,minmax(230px,1fr));display:grid;overflow-x:auto}.board-column{background:var(--bg);border-radius:var(--radius-lg);padding:var(--sp-2);min-height:160px;transition:background .15s}.board-column.drop-hover{background:var(--accent-soft)}.board-column-header{justify-content:space-between;align-items:center;padding:6px 8px 10px;display:flex}.board-column-header h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.column-count{background:var(--surface);border:1px solid var(--border);color:var(--text-tertiary);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:650}.board-column-body{gap:var(--sp-2);flex-direction:column;min-height:40px;display:flex}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3);cursor:grab;gap:var(--sp-2);flex-direction:column;transition:border-color .12s,box-shadow .12s;display:flex}.task-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.task-title{font-size:var(--fs-base);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:550;line-height:1.35}.task-card-footer{align-items:center;gap:var(--sp-2);display:flex}.priority-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.task-meta-chip{font-size:var(--fs-xs);color:var(--text-tertiary);align-items:center;gap:3px;display:inline-flex}.task-meta-chip.overdue{color:var(--danger)}.backlog-list{flex-direction:column;gap:5px;display:flex}.backlog-row{align-items:center;gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px var(--sp-3);display:flex}.drag-handle{cursor:grab;color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.backlog-title{text-align:left;color:var(--text-primary);font-size:var(--fs-base);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-weight:500;overflow:hidden}.backlog-row select{border-radius:var(--radius-sm);font-size:var(--fs-xs);padding:4px 6px}.task-detail-grid{gap:var(--sp-6);grid-template-columns:1fr 240px;display:grid}.task-main>section{margin-bottom:var(--sp-6)}.task-description{resize:vertical;width:100%;min-height:80px}.comment-list{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-direction:column;display:flex}.comment{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3)}.comment-time{color:var(--text-tertiary);font-size:var(--fs-xs);margin-left:var(--sp-2)}.comment p{margin-top:4px}.mention-chip{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-sm);padding:0 4px;font-weight:600;display:inline-block}.mention-input-wrap{flex:1;position:relative}.mention-input-wrap input{width:100%}.mention-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;max-height:240px;box-shadow:var(--shadow-md);padding:var(--sp-1);z-index:60;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.mention-menu-item{align-items:center;gap:var(--sp-2);text-align:left;width:100%;padding:6px var(--sp-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:none;display:flex}.mention-menu-item.active,.mention-menu-item:hover{background:var(--accent-soft)}.notification-bell{flex-shrink:0;position:relative}.notification-bell-btn{position:relative}.notification-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-6px}.notification-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:320px;max-width:80vw;box-shadow:var(--shadow-lg);z-index:70;flex-direction:column;max-height:420px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.notification-panel-header{padding:var(--sp-3) var(--sp-3) var(--sp-2);border-bottom:1px solid var(--border);font-weight:650;font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}.notification-panel-list{padding:var(--sp-1);overflow-y:auto}.notification-panel-empty{padding:var(--sp-5) var(--sp-3);text-align:center;color:var(--text-tertiary);font-size:var(--fs-sm)}.notification-item{align-items:flex-start;gap:var(--sp-2);text-align:left;width:100%;padding:var(--sp-2);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;display:flex}.notification-item:hover{background:var(--surface-hover)}.notification-item.unread .notification-item-body p{font-weight:650}.notification-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px}.notification-item-body{min-width:0}.notification-item-body p{font-size:var(--fs-sm);color:var(--text-primary);margin:0}.notification-item-time{font-size:var(--fs-xs);color:var(--text-tertiary)}.notification-load-more{text-align:center;width:100%;padding:var(--sp-2)}.attachment-list{margin:0 0 var(--sp-3);padding:0;list-style:none}.attachment-list li{padding:var(--sp-2) 0;border-bottom:1px solid var(--border);justify-content:space-between;display:flex}.link-button{color:var(--accent);cursor:pointer;font-size:var(--fs-base);text-align:left;background:0 0;border:none;padding:0}.attachment-size{color:var(--text-tertiary);font-size:var(--fs-xs)}.task-sidebar{gap:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);flex-direction:column;align-self:flex-start;display:flex}.timeline{margin-top:var(--sp-2)}.timeline-axis{font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:var(--sp-3);justify-content:space-between;display:flex}.timeline-row{align-items:center;gap:var(--sp-3);margin-bottom:10px;display:flex}.timeline-label{width:180px;font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-weight:500;overflow:hidden}.timeline-track{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;height:22px;position:relative}.timeline-bar{background:var(--accent);border-radius:4px;position:absolute;top:2px;bottom:2px}.timeline-bar.status-done{background:var(--success)}.timeline-bar.status-in_progress{background:var(--warning)}.timeline-bar.status-review{background:var(--info)}.document-title-input{width:100%;font-size:var(--fs-xl);padding:0 0 var(--sp-3);margin-bottom:var(--sp-3);border:none;border-bottom:1px solid var(--border);background:0 0;font-weight:650}.document-title-input:focus{box-shadow:none;outline:none}.document-content{width:100%;min-height:60vh;font-size:var(--fs-md);resize:none;background:0 0;border:none;line-height:1.65}.document-content:focus{box-shadow:none;outline:none}.save-status{font-size:var(--fs-xs);color:var(--text-tertiary)}.documents-shell{margin:calc(var(--sp-5) * -1) calc(var(--sp-6) * -1);gap:0;height:calc(100vh - 64px);display:flex}.documents-sidebar{border-right:1px solid var(--border);width:260px;padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.documents-content{min-width:0;padding:var(--sp-5) var(--sp-6);flex:1;overflow-y:auto}.doc-search{position:relative}.doc-search-results{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);max-height:320px;padding:var(--sp-1);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.doc-search-empty{padding:var(--sp-3);color:var(--text-tertiary);font-size:var(--fs-sm)}.doc-search-result{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:var(--fs-sm);align-items:center;gap:6px;padding:7px 8px;display:flex}.doc-search-result:hover{background:var(--surface-hover)}.doc-search-result-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.doc-search-result-path{color:var(--text-tertiary);font-size:var(--fs-xs);flex-shrink:0}.doc-tree{gap:var(--sp-3);flex-direction:column;display:flex}.doc-tree-actions{gap:6px;display:flex}.doc-tree-section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);align-items:center;gap:5px;margin-bottom:4px;padding:0 4px;font-weight:650;display:flex}.doc-tree-section-toggle{text-align:left;cursor:pointer;background:0 0;border:none;width:100%}.doc-tree-empty{font-size:var(--fs-sm);padding:0 4px}.doc-tree-loading,.doc-tree-error{padding:var(--sp-3);font-size:var(--fs-sm);color:var(--text-tertiary)}.doc-tree-row{border-radius:var(--radius-sm);align-items:center;gap:2px;display:flex;position:relative}.doc-tree-row:hover{background:var(--surface-hover)}.doc-tree-row.active{background:var(--accent-soft)}.doc-tree-row.active .doc-tree-label{color:var(--accent)}.doc-tree-caret,.doc-tree-caret-spacer{width:18px;height:26px;color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.doc-tree-label{min-width:0;font-size:var(--fs-sm);color:var(--text-secondary);text-align:left;flex:1;align-items:center;gap:6px;padding:5px 4px;display:flex}.doc-tree-label span:not(.doc-tree-flag){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.doc-tree-folder-label{color:var(--text-primary);font-weight:550}.doc-tree-flag{color:var(--accent);flex-shrink:0}.doc-tree-row .doc-context-menu{opacity:0;flex-shrink:0}.doc-tree-row:hover .doc-context-menu,.doc-tree-row .doc-context-menu:focus-within{opacity:1}.doc-context-menu{position:relative}.doc-context-menu-trigger{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.doc-context-menu-trigger:hover{background:var(--surface-hover);color:var(--text-primary)}.doc-context-menu-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;padding:var(--sp-1);flex-direction:column;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000024}.doc-context-menu-item{text-align:left;border-radius:var(--radius-sm);width:100%;font-size:var(--fs-sm);color:var(--text-primary);align-items:center;gap:8px;padding:7px 9px;display:flex}.doc-context-menu-item:hover:not(:disabled){background:var(--surface-hover)}.doc-context-menu-item:disabled{color:var(--text-tertiary);cursor:not-allowed}.doc-context-menu-item.danger{color:var(--danger)}.doc-context-menu-divider{background:var(--border);height:1px;margin:4px 2px}.slash-menu{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:240px;max-height:320px;padding:var(--sp-1);overflow-y:auto;box-shadow:0 12px 28px #0000002e}.slash-menu-item{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:6px 10px;display:flex}.slash-menu-item.active,.slash-menu-item:hover{background:var(--accent-soft)}.slash-menu-item-label{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.slash-menu-item-hint{font-size:var(--fs-xs);color:var(--text-tertiary)}.slash-menu-empty{padding:var(--sp-3);font-size:var(--fs-sm);color:var(--text-tertiary)}.document-editor-layout{gap:var(--sp-6);grid-template-columns:1fr 260px;align-items:start;display:grid}.document-editor-main{min-width:0}.document-editor-sidebar{position:sticky;top:0}@media (width<=900px){.document-editor-layout{grid-template-columns:1fr}}.tiptap-toolbar{padding-bottom:var(--sp-2);margin-bottom:var(--sp-2);border-bottom:1px solid var(--border);align-items:center;gap:4px;display:flex}.tiptap-toolbar-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:700}.tiptap-toolbar-btn:hover{background:var(--surface-hover)}.tiptap-toolbar-btn.active{background:var(--accent-soft);color:var(--accent)}.tiptap-toolbar-hint{color:var(--text-tertiary);font-size:var(--fs-xs);align-items:center;gap:4px;margin-left:auto;display:flex}.tiptap-wrap .ProseMirror{min-height:55vh;font-size:var(--fs-md);outline:none;line-height:1.65}.tiptap-wrap .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--text-tertiary);pointer-events:none}.tiptap-wrap .ProseMirror h1{font-size:var(--fs-2xl);margin:var(--sp-4) 0 var(--sp-2)}.tiptap-wrap .ProseMirror h2{font-size:var(--fs-xl);margin:var(--sp-4) 0 var(--sp-2)}.tiptap-wrap .ProseMirror h3{font-size:var(--fs-lg);margin:var(--sp-3) 0 var(--sp-1)}.tiptap-wrap .ProseMirror p{margin:0 0 var(--sp-2)}.tiptap-wrap .ProseMirror ul,.tiptap-wrap .ProseMirror ol{margin:0 0 var(--sp-2);padding-left:1.4em}.tiptap-wrap .ProseMirror ul[data-type=taskList]{padding-left:.2em;list-style:none}.tiptap-wrap .ProseMirror ul[data-type=taskList] li{align-items:flex-start;gap:6px;display:flex}.tiptap-wrap .ProseMirror ul[data-type=taskList] li>label{margin-top:3px}.tiptap-wrap .ProseMirror blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);padding:var(--sp-2) var(--sp-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0 0 var(--sp-2);color:var(--text-secondary)}.tiptap-wrap .ProseMirror pre{background:var(--surface-hover);border-radius:var(--radius-md);padding:var(--sp-3);font-family:var(--mono,monospace);font-size:var(--fs-sm);margin:0 0 var(--sp-2);overflow-x:auto}.tiptap-wrap .ProseMirror code{background:var(--surface-hover);border-radius:4px;padding:1px 4px;font-size:.9em}.tiptap-wrap .ProseMirror pre code{background:0 0;padding:0}.tiptap-wrap .ProseMirror img{border-radius:var(--radius-sm);max-width:100%}.tiptap-wrap .ProseMirror table{border-collapse:collapse;width:100%;margin:0 0 var(--sp-3);overflow:hidden}.tiptap-wrap .ProseMirror th,.tiptap-wrap .ProseMirror td{border:1px solid var(--border);font-size:var(--fs-sm);vertical-align:top;padding:6px 9px}.tiptap-wrap .ProseMirror th{background:var(--surface-hover);text-align:left;font-weight:650}.tiptap-wrap .ProseMirror a{color:var(--accent)}.linked-tasks-panel{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3)}.linked-tasks-panel h3{margin-bottom:var(--sp-2);align-items:center;gap:6px;display:flex}.linked-task-row{border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-primary);align-items:center;gap:6px;padding:6px 4px;display:flex}.linked-task-row:hover{background:var(--surface-hover)}.linked-task-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.linked-task-status{color:var(--text-tertiary);font-size:var(--fs-xs)}.version-list{flex-direction:column;gap:2px;display:flex}.version-row{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-primary);align-items:center;gap:8px;padding:8px 6px;display:flex}.version-row:hover{background:var(--surface-hover)}.version-row-editor{font-weight:600;font-size:var(--fs-sm)}.version-row-time{color:var(--text-tertiary);font-size:var(--fs-xs);margin-left:auto}.version-preview-meta{color:var(--text-tertiary);font-size:var(--fs-xs);margin:var(--sp-2) 0}.version-preview-content{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3);max-height:50vh;margin-bottom:var(--sp-3);overflow-y:auto}.activity-card{padding:var(--sp-2) var(--sp-4)}.activity-list{flex-direction:column;display:flex}.activity-item{gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border);display:flex}.activity-item:last-child{border-bottom:none}.activity-item-body{min-width:0}.activity-icon{background:var(--surface-2);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-text{font-size:var(--fs-base)}.activity-text a{color:var(--text-primary);font-weight:600;text-decoration:none}.activity-text a:hover{color:var(--accent)}.activity-text strong{font-weight:600}.activity-time{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px}.table-sort-header{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;display:inline-flex}.task-filter-bar{align-items:center;gap:var(--sp-2);flex-wrap:wrap;flex:1;display:flex}.task-filter-select{min-width:130px;margin:0}.task-filter-select select{font-size:var(--fs-sm);padding:6px 26px 6px 10px}.filter-clear-btn{color:var(--text-tertiary);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.filter-clear-btn:hover{color:var(--text-primary)}.task-type-badge{font-size:var(--fs-xs);align-items:center;gap:4px;font-weight:600;display:inline-flex}.task-key{font-size:var(--fs-xs);color:var(--text-tertiary);letter-spacing:.02em;font-weight:600}.task-card-top{justify-content:space-between;align-items:center;display:flex}.task-parent-link{font-size:var(--fs-xs);color:var(--text-tertiary);align-items:center;gap:3px;display:inline-flex}.label-chip-row{flex-wrap:wrap;gap:4px;display:inline-flex}.label-chip{font-weight:600}.board-column-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.column-reorder-btns{gap:2px;margin-left:auto;display:inline-flex}.column-reorder-btns button{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.column-reorder-btns button:disabled{opacity:.3;cursor:default}.column-reorder-btns button:not(:disabled):hover{color:var(--text-primary)}.add-column{padding-top:var(--sp-2);background:0 0;justify-content:center;align-items:flex-start;display:flex}.add-column-btn{border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;font-size:var(--fs-sm);background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 12px;display:inline-flex}.add-column-btn:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.add-column-form{gap:var(--sp-2);flex-direction:column;width:100%;display:flex}.backlog-row-select{align-items:center;display:flex}.bulk-action-bar{bottom:var(--sp-3);align-items:center;gap:var(--sp-3);background:var(--text-primary);color:var(--surface);border-radius:var(--radius-lg);padding:10px var(--sp-4);box-shadow:var(--shadow-lg);margin-top:var(--sp-3);flex-wrap:wrap;display:flex;position:sticky}.bulk-action-bar strong{font-weight:650}.bulk-action-bar select{font-size:var(--fs-sm)}.bulk-action-bar .btn-ghost{color:var(--surface)}.subtask-list{margin-bottom:var(--sp-2);flex-direction:column;gap:6px;display:flex}.subtask-row{align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 10px;display:flex}.subtask-row a{color:var(--text-primary);flex:1;text-decoration:none}.subtask-row a:hover{color:var(--accent)}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);margin-bottom:var(--sp-4);max-width:560px}.settings-section h2{font-size:var(--fs-md);margin-bottom:4px}.settings-section p{color:var(--text-secondary);font-size:var(--fs-sm);margin-bottom:var(--sp-3)}.settings-section.danger{border-color:var(--danger-soft)}.settings-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.settings-section.wide{max-width:860px}.settings-section-danger .ds-section-header h2{color:var(--danger)}.settings-inline-code{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);word-break:break-all;font-size:var(--fs-sm);flex:1;padding:8px 10px}.webhook-create-form,.automation-rule-form{flex-direction:column;align-items:flex-start;gap:0;display:flex}.webhook-create-form select,.automation-rule-form select{margin-top:6px}.custom-fields-list{flex-direction:column;gap:6px;display:flex}.task-detail-custom-fields{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.public-project-page{background:var(--bg,var(--surface-2,#f6f6f9));min-height:100vh;padding:var(--sp-5) var(--sp-3);justify-content:center;display:flex}.public-project-inner{width:100%;max-width:760px}.public-project-brand{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--sp-3);letter-spacing:.01em;font-weight:600}@media (width<=720px){.board{grid-template-columns:1fr!important}.task-detail-grid{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=1100px) and (width>=721px){.board{grid-auto-columns:minmax(250px,300px);grid-auto-flow:column;grid-template-columns:none!important}}@media (width<=900px){.documents-shell{flex-direction:column;height:auto}.documents-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:40vh}.documents-content{padding:var(--sp-4)}}.sprint-start-panel{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);flex-direction:column;display:flex}.sprint-start-row{gap:var(--sp-2);align-items:center;display:flex}.sprint-header-bar{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.sprint-name{font-size:var(--fs-lg);margin-bottom:2px}.sprint-goal{margin-bottom:2px}.backlog-move-sprint{border-radius:var(--radius-sm);font-size:var(--fs-xs);max-width:140px;padding:4px 6px}.roadmap-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.roadmap-filters{gap:var(--sp-2);flex-wrap:wrap;flex:1;align-items:center;display:flex}.roadmap-view-toggle{border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.roadmap-view-toggle button{background:var(--surface);font-size:var(--fs-sm);cursor:pointer;color:var(--text-secondary);border:none;padding:6px 12px}.roadmap-view-toggle button.active{background:var(--accent);color:var(--accent-contrast)}.roadmap-view-toggle button+button{border-left:1px solid var(--border)}.roadmap-timeline-axis{font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:var(--sp-2);justify-content:space-between;padding-left:200px;display:flex}.roadmap-row{align-items:center;gap:var(--sp-3);margin-bottom:10px;display:flex}.roadmap-row-label{flex-shrink:0;width:188px;overflow:hidden}.roadmap-row-label .title{font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;font-weight:550;display:block;overflow:hidden}.roadmap-row-label .owner{font-size:var(--fs-xs);color:var(--text-tertiary)}.roadmap-track{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;height:26px;position:relative}.roadmap-bar{cursor:pointer;color:#fff;white-space:nowrap;border-radius:4px;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.roadmap-bar.status-planned{background:var(--text-tertiary)}.roadmap-bar.status-in_progress{background:var(--info)}.roadmap-bar.status-completed{background:var(--success)}.roadmap-bar.status-at_risk{background:var(--danger)}.roadmap-milestone-marker{background:var(--warning);border:1px solid var(--surface);cursor:pointer;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.roadmap-milestones-row{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.roadmap-legend{gap:var(--sp-3);margin-top:var(--sp-4);font-size:var(--fs-xs);color:var(--text-secondary);flex-wrap:wrap;align-items:center;display:flex}.roadmap-legend-item{align-items:center;gap:5px;display:inline-flex}.roadmap-legend-dot{border-radius:3px;width:9px;height:9px;display:inline-block}.roadmap-progress-bar{background:var(--border);vertical-align:middle;border-radius:999px;width:80px;height:6px;margin-right:6px;display:inline-block;overflow:hidden}.roadmap-progress-fill{background:var(--accent);height:100%}.milestones-list{margin-bottom:var(--sp-3);flex-direction:column;gap:6px;display:flex}.milestone-row{align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 10px;display:flex}.milestone-row .title{flex:1;font-weight:550}.milestone-row.completed .title{color:var(--text-tertiary);text-decoration:line-through}.milestone-due{font-size:var(--fs-xs);color:var(--text-tertiary)}.milestone-chip{font-size:var(--fs-xs);color:var(--warning);align-items:center;gap:4px;display:inline-flex}.dependency-group{margin-bottom:var(--sp-3)}.dependency-group h3{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:6px}.dependency-row{align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:4px;padding:6px 10px;display:flex}.dependency-row a{color:var(--text-primary);flex:1;text-decoration:none}.dependency-row a:hover{color:var(--accent)}.dependency-remove-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.dependency-remove-btn:hover{color:var(--danger)}.blocked-indicator{color:var(--danger);align-items:center;display:inline-flex}.analytics-page{gap:var(--sp-7);flex-direction:column;display:flex}.analytics-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.analytics-range{background:var(--surface-hover);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.analytics-range button{color:var(--text-secondary);font-size:var(--fs-sm);border-radius:calc(var(--radius-md) - 2px);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-weight:550}.analytics-range button.active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.analytics-range button:hover:not(.active){color:var(--text-primary)}.stat-tile-row{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);flex-direction:column;gap:4px;display:flex}.stat-tile-label{font-size:var(--fs-sm);color:var(--text-secondary)}.stat-tile-value{font-size:var(--fs-2xl);letter-spacing:-.02em;font-variant-numeric:proportional-nums;font-weight:700}.stat-tile-caption{font-size:var(--fs-xs);color:var(--text-tertiary)}.stat-tile-delta{font-size:var(--fs-xs);align-items:center;gap:2px;font-weight:600;display:inline-flex}.stat-tile-delta.up-good{color:var(--success)}.stat-tile-delta.down-bad{color:var(--danger)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-4) var(--sp-5)}.chart-card-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.chart-card-title{font-size:var(--fs-md);color:var(--text-primary);margin:0 0 2px;font-weight:650}.chart-card-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);margin:0}.chart-table-toggle{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-weight:600}.chart-table-toggle:hover{color:var(--text-primary);border-color:var(--border-strong)}.chart-table-toggle.active{background:var(--accent-soft);color:var(--accent);border-color:#0000}.chart-legend{gap:var(--sp-4);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.chart-legend-item{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.chart-legend-item.dimmed{opacity:.4}.chart-legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.chart-legend-swatch.is-line{border-radius:1px;width:12px;height:2px}.chart-svg-wrap{width:100%;position:relative}.chart-svg-wrap svg{width:100%;display:block;overflow:visible}.chart-tooltip{pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--fs-xs);z-index:5;min-width:140px;padding:8px 10px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.chart-tooltip-title{color:var(--text-primary);margin-bottom:4px;font-weight:650}.chart-tooltip-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:2px 0;display:flex}.chart-tooltip-key{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.chart-tooltip-key-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.chart-tooltip-key-line{border-radius:1px;flex-shrink:0;width:10px;height:2px}.chart-tooltip-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:650}.chart-data-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.chart-data-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);border-bottom:1px solid var(--border);padding:6px 10px;font-size:11px;font-weight:650}.chart-data-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:6px 10px}.chart-data-table tr:last-child td{border-bottom:none}.chart-data-table td:first-child,.chart-data-table th:first-child{color:var(--text-primary);font-variant-numeric:initial}.workload-rows{gap:var(--sp-4);flex-direction:column;display:flex}.workload-row{gap:var(--sp-3);grid-template-columns:140px 1fr;align-items:center;display:grid}.workload-row-name{font-size:var(--fs-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-weight:550;display:flex;overflow:hidden}.workload-row-bar{border-radius:var(--radius-sm);background:var(--surface-hover);height:22px;display:flex;overflow:hidden}.workload-segment{cursor:pointer;height:100%}.workload-row-overdue{font-size:var(--fs-xs);color:var(--danger);white-space:nowrap}
