:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-elevated: #1a1a24;--color-bg-hover: #22222e;--color-border: #2a2a3a;--color-border-light: #3a3a4a;--color-text-primary: #ffffff;--color-text-secondary: #a0a0b0;--color-text-muted: #8888a0;--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-light: rgba(99, 102, 241, .1);--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-normal: .25s ease;--landing-max-width: 1200px;--landing-section-padding: clamp(60px, 8vw, 100px);--landing-side-padding: clamp(20px, 4vw, 48px);--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .06);--glass-hover-border: rgba(255, 255, 255, .12);--glass-blur: 12px;--glow-purple: radial-gradient( 600px circle at 50% 50%, rgba(99, 102, 241, .08) 0%, transparent 70% );--font-size-hero: clamp(2.25rem, 5vw, 3.5rem);--font-size-section: clamp(1.75rem, 3.5vw, 2.5rem);--font-size-card-title: clamp(.9375rem, 1.2vw, 1.125rem);--font-size-body-lg: clamp(.9375rem, 1.1vw, 1.125rem);--font-size-body: .9375rem;--font-size-caption: .8125rem;--font-size-badge: .75rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-input{width:100%;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--color-text-primary);font-size:.875rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#6366f180;box-shadow:0 0 0 3px #6366f11a}.form-input::placeholder{color:#444460}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}select.form-input option{background:#1a1a2e;color:var(--color-text-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);text-align:center}.app-loading-spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.3);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.suspense-spinner{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-primary)}.suspense-spinner-dot{width:32px;height:32px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}[data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}[data-reveal].revealed{opacity:1}.reveal-fade-up{transform:translateY(30px)}.reveal-fade-up.revealed{opacity:1;transform:translateY(0)}.reveal-fade-in{transform:none}.reveal-fade-in.revealed{opacity:1}.reveal-scale{transform:scale(.95)}.reveal-scale.revealed{opacity:1;transform:scale(1)}[data-reveal-delay="1"]{transition-delay:.1s}[data-reveal-delay="2"]{transition-delay:.2s}[data-reveal-delay="3"]{transition-delay:.3s}[data-reveal-delay="4"]{transition-delay:.4s}[data-reveal-delay="5"]{transition-delay:.5s}[data-reveal-delay="6"]{transition-delay:.6s}.hover-lift{transition:transform .25s ease,box-shadow .25s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 30px #6366f126}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #6366f133,0 0 40px #6366f11a}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.hover-lift:hover,.hover-glow:hover,.hover-scale:hover{transform:none!important}}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-background{position:absolute;inset:0;z-index:0}.auth-gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;animation:float 20s ease-in-out infinite}.auth-gradient-orb-1{width:600px;height:600px;background:linear-gradient(135deg,var(--color-accent),#8b5cf6);top:-200px;right:-100px}.auth-gradient-orb-2{width:400px;height:400px;background:linear-gradient(135deg,#22c55e,#06b6d4);bottom:-100px;left:-100px;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}}.auth-container{position:relative;z-index:1;width:100%;max-width:420px;padding:var(--space-lg)}.auth-brand{text-align:center;margin-bottom:var(--space-xl)}.auth-logo{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-accent),#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-xs)}.auth-tagline{color:var(--color-text-secondary);font-size:1rem}.auth-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg)}.notification-wrapper{position:relative;width:100%}.notification-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border-radius:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-align:left}.notification-trigger:hover,.notification-trigger.active{background:#ffffff0d;color:var(--text-primary)}.notification-icon-container{position:relative;display:flex;align-items:center;justify-content:center}.notification-badge{position:absolute;top:-3px;right:-4px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 2px var(--color-bg-secondary, var(--bg-card));animation:notifPulse 2s ease-in-out infinite}@keyframes notifPulse{0%,to{box-shadow:0 0 0 2px var(--color-bg-secondary, var(--bg-card))}50%{box-shadow:0 0 0 2px var(--color-bg-secondary, var(--bg-card)),0 0 0 5px #ef444433}}.notification-label{font-size:.9rem;font-weight:500}.notification-trigger.collapsed{justify-content:center;padding:10px 0}.notification-dropdown{position:absolute;width:320px;background:#2b2d31d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 40px #0000004d,0 0 0 1px #0006;z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:dropdownFadeIn .2s ease-out forwards;transform-origin:bottom left}.notification-dropdown.dropdown-above{bottom:calc(100% + 10px);left:0;transform-origin:bottom left}.notification-dropdown.dropdown-right{bottom:0;left:calc(100% + 15px);transform-origin:left bottom}@keyframes dropdownFadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.notification-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.mark-all-btn{background:transparent;border:none;color:var(--accent-color);font-size:.8rem;cursor:pointer;padding:0}.mark-all-btn:hover{text-decoration:underline}.notification-header-actions{display:flex;align-items:center;gap:10px}.clear-all-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .2s ease}.clear-all-btn:hover{color:#ef4444;background:#ef44441a}.notification-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.notification-list::-webkit-scrollbar-thumb:hover{background:#fff3}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-muted)}.notification-empty .empty-icon{opacity:.3;margin-bottom:10px}.notification-empty p{margin:0;font-size:.9rem}.notification-item{display:flex;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#ffffff0a}.notification-item.clickable:hover{background:#ffffff12}.notification-item.unread{background:rgba(var(--accent-rgb),.08)}.notification-item.unread:hover{background:rgba(var(--accent-rgb),.12)}.notification-item.unread.clickable:hover{background:rgba(var(--accent-rgb),.16)}.notification-item-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.notification-item.unread .notification-item-icon{background:rgba(var(--accent-rgb),.2);color:var(--accent-light, #fff)}.notification-item-content{flex-grow:1;display:flex;flex-direction:column;gap:4px}.notification-item-title{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.3}.notification-item-body{font-size:.8rem;color:var(--text-secondary);line-height:1.4;word-break:break-word}.notification-item-time{font-size:.75rem;color:var(--text-muted);margin-top:2px}.notification-actions{display:flex;gap:8px;margin-top:8px}.notification-actions button{flex:1;padding:6px 0;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-accept{background:var(--accent-color);color:#fff}.btn-accept:hover{filter:brightness(1.1)}.btn-decline{background:#ffffff1a;color:var(--text-primary)}.btn-decline:hover{background:#ffffff26}.whatsnew-wrapper{position:relative}.whatsnew-trigger{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;font-family:inherit;transition:all var(--transition-fast);text-align:left}.whatsnew-trigger:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.whatsnew-trigger.active{background:var(--color-accent-light);color:var(--color-accent)}.whatsnew-trigger.collapsed{flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px}.whatsnew-trigger.collapsed .whatsnew-label{font-size:9px;font-weight:500;opacity:.8}.whatsnew-icon-container{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.whatsnew-badge{position:absolute;top:-3px;right:-4px;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 2px var(--color-bg-secondary);animation:whatsnewPulse 2s ease-in-out infinite}@keyframes whatsnewPulse{0%,to{box-shadow:0 0 0 2px var(--color-bg-secondary)}50%{box-shadow:0 0 0 2px var(--color-bg-secondary),0 0 0 5px #ef444433}}.whatsnew-dropdown{position:absolute;width:380px;max-height:520px;background:#1e1e2e;border:1px solid var(--color-border);border-radius:12px;z-index:100;box-shadow:0 8px 30px #0006;animation:whatsnewFadeIn .15s ease;display:flex;flex-direction:column;overflow:hidden}@keyframes whatsnewFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.whatsnew-dropdown.dropdown-above{bottom:100%;left:4px;right:4px;width:auto;min-width:360px;margin-bottom:6px}.whatsnew-dropdown.dropdown-right{bottom:0;left:calc(100% + 8px);width:380px}.whatsnew-header{display:flex;align-items:baseline;gap:8px;padding:16px 18px 12px;border-bottom:1px solid var(--color-border)}.whatsnew-header h3{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.whatsnew-subtitle{font-size:.75rem;color:var(--color-text-muted)}.whatsnew-list{overflow-y:auto;padding:8px 0;flex:1}.whatsnew-entry{padding:12px 18px}.whatsnew-entry+.whatsnew-entry{border-top:1px solid rgba(255,255,255,.04)}.whatsnew-date{font-size:.6875rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.whatsnew-section{margin-bottom:6px}.whatsnew-section:last-child{margin-bottom:0}.whatsnew-section-tag{display:inline-block;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:4px;margin-bottom:4px;background:#ffffff0f;color:var(--color-text-muted)}.whatsnew-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.whatsnew-items li{font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary);padding-left:12px;position:relative}.whatsnew-items li:before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:var(--color-text-muted)}.whatsnew-items li strong{color:var(--color-text-primary);font-weight:600}.whatsnew-items li code{font-size:.75rem;background:#ffffff0f;padding:1px 4px;border-radius:3px;font-family:JetBrains Mono,monospace;color:var(--color-accent)}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:40;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:visible}.sidebar.collapsed{width:80px}.sidebar-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;min-height:60px}.sidebar-logo{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-accent),#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;transition:font-size .25s ease}.sidebar.collapsed .sidebar-header{justify-content:center;padding:var(--space-lg) 0}.sidebar.collapsed .sidebar-logo{font-size:1.6rem;text-align:center;width:100%}.sidebar-nav{flex:1;padding:var(--space-sm) var(--space-sm);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast);white-space:nowrap;overflow:hidden;background:transparent;border:none;cursor:pointer;font-size:.875rem;width:100%;text-align:left;text-decoration:none}.nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item-active,.nav-item-active:hover{background:var(--color-accent-light);color:var(--color-accent)}.nav-icon{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.nav-label{font-weight:500;opacity:1;transition:opacity .2s ease,font-size .2s ease}.sidebar.collapsed .nav-item{flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px}.sidebar.collapsed .nav-label{font-size:9px;font-weight:500;opacity:.8;width:auto;overflow:visible;text-align:center}.sidebar.collapsed .nav-item-active .nav-label{opacity:1}.nav-divider{height:1px;background:var(--color-border);margin:4px 12px}.sidebar.collapsed .nav-divider{margin:4px 12px}.nav-section-label{display:block;padding:4px 16px 2px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);opacity:.6}.sidebar-toggle{font-family:inherit}.sidebar-footer{padding:var(--space-md) var(--space-sm);border-top:1px solid var(--color-border);position:relative}.profile-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;background:#ffffff08;border:none;cursor:pointer;transition:background .15s ease;color:inherit}.profile-trigger:hover{background:#ffffff0f}.user-avatar{width:34px;height:34px;min-width:34px;border-radius:50%;background:var(--color-accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;color:#fff;flex-shrink:0;border:2px solid transparent;transition:border-color .2s ease}.sidebar.collapsed .user-avatar{border-color:#6366f166}.user-details{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;text-align:left;overflow:hidden;opacity:1;transition:opacity .2s ease}.user-name{font-weight:500;font-size:.8125rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.6875rem;color:var(--color-text-muted);text-transform:capitalize}.profile-chevron{flex-shrink:0;color:var(--color-text-muted);display:flex;align-items:center;transition:opacity .2s ease}.sidebar.collapsed .sidebar-footer{padding:var(--space-md) 6px}.sidebar.collapsed .profile-trigger{flex-direction:column;gap:6px;padding:10px 4px;align-items:center;justify-content:center}.sidebar.collapsed .user-details{opacity:0;width:0;height:0;overflow:hidden;position:absolute}.sidebar.collapsed .profile-chevron{opacity:0;width:0;overflow:hidden;position:absolute}.collapsed-profile-name{display:none}.sidebar.collapsed .collapsed-profile-name{display:block;font-size:9px;font-weight:500;color:var(--color-text-muted);text-align:center;white-space:nowrap}.profile-dropdown{position:absolute;width:200px;background:#1e1e2e;border:1px solid var(--color-border);border-radius:12px;padding:6px 0;z-index:100;box-shadow:0 8px 30px #0006;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown.dropdown-above{bottom:100%;left:4px;right:4px;width:auto;margin-bottom:6px}.profile-dropdown.dropdown-right{bottom:0;left:calc(100% + 8px);width:200px}.dropdown-email{padding:10px 16px;font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--color-border);margin:0}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:transparent;border:none;color:var(--color-text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .1s ease;font-family:inherit;text-align:left}.dropdown-item:hover{background:#ffffff0d}.dropdown-item svg{color:var(--color-text-muted);flex-shrink:0}.dropdown-item-danger{color:#f87171}.dropdown-item-danger svg{color:#f87171}.dropdown-item-danger:hover{background:#f8717114}.dropdown-item-static{cursor:default}.dropdown-item-static:hover{background:transparent}.unit-toggle{display:flex;margin-left:auto;border-radius:6px;overflow:hidden;border:1px solid var(--color-border);background:#0003}.unit-btn{padding:3px 10px;font-size:.6875rem;font-weight:600;font-family:inherit;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;letter-spacing:.02em}.unit-btn:hover:not(.active){color:var(--color-text-primary);background:#ffffff0d}.unit-btn.active{background:var(--color-accent);color:#fff}.main-content{flex:1;margin-left:260px;padding:var(--space-xl);background:var(--color-bg-primary);transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.sidebar-collapsed .main-content{margin-left:80px}.login-page,.register-page,.forgot-password-page{text-align:center}.auth-title{font-size:1.5rem;font-weight:600;margin-bottom:var(--space-xs)}.auth-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:1.5}.auth-form{text-align:left}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-xs);color:var(--color-text-secondary)}.form-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-input::placeholder{color:var(--color-text-muted)}.submit-btn{width:100%;padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,var(--color-accent),#8b5cf6);border:none;border-radius:var(--radius-md);color:#fff;font-size:1rem;font-weight:500;margin-top:var(--space-md);transition:all var(--transition-fast);cursor:pointer}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.875rem}.success-message{background:#22c55e1a;border:1px solid #22c55e;color:#22c55e;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.875rem}.auth-footer{margin-top:var(--space-lg);color:var(--color-text-secondary);font-size:.875rem}.auth-footer a{color:var(--color-accent);text-decoration:none;font-weight:500;transition:opacity var(--transition-fast)}.auth-footer a:hover{opacity:.8}.forgot-link-row{text-align:right;margin-top:calc(var(--space-xs) * -1);margin-bottom:var(--space-xs)}.forgot-link{color:var(--color-accent);font-size:.8125rem;font-weight:500;text-decoration:none;transition:opacity var(--transition-fast)}.forgot-link:hover{opacity:.8}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:var(--space-xl);position:relative;padding:0 20px}.step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;background:var(--color-bg-elevated);border:2px solid var(--color-border);color:var(--color-text-muted);transition:all .3s ease;z-index:2;flex-shrink:0}.step-dot:nth-child(2){margin:0 auto}.step-dot.active{border-color:var(--color-accent);color:var(--color-accent);background:#6366f11a}.step-dot.completed{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.step-line{position:absolute;top:50%;left:36px;right:36px;height:2px;background:var(--color-border);transform:translateY(-50%);z-index:1}.step-line-fill{height:100%;background:var(--color-accent);transition:width .4s ease;border-radius:1px}.otp-container{display:flex;gap:10px;justify-content:center;margin-bottom:var(--space-md)}.otp-input{width:52px;height:60px;text-align:center;font-size:1.5rem;font-weight:700;font-family:Courier New,monospace;letter-spacing:0;background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all .2s ease;caret-color:var(--color-accent)}.otp-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light);transform:translateY(-2px)}.otp-input.filled{border-color:var(--color-accent);background:#6366f10d}.resend-row{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-top:var(--space-lg)}.resend-text{color:var(--color-text-muted);font-size:.8125rem}.resend-btn{background:none;border:none;color:var(--color-accent);font-size:.8125rem;font-weight:600;cursor:pointer;padding:0;transition:opacity var(--transition-fast)}.resend-btn:hover{opacity:.8}.resend-btn:disabled{opacity:.5;cursor:not-allowed}.resend-timer{color:var(--color-text-muted);font-size:.8125rem;font-variant-numeric:tabular-nums}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:44px}.password-toggle-btn{position:absolute;right:10px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm, 4px);transition:color var(--transition-fast),background var(--transition-fast)}.password-toggle-btn:hover{color:var(--color-text-primary);background:#ffffff0f}.password-toggle-btn:focus{outline:none}.password-strength{display:flex;align-items:center;gap:8px;margin-top:6px}.strength-bar-track{flex:1;display:flex;gap:4px}.strength-bar-segment{flex:1;height:4px;border-radius:2px;transition:background-color .3s ease}.strength-label{font-size:.6875rem;font-weight:500;min-width:46px;text-align:right;transition:color .3s ease}
