:root{--bg-page:#f1f5f9;--bg-card:#fff;--bg-soft:#f8fafc;--bg-input:#fff;--bg-input-disabled:#f1f5f9;--bg-chip:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--border-soft:#f1f5f9;--border-dashed:#cbd5e1;--border-dashed-active:#0f172a;--text:#0f172a;--text-muted:#475569;--text-faint:#64748b;--text-subtle:#94a3b8;--text-disabled:#94a3b8;--text-on-emphasis:#fff;--text-on-soft-btn:#0f172a;--text-link:#2563eb;--emphasis:#0f172a;--emphasis-hover:#1e293b;--emphasis-disabled:#cbd5e1;--emphasis-text:#fff;--soft-btn-bg:#f1f5f9;--soft-btn-bg-hover:#e2e8f0;--success-bg:#f0fdf4;--success-border:#86efac;--success-text:#15803d;--warn-bg:#fffbeb;--warn-border:#fcd34d;--warn-text:#b45309;--danger-bg:#fff1f2;--danger-border:#fca5a5;--danger-text:#b91c1c;--info-bg:#f1f5f9;--info-border:#cbd5e1;--info-text:#64748b;--error-card-bg:#fff1f2;--error-card-border:#fecdd3;--error-card-text:#9f1239;--img-placeholder:#f1f5f9;--toast-success-bg:#0f172a;--toast-error-bg:#b91c1c;--toast-text:#fff;--shadow-sm:0 1px 2px rgba(15,23,42,.04);--shadow-md:0 6px 18px rgba(15,23,42,.1);--shadow-lg:0 10px 30px rgba(15,23,42,.3);--shadow-xl:0 20px 50px rgba(0,0,0,.4);--modal-overlay:rgba(15,23,42,.55);--hero-overlay:rgba(15,23,42,.55);--login-page-bg:#0f172a}.dark{--bg-page:#0b1220;--bg-card:#1a1f2e;--bg-soft:#131826;--bg-input:#131826;--bg-input-disabled:#0f1422;--bg-chip:#232a3d;--border:#2a3041;--border-strong:#3a4258;--border-soft:#232a3d;--border-dashed:#3a4258;--border-dashed-active:#e8ebf2;--text:#e8ebf2;--text-muted:#b8c0d1;--text-faint:#94a3b8;--text-subtle:#6b7385;--text-disabled:#5b6378;--text-on-emphasis:#0b1220;--text-on-soft-btn:#e8ebf2;--text-link:#60a5fa;--emphasis:#e8ebf2;--emphasis-hover:#fff;--emphasis-disabled:#3a4258;--emphasis-text:#0b1220;--soft-btn-bg:#232a3d;--soft-btn-bg-hover:#2e3650;--success-bg:rgba(34,197,94,.15);--success-border:#22c55e;--success-text:#4ade80;--warn-bg:rgba(245,158,11,.15);--warn-border:#f59e0b;--warn-text:#fbbf24;--danger-bg:rgba(239,68,68,.15);--danger-border:#ef4444;--danger-text:#f87171;--info-bg:#232a3d;--info-border:#3a4258;--info-text:#94a3b8;--error-card-bg:rgba(239,68,68,.1);--error-card-border:#b91c1c;--error-card-text:#fca5a5;--img-placeholder:#232a3d;--toast-success-bg:#e8ebf2;--toast-error-bg:#ef4444;--toast-text:#0b1220;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 6px 18px rgba(0,0,0,.4);--shadow-lg:0 10px 30px rgba(0,0,0,.5);--shadow-xl:0 20px 50px rgba(0,0,0,.6);--modal-overlay:rgba(0,0,0,.7);--hero-overlay:rgba(0,0,0,.65);--login-page-bg:#0b1220}.dark .toast-error{color:#fff!important}body,html{background:var(--bg-page);color:var(--text);margin:0;padding:0}:where(input,textarea,select){background:var(--bg-input);color:var(--text)}:where(input:disabled,textarea:disabled,select:disabled){background:var(--bg-input-disabled);color:var(--text-disabled)}:where(input::placeholder,textarea::placeholder){color:var(--text-subtle)}.dark input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}.brand-logo-light{display:block!important}.brand-logo-dark,.dark .brand-logo-light{display:none!important}.dark .brand-logo-dark{display:block!important}.brand-logo-light{mix-blend-mode:multiply;background:transparent}.login-bg{position:fixed;inset:0;background:url(/images/nebula.jpg) 50%/cover no-repeat,radial-gradient(ellipse at center,#1a1a2e 0,#0a0a18 100%);z-index:0}.login-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1}.login-container{position:relative;z-index:2}.login-bg-admin{position:fixed;inset:0;background-image:url(/images/admin-login-bg.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:0}.login-container-admin{position:relative;z-index:1;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:80px 24px 48px}@media (max-width:768px){.login-container-admin{padding:32px 16px 24px}}.login-card-admin{background:hsla(0,0%,100%,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 24px 80px rgba(0,0,0,.45);border-radius:24px;color:#1f2937}.login-card-admin h1,.login-card-admin input,.login-card-admin label{color:#111827}.login-card-admin input{background:#fff;border-color:#d1d5db!important}.login-card-admin input::placeholder{color:#9ca3af}