/* Shared student authentication: the same typography and controls on every page. */
@font-face{font-family:"ExamTier Auth";src:url("assets/fonts/test-series-inter/Inter-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
#tbAuthOverlay{display:flex;align-items:center;justify-content:center;font-family:"ExamTier Auth",Inter,Arial,sans-serif;font-size:14px;line-height:1.5;padding:24px;box-sizing:border-box}
#tbAuthOverlay[hidden]{display:none!important}
#tbAuthOverlay *,#tbAuthOverlay *::before,#tbAuthOverlay *::after{box-sizing:border-box}
#tbAuthOverlay .tb-auth-modal :is(h2,h3,p,span,small,label,a,strong,button,input,select,textarea){font-family:"ExamTier Auth",Inter,Arial,sans-serif!important;font-synthesis:none}
#tbAuthOverlay .tb-auth-modal{position:relative;width:min(880px,calc(100vw - 48px))!important;height:560px!important;min-height:0!important;max-height:calc(100vh - 48px)!important;max-height:calc(100dvh - 48px)!important;display:grid!important;grid-template-columns:40% 60%!important;overflow:hidden!important;border-radius:16px!important;background:#fff!important;box-shadow:0 24px 64px #0b1f5e26!important;transform:none!important;transition:none!important;filter:none!important}
#tbAuthOverlay .tb-auth-close{position:absolute!important;top:14px!important;right:14px!important;z-index:30;width:32px!important;height:32px!important;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#526078!important;font-size:16px!important;line-height:1!important;cursor:pointer!important}
#tbAuthOverlay .tb-auth-close:hover{background:#eef3fa!important;color:#102a61!important}
#tbAuthOverlay button:focus-visible,#tbAuthOverlay a:focus-visible{outline:3px solid #99baff!important;outline-offset:3px!important}
#tbAuthOverlay .tb-auth-brand-panel{height:100%!important;min-height:0!important;padding:30px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;overflow:hidden!important;background:#f3f7fd!important;border-right:1px solid #e0e8f4!important}
#tbAuthOverlay .login-brand-logo{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;margin:0!important;flex-shrink:0}
#tbAuthOverlay .tb-auth-logo{display:block!important;width:176px!important;max-width:100%!important;height:auto!important;max-height:46px!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:left!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
#tbAuthOverlay .tb-auth-brand-copy{margin-top:40px}
#tbAuthOverlay .tb-auth-brand-eyebrow{margin:0 0 12px;color:#50709b;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.08em}
#tbAuthOverlay .tb-auth-brand-copy h2{margin:0;color:#102a61;font-size:27px;font-weight:700;line-height:1.25;letter-spacing:-.7px}
#tbAuthOverlay .tb-auth-brand-copy h2 span{color:#1761d5}
#tbAuthOverlay .tb-auth-brand-copy>p:last-child{margin:14px 0 0;color:#526882;font-size:13px;line-height:1.7}
#tbAuthOverlay .tb-auth-brand-features{display:grid;gap:22px;margin:30px 0 0;padding:0;list-style:none}
#tbAuthOverlay .tb-auth-brand-features li{display:flex;align-items:flex-start;gap:12px;min-width:0}
#tbAuthOverlay .tb-auth-feature-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#e7effd;color:#1761d5;border-radius:8px;font-size:15px}
#tbAuthOverlay .tb-auth-brand-features strong{display:block;margin:0 0 3px;color:#18375f;font-size:12.5px;font-weight:600;line-height:1.5}
#tbAuthOverlay .tb-auth-brand-features p{margin:0;color:#526882;font-size:12px;line-height:1.6}
#tbAuthOverlay .tb-auth-brand-footer{width:100%;margin:auto 0 0;padding-top:22px;border-top:1px solid #dae5f4;color:#64748b;font-size:11px;line-height:1.5}
#tbAuthOverlay .tb-auth-form-panel{display:flex!important;flex-direction:column!important;align-items:stretch!important;height:100%!important;min-height:0!important;padding:34px 40px!important;overflow-y:auto!important;overscroll-behavior:contain;background:#fff!important}
#tbAuthOverlay .tb-auth-step{flex:0 0 auto;width:100%;min-width:0;margin-block:auto;animation:none!important;transform:none!important}
#tbAuthOverlay .tb-auth-heading{position:static!important;top:auto!important;margin:0!important;text-align:center}
#tbAuthOverlay .tb-auth-heading h2{margin:0!important;color:#102a61!important;font-size:24px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.5px!important}
#tbAuthOverlay .tb-auth-heading h2 span{color:#139447}
#tbAuthOverlay .tb-auth-heading p{margin:8px 0 0!important;color:#65758d!important;font-size:13px!important;font-weight:400!important;line-height:1.6!important}
#tbAuthOverlay .tb-auth-mode-pill{position:static!important;top:auto!important;display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:0 auto 14px!important;padding:4px 10px;border:1px solid #dce8fb;border-radius:20px;background:#f6f9ff;color:#345b8b;font-size:10px;font-weight:500;line-height:1.5;letter-spacing:normal}
#tbAuthOverlay .tb-auth-mode-pill i{color:#139447;font-size:10px}
#tbAuthOverlay .tb-auth-form{margin:26px 0 0!important;max-width:none!important}
#tbAuthOverlay .tb-auth-field{margin:0 0 16px!important}
#tbAuthOverlay #tbMobileStep .tb-auth-field{margin-bottom:0!important}
#tbAuthOverlay .tb-auth-field label{display:block;margin:0 0 7px!important;color:#334155!important;font-size:12.5px!important;font-weight:600!important;line-height:1.5}
#tbAuthOverlay .tb-auth-field input:not([type=hidden]),#tbAuthOverlay .tb-auth-field select{width:100%;min-width:0;height:46px!important;padding:0 12px!important;border:1px solid #ccd7e6!important;border-radius:8px!important;background:#fff!important;color:#15294c!important;font-size:14px!important;font-weight:400!important;line-height:normal!important;outline:none;transition:border-color .15s,box-shadow .15s}
#tbAuthOverlay .tb-auth-field input::placeholder{color:#8190a6!important;opacity:1;font-size:14px!important;font-weight:400!important}
#tbAuthOverlay .tb-auth-field input:focus,#tbAuthOverlay .tb-auth-field select:focus{border-color:#3979e9!important;box-shadow:0 0 0 3px #1769ff12!important}
#tbAuthOverlay .tb-mobile-input-wrap{display:flex;height:48px!important;border:1px solid #ccd7e6!important;border-radius:8px!important;background:#fff!important;overflow:hidden;box-shadow:none}
#tbAuthOverlay .tb-mobile-input-wrap:focus-within,#tbAuthOverlay .tb-email-password-wrap:focus-within{border-color:#3979e9!important;box-shadow:0 0 0 3px #1769ff12!important}
#tbAuthOverlay .tb-country-code{display:flex;align-items:center;justify-content:center;gap:8px;min-width:92px!important;padding:0 12px!important;border-right:1px solid #e4eaf2;font-size:13px!important}
#tbAuthOverlay .tb-country-code strong{font-weight:500}
#tbAuthOverlay .tb-auth-field .tb-mobile-input-wrap input{flex:1;border:0!important;border-radius:0!important;height:46px!important;box-shadow:none!important}
#tbAuthOverlay .tb-email-password-wrap{display:flex;align-items:center;border:1px solid #ccd7e6;border-radius:8px;overflow:hidden}
#tbAuthOverlay .tb-auth-field .tb-email-password-wrap input{border:0!important;border-radius:0!important;box-shadow:none!important;flex:1}
#tbAuthOverlay .tb-email-password-wrap button{position:static!important;inset:auto!important;display:grid;place-items:center;flex:0 0 40px;width:40px;height:44px;padding:0;transform:none!important;background:transparent;border:0;color:#65758d;cursor:pointer}
#tbAuthOverlay .tb-auth-primary-btn,#tbAuthOverlay .tb-register-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%!important;height:44px!important;min-height:44px!important;margin:18px 0 0!important;padding:0 16px!important;border:1px solid #103780!important;border-radius:8px!important;background:#103780!important;color:#fff!important;box-shadow:none!important;font-size:14px!important;font-weight:600!important;line-height:1.3!important;letter-spacing:normal!important;text-shadow:none!important;transform:none!important;cursor:pointer;transition:background-color .15s,border-color .15s}
#tbAuthOverlay .tb-auth-primary-btn:hover:not(:disabled),#tbAuthOverlay .tb-register-btn:hover:not(:disabled){background:#0b2b67!important;border-color:#0b2b67!important;box-shadow:none!important;transform:none!important}
#tbAuthOverlay button:disabled{opacity:.6;cursor:not-allowed!important;transform:none!important}
#tbAuthOverlay .tb-auth-flow-note{max-width:360px;margin:10px auto 0!important;color:#65758d;font-size:11px!important;font-weight:400;line-height:1.6!important;text-align:center}
#tbAuthOverlay .tb-auth-divider{position:static!important;top:auto!important;display:flex;align-items:center;gap:12px;margin:24px 0 18px!important}
#tbAuthOverlay .tb-auth-divider span{height:1px;flex:1;background:#e1e7f0}
#tbAuthOverlay .tb-auth-divider p{margin:0!important;color:#7b899c;font-size:10px!important;font-weight:500;line-height:1.5;letter-spacing:.04em;white-space:nowrap}
#tbAuthOverlay .tb-social-login-row{position:static!important;top:auto!important;display:flex;gap:10px!important;margin:0!important;justify-content:center}
#tbAuthOverlay .tb-social-login-btn{display:inline-flex;align-items:center;justify-content:center;flex:1;gap:8px!important;width:auto;max-width:none!important;height:40px!important;padding:0 12px!important;border:1px solid #ccd7e6!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;color:#334155!important;font-size:13px!important;font-weight:500!important;line-height:1.3!important;cursor:pointer;transform:none!important}
#tbAuthOverlay .tb-social-login-btn:hover{background:#f6f9fe!important;border-color:#9db8dd!important}
#tbAuthOverlay .tb-social-login-icon{width:18px;height:18px;object-fit:contain}
#tbAuthOverlay .tb-social-login-btn i{font-size:16px}
#tbAuthOverlay .tb-data-safe{position:static!important;top:auto!important;display:flex;align-items:center;justify-content:center;gap:7px;margin:22px 0 0!important;color:#718096;font-size:10.5px!important;font-weight:400;line-height:1.6!important;text-align:center}
#tbAuthOverlay .tb-data-safe i{color:#139447;font-size:11px}
#tbAuthOverlay .tb-auth-error,#tbAuthOverlay .tb-registration-error{min-height:0!important;margin:7px 0 0!important;color:#b42318;font-size:12px!important;line-height:1.5!important;text-align:left}
#tbAuthOverlay .tb-auth-error:empty,#tbAuthOverlay .tb-registration-error:empty{display:none!important;margin:0!important}
#tbAuthOverlay .tb-email-forgot-row{margin:10px 0 0;display:flex;justify-content:flex-end}
#tbAuthOverlay .tb-email-forgot-row button,#tbAuthOverlay .tb-email-back-btn{color:#245ab5;font-size:12px;font-weight:500;line-height:1.5;background:transparent;border:0;cursor:pointer}
#tbAuthOverlay .tb-email-back-btn{display:block;margin:18px auto 0;padding:4px}
#tbAuthOverlay .tb-otp-inputs{display:flex;justify-content:center;gap:8px!important}
#tbAuthOverlay .tb-otp-inputs input{width:calc((100% - 40px)/6);min-width:0;height:48px!important;border:1px solid #ccd7e6;border-radius:8px!important;background:#fff;color:#15294c;font-size:20px!important;font-weight:500;text-align:center;outline:none}
#tbAuthOverlay .tb-otp-inputs input:focus{border-color:#3979e9;box-shadow:0 0 0 3px #1769ff12}
#tbAuthOverlay .tb-otp-mobile-row{margin:12px 0 0;font-size:13px}
#tbAuthOverlay .tb-resend-row{margin-top:14px!important;font-size:12px!important}
#tbAuthOverlay .tb-registration-form{margin-top:20px!important}
#tbAuthOverlay .tb-registration-row{display:grid;grid-template-columns:1fr 1fr;gap:12px!important}
#tbAuthOverlay .tb-registration-form .tb-auth-field{margin-bottom:12px!important}
#tbAuthOverlay .tb-registration-form input,#tbAuthOverlay .tb-registration-form select{height:42px!important;font-size:13px!important}
#tbAuthOverlay .tb-registration-safe{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 0!important;color:#718096;font-size:10.5px!important;line-height:1.5;text-align:center}
#tbAuthOverlay .tb-registration-safe i{color:#139447}
@media(max-width:950px){
 #tbAuthOverlay{padding:16px}
 #tbAuthOverlay .tb-auth-modal{width:min(456px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100vh - 32px)!important;max-height:calc(100dvh - 32px)!important;grid-template-columns:1fr!important}
 #tbAuthOverlay .tb-auth-brand-panel{display:none!important}
 #tbAuthOverlay .tb-auth-form-panel{height:auto!important;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:44px 28px 30px!important;align-items:flex-start!important}
 #tbAuthOverlay .tb-auth-heading h2{font-size:23px!important}
 #tbAuthOverlay .tb-auth-close{top:10px!important;right:10px!important}
}
@media(max-width:400px){
 #tbAuthOverlay .tb-auth-form-panel{padding:44px 20px 26px!important}
 #tbAuthOverlay .tb-auth-heading h2{font-size:22px!important}
 #tbAuthOverlay .tb-auth-field input:not([type=hidden]),#tbAuthOverlay .tb-auth-field select{font-size:16px!important}
 #tbAuthOverlay .tb-mobile-input-wrap input::placeholder{font-size:13px!important}
 #tbAuthOverlay .tb-country-code{min-width:78px!important;padding:0 9px!important;gap:6px}
 #tbAuthOverlay .tb-registration-row{grid-template-columns:1fr}
 #tbAuthOverlay .tb-otp-inputs{gap:6px!important}
 #tbAuthOverlay .tb-otp-inputs input{width:calc((100% - 30px)/6)}
}
@media(prefers-reduced-motion:reduce){#tbAuthOverlay,#tbAuthOverlay *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
