.secure-portal.is-loading > :is(aside,.workspace,dialog) { display:none; }
#app-loading { padding:80px 24px; text-align:center; color:var(--muted); }
.secure-portal .identity { font-weight:600; color:var(--navy); }
.secure-portal .identity span { display:inline; }
.mobile-signout { display:none; }
.login-header { height:112px; padding:24px 6vw; background:transparent!important; border:0; }
.login-header .brand { margin:0; }
.login-header .brand img { width:36px;height:50px; }
.login-layout { display:grid; grid-template-columns:1fr 440px; gap:90px; align-items:center; max-width:1170px; padding:65px 40px 90px; min-height:calc(100vh - 190px); }
.login-intro h1 { font-size:62px; line-height:1.16; letter-spacing:-2.8px; margin:24px 0; }
.login-intro > p { color:var(--muted); font-size:16px; line-height:1.9; max-width:390px; }
.login-features { display:flex; flex-direction:column; gap:19px; margin-top:36px; color:var(--blue);font-size:11px; }
.login-features b { color:var(--navy); margin-left:15px; font-weight:500; font-size:13px; }
.login-card { padding:38px; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 18px 65px #17294308; }
.login-card h2 { font-size:25px; letter-spacing:-.6px; margin:23px 0 14px; }
.login-card > p { color:var(--muted); font-size:13px; line-height:1.8; }
.login-lock { display:grid;place-items:center;width:49px;height:49px;border-radius:13px;background:#eaf2ff;color:#1765df; }
.login-lock svg { width:23px; height:23px; }
.workspace-domain { display:inline-block;font-size:12px;margin:10px 0 27px;padding:8px 12px;border:1px solid var(--border);border-radius:20px; }
.google-signin { width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 16px;background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:6px;font:500 14px Arial,sans-serif; }
.google-signin svg { width:20px;height:20px; }
.google-signin:disabled { opacity:.55;cursor:not-allowed; }
.login-status { font-size:12px;line-height:1.8;color:var(--muted);margin-top:18px; }
.login-status[role=alert] { color:var(--red,#b13d37); }
.login-card .login-access { font-size:11px;margin-top:27px;padding-top:22px;border-top:1px solid var(--border); }
.login-footer { max-width:1170px;margin:auto; }
[data-theme=dark] .login-lock { background:var(--blue-surface); color:var(--blue); }
[data-theme=dark] .login-card { box-shadow:0 18px 65px #0002; }
@media(max-width:1000px) { .login-layout { grid-template-columns:1fr 400px;gap:36px; }.login-intro h1{font-size:49px;} }
@media(max-width:720px) {
  .mobile-signout { display:block;white-space:nowrap; }
  .secure-portal .header-actions { gap:10px; }
  .secure-portal .identity { margin-left:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
  .login-header { height:90px;padding:20px; }
  .login-header .brand small { display:block; }
  .login-layout { display:flex;flex-direction:column;gap:28px;align-items:stretch;padding:20px 22px 42px;min-height:auto;max-width:530px; }
  .login-intro h1 { font-size:38px;letter-spacing:-1.4px;line-height:1.2;margin:16px 0; }
  .login-intro h1 br { display:none; }
  .login-intro h1 br:after { content:' '; }
  .login-intro > p { font-size:13px;line-height:1.7; }
  .login-features { display:none; }
  .login-card { padding:27px; }
  .login-footer { padding:0 22px 24px; }
}
