:root{--talvexa-blue:#275df5;--talvexa-orange:#ff7555}
button,.btn,input[type=submit]{background:var(--talvexa-blue)!important;color:#fff!important}
button:hover,.btn:hover,input[type=submit]:hover{background:#194bd8!important;box-shadow:0 6px 16px #275df540}
nav .btn,.searchbar button,.auth-card button,.login-form form>button,.btn-accent,.orange{background:var(--talvexa-orange)!important}
nav .btn:hover,.searchbar button:hover,.auth-card button:hover,.login-form form>button:hover,.btn-accent:hover,.orange:hover{background:#e85f42!important;box-shadow:0 6px 16px #ff755540}
a{color:var(--talvexa-blue)}
.brand{color:var(--talvexa-blue)!important}
.brand>span,.brand small span{color:var(--talvexa-orange)!important}
.stat{color:var(--talvexa-blue)!important}
.badge{background:#fff0ec!important;color:var(--talvexa-orange)!important}
.chip:hover,.chip[style*="border-color"]{border-color:var(--talvexa-orange)!important;color:var(--talvexa-orange)!important;background:#fff5f2!important}
input:focus,select:focus,textarea:focus{outline:2px solid var(--talvexa-orange)!important;border-color:transparent!important}

/* Authentication tabs and OTP verification */
.tabs{background:#f2f5ff;padding:5px;border-radius:26px}
.tabs button{background:transparent!important;color:var(--talvexa-blue)!important;box-shadow:none!important;margin:0}
.tabs button.active{background:var(--talvexa-blue)!important;color:#fff!important;box-shadow:0 4px 12px #275df530!important}
.login-form .panel{animation:authFade .2s ease}
.login-form input[name="otp"],.otp-box input[name="otp"]{display:block;max-width:320px;height:62px;margin:18px auto;font-size:27px;font-weight:700;letter-spacing:12px;text-align:center;padding-left:24px;border:2px solid #d8dff3;border-radius:14px;background:#fbfcff}
.login-form input[name="otp"]::placeholder,.otp-box input[name="otp"]::placeholder{font-size:18px;letter-spacing:8px;color:#a4aec4}
.login-form form:has(input[name="otp"]),.otp-box form{max-width:420px;margin:0 auto;text-align:center}
.login-form form:has(input[name="otp"]) button,.otp-box form button{display:block;width:100%;max-width:320px;margin:14px auto 0}
.login-form form:has(input[name="otp"])+form button{background:transparent!important;color:var(--talvexa-blue)!important;box-shadow:none!important}
.otp-box{max-width:520px;margin:auto;text-align:center}
.otp-box h1{color:var(--talvexa-blue)}
@keyframes authFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:600px){.login-form input[name="otp"],.otp-box input[name="otp"]{max-width:100%;font-size:23px;letter-spacing:8px;padding-left:16px}.tabs{display:grid!important;grid-template-columns:1fr}.otp-box{padding:4px}.login-wrap{margin:15px auto!important}}

/* Dashboards use top navigation; no sidebar. */
.portal{grid-template-columns:1fr!important}
.portal-side{display:none!important}

@media print{
    nav,footer,.alert,.no-print,[style*="position:fixed"]{display:none!important}
    body{background:#fff!important}
    main.container{max-width:none!important;margin:0!important;padding:0!important}
}
