:root{--primary: #3b82f6;--primary-dark: #1d4ed8;--success: #10b981;--danger: #ef4444;--bg-dark: #1a1f2e;--bg-light: #f8f9fa;--text-dark: #ffffff;--text-light: #e5e7eb;--border: #3f3f46}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%;width:100%}.container{width:100%;max-width:600px;margin:0 auto;padding:16px}.card{background:#0b0b0b;border-radius:12px;padding:24px;box-shadow:0 10px 30px #0006}.form-group{margin-bottom:20px}.form-section{animation:formFadeIn .35s ease both}@keyframes formFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.form-label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-light);font-size:14px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.form-row.three{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form-row.salutation-name-row{grid-template-columns:minmax(96px,120px) minmax(0,1fr) minmax(0,1fr)}.business-years-email{grid-template-columns:minmax(120px,160px) 1fr;align-items:end}.business-years-email .years-input{max-width:140px}.address-row{gap:12px;align-items:start}.address-row .form-label{margin-bottom:6px}.form-row.full{grid-template-columns:1fr}.form-input,.form-select{width:100%;padding:12px;border:1px solid #f3f4f6;border-radius:8px;font-size:16px;font-family:inherit;transition:border-color .2s;background:#0b0b0b;color:#fff;color-scheme:dark}.form-select option{background-color:#0b0b0b;color:#fff}.field-error .form-input,.field-error .form-select{border-color:var(--danger);box-shadow:0 0 0 3px #ef444433}.field-error-text{color:var(--danger);font-size:12px;margin-top:6px}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f633}.form-select:disabled{background:#0b0b0b;color:#9ca3af;border-color:#2d2f38;cursor:not-allowed}.dropdown{position:relative;width:100%}.dropdown-control{width:100%;display:flex;align-items:center;border:1px solid #f3f4f6;border-radius:8px;background:#0b0b0b}.dropdown-input{flex:1;padding:12px;border:none;background:transparent;color:#fff;font-size:16px;font-family:inherit}.dropdown-input::placeholder{color:#9ca3af}.dropdown-input:focus{outline:none}.dropdown-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f633}.dropdown-input:disabled{color:#9ca3af}.dropdown-control:has(.dropdown-input:disabled){background:#0b0b0b;border-color:#2d2f38;cursor:not-allowed}.dropdown-caret-button{border:none;background:transparent;color:#9ca3af;padding:0 12px;font-size:14px;cursor:pointer}.dropdown-caret-button:disabled{cursor:not-allowed}.dropdown-menu{position:absolute;left:0;right:0;margin-top:8px;background:#0b0b0b;border:1px solid #2d2f38;border-radius:8px;max-height:260px;overflow:auto;z-index:30;box-shadow:0 12px 30px #00000073}.dropdown-item{width:100%;text-align:left;padding:10px 12px;background:transparent;border:none;color:#fff;cursor:pointer}.dropdown-item:hover,.dropdown-item.active{background:#3b82f633}.dropdown-item:disabled{color:#9ca3af;cursor:not-allowed}.show-errors .dropdown-input[data-required=true][data-value=""]{border-color:var(--danger)}.show-errors .dropdown-control:has(.dropdown-input[data-required=true][data-value=""]){border-color:var(--danger);box-shadow:0 0 0 3px #ef444433}.form-input::placeholder{color:#9ca3af}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;width:100%}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:#e5e7eb;border:1px solid #e5e7eb}.btn-secondary:hover{background:#ffffff14;border-color:#fff;color:#fff}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:#667eea1a}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.alert-error{background:#fee;border-left:4px solid var(--danger);color:#c53030}.alert-success{background:#efe;border-left:4px solid var(--success);color:#22543d}.alert-info{background:#3b82f614;border-left:4px solid var(--primary);color:#dbeafe}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:24px;flex-wrap:wrap;overflow-x:visible}.tab-button{flex:1 0 50%;min-width:0;padding:12px;border:none;background:none;cursor:pointer;font-weight:600;color:#cbd5f5;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.tab-button.active{color:#fff;border-bottom-color:var(--primary)}.tab-header{display:flex;align-items:center;justify-content:center;border-bottom:2px solid var(--border);padding-bottom:12px;margin-bottom:24px;gap:12px}.tab-title{font-size:16px;font-weight:700;color:#fff;text-align:center}.form-nav{display:flex;gap:12px;justify-content:space-between;margin-top:28px;padding-top:16px;border-top:1px solid #1f2937}.form-nav .btn{min-height:52px;font-size:16px}.form-nav .btn-primary{box-shadow:0 12px 24px #3b82f640}.form-nav .btn-next{border:2px solid #10b981;background:transparent;color:#e5e7eb}.form-nav .btn-back{border:2px solid #ef4444}.tab-nav{display:flex;gap:8px}.tab-nav-button{width:auto;padding:8px 14px}.show-errors .form-input:invalid,.show-errors .form-select:invalid{border-color:var(--danger);box-shadow:0 0 0 3px #ef444433}.show-errors .consent-checkbox-row input[type=checkbox]:invalid{outline:2px solid var(--danger);outline-offset:2px}.spinner{display:inline-block;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)}}.header{text-align:center;margin-bottom:32px}.header-title{font-size:28px;font-weight:700;margin-bottom:8px;color:#fff}.header-subtitle{font-size:16px;color:#ffffffbf}.cosigner-choice-card .header-title{color:#fff}.cosigner-choice-card .header-subtitle{color:#ffffffbf}.progress-header{margin-bottom:16px}.progress-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;margin-bottom:8px}.progress-bar{height:6px;background:#1f2937;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .2s ease}.success-container{text-align:center;padding:40px 24px}.success-icon{font-size:64px;margin-bottom:16px}.success-title{font-size:24px;font-weight:700;color:var(--success);margin-bottom:8px}.success-message{font-size:16px;color:#666;margin-bottom:24px;line-height:1.5}.checkbox-group{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.checkbox-group:hover{border-color:var(--primary);background:#667eea0d}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary)}.checkbox-label{flex:1;cursor:pointer;font-weight:500;color:var(--text-dark)}.inline-checkbox{display:flex;align-items:center;gap:10px;margin:8px 0 16px;color:#e5e7eb;font-size:14px;font-weight:600}.inline-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.consent-section{border:1px solid var(--border);border-radius:8px;padding:12px;margin-top:16px;background:#000}.consent-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:8px}.consent-text{font-size:12px;color:#fff;line-height:1.4;max-height:140px;overflow:auto;padding-right:4px;margin-bottom:12px}.consent-section .checkbox-label{color:#fff}.consent-checkbox-row{display:flex;align-items:flex-start;gap:12px;padding:8px;border-radius:8px;cursor:pointer}.consent-checkbox-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary);margin-top:2px}.consent-checkbox-row .checkbox-label{font-size:14px;line-height:1.4}.consent-required{color:var(--danger);font-weight:700;margin-left:4px}.toggle-group{display:flex;gap:12px;flex-wrap:wrap}.toggle-option{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid #9ca3af;background:transparent;color:#e5e7eb;cursor:pointer;font-size:14px;font-weight:600}.toggle-option.active{border-color:var(--primary);color:#fff;background:#3b82f626}.toggle-dot{width:12px;height:12px;border-radius:999px;border:2px solid #9ca3af;background:transparent;display:inline-block}.toggle-dot.active{border-color:var(--primary);background:var(--primary)}@media(max-width:640px){.container{padding:12px}.card{padding:20px;border-radius:8px}.header-title{font-size:24px}.form-row{grid-template-columns:1fr;gap:12px}.form-row.three{grid-template-columns:1fr}.tabs{margin-bottom:16px}}@media(max-width:480px){.container{padding:8px 16px}.card{padding:16px}.form-label{font-size:13px}.btn{font-size:15px;padding:12px 16px}}@media(max-width:640px){.form-row.salutation-name-row{grid-template-columns:minmax(88px,110px) minmax(0,1fr) minmax(0,1fr)!important}.address-layout .address-row-unit-number-street{grid-template-columns:minmax(90px,1fr) minmax(130px,1.6fr)!important}.address-layout .address-row-unit-number-street .address-street-name{grid-column:1 / -1!important}.address-layout .address-row-streettype-direction,.address-layout .address-row-postal-country{grid-template-columns:repeat(2,minmax(0,1fr))!important}.address-layout .address-row-city-province{grid-template-columns:1fr!important}.employment-layout .employment-row-unit-number-street{grid-template-columns:repeat(2,minmax(0,1fr))!important}.employment-layout .employment-row-unit-number-street .employment-street-name{grid-column:1 / -1!important}.employment-layout .employment-row-street-type-direction,.employment-layout .employment-row-province-postal,.employment-layout .employment-row-income-years,.employment-layout .employment-row-other-income{grid-template-columns:repeat(2,minmax(0,1fr))!important}.employment-layout .employment-row-city,.employment-layout .employment-row-work-phone{grid-template-columns:1fr!important}}@media(max-width:480px){.form-row.salutation-name-row{grid-template-columns:minmax(76px,90px) minmax(0,1fr) minmax(0,1fr)!important}.address-layout .address-row-unit-number-street{grid-template-columns:minmax(80px,1fr) minmax(120px,1.5fr)!important}}
