:root{color-scheme:dark;--bg-page: #1a2235;--bg-surface: #232c42;--bg-subtle: #1e2840;--bg-muted: #202a3e;--bg-sidebar: #141b2a;--border-subtle: #263045;--border-default: #2e3850;--border-strong: #3a4862;--text-primary: #e8ecf4;--text-secondary: #b8c2d8;--text-muted: #94a3b8;--text-faint: #64748b;--brand-50: #1e2d50;--brand-100: #1e3460;--brand-200: #1d4490;--brand-500: #3b82f6;--brand-600: #60a5fa;--brand-700: #93c5fd;--brand-900: #bfdbfe;--info-bg: #1e2d50;--info-border: #2e4a80;--info-text: #93c5fd;--error-bg: #3b0f0f;--error-border: #7f1d1d;--error-text: #fca5a5;--warning-bg: #3b2a0f;--warning-border: #92400e;--warning-text: #fcd34d;--success-bg: #0f2b1e;--success-border: #14532d;--success-text: #86efac;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .45), 0 4px 8px rgba(0, 0, 0, .25);--sidebar-width: 248px;--topbar-height: 56px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-page);color:var(--text-primary);text-rendering:optimizeLegibility}input,button,select,textarea{font:inherit;color:inherit}button{font-family:inherit}a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#3a4862;border-radius:999px;border:2px solid var(--bg-page)}*::-webkit-scrollbar-thumb:hover{background:#4e6080}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:var(--bg-page);color:var(--text-primary)}.app-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-default);display:flex;flex-direction:column;gap:18px;padding:18px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:30}.app-sidebar-backdrop{display:none}.app-main{min-width:0;display:flex;flex-direction:column}.app-topbar,.app-menu-button{display:none}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:20;min-height:var(--topbar-height)}.app-menu-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.app-menu-button:hover{background:var(--bg-muted)}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);height:100vh;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.app-sidebar.is-open{transform:translate(0)}.app-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:25}.app-sidebar-backdrop.is-open{opacity:1;pointer-events:auto}}.app-page-header{padding:28px 32px 4px}.app-page-content{padding:12px 32px 32px}@media (max-width: 900px){.app-page-header{padding:20px 18px 4px}.app-page-content{padding:12px 18px 24px}}@media (max-width: 600px){.app-page-header{padding:16px 14px 4px}.app-page-content{padding:12px 14px 24px}}@media (max-width: 720px){.responsive-grid{grid-template-columns:1fr!important}.responsive-toolbar{flex-direction:column!important;align-items:stretch!important}.responsive-toolbar>*{width:100%}.responsive-page-title{font-size:24px!important}}.app-page-content,.app-page-content>*,.app-page-content>*>*,.app-page-content>*>*>*{min-width:0}.app-page-content table{max-width:100%}input[type=date],input[type=time],input[type=datetime-local]{color-scheme:dark}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:8px}
