/* ============================================================
   Custom User Portal — auth form styles (login / register)
   Dashboard styles are printed inline by the [cup_dashboard] shortcode.
   ============================================================ */
.cup-form{ max-width:440px; margin:0 auto; font-family:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif; box-sizing:border-box; }
.cup-form *{ box-sizing:border-box; }
.cup-form p{ margin-bottom:15px; }
.cup-form label{ display:block; font-weight:600; margin-bottom:5px; font-size:14px; color:#0f172a; }
.cup-form input, .cup-form select{
	width:100%; padding:12px 14px; border:1.5px solid #e2e8f0; border-radius:12px;
	box-sizing:border-box; font-family:inherit; font-size:15px; background:#fff; transition:border-color .15s, box-shadow .15s;
}
.cup-form input:focus, .cup-form select:focus{ outline:none; border-color:#10b981; box-shadow:0 0 0 4px rgba(16,185,129,.13); }
.cup-form button, #cup_send_otp_btn, #cup_verify_otp_btn{
	background:linear-gradient(100deg,#10b981,#0ea5b7); color:#fff; border:0;
	padding:13px 26px; border-radius:12px; cursor:pointer; font-family:'Sora',sans-serif; font-size:15px; font-weight:700;
	box-shadow:0 12px 26px -10px rgba(16,185,129,.8);
}
.cup-form button:hover, #cup_send_otp_btn:hover, #cup_verify_otp_btn:hover{ transform:translateY(-1px); }

/* Phone field with +91 prefix */
.cup-phone-wrap{ position:relative; display:block; }
.cup-phone-wrap .cup-cc{
	position:absolute; left:1.5px; top:1.5px; bottom:1.5px; display:flex; align-items:center;
	padding:0 12px; font-weight:700; color:#334155;
	border-radius:10.5px 0 0 10.5px; pointer-events:none;
}
.cup-phone-wrap input{ padding-left:60px !important; }

.cup-inline-err{ display:block; color:#dc2626; font-size:12.5px; margin-top:5px; font-weight:600; }
.cup-form-msg{ margin-top:6px; }

.cup-login-tabs{ display:flex; gap:8px; max-width:440px; margin:0 auto 18px; }
.cup-tab{
	flex:1; background:#eef2f6; color:#475569; border:0; padding:11px;
	border-radius:12px; cursor:pointer; font-family:'Sora',sans-serif; font-weight:600; font-size:14px;
}
.cup-tab.active{ background:#0f172a; color:#fff; }

.cup-notice{ padding:11px 14px; border-radius:12px; margin:0 auto 14px; max-width:440px; font-size:14px; box-sizing:border-box; }
.cup-success{ background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; }
.cup-error{ background:#fef2f2; color:#b42318; border:1px solid #fecaca; }

/* Mobile */
@media (max-width:480px){
	.cup-form, .cup-login-tabs, .cup-notice{ max-width:100%; }
	.cup-form{ padding:0 4px; }
	.cup-form input, .cup-form select, .cup-form button{ font-size:16px; } /* avoids iOS zoom */
	#cup_send_otp_btn, #cup_verify_otp_btn{ width:100%; }
}
input#cup_otp_mobile {
    border-radius: 12px;
}
input#cup_otp_code {
    border-radius: 12px;
}
