:root{--navy:#0f1b2d;--primary:#1d4ed8;--primary-light:#3b82f6;--success:#16a34a;--warn:#d97706;--error:#dc2626;--change:#7c3aed;--text:#0f172a;--text-2:#475569;--text-3:#64748b;--text-4:#94a3b8;--bg:#f6f8fb;--surface:#fff;--border:#e6ebf2;--border-2:#e2e8f0;--border-3:#f1f5f9;--tint-green-bg:#dcfce7;--tint-green-fg:#166534;--tint-amber-bg:#fef3c7;--tint-amber-fg:#92400e;--tint-red-bg:#fee2e2;--tint-red-fg:#991b1b;--tint-purple-bg:#ede9fe;--tint-purple-fg:#6d28d9;--tint-blue-bg:#dbeafe;--tint-blue-fg:#1e40af;--tint-red-soft:#fef2f2;--font-sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--r-card:12px;--r-card-lg:14px;--r-control:8px;--r-pill:999px;--shadow-card:0 4px 18px #0f172a12;--shadow-modal:0 12px 32px #0f172a29;--sidebar-w:212px;--topbar-h:60px}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin-ext.woff2)format("woff2");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}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans);cursor:pointer}.mono{font-family:var(--font-mono)}.btn{border-radius:var(--r-control);font:600 12.5px var(--font-sans);border:none;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{color:var(--text-2);background:#fff;border:1px solid #cbd5e1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.badge{border-radius:var(--r-pill);font:600 11.5px var(--font-sans);align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.badge .dot{border-radius:50%;width:5px;height:5px}.scroll{overflow:auto}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:#cbd5e1;border-radius:6px}.field{border-radius:var(--r-control);width:100%;font:500 13px var(--font-sans);color:var(--text);background:#fff;border:1px solid #cbd5e1;outline:none;padding:9px 12px}.field:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1d4ed81f}.field::placeholder{color:var(--text-4)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--text-2);background:0 0}.btn-danger{background:var(--error);color:#fff}@keyframes spin{to{transform:rotate(360deg)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:none}}@keyframes drawerInLeft{0%{transform:translate(-100%)}to{transform:none}}.overlay{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:20px;animation:.14s overlayIn;display:flex;position:fixed;inset:0}.modal{border-radius:var(--r-card-lg);box-shadow:var(--shadow-modal);background:#fff;width:100%;max-height:calc(100vh - 40px);animation:.16s modalIn;overflow:auto}.bottomnav{z-index:40;background:var(--navy);padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #1e293b;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0}.only-mobile{display:none}@media (width<=768px){.only-desktop{display:none!important}.only-mobile{display:initial}.bottomnav{display:flex}.overlay.sheet{align-items:flex-end;padding:0}.overlay.sheet .modal{border-radius:var(--r-card-lg) var(--r-card-lg) 0 0;max-height:88vh;animation:.22s sheetIn}.overlay.drawer-left{justify-content:flex-start;align-items:stretch;padding:0}.overlay.drawer-left .modal{border-radius:0 var(--r-card-lg) var(--r-card-lg) 0;width:86vw;max-width:320px;height:100%;max-height:100%;animation:.22s drawerInLeft}}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;width:17px;height:17px;margin:0;padding:0}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date]::-webkit-inner-spin-button{-webkit-appearance:none;display:none}input[type=date]::-webkit-clear-button{-webkit-appearance:none;display:none}
