/* Shared entry screens; independent of dashboard and legacy login styles. */
.auth-page { --auth-ink:#172b45; --auth-muted:#66758a; --auth-blue:#2563eb; --auth-line:#e4eaf2; margin:0; background:#f4f7fc; color:var(--auth-ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; line-height:1.5; }
.auth-page *, .auth-page *::before, .auth-page *::after { box-sizing:border-box; }
.auth-page a { color:var(--auth-blue); text-decoration:none; }
.auth-page button, .auth-page input { font:inherit; }
.auth-page button, .auth-page a { -webkit-tap-highlight-color:transparent; }
.auth-page a:focus-visible, .auth-page button:focus-visible { outline:3px solid #93c5fd; outline-offset:4px; }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:1.05fr 1fr; }
.auth-story { padding:44px clamp(30px,5vw,90px); display:flex; flex-direction:column; color:#fff; background:radial-gradient(ellipse at 15% 100%,#164979 0,transparent 60%),radial-gradient(ellipse at 100% 0,#253f81 0,transparent 55%),#112440; }
.auth-brand { display:flex; align-items:center; gap:12px; font-size:19px; font-weight:700; }
.auth-brand-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid #ffffff30; border-radius:12px; background:#ffffff0a; color:#93c5fd; }
.auth-story-content { margin:auto 0; padding:70px 0; max-width:520px; }
.auth-eyebrow { display:block; font-size:11px; font-weight:750; letter-spacing:.14em; color:var(--auth-blue); margin-bottom:14px; }
.auth-story .auth-eyebrow { color:#9fc1fa; }
.auth-story h1 { font-size:clamp(36px,4vw,58px); line-height:1.12; letter-spacing:-.045em; font-weight:750; margin:0 0 24px; }
.auth-story h1 span { color:#84c8ee; }
.auth-story-content > p { color:#bfcee2; font-size:16px; max-width:380px; margin:0; }
.auth-benefits { margin:34px 0; display:grid; gap:22px; }
.auth-benefits > div { display:flex; gap:14px; align-items:flex-start; }
.auth-benefits > div > span { display:grid; place-items:center; background:#ffffff0b; border:1px solid #ffffff16; border-radius:10px; width:38px; height:38px; flex-shrink:0; color:#99c9ff; }
.auth-benefits p { margin:0; color:#aabed8; font-size:13px; }
.auth-benefits strong { display:block; color:#f4f8ff; font-size:14px; margin-bottom:4px; font-weight:600; }
.auth-outline { display:inline-flex; align-items:center; gap:20px; padding:12px 18px; border:1px solid #ffffff35; border-radius:10px; background:transparent; color:#fff; cursor:pointer; }
.auth-outline:hover { background:#ffffff0c; border-color:#80b3ee; }
.auth-story-footer { color:#9eafc8; font-size:12px; }
.auth-login { display:flex; align-items:center; justify-content:center; padding:48px 28px; background:#fff; }
.auth-form-wrap { width:100%; max-width:390px; }
.auth-logo { display:block; max-width:200px; max-height:64px; width:auto; height:auto; object-fit:contain; margin-bottom:44px; }
.auth-login h2 { font-size:32px; font-weight:750; letter-spacing:-.035em; margin:0 0 10px; }
.auth-muted { color:var(--auth-muted); margin:0 0 30px; }
.auth-login .form-group { margin:0 0 22px; }
.auth-login label { display:block; font-size:13px; font-weight:600; margin:0 0 8px; }
.auth-label-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.auth-label-row a { font-size:12px; }
.auth-input { display:flex; align-items:center; border:1px solid #dce3ed; background:#f9fbfe; border-radius:10px; min-height:50px; overflow:hidden; }
.auth-input:focus-within { border-color:#6394f5; box-shadow:0 0 0 3px #2563eb12; background:#fff; }
.auth-input > i { padding-left:16px; color:#8a99ae; width:36px; font-size:14px; }
.auth-input input.form-control { flex:1; min-width:0; height:48px; background:transparent; border:0; padding:10px 12px; color:var(--auth-ink); box-shadow:none; border-radius:0; outline:0; }
.auth-input input::placeholder { color:#97a3b6; font-size:13px; }
.auth-password-toggle { align-self:stretch; width:44px; flex-shrink:0; color:#718198; border:0; background:transparent; cursor:pointer; }
.auth-input:has(.is-invalid) { border-color:#e48a8a; }
.auth-captcha { min-height:78px; }
.auth-primary { display:flex; align-items:center; justify-content:center; gap:18px; padding:14px 20px; width:100%; color:#fff !important; background:var(--auth-blue); border:0; border-radius:10px; font-weight:650; text-decoration:none; cursor:pointer; transition:background .15s,box-shadow .15s; }
.auth-primary:hover { background:#1d4ed8; box-shadow:0 6px 16px #2563eb20; }
.auth-primary:disabled { cursor:wait; opacity:.7; }
.auth-help { margin-top:28px; padding-top:24px; border-top:1px solid var(--auth-line); text-align:center; font-size:12px; color:var(--auth-muted); }
.auth-help a { display:block; font-weight:600; margin-top:8px; }
.auth-help i { margin-right:5px; }
.auth-social { display:flex; justify-content:center; gap:20px; margin-top:24px; }
.auth-social a { color:#7c8ba1; font-size:15px; }
.auth-social a:hover { color:var(--auth-blue); }
.auth-alert { padding:12px 14px; border:1px solid #f3cccc; border-radius:9px; background:#fff4f4; color:#a43636; margin-bottom:20px; }
.auth-alert p { margin:0; }
.auth-loader { position:fixed; inset:0; z-index:2000; background:#112440b3; backdrop-filter:blur(3px); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; color:#fff; }
.auth-loader[hidden] { display:none; }
.auth-spinner { width:40px; height:40px; border:3px solid #ffffff40; border-top-color:#fff; border-radius:50%; animation:auth-spin .8s linear infinite; }
@keyframes auth-spin { to { transform:rotate(360deg); } }
.auth-page #exampleModal .modal-content { border:0; border-radius:18px; overflow:hidden; }
.auth-page #exampleModal .modal-header { background:#112440 !important; padding:24px; }
.auth-page #exampleModal .modal-title { font-size:18px; }
.auth-page #exampleModal .modal-title strong { display:block; font-size:12px; font-weight:400; color:#bacce3; margin-top:8px; }
.auth-page #exampleModal .close { color:#fff; background:transparent !important; }
.auth-page #exampleModal .modal-body { padding:24px; }
.auth-page .slide-container { overflow:hidden; padding-bottom:36px; }
.auth-page #exampleModal .swiper-slide { border:1px solid var(--auth-line); border-radius:12px; height:auto; }
.auth-page #exampleModal .profile-details { padding:22px; }
.auth-page #exampleModal .name { color:var(--auth-ink); font-size:20px; padding:0; }
.auth-page #exampleModal .job { font-size:12px; color:var(--auth-muted); margin:12px 0; }
.auth-page .swiper-navBtn { width:28px; height:28px; border-radius:50%; background:var(--auth-blue); color:#fff; }
.auth-page .swiper-navBtn::after { font-size:12px; }
/* Point selection */
.access-shell { max-width:1240px; padding:30px 40px; margin:auto; }
.access-header { display:flex; justify-content:space-between; gap:20px; align-items:center; padding-bottom:26px; border-bottom:1px solid var(--auth-line); }
.access-brand { display:flex; align-items:center; gap:20px; }
.access-brand img { max-width:160px; max-height:46px; object-fit:contain; }
.access-brand span { color:#8490a2; border-left:1px solid #d5deeb; padding-left:20px; font-size:12px; }
.access-logout { display:flex; align-items:center; gap:9px; color: #ffffff !important; font-size:13px; padding:9px 12px; border:1px solid #ffffff; border-radius:9px; background: #d63131; }
.access-logout:hover { border-color:#a5bbdc; }
.access-welcome { margin:42px 0 30px; }
.access-welcome .auth-eyebrow { margin-bottom:8px; }
.access-welcome h1 { font-size:36px; letter-spacing:-.04em; margin:0 0 8px; font-weight:750; }
.access-dot { color:var(--auth-blue); }
.access-welcome p { color:var(--auth-muted); margin:0; }
.access-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; align-items:start; }
.access-profile { padding:28px 24px; border:1px solid var(--auth-line); border-radius:16px; background:#fff; }
.access-avatar { width:70px; height:70px; border-radius:18px; object-fit:cover; background:#f1f5fb; border:1px solid var(--auth-line); }
.access-profile h2 { font-size:18px; margin:16px 0 4px; overflow-wrap:anywhere; }
.access-profile-label { color:#7a899e; font-size:12px; }
.access-profile dl { margin:24px 0; }
.access-profile dl div { margin-bottom:16px; }
.access-profile dt { font-size:11px; color:#8a98ab; margin-bottom:3px; }
.access-profile dd { margin:0; font-size:13px; font-weight:550; overflow-wrap:anywhere; }
.access-profile-note { border-top:1px solid var(--auth-line); padding-top:20px; display:flex; gap:12px; color:#7d8da3; font-size:12px; }
.access-profile-note p { margin:0; }
.access-profile-note i { padding-top:3px; }
.access-section-head { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:0 0 20px; }
.access-section-head h2 { margin:0 0 5px; font-size:20px; letter-spacing:-.02em; }
.access-section-head p { margin:0; font-size:13px; color:var(--auth-muted); }
.access-count { white-space:nowrap; padding:5px 11px; border-radius:7px; background:#e8eefb; color:#5272ad; font-size:11px; font-weight:600; }
.access-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.access-point { border:1px solid var(--auth-line); border-radius:16px; padding:24px; background:#fff; display:flex; flex-direction:column; box-shadow:0 3px 12px #142c4c03; }
.access-point:hover { border-color:#c5d4eb; box-shadow:0 8px 24px #142c4c08; }
.access-point-top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:22px; }
.access-point-icon { display:inline-grid; place-items:center; width:42px; height:42px; flex-shrink:0; border-radius:12px; background:#eef4ff; color:var(--auth-blue); font-size:18px; }
.access-status { color:#207857; background:#edf9f2; padding:5px 8px; border-radius:6px; font-size:10px; font-weight:650; }
.access-status-paused { background:#fff5e7; color:#96641e; }
.access-point h3 { font-size:18px; margin:0 0 4px; overflow-wrap:anywhere; }
.access-ruc { color:#8b97a8; font-size:12px; margin:0 0 22px; }
.access-code { display:flex; gap:20px; border-top:1px solid var(--auth-line); border-bottom:1px solid var(--auth-line); padding:14px 0; font-size:11px; color:#7b8a9f; }
.access-code span { flex:1; }
.access-code strong { display:block; font-size:22px; letter-spacing:.06em; color:var(--auth-ink); margin-top:4px; }
.access-description { margin:16px 0; font-size:12px; color:var(--auth-muted); overflow-wrap:anywhere; }
.access-quota { display:flex; flex-wrap:wrap; gap:5px; align-items:center; font-size:12px; color:#6c7e96; margin:auto 0 20px; }
.access-quota i { margin-right:4px; color:#98a6ba; }
.access-quota strong { color:#405c81; }
.access-point .auth-primary { padding:11px 14px; font-size:13px; }
.access-empty { grid-column:1/-1; background:#fff; border:1px dashed #ccd9ed; border-radius:16px; padding:50px 30px; text-align:center; }
.access-empty h3 { font-size:18px; margin:18px 0 8px; }
.access-empty p { color:var(--auth-muted); max-width:390px; margin:0 auto 18px; }
.access-footer { text-align:center; color:#9aa7b9; font-size:11px; padding:34px 0 10px; }
@media (max-width:1000px) { .auth-story { padding:32px; } .auth-story h1 { font-size:42px; } .access-shell { padding:24px; } .access-layout { grid-template-columns:240px minmax(0,1fr); gap:20px; } .access-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .auth-shell { grid-template-columns:1fr; } .auth-story { padding:24px; } .auth-story-content { padding:28px 0 0; } .auth-story h1 { font-size:30px; margin-bottom:14px; } .auth-story h1 br { display:none; } .auth-story-content > p { font-size:14px; } .auth-benefits, .auth-story-footer { display:none; } .auth-outline { margin-top:20px; padding:9px 14px; font-size:12px; } .auth-login { padding:32px 24px; } .auth-logo { margin-bottom:28px; max-height:45px; } .auth-login h2 { font-size:28px; } .access-shell { padding:20px 16px; } .access-brand span { display:none; } .access-brand img { max-width:130px; } .access-logout { padding:8px; font-size:11px; } .access-welcome { margin:30px 0 24px; } .access-welcome h1 { font-size:28px; } .access-layout { grid-template-columns:1fr; } .access-profile { padding:20px; } .access-avatar { width:48px; height:48px; float:left; margin-right:14px; } .access-profile h2 { margin:0 0 4px; padding-top:5px; } .access-profile dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; clear:both; padding-top:20px; margin:0; } .access-profile dl div { margin:0; } .access-profile-note { margin-top:20px; } .access-point { padding:22px; } }
@media (prefers-reduced-motion:reduce) { .auth-page *, .auth-page *::before, .auth-page *::after { animation-duration:.01ms !important; transition:none !important; } }

@media (max-width:360px) { .auth-login { padding:28px 16px; } .auth-captcha { transform:scale(.9); transform-origin:left top; width:111.111%; } .auth-brand { font-size:16px; } .access-section-head { align-items:flex-start; } .access-count { white-space:normal; text-align:center; } }

/* Fixed login viewport: information on the left (70%), form on the right (30%). */
.login-page { height:100vh; height:100dvh; overflow:hidden; }
.login-page .auth-shell { height:100%; min-height:0; grid-template-columns:70% 30%; }
.login-page .auth-login { grid-column:2; grid-row:1; min-height:0; padding:clamp(16px,3vh,32px) clamp(16px,2vw,34px); overflow-y:auto; }
.login-page .auth-story { grid-column:1; grid-row:1; min-height:0; padding:clamp(20px,4vh,44px) clamp(30px,7vw,110px); }
.login-page .auth-story-content { padding:clamp(20px,5vh,60px) 0; }
.login-page .auth-form-wrap { margin:auto; }
.login-page .auth-logo { max-height:46px; max-width:170px; margin-bottom:clamp(12px,3vh,30px); }
.login-page .auth-login h2 { font-size:28px; }
.login-page .auth-muted { margin-bottom:clamp(12px,2.5vh,24px); font-size:13px; }
.login-page .auth-login .form-group { margin-bottom:clamp(12px,2vh,20px); }
.login-page .auth-captcha { display:flex; justify-content:center; align-items:center; width:100%; transform:none; min-height:78px; }
.login-page #captchaContainer { flex-shrink:0; }
.login-page .auth-help { margin-top:clamp(12px,2vh,22px); padding-top:clamp(12px,2vh,20px); }
.login-page .auth-social { margin-top:clamp(12px,2vh,20px); }
.login-page .auth-plans-intro { color:#bacce3; margin:8px 0 0; font-size:13px; }
.login-page #exampleModal .modal-dialog { max-width:960px; }
.login-page #exampleModal .modal-content { max-height:none; }
.login-page #exampleModal .modal-body { overflow:visible; }
.auth-plans-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
.auth-plan { display:flex; flex-direction:column; border:1px solid var(--auth-line); border-radius:14px; padding:24px; min-width:0; }
.auth-plan .auth-eyebrow { margin-bottom:8px; }
.auth-plan h3 { margin:0; font-size:20px; overflow-wrap:anywhere; }
.auth-plan-price { font-size:32px; font-weight:750; letter-spacing:-.03em; margin:20px 0; }
.auth-plan-price span { display:block; font-size:11px; color:var(--auth-muted); font-weight:400; letter-spacing:0; }
.auth-plan-quota { color:#355b89; font-weight:600; font-size:13px; }
.auth-plan-description { color:var(--auth-muted); font-size:13px; margin-bottom:24px; overflow-wrap:anywhere; white-space:pre-line; }
.auth-plan .auth-primary { margin-top:auto; font-size:13px; padding:11px; }
.auth-plans-empty { grid-column:1/-1; padding:28px; margin:0; text-align:center; color:var(--auth-muted); }
@media (min-width:1101px) and (max-width:1250px) { .login-page .auth-login { padding-left:10px; padding-right:10px; } }
@media (max-height:720px) and (min-width:1101px) { .login-page .auth-logo { max-height:34px; margin-bottom:12px; } .login-page .auth-login .auth-eyebrow { margin-bottom:8px; } .login-page .auth-login h2 { font-size:24px; } .login-page .auth-input { min-height:44px; } .login-page .auth-input input.form-control { height:42px; } .login-page .auth-primary { padding:11px 16px; } .login-page .auth-benefits { margin:20px 0; gap:16px; } .login-page .auth-story h1 { font-size:clamp(34px,4vw,50px); } }
@media (max-width:1100px) { .login-page .auth-shell { display:flex; flex-direction:column; } .login-page .auth-story { order:0; flex-shrink:0; padding:14px 20px; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; } .login-page .auth-story-content { padding:0; margin:0; } .login-page .auth-story-content > .auth-eyebrow, .login-page .auth-story h1, .login-page .auth-story-content > p, .login-page .auth-benefits, .login-page .auth-story-footer { display:none; } .login-page .auth-brand { font-size:14px; } .login-page .auth-brand-icon { width:32px; height:32px; } .login-page .auth-outline { margin:0; padding:8px 12px; font-size:11px; gap:8px; } .login-page .auth-login { order:1; flex:1; padding:16px 20px; } .login-page .auth-form-wrap { max-width:360px; } .login-page .auth-logo { max-height:34px; margin-bottom:14px; } .login-page .auth-login .auth-eyebrow { margin-bottom:8px; } .login-page .auth-login h2 { font-size:24px; } .login-page .auth-muted { margin-bottom:14px; } .login-page .auth-login .form-group { margin-bottom:14px; } .login-page .auth-input { min-height:44px; } .login-page .auth-input input.form-control { height:42px; } .login-page .auth-primary { padding:11px 16px; } .login-page .auth-help { margin-top:14px; padding-top:14px; } .login-page .auth-social { margin-top:14px; } }
@media (max-width:360px) { .login-page .auth-story { padding:12px; } .login-page .auth-brand { font-size:12px; gap:8px; } .login-page .auth-brand-icon { display:none; } .login-page .auth-login { padding:12px; } .login-page .auth-captcha { width:100%; transform:none; } .login-page #captchaContainer { transform:scale(.9); transform-origin:center; } }

/* Horizontal plans carousel with native touch and keyboard scrolling. */
.login-page #exampleModal .modal-header { padding:28px 30px; background:radial-gradient(ellipse at top right,#264d87,transparent 65%),#112440 !important; align-items:flex-start; }
.auth-plans-kicker { display:block; color:#92baf4; font-size:10px; letter-spacing:.16em; font-weight:700; margin-bottom:8px; }
.login-page #exampleModal .modal-title { font-size:25px; letter-spacing:-.03em; font-weight:700; }
.login-page #exampleModal .close { font-size:25px; padding:6px 10px; margin:-6px -8px 0 12px; opacity:.8; }
.login-page #exampleModal .modal-body { background:#f7f9fd; padding:26px 30px; }
.auth-carousel-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.auth-carousel-toolbar .auth-eyebrow { margin:0 0 5px; }
.auth-carousel-toolbar p { margin:0; color:var(--auth-muted); font-size:12px; }
.auth-carousel-controls { display:flex; gap:8px; flex-shrink:0; }
.auth-carousel-arrow { display:grid; place-items:center; width:36px; height:36px; border:1px solid #dce5f2; border-radius:10px; background:#fff; color:var(--auth-blue); cursor:pointer; transition:background .15s; }
.auth-carousel-arrow:hover:not(:disabled) { color:#fff; background:var(--auth-blue); }
.auth-carousel-arrow:disabled { color:#b8c4d6; background:#f0f3f8; cursor:default; }
.auth-plans-carousel { display:flex; gap:18px; overflow-x:auto; padding:4px 2px 18px; scroll-snap-type:x mandatory; scroll-padding-left:2px; scrollbar-width:none; -ms-overflow-style:none; overscroll-behavior-x:contain; }
.auth-plans-carousel:focus-visible { outline:2px solid #93c5fd; outline-offset:4px; border-radius:12px; }
.auth-plans-carousel::-webkit-scrollbar { display:none; width:0; height:0; }
.auth-plans-carousel::-webkit-scrollbar-track { background:#eaf0f8; border-radius:5px; }
.auth-plans-carousel::-webkit-scrollbar-thumb { background:#b9cce9; border-radius:5px; }
.auth-plans-carousel .auth-plan { flex:0 0 calc((100% - 36px)/3); scroll-snap-align:start; background:#fff; border-radius:16px; box-shadow:0 3px 10px #172b4505; padding:22px; }
.auth-plans-carousel .auth-plan:hover { border-color:#adc7ed; }
.auth-plan-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:22px; }
.auth-plan-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#edf4ff; color:var(--auth-blue); font-size:16px; }
.auth-plan-tag { background:#edf4ff; color:#5275ad; border-radius:6px; padding:4px 7px; font-size:10px; font-weight:600; }
.auth-plans-carousel .auth-plan-price { font-size:34px; border-bottom:1px solid var(--auth-line); padding-bottom:18px; margin:16px 0; }
.auth-plans-carousel .auth-plan-quota { font-size:12px; }
.auth-plans-carousel .auth-plan-description { min-height:54px; }
.auth-carousel-footer { display:flex; justify-content:space-between; gap:16px; color:#8b9ab0; font-size:11px; margin-top:16px; }
.auth-carousel-footer > span:last-child i { color:#299773; margin-right:5px; }
.auth-plans-carousel .auth-plans-empty { width:100%; }
@media (max-width:800px) { .auth-plans-carousel .auth-plan { flex-basis:calc((100% - 18px)/2); } }
@media (max-width:540px) { .login-page #exampleModal .modal-header { padding:22px; } .login-page #exampleModal .modal-title { font-size:22px; } .login-page #exampleModal .modal-body { padding:20px 18px; } .auth-plans-carousel .auth-plan { flex-basis:88%; } .auth-carousel-footer { flex-wrap:wrap; gap:6px; } }

@media (max-width:540px), (max-height:650px) {
    .login-page #exampleModal .modal-header { padding:16px 18px; }
    .login-page #exampleModal .modal-body { padding:16px 18px; }
    .auth-carousel-toolbar { margin-bottom:12px; }
    .auth-plans-carousel { padding-bottom:4px; }
    .auth-plans-carousel .auth-plan { padding:16px; }
    .auth-plan-heading { margin-bottom:12px; }
    .auth-plans-carousel .auth-plan-price { margin:12px 0; padding-bottom:12px; font-size:28px; }
    .auth-plans-carousel .auth-plan-description { min-height:0; margin-bottom:16px; }
    .auth-carousel-footer { margin-top:12px; }
}

/* Fit the actual dialog, rather than concealing a vertically scrolling body. */
.login-page #exampleModal .modal-dialog { height:calc(100vh - 32px); height:calc(100dvh - 32px); min-height:0; margin:16px auto; padding:0 12px; display:flex; align-items:center; }
.login-page #exampleModal .modal-dialog-centered::before { display:none; }
.login-page #exampleModal .modal-content { flex-shrink:0; width:100%; transform-origin:center; }
.login-page #exampleModal .modal-header { flex-shrink:0; }
@media (max-width:540px) {
    .login-page #exampleModal .modal-title { font-size:20px; }
    .auth-plans-kicker, .auth-carousel-toolbar > div > p, .auth-carousel-footer > span:last-child { display:none; }
    .login-page .auth-plans-intro { font-size:12px; margin-top:4px; }
    .auth-carousel-toolbar .auth-eyebrow { margin:0; }
    .auth-plan-heading { margin-bottom:8px; }
    .auth-plans-carousel .auth-plan h3 { font-size:18px; }
    .auth-plans-carousel .auth-plan-description { font-size:12px; line-height:1.4; white-space:normal; }
}
@media (max-height:500px) {
    .login-page #exampleModal .modal-header { padding:12px 18px; }
    .login-page #exampleModal .modal-title { font-size:20px; }
    .auth-plans-kicker, .login-page .auth-plans-intro, .auth-carousel-footer { display:none; }
    .login-page #exampleModal .modal-body { padding:12px 18px; }
    .auth-carousel-toolbar { margin-bottom:8px; }
    .auth-carousel-toolbar > div > p { display:none; }
    .auth-plan-icon { display:none; }
    .auth-plan-heading { margin-bottom:6px; }
    .auth-plans-carousel .auth-plan-price { font-size:24px; margin:8px 0; padding-bottom:8px; }
    .auth-plans-carousel .auth-plan-description { margin-bottom:10px; font-size:12px; line-height:1.35; }
}

/* Quiet plans modal palette and an unframed close control. */
.login-page #exampleModal .modal-content { background:#fff; border-radius:18px; box-shadow:0 20px 60px #172b4524; }
.login-page #exampleModal .modal-header { background:#fff !important; color:var(--auth-ink); border-bottom:1px solid #edf1f6; }
.login-page #exampleModal .modal-title { color:#25364e; }
.login-page #exampleModal .auth-plans-kicker { color:#8493a9; }
.login-page #exampleModal .auth-plans-intro { color:#7a899d; }
.login-page #exampleModal button.close { display:flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:32px; padding:0; margin:0 0 0 16px; border:0; border-radius:0; background:transparent !important; box-shadow:none; color:#8b98aa; opacity:1; font-size:27px; font-weight:300; line-height:1; text-shadow:none; cursor:pointer; }
.login-page #exampleModal button.close:hover { color:#24364e; background:transparent !important; box-shadow:none; }
.login-page #exampleModal button.close:focus { box-shadow:none; }
.login-page #exampleModal button.close:focus:not(:focus-visible) { outline:none; }
.login-page #exampleModal button.close:focus-visible { outline:2px solid #92afd3; outline-offset:2px; border-radius:4px; }
.login-page #exampleModal .modal-body { background:#fff; }
.login-page #exampleModal .auth-carousel-toolbar .auth-eyebrow { color:#6c809c; }
.login-page #exampleModal .auth-carousel-arrow { border-color:#edf1f6; background:#f7f9fc; color:#71849e; box-shadow:none; }
.login-page #exampleModal .auth-carousel-arrow:hover:not(:disabled) { background:#edf2f8; color:#304e76; }
.login-page #exampleModal .auth-carousel-arrow:disabled { color:#c5cdd9; background:#fafbfd; }
.login-page #exampleModal .auth-plan { border-color:#e9eef5; box-shadow:none; background:#fff; }
.login-page #exampleModal .auth-plan:hover { border-color:#cbd8e9; box-shadow:none; }
.login-page #exampleModal .auth-plan-icon { background:#f2f5fa; color:#617c9f; }
.login-page #exampleModal .auth-plan-tag { background:#f3f6fa; color:#71849e; font-weight:500; }
.login-page #exampleModal .auth-plan-price { color:#25364e; border-color:#edf1f6; }
.login-page #exampleModal .auth-plan-quota { color:#587493; }
.login-page #exampleModal .auth-plan .auth-primary { background:#365d88; box-shadow:none; }
.login-page #exampleModal .auth-plan .auth-primary:hover { background:#294d76; box-shadow:none; }
