@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}:root{--font-body:"Inter Variable","Inter","Segoe UI",Arial,sans-serif;--font-display:"Plus Jakarta Sans Variable","Plus Jakarta Sans","Inter Variable",sans-serif;font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--dk-navy:#002949;--dk-logo-background:#04152b;--dk-navy-dark:#001a2f;--dk-blue:#003b63;--dk-blue-mid:#00527f;--dk-blue-light:#0075a8;--dk-cyan:#18a9d6;--dk-blue-pale:#e8f4f9;--dk-amber:#f5a623;--dk-amber-strong:#d98a0b;--page-background:#f4f7fa;--surface:#fff;--surface-2:#f8fafc;--surface-hover:#f1f6fa;--border:#e4ebf1;--border-strong:#cfdae3;--text:#0b2540;--text-secondary:#526675;--text-muted:#7a8b99;--primary:#0075a8;--primary-strong:#00527f;--primary-soft:#18a9d61f;--accent:var(--dk-amber);--accent-soft:#f5a62329;--on-primary:#fff;--sidebar-bg:linear-gradient(180deg,#04152b 0%,#06223f 100%);--sidebar-text:#c6d7e2;--sidebar-text-strong:#fff;--overlay:#04152b8c;--success:#1f9d62;--success-soft:#1f9d621f;--warning:#d98a0b;--warning-soft:#f5a62329;--danger:#d64545;--danger-soft:#d645451c;--info:#0075a8;--info-soft:#18a9d61f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--shadow-sm:0 1px 2px #04152b0f,0 1px 3px #04152b0a;--shadow-md:0 4px 12px #04152b14,0 2px 4px #04152b0a;--shadow-lg:0 18px 40px #04152b29,0 4px 10px #04152b0f;--ease:cubic-bezier(.2,.7,.2,1);--t-fast:.15s var(--ease);--t-base:.22s var(--ease)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-background:#071322;--surface:#0d1d31;--surface-2:#112540;--surface-hover:#14294a;--border:#1c3350;--border-strong:#2a4768;--text:#e8f0f6;--text-secondary:#a4b6c4;--text-muted:#7890a1;--primary:#36bde6;--primary-strong:#18a9d6;--primary-soft:#36bde624;--accent-soft:#f5a6232e;--on-primary:#04152b;--sidebar-bg:linear-gradient(180deg,#030e1d 0%,#04152b 100%);--overlay:#020812b3;--success:#3ccf8a;--success-soft:#3ccf8a24;--warning:#f5b94a;--warning-soft:#f5a6232e;--danger:#f07070;--danger-soft:#f0707024;--info:#36bde6;--info-soft:#36bde624;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 18px 44px #00000080}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--page-background);min-height:100vh;color:var(--text);transition:background-color var(--t-base),color var(--t-base);font-size:14px;line-height:1.5}h1,h2,h3{font-family:var(--font-display)}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #18a9d680}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.login-page{color:#002949;background:#fff;grid-template-columns:minmax(420px,1fr) minmax(440px,1fr);min-height:100dvh;display:grid}.login-showcase{background:var(--dk-logo-background);color:#fff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px clamp(36px,6vw,96px);display:flex}.showcase-topline,.showcase-bottom{color:#b5d2e0;letter-spacing:.14em;font-size:10px;font-weight:700}.showcase-content{max-width:510px;margin-top:-30px}.login-brand-logo{object-fit:contain;object-position:left center;width:min(300px,76%);height:auto;margin:0 0 52px;display:block}.showcase-eyebrow{color:#18a9d6;letter-spacing:.14em;margin:0 0 18px;font-size:10px;font-weight:700}.showcase-content h1{color:#fff;letter-spacing:-.045em;margin:0;font-size:clamp(48px,6.1vw,78px);font-weight:600;line-height:1.02}.showcase-copy{color:#d3e0e8;max-width:390px;margin:22px 0 0;font-size:15px;line-height:1.7}.login-panel{flex-direction:column;justify-content:center;min-height:100vh;padding:56px clamp(36px,8vw,132px) 26px;display:flex}.login-panel-inner{width:100%;max-width:420px;margin:auto}.login-header{margin-bottom:38px}.login-kicker{color:#0075a8;letter-spacing:.15em;margin-bottom:13px;font-size:10px;font-weight:700;display:block}.login-header h2{color:#002949;letter-spacing:-.035em;margin:0 0 9px;font-size:clamp(29px,3vw,36px);font-weight:600}.login-header p{color:#526675;margin:0;font-size:14px}.login-form{flex-direction:column;gap:23px;display:flex}.form-group{flex-direction:column;gap:9px;display:flex}.form-group label,.password-label label{color:#002949;font-size:12px;font-weight:600}.password-label{justify-content:space-between;align-items:center;display:flex}.password-label a{color:#0075a8;font-size:11px;font-weight:600;text-decoration:none}.password-label a:hover{text-decoration:underline}.form-group input{color:#002949;width:100%;height:51px;font:inherit;background:#fff;border:1px solid #d8e1e7;border-radius:7px;outline:none;padding:0 15px;font-size:13px;transition:border-color .18s,box-shadow .18s}.form-group input::placeholder{color:#8998a2}.form-group input:focus{border-color:#18a9d6;box-shadow:0 0 0 3px #18a9d624}.login-submit{color:#fff;width:100%;min-height:52px;font:inherit;cursor:pointer;background:#002949;border:0;border-radius:7px;justify-content:space-between;align-items:center;margin-top:3px;padding:0 18px;font-size:13px;font-weight:600;transition:background .18s;display:flex}.login-submit span{font-size:20px;font-weight:400}.login-submit:hover{background:#003b63}.login-submit:disabled{opacity:.65;cursor:wait}.login-error{color:#8c2922;overflow-wrap:anywhere;background:#fff5f4;border:1px solid #f1c8c4;border-radius:7px;padding:11px 13px;font-size:12px;line-height:1.55}.login-security{color:#526675;align-items:center;gap:11px;margin-top:33px;font-size:10px;line-height:1.55;display:flex}.login-security strong{color:#002949;font-weight:600}.security-lock{color:#0075a8;border:1px solid #d8e5eb;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.security-lock svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:18px;height:18px}.login-footer{color:#526675;justify-content:space-between;gap:20px;font-size:10px;display:flex}.login-mobile-brand{display:none}@media (width<=900px){.login-page{grid-template-columns:minmax(340px,.9fr) minmax(400px,1.1fr)}.login-showcase{padding:36px}.login-panel{padding:45px 42px 24px}.showcase-content h1{font-size:58px}}@media (width<=680px){.login-page{background:#fff;min-height:100dvh;display:block}.login-showcase{display:none}.login-panel{min-height:100dvh;padding:36px 25px 22px}.login-panel-inner{max-width:430px}.login-mobile-brand{margin-bottom:52px;display:block}.login-mobile-brand img{width:150px;height:auto;display:block}.login-header{margin-bottom:30px}.login-header h2{font-size:30px}.login-footer{font-size:9px}}.ui-btn{border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast),border-color var(--t-fast),color var(--t-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}a.ui-btn{text-decoration:none}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn:not(:disabled):hover{transform:translateY(-1px)}.ui-btn:not(:disabled):active{transform:translateY(0)}.ui-btn--sm{min-height:34px;padding:0 12px;font-size:13px}.ui-btn--md{min-height:42px;padding:0 18px;font-size:14px}.ui-btn--lg{min-height:50px;padding:0 24px;font-size:15px}.ui-btn--primary{background:var(--dk-navy);color:#fff;box-shadow:var(--shadow-sm)}.ui-btn--primary:not(:disabled):hover{background:var(--dk-blue);box-shadow:var(--shadow-md)}[data-theme=dark] .ui-btn--primary{background:var(--primary);color:var(--on-primary)}[data-theme=dark] .ui-btn--primary:not(:disabled):hover{background:#5ccdf0}.ui-btn--accent{background:var(--dk-amber);color:#2a1a00;box-shadow:0 4px 14px #f5a6234d}.ui-btn--accent:not(:disabled):hover{background:#ffb637;box-shadow:0 6px 18px #f5a62366}.ui-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.ui-btn--secondary:not(:disabled):hover{background:var(--surface-hover);border-color:var(--primary)}.ui-btn--ghost{color:var(--text-secondary);background:0 0}.ui-btn--ghost:not(:disabled):hover{background:var(--surface-hover);color:var(--text)}.ui-btn--danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.ui-btn--danger:not(:disabled):hover{background:var(--danger);color:#fff}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base),background var(--t-base)}.ui-card--padded{padding:24px}.ui-card--interactive{cursor:pointer}.ui-card--interactive:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.ui-badge{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-secondary);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.ui-badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.ui-badge--success{background:var(--success-soft);color:var(--success)}.ui-badge--warning{background:var(--warning-soft);color:var(--warning)}.ui-badge--danger{background:var(--danger-soft);color:var(--danger)}.ui-badge--info{background:var(--info-soft);color:var(--info)}.ui-badge--accent{background:var(--accent-soft);color:var(--dk-amber-strong)}[data-theme=dark] .ui-badge--accent{color:var(--dk-amber)}.ui-avatar{background:linear-gradient(135deg,var(--dk-blue-light),var(--dk-cyan));color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.ui-field{flex-direction:column;gap:6px;display:flex}.ui-field label{color:var(--text);font-size:13px;font-weight:600}.ui-field input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:46px;color:var(--text);transition:border-color var(--t-fast),box-shadow var(--t-fast);padding:0 14px}.ui-field input::placeholder{color:var(--text-muted)}.ui-field input:focus{border-color:var(--dk-cyan);box-shadow:0 0 0 4px var(--primary-soft);outline:0}.ui-field small{color:var(--text-muted);font-size:12px}.ui-field--error input{border-color:var(--danger)}.ui-field--error small{color:var(--danger)}.ui-page-header{margin-bottom:var(--space-5);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.ui-eyebrow{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.ui-page-header h1{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(26px,3vw,32px);font-weight:700;line-height:1.15}.ui-page-header p{color:var(--text-secondary);margin:8px 0 0;font-size:15px}.ui-page-header__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ui-kpi{align-items:center;gap:16px;padding:20px;display:flex}.ui-kpi__icon{border-radius:var(--radius-md);flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.ui-kpi__icon--info{background:var(--info-soft);color:var(--info)}.ui-kpi__icon--success{background:var(--success-soft);color:var(--success)}.ui-kpi__icon--warning,.ui-kpi__icon--accent{background:var(--accent-soft);color:var(--dk-amber-strong)}.ui-kpi__icon--danger{background:var(--danger-soft);color:var(--danger)}.ui-kpi__label{color:var(--text-secondary);font-size:13px;font-weight:500;display:block}.ui-kpi__value{color:var(--text);font-family:var(--font-display);letter-spacing:-.03em;margin-top:2px;font-size:28px;font-weight:700;line-height:1.1;display:block}.ui-kpi__hint{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.ui-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.ui-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.ui-table th{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;padding:14px 20px;font-size:12px;font-weight:600}.ui-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);padding:16px 20px}.ui-table td:first-child{color:var(--text);font-weight:600}.ui-table tbody tr{transition:background var(--t-fast)}.ui-table tbody tr:hover{background:var(--surface-hover)}.ui-table tbody tr:last-child td{border-bottom:0}.ui-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.ui-empty__icon{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.ui-empty h3{color:var(--text);margin:0;font-size:18px}.ui-empty p{max-width:380px;color:var(--text-secondary);margin:0 0 12px}.ui-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-hover) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:1.4s linear infinite ui-shimmer;display:block}@keyframes ui-shimmer{to{background-position:-200% 0}}.ui-modal-overlay{z-index:1000;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ui-fade .18s var(--ease);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ui-modal{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:100%;max-height:calc(100dvh - 40px);box-shadow:var(--shadow-lg);animation:ui-pop .22s var(--ease);flex-direction:column;display:flex}.ui-modal--sm{max-width:420px}.ui-modal--md{max-width:560px}.ui-modal--lg{max-width:760px}.ui-modal__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 8px;display:flex}.ui-modal__header h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.ui-modal__header p{color:var(--text-secondary);margin:6px 0 0;font-size:14px}.ui-modal__close{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);background:0 0;border:0;flex:0 0 34px;place-items:center;display:grid}.ui-modal__close:hover{background:var(--surface-hover);color:var(--text)}.ui-modal__body{gap:16px;padding:16px 28px 24px;display:grid;overflow-y:auto}.ui-modal__footer{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-xl) var(--radius-xl);justify-content:flex-end;gap:10px;padding:16px 28px;display:flex}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-pop{0%{opacity:0;transform:translateY(12px)scale(.98)}}@media (width<=560px){.ui-modal-overlay{align-items:end;padding:0}.ui-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:none;max-height:92dvh}}.ui-field select,.ui-field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.ui-field select{min-height:46px;padding:0 12px}.ui-field textarea{resize:vertical;min-height:84px;padding:12px 14px}.ui-field select:focus,.ui-field textarea:focus{border-color:var(--dk-cyan);box-shadow:0 0 0 4px var(--primary-soft);outline:0}.ui-field select:disabled,.ui-field input:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.ui-field--full{grid-column:1/-1}.ui-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ui-form-grid .ui-field--full{grid-column:1/-1}@media (width<=560px){.ui-form-grid{grid-template-columns:1fr}}.ui-checkbox{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.ui-checkbox input{width:18px;height:18px;accent-color:var(--dk-cyan);flex:0 0 18px;margin-top:2px}.ui-alert{border-radius:var(--radius-md);animation:ui-fade .2s var(--ease);border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 16px;font-size:14px;line-height:1.5;display:flex}.ui-alert svg{flex:none;margin-top:2px}.ui-alert--danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.ui-alert--success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.ui-alert--info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 30%,transparent);color:var(--info)}.ui-stack{gap:16px;display:grid}.ui-page{width:min(100%,1440px);margin:0 auto;padding:clamp(20px,3vw,36px) clamp(16px,3vw,40px) 48px}.ui-page>.ui-alert{margin-bottom:var(--space-4)}.ui-kpi-grid{margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.ui-toolbar{margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-toolbar__filters{flex-wrap:wrap;gap:8px;display:flex}.ui-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--t-fast);align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.ui-chip:hover{border-color:var(--primary);color:var(--primary)}.ui-chip--active{background:var(--dk-navy);border-color:var(--dk-navy);color:#fff}.ui-chip--active:hover{color:#fff}[data-theme=dark] .ui-chip--active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.ui-chip small{opacity:.7;font-weight:500}.ui-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:240px;min-height:42px;color:var(--text-muted);transition:border-color var(--t-fast),box-shadow var(--t-fast);align-items:center;gap:10px;padding:0 14px;display:flex}.ui-search:focus-within{border-color:var(--dk-cyan);box-shadow:0 0 0 4px var(--primary-soft)}.ui-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.ui-search input:focus-visible{outline:0}.ui-back{color:var(--primary);margin-bottom:12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.ui-back:hover{text-decoration:underline}.ui-row-actions{flex-wrap:wrap;gap:6px;display:flex}.ui-sub{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.ui-person{align-items:center;gap:12px;display:flex}.ui-person strong{color:var(--text);font-weight:600;display:block}.ui-person small{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.ui-link-btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:34px;color:var(--text);cursor:pointer;transition:all var(--t-fast);align-items:center;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ui-link-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.ui-loading-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.link-card{padding:20px 24px}.link-card h2{color:var(--text);margin:0 0 14px;font-size:17px}.link-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.link-form .ui-field{flex:280px}.ui-table thead th{background:var(--surface);z-index:1;position:sticky;top:0}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:#f5a62359}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (width<=640px){.ui-table-wrap{border-radius:var(--radius-md)}.ui-table th,.ui-table td{padding:12px 14px}.ui-btn--md{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}.ui-field select{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b8190' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding:0 42px 0 14px}[data-theme=dark] .ui-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239bb2c1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.ui-field select:hover:not(:disabled){border-color:var(--primary)}.ui-field select:invalid{color:var(--text-muted)}.ui-field select option{background:var(--surface);color:var(--text);padding:10px 14px;font-size:14px}.ui-field select option:checked{background:var(--primary-soft);color:var(--primary);font-weight:600}.ui-field select option:disabled{color:var(--text-muted)}@supports (appearance:base-select){.ui-field select{appearance:base-select}.ui-field select::picker(select){appearance:base-select}.ui-field select{background-image:none;align-items:center}[data-theme=dark] .ui-field select{background-image:none}.ui-field select::picker-icon{content:"";opacity:.6;width:16px;height:16px;transition:transform var(--t-fast);background:currentColor;flex:0 0 16px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat}.ui-field select:open::picker-icon{transform:rotate(180deg)}.ui-field select::picker(select){border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg);max-height:min(320px,50vh);margin-top:6px;padding:6px;overflow-y:auto}.ui-field select option{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast);align-items:center;gap:10px;padding:10px 12px;display:flex}.ui-field select option:hover,.ui-field select option:focus-visible{background:var(--surface-hover);outline:0}.ui-field select option:checked{background:var(--primary-soft);color:var(--primary);font-weight:600}.ui-field select option::checkmark{color:var(--accent);order:1;margin-left:auto}}.ui-menu{z-index:1100;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg);animation:ui-fade .12s var(--ease);gap:2px;padding:6px;display:grid;position:fixed}.ui-menu__item{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text);text-align:left;cursor:pointer;transition:background var(--t-fast),color var(--t-fast);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;font-weight:500;display:flex}.ui-menu__item svg{color:var(--text-muted);flex:none}.ui-menu__item:hover:not(:disabled),.ui-menu__item:focus-visible{background:var(--surface-hover);outline:0}.ui-menu__item:disabled{opacity:.4;cursor:not-allowed}.ui-menu__item--danger,.ui-menu__item--danger svg{color:var(--danger)}.ui-menu__item--danger:hover:not(:disabled){background:var(--danger-soft)}.ui-menu__separator{background:var(--border);border:0;height:1px;margin:4px 2px}.app-header{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex:0 0 66px;justify-content:space-between;align-items:center;gap:16px;height:66px;padding:0 clamp(16px,2.5vw,32px);display:flex;position:relative}.app-header-left,.app-header-right{align-items:center;gap:12px;min-width:0;display:flex}.header-breadcrumb{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.header-breadcrumb__item{align-items:center;gap:8px;min-width:0;display:inline-flex}.header-breadcrumb a{color:var(--text-muted);transition:color var(--t-fast);text-decoration:none}.header-breadcrumb a:hover{color:var(--primary)}.header-breadcrumb strong{color:var(--text);font-family:var(--font-display);font-size:15px;font-weight:700}.header-icon-button,.app-menu-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast);place-items:center;display:grid}.header-icon-button:hover,.app-menu-button:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.header-icon-button:active{transform:scale(.94)}.app-menu-button{display:none}.header-user{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);transition:border-color var(--t-fast), box-shadow var(--t-fast);align-items:center;gap:10px;padding:4px 12px 4px 4px;text-decoration:none;display:flex}.header-user:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.header-user-copy{flex-direction:column;line-height:1.25;display:flex}.header-user-copy strong{max-width:170px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.header-user-copy small{color:var(--text-muted);font-size:11px}@media (width<=900px){.app-menu-button{display:grid}}@media (width<=560px){.header-user-copy{display:none}.header-user{padding:3px}.header-breadcrumb__item:not(:last-child){display:none}.header-breadcrumb{min-width:0}.header-breadcrumb__item:last-child strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(48vw,260px);overflow:hidden}}.app-sidebar{overscroll-behavior:contain;background:var(--sidebar-bg);width:272px;height:100%;min-height:0;color:var(--sidebar-text);border-right:1px solid #c2deec14;flex-direction:column;flex:0 0 272px;padding:22px 14px 14px;display:flex;position:relative;overflow:hidden auto}.app-sidebar:before{content:"";pointer-events:none;background:radial-gradient(circle,#18a9d62e,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;top:-120px;right:-120px}.sidebar-brand{padding:2px 10px 16px;display:block;position:relative}.sidebar-brand img{object-fit:contain;object-position:left center;width:124px;max-width:100%;height:auto;display:block}.sidebar-nav{flex-direction:column;gap:3px;display:flex;position:relative}.sidebar-section-label{color:#7f98a9;letter-spacing:.1em;text-transform:uppercase;margin:22px 12px 8px;font-size:11px;font-weight:700}.sidebar-section-label:first-child{margin-top:4px}.sidebar-link{border-radius:var(--radius-sm);width:100%;min-height:42px;color:var(--sidebar-text);font:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast), color var(--t-fast), transform var(--t-fast);background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-link svg{color:#8fa9ba;transition:color var(--t-fast);flex:none}.sidebar-link:hover:not(:disabled){color:var(--sidebar-text-strong);background:#ffffff12}.sidebar-link:hover:not(:disabled) svg{color:var(--dk-cyan)}.sidebar-link.active{color:var(--sidebar-text-strong);background:linear-gradient(90deg,#18a9d63d,#18a9d614);font-weight:600}.sidebar-link.active:before{content:"";background:var(--dk-amber);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:0}.sidebar-link.active svg{color:var(--dk-cyan)}.sidebar-back{border-radius:var(--radius-sm);color:#8fa9ba;transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:8px;margin:2px 4px 12px;padding:6px 8px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.sidebar-back:hover{color:#fff;background:#ffffff12}.sidebar-context{border-radius:var(--radius-md);background:linear-gradient(135deg,#18a9d629,#ffffff0a);border:1px solid #c2deec1f;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.sidebar-context>div{min-width:0}.sidebar-context__icon{background:var(--dk-amber);color:#2a1a00;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.sidebar-context small{color:#8fa9ba;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.sidebar-context strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.sidebar-sub-list{border-left:1px solid #c2deec29;flex-direction:column;gap:2px;margin:0 0 4px 22px;padding-left:12px;display:flex}.sidebar-sub-title{color:#7f98a9;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;padding:4px 10px;font-size:11px;font-weight:700;overflow:hidden}.sidebar-sub-link{border-radius:var(--radius-sm);color:#a9bfcc;min-height:34px;transition:background var(--t-fast), color var(--t-fast);align-items:center;padding:0 10px;font-size:13px;text-decoration:none;display:flex}.sidebar-sub-link:hover{color:#fff;background:#ffffff0f}.sidebar-sub-link.active{color:#fff;background:#18a9d62e;font-weight:600}.sidebar-empty{color:#8fa9ba;margin:2px 12px 6px;font-size:12px;display:block}.sidebar-roadmap-toggle{border-radius:var(--radius-sm);color:#8fa9ba;width:100%;min-height:38px;font:inherit;cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:1px dashed #c2deec2e;align-items:center;gap:10px;margin-top:18px;padding:0 12px;font-size:13px;display:flex}.sidebar-roadmap-toggle:hover{color:#fff;background:#ffffff0d}.sidebar-roadmap-toggle span{text-align:left;flex:1}.sidebar-roadmap-toggle small{color:var(--dk-amber);background:#f5a6232e;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.sidebar-roadmap-toggle svg:last-child{transition:transform var(--t-fast)}.sidebar-roadmap-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.sidebar-roadmap{flex-direction:column;gap:2px;padding:6px 0 0 12px;display:flex}.sidebar-roadmap__item{color:#6f899a;cursor:default;align-items:center;gap:10px;min-height:32px;padding:0 10px;font-size:12.5px;display:flex}.sidebar-user{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #c2deec1f;align-items:center;gap:11px;margin-top:auto;padding:12px;display:flex;position:relative}.sidebar-nav{padding-bottom:24px}.sidebar-user-copy{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-user-copy strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-copy span{color:#8fa9ba;font-size:12px}.sidebar-logout{border-radius:var(--radius-sm);color:#9bb2c1;cursor:pointer;width:34px;height:34px;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;flex:0 0 34px;place-items:center;display:grid}.sidebar-logout:hover{color:#ff9a9a;background:#f0707029}.sidebar-overlay{display:none}@media (width<=900px){.sidebar-overlay{z-index:998;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:0;display:block;position:fixed;inset:0}.app-sidebar{z-index:999;width:284px;height:auto;transition:transform .26s var(--ease);box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}}.sidebar-context{background:linear-gradient(135deg,#f5a6231f,#18a9d61f);border-color:#f5a62361;flex-direction:column;align-items:stretch;gap:10px}.sidebar-context__tag{color:var(--dk-amber);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:7px;font-size:10.5px;font-weight:700;display:flex}.sidebar-context__tag i{background:var(--dk-amber);border-radius:50%;width:6px;height:6px}.sidebar-context__body{align-items:center;gap:12px;min-width:0;display:flex}.sidebar-context__body>div{min-width:0}.sidebar-group{flex-direction:column;gap:3px;display:flex}.sidebar-group-toggle{border-radius:var(--radius-sm);color:#7f98a9;width:100%;font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color var(--t-fast);background:0 0;border:0;justify-content:space-between;align-items:center;margin-top:14px;padding:4px 12px;font-size:11px;font-weight:700;display:flex}.sidebar-group-toggle:hover{color:#fff}.sidebar-group-toggle svg{transition:transform var(--t-fast)}.sidebar-group-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.sidebar-soon{color:#6f899a;cursor:default;align-items:center;gap:12px;min-height:36px;padding:0 12px;font-size:13.5px;display:flex}.sidebar-soon svg{flex:none}.sidebar-soon span{flex:1}.sidebar-soon small{color:var(--dk-amber);letter-spacing:.02em;background:#f5a62324;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.sidebar-skeleton{background:linear-gradient(90deg,#ffffff14 25%,#ffffff29 50%,#ffffff14 75%) 0 0/200% 100%;border-radius:6px;width:130px;height:14px;animation:1.4s linear infinite ui-shimmer;display:block}.sidebar-skeleton--row{border-radius:var(--radius-sm);width:100%;height:36px}.sidebar-skeleton-list{gap:6px;margin-top:14px;display:grid}.app-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text-muted);justify-content:space-between;align-items:center;padding:12px clamp(16px,2.5vw,32px);font-size:12px;display:flex}@media (width<=560px){.app-footer{padding:10px 16px}}.app-layout{background:var(--page-background);height:100dvh;display:flex;overflow:hidden}.app-layout-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-layout-content{overscroll-behavior:contain;background:var(--page-background);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.dash-hero{margin-bottom:var(--space-5);border-radius:var(--radius-xl);color:#fff;box-shadow:var(--shadow-md);background:linear-gradient(120deg,#04152b 0%,#06223f 55%,#0a4a72 100%);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding:clamp(22px,3vw,34px);display:flex;position:relative;overflow:hidden}.dash-hero:before{content:"";background:radial-gradient(circle,#f5a62352,#0000 68%);border-radius:50%;width:340px;height:340px;position:absolute;top:-100px;right:-80px}.dash-hero:after{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff08 0 2px,#0000 2px 16px);position:absolute;inset:0}.dash-hero>*{z-index:1;position:relative}.dash-hero__date{color:#9fd8ec;text-transform:capitalize;margin-bottom:10px;font-size:13px;font-weight:600;display:block}.dash-hero h1{color:#fff;letter-spacing:-.035em;margin:0;font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.1}.dash-hero h1 span{color:var(--dk-amber)}.dash-hero p{color:#c6d7e2;max-width:520px;margin:10px 0 0;font-size:15px}.dash-hero__side{flex-direction:column;align-items:flex-end;gap:14px;display:flex}.dash-hero__cta{border-radius:var(--radius-sm);background:var(--dk-amber);color:#2a1a00;transition:transform var(--t-fast),box-shadow var(--t-fast);align-items:center;gap:6px;padding:11px 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px #f5a62359}.dash-hero__cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px #f5a62373}.dash-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:20px;display:grid}.dash-panel{padding:24px}.dash-panel__heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.dash-panel__heading h2{color:var(--text);margin:0;font-size:18px;font-weight:700}.dash-panel__heading .ui-eyebrow{margin-bottom:4px;font-size:11px}.dash-panel__icon{color:var(--text-muted)}.dash-projects,.dash-activity{gap:18px;margin:0;padding:0;list-style:none;display:grid}.dash-projects li{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);transition:border-color var(--t-fast),transform var(--t-fast);gap:12px;padding:16px;display:grid}.dash-projects li:hover{border-color:var(--border-strong);transform:translate(3px)}.dash-project__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dash-project__top strong{color:var(--text);font-size:15px;font-weight:600;display:block}.dash-project__top span{color:var(--text-muted);align-items:center;gap:5px;margin-top:3px;font-size:13px;display:flex}.dash-project__bar{align-items:center;gap:12px;display:flex}.dash-project__bar .work-progress{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);flex:1;height:8px;overflow:hidden}.dash-project__bar .work-progress span{border-radius:inherit;background:linear-gradient(90deg,var(--dk-cyan),var(--dk-amber));height:100%;display:block}.dash-project__bar b{min-width:40px;color:var(--text);text-align:right;font-size:14px}.dash-activity li{gap:12px;display:flex}.dash-activity p{color:var(--text-secondary);margin:0;font-size:14px}.dash-activity p strong{color:var(--text)}.dash-activity span,.dash-activity time{color:var(--text-muted);font-size:12px;display:block}.dash-activity time{margin-top:2px}@media (width<=1000px){.dash-grid{grid-template-columns:1fr}.dash-hero__side{align-items:flex-start}}.overview-company-heading{color:var(--dk-cyan);align-items:center;gap:12px;margin-bottom:16px;display:flex}.overview-company-heading h2{color:var(--text);margin:0;font-size:17px}.overview-company-heading span{color:var(--text-muted);font-size:12px}.overview-company-heading .ui-badge{margin-left:auto}.overview-work-list{flex-wrap:wrap;gap:10px;display:flex}.overview-work-list .ui-link-btn{gap:8px;min-height:38px;padding:0 14px}.overview-work-list .ui-link-btn svg{color:var(--dk-cyan)}.forgot-password-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.forgot-password-card{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:32px;box-shadow:0 8px 30px #00000014}.forgot-password-card h1{margin:0 0 12px;font-size:28px}.forgot-password-card p{color:#526675;margin:0 0 24px;line-height:1.5}.forgot-password-card form{flex-direction:column;gap:8px;display:flex}.forgot-password-card label{font-weight:600}.forgot-password-card input{border:1px solid #d8e1e7;border-radius:6px;width:100%;padding:12px;font-size:16px}.forgot-password-card input:focus{border-color:#002949;outline:none}.forgot-password-card button{color:#fff;cursor:pointer;background:#002949;border:none;border-radius:6px;margin-top:12px;padding:12px;font-size:16px;font-weight:600}.forgot-password-card button:disabled{opacity:.6;cursor:not-allowed}.forgot-password-error,.forgot-password-success{border-radius:6px;margin-top:8px;padding:10px;font-size:14px}.forgot-password-error{color:#a33a3a;background:#fce8e8}.forgot-password-success{color:#2e6b35;background:#e8f5e9}.forgot-password-back{text-align:center;color:#002949;margin-top:20px;font-size:14px;text-decoration:none;display:block}.reset-password-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.reset-password-card{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:32px;box-shadow:0 8px 30px #00000014}.reset-password-card h1{margin:0 0 12px;font-size:28px}.reset-password-card p{color:#526675;margin:0 0 24px;line-height:1.5}.reset-password-card form{flex-direction:column;gap:8px;display:flex}.reset-password-card label{margin-top:8px;font-weight:600}.reset-password-card input{border:1px solid #d8e1e7;border-radius:6px;width:100%;padding:12px;font-size:16px}.reset-password-card input:focus{border-color:#002949;outline:none}.reset-password-card button{color:#fff;cursor:pointer;background:#002949;border:none;border-radius:6px;margin-top:16px;padding:12px;font-size:16px;font-weight:600}.reset-password-card button:disabled{opacity:.6;cursor:not-allowed}.reset-password-error,.reset-password-success{border-radius:6px;margin-top:12px;padding:10px;font-size:14px}.reset-password-error{color:#a33a3a;background:#fce8e8}.reset-password-success{color:#2e6b35;background:#e8f5e9}.reset-password-login{text-align:center;color:#002949;margin-top:20px;font-size:14px;text-decoration:none;display:block}.profile-hero{margin-bottom:var(--space-5);border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#04152b,#0a4a72 70%,#0075a8);flex-wrap:wrap;align-items:center;gap:20px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.profile-hero:after{content:"";background:radial-gradient(circle,#f5a62359,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.profile-hero .ui-avatar{border:3px solid #ffffff4d;box-shadow:0 6px 20px #00000040}.profile-hero__copy{z-index:1;flex:1;min-width:180px;position:relative}.profile-hero__copy h2{color:#fff;letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.profile-hero__copy span{color:#c6d7e2;font-size:14px}.profile-hero .ui-badge{z-index:1;position:relative}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:20px;margin-bottom:20px;display:grid}.profile-card{gap:20px;padding:24px;display:grid}.profile-card__heading{align-items:center;gap:14px;display:flex}.profile-card__heading h2,.profile-session h2{color:var(--text);margin:0;font-size:17px;font-weight:700}.profile-card__heading p,.profile-session p{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.profile-card__icon{border-radius:var(--radius-md);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);flex:0 0 44px;place-items:center;display:grid}.profile-card__icon--accent{background:var(--accent-soft);color:var(--dk-amber-strong)}.profile-card__icon--danger{background:var(--danger-soft);color:var(--danger)}.profile-session{flex-wrap:wrap;align-items:center;gap:16px;padding:20px 24px;display:flex}.profile-session__copy{flex:1;min-width:220px}.company-duplicates{margin:6px 0;padding-left:18px}.work-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:20px;display:grid}.work-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.work-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-4px)}.work-card__cover{color:#fff;justify-content:space-between;align-items:flex-start;min-height:112px;padding:16px;display:flex;position:relative;overflow:hidden}.work-card__cover--0{background:linear-gradient(135deg,#04152b,#0075a8)}.work-card__cover--1{background:linear-gradient(135deg,#06223f,#18a9d6)}.work-card__cover--2{background:linear-gradient(135deg,#04152b,#1f6f8b 60%,#f5a623 160%)}.work-card__cover--3{background:linear-gradient(135deg,#0b2f52,#2a5fa8)}.work-card__cover--4{background:linear-gradient(135deg,#04152b,#0a6f6a)}.work-card__cover:after{content:"";background:repeating-linear-gradient(135deg,#ffffff0a 0 2px,#0000 2px 14px);position:absolute;inset:0}.work-card__mark{color:#ffffff24;transition:transform var(--t-base);position:absolute;bottom:-14px;right:-8px}.work-card:hover .work-card__mark{transform:rotate(-6deg)scale(1.08)}.work-card__code{z-index:1;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.06em;background:#ffffff29;padding:4px 10px;font-size:12px;font-weight:700;position:relative}.work-card__cover .ui-badge{z-index:1;color:#04152b;background:#ffffffeb;position:relative}.work-card__cover .ui-badge--success{color:#12744a}.work-card__cover .ui-badge--warning{color:#a8680a}.work-card__cover .ui-badge--danger{color:#b53030}.work-card__body{flex-direction:column;flex:1;gap:14px;padding:18px 20px 20px;display:flex}.work-card h3{color:var(--text);letter-spacing:-.02em;margin:0 0 6px;font-size:18px;font-weight:700;line-height:1.25}.work-card__company{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.work-card__meta{color:var(--text-secondary);gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.work-card__meta li{align-items:center;gap:8px;display:flex}.work-card__meta svg{color:var(--text-muted);flex:none}.work-card__progress-label{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.work-card__progress-label strong{color:var(--text);font-weight:700}.work-progress{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);height:8px;overflow:hidden}.work-progress span{border-radius:inherit;background:linear-gradient(90deg,var(--dk-cyan),var(--dk-amber));height:100%;transition:width .6s var(--ease);display:block}.work-card__footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}@media (width<=560px){.work-grid{grid-template-columns:1fr}}.work-module-card{grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:20px;display:grid}.work-module-card__icon{border-radius:var(--radius-md);background:var(--surface-2);width:44px;height:44px;color:var(--dk-cyan);place-items:center;display:grid}.work-module-card h2{color:var(--text);margin:0;font-size:16px}.work-module-card p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.work-module-card .ui-link-btn{grid-column:1/-1;justify-self:start}.work-modules-title{color:var(--text);margin:4px 0 0;font-size:18px}.perm-card{max-width:760px}.perm-list{gap:10px;display:grid}.perm-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);transition:border-color var(--t-fast),background var(--t-fast);align-items:center;padding:14px 16px}.perm-item:hover{border-color:var(--border-strong)}.perm-item--on{border-color:var(--primary);background:var(--primary-soft)}.perm-item input{margin-top:0}.perm-item>span{gap:2px;display:grid}.perm-item strong{color:var(--text);font-size:15px}.perm-card .ui-row-actions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:6px}.currency-code{border-radius:var(--radius-sm);background:var(--primary-soft);height:40px;color:var(--primary);font-family:var(--font-display);letter-spacing:.04em;flex:0 0 52px;place-items:center;font-size:13px;font-weight:700;display:grid}.eap-card{flex-direction:column;display:flex;overflow:hidden}.eap-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.eap-more{gap:6px}.eap-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.eap-toolbar .ui-search{flex:260px;max-width:420px}.eap-toolbar__actions{align-items:center;gap:2px;display:flex}.eap-count{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12.5px}.eap-scroll{overscroll-behavior:contain;min-height:320px;max-height:calc(100dvh - 330px);overflow:auto}.eap-grid{--eap-cols:28px 84px minmax(280px,1fr) 76px 108px 130px 140px 128px 44px;min-width:960px}.eap-grid--readonly{--eap-cols:84px minmax(280px,1fr) 76px 108px 130px 140px 128px}.eap-row{grid-template-columns:var(--eap-cols);border-bottom:1px solid var(--border);min-height:44px;color:var(--text-secondary);transition:background var(--t-fast);align-items:center;font-size:13.5px;display:grid}.eap-row:not(.eap-row--head):not(.eap-row--total):not(.eap-row--draft):hover{background:var(--surface-hover)}.eap-row[role=row]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.eap-row--parent{background:var(--surface-2);color:var(--text);font-weight:600}.eap-row--selected{background:var(--primary-soft)!important}.eap-row--dragging{opacity:.45}.eap-row--drop-before{box-shadow:inset 0 3px 0 var(--primary)}.eap-row--drop-after{box-shadow:inset 0 -3px 0 var(--primary)}.eap-row--drop-inside{outline:2px dashed var(--primary);outline-offset:-3px;background:var(--primary-soft)!important}.eap-row--head{z-index:3;background:var(--surface);min-height:40px;color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;box-shadow:0 1px 0 var(--border);font-size:11px;font-weight:700;position:sticky;top:0}.eap-row--total{z-index:2;border-top:1px solid var(--border-strong);background:var(--surface-2);min-height:48px;color:var(--text);border-bottom:0;font-weight:700;position:sticky;bottom:0}.eap-row--draft{background:var(--primary-soft)}.eap-cell{align-items:center;min-width:0;padding:0 8px;display:flex}.eap-cell--number{text-align:right;font-variant-numeric:tabular-nums;justify-content:flex-end}.eap-cell--code{color:var(--primary);padding-left:12px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px;font-weight:700}.eap-cell--muted{color:var(--text-muted);font-weight:500}.eap-cell--grip{color:var(--text-muted);opacity:0;cursor:grab;transition:opacity var(--t-fast);justify-content:center;padding:0}.eap-row:hover .eap-cell--grip,.eap-row:focus-visible .eap-cell--grip{opacity:1}.eap-cell--menu{justify-content:center;padding:0}.eap-cell--name{gap:4px}.eap-cell--weight{font-variant-numeric:tabular-nums;justify-content:flex-end;gap:8px}.eap-empty{color:var(--text-muted);opacity:.55}.eap-bar{border-radius:var(--radius-pill);background:var(--border);width:36px;height:5px;display:block;overflow:hidden}.eap-bar i{border-radius:inherit;background:var(--primary);height:100%;display:block}.eap-toggle{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:0 0 26px;place-items:center;padding:0;display:grid}.eap-toggle:disabled{cursor:default}.eap-toggle:not(:disabled):hover{background:var(--border);color:var(--text)}.eap-name,.eap-value{border-radius:var(--radius-sm);min-width:0;color:inherit;font:inherit;text-align:inherit;cursor:text;transition:border-color var(--t-fast),background var(--t-fast);background:0 0;border:1px solid #0000;padding:5px 8px}.eap-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eap-name--static{cursor:default}.eap-value{width:100%}.eap-value--empty{color:var(--text-muted);opacity:.55;font-weight:400}.eap-name:not(.eap-name--static):hover,.eap-value:hover{border-color:var(--border-strong);background:var(--surface)}.eap-input{border:1px solid var(--dk-cyan);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:32px;color:var(--text);font:inherit;box-shadow:0 0 0 3px var(--primary-soft);padding:0 8px;font-weight:500}.eap-input:focus{outline:0}.eap-cell--number .eap-input{text-align:right}.eap-menu-button{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.eap-menu-button:hover,.eap-menu-button[aria-expanded=true]{background:var(--border);color:var(--text)}.eap-add-row{border-bottom:1px solid var(--border)}.eap-add-row button{width:100%;min-height:42px;color:var(--text-muted);font:inherit;cursor:pointer;transition:background var(--t-fast),color var(--t-fast);background:0 0;border:0;align-items:center;gap:8px;padding:0 14px 0 42px;font-weight:600;display:flex}.eap-grid--readonly .eap-add-row button{padding-left:14px}.eap-add-row button:hover{background:var(--surface-hover);color:var(--primary)}.eap-no-results{color:var(--text-muted);text-align:center;padding:32px 16px}.eap-hint{border-top:1px solid var(--border);color:var(--text-muted);margin:0;padding:10px 16px;font-size:12px;line-height:1.6}.eap-hint b{color:var(--text-secondary);font-weight:600}.eap-confirm-text{color:var(--text-secondary);margin:0;line-height:1.6}.eap-import-preview{gap:12px;margin-top:18px;display:grid}.eap-import-preview__summary{color:var(--text);justify-content:space-between;align-items:center;gap:12px;display:flex}.eap-import-preview__summary span{color:var(--text-muted);font-size:13px}.eap-import-preview__tree{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);max-height:360px;padding:8px 0;overflow:auto}.eap-preview-row{min-height:34px;color:var(--text);align-items:center;gap:14px;padding-right:12px;font-size:13px;display:flex}.eap-preview-row code{min-width:72px;color:var(--primary);font-weight:700}.eap-clear-warning{color:var(--text-secondary);margin:0}@media (width<=640px){.eap-toolbar .ui-search{flex-basis:100%;max-width:none}.eap-count{margin-left:0}.eap-scroll{max-height:none}}@media (prefers-reduced-motion:reduce){.eap-row,.eap-cell--grip{transition:none}}.schedule-mode{border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);cursor:pointer;border:0;padding:2px 6px;font-size:10px;line-height:1.5;display:inline-block}.schedule-start-label{color:var(--text-muted);white-space:normal;margin-top:2px;font-size:9px;display:block}.schedule-effective-start{color:var(--text);font-variant-numeric:tabular-nums}.schedule-date .schedule-editable{min-height:24px;font-size:10px}.schedule-cell-editor{gap:5px;min-width:0;display:grid}.schedule-local-error{border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);max-width:100%;color:var(--danger);font-family:var(--font-body);white-space:normal;overflow-wrap:anywhere;gap:6px;margin-top:6px;padding:7px;font-size:11px;font-weight:400;line-height:1.5;display:grid}.schedule-local-error .ui-btn{white-space:normal;justify-content:center;min-width:0;max-width:100%}.schedule-workspace{min-width:0}.schedule-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px;display:grid}.schedule-metric{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;color:var(--text);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast);align-items:flex-start;gap:12px;padding:16px;display:flex}.schedule-metric:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.schedule-metric.is-active{border-color:var(--primary);box-shadow:inset 0 2px 0 var(--primary)}.schedule-metric-icon{border-radius:var(--radius-sm);background:var(--primary-soft);height:34px;color:var(--primary);flex:0 0 34px;place-items:center;display:grid}.schedule-metric:nth-child(2) .schedule-metric-icon{background:var(--success-soft);color:var(--success)}.schedule-metric:nth-child(3) .schedule-metric-icon,.schedule-metric:nth-child(4) .schedule-metric-icon{background:var(--warning-soft);color:var(--warning)}.schedule-metric-label{color:var(--text-secondary);font-size:12px;font-weight:600;display:block}.schedule-metric strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:3px 0;font-size:27px;line-height:1.2;display:block}.schedule-metric small{color:var(--text-muted);font-size:11px;line-height:1.5;display:block}.schedule-table-card{overflow:hidden}.schedule-context-bar{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 16px;font-size:11px;display:flex}.schedule-context-bar>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-context-bar svg{color:var(--primary)}.schedule-context-bar strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.schedule-context-divider{color:var(--border-strong)}.schedule-toolbar{padding:12px 16px}.schedule-filter-fields{border:0;flex-wrap:wrap;align-items:flex-end;gap:12px;min-width:0;margin:0;padding:0;display:flex}.schedule-filter-fields .ui-field{flex:145px;min-width:0;max-width:260px;margin:0}.schedule-filter-fields .ui-field label{font-size:11px}.schedule-filter-fields .ui-field select{width:100%;min-height:38px;font-size:12px}.schedule-search{flex:2 250px;min-width:180px}.schedule-search .ui-search{width:100%;min-height:38px}.schedule-viewbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:0 16px 12px;display:flex}.schedule-view-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-filter-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:30px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:4px 9px;font-size:11px;display:flex}.schedule-filter-chip span{font-variant-numeric:tabular-nums;font-weight:700}.schedule-filter-chip:hover:not(:disabled),.schedule-filter-chip.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.schedule-cancelled-toggle{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.schedule-cancelled-toggle input{accent-color:var(--primary)}.schedule-count{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.schedule-table-scroll{overscroll-behavior:contain;width:100%;max-height:clamp(320px,55dvh,700px);overflow:auto}.schedule-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1200px;font-size:12.5px}.schedule-table thead th{z-index:4;background:var(--surface);height:40px;color:var(--text-muted);text-align:left;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border-strong);padding:9px 10px;font-size:10px;font-weight:700;position:sticky;top:0}.schedule-table thead th small{letter-spacing:0;text-transform:none;font-size:9px;font-weight:500;display:block}.schedule-table thead th:first-child{width:85px}.schedule-table thead th:nth-child(2){width:250px}.schedule-table thead th:nth-child(3){width:210px}.schedule-table thead th:nth-child(4),.schedule-table thead th:nth-child(6){width:120px}.schedule-table thead th:nth-child(5){width:90px}.schedule-table thead th:nth-child(7){width:165px}.schedule-table thead th:nth-child(8){width:130px}.schedule-table thead th:nth-child(9){width:76px}.schedule-table td{border-bottom:1px solid var(--border);vertical-align:middle;height:44px;color:var(--text-secondary);background:var(--surface);padding:5px 10px}.schedule-table tbody tr:hover td{background:var(--surface-hover)}.schedule-table tbody tr.is-selected td{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.schedule-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.schedule-table tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.schedule-table tbody tr.is-cancelled td{color:var(--text-muted)}.schedule-table .schedule-code,.schedule-table .schedule-name{z-index:2;position:sticky}.schedule-table .schedule-code,.schedule-table thead th:first-child{left:0}.schedule-table .schedule-name,.schedule-table thead th:nth-child(2){border-right:1px solid var(--border);left:85px}.schedule-table thead th:first-child,.schedule-table thead th:nth-child(2){z-index:5}.schedule-code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-weight:700;color:var(--primary)!important}.schedule-code small{color:var(--text-muted);font-family:var(--font-body);padding-left:5px;font-size:9px;font-weight:400;display:block}.schedule-activity-title{color:var(--text);align-items:center;gap:4px;font-weight:600;display:flex}.schedule-activity-title .schedule-editable{flex:1;min-width:0}.schedule-task-mark{background:var(--border-strong);border-radius:50%;flex:0 0 5px;width:5px;height:5px;margin:0 4px}.schedule-milestone{color:var(--accent);fill:var(--accent-soft);flex:0 0 14px}.schedule-name-meta{color:var(--text-muted);align-items:center;gap:8px;margin-left:19px;font-size:10px;display:flex}.schedule-name-meta:empty{display:none}.schedule-warning{color:var(--warning);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.schedule-eap-cell .schedule-editable{color:var(--text-secondary);font-size:11.5px}.schedule-editable{border-radius:var(--radius-sm);max-width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;cursor:text;transition:background var(--t-fast),border-color var(--t-fast);background:0 0;border:1px solid #0000;padding:4px 5px;display:inline-block;overflow:hidden}.schedule-editable:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface)}.schedule-editable:focus-visible{outline:2px solid var(--primary);outline-offset:-1px;background:var(--surface)}.schedule-editable:disabled{cursor:default;opacity:1}.schedule-placeholder{color:var(--text-muted);font-weight:400}.schedule-inline-input{border:1px solid var(--dk-cyan);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;min-height:32px;color:var(--text);font:inherit;box-shadow:0 0 0 3px var(--primary-soft);padding:4px 6px}.schedule-inline-input:focus{outline:0}.schedule-inline-input[aria-invalid=true]{border-color:var(--danger)}.schedule-date,.schedule-duration{white-space:nowrap;font-variant-numeric:tabular-nums}.schedule-duration .schedule-inline-input{max-width:65px}.schedule-duration small{color:var(--text-muted);font-size:10px}.schedule-predecessors{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.schedule-status-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:100%;min-height:29px;color:var(--text);padding:3px 5px;font-size:11px}.schedule-status--draft{color:var(--warning);background:var(--warning-soft);border-color:#0000}.schedule-status--planned{color:var(--success);background:var(--success-soft);border-color:#0000}.schedule-status-select option{color:var(--text);background:var(--surface)}.schedule-group th{border-bottom:1px solid var(--border);background:var(--surface-2);text-align:left;padding:0}.schedule-group th>div{justify-content:space-between;align-items:center;gap:16px;min-height:36px;padding-right:16px;display:flex}.schedule-group button{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:8px 12px;font-size:11.5px;font-weight:600;display:flex}.schedule-group button>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-group svg{color:var(--text-muted);flex:none}.schedule-group-count{border-radius:var(--radius-pill);background:var(--border);color:var(--text-secondary);padding:0 6px;font-size:10px}.schedule-group-period{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px;font-weight:400}.schedule-icon-button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.schedule-icon-button:hover:not(:disabled),.schedule-icon-button[aria-expanded=true]{background:var(--border);color:var(--text)}.schedule-workspace button:disabled{cursor:default}.schedule-quick-row .schedule-code{color:var(--primary)}.schedule-quick-row .schedule-inline-input{box-shadow:none}.schedule-quick-row input:focus-visible,.schedule-quick-row select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.schedule-quick-eap{width:100%;min-height:32px}.schedule-quick-actions{gap:2px;display:flex}.schedule-quick-actions .schedule-icon-button{width:24px}.schedule-add-row{border:0;border-bottom:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;color:var(--text-muted);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:600;display:flex}.schedule-add-row:hover:not(:disabled){background:var(--surface-hover);color:var(--primary)}.schedule-add-row kbd{margin-left:auto}.schedule-table-footnote{color:var(--text-muted);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;gap:6px;padding:10px 16px;font-size:10.5px;line-height:1.6;display:flex}.schedule-selection{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-top:16px;padding:16px 20px}.schedule-selection-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;display:flex}.schedule-overline{color:var(--text-muted);letter-spacing:.09em;font-size:9px;font-weight:700}.schedule-selection h2{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;font-size:14px;display:flex}.schedule-selection h2 code{color:var(--primary);font-size:12px}.schedule-selection-grid{grid-template-columns:1.2fr 1fr 1fr;gap:24px;margin-top:14px;display:grid}.schedule-detail-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.schedule-selection p{color:var(--text-secondary);overflow-wrap:anywhere;margin:6px 0;font-size:12px}.schedule-selection .schedule-description{color:var(--text-muted);white-space:pre-line;max-height:110px;font-size:11px;overflow:auto}.schedule-relations{gap:5px;max-height:130px;margin:8px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.schedule-relations li{align-items:baseline;gap:8px;font-size:11px;display:flex}.schedule-relations code{color:var(--primary);background:var(--primary-soft);border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:10px}.schedule-relations span{color:var(--text-secondary);overflow-wrap:anywhere}.schedule-review-list{border-top:1px solid var(--border);color:var(--warning);gap:6px;margin:12px 0 0;padding:12px 0 0;font-size:12px;list-style:none;display:grid}.schedule-review-list li{align-items:center;gap:7px;display:flex}.schedule-review-list svg{flex-shrink:0}.schedule-history-note{border-top:1px solid var(--border);padding-top:12px}.schedule-bottom-note{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;font-size:11px;line-height:1.6;display:flex}.schedule-bottom-note button{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.schedule-workspace kbd{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);white-space:nowrap;border-radius:4px;padding:2px 5px;font-family:inherit;font-size:10px;font-weight:500}.schedule-help h3{margin:18px 0 12px;font-size:13px}.schedule-help h3:first-child{margin-top:0}.schedule-help dl{grid-template-columns:110px 1fr;gap:12px;margin:0;display:grid}.schedule-help dt{color:var(--primary)}.schedule-help dd{color:var(--text-secondary);margin:0;font-size:12px}.schedule-help p{color:var(--text-secondary);font-size:12px;line-height:1.8}.schedule-drawer-backdrop{z-index:1000;background:var(--overlay);justify-content:flex-end;display:flex;position:fixed;inset:0}.schedule-drawer{background:var(--surface);width:min(520px,100%);height:100%;color:var(--text);box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s ease-out schedule-slide-in;display:flex}.schedule-drawer>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 18px;display:flex}.schedule-drawer>header small{color:var(--primary);letter-spacing:.1em;font-size:10px;font-weight:700}.schedule-drawer h2{margin:5px 0 0;font-size:20px}.schedule-drawer-subtitle{color:var(--text-secondary);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px}.schedule-drawer>.ui-alert{flex-shrink:0;max-height:160px;margin:14px 22px 0;overflow:auto}.schedule-drawer-content{flex:1;align-content:start;gap:16px;padding:22px 24px;display:grid;overflow:auto}.schedule-drawer-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.schedule-drawer>footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.schedule-form-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}@keyframes schedule-slide-in{0%{opacity:.7;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (width<=1100px){.schedule-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-filter-fields .ui-field{max-width:none}.schedule-search{flex-basis:100%}}@media (width<=700px){.schedule-metric{gap:8px;padding:12px}.schedule-metric-icon{display:none}.schedule-metric strong{font-size:24px}.schedule-selection-grid{grid-template-columns:1fr;gap:16px}.schedule-context-bar{gap:6px}.schedule-group-period{display:none}.schedule-table .schedule-code,.schedule-table .schedule-name{position:static}.schedule-table thead th:first-child,.schedule-table thead th:nth-child(2){left:auto}.schedule-table-scroll{max-height:65dvh}.schedule-selection{padding:14px}.schedule-selection-heading{align-items:flex-start}.schedule-selection-heading .ui-btn{flex-shrink:0}}@media (width<=520px){.schedule-drawer-grid{grid-template-columns:1fr}.schedule-drawer>header,.schedule-drawer-content{padding-left:18px;padding-right:18px}.schedule-drawer>footer{padding:14px 18px}.schedule-filter-fields .ui-field{flex-basis:100%}.schedule-help dl{grid-template-columns:90px 1fr}}
