@import "https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap";:root{--brand:#030240;--brand-mid:#1a1a8c;--brand-light:#e8e8f5;--brand-border:#b8b8e8;--danger:#dc2626;--danger-dark:#991b1b;--danger-light:#fef2f2;--danger-border:#fecaca;--success:#16a34a;--success-dark:#166534;--success-light:#f0fdf4;--success-border:#bbf7d0;--warning:#b45309;--warning-dark:#92400e;--warning-strong:#f59e0b;--warning-light:#fffbeb;--warning-border:#fde68a;--text-primary:#111827;--text-secondary:#585e69;--text-muted:#6b7078;--border:#e5e7eb;--border-light:#f3f4f6;--bg-page:#f8fafc;--bg-card:#fff;--bg-subtle:#f9fafb;--bg-input:#fafafa;--font:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:8px;--fs-xs:.6875rem;--fs-sm:.75rem;--fs-base:.8125rem;--fs-md:.875rem;--fs-lg:1rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--sidebar-w:232px}*,:before,:after{box-sizing:border-box}html{height:100%}body{min-height:100%;font-family:var(--font);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px}#root{min-height:100vh}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.sw-hover{transition:background-color .15s}.sw-hover:hover{background:var(--hover-bg,var(--bg-subtle))}@media (prefers-reduced-motion:reduce){.sw-hover{transition:none}}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.sw-sidebar :focus-visible{outline-color:#fff}.sw-sidebar{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}.sw-sidebar::-webkit-scrollbar{width:4px}.sw-sidebar::-webkit-scrollbar-track{background:0 0}.sw-sidebar::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.sw-sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sw-input{width:100%;font-family:var(--font);font-size:var(--fs-md);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:.5rem .625rem;transition:border-color .15s,background .15s}.sw-input:focus{border-color:var(--brand);background:#fff}.sw-input:disabled{background:var(--border-light);color:var(--text-muted);cursor:not-allowed}.sw-label{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:.3125rem;font-weight:500;display:block}.sw-btn{font-family:var(--font);font-size:var(--fs-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem .875rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.sw-btn:disabled{opacity:.55;cursor:not-allowed}.sw-btn-primary{background:var(--brand);color:#fff}.sw-btn-primary:not(:disabled):hover{background:var(--brand-mid)}.sw-btn-secondary{color:var(--text-primary);border-color:var(--border);background:#fff}.sw-btn-secondary:not(:disabled):hover{background:var(--bg-subtle)}.sw-btn-danger{background:var(--danger);color:#fff}.sw-btn-danger:not(:disabled):hover{background:var(--danger-dark)}.sw-btn-sm{font-size:var(--fs-sm);padding:.3rem .55rem}.sw-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.sw-table thead th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border);white-space:nowrap;padding:.625rem .75rem;font-weight:500}.sw-table tbody td{border-bottom:1px solid var(--border-light);padding:.625rem .75rem}.sw-table tbody tr:last-child td{border-bottom:0}@media (width<=900px){.sw-sidebar{z-index:40;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sw-sidebar[data-open=true]{transform:translate(0)}.sw-main{margin-left:0!important}}@media print{.sw-sidebar,.sw-topbar,.sw-noprint{display:none!important}.sw-main{margin-left:0!important}}@keyframes sw-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){@keyframes sw-spin{to{transform:none}}}.sw-menu-toggle{display:none!important}@media (width<=900px){.sw-menu-toggle{display:inline-flex!important}}
