:root,[data-theme=light]{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-active: #1e40af;--primary-light: #eef2ff;--primary-glow: rgba(37, 99, 235, .18);--on-surface: #0f172a;--on-surface-variant: #64748b;--text-muted: #64748b;--text-light: #94a3b8;--surface: #ffffff;--surface-alt: #f8fafc;--surface-container: #ffffff;--surface-container-high: #f1f5f9;--surface-card: #ffffff;--border: #e2e8f0;--border-strong: #cbd5e1;--border-focus: #2563eb;--outline: #e2e8f0;--outline-variant: #f1f5f9;--error: #ef4444;--error-light: #fee2e2;--warn: #f59e0b;--warn-light: #fef3c7;--success: #10b981;--success-light: #d1fae5;--info: #0284c7;--info-light: #e0f2fe;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .05), 0 1px 2px -1px rgba(0, 0, 0, .05)}[data-theme=dark],body.dark-mode,.dark-mode{--primary: #3b82f6;--primary-hover: #60a5fa;--primary-active: #2563eb;--primary-light: rgba(59, 130, 246, .15);--primary-glow: rgba(59, 130, 246, .35);--on-surface: #f8fafc;--on-surface-variant: #94a3b8;--text-muted: #94a3b8;--text-light: #64748b;--surface: #1e293b;--surface-alt: #0f172a;--surface-container: #1e293b;--surface-container-high: #334155;--surface-card: #1e293b;--border: #334155;--border-strong: #475569;--border-focus: #3b82f6;--outline: #334155;--outline-variant: #1e293b;--error: #f87171;--error-light: rgba(239, 68, 68, .15);--warn: #fbbf24;--warn-light: rgba(245, 158, 11, .15);--success: #34d399;--success-light: rgba(16, 185, 129, .15);--info: #38bdf8;--info-light: rgba(56, 189, 248, .15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6);--shadow-card: 0 4px 20px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);color:var(--on-surface);background-color:var(--surface-alt);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--primary-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.auth-card{max-width:440px;width:100%}.auth-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:28px}.tab-link{flex:1;text-align:center;padding:12px 16px;font-weight:600;font-size:15px;color:var(--text-muted);text-decoration:none;position:relative;transition:color .15s ease}.tab-link:hover{color:var(--on-surface);text-decoration:none}.tab-link.active{color:var(--on-surface);font-weight:700}.tab-link.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--primary)}.auth-header{margin-bottom:22px}.auth-title{font-size:26px;font-weight:700;color:var(--on-surface);margin-bottom:6px;letter-spacing:-.5px}.auth-subtitle{font-size:14px;color:var(--text-muted);line-height:1.4}.alert-error{display:flex;align-items:center;gap:10px;background-color:var(--error-light);color:var(--error);padding:12px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;margin-bottom:18px}.alert-success{display:flex;align-items:center;gap:10px;background-color:var(--success-light);color:var(--success);padding:12px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;margin-bottom:18px}.alert-icon{width:18px;height:18px;flex-shrink:0}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:var(--on-surface)}.input-container{display:flex;align-items:center;position:relative;border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);transition:all .15s ease}.input-container:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input-container.input-error{border-color:var(--error)}.input-container input{flex:1;border:none;outline:none;padding:11px 14px;font-size:14px;color:var(--on-surface);background:transparent;border-radius:inherit}.input-container input::placeholder{color:var(--text-light)}.password-toggle{background:none;border:none;padding:0 12px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%;transition:color .15s ease}.password-toggle:hover{color:var(--on-surface)}.password-toggle svg{width:18px;height:18px}.field-error{font-size:12px;color:var(--error);font-weight:500;margin-top:2px}.btn-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background-color:var(--primary);color:#fff;font-size:15px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease,transform .1s ease;box-shadow:0 2px 4px #2563eb33;margin-top:6px}.btn-submit:hover:not(:disabled){background-color:var(--primary-hover)}.btn-submit:active:not(:disabled){background-color:var(--primary-active);transform:scale(.99)}.btn-submit:disabled{opacity:.65;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop,.admin-modal-backdrop{position:fixed;inset:0;background:#0f172aa6!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1rem}.modal-container{background-color:var(--surface, #ffffff)!important;border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-lg, 12px);box-shadow:0 25px 50px -12px #0f172a40!important;position:relative;z-index:1051;opacity:1!important}[data-theme=dark] .modal-container,.dark-mode .modal-container{background-color:#1e293b!important;border-color:#334155!important}
