body.auth-route *{margin:0;padding:0;box-sizing:border-box}body.auth-route{font-family:var(--font-family-base,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}body.auth-route .auth-wrapper{width:100%;max-width:1100px;display:flex;background:#ffffff;background:var(--color-surface,#ffffff);border-radius:var(--space-4);box-shadow:var(--shadow-2xl);overflow:hidden;min-height:600px}body.auth-route .auth-brand{flex:1;background:linear-gradient(135deg,#1e3a8a 0%,#1e3a5f 100%);padding:var(--space-12,3rem) var(--space-12,3rem);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#ffffff;position:relative;overflow:hidden;border:2px solid rgba(255,255,255,0.3);border-right:none;border-radius:var(--space-4,1rem) 0 0 var(--space-4,1rem)}body.auth-route .auth-brand::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,0.1) 1px,transparent 1px);background-size:50px 50px;animation:drift 20s linear infinite}@keyframes drift{0%{transform:translate(0,0)}100%{transform:translate(50px,50px)}}body.auth-route .brand-content{position:relative;z-index:1;text-align:center}body.auth-route .logo-img{max-width:100%;width:320px;height:auto;margin-bottom:var(--space-8)}body.auth-route .brand-tagline{font-size:18px;line-height:1.6;margin-bottom:var(--space-10);color:var(--color-text-inverse);font-weight:400;letter-spacing:0.5px}body.auth-route .brand-features{list-style:none;text-align:left;margin-top:var(--space-8)}body.auth-route .brand-features li{padding:var(--space-3) 0;font-size:15px;display:flex;align-items:center;color:var(--color-text-inverse)}body.auth-route .brand-features li i{margin-right:var(--space-3);font-size:18px;color:var(--color-success-light)}body.auth-route .auth-form-container{flex:1;padding:var(--space-12) var(--space-12);display:flex;flex-direction:column;justify-content:center;background:#ffffff;background:var(--color-surface,#ffffff)}body.auth-route .auth-header{margin-bottom:var(--space-10)}body.auth-route .auth-header h1{font-size:var(--space-8);font-weight:700;color:var(--color-primary-dark);margin-bottom:var(--space-2)}body.auth-route .auth-header p{color:var(--color-text-secondary);font-size:var(--space-4)}body.auth-route .progress-steps{display:flex;justify-content:center;margin-top:var(--space-5);margin-bottom:0}body.auth-route .step{display:flex;align-items:center;color:white!important;font-size:var(--space-3);font-weight:500}body.auth-route .step span{color:white!important}body.auth-route .step.completed{color:var(--color-success-light)!important}body.auth-route .step.completed span{color:var(--color-success-light)!important}body.auth-route a.step.clickable{text-decoration:none;cursor:pointer;transition:opacity 0.2s ease,transform 0.2s ease}body.auth-route a.step.clickable:hover{opacity:0.85;transform:scale(1.02)}body.auth-route a.step.clickable:hover .step-number{box-shadow:0 0 0 3px rgba(255,255,255,0.3)}body.auth-route .step.active{color:white!important}body.auth-route .step.active span{color:white!important}body.auth-route .step-number{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.25);color:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;margin-right:var(--space-2);font-size:14px;font-weight:600}body.auth-route .step.completed .step-number{background:#22c55e;color:#ffffff}body.auth-route .step.completed .step-number i{font-size:12px;color:#ffffff}body.auth-route .step.active .step-number{background:#ffffff;color:#1e3a5f}body.auth-route .step.active{position:relative;padding-bottom:8px}body.auth-route .step.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff;border-radius:2px}body.auth-route .progress-steps{gap:var(--space-8)}body.auth-route .form-group{margin-bottom:var(--space-6)}body.auth-route .form-label{display:block;font-size:14px;font-weight:600;color:var(--color-gray-700);margin-bottom:var(--space-2)}body.auth-route .form-input{width:100%;padding:var(--space-3) var(--space-4);font-size:15px;border:2px solid var(--color-border);border-radius:var(--border-radius);transition:all 0.2s;background:var(--color-gray-50);color:var(--color-primary-dark)}body.auth-route .form-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-focus)}body.auth-route .password-wrapper{position:relative}body.auth-route .password-toggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-2);line-height:1;transition:color 0.2s}body.auth-route .password-toggle:hover{color:var(--color-text-secondary)}body.auth-route .password-strength{margin-top:var(--space-2);font-size:var(--space-3)}body.auth-route .strength-bar{height:var(--space-1);background:var(--color-border);border-radius:var(--border-radius-sm);margin:var(--space-1) 0;overflow:hidden}body.auth-route .strength-fill{height:100%;border-radius:var(--border-radius-sm);transition:all 0.3s ease;width:0%}body.auth-route .strength-weak .strength-fill{background:var(--color-danger);width:25%}body.auth-route .strength-fair .strength-fill{background:var(--color-warning);width:50%}body.auth-route .strength-good .strength-fill{background:var(--color-success);width:75%}body.auth-route .strength-strong .strength-fill{background:var(--color-success-dark);width:100%}body.auth-route .strength-text{color:var(--color-text-secondary)}body.auth-route .form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);font-size:14px}body.auth-route .remember-me{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}body.auth-route .remember-me input[type="checkbox"]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}body.auth-route .remember-me label{color:var(--color-gray-700);cursor:pointer;user-select:none}body.auth-route .forgot-link{color:var(--color-primary);text-decoration:none;font-weight:500}body.auth-route .forgot-link:hover{text-decoration:underline}body.auth-route .btn-primary,body.auth-route .ds-btn--primary{width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#ffffff!important;border:none;border-radius:var(--border-radius);font-size:var(--space-4);font-weight:600;cursor:pointer;transition:all 0.3s;box-shadow:var(--shadow-md)}body.auth-route .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}body.auth-route .btn-primary:active{transform:translateY(0)}body.auth-route .btn-primary:disabled{background:var(--color-text-tertiary);cursor:not-allowed;transform:none;box-shadow:none}body.auth-route .btn-primary.btn-error{background:var(--color-danger);box-shadow:var(--shadow-danger)}body.auth-route .btn-outline{width:100%;padding:var(--space-3) var(--space-6);background:var(--color-surface);color:var(--color-gray-700);border:2px solid var(--color-border);border-radius:var(--border-radius);font-size:15px;font-weight:500;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}body.auth-route .btn-outline:hover{background:var(--color-gray-50);border-color:var(--color-border-strong)}body.auth-route .divider{display:flex;align-items:center;margin:var(--space-6) 0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.divider::before,body.auth-route .divider::after{content:'';flex:1;height:1px;background:var(--color-border)}body.auth-route .divider span{padding:0 var(--space-4)}body.auth-route .signup-link{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-gray-700);font-size:var(--font-size-sm)}body.auth-route .signup-link a{color:var(--color-primary);text-decoration:none;font-weight:600}body.auth-route .signup-link a:hover{text-decoration:underline}body.auth-route .alert{padding:14px 16px;border-radius:var(--border-radius);margin-bottom:var(--space-6);display:flex;align-items:flex-start;gap:var(--space-3);font-size:14px}body.auth-route .alert-danger{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-dark)}body.auth-route .alert-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-dark)}body.auth-route .alert-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}body.auth-route .alert i{margin-top:2px}body.auth-route .info-box{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--border-radius);padding:var(--space-4);margin-bottom:var(--space-6)}body.auth-route .info-box p{color:var(--color-info-dark);font-size:var(--font-size-sm);margin:0}body.auth-route .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width:768px){body.auth-route{padding:0;background:var(--color-surface)}body.auth-route .auth-wrapper{flex-direction:column;max-width:100%;border-radius:0;box-shadow:none;min-height:100vh}body.auth-route .auth-brand{padding:40px 30px;min-height:auto}body.auth-route .logo-img{width:240px;margin-bottom:var(--space-5)}body.auth-route .brand-tagline{font-size:var(--space-4);margin-bottom:var(--space-5)}body.auth-route .brand-features{display:none}body.auth-route .auth-form-container{padding:40px 30px}body.auth-route .auth-header h1{font-size:26px}body.auth-route .auth-header p{font-size:14px}body.auth-route .form-options{flex-direction:column;align-items:flex-start;gap:var(--space-3)}body.auth-route .form-row{grid-template-columns:1fr;gap:var(--space-5)}body.auth-route .progress-steps{margin-top:15px}body.auth-route .step{font-size:11px}body.auth-route .step-number{width:var(--space-6);height:var(--space-6);font-size:11px;margin-right:6px}}@media (max-width:480px){body.auth-route .auth-brand{padding:30px 20px}body.auth-route .logo-img{width:200px}body.auth-route .auth-form-container{padding:30px 20px}body.auth-route .auth-header h1{font-size:var(--space-6)}body.auth-route .btn-primary,body.auth-route .btn-outline{padding:12px 20px;font-size:15px}body.auth-route .form-input{padding:10px 14px;font-size:14px}}body.auth-route .form-hint{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1);margin-bottom:var(--space-4);line-height:1.6;font-weight:400}body.auth-route .search-container{position:relative;margin-bottom:var(--space-6)}body.auth-route .search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;z-index:1}body.auth-route .search-input{width:100%;padding:14px 16px 14px 48px;border:2px solid var(--color-border);border-radius:var(--border-radius);font-size:15px;transition:all 0.2s;background:var(--color-surface)}body.auth-route .search-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-focus)}body.auth-route .manual-entry{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}body.auth-route .manual-entry-header{display:flex;align-items:center;margin-bottom:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-sm)}body.auth-route .manual-entry-header::before,body.auth-route .manual-entry-header::after{content:'';flex:1;height:1px;background:var(--color-border)}body.auth-route .manual-entry-header span{padding:0 var(--space-4)}body.auth-route .selected-company{background:var(--color-primary-bg,#eff6ff);border:1px solid var(--color-primary-border,#bfdbfe);border-radius:var(--border-radius);padding:var(--space-5);margin-bottom:var(--space-6)}body.auth-route .back-button{width:100%;background:transparent;color:var(--color-text-secondary);border:none;padding:var(--space-3);border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all 0.2s;margin-top:var(--space-10)!important;margin-bottom:var(--space-4)!important;text-decoration:none;display:inline-block;text-align:center}body.auth-route .back-button:hover{background:var(--color-surface-secondary);color:var(--color-text-primary);text-decoration:none}body.auth-route .terms-acceptance{margin-top:var(--space-6,1.5rem);margin-bottom:var(--space-6,1.5rem);text-align:center}body.auth-route .terms-acceptance .form-text{font-size:0.875rem;line-height:1.5}body.auth-route .terms-acceptance a{color:var(--color-primary);text-decoration:underline}body.auth-route .terms-acceptance a:hover{color:var(--color-primary-hover)}body.auth-route .terms-checkbox{display:flex;align-items:flex-start;gap:0.75rem;cursor:pointer;text-align:left}body.auth-route .terms-checkbox-input{margin-top:0.25rem;width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}body.auth-route .auth-divider{display:flex;align-items:center;margin:var(--space-6) 0;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}body.auth-route .auth-divider::before,body.auth-route .auth-divider::after{content:'';flex:1;height:1px;background:var(--color-border)}body.auth-route .auth-divider span{padding:0 var(--space-4);white-space:nowrap}body.auth-route .google-btn{width:100%;padding:12px 24px;background:var(--color-surface);color:var(--color-gray-700);border:2px solid var(--color-border);border-radius:var(--border-radius);font-size:15px;font-weight:500;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}body.auth-route .google-btn:hover{background:var(--color-gray-50);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}body.auth-route .google-btn svg{flex-shrink:0}