/* Focused sign-in surface. All rules are scoped to the entry view. */
.login-screen--entry {
  --login-bg:#090a0b; --login-surface:#141517; --login-input:#191a1c;
  --login-text:#f5f5f5; --login-muted:#999b9f; --login-line:#333538; --login-gold:#dfc27f;
}
.login-screen--entry[data-login-theme="light"] {
  --login-bg:#f4f5f6; --login-surface:#fff; --login-input:#f7f8f9;
  --login-text:#17191c; --login-muted:#64686e; --login-line:#d8dbdf; --login-gold:#d5b36a;
}
body.login-screen--entry,
body.login-screen--entry[data-login-theme="light"] {
  display:flex; flex-direction:column; align-items:stretch; min-height:100svh; padding:0;
  background:var(--login-bg); color:var(--login-text); isolation:isolate;
}
.login-masthead {display:flex;align-items:center;justify-content:space-between;padding:28px 44px;gap:20px;}
.login-wordmark {display:flex;align-items:center;gap:22px;}
.login-wordmark img {width:84px;height:auto;filter:invert(1);}
body[data-login-theme="light"] .login-wordmark img {filter:none;}
.login-wordmark span {border-left:1px solid var(--login-line);padding-left:22px;color:var(--login-muted);font-size:14px;}
.login-theme {display:grid;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--login-gold);cursor:pointer;}
.login-theme:hover {background:var(--login-surface);border-color:var(--login-line);}
.login-theme .ui-icon {width:23px;height:23px;}
.login-entry {position:relative;display:grid;place-items:center;flex:1;padding:36px 24px;overflow:hidden;}
.login-entry::before,.login-entry::after {content:"";position:absolute;left:50%;top:50%;width:880px;height:880px;border:1px solid var(--login-line);border-radius:50%;transform:translate(-50%,-50%);opacity:.38;z-index:-1;pointer-events:none;}
.login-entry::after {width:750px;height:750px;opacity:.27;}
.login-card.login-card--entry {width:min(100%,540px);min-width:0;display:grid;gap:24px;padding:40px;border:1px solid #484a4d;border-radius:26px;background:var(--login-surface);color:var(--login-text);box-shadow:0 24px 80px #0003;}
body[data-login-theme="light"] .login-card.login-card--entry {background:var(--login-surface);color:var(--login-text);border-color:var(--login-line);box-shadow:0 24px 80px #1720300d;}
.login-heading {text-align:center;margin-bottom:12px;}
.login-heading .login-app-icon {display:block;width:72px;height:72px;margin:0 auto 24px;border:1px solid #2c2e31;border-radius:18px;}
.login-card--entry .login-heading h1 {margin:0 0 12px;font-size:34px;line-height:1.15;font-weight:650;letter-spacing:-1.3px;overflow-wrap:normal;}
.login-card--entry .login-heading p {margin:0;color:var(--login-muted);font-size:15px;line-height:1.5;}
.login-card--entry label {display:grid;gap:10px;min-width:0;margin:0;color:var(--login-text);font-size:14px;font-weight:500;}
.login-card--entry input,body[data-login-theme="light"] .login-card--entry input {box-sizing:border-box;width:100%;min-width:0;min-height:54px;padding:14px 18px;border:1px solid var(--login-line);border-radius:12px;background:var(--login-input);color:var(--login-text);font-size:16px;line-height:1.4;font-weight:400;box-shadow:inset 0 1px 2px #0001;}
.login-card--entry input::placeholder {color:var(--login-muted);opacity:.8;}
.login-card--entry input:focus {border-color:var(--login-gold);box-shadow:0 0 0 3px #dfc27f1c;}
.login-password {position:relative;min-width:0;}
.login-password input {padding-right:56px;}
.login-reveal {position:absolute;right:6px;bottom:5px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--login-muted);cursor:pointer;}
.login-reveal:hover {color:var(--login-text);}
.login-reveal svg {width:21px;height:21px;}
.eye-slash {display:none;}
.login-reveal[aria-pressed="true"] .eye-slash {display:block;}
.login-card--entry .button.primary {display:flex;align-items:center;justify-content:center;gap:14px;min-height:56px;width:100%;margin:6px 0 0;padding:14px 20px;border:1px solid #efdaac;border-radius:12px;background:var(--login-gold);color:#17140c;font-size:16px;line-height:1.4;font-weight:650;box-shadow:inset 0 1px 0 #fff4;transition:background .18s,transform .18s;}
.login-card--entry .button.primary:hover {background:#ecd399;transform:translateY(-1px);}
.login-card--entry .button.primary svg {width:21px;height:21px;}
.login-security {display:grid;gap:15px;margin-top:8px;text-align:center;color:var(--login-muted);font-size:12px;line-height:1.5;}
.login-security div {display:flex;align-items:center;gap:15px;}
.login-security div::before,.login-security div::after {content:"";height:1px;flex:1;background:var(--login-line);}
.login-security .ui-icon {width:18px;height:18px;}
.login-page-footer {display:flex;justify-content:center;gap:9px;padding:26px 20px;color:var(--login-muted);font-size:12px;}
.login-page-footer strong {color:var(--login-text);font-size:11px;letter-spacing:2px;font-weight:500;}
.login-card--entry .alert {margin:0;border-radius:10px;font-size:14px;}
@media(max-width:600px) {
 .login-masthead {padding:18px 22px;}
 .login-wordmark {gap:15px;}
 .login-wordmark img {width:72px;}
 .login-wordmark span {font-size:12px;padding-left:15px;}
 .login-entry {padding:14px 18px;}
 .login-card.login-card--entry {padding:28px 24px;gap:21px;border-radius:22px;}
 .login-heading .login-app-icon {width:56px;height:56px;border-radius:14px;margin-bottom:20px;}
 .login-card--entry .login-heading h1 {font-size:27px;letter-spacing:-1px;}
 .login-card--entry .login-heading p {font-size:14px;max-width:245px;margin:auto;}
 .login-heading {margin-bottom:4px;}
 .login-page-footer {padding:20px;}
}
@media(max-width:360px) {
 .login-card.login-card--entry {padding:24px 18px;}
 .login-card--entry .login-heading h1 {font-size:25px;}
}
.login-screen--entry {color-scheme:dark;font-family:"Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,sans-serif}
.login-screen--entry[data-login-theme="light"] {color-scheme:light}
.login-card--entry .flash {width:100%;margin:0;border-radius:10px;font-size:14px}
.login-card--entry .login-password input {padding-right:56px}
.login-screen--entry .ui-icon {display:block;flex-shrink:0}
.is-standalone body.login-screen--entry {padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
