:root{--accent-500:#ff8a3d;--accent-600:#f2751f;--accent-tint:#fff3e9;--ink-brand:#18181b;--accent-400:#ffa76b;--accent-700:#ad4b0b;--accent-800:#8a3b08;--text-on-accent:var(--ink-brand);--bg:#f7f5f2;--surface:#fff;--surface-sunken:#f2efea;--surface-raised:#fff;--border:#e7e3de;--border-strong:#c9c2b9;--border-input:#8f8880;--overlay:#1a19176b;--text:#1a1917;--text-2:#57534e;--text-3:#6b645f;--success:#16a34a;--success-text:#15803d;--success-tint:#f0fbf4;--success-border:#cde9d6;--danger:#dc2626;--danger-text:#b91c1c;--danger-tint:#fef2f2;--danger-border:#f3d3d3;--info:#2563eb;--info-text:#1d4ed8;--info-tint:#eff6ff;--info-border:#d3e1fb;--chrome:#201d1b;--chrome-raised:#2a2522;--chrome-line:#ffffff1a;--chrome-line-strong:#ffffff2e;--chrome-text:#f2eee9;--chrome-text-2:#a8a29b;--font-display:"Bricolage Grotesque", "Manrope", -apple-system, "Segoe UI", sans-serif;--font-body:"Manrope", -apple-system, "Segoe UI", sans-serif;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--r-full:999px;--sh-sm:0 1px 2px #3c2c1c0f;--sh-md:0 6px 16px -4px #3c2c1c1a, 0 2px 6px -2px #3c2c1c0f;--sh-lg:0 24px 48px -12px #3c2c1c2e, 0 8px 16px -8px #3c2c1c1a;--sh-accent:0 4px 14px -4px #ff8a3d8c;--sh-accent-hi:0 8px 22px -6px #ff8a3da6;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--e-out:cubic-bezier(.16, 1, .3, 1);--e-in-out:cubic-bezier(.65, 0, .35, 1);--e-spring:cubic-bezier(.34, 1.4, .64, 1);--t-fast:.14s;--t-mid:.22s;--t-slow:.34s;--ring:2px solid var(--accent-600);--ring-chrome:2px solid var(--accent-500);--ring-offset:2px;--accent:var(--accent-500);--accent-dark:var(--accent-700);--accent-soft:var(--accent-tint);--text-secondary:var(--text-2);--text-tertiary:var(--text-2);--text-muted:var(--text-3);--text-faint:var(--text-3);--text-subtle:var(--text-3);--placeholder-bg:var(--surface-sunken);--placeholder-icon:var(--border-strong);--success-dark:var(--success-text);--success-soft:var(--success-tint);--danger-dark:var(--danger-text);--danger-soft:var(--danger-tint);--info-dark:var(--info-text);--info-soft:var(--info-tint);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131110;--surface:#1c1a18;--surface-sunken:#1a1816;--surface-raised:#241f1c;--border:#ffffff17;--border-strong:#ffffff2b;--border-input:#ffffff70;--text:#ede9e4;--text-2:#a8a29b;--text-3:#8f8880;--accent-tint:#ff8a3d24;--accent-700:#ffa76b;--accent-800:#ffc49a;--overlay:#0000009e;--success-text:#4ade80;--success-tint:#16a34a29;--success-border:#4ade8052;--danger-text:#fca5a5;--danger-tint:#dc262629;--danger-border:#fca5a552;--info-text:#93c5fd;--info-tint:#2563eb2e;--info-border:#93c5fd52;--chrome:#171513;--chrome-raised:#211d1a;--chrome-text:#ede9e4;--chrome-text-2:#8f8880;--sh-sm:0 1px 2px #0006;--sh-md:0 6px 16px -4px #00000080;--sh-lg:0 24px 48px -12px #0000009e;--sh-accent:0 4px 14px -4px #ff8a3d4d;--sh-accent-hi:0 8px 22px -6px #ff8a3d6b;--ring:2px solid var(--accent-500);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#131110;--surface:#1c1a18;--surface-sunken:#1a1816;--surface-raised:#241f1c;--border:#ffffff17;--border-strong:#ffffff2b;--border-input:#ffffff70;--text:#ede9e4;--text-2:#a8a29b;--text-3:#8f8880;--accent-tint:#ff8a3d24;--accent-700:#ffa76b;--accent-800:#ffc49a;--overlay:#0000009e;--success-text:#4ade80;--success-tint:#16a34a29;--success-border:#4ade8052;--danger-text:#fca5a5;--danger-tint:#dc262629;--danger-border:#fca5a552;--info-text:#93c5fd;--info-tint:#2563eb2e;--info-border:#93c5fd52;--chrome:#171513;--chrome-raised:#211d1a;--chrome-text:#ede9e4;--chrome-text-2:#8f8880;--sh-sm:0 1px 2px #0006;--sh-md:0 6px 16px -4px #00000080;--sh-lg:0 24px 48px -12px #0000009e;--sh-accent:0 4px 14px -4px #ff8a3d4d;--sh-accent-hi:0 8px 22px -6px #ff8a3d6b;--ring:2px solid var(--accent-500);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}:focus{outline:none}:focus-visible{outline:var(--ring);outline-offset:var(--ring-offset)}.sidebar :focus-visible,.login-wrap :focus-visible{outline:var(--ring-chrome)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:2px solid #0000;border-radius:8px}.tnum{font-variant-numeric:tabular-nums}.display{font-family:var(--font-display);letter-spacing:-.015em;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sheetIn{0%{transform:translateY(102%)}to{transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,18px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.shell{background:var(--bg);width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--chrome);border-right:1px solid var(--chrome-line);width:248px;padding:var(--s5) var(--s3) var(--s4);flex-direction:column;flex-shrink:0;display:flex}.sidebar-logo{padding:var(--s2) var(--s3) var(--s6);align-items:center;gap:10px;display:flex}.sidebar-logo-icon{background:linear-gradient(145deg, var(--accent-500), var(--accent-600));border-radius:11px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 4px 12px -2px #ff8a3d73}.sidebar-logo-name{letter-spacing:-.02em;color:var(--chrome-text);font-size:17px;font-weight:600}.sidebar-logo-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--chrome-text-2);margin-top:1px;font-size:11px;font-weight:600}.nav{flex-direction:column;flex:1;gap:2px;display:flex;position:relative}.nav-ind{border-radius:var(--r-md);pointer-events:none;height:44px;transform:translateY(calc(var(--i,0) * 46px));transition:transform var(--t-mid) var(--e-out);background:#ffffff12;position:absolute;left:0;right:0}.nav-ind:after{content:"";background:var(--accent-500);border-radius:0 3px 3px 0;width:3px;position:absolute;top:11px;bottom:11px;left:0}.nav-item{height:44px;padding:0 var(--s3);border-radius:var(--r-md);width:100%;color:var(--chrome-text-2);text-align:left;transition:color var(--t-fast) var(--e-out), background var(--t-fast) var(--e-out);background:0 0;border:none;justify-content:space-between;align-items:center;gap:11px;font-size:14px;font-weight:500;display:flex;position:relative}.nav-item-label{align-items:center;gap:11px;min-width:0;display:flex}.nav-item svg{transition:transform var(--t-mid) var(--e-spring);flex:none}.nav-item:hover:not(.active){color:var(--chrome-text);background:#ffffff0d}.nav-item.active{color:var(--accent-400);background:0 0;font-weight:600}.nav-item.active svg{transform:scale(1.08)}.nav-badge{border-radius:var(--r-full);background:var(--accent-500);color:var(--text-on-accent);font-variant-numeric:tabular-nums;flex-shrink:0;padding:2px 7px;font-size:11.5px;font-weight:700}.sidebar-foot{border-top:1px solid var(--chrome-line);padding-top:var(--s3);margin-top:var(--s3)}.staff-card{padding:10px var(--s3);border:1px solid var(--chrome-line);border-radius:var(--r-md);background:var(--chrome-raised);align-items:center;gap:10px;display:flex}.staff-avatar{background:var(--accent-500);width:30px;height:30px;color:var(--text-on-accent);border-radius:9px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.staff-name{color:var(--chrome-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.staff-role{color:var(--chrome-text-2);margin-top:1px;font-size:11px;font-weight:600}.logout-btn{margin-top:var(--s2);border:1px solid var(--chrome-line-strong);border-radius:var(--r-sm);width:100%;height:40px;color:var(--chrome-text-2);transition:border-color var(--t-fast) var(--e-out), color var(--t-fast) var(--e-out), background var(--t-fast) var(--e-out);background:0 0;font-size:13px;font-weight:600}.logout-btn:hover{color:var(--chrome-text);background:#ffffff0f}.content-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.topbar{align-items:center;gap:var(--s3);padding:10px var(--s6);border-bottom:1px solid var(--border);background:var(--bg);z-index:30;flex-shrink:0;display:flex;position:sticky;top:0}.topbar-crumb{align-items:center;gap:var(--s2);min-width:0;color:var(--text-3);font-size:12.5px;font-weight:600;display:flex}.topbar-crumb b{color:var(--text-2);font-weight:600}.topbar-crumb .sep{color:var(--border-strong)}.topbar-spacer{flex:1}.icon-btn{border-radius:var(--r-md);border:1px solid var(--border-input);background:var(--surface);width:40px;height:40px;color:var(--text-2);transition:border-color var(--t-fast) var(--e-out), color var(--t-fast) var(--e-out), transform var(--t-fast) var(--e-out);flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.icon-btn:active{transform:translateY(1px)}.page-header{padding:var(--s6) var(--s6) var(--s5);justify-content:space-between;align-items:flex-end;gap:var(--s4);background:var(--bg);flex-wrap:wrap;flex-shrink:0;display:flex}.page-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--accent-700);font-size:11.5px;font-weight:700}.page-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-top:2px;font-size:32px;font-weight:600;line-height:1.12}.page-subtitle{color:var(--text-2);margin-top:5px;font-size:13.5px;font-weight:500}.page-body{padding:0 var(--s6) var(--s12)}.btn{height:42px;padding:0 var(--s5);border-radius:var(--r-md);letter-spacing:-.005em;white-space:nowrap;transition:background var(--t-fast) var(--e-out), transform var(--t-fast) var(--e-out), border-color var(--t-fast) var(--e-out), box-shadow var(--t-fast) var(--e-out), color var(--t-fast) var(--e-out);border:none;justify-content:center;align-items:center;gap:8px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-500);color:var(--text-on-accent);box-shadow:var(--sh-accent)}.btn-primary:hover{background:var(--accent-400);box-shadow:var(--sh-accent-hi)}.btn-primary:disabled{background:var(--surface-sunken);color:var(--text-3);box-shadow:none;cursor:not-allowed}.btn-outline{border:1px solid var(--border-input);background:var(--surface);color:var(--text-2)}.btn-outline:hover{border-color:var(--border-strong);color:var(--text)}.btn-danger-outline{border:1px solid var(--danger-border);background:var(--surface);color:var(--danger-text)}.btn-danger-outline:hover{background:var(--danger-tint)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-text)}.btn-sm{height:36px;padding:0 var(--s4);border-radius:var(--r-sm);font-size:13px}.seg{padding:var(--s1);background:var(--surface-sunken);border-radius:var(--r-md);grid-auto-columns:1fr;grid-auto-flow:column;width:fit-content;max-width:100%;display:grid;position:relative}.seg:before{content:"";top:var(--s1);bottom:var(--s1);left:var(--s1);width:calc((100% - var(--s2)) / var(--n,1));border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--sh-sm);transform:translateX(calc(var(--i,0) * 100%));transition:transform var(--t-mid) var(--e-out);pointer-events:none;position:absolute}.seg>*{min-width:0;height:36px;padding:0 var(--s4);border-radius:var(--r-sm);color:var(--text-2);white-space:nowrap;transition:color var(--t-fast) var(--e-out);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.seg>:hover{color:var(--text)}.seg>.active{color:var(--accent-700)}.filter-pills{gap:var(--s2);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.filter-pill{min-height:36px;padding:0 var(--s4);border-radius:var(--r-full);white-space:nowrap;background:var(--surface-sunken);color:var(--text-2);transition:background var(--t-fast) var(--e-out), color var(--t-fast) var(--e-out), border-color var(--t-fast) var(--e-out);border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.filter-pill:hover{color:var(--text)}.filter-pill.active{background:var(--accent-tint);color:var(--accent-700);border-color:var(--accent-500)}.stat-grid{gap:var(--s4);margin-bottom:var(--s5);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--sh-sm);transition:transform var(--t-mid) var(--e-out), border-color var(--t-mid) var(--e-out), box-shadow var(--t-mid) var(--e-out);position:relative;overflow:hidden}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--sh-md);transform:translateY(-3px)}.stat-card-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);font-size:11.5px;font-weight:700}.stat-card-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;margin-top:10px;font-size:26px;font-weight:600;line-height:1.1}.stat-card-delta{margin-top:4px;font-size:12px;font-weight:600}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--sh-sm)}.panel-title{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:700}.panel-subtitle{color:var(--text-3);margin-bottom:var(--s4);font-size:12px;font-weight:500}.panel-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin-bottom:var(--s1);font-size:18px;font-weight:600}.section-divider{margin:2px 0 var(--s4);border-bottom:1px solid var(--border)}.responsive-2col{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.responsive-3col{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.grid-2-wide{gap:var(--s4);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);display:grid}.bar-track{border-radius:var(--r-full);background:var(--surface-sunken);flex:auto;min-width:0;height:8px;overflow:hidden}.bar-fill{border-radius:var(--r-full);background:linear-gradient(90deg, var(--accent-600), var(--accent-500));height:100%}.chart-bars{align-items:flex-end;gap:var(--s2);height:clamp(120px,20vw,172px);display:flex}.chart-bar-col{align-items:center;gap:var(--s2);flex-direction:column;flex:1;justify-content:flex-end;min-width:0;height:100%;display:flex}.chart-bar-fill{border-radius:var(--r-xs) var(--r-xs) 0 0;background:linear-gradient(180deg, var(--accent-500), var(--accent-600));width:100%;max-width:34px;min-height:3px;transition:filter var(--t-fast) var(--e-out)}.chart-bar-col:hover .chart-bar-fill{filter:brightness(1.08)}.chart-bar-label{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.rank-row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.rank-row:first-child{border-top:none}.rank-badge{border-radius:var(--r-xs);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.empty-state{padding:64px var(--s6);text-align:center;color:var(--text-3);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-lg);font-size:14px;font-weight:600}.loading-fill{height:100%;min-height:220px;color:var(--text-3);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.request-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);margin-bottom:var(--s3);align-items:center;gap:var(--s3) var(--s4);box-shadow:var(--sh-sm);transition:transform var(--t-fast) var(--e-out), border-color var(--t-fast) var(--e-out);animation:riseIn .38s var(--e-out) backwards;animation-delay:calc(var(--n,0) * 45ms);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid;position:relative}.request-card:after{content:"";border-radius:var(--r-lg);pointer-events:none;box-shadow:var(--sh-md);opacity:0;transition:opacity var(--t-fast) var(--e-out);position:absolute;inset:-1px}.request-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.request-card:hover:after{opacity:1}.request-avatar{border-radius:var(--r-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:700;display:flex}.request-meta{gap:var(--s1) var(--s4);color:var(--text-3);flex-wrap:wrap;margin-top:5px;font-size:12.5px;font-weight:500;display:flex}.tag{border-radius:var(--r-full);align-items:center;height:24px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.data-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}.data-table-head{padding:12px var(--s5);border-bottom:1px solid var(--border);background:var(--surface-sunken);color:var(--text-2);text-transform:uppercase;letter-spacing:.07em;font-size:11.5px;font-weight:700;display:grid}.data-table-row{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);transition:background var(--t-fast) var(--e-out);display:grid}.data-table-row:last-child{border-bottom:none}.data-table-row:hover{background:var(--surface-sunken)}.entity-avatar{border-radius:var(--r-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex}.status-chip{border-radius:var(--r-full);align-items:center;height:26px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.row-menu{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-3);transition:background var(--t-fast) var(--e-out), color var(--t-fast) var(--e-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.row-menu:hover{background:var(--surface-sunken);color:var(--text)}.row-menu-popup{z-index:40;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);width:220px;box-shadow:var(--sh-lg);text-align:left;padding:6px;position:absolute;top:40px;right:0}.row-menu-item{text-align:left;border-radius:var(--r-xs);width:100%;min-height:40px;color:var(--text-2);transition:background var(--t-fast) var(--e-out), color var(--t-fast) var(--e-out);background:0 0;border:none;padding:0 11px;font-size:13px;font-weight:500;display:block}.row-menu-item:hover{background:var(--surface-sunken);color:var(--text)}.row-menu-item.danger{color:var(--danger-text)}.row-menu-item.danger:hover{background:var(--danger-tint)}.drawer-overlay{background:var(--overlay);z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--t-mid) var(--e-out);position:fixed;inset:0}.drawer{z-index:51;background:var(--surface-raised);border-left:1px solid var(--border);width:min(452px,100vw);box-shadow:var(--sh-lg);animation:slideIn var(--t-slow) var(--e-out);position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer-head{padding:var(--s5) var(--s5) var(--s4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.drawer-body{padding:var(--s5)}.drawer-section-label{margin-top:var(--s6);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:11.5px;font-weight:700}.drawer-section-label:first-child{margin-top:0}.drawer-box{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s4);flex-direction:column;gap:6px;display:flex}.drawer-box-row{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.modal-overlay{background:var(--overlay);z-index:60;padding:var(--s5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--t-mid) var(--e-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-lg);animation:popIn var(--t-mid) var(--e-out)}.modal-panel.narrow{width:440px;max-width:100%;padding:var(--s6)}.modal-panel.wide{width:560px;max-width:100%;max-height:88vh;padding:var(--s6) var(--s8);overflow-y:auto}.modal-footer-actions{gap:var(--s3);margin-top:10px;display:flex}.modal-footer-actions .btn{flex:1}.field-label{color:var(--text-2);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field-input,.field-textarea,.field-select{width:100%;padding:11px var(--s3);border:1px solid var(--border-input);border-radius:var(--r-sm);color:var(--text);background:var(--surface);transition:border-color var(--t-fast) var(--e-out);font-size:14px;font-weight:500}.field-input::placeholder,.field-textarea::placeholder{color:var(--text-3)}.field-input:hover,.field-textarea:hover,.field-select:hover{border-color:var(--border-strong)}.field-textarea{resize:vertical;font-weight:400;line-height:1.55}.field-group{margin-bottom:var(--s4)}.banner-error,.banner-info{padding:10px var(--s3);border-radius:var(--r-sm);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.banner-error{margin-bottom:var(--s3);background:var(--danger-tint);border:1px solid var(--danger-border);color:var(--danger-text)}.banner-info{background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-2)}.banner-success{padding:var(--s3) var(--s4);background:var(--success-tint);border:1px solid var(--success-border);border-radius:var(--r-sm);margin-bottom:var(--s4);flex-direction:column;gap:6px;display:flex}.spinner-sm{border:2px solid var(--border-strong);border-top-color:var(--accent-500);border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.7s linear infinite spin}.wizard-progress{margin-bottom:var(--s6);gap:6px;display:flex}.wizard-progress-seg{border-radius:var(--r-full);background:var(--surface-sunken);height:4px;transition:background var(--t-mid) var(--e-out);flex:1}.wizard-progress-seg.done{background:var(--accent-500)}.toggle-row{align-items:center;gap:11px;display:flex}.toggle{border-radius:var(--r-full);width:46px;height:27px;transition:background var(--t-mid) var(--e-out);border:none;flex-shrink:0;padding:3px;display:flex}.toggle.on{background:var(--success);justify-content:flex-end}.toggle.off{background:var(--border-strong);justify-content:flex-start}.toggle-knob{background:#fff;border-radius:50%;width:21px;height:21px;box-shadow:0 1px 3px #00000040}.toast{bottom:var(--s6);padding:12px var(--s4);border-radius:var(--r-md);background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--sh-lg);color:var(--text);z-index:90;animation:toastIn .38s var(--e-spring);align-items:center;gap:10px;font-size:13.5px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%)}.bottom-nav{display:none}.bottom-nav-item{border-radius:var(--r-sm);min-width:0;min-height:52px;color:var(--text-3);transition:color var(--t-fast) var(--e-out);background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:0 2px;font-size:10.5px;font-weight:600;display:flex;position:relative}.bottom-nav-item.active{color:var(--accent-700)}.bottom-nav-badge{border-radius:var(--r-full);background:var(--accent-500);min-width:17px;height:17px;color:var(--text-on-accent);text-align:center;margin-left:6px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:4px;left:50%}@media (width<=1100px){.grid-2-wide{grid-template-columns:1fr}}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=768px){.sidebar{display:none}.content-area{padding-bottom:68px}.topbar{padding:var(--s2) var(--s4)}.bottom-nav{z-index:40;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.page-header{padding:var(--s4) var(--s4) var(--s3);align-items:stretch}.page-title{font-size:25px}.page-body{padding:0 var(--s4) var(--s10)}.page-header .seg,.page-header .btn{width:100%}.responsive-2col,.responsive-3col,.grid-2-wide{grid-template-columns:1fr!important}.request-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.request-card>.btn{grid-column:1/2}.request-card>.icon-btn{grid-column:2/3;justify-self:end}.data-table-head{display:none}.data-table-row{gap:6px;grid-template-columns:1fr!important}.drawer{width:100%}.modal-overlay{align-items:flex-end;padding:0}.modal-panel{border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:92vh;animation:sheetIn var(--t-slow) var(--e-out);border:none;overflow-y:auto;width:100%!important;max-width:100%!important;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))!important}.btn,.filter-pill,.seg>*,.row-menu,.row-menu-item,.btn-sm{min-height:44px}.icon-btn,.row-menu{width:44px;height:44px}.field-input,.field-select,.field-textarea{min-height:44px}.toast{left:var(--s4);right:var(--s4);bottom:80px;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.request-card{opacity:1;animation:none!important}}.login-wrap{min-height:100vh;padding:var(--s5);background:radial-gradient(90% 70% at 15% 0%, #ff8a3d38 0%, transparent 60%), radial-gradient(80% 70% at 100% 100%, #ff8a3d1f 0%, transparent 60%), linear-gradient(160deg, var(--chrome-raised) 0%, var(--chrome) 100%);place-items:center;display:grid}.login-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-xl);width:400px;max-width:100%;padding:var(--s8);box-shadow:var(--sh-lg)}.login-logo{align-items:center;gap:var(--s3);margin-bottom:var(--s2);flex-direction:column;display:flex}.login-badge{border-radius:var(--r-lg);background:linear-gradient(145deg, var(--accent-500), var(--accent-600));place-items:center;width:60px;height:60px;display:grid;box-shadow:0 8px 20px -6px #ff8a3d99}.login-card h1{text-align:center;margin:var(--s1) 0 0;font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:24px;font-weight:600}.login-tagline{text-align:center;color:var(--text-2);margin-bottom:var(--s5);font-size:13px}.login-card .btn-primary{width:100%;margin-top:var(--s2)}
