@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=)format("woff2"),url(data:font/woff;base64,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)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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.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{--canvas:#f4f3ef;--surface:#fff;--surface-2:#faf9f6;--surface-hover:#f5f3ee;--line:#e7e4dc;--line-strong:#d6d2c8;--ink-900:#0b1120;--ink-800:#111a2e;--ink-700:#1a2540;--ink-600:#26334f;--ink-text:#b7c0d3;--ink-text-strong:#fff;--text:#15181f;--text-2:#5a606c;--text-3:#8b909b;--text-inverse:#fff;--brand:#1b2a4a;--brand-hover:#142038;--brand-soft:#e9edf5;--accent:#e3721f;--accent-hover:#cc6316;--accent-soft:#fdf0e6;--accent-ring:#e3721f38;--ok:#1f8a5b;--ok-soft:#e6f5ec;--warn:#c48a10;--warn-soft:#fbf3dd;--bad:#c93b3b;--bad-soft:#fceaea;--info:#2a6bb3;--info-soft:#e7eff9;--violet:#6a4fd8;--violet-soft:#eeeafb;--shadow-xs:0 1px 2px #1418210d;--shadow-sm:0 1px 3px #1418210f, 0 1px 2px #1418210a;--shadow-md:0 6px 16px -6px #1418211f, 0 2px 6px -2px #1418210f;--shadow-lg:0 24px 48px -16px #14182138, 0 8px 20px -8px #1418211a;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--sidebar-w:264px;--sidebar-w-collapsed:76px;--topbar-h:64px;--content-max:1360px;--font-sans:"Manrope Variable", "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--t-fast:.14s var(--ease);--t-med:.22s var(--ease);--t-slow:.36s var(--ease)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";font-size:.9375rem;line-height:1.55}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--text);font-weight:700;line-height:1.25}h1{letter-spacing:-.02em;font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.0625rem}h4{font-size:.9375rem}.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.875em}::selection{background:var(--accent-soft);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:padding-box;border:3px solid #0000}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes floaty{0%,to{transform:translate(0,0)}50%{transform:translateY(-14px)}}.spin{animation:.9s linear infinite spin}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:radial-gradient(120% 60% at 0% 0%, #e3721f1f 0%, #e3721f00 55%), linear-gradient(180deg, var(--ink-800) 0%, var(--ink-900) 100%);color:var(--ink-text);z-index:60;transition:width var(--t-slow), transform var(--t-slow);border-right:1px solid #ffffff0a;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-brand{height:var(--topbar-h);color:var(--ink-text-strong);border-bottom:1px solid #ffffff0f;align-items:center;gap:.75rem;padding:0 1.125rem;display:flex}.brand-mark{background:linear-gradient(145deg, #f08a3d 0%, var(--accent) 60%, #b8560f 100%);color:#fff;letter-spacing:-.02em;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:1.05rem;font-weight:800;display:grid;box-shadow:0 6px 14px -6px #e3721fb3,inset 0 1px #ffffff40}.brand-text{flex-direction:column;min-width:0;line-height:1.1;display:flex}.brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:.9375rem;font-weight:800}.brand-sub{color:var(--ink-text);opacity:.75;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.6875rem}.sidebar.collapsed .brand-text{display:none}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.nav-section-label{letter-spacing:.12em;text-transform:uppercase;color:#b7c0d38c;padding:.5rem .75rem;font-size:.6875rem;font-weight:700}.sidebar.collapsed .nav-section-label{display:none}.nav-link{border-radius:var(--r-md);height:42px;color:var(--ink-text);transition:background var(--t-fast), color var(--t-fast), transform var(--t-fast);align-items:center;gap:.75rem;margin-bottom:2px;padding:0 .75rem;font-size:.875rem;font-weight:600;display:flex;position:relative}.nav-link:hover{color:var(--ink-text-strong);background:#ffffff0d}.nav-link.active{color:var(--ink-text-strong);background:#ffffff14}.nav-link.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-.75rem;box-shadow:0 0 12px #e3721fcc}.nav-link-icon{opacity:.8;flex-shrink:0;width:20px;height:20px}.nav-link.active .nav-link-icon{opacity:1;color:#f7a35e}.nav-link-label{white-space:nowrap;overflow:hidden}.sidebar.collapsed .nav-link{justify-content:center;padding:0}.sidebar.collapsed .nav-link-label,.sidebar.collapsed .nav-link.active:before{display:none}.sidebar-footer{border-top:1px solid #ffffff0f;padding:.75rem}.sidebar-user{border-radius:var(--r-md);align-items:center;gap:.625rem;min-width:0;padding:.5rem .625rem;display:flex}.sidebar-user-text{min-width:0;line-height:1.2}.sidebar-user-name{color:var(--ink-text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;overflow:hidden}.sidebar-user-role{color:var(--ink-text);opacity:.7;white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.sidebar.collapsed .sidebar-user{justify-content:center;padding:.5rem 0}.sidebar.collapsed .sidebar-user-text{display:none}.sidebar-collapse{width:100%;height:34px;color:var(--ink-text);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:#ffffff08;border:1px solid #ffffff14;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.sidebar-collapse:hover{color:var(--ink-text-strong);background:#ffffff14}.avatar{border-radius:var(--r-full);letter-spacing:.02em;color:#fff;background:linear-gradient(140deg, #3b4f7a, var(--brand));flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.75rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.avatar.accent{background:linear-gradient(140deg, #f08a3d, var(--accent))}.main-wrapper{min-width:0;margin-left:var(--sidebar-w);transition:margin-left var(--t-slow);flex-direction:column;flex:1;display:flex}.main-wrapper.sidebar-collapsed{margin-left:var(--sidebar-w-collapsed)}.topbar{z-index:50;height:var(--topbar-h);-webkit-backdrop-filter:blur(12px)saturate(1.2);border-bottom:1px solid var(--line);background:#f4f3efd1;justify-content:space-between;align-items:center;padding:0 1.75rem;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:.75rem;display:flex}.topbar-crumb{color:var(--text-3);font-size:.8125rem;font-weight:600}.topbar-crumb strong{color:var(--text);font-weight:700}.topbar-date{color:var(--text-2);border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);padding:.375rem .75rem;font-size:.8125rem;font-weight:600}.user-chip{text-align:left;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);align-items:center;gap:.625rem;padding:.25rem .75rem .25rem .25rem;font-family:inherit;display:flex}.user-chip .avatar{width:30px;height:30px;font-size:.6875rem}.user-chip-text{line-height:1.15}.user-chip-name{font-size:.8125rem;font-weight:700}.user-chip-role{color:var(--text-3);font-size:.6875rem;font-weight:600}.icon-btn{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--text-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast);place-items:center;display:inline-grid}.icon-btn:hover{color:var(--text);border-color:var(--line-strong);transform:translateY(-1px)}.icon-btn.danger:hover{color:var(--bad);background:var(--bad-soft);border-color:#f1c4c4}.menu-toggle{display:none}.main-content{flex:1;padding:2rem 1.75rem 3rem}.page{max-width:var(--content-max);animation:rise .32s var(--ease) both;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:1.75rem;display:flex}.page-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.375rem;margin-bottom:.375rem;font-size:.6875rem;font-weight:800;display:inline-flex}.page-title{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.page-subtitle{color:var(--text-2);max-width:60ch;margin-top:.25rem;font-size:.9375rem}.page-actions{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.back-link{width:fit-content;color:var(--text-3);transition:color var(--t-fast), transform var(--t-fast);align-items:center;gap:.375rem;margin-bottom:.625rem;font-size:.8125rem;font-weight:600;display:flex}.back-link:hover{color:var(--text);transform:translate(-2px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.card+.card{margin-top:1.25rem}.card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.125rem 1.5rem;display:flex}.card-title{letter-spacing:-.005em;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:800;display:flex}.card-title .count{font-family:var(--font-mono);color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:.1rem .45rem;font-size:.6875rem;font-weight:600}.card-body{padding:1.5rem}.card-body.flush{padding:0}.card-footer{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);padding:.875rem 1.5rem}.section-title{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.125rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:transform var(--t-med), box-shadow var(--t-med), border-color var(--t-med);animation:rise .4s var(--ease) both;flex-direction:column;gap:.875rem;padding:1.25rem 1.375rem;display:flex;position:relative;overflow:hidden}.stat-card:first-child{animation-delay:20ms}.stat-card:nth-child(2){animation-delay:80ms}.stat-card:nth-child(3){animation-delay:.14s}.stat-card:nth-child(4){animation-delay:.2s}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.stat-card:after{content:"";opacity:.05;pointer-events:none;background:currentColor;border-radius:50%;width:120px;height:120px;position:absolute;top:-30px;right:-30px}.stat-top{justify-content:space-between;align-items:center;display:flex}.stat-icon{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.stat-label{color:var(--text-2);font-size:.8125rem;font-weight:600}.stat-value{overflow-wrap:anywhere;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text);font-size:1.75rem;font-weight:800;line-height:1.1}.stat-hint{color:var(--text-3);font-size:.75rem;font-weight:600}.stat-value.compact{font-size:1.5rem}.tint-blue{background:var(--info-soft);color:var(--info)}.tint-green{background:var(--ok-soft);color:var(--ok)}.tint-amber{background:var(--warn-soft);color:var(--warn)}.tint-red{background:var(--bad-soft);color:var(--bad)}.tint-violet{background:var(--violet-soft);color:var(--violet)}.tint-orange{background:var(--accent-soft);color:var(--accent)}.tint-navy{background:var(--brand-soft);color:var(--brand)}.stat-card.blue{color:var(--info)}.stat-card.green{color:var(--ok)}.stat-card.amber{color:var(--warn)}.stat-card.violet{color:var(--violet)}.stat-card.orange{color:var(--accent)}.stat-card .stat-value,.stat-card .stat-label,.stat-card .stat-hint{color:var(--text)}.stat-card .stat-label{color:var(--text-2)}.stat-card .stat-hint{color:var(--text-3)}.summary-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.875rem;display:grid}.summary-tile{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);flex-direction:column;gap:.25rem;padding:1rem 1.125rem;display:flex}.summary-tile .label{color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:700}.summary-tile .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.summary-tile.ok{background:var(--ok-soft);border-color:#cfe9db}.summary-tile.ok .value{color:var(--ok)}.summary-tile.bad{background:var(--bad-soft);border-color:#f1c4c4}.summary-tile.bad .value{color:var(--bad)}.summary-tile.warn{background:var(--warn-soft);border-color:#f0dfae}.summary-tile.warn .value{color:var(--warn)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table thead th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:.875rem 1.25rem;font-size:.6875rem;font-weight:800}.table thead th:first-child{border-top-left-radius:var(--r-lg)}.table thead th:last-child{border-top-right-radius:var(--r-lg)}.table tbody td{border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text);padding:.875rem 1.25rem}.table tbody tr{transition:background var(--t-fast)}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table th.num,.table td.num{text-align:right}.table th.num{font-family:var(--font-sans);font-size:.6875rem}.table td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}.table td.strong{font-weight:700}.table td.muted{color:var(--text-3)}.table td.wrap{white-space:normal;max-width:320px}.table td.actions{text-align:right;white-space:nowrap}.table th.actions{text-align:right}.cell-with-icon{align-items:center;gap:.5rem;display:inline-flex}.cell-with-icon svg{color:var(--text-3);flex-shrink:0}.cell-sub{color:var(--text-3);margin-top:1px;font-size:.75rem;display:block}.code-chip{font-family:var(--font-mono);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.table-footer{border-top:1px solid var(--line);color:var(--text-2);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;font-size:.8125rem;display:flex}.pager{align-items:center;gap:.5rem;display:flex}.btn{letter-spacing:-.005em;border-radius:var(--r-md);cursor:pointer;white-space:nowrap;height:40px;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;font-weight:700;display:inline-flex;position:relative}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn svg{flex-shrink:0}.btn-primary{background:var(--brand);color:#fff;box-shadow:inset 0 1px #ffffff14,0 6px 14px -8px #1b2a4ab3}.btn-primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 10px 20px -10px #1b2a4abf}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 6px 14px -8px #e3721fcc}.btn-accent:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:#c4bfb3;transform:translateY(-1px)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:#b23030;transform:translateY(-1px)}.btn-danger-soft{background:var(--bad-soft);color:var(--bad);border-color:#f1c4c4}.btn-danger-soft:hover:not(:disabled){background:#f8dcdc}.btn-success-soft{background:var(--ok-soft);color:var(--ok);border-color:#cfe9db}.btn-success-soft:hover:not(:disabled){background:#d9efe3}.btn-sm{border-radius:8px;gap:.375rem;height:32px;padding:0 .75rem;font-size:.8125rem}.btn-lg{height:48px;padding:0 1.5rem;font-size:.9375rem}.btn-block{width:100%}.btn-square{width:40px;padding:0}.btn-square.btn-sm{width:32px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem 1.25rem;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.125rem 1.25rem;display:grid}.col-span-2{grid-column:1/-1}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group+.form-group{margin-top:1rem}.form-grid .form-group+.form-group,.form-grid-3 .form-group+.form-group{margin-top:0}.form-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);font-size:.75rem;font-weight:700}.form-label .req{color:var(--accent);margin-left:2px}.form-control,.form-group input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-group select,.form-group textarea{width:100%;height:42px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-xs);transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);appearance:none;padding:0 .875rem;font-size:.9rem}.form-group textarea,textarea.form-control{resize:vertical;height:auto;min-height:96px;padding:.75rem .875rem;line-height:1.5}.form-control::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-3)}.form-control:hover,.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#c4bfb3}.form-control:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.form-control:disabled,.form-group input:disabled,.form-group select:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.form-control.is-invalid,.form-group input.is-invalid{border-color:var(--bad)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #c93b3b2e}select.form-control,.form-group select{cursor:pointer;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='%238b909b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}input[type=date].form-control,.form-group input[type=date]{padding-right:.5rem}.form-hint{color:var(--text-3);font-size:.75rem}.form-error{color:var(--bad);font-size:.75rem;font-weight:600}.form-actions{align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.form-actions.end{justify-content:flex-end}.form-actions.between{justify-content:space-between}.input-inline{height:34px!important;padding:0 .625rem!important;font-size:.8375rem!important}.search-box{width:100%;max-width:380px;position:relative}.search-box .search-icon{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.search-box input{padding-left:2.5rem!important}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.toolbar-left,.toolbar-right{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.toolbar-left{flex:280px}.badge{letter-spacing:.02em;border-radius:var(--r-full);white-space:nowrap;text-transform:capitalize;background:var(--surface-2);color:var(--text-2);border:1px solid var(--line);align-items:center;gap:.375rem;padding:.2rem .625rem .2rem .5rem;font-size:.71875rem;font-weight:700;line-height:1.5;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.no-dot:before{display:none}.badge.no-dot{padding-left:.625rem}.badge-default,.badge-gray,.badge-secondary{background:var(--surface-2);color:var(--text-2);border-color:var(--line)}.badge-blue{background:var(--info-soft);color:var(--info);border-color:#cddcef}.badge-green,.badge-success,.badge-active{background:var(--ok-soft);color:var(--ok);border-color:#cfe9db}.badge-amber{background:var(--warn-soft);color:var(--warn);border-color:#f0dfae}.badge-red,.badge-danger{background:var(--bad-soft);color:var(--bad);border-color:#f1c4c4}.badge-violet{background:var(--violet-soft);color:var(--violet);border-color:#dcd4f5}.badge-orange{background:var(--accent-soft);color:var(--accent);border-color:#f6d3b8}.badge-inactive{background:var(--surface-2);color:var(--text-3);border-color:var(--line)}.badge-navy{background:var(--brand-soft);color:var(--brand);border-color:#cfd6e3}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs);gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:inline-flex}.tab{height:36px;color:var(--text-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:0 1rem;font-size:.8375rem;font-weight:700;display:inline-flex}.tab:hover{color:var(--text);background:var(--surface-hover)}.tab.active{background:var(--brand);color:#fff;box-shadow:0 4px 10px -6px #1b2a4acc}.tab svg{opacity:.85}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);animation:fade .18s var(--ease) both;background:#0b112073;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:540px;max-height:calc(100vh - 2.5rem);box-shadow:var(--shadow-lg);animation:rise .26s var(--ease) both;border:1px solid #fff9;overflow:auto}.modal.wide{max-width:720px}.modal.narrow{max-width:440px}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.375rem 1.5rem 1rem;display:flex}.modal-title{letter-spacing:-.01em;font-size:1.125rem;font-weight:800}.modal-desc{color:var(--text-2);margin-top:.2rem;font-size:.8375rem}.modal-close{border-radius:var(--r-md);background:var(--surface-2);width:34px;height:34px;color:var(--text-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);border:none;flex-shrink:0;place-items:center;display:grid}.modal-close:hover{background:var(--line);color:var(--text)}.modal-body{padding:.25rem 1.5rem 1.5rem}.modal-footer{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl);justify-content:flex-end;align-items:center;gap:.625rem;padding:1rem 1.5rem;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:3.5rem 1.5rem;display:flex}.empty-icon{background:var(--surface-2);border:1px solid var(--line);width:64px;height:64px;color:var(--text-3);border-radius:20px;place-items:center;margin-bottom:.75rem;display:grid}.empty-state h3{font-size:1rem;font-weight:800}.empty-state p{color:var(--text-2);max-width:42ch;font-size:.875rem}.empty-state .btn{margin-top:.875rem}.loading-block{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3.5rem 1.5rem;font-size:.875rem;font-weight:600;display:flex}.spinner{border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.app-loading{background:var(--canvas);place-items:center;min-height:100vh;display:grid}.app-loading-inner{color:var(--text-2);flex-direction:column;align-items:center;gap:1rem;font-size:.875rem;font-weight:600;display:flex}.app-loading .brand-mark{border-radius:14px;width:48px;height:48px;font-size:1.4rem;animation:2.2s ease-in-out infinite floaty}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-2) 0%, #efede7 40%, var(--surface-2) 80%);background-size:800px 100%;animation:1.4s linear infinite shimmer}.alert{border-radius:var(--r-md);border:1px solid #0000;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.alert-danger{background:var(--bad-soft);color:#9a2b2b;border-color:#f1c4c4}.alert-warning{background:var(--warn-soft);color:#8a5f0a;border-color:#f0dfae}.alert-success{background:var(--ok-soft);color:#176a46;border-color:#cfe9db}.alert-info{background:var(--info-soft);color:#1f5390;border-color:#cddcef}.info-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem 1.5rem;display:grid}.info-item{flex-direction:column;gap:.25rem;min-width:0;display:flex}.info-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:.375rem;font-size:.6875rem;font-weight:800;display:inline-flex}.info-value{color:var(--text);overflow-wrap:anywhere;font-size:.9375rem;font-weight:600}.info-value.muted{color:var(--text-3);font-weight:500}.divider{background:var(--line);height:1px;margin:1.5rem 0}.hero-strip{grid-template-columns:1.4fr 1fr;gap:1.25rem;margin-bottom:1.5rem;display:grid}.hero-card{border-radius:var(--r-lg);color:#fff;background:radial-gradient(90% 90% at 100% 0%, #e3721f59 0%, #e3721f00 60%), linear-gradient(135deg, var(--ink-700) 0%, var(--ink-900) 100%);box-shadow:var(--shadow-md);padding:1.5rem 1.75rem;position:relative;overflow:hidden}.hero-card .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#f7a35e;margin-bottom:.5rem;font-size:.6875rem;font-weight:800}.hero-card h2{color:#fff;letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.5rem}.hero-card .meta{flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.125rem;display:flex}.hero-card .meta-item{flex-direction:column;gap:.15rem;display:flex}.hero-card .meta-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font-size:.6875rem;font-weight:700}.hero-card .meta-value{align-items:center;gap:.375rem;font-size:.9375rem;font-weight:700;display:inline-flex}.hero-card .badge{color:#fff;background:#ffffff1f;border-color:#fff3}.hero-side{grid-template-rows:repeat(3,1fr);gap:.75rem;display:grid}.hero-side .summary-tile{justify-content:center}.tree-list{flex-direction:column;display:flex}.tree-row{border-bottom:1px solid var(--line);transition:background var(--t-fast);align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.tree-row:last-child{border-bottom:none}.tree-row:hover{background:var(--surface-hover)}.tree-indent{color:var(--line-strong);align-items:center;display:inline-flex}.tree-indent span{border-left:1px dashed var(--line-strong);width:22px;height:100%;display:inline-block}.tree-type{letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-sm);border:1px solid;padding:.2rem .5rem;font-size:.625rem;font-weight:800}.tree-type.site{background:var(--ok-soft);color:var(--ok);border-color:#cfe9db}.tree-type.block,.tree-type.tower{background:var(--info-soft);color:var(--info);border-color:#cddcef}.tree-type.floor,.tree-type.zone{background:var(--warn-soft);color:var(--warn);border-color:#f0dfae}.tree-type.unit{background:var(--surface-2);color:var(--text-2);border-color:var(--line)}.tree-name{font-weight:700}.tree-code{font-family:var(--font-mono);color:var(--text-3);font-size:.75rem}.stepper{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);align-items:center;margin-bottom:1.75rem;padding:1.125rem 1.5rem;display:flex}.step{flex:none;align-items:center;gap:.75rem;display:flex}.step-index{background:var(--surface-2);border:1.5px solid var(--line-strong);width:32px;height:32px;color:var(--text-3);transition:all var(--t-med);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:800;display:grid}.step-text{flex-direction:column;line-height:1.2;display:flex}.step-label{color:var(--text-3);font-size:.8375rem;font-weight:700}.step-sub{color:var(--text-3);font-size:.6875rem;font-weight:600}.step.active .step-index{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-soft)}.step.active .step-label{color:var(--text)}.step.done .step-index{background:var(--ok);border-color:var(--ok);color:#fff}.step.done .step-label{color:var(--ok)}.step-line{background:var(--line);border-radius:2px;flex:auto;height:2px;margin:0 1rem;position:relative;overflow:hidden}.step-line:after{content:"";background:var(--ok);transform-origin:0;transition:transform var(--t-slow);position:absolute;inset:0;transform:scaleX(0)}.step-line.done:after{transform:scaleX(1)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);text-align:center;cursor:pointer;background:var(--surface-2);transition:border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);flex-direction:column;align-items:center;gap:.375rem;padding:2.75rem 1.5rem;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone.has-file{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}.dropzone-icon{background:var(--surface);border:1px solid var(--line);width:56px;height:56px;color:var(--text-2);border-radius:16px;place-items:center;margin-bottom:.5rem;display:grid}.dropzone.has-file .dropzone-icon{color:var(--ok);border-color:#cfe9db}.dropzone-title{font-size:.9375rem;font-weight:700}.dropzone-sub{color:var(--text-3);font-size:.8125rem}.mapping-list{flex-direction:column;gap:.625rem;display:flex}.mapping-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--t-fast), box-shadow var(--t-fast);grid-template-columns:180px 24px 1fr 24px;align-items:center;gap:.875rem;padding:.75rem 1rem;display:grid}.mapping-row:hover{border-color:var(--line-strong)}.mapping-row.mapped{background:#fbfdfc;border-color:#cfe9db}.mapping-field{font-size:.875rem;font-weight:700}.mapping-field small{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:600;display:block}.mapping-arrow{color:var(--text-3)}.mapping-check{color:var(--ok)}.error-list{flex-direction:column;gap:.375rem;max-height:220px;list-style:none;display:flex;overflow:auto}.error-list li{color:var(--text-2);border-radius:var(--r-sm);background:var(--bad-soft);border-left:3px solid var(--bad);padding:.5rem .75rem;font-size:.8375rem}.version-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.version-select{align-items:center;gap:.75rem;display:flex}.version-select label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:.75rem;font-weight:800}.version-select select{min-width:220px;height:38px}.login{background:var(--canvas);grid-template-columns:1.15fr 1fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(70% 60% at 85% 15%, #e3721f52 0%, #e3721f00 60%), radial-gradient(60% 50% at 10% 90%, #2a6bb347 0%, #2a6bb300 60%), linear-gradient(160deg, var(--ink-700) 0%, var(--ink-900) 100%);flex-direction:column;justify-content:space-between;padding:3rem;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 70%,#000 30%,#0000 100%)}.login-orb{filter:blur(2px);opacity:.9;pointer-events:none;border-radius:50%;position:absolute}.login-orb.one{background:radial-gradient(circle at 30% 30%,#f7a35e8c,#e3721f0d 70%);width:320px;height:320px;animation:9s ease-in-out infinite floaty;top:12%;right:-80px}.login-orb.two{background:radial-gradient(circle at 30% 30%,#6096dc80,#2a6bb30a 70%);width:220px;height:220px;animation:11s ease-in-out infinite reverse floaty;bottom:14%;left:8%}.login-brand{align-items:center;gap:.75rem;display:flex;position:relative}.login-brand .brand-mark{border-radius:12px;width:42px;height:42px;font-size:1.2rem}.login-brand .brand-name{font-size:1.0625rem}.login-brand .brand-sub{color:#fff9}.login-copy{max-width:520px;position:relative}.login-copy .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#f7a35e;margin-bottom:1rem;font-size:.75rem;font-weight:800}.login-copy h2{color:#fff;letter-spacing:-.03em;margin-bottom:1.25rem;font-size:2.5rem;font-weight:800;line-height:1.1}.login-copy p{color:#ffffffb8;max-width:46ch;font-size:1rem;line-height:1.6}.login-points{gap:.75rem;margin-top:2rem;display:grid}.login-point{border-radius:var(--r-md);color:#ffffffdb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0d;border:1px solid #ffffff14;align-items:center;gap:.75rem;padding:.75rem .875rem;font-size:.875rem;font-weight:600;display:flex}.login-point svg{color:#f7a35e;flex-shrink:0}.login-foot{color:#ffffff73;font-size:.75rem;font-weight:600;position:relative}.login-panel{justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.login-form{width:100%;max-width:400px;animation:rise .4s var(--ease) both}.login-form .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.6875rem;font-weight:800}.login-form h1{margin-bottom:.375rem;font-size:1.875rem}.login-form .lead{color:var(--text-2);margin-bottom:2rem;font-size:.9375rem}.login-form .form-group+.form-group{margin-top:1.125rem}.login-form .btn{margin-top:1.5rem}.login-foot-note{color:var(--text-3);text-align:center;margin-top:2rem;font-size:.75rem}.password-wrap{position:relative}.password-wrap input{padding-right:2.75rem!important}.password-toggle{width:30px;height:30px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--surface-2)}.text-muted{color:var(--text-2)}.text-faint{color:var(--text-3)}.text-danger{color:var(--bad)}.text-ok{color:var(--ok)}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}.fw-600{font-weight:600}.fw-700{font-weight:700}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.flex-wrap{flex-wrap:wrap}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.w-full{width:100%}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-strip{grid-template-columns:1fr}.hero-side{grid-template-rows:none;grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.login{grid-template-columns:1fr}.login-visual{min-height:320px;padding:2rem}.login-copy h2{font-size:1.75rem}.login-points{display:none}.grid-2{grid-template-columns:1fr}.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.sidebar{width:var(--sidebar-w);transform:translate(-100%)}.sidebar.collapsed{width:var(--sidebar-w)}.sidebar.mobile-open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar.mobile-open .brand-text,.sidebar.mobile-open .nav-link-label,.sidebar.mobile-open .nav-section-label,.sidebar.mobile-open .sidebar-user-text{display:block}.sidebar.mobile-open .nav-link{justify-content:flex-start;padding:0 .75rem}.sidebar.mobile-open .sidebar-brand{justify-content:flex-start;padding:0 1.125rem}.sidebar-collapse{display:none}.main-wrapper,.main-wrapper.sidebar-collapsed{margin-left:0}.menu-toggle{display:inline-grid}.main-content{padding:1.25rem 1rem 2.5rem}.topbar{padding:0 1rem}.topbar-date,.user-chip-text{display:none}.user-chip{padding:.25rem}.page-header{flex-direction:column;align-items:flex-start}.form-grid,.form-grid-3{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr 24px}.mapping-row .mapping-arrow{display:none}.mapping-row select{grid-column:1/-1}.stepper{flex-direction:column;align-items:stretch;gap:.75rem}.step-line{display:none}.hero-side{grid-template-columns:1fr}.sidebar-backdrop{z-index:55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b112066;position:fixed;inset:0}}@media (width<=520px){.stats-grid{grid-template-columns:1fr}.card-body{padding:1.125rem}.modal-body,.modal-header,.modal-footer{padding-left:1.125rem;padding-right:1.125rem}.login-panel{padding:2rem 1.25rem}}@media print{.sidebar,.topbar{display:none!important}.main-wrapper,.main-wrapper.sidebar-collapsed{margin-left:0}.main-content{padding:0}.card,.stat-card{box-shadow:none}}.chart-donut{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.donut-value{font-family:var(--font-sans);fill:var(--text);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.donut-label{fill:var(--text-3);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.chart-legend{flex-direction:column;flex:1;gap:.375rem;min-width:180px;list-style:none;display:flex}.chart-legend li{border-radius:var(--r-sm);transition:background var(--t-fast);cursor:default;grid-template-columns:10px 1fr auto auto;align-items:center;gap:.625rem;padding:.3rem .5rem;font-size:.8125rem;display:grid}.chart-legend li.active{background:var(--surface-2)}.chart-legend .swatch{border-radius:3px;width:10px;height:10px}.chart-legend .legend-label{color:var(--text);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chart-legend .legend-value{font-family:var(--font-mono);color:var(--text-2);font-size:.75rem}.chart-legend .legend-pct{font-family:var(--font-mono);color:var(--text-3);text-align:right;min-width:34px;font-size:.75rem}.chart-bars{flex-direction:column;gap:.625rem;display:flex}.bar-row{grid-template-columns:150px 1fr 90px;align-items:center;gap:.75rem;display:grid}.bar-label{flex-direction:column;min-width:0;line-height:1.2;display:flex}.bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;overflow:hidden}.bar-sub{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;font-weight:600;overflow:hidden}.bar-track{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;height:12px;overflow:hidden}.bar-fill{transform-origin:0;height:100%;animation:growX .6s var(--ease) both;border-radius:6px}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.bar-value{font-family:var(--font-mono);color:var(--text-2);text-align:right;white-space:nowrap;font-size:.75rem;font-weight:600}.chart-empty{text-align:center;color:var(--text-3);padding:2rem 1rem;font-size:.8375rem;font-weight:600}.chart-ring{align-items:center;gap:1rem;display:flex}.ring-value{font-family:var(--font-sans);fill:var(--text);font-size:1.125rem;font-weight:800}.ring-text{flex-direction:column;display:flex}.ring-label{font-size:.875rem;font-weight:700}.ring-sub{color:var(--text-3);font-size:.75rem;font-weight:600}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.grid-2-1{grid-template-columns:2fr 1fr;gap:1.25rem;display:grid}.grid-1-2{grid-template-columns:1fr 2fr;gap:1.25rem;display:grid}@media (width<=1100px){.grid-3,.grid-2-1,.grid-1-2{grid-template-columns:1fr}}@media (width<=600px){.bar-row{grid-template-columns:100px 1fr 70px}}.notif-wrap{position:relative}.notif-dot{border-radius:var(--r-full);background:var(--accent);color:#fff;border:2px solid var(--canvas);place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.625rem;font-weight:800;display:grid;position:absolute;top:-4px;right:-4px}.notif-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:400px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg);z-index:80;animation:rise .2s var(--ease) both;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notif-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.notif-head h4{font-size:.875rem;font-weight:800}.notif-list{max-height:420px;overflow-y:auto}.notif-item{border-bottom:1px solid var(--line);cursor:pointer;transition:background var(--t-fast);grid-template-columns:8px 1fr;gap:.75rem;padding:.875rem 1rem;display:grid}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-hover)}.notif-item.unread{background:#fffaf5}.notif-item .sev{background:var(--text-3);border-radius:50%;width:8px;height:8px;margin-top:6px}.notif-item .sev.critical{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.notif-item .sev.warning{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.notif-item .sev.info{background:var(--info);box-shadow:0 0 0 3px var(--info-soft)}.notif-title{font-size:.8375rem;font-weight:700;line-height:1.3}.notif-msg{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.2rem;font-size:.78rem;line-height:1.45;display:-webkit-box;overflow:hidden}.notif-meta{color:var(--text-3);margin-top:.3rem;font-size:.6875rem;font-weight:600}.notif-empty{text-align:center;color:var(--text-3);padding:2rem 1rem;font-size:.8375rem;font-weight:600}.alert-row{border-bottom:1px solid var(--line);transition:background var(--t-fast);grid-template-columns:auto 1fr auto;align-items:center;gap:.875rem;padding:.875rem 1.25rem;display:grid}.alert-row:last-child{border-bottom:none}.alert-row:hover{background:var(--surface-hover)}.alert-row .alert-ic{border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.alert-row .alert-title{font-size:.8375rem;font-weight:700;display:block}.alert-row .alert-sub{color:var(--text-3);margin-top:1px;font-size:.75rem;font-weight:600;display:block}.alert-row .alert-side{text-align:right;color:var(--text-2);white-space:nowrap;font-size:.75rem;font-weight:700}.sev-chip{letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-sm);border:1px solid;padding:.2rem .5rem;font-size:.625rem;font-weight:800}.sev-chip.low{background:var(--surface-2);color:var(--text-2);border-color:var(--line)}.sev-chip.medium{background:var(--warn-soft);color:var(--warn);border-color:#f0dfae}.sev-chip.high{background:var(--accent-soft);color:var(--accent);border-color:#f6d3b8}.sev-chip.critical{background:var(--bad-soft);color:var(--bad);border-color:#f1c4c4}.over-boq{color:var(--bad);align-items:center;gap:.25rem;font-size:.6875rem;font-weight:800;display:inline-flex}.table-wrap{-webkit-overflow-scrolling:touch;position:relative}.table-wrap:after{content:"";pointer-events:none;opacity:0;width:28px;transition:opacity var(--t-fast);background:linear-gradient(90deg,#fff0,#ffffffe6);position:absolute;top:0;bottom:0;right:0}.table-wrap.can-scroll:after{opacity:1}.disclosure{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.disclosure+.disclosure{margin-top:.875rem}.disclosure-head{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-family:inherit;display:flex}.disclosure-head:hover{background:var(--surface-2)}.disclosure-title{align-items:center;gap:.625rem;font-size:.9375rem;font-weight:800;display:flex}.disclosure-title .optional{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:.15rem .45rem;font-size:.6875rem;font-weight:700}.disclosure-sub{color:var(--text-2);margin-top:.15rem;font-size:.8125rem;font-weight:500}.disclosure-chev{color:var(--text-3);transition:transform var(--t-med);flex-shrink:0}.disclosure.open .disclosure-chev{transform:rotate(180deg)}.disclosure-body{border-top:1px solid var(--line);animation:rise .2s var(--ease) both;padding:.25rem 1.25rem 1.25rem}.guide{position:relative;overflow:hidden}.guide .card-body{padding:1.5rem 1.5rem 1.25rem}.guide-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.guide-head h3{letter-spacing:-.015em;font-size:1.125rem}.guide-head p{color:var(--text-2);max-width:56ch;margin-top:.2rem;font-size:.9rem}.guide-progress{flex-direction:column;align-items:flex-end;gap:.35rem;min-width:160px;display:flex}.guide-progress .track{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;width:160px;height:8px;overflow:hidden}.guide-progress .fill{background:linear-gradient(90deg, var(--accent), #f7a35e);height:100%;transition:width var(--t-slow);border-radius:4px}.guide-progress .label{color:var(--text-2);font-size:.75rem;font-weight:700}.guide-steps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;display:grid}.guide-step{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:inherit;transition:transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.guide-step:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.guide-step.done{background:var(--ok-soft);border-color:#cfe9db}.guide-step.done:hover{box-shadow:none;transform:none}.guide-step .mark{background:var(--surface-2);border:1.5px solid var(--line-strong);width:26px;height:26px;color:var(--text-2);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:800;display:grid}.guide-step.done .mark{background:var(--ok);border-color:var(--ok);color:#fff}.guide-step.next .mark{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-soft)}.guide-step .t{font-size:.875rem;font-weight:800;line-height:1.25}.guide-step .d{color:var(--text-2);margin-top:.15rem;font-size:.78rem;line-height:1.4}.guide-step.done .t{color:var(--ok)}.tip{border-radius:var(--r-md);background:var(--accent-soft);color:#8a4a12;border:1px solid #f6d3b8;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;font-size:.8375rem;line-height:1.45;display:flex}.tip svg{color:var(--accent);flex-shrink:0;margin-top:2px}@media (width<=860px){h1,.page-title{font-size:1.5rem}.btn{min-height:44px}.btn-sm{min-height:38px}.icon-btn{width:42px;height:42px}.page-actions{width:100%}.page-actions .btn{flex:auto}.toolbar-right{width:100%}.toolbar-right .tabs{width:100%;overflow-x:auto}.search-box{max-width:none}.card-header{flex-wrap:wrap}.card-header .btn{flex:auto}.tabs{scrollbar-width:none;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{flex:none}.form-control,.form-group input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-group select{height:46px;font-size:16px}.form-group textarea{font-size:16px}.modal-overlay{align-items:flex-end;padding:0}.modal,.modal.wide,.modal.narrow{border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:none;max-height:94vh;animation:sheetUp .28s var(--ease) both}.modal-header{background:var(--surface);z-index:1;border-bottom:1px solid var(--line);padding-bottom:.875rem;position:sticky;top:0}.modal-body{padding-top:1rem}.modal-footer{flex-direction:column-reverse;position:sticky;bottom:0}.topbar-crumb{white-space:nowrap;text-overflow:ellipsis;max-width:40vw;overflow:hidden}.topbar-crumb .crumb-section{display:none}.modal-footer .btn{width:100%}.notif-panel{left:.75rem;right:.75rem;top:calc(var(--topbar-h) + 6px);width:auto;position:fixed}.stat-value{font-size:1.5rem}.hero-card{padding:1.25rem}.hero-card h2{font-size:1.25rem}.guide-progress{align-items:flex-start}.table-footer{flex-direction:column;align-items:flex-start}.summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.gantt{padding:.5rem 0 .25rem}.gantt-axis{color:var(--text-3);letter-spacing:.04em;justify-content:space-between;padding:.5rem 1.25rem .5rem calc(220px + 1.25rem);font-size:.6875rem;font-weight:700;display:flex}.gantt-row{border-top:1px solid var(--line);grid-template-columns:220px 1fr 90px;align-items:center;gap:.75rem;padding:.5rem 1.25rem;display:grid}.gantt-row:hover{background:var(--surface-hover)}.gantt-label{min-width:0;line-height:1.2}.gantt-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8375rem;font-weight:700;display:block;overflow:hidden}.gantt-meta{color:var(--text-3);font-size:.6875rem;font-weight:600;display:block}.gantt-track{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;height:22px;position:relative;overflow:hidden}.gantt-planned{border:1.5px dashed var(--line-strong);border-radius:4px;position:absolute;top:3px;bottom:3px}.gantt-bar{background:var(--brand);opacity:.9;border-radius:4px;position:absolute;top:4px;bottom:4px;overflow:hidden}.gantt-bar.completed{background:var(--ok)}.gantt-bar.in_progress{background:var(--info)}.gantt-bar.late{background:var(--accent)}.gantt-progress{background:#ffffff59;position:absolute;top:0;bottom:0;left:0}.gantt-today{background:var(--bad);z-index:1;width:2px;position:absolute;top:0;bottom:0}.gantt-side{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.brief-text{white-space:pre-line;font-size:1rem;line-height:1.65}.brief-reasons{color:var(--text-2);margin:1rem 0 0;padding:0 0 0 1.1rem;font-size:.875rem;line-height:1.6}.subnav{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);gap:.25rem;width:fit-content;max-width:100%;margin:0 0 1.25rem;padding:.25rem;display:flex;overflow-x:auto}.subnav button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:.4rem .8rem;font-family:inherit;font-size:.8125rem;font-weight:700}.subnav button:hover{color:var(--text)}.subnav button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.ask-overlay{z-index:210;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .18s var(--ease) both;background:#0b112059;justify-content:flex-end;display:flex;position:fixed;inset:0}.ask-panel{background:var(--surface);width:440px;max-width:100%;height:100%;box-shadow:var(--shadow-lg);animation:slideIn .26s var(--ease) both;flex-direction:column;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.ask-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:1.125rem 1.25rem;display:flex}.ask-title{font-size:1.0625rem;font-weight:800}.ask-sub{color:var(--text-3);font-size:.75rem;font-weight:600}.ask-thread{flex-direction:column;flex:1;gap:.75rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.ask-suggest{flex-direction:column;gap:.5rem;display:flex}.ask-chip{text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);color:var(--text);cursor:pointer;transition:border-color var(--t-fast), transform var(--t-fast);padding:.7rem .875rem;font-family:inherit;font-size:.875rem;font-weight:600}.ask-chip:hover{border-color:var(--accent);transform:translate(2px)}.ask-msg{border-radius:14px;max-width:92%;padding:.7rem .9rem;font-size:.9rem;line-height:1.55}.ask-msg p+p{margin-top:.35rem}.ask-msg.user{background:var(--brand);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.ask-msg.assistant{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.ask-input{border-top:1px solid var(--line);background:var(--surface-2);gap:.5rem;padding:.875rem 1.25rem;display:flex}@media (width<=860px){.gantt-row{grid-template-columns:120px 1fr 70px}.gantt-axis{padding-left:calc(120px + 1.25rem)}.ask-panel{width:100%}}
