:root{--bg-primary: #0b0f19;--bg-secondary: #111827;--bg-card: rgba(17, 24, 39, .75);--bg-card-hover: rgba(24, 33, 53, .85);--bg-input: #1f293d;--bg-input-focus: #182235;--border-subtle: rgba(255, 255, 255, .08);--border-focus: #6366f1;--border-error: #ef4444;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .25);--accent-cyan: #06b6d4;--accent-purple: #8b5cf6;--success-bg: rgba(16, 185, 129, .12);--success-border: rgba(16, 185, 129, .35);--success-text: #34d399;--error-bg: rgba(239, 68, 68, .12);--error-border: rgba(239, 68, 68, .35);--error-text: #f87171;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .5), 0 0 20px var(--primary-glow);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .3);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh;font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-image:radial-gradient(circle at 15% 15%,rgba(99,102,241,.15) 0%,transparent 40%),radial-gradient(circle at 85% 85%,rgba(139,92,246,.15) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(6,182,212,.05) 0%,transparent 60%);background-attachment:fixed;background-size:cover;display:flex;flex-direction:column}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#818cf8;text-decoration:underline}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem}.auth-card{width:100%;max-width:480px;background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;transition:transform var(--transition-normal),box-shadow var(--transition-normal);animation:fadeInCard .4s cubic-bezier(.16,1,.3,1)}@keyframes fadeInCard{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-header{text-align:center;margin-bottom:2rem}.brand-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f133,#8b5cf64d);border:1px solid rgba(99,102,241,.4);color:var(--primary-color);margin-bottom:1.25rem;box-shadow:0 0 16px #6366f14d}.auth-title{font-size:1.75rem;font-weight:700;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.label-row{display:flex;justify-content:space-between;align-items:center}.form-label{font-size:.875rem;font-weight:500;color:#cbd5e1}.required-star{color:var(--error-text)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast)}.form-input{width:100%;min-height:48px;padding:.75rem 1rem .75rem 2.75rem;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);outline:none}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{background-color:var(--bg-input-focus);border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f140}.input-wrapper:focus-within .input-icon{color:var(--primary-color)}.form-input.input-error{border-color:var(--border-error);box-shadow:0 0 0 1px var(--border-error)}.form-input.input-error:focus{box-shadow:0 0 0 3px #ef444440}.password-toggle-btn{position:absolute;right:.75rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);min-height:40px;min-width:40px;transition:color var(--transition-fast),background var(--transition-fast)}.password-toggle-btn:hover{color:var(--text-primary);background-color:#ffffff0d}.password-toggle-btn:focus-visible{outline:2px solid var(--primary-color)}.field-error{color:var(--error-text);font-size:.8125rem;display:flex;align-items:center;gap:.375rem;margin-top:.25rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.password-checklist{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding:.75rem .875rem;background:#00000040;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.checklist-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);transition:color var(--transition-fast)}.checklist-item.item-valid{color:var(--success-text)}.checklist-item svg{flex-shrink:0}.checkbox-group{margin-top:.25rem}.checkbox-label{display:flex;align-items:flex-start;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:28px}.custom-checkbox{width:18px;height:18px;accent-color:var(--primary-color);margin-top:.2rem;cursor:pointer}.checkbox-text{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.terms-link{color:#a5b4fc;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-block{width:100%}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 14px #6366f166}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 6px 20px #6366f199;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-outline-danger{background:transparent;border-color:#ef444466;color:#f87171;min-height:40px;padding:.5rem 1rem}.btn-outline-danger:hover:not(:disabled){background:#ef44441a;border-color:#ef4444b3;color:#ef4444}.btn-loading-content{display:flex;align-items:center;gap:.5rem}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner-large{width:44px;height:44px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1.25rem;line-height:1.45;animation:fadeIn .3s ease}.alert-icon{flex-shrink:0;margin-top:.125rem}.alert-body{display:flex;flex-direction:column;gap:.375rem;flex:1}.alert-error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.alert-success{background-color:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.alert-cta-link{display:inline-flex;align-items:center;gap:.35rem;color:#60a5fa;font-weight:600;font-size:.85rem;margin-top:.25rem;text-decoration:underline}.auth-footer{text-align:center;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle);font-size:.875rem;color:var(--text-secondary)}.auth-link{font-weight:600;color:var(--primary-color)}.dashboard-container{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{height:72px;background:#111827cc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:10}.header-brand{display:flex;align-items:center;gap:.75rem}.brand-badge-small{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#6366f140,#8b5cf659);border:1px solid rgba(99,102,241,.4);color:var(--primary-color)}.brand-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:1.25rem}.user-pill{display:flex;align-items:center;gap:.625rem;background:#ffffff0d;border:1px solid var(--border-subtle);padding:.35rem .85rem .35rem .45rem;border-radius:var(--radius-full)}.avatar-circle{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700}.user-pill-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.dashboard-main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:2.5rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.welcome-banner{background:linear-gradient(135deg,#1e293bb3,#111827cc);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4)}.welcome-title{font-size:1.75rem;font-weight:700;margin-bottom:.375rem;color:var(--text-primary)}.welcome-desc{color:var(--text-secondary);font-size:.95rem}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-full);background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);font-size:.8125rem;font-weight:600;flex-shrink:0}.status-indicator{width:8px;height:8px;background-color:var(--success-text);border-radius:50%;box-shadow:0 0 8px var(--success-text);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle);background:#ffffff05}.card-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.card-icon{color:var(--primary-color)}.card-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.125rem}.detail-item{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.04)}.detail-item:last-child{border-bottom:none;padding-bottom:0}.detail-label{font-size:.8125rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.95rem;font-weight:500;color:var(--text-primary)}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.text-muted{color:var(--text-muted)}.security-features-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.security-feature{display:flex;align-items:flex-start;gap:.75rem}.feature-icon{margin-top:.2rem;flex-shrink:0}.text-success{color:var(--success-text)}.feature-desc{font-size:.8125rem;color:var(--text-secondary);margin-top:.15rem}.fullscreen-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background-color:var(--bg-primary)}.loading-text{font-size:.95rem;color:var(--text-secondary);font-weight:500}@media (max-width: 640px){.auth-card{padding:1.75rem 1.25rem}.auth-title{font-size:1.5rem}.dashboard-header{padding:0 1rem}.user-pill-name{display:none}.welcome-banner{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem}.dashboard-grid{grid-template-columns:1fr}}
