@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}:root{--font-family:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--primary:#0b5d3b;--primary-dark:#084a2e;--primary-strong:#12804f;--primary-soft:#e6f2ec;--on-primary:#fff;--accent:#c8862b;--accent-soft:#fbf1e3;--accent-text:#8a5a14;--on-accent:#0f1a15;--ink:#0f1a15;--text-secondary:#3e4c45;--muted:#5b6b63;--subtle:#8a9a92;--bg:#f6f8f7;--surface:#fff;--surface-2:#f0f4f2;--input-bg:#fcfdfd;--bg-hover:#0b5d3b0f;--border:#e2e8e4;--border-strong:#c9d3cd;--overlay:#0f1a1573;--success:#1fa463;--success-solid:#0e7a44;--success-soft:#e3f5eb;--warning:#e8a317;--warning-soft:#fdf3dc;--warning-text:#8a5a00;--danger:#d64545;--danger-solid:#b42318;--danger-soft:#fde8e8;--info:#2f7dd1;--info-solid:#1f5fad;--info-soft:#e5f0fb;--neutral-soft:#eef1ef;--neutral-text:#3e4c45;--on-danger:#fff;--chart-violet:#7a5bd0;--chart-teal:#1b8e8e;--chart-umber:#8a6d3b;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 3px #0f1a150f, 0 1px 2px #0f1a150a;--shadow-md:0 4px 12px #0f1a1514, 0 1px 4px #0f1a150a;--shadow-lg:0 10px 30px #0f1a151f, 0 2px 8px #0f1a150d;--shadow-xl:0 20px 40px -12px #0f1a1540;--transition-fast:.15s ease;--transition-base:.25s ease;--header-h:64px;--sidebar-rail-w:64px;--sidebar-panel-w:220px;--page-pad:32px;--sidebar-rail-bg:linear-gradient(180deg, #0b3d27 0%, #0b5d3b 100%);--sidebar-panel-bg:#f3f7f5;--sidebar-text:#e6f2ec;--sidebar-muted:#9fc2b0;--cursor-ibeam:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M8 2v12M6 2h4M6 14h4'/%3E%3C/svg%3E") 8 8, text;--caret:#000}:root[data-theme=dark]{--primary:#1fa463;--primary-dark:#178a52;--primary-strong:#34c77b;--primary-soft:#10251b;--on-primary:#0a120e;--accent:#e0a54a;--accent-soft:#2a1f10;--accent-text:#e0a54a;--ink:#e6f2ec;--text-secondary:#c4d4cb;--muted:#93a59b;--subtle:#5f7068;--bg:#0a120e;--surface:#121a16;--surface-2:#18221d;--input-bg:#0f1713;--bg-hover:#1fa4631a;--border:#1f2c25;--border-strong:#2c3d34;--overlay:#0009;--success:#34c77b;--success-solid:#34c77b;--success-soft:#10251b;--warning:#f2b84b;--warning-soft:#2b2208;--warning-text:#f2b84b;--danger:#ef6b6b;--danger-solid:#ef6b6b;--danger-soft:#2d1414;--info:#5c9ce6;--info-solid:#5c9ce6;--info-soft:#10202f;--neutral-soft:#1c2621;--neutral-text:#c4d4cb;--on-danger:#0a120e;--chart-violet:#a78bfa;--chart-teal:#3fbcbc;--chart-umber:#c4a26a;--sidebar-panel-bg:#0f1713;--cursor-ibeam:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M8 2v12M6 2h4M6 14h4'/%3E%3C/svg%3E") 8 8, text;--caret:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px}body{font-family:var(--font-family);background:var(--bg);color:var(--ink);min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;font-weight:700;line-height:1.3}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}kbd{font:600 .7rem var(--font-family);border:1px solid var(--border);color:var(--muted);background:var(--surface-2);border-radius:6px;padding:1px 6px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,.form-control{caret-color:var(--caret);cursor:var(--cursor-ibeam)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:none}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:.8s linear infinite spin}.page-transition{animation:.35s pageEnter}.btn{font:700 .85rem var(--font-family);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-base), transform var(--transition-fast), filter var(--transition-fast);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 6px 14px -8px var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 10px 20px -10px var(--primary)}.btn-secondary{background:var(--surface);color:var(--text-secondary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--ink)}.btn-danger{background:var(--danger-solid);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-warning{background:var(--warning);color:var(--on-accent)}.btn-sm{padding:6px 12px;font-size:.78rem}.icon-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border-radius:10px;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.icon-btn:active{transform:scale(.93)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-base);padding:24px}.card:hover{box-shadow:var(--shadow-md)}.skeleton-shimmer{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s linear infinite shimmer}.chip{text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:20px;justify-content:center;align-items:center;gap:5px;height:24px;padding:0 10px;font-size:.65rem;font-weight:800;line-height:1;display:inline-flex}.chip-success{background:var(--success-soft);color:var(--success-solid);border-color:var(--success-soft)}.chip-warning{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-soft)}.chip-danger{background:var(--danger-soft);color:var(--danger-solid);border-color:var(--danger-soft)}.chip-info{background:var(--info-soft);color:var(--info-solid);border-color:var(--info-soft)}.chip-neutral{background:var(--neutral-soft);color:var(--neutral-text);border-color:var(--border)}.chip-accent{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft)}.chip-live svg{border-radius:50%;animation:1.8s ease-out infinite chipPulse}@keyframes chipPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 45%, transparent)}70%,to{box-shadow:0 0 0 6px #0000}}.modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999999;animation:fadeIn var(--transition-fast) ease;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:90%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-base) ease;border-radius:12px;flex-direction:column;display:flex}.modal:focus{outline:none}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.modal-header h2{flex:1;font-size:1.15rem;font-weight:800}.btn-close-modal{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:50%;place-items:center;transition:all .2s;display:grid}.btn-close-modal:hover{background:var(--surface-2);color:var(--ink);border-color:var(--border-strong)}.modal-body{flex:1;padding:28px 24px;overflow-y:auto}.modal-footer{border-top:1px dashed var(--border);flex-shrink:0;justify-content:flex-end;gap:12px;padding:18px 24px;display:flex}.confirm-icon{border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:20px;display:inline-grid}.confirm-icon.danger{background:var(--danger-soft);color:var(--danger-solid)}.confirm-icon.warning{background:var(--warning-soft);color:var(--warning-text)}.confirm-icon.primary{background:var(--primary-soft);color:var(--primary)}.form-group{margin-bottom:20px}.form-group label,.form-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.7rem;font-weight:800;display:block}.input-icon-wrapper{align-items:center;display:flex;position:relative}.input-icon-wrapper .input-icon{color:var(--subtle);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-icon-wrapper:focus-within .input-icon{color:var(--primary)}.input-icon-wrapper .input-icon{transition:color var(--transition-fast), transform var(--transition-base)}.input-icon-wrapper:focus-within .input-icon{transform:translateY(-50%)scale(1.1)}.input-icon-wrapper:after{content:"";pointer-events:none;background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:2px;height:2px;transition:transform .35s cubic-bezier(.3,.8,.3,1);position:absolute;bottom:0;left:8px;right:8px;transform:scaleX(0)}.input-icon-wrapper:focus-within:after{transform:scaleX(1)}.input-icon-wrapper:has(.invalid):after{background:var(--danger)}@keyframes fieldShake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.form-control.invalid{animation:.35s fieldShake}.form-error-text{animation:fadeIn var(--transition-base) ease}.form-control{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--ink);font:500 .95rem var(--font-family);border-radius:8px;outline:none;padding:12px 14px;transition:all .2s cubic-bezier(.4,0,.2,1)}.form-control.with-prefix-icon{padding-left:38px}.form-control:hover:not(:disabled){background:var(--bg-hover)}.form-control:focus{background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 4px #0b5d3b1f}.form-control::placeholder{color:var(--subtle);opacity:1;font-weight:400}.form-control:disabled{background:var(--surface-2);cursor:not-allowed;opacity:.7}.form-control.invalid,.invalid>.form-control{border-color:var(--danger);background:var(--danger-soft)}.form-label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.form-label-row label{flex:1}.form-group label{transition:color var(--transition-fast)}.form-group:focus-within label{color:var(--primary)}.field-count{color:var(--subtle);font-variant-numeric:tabular-nums;transition:color var(--transition-fast);margin-bottom:8px;font-size:.68rem;font-weight:700}.field-count.near{color:var(--warning-text)}.datepicker-days{animation:.2s fadeIn}.datepicker-quick{border-top:1px dashed var(--border);gap:6px;margin-top:8px;padding-top:10px;display:flex}.datepicker-quick-btn{border:1px solid var(--border);background:var(--surface);font:700 .74rem var(--font-family);color:var(--muted);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;flex:1;padding:6px 8px}.datepicker-quick-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.datepicker-quick-btn.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.datepicker-quick-btn:disabled{opacity:.4;cursor:not-allowed}.datepicker-day{transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast)}.datepicker-day:not(.empty):not(.disabled):active{transform:scale(.9)}.ls-option{transition:background var(--transition-fast), color var(--transition-fast)}.livesearch-options .ls-option{animation:.25s both rowIn}.pick-opt{align-items:center;gap:8px;min-width:0;display:flex}.pick-code{background:var(--surface-2);color:var(--text-secondary);font-variant-numeric:tabular-nums;border-radius:6px;flex:none;padding:1px 7px;font-size:.72rem;font-weight:700}.pick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pick-meta{color:var(--subtle);flex:none;font-size:.7rem;font-weight:600}.form-section-header{margin:24px 0}.form-section-header:first-child{margin-top:4px}.form-section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin-bottom:12px;font-size:.75rem;font-weight:800;display:flex}.form-section-divider{border-top:1px dashed var(--border);width:100%}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-helper{color:var(--subtle);margin:4px 0 0 2px;font-size:.7rem}.form-error-text{color:var(--danger-solid);margin:4px 0 0 2px;font-size:.75rem}.livesearch-select-container{background:var(--input-bg);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:space-between;align-items:center;min-height:46px;padding:0 14px;transition:all .2s;display:flex}.livesearch-select-container:hover{background:var(--bg-hover)}.livesearch-select-container.active,.livesearch-select-container:focus-visible{border-color:var(--primary);box-shadow:0 0 0 4px #0b5d3b1f}.livesearch-select-container.disabled{cursor:not-allowed;opacity:.7;background:var(--surface-2)}.ls-value{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);flex:1;font-size:.95rem;font-weight:600;overflow:hidden}.ls-value.placeholder{color:var(--subtle);font-weight:500}.ls-clear-btn{width:22px;height:22px;color:var(--subtle);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.ls-clear-btn:hover{background:var(--surface-2);color:var(--ink)}@keyframes lsPopoverIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.livesearch-popover{background:var(--surface);box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:1000000;border-radius:12px;flex-direction:column;max-height:260px;animation:.15s ease-out lsPopoverIn;display:flex;position:fixed;overflow:hidden}.livesearch-input{border:1px solid var(--border);background:var(--surface-2);width:100%;font:500 .9rem var(--font-family);color:var(--ink);border-radius:8px;outline:none;padding:10px 10px 10px 32px}.livesearch-input:focus{border-color:var(--primary)}.livesearch-options{flex:1;padding:0 8px 8px;overflow-y:auto}.ls-option{cursor:pointer;color:var(--text-secondary);border-radius:8px;align-items:center;padding:9px 12px;font-size:.9rem;font-weight:500;display:flex}.ls-option:hover,.ls-option.focused{background:var(--bg-hover);color:var(--ink)}.ls-option.selected{background:var(--primary-soft);color:var(--primary);font-weight:700}.ls-empty{text-align:center;color:var(--subtle);padding:16px;font-size:.9rem;font-weight:500}.datepicker-popover{background:var(--surface);width:320px;min-width:300px;box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:1000000;border-radius:16px;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) scaleUp;position:fixed}.datepicker-popover-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.datepicker-popover-title{cursor:pointer;color:var(--ink);font-size:.95rem;font-weight:800;font-family:var(--font-family);background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;display:flex}.datepicker-popover-title:hover{background:var(--surface-2)}.datepicker-nav{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:6px;display:grid}.datepicker-nav:hover{background:var(--surface-2);color:var(--ink)}.datepicker-weekdays,.datepicker-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.datepicker-weekdays span{color:var(--subtle);padding:4px 0;font-size:.7rem;font-weight:700}.datepicker-day{aspect-ratio:1;cursor:pointer;color:var(--text-secondary);font-size:.85rem;font-weight:600;font-family:var(--font-family);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.datepicker-day.empty{cursor:default}.datepicker-day:not(.empty):not(.disabled):hover{background:var(--primary-soft);color:var(--primary)}.datepicker-day.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.datepicker-day.selected{background:var(--primary);color:var(--on-primary)}.datepicker-day.disabled{opacity:.35;cursor:not-allowed}.datepicker-grid-selector{grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 0;display:grid}.datepicker-grid-years{grid-template-columns:repeat(4,1fr);max-height:220px;overflow-y:auto}.datepicker-grid-item{text-align:center;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:700;font-family:var(--font-family);background:0 0;border:0;border-radius:8px;padding:10px 4px}.datepicker-grid-item:hover{background:var(--surface-2);color:var(--primary)}.datepicker-grid-item.active{background:var(--primary);color:var(--on-primary)}.timepicker-popover{background:var(--surface);min-width:280px;box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:1000000;-webkit-user-select:none;user-select:none;border-radius:12px;padding:16px 20px;animation:.15s ease-out scaleUp;position:fixed}.tp-header{color:var(--muted);align-items:center;gap:8px;margin-bottom:20px;font-size:.95rem;font-weight:500;display:flex}.tp-body{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.tp-body.center{justify-content:center}.tp-time{align-items:center;gap:8px;display:flex}.tp-col{flex-direction:column;align-items:center;gap:8px;display:flex}.tp-btn{color:var(--subtle);cursor:pointer;background:0 0;border:0;place-items:center;height:24px;padding:0 10px;display:grid}.tp-btn:hover{color:var(--primary)}.tp-val{color:var(--primary);text-align:center;font-variant-numeric:tabular-nums;width:56px;font-size:2.2rem;font-weight:700;line-height:1}.tp-colon{color:var(--primary);margin-top:-6px;font-size:1.8rem;font-weight:700}.tp-divider{background:var(--border);border-radius:2px;width:3px;height:48px;margin:0 12px}.tp-ampm{background:var(--surface-2);border-radius:16px;padding:4px;display:flex}.tp-ampm button{font:600 .8rem var(--font-family);color:var(--subtle);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:6px 12px}.tp-ampm button.active{background:var(--primary-soft);color:var(--primary)}.tp-footer{justify-content:flex-end;align-items:center;gap:16px;display:flex}.tp-cancel{color:var(--muted);font:500 .9rem var(--font-family);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;display:flex}.tp-set{background:var(--primary);color:var(--on-primary);font:600 .9rem var(--font-family);cursor:pointer;border:0;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;display:flex}.toast-container{z-index:1000001;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:32px;right:24px}@keyframes toastSlideIn{0%{opacity:0;transform:translate(60px)scale(.9)}to{opacity:1;transform:none}}@keyframes toastSlideOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(60px)scale(.9)}}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);pointer-events:auto;border-radius:12px;align-items:flex-start;gap:14px;min-width:320px;max-width:400px;padding:16px;animation:.4s cubic-bezier(.16,1,.3,1) toastSlideIn;display:flex;position:relative;overflow:hidden}.toast-exit{animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideOut}.toast-icon-box{border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.toast-success .toast-icon-box{background:var(--success-soft);color:var(--success-solid)}.toast-error .toast-icon-box{background:var(--danger-soft);color:var(--danger-solid)}.toast-warning .toast-icon-box{background:var(--warning-soft);color:var(--warning-text)}.toast-info .toast-icon-box{background:var(--info-soft);color:var(--info-solid)}.toast-message{color:var(--ink);flex:1;padding-top:6px;font-size:.85rem;font-weight:600;line-height:1.4}.toast-close{color:var(--subtle);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px}.toast-close:hover{background:var(--surface-2);color:var(--ink)}.toast-progress{background:var(--ink);opacity:.15;transform-origin:0;width:100%;height:2px;position:absolute;bottom:0;left:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px;display:grid}.stat-card{--tone:var(--primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);align-items:flex-start;gap:16px;padding:22px 24px;animation:.5s cubic-bezier(.2,.8,.2,1) both slideUp;display:flex;position:relative;overflow:hidden}.stat-card.tone-gold{--tone:var(--accent)}.stat-card.tone-info{--tone:var(--info)}.stat-card.tone-warning{--tone:var(--warning)}.stat-grid>:nth-child(2){animation-delay:60ms}.stat-grid>:nth-child(3){animation-delay:.12s}.stat-grid>:nth-child(4){animation-delay:.18s}.stat-grid>:nth-child(n+5){animation-delay:.24s}.stat-card:before{content:"";pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--tone) 16%, transparent), transparent 70%);opacity:.6;width:160px;height:160px;transition:opacity var(--transition-base), transform .5s ease;border-radius:50%;position:absolute;top:-70px;right:-60px}.stat-card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--tone) 35%, var(--border));transform:translateY(-3px)}.stat-card:hover:before{opacity:1;transform:scale(1.25)}.stat-card:hover .stat-icon{transform:rotate(-6deg)scale(1.06)}.stat-icon{border-radius:var(--radius-md);width:44px;height:44px;transition:transform var(--transition-base);flex-shrink:0;place-items:center;display:grid;position:relative}.stat-icon.primary{background:var(--primary-soft);color:var(--primary)}.stat-icon.gold{background:var(--accent-soft);color:var(--accent-text)}.stat-icon.info{background:var(--info-soft);color:var(--info-solid)}.stat-icon.warning{background:var(--warning-soft);color:var(--warning-text)}.stat-info{flex:1;min-width:0;position:relative}.stat-info .label{color:var(--muted);margin-bottom:4px;font-size:.8rem}.stat-info .value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1.2}.stat-info .change{margin-top:4px;font-size:.75rem;font-weight:600}.stat-info .change.up{color:var(--success-solid)}.stat-info .change.down{color:var(--danger-solid)}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.live-pill{background:var(--success-soft);color:var(--success-solid);border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.live-dot{background:var(--success);width:8px;height:8px;color:var(--success);border-radius:50%;animation:1.8s ease-out infinite chipPulse}.dash-group{margin-top:8px}.dash-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:.72rem;font-weight:800;display:flex}.dash-group .stat-grid{margin-bottom:20px}.insights{margin-bottom:24px;animation:.45s cubic-bezier(.2,.8,.2,1) both slideUp}.insights-clear{color:var(--success-solid);align-items:center;gap:8px;font-weight:600;display:flex}.insight-count{background:var(--danger-soft);color:var(--danger-solid);letter-spacing:0;border-radius:999px;padding:1px 8px;font-size:.7rem}.insight-list{gap:6px;list-style:none;display:grid}.insight-list li{animation:.35s cubic-bezier(.2,.8,.2,1) both rowIn}.insight-list li:nth-child(2){animation-delay:50ms}.insight-list li:nth-child(3){animation-delay:.1s}.insight-list li:nth-child(n+4){animation-delay:.15s}.insight{--sev:var(--info);text-align:left;cursor:pointer;border:1px solid var(--border);border-left:3px solid var(--sev);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--ink);font:600 .88rem var(--font-family);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-base);align-items:center;gap:12px;padding:10px 12px;display:flex}.insight-danger{--sev:var(--danger)}.insight-warning{--sev:var(--warning)}.insight:hover{background:var(--bg-hover);box-shadow:var(--shadow-sm);transform:translate(3px)}.insight-icon{width:30px;height:30px;color:var(--sev);background:color-mix(in srgb, var(--sev) 14%, transparent);border-radius:8px;flex:none;place-items:center;display:grid}.insight-text{flex:1;min-width:0}.insight-go{color:var(--subtle);transition:transform var(--transition-fast), color var(--transition-fast);flex:none}.insight:hover .insight-go{color:var(--primary);transform:translate(3px)}.flow-card{border-radius:var(--radius-xl);background:var(--sidebar-rail-bg);color:var(--sidebar-text);box-shadow:var(--shadow-lg);margin-bottom:20px;padding:18px 20px 6px;animation:.5s cubic-bezier(.2,.8,.2,1) both slideUp;position:relative;overflow:hidden}.flow-card:before{content:"";pointer-events:none;opacity:.5;background-image:radial-gradient(color-mix(in srgb, var(--sidebar-text) 18%, transparent) 1px, transparent 1.3px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 20% 0,#000,#0000 70%);mask-image:radial-gradient(at 20% 0,#000,#0000 70%)}.flow-card:after{content:"";pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--accent) 35%, transparent), transparent 65%);border-radius:50%;width:380px;height:380px;animation:12s ease-in-out infinite alternate flowDrift;position:absolute;top:-200px;right:-120px}@keyframes flowDrift{to{transform:translate(-70px,50px)}}.flow-head,.flow-scroll{z-index:1;position:relative}.flow-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-muted);align-items:center;gap:8px;font-size:.7rem;font-weight:800;display:inline-flex}.flow-scroll{overflow-x:auto}.flow-svg{width:100%;min-width:620px;height:auto;display:block}.flow-track{fill:none;stroke:color-mix(in srgb, var(--sidebar-text) 14%, transparent);stroke-width:10px;stroke-linecap:round}.flow-march{fill:none;stroke:color-mix(in srgb, var(--sidebar-text) 45%, transparent);stroke-width:2px;stroke-dasharray:2 12;stroke-linecap:round;animation:1.2s linear infinite flowMarch}@keyframes flowMarch{to{stroke-dashoffset:-14px}}.flow-dot{fill:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}.flow-node{cursor:pointer;outline:none;animation:.5s both fadeIn}.flow-halo{fill:none;stroke:var(--accent);stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity var(--transition-base)}.flow-node:hover .flow-halo,.flow-node:focus-visible .flow-halo{opacity:1;animation:1.4s ease-out infinite flowPing}@keyframes flowPing{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.25)}}.flow-bubble{fill:color-mix(in srgb, var(--primary-dark) 72%, black);stroke:color-mix(in srgb, var(--sidebar-text) 35%, transparent);stroke-width:1.5px;transition:stroke var(--transition-base)}.flow-node:hover .flow-bubble,.flow-node:focus-visible .flow-bubble{stroke:var(--accent)}.flow-count{fill:#fff;font:800 17px var(--font-family);text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums}.flow-title{fill:#fff;font:700 13px var(--font-family);text-anchor:middle}.flow-caption{fill:var(--sidebar-muted);font:500 11px var(--font-family);text-anchor:middle}.plant-card{flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:20px;animation:.5s cubic-bezier(.2,.8,.2,1) 80ms both slideUp;display:flex}.plant-facts{flex:1;gap:8px;min-width:220px;display:grid}.plant-facts .dash-title{margin-bottom:2px}.plant-row{align-items:center;gap:8px;max-width:280px;font-size:.88rem;display:flex}.plant-row i{border-radius:3px;width:10px;height:10px}.plant-row strong{font-variant-numeric:tabular-nums;margin-left:auto}.plant-chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.job-hero{flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:18px;display:flex}.stage-steps{flex:1;grid-auto-columns:1fr;grid-auto-flow:column;min-width:300px;padding-bottom:26px;display:grid;position:relative}.stage-line{top:13px;left:calc(100% / var(--n,6) / 2);right:calc(100% / var(--n,6) / 2);background:var(--surface-2);border-radius:3px;height:3px;position:absolute}.stage-line span{width:var(--fill);background:linear-gradient(90deg, var(--primary), var(--success));transform-origin:0;border-radius:3px;animation:1.2s cubic-bezier(.3,.7,.2,1) .2s both levelGrow;position:absolute;inset:0 auto 0 0}.stage-step{text-align:center;color:var(--muted);justify-items:center;gap:6px;font-size:.74rem;font-weight:700;animation:.4s both rowIn;display:grid;position:relative}.stage-dot{background:var(--surface);border:2px solid var(--border-strong);z-index:1;width:28px;height:28px;transition:all var(--transition-base);border-radius:50%;place-items:center;display:grid}.stage-step.done .stage-dot{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.stage-step.now{color:var(--ink)}.stage-step.now .stage-dot{border-color:var(--accent);background:var(--accent-soft);animation:1.8s ease-out infinite stageNow}.stage-step.now .stage-dot:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}@keyframes stageNow{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent)}70%,to{box-shadow:0 0 0 9px #0000}}.stage-pct{color:var(--muted);font-size:.78rem;font-weight:600;position:absolute;bottom:0;right:0}.gauge-card{justify-items:center;gap:8px;padding:18px;display:grid}.gauge-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem;font-weight:800}.floor-legend{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.floor-key{--st:var(--subtle);background:var(--surface-2);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.floor-key i{background:var(--st);border-radius:50%;width:8px;height:8px}.floor-key strong{color:var(--ink);font-variant-numeric:tabular-nums}.st-RUNNING{--st:var(--success)}.st-IDLE{--st:var(--subtle)}.st-DOWN{--st:var(--danger)}.st-MAINTENANCE{--st:var(--warning)}.floor-plan{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--surface-2);background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:40px 40px;height:380px;position:relative}.floor-machine{--st:var(--subtle);border:1px solid var(--border);border-left:4px solid var(--st);background:var(--surface);min-width:118px;color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);font-family:var(--font-family);transition:box-shadow var(--transition-base), transform var(--transition-base);border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:8px 10px 9px;animation:.45s cubic-bezier(.2,.9,.3,1.2) both floorIn;display:grid;position:absolute;transform:translate(-50%,-50%)}@keyframes floorIn{0%{opacity:0;transform:translate(-50%,-30%)scale(.85)}}.floor-machine:hover,.floor-machine:focus-visible{box-shadow:var(--shadow-lg);z-index:2;transform:translate(-50%,-54%)}.floor-dot{background:var(--st);width:9px;height:9px;color:var(--st);border-radius:50%}.floor-machine.st-RUNNING .floor-dot,.floor-machine.st-DOWN .floor-dot{animation:1.6s ease-out infinite chipPulse}.floor-code{font-size:.82rem;font-weight:800}.floor-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;max-width:150px;font-size:.7rem;overflow:hidden}.floor-util{background:var(--surface-2);border-radius:4px;grid-column:1/-1;height:4px;margin-top:3px;overflow:hidden}.floor-util span{background:var(--st);transform-origin:0;border-radius:4px;height:100%;animation:.9s .3s both levelGrow;display:block}.yield-meter{background:var(--surface-2);border-radius:8px;max-width:760px;height:8px;overflow:hidden}.yield-meter span{background:linear-gradient(90deg, var(--primary), var(--success));transform-origin:0;border-radius:8px;height:100%;animation:1.6s cubic-bezier(.3,.7,.2,1) .3s both levelGrow;display:block}.cut-board{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;width:100%;max-width:760px}.cut-remnant{stroke:var(--accent)}.cut-part{transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.2,.9,.3,1.15) both cutIn}@keyframes cutIn{0%{opacity:0;transform:translateY(-12%)scale(.9)}}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.search-wrapper{position:relative}.search-wrapper svg{color:var(--subtle);width:16px;height:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--ink);font:500 .875rem var(--font-family);width:280px;max-width:100%;transition:width var(--transition-base), border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:9px 14px 9px 38px}.search-input:focus{border-color:var(--primary);width:340px;box-shadow:0 0 0 3px #0b5d3b1f}.search-wrapper:focus-within svg{color:var(--primary)}.table-mark{background:color-mix(in srgb, var(--accent) 32%, transparent);color:inherit;border-radius:3px;padding:0 1px}.sort-ind{opacity:0;transition:opacity var(--transition-fast), transform var(--transition-base)}.data-table th.sortable:hover .sort-ind{opacity:.45}.sort-ind.on{opacity:1;color:var(--primary)}.sort-ind.on.desc{transform:rotate(180deg)}@keyframes rowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.data-table tbody tr{transition:background var(--transition-fast);animation:.35s cubic-bezier(.2,.8,.2,1) both rowIn}.data-table tbody tr:nth-child(2){animation-delay:25ms}.data-table tbody tr:nth-child(3){animation-delay:50ms}.data-table tbody tr:nth-child(4){animation-delay:75ms}.data-table tbody tr:nth-child(5){animation-delay:.1s}.data-table tbody tr:nth-child(6){animation-delay:.125s}.data-table tbody tr:nth-child(7){animation-delay:.15s}.data-table tbody tr:nth-child(8){animation-delay:.175s}.data-table tbody tr:nth-child(n+9){animation-delay:.2s}.data-table tbody tr.clickable td:first-child{transition:box-shadow var(--transition-fast);box-shadow:inset 0 0 #0000}.data-table tbody tr.clickable:hover td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.data-table td,.data-table th{transition:padding var(--transition-base)}.data-table.compact td{padding-top:7px;padding-bottom:7px}.data-table.compact th{padding-top:8px;padding-bottom:8px}.pills-scroll{max-width:100%;overflow-x:auto}.pills{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;display:inline-flex;position:relative}.pills button{z-index:1;white-space:nowrap;cursor:pointer;font:700 .78rem var(--font-family);color:var(--muted);transition:color var(--transition-fast);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;position:relative}.pills button:hover{color:var(--ink)}.pills button[aria-pressed=true]{color:var(--primary)}.pills-thumb{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:8px;transition:transform .35s cubic-bezier(.3,.9,.3,1.1),width .35s cubic-bezier(.3,.9,.3,1.1);position:absolute;top:3px;bottom:3px;left:0}.pill-count{background:var(--border);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:6px;padding:0 6px;font-size:.68rem}.pills button[aria-pressed=true] .pill-count{background:var(--primary-soft);color:var(--primary)}.data-table .col-check{width:44px;padding-right:0}.row-check{width:17px;height:17px;accent-color:var(--primary);cursor:pointer;transition:transform var(--transition-fast);vertical-align:middle}.row-check:active{transform:scale(.85)}.data-table tbody tr.selected{background:color-mix(in srgb, var(--primary) 7%, var(--surface))}.data-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.bulk-bar{background:var(--ink);color:var(--bg);grid-template-rows:0fr;align-items:center;transition:grid-template-rows .35s cubic-bezier(.3,.8,.3,1),padding .35s;display:grid;overflow:hidden}.bulk-bar.on{flex-wrap:wrap;gap:10px 16px;padding:10px 24px;animation:.35s cubic-bezier(.3,1.2,.4,1) bulkIn;display:flex}@keyframes bulkIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}.bulk-count{font-size:.85rem}.bulk-actions{flex-wrap:wrap;gap:8px;margin-right:auto;display:flex}.bulk-bar .btn-ghost{color:var(--bg)}.bulk-bar .btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--bg) 14%, transparent);color:var(--bg)}.data-table .col-expand{text-align:right;width:48px}.expand-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-base), color var(--transition-fast);background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.expand-btn:hover{background:var(--surface-2);color:var(--ink)}.expand-btn[aria-expanded=true]{color:var(--primary);transform:rotate(180deg)}.data-table tbody tr.open{background:var(--bg-hover)}.data-table tbody tr.detail-row{animation:none}.data-table tbody tr.detail-row:hover{background:0 0}.data-table tr.detail-row>td{background:var(--bg-hover);padding:0 16px 16px}.detail-panel{transform-origin:top;animation:.3s cubic-bezier(.2,.8,.2,1) both detailIn}@keyframes detailIn{0%{opacity:0;transform:translateY(-6px)scaleY(.96)}to{opacity:1;transform:none}}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.detail-card{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);padding:10px 12px;font-size:.82rem}.detail-card .detail-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.66rem;font-weight:800;display:block}.detail-card strong{font-variant-numeric:tabular-nums;font-size:1rem}.level{gap:5px;min-width:120px;display:grid}.level-bar{background:var(--surface-2);border-radius:6px;height:6px;position:relative}.level-fill{background:var(--success);transform-origin:0;border-radius:6px;animation:.9s cubic-bezier(.3,.7,.2,1) both levelGrow;position:absolute;inset:0 auto 0 0}.level-fill.low{background:var(--warning)}.level-fill.out{background:var(--danger)}.level-tick{background:var(--ink);border-radius:2px;width:2px;position:absolute;top:-3px;bottom:-3px}.ring{flex:none;position:relative}.ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-2)}.ring-value{fill:none;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:var(--to);animation:1.4s cubic-bezier(.3,.7,.2,1) both ringDraw}@keyframes ringDraw{0%{stroke-dashoffset:100px}}.ring-center{text-align:center;place-content:center;line-height:1.15;display:grid;position:absolute;inset:0}.ring-center strong{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.ring-center small{color:var(--muted);font-size:.7rem;font-weight:600}@keyframes levelGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.empty-state{animation:fadeIn var(--transition-base) ease;justify-items:center;gap:10px;display:grid}.empty-state p{margin:0}.empty-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:5;background:var(--surface);padding:12px 16px;font-size:.72rem;font-weight:700;position:sticky;top:0}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--ink)}.data-table th.align-right,.data-table td.align-right{text-align:right;font-variant-numeric:tabular-nums}.data-table th.align-center,.data-table td.align-center{text-align:center}.data-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:14px 16px;font-size:.875rem}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table .empty-cell{text-align:center;color:var(--subtle);padding:40px}thead.sticky-thead-pinned{z-index:6;position:relative}thead.sticky-thead-pinned>tr>th{box-shadow:inset 0 -2px 0 var(--border-strong);background:var(--surface-2);will-change:transform}.table-footer{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.page-info{color:var(--muted);font-size:.8rem}.page-info strong{color:var(--ink)}.page-size{align-items:center;gap:8px;display:flex}.seg{background:var(--surface-2);border-radius:8px;padding:3px;display:inline-flex}.seg button{font:700 .75rem var(--font-family);color:var(--muted);cursor:pointer;transition:background var(--transition-base), color var(--transition-fast), box-shadow var(--transition-base);background:0 0;border:0;border-radius:6px;padding:4px 10px}.seg button:hover:not(.active){color:var(--ink)}.seg button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.pagination{align-items:center;gap:4px;display:flex}.pagination button{border:1px solid var(--border);background:var(--surface);min-width:32px;height:32px;color:var(--text-secondary);font:600 .8rem var(--font-family);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.pagination button:hover:not(:disabled){background:var(--bg-hover);color:var(--primary)}.pagination button{transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast)}.pagination button:active:not(:disabled){transform:scale(.94)}@keyframes pagePop{50%{transform:scale(1.12)}}.pagination button.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary);animation:.3s pagePop}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .gap{color:var(--subtle);padding:0 4px}.validation-banner{margin-bottom:8px;animation:.35s cubic-bezier(.16,1,.3,1) scaleUp}.vb-head{cursor:pointer;text-align:left;width:100%;font-family:var(--font-family);color:var(--danger-solid);background:0 0;border:0;align-items:center;gap:12px;padding:8px 4px;display:flex}.vb-title{font-size:.85rem;font-weight:700}.vb-track{background:var(--danger-soft);border-radius:4px;flex:1;min-width:120px;max-width:300px;height:6px;overflow:hidden}.vb-fill{background:var(--danger-solid);height:100%;transition:width .4s ease-in-out}.vb-pct{font-size:.75rem;font-weight:700}.vb-list{flex-direction:column;gap:8px;padding:0 4px 12px 34px;list-style:none;display:flex}.vb-list li{color:var(--danger-solid);align-items:flex-start;gap:8px;font-size:.8rem;font-weight:500;line-height:1.4;display:flex}.vb-list li:before{content:"";background:var(--danger);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:7px}.edit-page{flex-direction:column;gap:18px;display:flex}.edit-header{align-items:center;gap:14px;display:flex}.edit-header .back{flex:none}.edit-meta{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.edit-meta .meta-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);flex:none;place-items:center;display:grid}.edit-meta h1{font-size:1.3rem}.edit-meta p{color:var(--muted);font-size:.8rem}.tab-bar{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tab-bar button{font:600 .9rem var(--font-family);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px}.tab-bar button:hover{color:var(--ink)}.tab-bar button{transition:color var(--transition-fast), border-color var(--transition-base)}.tab-bar button.active{color:var(--primary);border-bottom-color:var(--primary)}.edit-body{flex-direction:column;gap:14px;padding-top:6px;display:flex}.inner-field{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:14px;display:grid}.inner-field>label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-top:14px;font-size:.72rem;font-weight:800}.inner-field .inner-control{max-width:560px}@media (width<=768px){.form-row{grid-template-columns:1fr}.inner-field{grid-template-columns:1fr;gap:6px}.inner-field>label{padding-top:0}.toast-container{bottom:16px;left:16px;right:16px}.toast{min-width:0;max-width:none}.search-input,.search-input:focus{width:100%}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}.flow-dot{display:none}}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.switch.disabled{opacity:.55;cursor:not-allowed}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--border-strong);width:40px;height:22px;transition:background var(--transition-fast);border-radius:22px;flex:none;position:relative}.switch-thumb{width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform .35s cubic-bezier(.3, 1.6, .5, 1), width var(--transition-fast);background:#fff;border-radius:18px;position:absolute;top:2px;left:2px}.switch:active:not(.disabled) .switch-thumb{width:23px}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch:active:not(.disabled) input:checked+.switch-track .switch-thumb{transform:translate(13px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch-label{font-size:.9rem;font-weight:600}.icon-btn.sm{width:28px;height:28px;color:var(--muted);background:0 0;border-color:#0000;border-radius:8px}.icon-btn.sm:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-btn.sm:disabled{opacity:.3;cursor:not-allowed}.tree-card{padding:0;overflow:hidden}.tree-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.tree-list{padding:6px 0;list-style:none}.tree-row{border-bottom:1px solid #0000;align-items:center;gap:8px;min-height:42px;padding-right:12px;display:flex}.tree-row:hover{background:var(--bg-hover)}.tree-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;display:grid}.tree-toggle:disabled{cursor:default}.tree-icon{color:var(--primary);flex:none}.tree-name{font-size:.9rem;font-weight:600}.tree-code{color:var(--muted);background:var(--surface-2);border-radius:6px;padding:1px 8px;font-size:.75rem}.tree-actions{opacity:.55;gap:2px;margin-left:auto;display:flex}.tree-row:hover .tree-actions,.tree-row:focus-within .tree-actions{opacity:1}.tree-mark{background:var(--accent-soft);color:var(--accent-text);border-radius:3px;padding:0 2px}.repeat-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:start;gap:10px;margin-bottom:10px;display:grid}.repeat-row .form-control{padding:10px 12px}.field-hint{color:var(--muted);margin-top:6px;font-size:.75rem}@media (width<=900px){.repeat-row{grid-template-columns:1fr 1fr}}.checkbox{cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:6px 8px;display:flex}.checkbox:hover:not(.disabled){background:var(--bg-hover)}.checkbox.disabled{opacity:.55;cursor:not-allowed}.checkbox input{width:18px;height:18px;accent-color:var(--primary);cursor:inherit;transition:transform var(--transition-fast);flex:none;margin-top:2px}.checkbox:active:not(.disabled) input{transform:scale(.85)}.checkbox{transition:background var(--transition-fast)}.checkbox-text{flex-direction:column;min-width:0;display:flex}.checkbox-label{font-size:.9rem;font-weight:600}.checkbox-desc{color:var(--muted);font-size:.72rem}.perm-group{border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:14px;overflow:hidden}.perm-group-head{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;display:flex}.perm-group-head h3{text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:.8rem}.perm-group-body{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px 12px;padding:8px;display:grid}.audit-pre{background:var(--surface-2);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:260px;padding:12px;font:500 .75rem/1.5 ui-monospace,monospace;overflow:auto}.kv{grid-template-columns:120px 1fr;gap:6px 12px;margin-bottom:16px;font-size:.85rem;display:grid}.kv dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-top:2px;font-size:.72rem;font-weight:700}.kv dd{word-break:break-word}.diff-table{border-collapse:collapse;width:100%;font-size:.8rem}.diff-table th,.diff-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.diff-table th{color:var(--muted);text-transform:uppercase;font-size:.7rem}.diff-from{color:var(--danger-solid)}.diff-to{color:var(--success-solid)}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-row>*{min-width:150px}.forced-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.forced-card{width:min(440px,100%)}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.head-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.cluster{align-items:center;gap:8px;display:flex}.cluster-wrap{flex-wrap:wrap;gap:12px;display:flex}.inline-4{gap:4px;display:inline-flex}.inline-6{gap:6px;display:inline-flex}.stack-6{gap:6px;display:grid}.stack-8{gap:8px;display:grid}.stack-12{gap:12px;display:grid}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.plain-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.plain-list.gap-6{gap:6px}.plain-list.gap-8{gap:8px}.card-flush{padding:0;overflow-x:auto}.section-title{margin-bottom:10px;font-size:1.05rem}.section-sub{margin:14px 0 4px;font-size:1.05rem}.card-title{margin-bottom:8px;font-size:.95rem}.card-title.mb-10{margin-bottom:10px}.ta-right{text-align:right!important}.va-top{vertical-align:top!important}.fw-500{font-weight:500!important}.m-0{margin:0!important}.mb-0{margin-bottom:0!important}.mb-4{margin-bottom:4px!important}.mb-8{margin-bottom:8px!important}.mb-10{margin-bottom:10px!important}.mb-12{margin-bottom:12px!important}.mb-16{margin-bottom:16px!important}.mb-20{margin-bottom:20px!important}.mt-8{margin-top:8px!important}.mt-12{margin-top:12px!important}.mt-24{margin-top:24px!important}.my-8{margin:8px 0!important}.my-16{margin:16px 0!important}.ml-auto{margin-left:auto!important}.w-90{width:90px!important}.w-140{width:140px!important}.w-150{width:150px!important}.w-160{width:160px!important}.w-170{width:170px!important}.w-180{width:180px!important}.w-190{width:190px!important}.h-80{height:80px!important}.h-96{height:96px!important}.h-120{height:120px!important}.h-140{height:140px!important}.h-160{height:160px!important}.bar-track{background:var(--surface-2);border-radius:4px}.swatch{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.card-alert{border-left:4px solid var(--danger);margin:16px 0}.card-alert.warning{border-left-color:var(--warning)}.lines-table td,.lines-table .form-control{padding:10px 12px}.lines-table .livesearch-select-container{min-height:42px}.app-layout{height:100vh;display:flex;position:relative;overflow:hidden}.main-area{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.page-header{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);padding:0 var(--page-pad);z-index:30;flex-shrink:0;align-items:center;gap:12px;display:flex;position:relative;box-shadow:0 1px 2px #0f1a1508,0 4px 12px #0f1a150a}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.page-content{padding:24px var(--page-pad);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden auto}.page-content>.page-transition{flex-direction:column;flex:1;display:flex}.menu-btn{display:none}.search-btn{background:var(--surface-2);border:1px solid var(--border);max-width:460px;color:var(--muted);font:500 .85rem var(--font-family);cursor:pointer;text-align:left;border-radius:10px;flex:1;align-items:center;gap:10px;padding:9px 12px;display:flex}.search-btn:hover{border-color:var(--border-strong)}.search-btn kbd{margin-left:auto}.user-box{align-items:center;gap:10px;display:flex}.user-box .avatar{background:var(--accent);width:36px;height:36px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.user-text{line-height:1.2}.user-text strong{white-space:nowrap;font-size:.8rem;display:block}.user-text small{color:var(--muted);text-transform:capitalize;font-size:.7rem}.sidebar-dual{z-index:40;flex-shrink:0;height:100vh;display:flex;position:relative}.sidebar-primary{width:var(--sidebar-rail-w);background:var(--sidebar-rail-bg);color:var(--sidebar-text);z-index:10;flex-direction:column;flex-shrink:0;transition:width .28s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar-primary:hover{width:200px;box-shadow:4px 0 24px #0f1a1540}.sidebar-brand{height:var(--header-h);white-space:nowrap;flex-shrink:0;align-items:center;gap:12px;margin-bottom:8px;padding-left:12px;display:flex}.brand-mark{background:var(--accent);width:40px;height:40px;color:var(--on-accent);border-radius:12px;flex:none;place-items:center;font-size:1.15rem;font-weight:800;display:grid}.brand-name{letter-spacing:.1em;opacity:0;font-weight:800;transition:opacity .2s 60ms}.sidebar-primary:hover .brand-name{opacity:1}.sidebar-primary-nav{flex-direction:column;flex:1;gap:2px;padding:8px 0;display:flex;overflow:hidden auto}.sidebar-primary-nav::-webkit-scrollbar{width:0}.primary-nav-btn{height:42px;color:var(--sidebar-muted);cursor:pointer;white-space:nowrap;font:500 .9rem var(--font-family);background:0 0;border:0;flex-shrink:0;align-items:center;gap:12px;padding:0 0 0 20px;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.primary-nav-btn svg{flex-shrink:0;min-width:22px;transition:transform .25s}.primary-nav-label{opacity:0;transition:opacity .2s 60ms,transform .25s 60ms;transform:translate(-6px)}.sidebar-primary:hover .primary-nav-label{opacity:1;transform:none}.primary-nav-btn:hover{color:#fff;background:#ffffff14}.primary-nav-btn:hover svg{transform:scale(1.08)}.primary-nav-btn.active{color:#fff;background:#1fa46333;font-weight:700}.primary-nav-btn.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.primary-nav-btn:focus-visible{outline-offset:-2px}.sidebar-version{text-align:center;color:var(--sidebar-muted);letter-spacing:.05em;-webkit-user-select:none;user-select:none;padding:12px 0;font-size:.6rem;font-weight:600}.sidebar-secondary{width:var(--sidebar-panel-w);background:var(--sidebar-panel-bg);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.sidebar-secondary-header{height:var(--header-h);border-bottom:1px solid var(--border);align-items:center;padding:0 24px;display:flex}.sidebar-secondary-header h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.9rem;font-weight:700}.sidebar-secondary-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.sub-nav-link{color:var(--muted);letter-spacing:-.01em;border-radius:8px;align-items:center;gap:12px;padding:8px 14px;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.sub-nav-link:hover{background:var(--bg-hover);color:var(--ink);text-decoration:none}.sub-nav-link.active{background:var(--primary-soft);color:var(--primary);font-weight:700}.sub-nav-link:before{content:"";background:var(--primary);opacity:0;border-radius:0 4px 4px 0;width:3px;height:0;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:0}.sub-nav-link.active:before{opacity:1;height:calc(100% - 12px);top:6px}.sub-nav-icon{opacity:.75;flex-shrink:0}.sub-nav-link.active .sub-nav-icon{opacity:1}.sidebar-credit{color:var(--subtle);padding:12px 24px;font-size:.7rem}.sidebar-mobile-overlay{display:none}.palette-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999990;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--border);width:min(600px,92vw);box-shadow:var(--shadow-xl);border-radius:16px;animation:.2s slideUp;overflow:hidden}.palette-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:14px 16px;display:flex}.palette-input input{color:var(--ink);font:500 1rem var(--font-family);background:0 0;border:0;outline:none;flex:1}.palette ul{max-height:50vh;margin:0;padding:8px;list-style:none;overflow-y:auto}.palette li{cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.palette li small{color:var(--muted);margin-left:auto}.palette li.active{background:var(--primary-soft);color:var(--primary)}.palette-empty{color:var(--muted);cursor:default!important}.empty{text-align:center;margin-top:20px;padding:48px 16px}@media (width<=1023px){.menu-btn{display:grid}.sidebar-dual{z-index:60;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:fixed;transform:translate(-100%)}.sidebar-dual.open{transform:none}.sidebar-primary:hover{width:var(--sidebar-rail-w);box-shadow:none}.sidebar-mobile-overlay{background:var(--overlay);z-index:50;display:block;position:fixed;inset:0}.page-header{padding:0 16px}.page-content{padding:16px}.user-text{display:none}}@media (width<=560px){.search-btn kbd{display:none}}.login{background:var(--bg);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-art{background:var(--sidebar-rail-bg);color:var(--sidebar-text);display:flex;position:relative;overflow:hidden}.login-art:before{content:"";opacity:.55;pointer-events:none;background-image:radial-gradient(#e6f2ec29 1px,#0000 1.2px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 30% 40%,#000 0%,#0000 75%);mask-image:radial-gradient(at 30% 40%,#000 0%,#0000 75%)}.login-orb{filter:blur(70px);pointer-events:none;border-radius:50%;position:absolute}.login-orb-a{background:#34c77b47;width:380px;height:380px;top:-120px;right:-100px}.login-orb-b{background:#c8862b38;width:320px;height:320px;bottom:-120px;left:-80px}.login-art-inner{z-index:1;flex-direction:column;gap:40px;width:100%;max-width:640px;margin:0 auto;padding:48px clamp(32px,6vw,72px);display:flex;position:relative}.login-brand,.login-mobile-brand{align-items:center;gap:12px;display:flex}.login-brand-name{letter-spacing:.04em;font-size:1.05rem;font-weight:800}.login-brand-name b{color:var(--accent);font-weight:800}.login-hero{margin:auto 0 0}.login-eyebrow{letter-spacing:.03em;color:var(--sidebar-text);background:#e6f2ec1a;border:1px solid #e6f2ec2e;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.login-pulse{background:#34c77b;border-radius:50%;width:8px;height:8px;animation:2s infinite loginPulse;box-shadow:0 0 #34c77b99}@keyframes loginPulse{70%{box-shadow:0 0 0 8px #34c77b00}to{box-shadow:0 0 #34c77b00}}.login-hero h2{letter-spacing:-.02em;max-width:16ch;margin:20px 0 14px;font-size:clamp(2rem,3.4vw,2.9rem);font-weight:800;line-height:1.12}.login-hero h2 em{color:var(--accent);font-style:normal}.login-hero p{color:var(--sidebar-muted);max-width:38ch;font-size:1.05rem}.login-flow{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.login-flow li{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background var(--transition-base), transform var(--transition-base);background:#e6f2ec12;border:1px solid #e6f2ec1f;align-items:center;gap:12px;padding:14px;animation:.6s cubic-bezier(.2,.7,.2,1) both slideUp;display:flex}.login-flow li:hover{background:#e6f2ec1f;transform:translateY(-2px)}.login-flow-icon{color:#f0c27a;background:#c8862b33;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.login-flow strong{color:#fff;font-size:.9rem;font-weight:700;display:block}.login-flow small{color:var(--sidebar-muted);margin-top:2px;font-size:.75rem;line-height:1.35;display:block}.login-art-foot{color:var(--sidebar-muted);align-items:center;gap:8px;margin:0;font-size:.8rem;display:flex}.login-panel{flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:32px 20px;display:flex;position:relative}.login-mobile-brand{color:var(--ink);display:none}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(420px,100%);box-shadow:var(--shadow-lg);padding:36px 32px 28px;animation:.5s cubic-bezier(.2,.7,.2,1) both slideUp}.login-head{margin-bottom:26px}.login-head h1{letter-spacing:-.02em;margin:0 0 6px;font-size:1.75rem;font-weight:800}.login-head p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.login-field{margin-bottom:18px}.login-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.72rem;font-weight:800;display:block}.login-input{align-items:center;display:flex;position:relative}.login-input .form-control{padding:14px 44px 14px 42px;font-size:.95rem}.login-input-icon{color:var(--subtle);pointer-events:none;transition:color var(--transition-fast);position:absolute;left:14px}.login-input:focus-within .login-input-icon{color:var(--primary)}.login-input .form-control[aria-invalid=true]{border-color:var(--danger)}.login-reveal{width:34px;height:34px;color:var(--muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;right:6px}.login-reveal:hover{background:var(--bg-hover);color:var(--primary)}.login-caps{color:var(--warning-text);align-items:center;gap:6px;margin:8px 0 0;font-size:.78rem;font-weight:600;display:flex}.form-error{background:var(--danger-soft);color:var(--danger-solid);border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:.85rem}.login-error{align-items:flex-start;gap:8px;line-height:1.45;animation:.4s loginShake;display:flex}.login-error svg{flex:none;margin-top:2px}@keyframes loginShake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.login-submit{border-radius:10px;width:100%;min-height:48px;margin-top:4px;font-size:.95rem;box-shadow:0 6px 16px -6px #0b5d3b8c}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px -8px #0b5d3b99}.login-submit:active:not(:disabled){transform:none}.login-help{text-align:center;color:var(--muted);margin:18px 0 0;font-size:.8rem}.login-foot{color:var(--subtle)}.splash{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (width<=860px){.login{grid-template-columns:1fr}.login-art{display:none}.login-mobile-brand{display:flex}.login-panel{justify-content:flex-start;padding-top:48px}}@media (width<=480px){.login-card{border-radius:var(--radius-lg);padding:28px 20px 22px}}@media (prefers-reduced-motion:reduce){.login *,.login :before{transition:none!important;animation:none!important}}
