﻿.portal-auth-stage{min-height:calc(100dvh - 205px);padding:48px 24px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;background:radial-gradient(ellipse at 82% 70%,#9edaff88,transparent 65%),linear-gradient(125deg,#f6e9fc,#e7f4ff 60%,#dbedff);color:#0c1c43}
.portal-auth-stage>*{min-width:0}.portal-auth-visual{position:relative;height:490px;max-width:620px;width:100%;justify-self:end;border-radius:54px 24px 20px 54px;overflow:hidden;background:#124764;border-right:8px solid #46c6ed}.portal-auth-visual>img{width:100%;height:100%;object-fit:cover}.portal-auth-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#002f51a8,transparent 65%)}.portal-auth-visual>div{position:absolute;z-index:1;top:40px;left:32px;right:24px;color:white}.portal-auth-visual h1{font-size:36px;line-height:1.12;font-weight:800;margin:0 0 8px}.portal-auth-visual p{font-size:16px;line-height:1.5;margin:0}
.portal-admin-card,.portal-auth-stage .cs-auth-panel{width:100%;max-width:480px;justify-self:start;padding:44px 28px 30px;background:#ffffffdb;border:1px solid #fff9;border-radius:26px;box-shadow:0 14px 26px #0067a52b}.portal-admin-card h1{font-size:30px;line-height:1.2;text-align:center;font-weight:800;margin:0 0 8px}.portal-admin-lead{font-size:13px;color:#4c5873;text-align:center}.portal-admin-card input:not([type=checkbox]){min-width:0;min-height:42px;border:1px solid #a9c8e9;border-radius:8px;background:#f7faff;color:#101b38;padding:10px 12px}.portal-admin-card input[type=password]{padding-right:48px}.portal-admin-card button[type=submit]{background:#071f49;color:#fff;border-radius:8px}.portal-admin-card input:focus-visible{outline:2px solid #587de3;outline-offset:2px}.portal-auth-stage .cs-auth-panel{min-height:0;display:block}.portal-auth-stage .cs-auth-card{max-width:none;width:100%;padding:0;background:none;border:0;box-shadow:none}.portal-auth-stage .cs-auth-primary{background:#071f49}.portal-auth-stage .cs-auth-kicker{color:#4c32c3}
.portal-auth-dialog{padding:0;width:min(1000px,calc(100% - 32px));max-width:1000px;max-height:calc(100dvh - 32px);border:1px solid #e3ddfa;border-radius:24px;background:#f7f7ff;box-shadow:0 26px 90px #071f4940;color:#0c1c43;overflow:auto;margin:auto}.portal-auth-dialog::backdrop{background:#08132988;backdrop-filter:blur(5px)}.portal-auth-open{overflow:hidden}.portal-auth-close{position:absolute;right:14px;top:10px;z-index:4;width:36px;height:36px;border-radius:50%;font-size:28px;line-height:1;background:#ffffffd9;color:#101b38}.portal-auth-close:focus-visible{outline:2px solid #5900f5}.portal-auth-dialog-brand{padding:18px 24px;background:linear-gradient(100deg,#fbd7fc,#d9efff);display:grid}.portal-auth-dialog-brand strong{font-size:28px;line-height:1;color:#171060;font-weight:800;letter-spacing:-1.3px}.portal-auth-dialog-brand sup{font-size:12px;vertical-align:super}.portal-auth-dialog-brand small{font-size:10px;margin-top:4px;color:#566189}.portal-auth-dialog .portal-auth-stage{min-height:0;padding:28px;gap:24px}.portal-auth-dialog .portal-auth-visual{height:460px}.portal-auth-dialog .portal-auth-visual h1{font-size:30px}.portal-auth-dialog .portal-admin-card,.portal-auth-dialog .cs-auth-panel{padding:28px 22px}.portal-auth-loading{padding:48px 24px;text-align:center}
@media(min-width:1400px){.portal-auth-stage{padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:max(24px,calc((100vw - 1200px)/2))}}
@media(max-width:760px){.portal-auth-stage{padding:28px 18px;gap:24px;grid-template-columns:minmax(0,1fr)}.portal-auth-visual{justify-self:center;height:220px;max-width:480px;border-radius:28px 20px}.portal-auth-visual>div{top:24px;left:24px}.portal-auth-visual h1{font-size:28px}.portal-admin-card,.portal-auth-stage .cs-auth-panel{justify-self:center;padding:28px 22px}.portal-auth-dialog .portal-auth-stage{padding:20px 14px;gap:16px}.portal-auth-dialog .portal-auth-visual{display:none}.portal-auth-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.portal-admin-card h1{font-size:26px}}
.portal-auth-page .cs-logo-copy small{display:block}.portal-auth-page .cs-login-link{white-space:nowrap}@media(max-width:420px){.portal-auth-page .cs-logo-copy strong{font-size:25px}.portal-auth-page .cs-logo-copy small{font-size:8px}.portal-auth-page .cs-header-inner{gap:10px}.portal-auth-page .cs-header-actions{gap:10px}}
.portal-otp-status{padding:10px 12px;border:1px solid #bad7ef;border-radius:8px;background:#edf7ff;color:#102e60;font-size:13px;line-height:1.5}
.cs-auth-role-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin:0 0 22px;border:1px solid #d7e3f2;border-radius:12px;background:#edf3fb}
.cs-auth-role-toggle a{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;padding:8px;border-radius:9px;font-size:13px;font-weight:700;color:#52617d;text-decoration:none;transition:background .15s,color .15s}
.cs-auth-role-toggle a.is-active{background:#fff;color:#102c59;box-shadow:0 2px 7px #10325a17}
.cs-auth-role-toggle a:not(.is-active):hover{background:#e0eaff;color:#102c59}.cs-auth-role-toggle a:focus-visible{outline:2px solid #337ee8;outline-offset:1px}.cs-auth-role-toggle a[aria-disabled=true]{opacity:.6;cursor:wait}.cs-auth-role-toggle i{font-size:18px}
@media(max-width:360px){.cs-header .cs-logo-copy strong{font-size:22px}.cs-header .cs-logo-copy strong sup{font-size:10px}.cs-header .cs-header-actions{gap:8px;flex-shrink:0;margin-left:0}.cs-header .cs-login-link{font-size:14px;gap:5px;white-space:nowrap}.cs-header .cs-header-divider{display:none}.cs-header .cs-menu-btn{width:36px;height:36px}}
