.k-form-wrapper { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.k-form { position: relative; max-width: 440px; margin: 40px auto; padding: 45px 35px; background: #ffffff; border-radius: 20px; box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08); }
.k-form h3 { font-size: 26px; font-weight: 700; color: #111; margin: 0 0 12px 0; text-align: center; }
.k-form p { font-size: 16px; color: #666; text-align: center; margin-bottom: 30px; }
.k-alert { display: none; padding: 14px 18px; border-radius: 12px; margin-bottom: 25px; font-size: 15px; font-weight: 500; text-align: center; background-color: #fff1f0; color: #d93025; border: 1px solid #f9d2d0; }
.k-back-btn { position: absolute; top: 38px; left: 25px; color: #a0a0a0; cursor: pointer; transition: all 0.3s; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #f9f9f9; }
.k-back-btn:hover { color: #fff; background: #FF7700; transform: translateX(-3px); }
.k-back-icon { width: 18px; height: 18px; }
.k-input-group { display: flex; gap: 12px; margin-bottom: 25px; }
.k-select { flex: 0 0 calc(40% - 6px); padding: 16px 10px; font-size: 18px !important; font-weight: 500; border: 2px solid #e8e8e8; border-radius: 12px; background: #fff; cursor: pointer; text-align: center; }
.k-input-flex { flex: 0 0 calc(60% - 6px); margin-bottom: 0 !important; }
.k-input { width: 100%; padding: 16px; font-size: 18px !important; border: 2px solid #e8e8e8; border-radius: 12px; box-sizing: border-box; transition: all 0.3s; margin-bottom: 20px; background-color: #fbfbfb; }
.k-select:focus, .k-input:focus { border-color: #FF7700; background-color: #fff; box-shadow: 0 0 0 4px rgba(255, 119, 0, 0.1); outline: none; }
.k-password-wrapper { position: relative; width: 100%; }
.k-toggle-pw { position: absolute; right: 15px; top: 27px; transform: translateY(-50%); cursor: pointer; color: #999; }
.k-toggle-pw:hover { color: #FF7700; }
.k-icon { width: 22px; height: 22px; }
.k-btn { width: 100%; padding: 18px; font-size: 18px; font-weight: 600; background-color: #FF7700; color: #fff; border: none; border-radius: 12px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 6px 15px rgba(255, 119, 0, 0.25); display: flex; justify-content: center; align-items: center; gap: 10px; }
.k-btn:hover { background-color: #e66b00; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255, 119, 0, 0.35); }
.k-btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; box-shadow: none; }
.k-otp-container { display: flex; justify-content: center; gap: 15px; margin-bottom: 15px; }
.k-otp-box { width: 65px; height: 75px; text-align: center; font-size: 32px; font-weight: 700; border: 2px solid #e8e8e8; border-radius: 14px; background: #fbfbfb; outline: none; transition: all 0.3s; }
.k-otp-box::-webkit-outer-spin-button, .k-otp-box::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.k-otp-box[type=number] { -moz-appearance: textfield; }
.k-otp-box:focus { border-color: #FF7700; background: #fff; transform: scale(1.02); }
.k-link { display: block; text-align: center; color: #FF7700; font-size: 15px; font-weight: 600; cursor: pointer; margin-top: 15px; transition: color 0.3s; }
.k-link:hover { text-decoration: underline; color: #cc5f00; }
.k-highlight { color: #111; font-weight: 700; }
.k-spinner { width: 20px; height: 20px; border: 3px solid rgba(255,255,255,0.3); border-radius: 50%; border-top-color: #fff; animation: spin 1s ease-in-out infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 480px) { .k-form { padding: 45px 20px 35px; margin: 20px auto; border-radius: 16px; } .k-back-btn { top: 35px; left: 15px; } .k-otp-box { width: 55px; height: 65px; font-size: 28px; } }