:root{--bg: #f3f4fb;--surface: #ffffff;--surface-2: #f7f8fc;--surface-3: #eef0f7;--border: #e6e8f2;--border-strong: #d6d9e6;--text: #161a27;--text-2: #5a6173;--text-3: #9499a9;--accent: #4f46e5;--accent-soft: #edecfd;--accent-text: #4f46e5;--sidebar-bg: #10121c;--sidebar-text: #aeb4c6;--sidebar-muted: #717892;--green: #16a34a;--green-soft: #e7f6ed;--amber: #d97706;--amber-soft: #fdf2e3;--red: #dc2626;--red-soft: #fdeaea;--sky: #0284c7;--sky-soft: #e6f3fb;--violet: #7c3aed;--violet-soft: #f1ebfd;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .07);--shadow-lg: 0 4px 12px rgba(16, 24, 40, .06), 0 12px 32px rgba(16, 24, 40, .08);--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}html[data-theme=dark]{--bg: #0a0c13;--surface: #13161f;--surface-2: #171b25;--surface-3: #1e222e;--border: #252a37;--border-strong: #303645;--text: #e8eaf2;--text-2: #9aa1b4;--text-3: #646b7e;--accent: #6366f1;--accent-soft: #1f2236;--accent-text: #a5a9f5;--sidebar-bg: #070810;--sidebar-text: #aeb4c6;--sidebar-muted: #646b80;--green: #34d399;--green-soft: #0f2a22;--amber: #fbbf24;--amber-soft: #2c2110;--red: #f87171;--red-soft: #2c1414;--sky: #38bdf8;--sky-soft: #0c2230;--violet: #a78bfa;--violet-soft: #1c1630;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}a{color:inherit}button,input,select,textarea{font-family:inherit}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:3px solid var(--bg)}*::-webkit-scrollbar-track{background:transparent}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes mOverlay{0%{opacity:0}to{opacity:1}}@keyframes mCard{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.page-enter{animation:fadeUp .35s ease both}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-content{flex:1;overflow:auto;padding:28px 32px 56px;-webkit-overflow-scrolling:touch}.app-sidebar{width:264px;flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.app-overlay{display:none}@media (max-width: 900px){.app-sidebar{position:fixed;z-index:60;top:0;left:0;height:100dvh;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 40px #00000059}.app-sidebar[data-open=true]{transform:none}.app-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#080a128c;animation:mOverlay .18s ease both}.app-main{height:100dvh}}@media (max-width: 640px){.app-content{padding:14px 12px 40px}}.topbar{display:flex;align-items:center;gap:20px;padding:18px 32px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.topbar-burger{display:none}@media (max-width: 1024px){.topbar-search{display:none!important}}@media (max-width: 900px){.topbar-burger{display:flex!important}}@media (max-width: 640px){.topbar{padding:10px 12px;gap:10px}.topbar-title{font-size:16.5px!important}.topbar-subtitle{display:none}}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll>table{min-width:640px}.grid-auto{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(158px,1fr))}.grid-pair{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-auto-wide{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-split{display:grid;gap:18px;grid-template-columns:var(--split, 1.9fr 1fr)}@media (max-width: 1000px){.grid-split{grid-template-columns:1fr}}@media (max-width: 640px){.stack-sm{flex-direction:column!important;align-items:stretch!important}.stack-sm>*{width:100%}.hide-sm{display:none!important}.full-sm{width:100%!important}}.login-shell{display:flex;min-height:100dvh;background:var(--login-bg);--login-bg: #f6f6fa;--login-surface: #ffffff;--login-text: #191b2e;--login-muted: #6b7086;--login-label: #3c3f55;--login-border: #dcdee9;--login-border-hover: #b9bdd8;--login-accent: #5b5bd6;--login-faint: #9aa0b4;--login-serif: "Source Serif 4", Georgia, serif;--login-sans: "Manrope", "IBM Plex Sans", system-ui, sans-serif;font-family:var(--login-sans)}html[data-theme=dark] .login-shell{--login-bg: #0e0f1c;--login-surface: #16182a;--login-text: #eef0fb;--login-muted: #9aa0b4;--login-label: #c6c9dd;--login-border: #2b2e46;--login-border-hover: #3d4160;--login-faint: #7c81a0}.login-brand{flex:1.15;position:relative;overflow:hidden;color:#eef0fb;background:linear-gradient(160deg,#1a1c3a,#12132a 55%,#0c0d1e);display:flex;flex-direction:column;justify-content:space-between;padding:52px 64px}.login-form-side{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;position:relative}.login-glow{position:absolute;width:640px;height:520px;top:-200px;right:-160px;background:radial-gradient(ellipse,rgba(96,92,226,.32),transparent 65%);filter:blur(16px);animation:glowShift 14s ease-in-out infinite}.login-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(900px 700px at 25% 45%,black,transparent);mask-image:radial-gradient(900px 700px at 25% 45%,black,transparent)}.login-input{width:100%;box-sizing:border-box;padding:14px 16px 14px 42px;border:1.5px solid var(--login-border);border-radius:10px;font:inherit;font-size:15px;background:var(--login-surface);color:var(--login-text);outline:none;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--login-accent);box-shadow:0 0 0 3px #5b5bd624}.login-secondary{transition:border-color .15s,background .15s}.login-secondary:hover{border-color:var(--login-border-hover);background:var(--login-bg)}.login-primary{transition:transform .12s,box-shadow .12s}.login-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 24px #5b5bd673,inset 0 1px #ffffff2e}.login-primary:not(:disabled):active{transform:translateY(0)}@media (max-width: 900px){.login-brand{display:none}}@media (max-width: 640px){.login-form-side{padding:22px 16px}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes lineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes glowShift{0%,to{transform:translate(0)}50%{transform:translate(-30px,24px)}}@media (prefers-reduced-motion: reduce){.login-shell *,.login-glow{animation:none!important}}.tab-strip{overflow-x:auto;flex-wrap:nowrap!important;max-width:100%;scrollbar-width:none}.tab-strip::-webkit-scrollbar{display:none}.tab-strip>*{flex:0 0 auto;white-space:nowrap}@media (max-width: 640px){.tab-strip{display:grid!important;grid-template-columns:1fr 1fr;gap:4px;width:100%!important;overflow:visible}.tab-strip>*{justify-content:center;white-space:normal;text-align:center}}@media (max-width: 640px){.table-cards{display:block;min-width:0!important}.table-cards thead{display:none}.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:100%}.table-cards tr{border:1px solid var(--border)!important;border-radius:12px;background:var(--surface);padding:4px 13px;margin-bottom:10px}.table-cards td{padding:9px 0!important;text-align:left!important;display:flex;align-items:center;gap:12px;min-height:34px;border-top:1px solid var(--border);max-width:none!important}.table-cards tr>td:first-child{border-top:0}.table-cards td[data-label]:before{content:attr(data-label);flex:0 0 36%;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--text-3);text-transform:uppercase;line-height:1.3}.table-cards td>*{min-width:0}.table-cards td>div[style*=flex-end]{justify-content:flex-start!important}.table-cards td[colspan]{border:0;text-align:center!important}.table-scroll{overflow-x:visible}}
