/* Authentication surface: isolated from signed-in workspaces. */
html body.auth-screen{
  --auth-ink:#263846;--auth-muted:#657783;--auth-field:#f8fafc;
  --auth-border:#d6e1e8;--auth-accent:#357e83;
  background:#f3f7fa;color:var(--auth-ink);
}
body.auth-screen::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:url("login-blueprint.webp?v=10.0-login-2") center/cover no-repeat;
}
body.auth-screen.app-theme-dark{
  --auth-ink:#e8eef2;--auth-muted:#a7b5bf;--auth-field:#242b31;
  --auth-border:#3d4a55;--auth-accent:#73bdb4;background:#181d22;
}
body.auth-screen.app-theme-dark::before{opacity:.08}
body.auth-screen .shell{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;isolation:isolate}
body.auth-screen .app-topbar{display:none}
html body.auth-screen .page{
  display:grid;place-items:center;flex:1;width:100%;max-width:none;
  padding:48px 24px 30px;margin:0;animation:none!important;transform:none!important;
}
.auth-workspace{width:min(100%,440px);min-width:0;animation:auth-arrive 400ms cubic-bezier(.2,.8,.2,1) backwards}
.auth-heading{display:grid;justify-items:center;text-align:center;margin-bottom:26px}
.auth-brand-image{width:48px;height:48px;border-radius:8px;box-shadow:0 6px 18px #23425616;margin-bottom:20px}
.auth-eyebrow{margin:0 0 7px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:0;color:var(--auth-muted)}
.auth-heading h1{margin:0;font-size:28px;line-height:1.25;font-weight:750;letter-spacing:0;color:var(--auth-ink);max-width:100%;overflow-wrap:anywhere}
.auth-panel{
  position:relative;padding:30px 32px 28px;border:1px solid var(--auth-border);border-radius:8px;
  background:var(--surface,#fff);box-shadow:0 18px 54px #2342560d,0 2px 8px #23425606;
}
.auth-panel::before,.auth-panel::after{content:"";position:absolute;width:9px;height:9px;pointer-events:none;opacity:.6}
.auth-panel::before{left:-6px;top:-6px;border-left:1px solid var(--auth-accent);border-top:1px solid var(--auth-accent)}
.auth-panel::after{right:-6px;bottom:-6px;border-right:1px solid var(--auth-accent);border-bottom:1px solid var(--auth-accent)}
.auth-panel-accent{position:absolute;left:32px;right:32px;top:-1px;height:2px;display:flex;gap:5px;overflow:hidden}
.auth-panel-accent i{display:block;width:32px;height:2px;background:var(--auth-accent)}
.auth-panel-accent i:nth-child(2){width:14px;background:#6995b5}
.auth-panel-accent i:nth-child(3){width:8px;background:#bda368}
.auth-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}
.auth-panel h2{font-size:20px;line-height:1.35;letter-spacing:0;font-weight:650;color:var(--auth-ink);margin:0}
.auth-heading-icon{width:25px!important;height:25px!important;color:var(--auth-accent);flex:0 0 25px}
.auth-form{display:grid;gap:20px;margin:0}
.auth-field{display:grid;gap:8px;min-width:0}
.auth-form label{font-size:13px;line-height:1.4;font-weight:600;color:var(--auth-ink)}
.auth-input{
  display:flex;align-items:center;min-width:0;height:50px;border:1px solid var(--auth-border);border-radius:6px;
  background:var(--auth-field);transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease;
}
.auth-input:focus-within{border-color:var(--auth-accent);box-shadow:0 0 0 3px #367f8318;background:var(--surface,#fff)}
.auth-field-icon{margin-left:14px;color:var(--auth-muted);flex:0 0 18px;width:18px!important;height:18px!important;transition:color 180ms ease}
.auth-input:focus-within .auth-field-icon{color:var(--auth-accent)}
html body.auth-screen .auth-input input{
  width:100%;min-width:0;height:48px;padding:12px;border:0!important;border-radius:6px;
  background:transparent!important;color:var(--auth-ink)!important;font:400 16px/1.4 "Segoe UI",Arial,sans-serif;
  outline:0;box-shadow:none!important;
}
.auth-input input:-webkit-autofill{-webkit-text-fill-color:var(--auth-ink);caret-color:var(--auth-ink)}
html body.auth-screen.app-theme-dark .auth-input input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]){
  background:transparent!important;
}
.auth-password-toggle{
  display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:10px;
  border:0;background:transparent;color:var(--auth-muted);border-radius:5px;cursor:pointer;
}
.auth-password-toggle:hover{color:var(--auth-accent);background:#367f830a}
.auth-password-toggle:focus-visible,.auth-secondary:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}
.auth-password-toggle[hidden],[data-login-icon][hidden],.auth-caps[hidden]{display:none!important}
[data-login-icon]{display:inline-flex;width:20px;height:20px}
[data-login-icon] svg{display:block;width:100%;height:100%}
html body.auth-screen .auth-submit{
  display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;
  padding:13px 18px;border:1px solid transparent;border-radius:6px;
  color:#fff;background:var(--primary,#1f4e78);font:600 15px/1.4 "Segoe UI",Arial,sans-serif;
  box-shadow:0 4px 10px #23425612;cursor:pointer;margin-top:4px;
}
html body.auth-screen .auth-submit:hover{filter:brightness(1.08);box-shadow:0 6px 16px #23425624}
.auth-submit [data-login-icon]{transition:translate 220ms cubic-bezier(.22,.61,.36,1)}
.auth-submit:hover [data-login-icon]{translate:3px 0}
.auth-secondary{text-align:center;color:var(--auth-muted);font-size:13px;line-height:1.5;justify-self:center}
.auth-secondary:hover{color:var(--auth-accent)}
.auth-description{font-size:14px;line-height:1.6;color:var(--auth-muted);margin:14px 0 22px;overflow-wrap:anywhere}
.auth-description:last-child{margin-bottom:0}
.auth-caps{margin:0;font-size:12px;color:var(--auth-muted)}
.auth-state-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--auth-border);border-radius:8px;color:var(--auth-accent);margin-bottom:20px}
.auth-messages{margin:0 0 22px;display:grid;gap:8px}
.auth-messages .flash{font-size:13px;line-height:1.55;border-radius:6px;overflow-wrap:anywhere}
html body.auth-screen .auth-code{
  width:100%;min-width:0;text-align:center;font-size:24px;line-height:1.4;letter-spacing:0;font-variant-numeric:tabular-nums;
  border:1px solid var(--auth-border);border-radius:6px;background:var(--auth-field);color:var(--auth-ink);padding:12px;
}
.auth-code:focus{outline:2px solid var(--auth-accent);outline-offset:2px}
.auth-verify-status:empty{display:none}
body.auth-screen .app-footer{flex-wrap:wrap;padding:16px 20px 24px;color:var(--auth-muted)}
@keyframes auth-arrive{from{opacity:.4}to{opacity:1}}
.auth-heading,.auth-panel-heading,.auth-form > *{animation:auth-detail-arrive 360ms cubic-bezier(.2,.8,.2,1) backwards}
.auth-panel-heading{animation-delay:35ms}
.auth-form > :nth-child(1){animation-delay:65ms}
.auth-form > :nth-child(2){animation-delay:100ms}
.auth-form > :nth-child(n+3){animation-delay:135ms}
.auth-panel-accent i{animation:auth-accent-arrive 500ms cubic-bezier(.2,.8,.2,1) backwards;transform-origin:left}
.auth-panel-accent i:nth-child(2){animation-delay:70ms}
.auth-panel-accent i:nth-child(3){animation-delay:140ms}
@keyframes auth-detail-arrive{from{opacity:.4;translate:0 4px}to{opacity:1;translate:0 0}}
@keyframes auth-accent-arrive{from{scale:0 1}to{scale:1 1}}
html.app-intro-lock :is(.auth-heading,.auth-panel-heading,.auth-form > *,.auth-panel-accent i){animation-play-state:paused}
html.app-motion-disabled :is(.auth-heading,.auth-panel-heading,.auth-form > *,.auth-panel-accent i),
body.auth-screen.ui-motion-off :is(.auth-heading,.auth-panel-heading,.auth-form > *,.auth-panel-accent i),
.auth-form:focus-within > *{animation:none}
html.app-intro-lock .auth-workspace{animation-play-state:paused}
html.app-motion-disabled .auth-workspace,html body.auth-screen.ui-motion-off .auth-workspace{animation:none}
html.app-motion-disabled .auth-input,html.app-motion-disabled .auth-field-icon,html.app-motion-disabled .auth-submit [data-login-icon],
body.auth-screen.ui-motion-off .auth-input,body.auth-screen.ui-motion-off .auth-field-icon,body.auth-screen.ui-motion-off .auth-submit [data-login-icon]{transition:none}
html.app-motion-disabled .auth-submit:hover [data-login-icon],body.auth-screen.ui-motion-off .auth-submit:hover [data-login-icon]{translate:none}
@media(max-width:480px){
  html body.auth-screen .page{padding:28px 16px 16px}
  .auth-panel{padding:26px 22px 24px}
  .auth-panel-accent{left:22px;right:22px}
  .auth-heading{margin-bottom:24px}
  .auth-heading h1{font-size:26px}
}
@media(max-width:360px){.auth-heading h1{font-size:23px}}
@media(max-height:700px){
  html body.auth-screen .page{padding-top:22px}
  .auth-brand-image{width:40px;height:40px;margin-bottom:12px}
  .auth-heading{margin-bottom:20px}
  body.auth-screen .app-footer{padding-bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  .auth-heading,.auth-panel-heading,.auth-form > *,.auth-panel-accent i{animation:none}
  .auth-workspace{animation:none}
  .auth-input,.auth-field-icon,.auth-submit [data-login-icon]{transition:none}
  .auth-submit:hover [data-login-icon]{translate:none}
}
