@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.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{--primary:#0e6b5c;--primary-hover:#0a5649;--primary-light:#e3f1ee;--on-primary:#fff;--bg-primary:#f6f5f1;--bg-card:#fff;--bg-hover:#efede7;--sidebar-bg:#fbfaf7;--text-primary:#1b2421;--text-secondary:#4b5651;--text-muted:#66706b;--border:#e3e0d8;--border-strong:#cfcbc0;--danger:#b42318;--danger-hover:#93190f;--danger-light:#fcebea;--success:#157f3d;--success-light:#e7f4ec;--warning:#b45309;--warning-light:#fdf2e2;--info:#1d5bbf;--info-light:#e8effb;--violet:#6d3fc0;--violet-light:#f1ebfb;--plum:#a1467e;--plum-light:#f8eaf3;--badge-success-text:#10602e;--badge-warning-text:#8a3f06;--badge-danger-text:#8f1d13;--badge-info-text:#17468f;--c-office:var(--primary);--c-outside:var(--info);--c-audit:var(--violet);--c-away:var(--warning);--c-left:#8a938e;--c-absent:var(--danger);--c-leave:var(--plum);--focus-ring:#0e6b5c47;--radius:10px;--radius-sm:7px;--radius-pill:999px;--shadow:0 1px 2px #1b24210d, 0 1px 1px #1b242108;--shadow-md:0 4px 14px #1b242112, 0 1px 3px #1b24210d;--shadow-lg:0 16px 40px #1b242124, 0 3px 8px #1b24210f;--ease:cubic-bezier(.16, 1, .3, 1);--font-family:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h:56px;--bottom-h:62px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--primary:#3fb59f;--primary-hover:#63c9b5;--primary-light:#3fb59f24;--on-primary:#0d1412;--bg-primary:#111614;--bg-card:#181f1c;--bg-hover:#212a26;--sidebar-bg:#141a18;--text-primary:#e7ecea;--text-secondary:#a9b4af;--text-muted:#88948f;--border:#2a3430;--border-strong:#3a4641;--danger:#f0786d;--danger-light:#f0786d21;--success:#5cc985;--success-light:#5cc98521;--warning:#e8a352;--warning-light:#e8a35221;--info:#79a6f0;--info-light:#79a6f021;--violet:#ae8cf0;--violet-light:#ae8cf024;--plum:#e08cbf;--plum-light:#e08cbf21;--badge-success-text:#86dca6;--badge-warning-text:#f2c189;--badge-danger-text:#f6a59d;--badge-info-text:#a8c4f5;--c-left:#7b8782;--focus-ring:#3fb59f59;--shadow:0 1px 2px #00000059;--shadow-md:0 6px 18px #00000059;--shadow-lg:0 18px 44px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;caret-color:var(--primary);font-size:.95rem;line-height:1.55}h1,h2,h3,h4,h5{letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.25}h3{font-size:1.3rem}h4{font-size:1.02rem}a{color:var(--primary);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--primary-hover)}::selection{background:var(--primary-light);color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}table,.tnum{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg-primary);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-navbar{z-index:50;height:var(--nav-h);background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;position:sticky;top:0}.brand-title{color:var(--text-primary);letter-spacing:-.015em;align-items:center;gap:.55rem;font-size:1.08rem;font-weight:700;display:flex}.brand-title svg{width:32px;height:32px}.navbar-actions{align-items:center;gap:.75rem;display:flex}.main-content{flex:1;min-width:0;padding:1.75rem 2rem 3rem;overflow-y:auto}aside,.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);width:248px;color:var(--text-secondary);top:var(--nav-h);height:calc(100vh - var(--nav-h));flex-direction:column;flex-shrink:0;display:flex;position:sticky;overflow-y:auto;padding:1.1rem .85rem 2rem!important}.sidebar>div:first-child{padding:0 .5rem;margin-bottom:1rem!important}.sidebar>div:first-child h4{font-size:1rem!important}.sidebar>div:first-child p{letter-spacing:.05em;font-size:.7rem!important}.side-nav{flex-direction:column;gap:1rem;display:flex}.side-nav-group{flex-direction:column;gap:1px;display:flex}.side-nav-heading{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:0 .6rem .3rem;font-size:.7rem;font-weight:600}.side-nav-item{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;align-items:center;gap:.65rem;padding:.4rem .6rem;font-size:.9rem;font-weight:500;display:flex}.side-nav-item svg{color:var(--text-muted);transition:color .15s var(--ease);flex-shrink:0}.side-nav-item span:first-of-type{flex:1}.side-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.side-nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:600}.side-nav-item.active svg{color:var(--primary)}.nav-count{border-radius:var(--radius-pill);background:var(--danger);color:#fff;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex}.bottom-nav{display:none}.hamburger-btn{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:none}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--primary);border-color:var(--border-strong)}.btn{min-height:38px;font:inherit;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;line-height:1.2;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px #0e6b5c40}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--bg-card);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-sm{border-radius:6px;min-height:30px;padding:.3rem .7rem;font-size:.8rem}.btn-text{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:600}.btn-text:hover{text-decoration:underline}.form-group{margin-bottom:1.15rem}.form-label{color:var(--text-secondary);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.form-input,.form-select{width:100%;min-height:38px;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background-color:var(--bg-card);color:var(--text-primary);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:.5rem .75rem;font-size:.92rem}.form-input:hover,.form-select:hover{border-color:var(--text-muted)}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-input::placeholder{color:var(--text-muted)}.form-input:disabled{background:var(--bg-hover);color:var(--text-muted)}.form-input-sm,.form-select-sm{min-height:30px;padding:.25rem .5rem;font-size:.82rem}select.form-input,.form-select{cursor:pointer}.form-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:2.75rem}.password-toggle-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text-primary)}.table-responsive{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);width:100%;box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%}th{background:var(--bg-card);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.7rem 1rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem 1rem;font-size:.9rem}tr:last-child td{border-bottom:none}.table-responsive tbody tr{transition:background-color .12s var(--ease)}.table-responsive tbody tr:hover{background:var(--bg-primary)}.badge{border-radius:var(--radius-pill);white-space:nowrap;background:var(--bg-hover);color:var(--text-secondary);align-items:center;gap:.35rem;padding:.12rem .55rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.badge-success{background:var(--success-light);color:var(--badge-success-text)}.badge-danger{background:var(--danger-light);color:var(--badge-danger-text)}.badge-warning{background:var(--warning-light);color:var(--badge-warning-text)}.badge-info{background:var(--info-light);color:var(--badge-info-text)}.badge-secondary,.badge-open{background:var(--bg-hover);color:var(--text-secondary)}.badge-progress{background:var(--info-light);color:var(--badge-info-text)}.badge-review{background:var(--violet-light);color:var(--violet)}.badge-done{background:var(--success-light);color:var(--badge-success-text)}.badge-muted{color:var(--text-muted);border:1px solid var(--border);background:0 0}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.alert{border-radius:var(--radius-sm);border:1px solid #0000;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:flex}.alert-danger{background:var(--danger-light);color:var(--badge-danger-text);border-color:color-mix(in srgb, var(--danger) 22%, transparent)}.alert-success{background:var(--success-light);color:var(--badge-success-text);border-color:color-mix(in srgb, var(--success) 22%, transparent)}.alert-warning{background:var(--warning-light);color:var(--badge-warning-text);border-color:color-mix(in srgb, var(--warning) 22%, transparent)}.alert-info{background:var(--info-light);color:var(--badge-info-text);border-color:color-mix(in srgb, var(--info) 22%, transparent)}.empty-state{text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.5rem;font-size:.9rem;display:flex}.empty-state svg{opacity:.4;width:40px;height:40px;margin-bottom:.75rem}@keyframes overlayIn{0%{opacity:0}}@keyframes sheetIn{0%{opacity:0;transform:translateY(12px)scale(.99)}}.modal-overlay{z-index:1000;background:#11161473;justify-content:center;align-items:center;padding:1rem;animation:.18s ease-out overlayIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);animation:sheetIn .32s var(--ease);border-radius:14px;padding:1.6rem;overflow-y:auto}.auth-wrapper{min-height:calc(100vh - var(--nav-h));justify-content:center;align-items:flex-start;padding:3rem 1rem;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-md);border-radius:14px;padding:2rem}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);font-size:.9rem}.tab-group{background:var(--bg-hover);border-radius:var(--radius-sm);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.tab-group .btn{min-height:30px;box-shadow:none;border:0}.tab-group .btn-secondary{background:0 0}.tab-group .btn-primary{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow)}.hod-badge{background:var(--primary-light);color:var(--primary);border-radius:5px;align-items:center;gap:4px;padding:1px 7px;font-size:.7rem;font-weight:600;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}.content-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:.75rem;padding:3rem;display:flex}.content-loading-spinner{border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:1.25rem;display:flex}.page-head p{color:var(--text-secondary);margin-top:.15rem;font-size:.88rem}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem}.panel h4{margin-bottom:.75rem}.stack{border-radius:var(--radius-pill);background:var(--bg-hover);gap:2px;height:10px;display:flex;overflow:hidden}.stack>span{min-width:6px;transition:flex-grow .5s var(--ease);display:block}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:.35rem 1rem;font-size:.8rem;display:flex}.legend>span{align-items:center;gap:.4rem;display:inline-flex}.day-track{background:repeating-linear-gradient(90deg, var(--bg-hover) 0 1px, transparent 1px calc(100% / 13));background-color:var(--bg-primary);border:1px solid var(--border);border-radius:6px;height:22px;position:relative;overflow:hidden}.day-track .seg{border-radius:4px;position:absolute;top:3px;bottom:3px}.day-track .office-hours{border-left:1px dashed var(--border-strong);border-right:1px dashed var(--border-strong);position:absolute;top:0;bottom:0}.day-track .now{background:var(--danger);border-radius:1px;width:2px;position:absolute;top:-2px;bottom:-2px}.day-scale{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:3px;font-size:.68rem;display:flex}.steps{align-items:center;gap:0;margin:.5rem 0 .25rem;display:flex}.steps .step{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.steps .step .node{border:2px solid var(--border-strong);background:var(--bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.steps .step.done .node{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.steps .step.current .node{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.steps .step.current{color:var(--text-primary);font-weight:600}.steps .step.done{color:var(--text-secondary)}.steps .bar{background:var(--border-strong);flex:1;min-width:10px;height:2px;margin:0 .4rem}.steps .bar.done{background:var(--primary)}.attn{flex-direction:column;display:flex}.attn button{border:0;border-bottom:1px solid var(--border);font:inherit;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.6rem .25rem;display:grid}.attn button:last-child{border-bottom:0}.attn button:hover{background:var(--bg-primary)}.attn .n{font-variant-numeric:tabular-nums;text-align:right;min-width:2.2ch;font-size:1.15rem;font-weight:700}.attn .hint{color:var(--text-muted);font-size:.8rem}.attn svg{color:var(--text-muted)}@media (width<=1100px){aside,.sidebar{width:220px}.main-content{padding:1.5rem 1.25rem 3rem}.main-content [style*="grid-template-columns: 2fr 1fr"]{grid-template-columns:1fr!important}}@media (width<=768px){body{font-size:.94rem}.app-navbar{padding:0 .75rem}.brand-title{font-size:1rem}.navbar-actions{gap:.4rem}.navbar-actions .btn{min-height:34px;padding:.35rem .7rem}.hamburger-btn{display:inline-flex}aside,.sidebar{z-index:1001;width:min(300px,86vw);height:100vh;transition:transform .28s var(--ease);box-shadow:var(--shadow-lg);top:0;bottom:0;left:0;transform:translate(-105%);padding-top:1.25rem!important;position:fixed!important}.sidebar.open{transform:none}.side-nav-item{min-height:44px;font-size:.95rem}.main-content{padding:1rem 1rem calc(var(--bottom-h) + 1.5rem + env(safe-area-inset-bottom))}.main-content h3{font-size:1.15rem}.bottom-nav{z-index:950;height:calc(var(--bottom-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-card);border-top:1px solid var(--border);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #1b24210f}.bottom-nav button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.68rem;font-weight:600;display:flex}.bottom-nav button.active{color:var(--primary)}.bottom-nav-icon{display:inline-flex;position:relative}.bottom-nav-icon .nav-count{border:2px solid var(--bg-card);min-width:18px;height:18px;font-size:.65rem;position:absolute;top:-6px;right:-12px}[aria-label=Tutorial]{bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom))!important}.main-content [style*="grid-template-columns: 1fr 1fr"],.main-content [style*="grid-template-columns: 2fr 1fr"]{grid-template-columns:1fr!important}.main-content [style*="min-width: 320px"]{min-width:0!important}th{padding:.55rem .7rem}td{padding:.6rem .7rem;font-size:.86rem}.form-input,.form-select{min-height:42px;font-size:16px}.btn{min-height:42px}.btn-sm{min-height:34px}.modal-overlay{align-items:flex-end;padding:0}.modal-content{max-width:none;max-height:92vh;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.auth-wrapper{padding:1.5rem .75rem}.auth-card{padding:1.5rem 1.1rem}}.alert{flex-wrap:wrap}@media (width<=480px){.brand-title span{display:none}.navbar-actions>div button{padding:4px 8px!important}}@media (width<=768px){.main-content [style*="grid-template-columns: 2fr 1fr"]>:last-child:not(:first-child){order:-1}.tutorial-who{display:none}.tutorial-actions{padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap!important;margin-left:0!important}[aria-label=Tutorial] ol{max-height:30vh;overflow-y:auto}}
