:root { --portal-blue: #071a42; --portal-panel: #0a2860; --portal-line: rgba(91, 177, 255, .48); --portal-text: #f4f8ff; --portal-muted: #a9bce0; --portal-action: #2875f7; }

body.login-portal-page { background:#031337; }

.login-portal-surface {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--portal-line) !important;
  border-radius: 8px !important;
  color: var(--portal-text) !important;
  background: rgba(5, 26, 68, .94) !important;
  box-shadow: 0 20px 54px rgba(0, 7, 24, .52), inset 0 1px 0 rgba(255, 255, 255, .1) !important;
}
.login-portal-surface::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #4b9eff;
  content: "";
}
.login-portal-brand { display: grid; justify-items: center; gap: 8px; margin-bottom: 25px; text-align: center; }
.login-portal-mark { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #69b2ff; border-radius: 7px; color: #d9ecff; background: #1f64c9; box-shadow: 0 0 24px rgba(60, 148, 255, .36); font-family: Arial, sans-serif; font-size: 16px; font-weight: 800; letter-spacing: 1px; }
.login-portal-brand h1 { margin: 3px 0 0; color: #ffffff; font-size: 23px; line-height: 1.2; letter-spacing: 0; }
.login-portal-brand p { margin: 0; color: var(--portal-muted); font-size: 12px; }
.login-portal-role { display: inline-flex; align-items: center; min-height: 25px; padding: 0 10px; border: 1px solid rgba(114, 188, 255, .55); border-radius: 4px; color: #c6e6ff; background: rgba(38, 112, 212, .22); font-size: 12px; font-weight: 700; }
.login-portal-surface h2 { color: var(--portal-text); }
.login-portal-surface p { color: var(--portal-muted); }
.login-portal-surface label { color: #d8e7ff !important; }
.login-portal-surface input { border-color: rgba(119, 177, 246, .34) !important; border-radius: 6px !important; color: #ffffff !important; background: rgba(2, 18, 53, .72) !important; }
.login-portal-surface input:focus { border-color: #58a5ff !important; box-shadow: 0 0 0 3px rgba(61, 142, 255, .18) !important; }
.login-portal-surface button[type="submit"] { border: 1px solid #4c98ff !important; border-radius: 6px !important; color: #ffffff !important; background: #2875f7 !important; box-shadow: 0 8px 18px rgba(31, 102, 240, .3); }
.login-portal-surface button[type="submit"]:hover { background: #1c66df !important; }

body.login-portal-page .manager-shell,
body.login-portal-page .mobile-app-shell { background: transparent; }
body.login-portal-page .manager-login,
body.login-portal-page .login-panel { max-width: 430px; margin: clamp(64px, 14vh, 138px) auto 0; padding: 30px 28px; }
body.login-portal-page .manager-login { display: block; }
body.login-portal-page .login-panel { display: block; }
body.login-portal-page .manager-login.hidden,
body.login-portal-page .login-panel.hidden { display: none; }
body.login-portal-page .manager-login > div:not(.login-portal-brand),
body.login-portal-page .login-panel > div:not(.login-portal-brand) { text-align: center; }
body.login-portal-page .manager-login form,
body.login-portal-page .login-panel form { margin-top: 20px; }
body.login-portal-page .manager-login button[type="submit"],
body.login-portal-page .login-panel button[type="submit"] { width: 100%; min-height: 46px; }
body.login-portal-page:has(#manager-login-screen:not(.hidden)) .manager-header,
body.login-portal-page:has(#login-screen:not(.hidden)) .app-header,
body.login-portal-page:has(#login-screen:not(.hidden)) .mobile-tabbar { display: none; }
body.login-portal-page:has(#manager-login-screen:not(.hidden)) .manager-shell,
body.login-portal-page:has(#login-screen:not(.hidden)) .mobile-app-shell { width: min(100%, 600px); padding-top: 1px; }

/* PC lock-screen login: scoped to the frontdesk authentication dialog only. */
body.frontdesk-auth-locked { min-width:0; min-height:100dvh; overflow:hidden; background:#f7faf8; }
body.frontdesk-auth-locked #admin-login-dialog { position:fixed; inset:0; box-sizing:border-box; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; overflow:auto; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.frontdesk-auth-locked #admin-login-dialog::backdrop { background:transparent; backdrop-filter:none; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-heading-hidden { display:none!important; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-surface { position:relative; display:block; width:100%; height:100%; max-height:none; margin:0; padding:0!important; overflow:auto; border:0!important; border-radius:0!important; color:#172222!important; background:#f7faf8!important; box-shadow:none!important; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-surface::before { display:none; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-layout { --teal:#087b73; --teal-dark:#05635d; --lime:#c7e05b; --side-bg:#0f2925; --side-bg2:#0c2320; display:grid; grid-template-columns:1.15fr 1fr; width:100%; min-height:100%; color:#172222; font-family:"Microsoft YaHei","Noto Sans SC",Arial,sans-serif; }
body.frontdesk-auth-locked #admin-login-dialog .login-hero { position:relative; display:flex; min-width:0; min-height:100%; justify-content:center; flex-direction:column; overflow:hidden; padding:44px 48px; color:#eaf6f2; background:radial-gradient(1100px 480px at 84% -12%,rgba(52,207,187,.22),transparent 60%),radial-gradient(760px 540px at -14% 110%,rgba(199,224,91,.14),transparent 60%),linear-gradient(155deg,#05151a 0%,#092823 46%,#0b3831 100%); }
body.frontdesk-auth-locked #admin-login-dialog .login-hero::before { position:absolute; z-index:0; inset:0; background-image:linear-gradient(rgba(130,224,205,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(130,224,205,.06) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:radial-gradient(ellipse 130% 120% at 50% 50%,#000 45%,rgba(0,0,0,.5) 78%,transparent 95%); mask-image:radial-gradient(ellipse 130% 120% at 50% 50%,#000 45%,rgba(0,0,0,.5) 78%,transparent 95%); animation:grid-drift 40s linear infinite; content:""; }
body.frontdesk-auth-locked #admin-login-dialog .login-hero::after { position:absolute; z-index:0; top:50%; left:50%; right:auto; width:900px; height:900px; border-radius:50%; background:radial-gradient(circle,rgba(199,224,91,.13),transparent 66%); translate:-50% -50%; animation:glow-breath 8s ease-in-out infinite; content:""; }
@keyframes grid-drift { from { background-position:0 0,0 0; } to { background-position:40px 40px,40px 40px; } }
@keyframes glow-breath { 0%,100% { opacity:.65; transform:scale(1); } 50% { opacity:1; transform:scale(1.08); } }
body.frontdesk-auth-locked #admin-login-dialog .hero-radar { position:absolute; z-index:0; top:50%; left:50%; right:auto; width:min(980px,135%); height:min(980px,135%); overflow:hidden; border-radius:50%; opacity:.8; pointer-events:none; transform:translate(-50%,-50%); -webkit-mask-image:radial-gradient(circle,#000 36%,rgba(0,0,0,.6) 66%,transparent 90%); mask-image:radial-gradient(circle,#000 36%,rgba(0,0,0,.6) 66%,transparent 90%); }
body.frontdesk-auth-locked #admin-login-dialog .hero-radar svg { position:absolute; inset:0; width:100%; height:100%; }
body.frontdesk-auth-locked #admin-login-dialog .radar-center-pulse { position:absolute; z-index:0; top:calc(50% - 4px); left:calc(50% - 4px); width:8px; height:8px; border:1px solid rgba(127,240,221,.55); border-radius:50%; opacity:0; transform:scale(.5); }
body.frontdesk-auth-locked #admin-login-dialog .radar-sweep { position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg at 50% 50%,rgba(95,230,208,.45),rgba(95,230,208,.08) 42deg,transparent 72deg); animation:radar-spin 4.6s linear infinite; }
body.frontdesk-auth-locked #admin-login-dialog .radar-dot { position:absolute; width:8px; height:8px; border-radius:50%; background:#7ff0dd; box-shadow:0 0 10px 1px #7ff0dd; opacity:.15; transform:scale(.6); animation:radar-ping 4.6s ease-in-out infinite; }
body.frontdesk-auth-locked #admin-login-dialog .radar-dot.d1 { left:71%; top:29%; }
body.frontdesk-auth-locked #admin-login-dialog .radar-dot.d2 { top:69%; left:28%; background:#c7e05b; box-shadow:0 0 10px 1px #c7e05b; animation-delay:.7s; }
body.frontdesk-auth-locked #admin-login-dialog .radar-dot.d3 { top:66%; left:65%; width:6px; height:6px; animation-delay:1.9s; }
@keyframes radar-spin { to { transform:rotate(360deg); } }
@keyframes radar-ping { 0%,60%,100% { opacity:.15; transform:scale(.6); } 76% { opacity:1; transform:scale(1.25); } 86% { opacity:.6; } }
body.frontdesk-auth-locked #admin-login-dialog .login-hero-top { position:relative; z-index:1; display:flex; align-items:center; gap:13px; }
body.frontdesk-auth-locked #admin-login-dialog .login-hero-top b { font-size:clamp(19px,2.5vh,28px); letter-spacing:1px; }
body.frontdesk-auth-locked #admin-login-dialog .login-hero-top small { display:block; margin-top:2px; color:#9fc4b9; font-size:clamp(11px,1.4vh,15px); letter-spacing:3px; }
body.frontdesk-auth-locked #admin-login-dialog .ai-badge { position:relative; z-index:1; display:inline-flex; align-self:flex-start; align-items:center; gap:8px; margin-top:40px; padding:6px 13px; border:1px solid rgba(94,224,206,.38); border-radius:20px; color:#7ff0dd; background:rgba(52,207,187,.12); font-size:clamp(12px,1.6vh,16px); font-weight:800; letter-spacing:2.5px; }
body.frontdesk-auth-locked #admin-login-dialog .ai-badge i { width:clamp(7px,.95vh,10px); height:clamp(7px,.95vh,10px); border-radius:50%; background:#5ff0d6; animation:badge-pulse 2.2s ease-in-out infinite; }
@keyframes badge-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(95,230,214,.5); } 50% { box-shadow:0 0 0 6px rgba(95,230,214,0); } }
body.frontdesk-auth-locked #admin-login-dialog .login-hero h2 { position:relative; z-index:1; margin:15px 0 10px; color:#eaf6f2; background:linear-gradient(90deg,#eaf6f2 0%,#7ff0dd 52%,#c7e05b 100%); background-size:100% 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 0 8px rgba(95,230,208,.16)); font-size:clamp(34px,5.2vh,62px); line-height:1.32; }
body.frontdesk-auth-locked #admin-login-dialog .cap-line { position:relative; z-index:1; margin:0 0 4px; color:#8fc6bb; font-size:clamp(14px,2vh,20px); font-weight:700; line-height:1.7; }
body.frontdesk-auth-locked #admin-login-dialog .cap-line span { color:#7ff0dd; white-space:nowrap; }
body.frontdesk-auth-locked #admin-login-dialog .cap-line span.hl { color:#c7e05b; }
body.frontdesk-auth-locked #admin-login-dialog .cap-line i { margin:0 5px; color:#5b938a; font-style:normal; font-weight:400; }
body.frontdesk-auth-locked #admin-login-dialog .ai-grid { position:relative; z-index:1; display:grid; gap:clamp(12px,1.9vh,22px); margin-top:clamp(25px,3.6vh,44px); }
body.frontdesk-auth-locked #admin-login-dialog .ai-card { position:relative; isolation:isolate; display:flex; align-items:center; gap:clamp(14px,2vh,20px); padding:clamp(16px,2.6vh,28px) clamp(18px,2.8vh,30px); border:1px solid rgba(140,230,210,.2); border-radius:13px; background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.03)); box-shadow:0 8px 24px rgba(0,0,0,.18); backdrop-filter:blur(4px); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
body.frontdesk-auth-locked #admin-login-dialog .ai-card:hover { transform:translateX(4px); border-color:rgba(140,230,210,.45); box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 14px rgba(95,230,208,.1); }
body.frontdesk-auth-locked #admin-login-dialog .ai-card::after { position:absolute; z-index:-1; top:-70%; bottom:-70%; left:-55%; width:38%; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(127,240,221,.08),transparent); content:""; transform:translateX(-260%); }
@keyframes ai-card-light-sweep { 0%,12% { transform:translateX(-260%); } 76%,100% { transform:translateX(620%); } }
body.frontdesk-auth-locked #admin-login-dialog .ai-card::before { position:absolute; top:14px; bottom:14px; left:0; width:3px; border-radius:3px; background:linear-gradient(#5fe6d0,#c7e05b); box-shadow:0 0 8px rgba(95,230,208,.18); content:""; }
body.frontdesk-auth-locked #admin-login-dialog .hero-scanline { position:absolute; z-index:0; top:-140px; right:0; left:0; height:120px; pointer-events:none; background:linear-gradient(180deg,transparent,rgba(95,230,208,.045) 50%,transparent); opacity:0; transform:translateY(0); }
@keyframes hero-scanline-sweep { 0% { opacity:0; transform:translateY(0); } 8% { opacity:1; } 88% { opacity:.75; } 100% { opacity:0; transform:translateY(calc(100dvh + 280px)); } }
@media (prefers-reduced-motion:no-preference) {
  body.frontdesk-auth-locked #admin-login-dialog .hero-scanline { animation:hero-scanline-sweep 10s linear infinite; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card::after { animation:ai-card-light-sweep 9s ease-in-out infinite; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card:nth-child(2)::after { animation-delay:1.5s; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card:nth-child(3)::after { animation-delay:3s; }
}
body.frontdesk-auth-locked #admin-login-dialog .ai-card .ic { display:grid; width:clamp(34px,5vh,54px); height:clamp(34px,5vh,54px); flex:none; place-items:center; border:1px solid rgba(94,224,206,.35); border-radius:11px; color:#7ff0dd; background:linear-gradient(135deg,rgba(52,207,187,.24),rgba(52,207,187,.07)); box-shadow:0 6px 16px rgba(52,207,187,.18); }
body.frontdesk-auth-locked #admin-login-dialog .ai-card .ic svg { width:clamp(21px,3vh,32px); height:clamp(21px,3vh,32px); }
body.frontdesk-auth-locked #admin-login-dialog .ai-card .tx { min-width:0; }
body.frontdesk-auth-locked #admin-login-dialog .ai-card .tx b { display:flex; align-items:center; gap:8px; margin-bottom:3px; color:#fff; font-size:clamp(13.5px,2.2vh,21px); }
body.frontdesk-auth-locked #admin-login-dialog .ai-card .tx .ai-tag { padding:1px 6px; border-radius:4px; color:#06231f; background:#7ff0dd; font-size:clamp(9px,1.2vh,12px); font-weight:800; line-height:1.5; letter-spacing:.5px; }
body.frontdesk-auth-locked #admin-login-dialog .ai-card .tx>span { color:#a9cbc2; font-size:clamp(11.5px,1.7vh,16px); line-height:1.55; }
body.frontdesk-auth-locked #admin-login-dialog .hero-trust { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:40px; padding-top:clamp(18px,2.4vh,30px); }
body.frontdesk-auth-locked #admin-login-dialog .hero-trust span { display:inline-flex; align-items:center; gap:6px; color:#8fc6bb; font-size:clamp(11px,1.6vh,15px); }
body.frontdesk-auth-locked #admin-login-dialog .hero-trust svg { width:clamp(13px,1.8vh,17px); height:clamp(13px,1.8vh,17px); flex:none; color:#7ff0dd; }
body.frontdesk-auth-locked #admin-login-dialog .login-side { display:flex; min-width:0; flex-direction:column; background:#f7faf8; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card { width:min(380px,82%); margin:auto; padding:40px 36px; border:1px solid #e4ebe8; border-radius:16px; background:#fff; box-shadow:0 20px 50px rgba(15,40,35,.1); }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-online { display:flex; align-items:center; justify-content:center; gap:6px; margin-bottom:20px; color:#5a8a7d; font-size:12px; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-online i { display:block; width:8px; height:8px; border-radius:50%; background:#2fae7b; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card h2 { margin:0 0 6px; color:#172222; font-size:23px; text-align:center; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-subtitle { margin:0 0 28px; color:#94a19e; font-size:12px; text-align:center; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card .form-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card .form-grid label { display:grid; gap:8px; margin-bottom:18px; color:#3a4b47!important; font-size:13px; font-weight:700; }
body.frontdesk-auth-locked #admin-login-dialog .login-field-label { display:flex; align-items:center; gap:7px; }
body.frontdesk-auth-locked #admin-login-dialog .login-field-label svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card .form-grid input { box-sizing:border-box; width:100%; min-width:0; height:46px; min-height:46px; padding:0 14px; border:1px solid #d8e2de!important; border-radius:9px!important; color:#172222!important; background:#fbfdfc!important; box-shadow:none!important; font:inherit; font-size:14px; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card .form-grid input:focus { border-color:#5e9d90!important; background:#fff!important; box-shadow:0 0 0 3px rgba(8,123,115,.12)!important; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card .dialog-actions { display:block; margin-top:0; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card .button.primary { width:100%; height:48px; min-height:48px; border:0!important; border-radius:9px!important; color:#fff!important; background:#087b73!important; box-shadow:0 10px 22px rgba(8,123,115,.28)!important; font-size:15px; font-weight:700; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-card .button.primary:hover { background:#05635d!important; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-secure { display:flex; align-items:center; justify-content:center; gap:8px; margin:16px 0 0; padding:9px; border:1px solid #dceae5; border-radius:8px; color:#6f837d; background:#f2f8f5; font-size:11.5px; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-secure svg { width:14px; height:14px; fill:none; stroke:#2fae7b; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-ai-note { display:flex; align-items:center; justify-content:center; gap:7px; margin:10px 0 0; padding:9px 10px; border:1px solid #cdeee4; border-radius:8px; color:#0c7a6c; background:linear-gradient(90deg,#eafaf6,#f2faf4); font-size:11px; font-weight:700; line-height:1.5; text-align:center; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-ai-note svg { width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
body.frontdesk-auth-locked #admin-login-dialog .login-portal-footer { margin:0 0 26px; padding:0 20px; color:#a7b3af; font-size:11px; line-height:1.9; text-align:center; }
@media (prefers-reduced-motion:reduce) {
  body.frontdesk-auth-locked #admin-login-dialog .radar-sweep,
  body.frontdesk-auth-locked #admin-login-dialog .radar-dot,
  body.frontdesk-auth-locked #admin-login-dialog .login-hero::before,
  body.frontdesk-auth-locked #admin-login-dialog .login-hero::after,
  body.frontdesk-auth-locked #admin-login-dialog .hero-scanline,
  body.frontdesk-auth-locked #admin-login-dialog .ai-card::after,
  body.frontdesk-auth-locked #admin-login-dialog .radar-center-pulse,
  body.frontdesk-auth-locked #admin-login-dialog .ai-badge i { animation:none!important; }
  body.frontdesk-auth-locked #admin-login-dialog .radar-sweep { display:none; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card { transition:none!important; }
}
@media (max-width:1100px) and (min-width:701px) {
  body.frontdesk-auth-locked #admin-login-dialog .login-hero-top b { font-size:clamp(19px,2.2vh,23px); }
  body.frontdesk-auth-locked #admin-login-dialog .login-hero-top small { font-size:clamp(11px,1.2vh,13px); }
  body.frontdesk-auth-locked #admin-login-dialog .ai-badge { font-size:clamp(12px,1.35vh,14px); }
  body.frontdesk-auth-locked #admin-login-dialog .ai-badge i { width:7px; height:7px; }
  body.frontdesk-auth-locked #admin-login-dialog .login-hero h2 { font-size:clamp(30px,4.2vh,42px); }
  body.frontdesk-auth-locked #admin-login-dialog .cap-line { font-size:clamp(14px,1.7vh,17px); }
  body.frontdesk-auth-locked #admin-login-dialog .ai-grid { gap:12px; margin-top:25px; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card { gap:14px; padding:16px 18px; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card .ic { width:34px; height:34px; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card .ic svg { width:21px; height:21px; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card .tx b { font-size:clamp(13.5px,1.8vh,18px); }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card .tx .ai-tag { font-size:clamp(9px,1.05vh,11px); }
  body.frontdesk-auth-locked #admin-login-dialog .ai-card .tx>span { font-size:clamp(11.5px,1.4vh,14px); }
  body.frontdesk-auth-locked #admin-login-dialog .hero-trust { padding-top:18px; }
  body.frontdesk-auth-locked #admin-login-dialog .hero-trust span { font-size:clamp(11px,1.3vh,13px); }
  body.frontdesk-auth-locked #admin-login-dialog .hero-trust svg { width:13px; height:13px; }
}
@media (max-width:900px) {
  body.frontdesk-auth-locked #admin-login-dialog .login-portal-layout { grid-template-columns:minmax(0,5.5fr) minmax(380px,4.5fr); }
  body.frontdesk-auth-locked #admin-login-dialog .login-hero { padding:32px clamp(22px,4vw,50px); }
  body.frontdesk-auth-locked #admin-login-dialog .ai-grid { gap:12px; margin-top:25px; }
  body.frontdesk-auth-locked #admin-login-dialog .login-portal-card { width:min(380px,86%); padding:32px 26px; }
}
@media (max-width:700px),(max-height:600px) {
  body.frontdesk-auth-locked { overflow:auto; }
  body.frontdesk-auth-locked #admin-login-dialog { overflow:auto; }
  body.frontdesk-auth-locked #admin-login-dialog .login-portal-layout { grid-template-columns:minmax(0,1fr); }
  body.frontdesk-auth-locked #admin-login-dialog .login-hero,
  body.frontdesk-auth-locked #admin-login-dialog .login-side { min-height:auto; }
  body.frontdesk-auth-locked #admin-login-dialog .login-hero { min-height:auto; justify-content:flex-start; padding:26px 22px; }
  body.frontdesk-auth-locked #admin-login-dialog .ai-badge { margin-top:28px; }
  body.frontdesk-auth-locked #admin-login-dialog .login-hero h2 { font-size:clamp(27px,5.2vh,34px); }
  body.frontdesk-auth-locked #admin-login-dialog .cap-line { font-size:clamp(14px,2vh,16px); }
  body.frontdesk-auth-locked #admin-login-dialog .login-side { padding:26px 0 0; }
  body.frontdesk-auth-locked #admin-login-dialog .login-portal-card { width:min(380px,88%); padding:32px 24px; }
  body.frontdesk-auth-locked #admin-login-dialog .login-portal-footer { margin-top:0; }
}
@media (max-width:430px) {
  body.frontdesk-auth-locked #admin-login-dialog .login-portal-card { width:calc(100% - 32px); padding:28px 20px; }
  body.frontdesk-auth-locked #admin-login-dialog .cap-line span { white-space:normal; }
}
