/* Public authentication only; the protected administrator form keeps its layout. */
:root body .auth-screen:not(.auth-admin){
 --auth-bg:#f5f8fd;--auth-text:#17283f;--auth-muted:#76849a;--auth-accent:#3478ed;
 --auth-surface:#fff;--auth-input:#f7f9fc;--auth-line:#e4ebf5;--auth-focus:#3478ed1c;
 --auth-soft:#edf4ff;--auth-shadow:0 24px 70px #2b4d7b0b;--auth-error:#bc3b52;
 --auth-ease:cubic-bezier(.2,.75,.25,1);
 min-height:100dvh;padding:64px 28px;overflow:hidden;background:var(--auth-bg);color:var(--auth-text);color-scheme:light;
}
:root[data-theme="dark"] body .auth-screen:not(.auth-admin){
 --auth-bg:#090b10;--auth-text:#eef2f8;--auth-muted:#909cb0;--auth-accent:#8db8ff;
 --auth-surface:#131820;--auth-input:#1a202b;--auth-line:#273141;--auth-focus:#78aaff20;
 --auth-soft:#1e2b42;--auth-shadow:0 24px 70px #0003;--auth-error:#ff9bab;
 color-scheme:dark;
}
:root body .auth-screen:not(.auth-admin)::before{background:radial-gradient(ellipse at 20% 12%,#3478ed12,transparent 54%),radial-gradient(ellipse at 88% 95%,#3478ed09,transparent 46%)}
:root body .auth-screen:not(.auth-admin)::after{display:none}
:root body .auth-screen:not(.auth-admin) .auth-shell{width:100%;max-width:920px;display:grid;grid-template-columns:1fr 1.1fr;gap:8px;padding:8px;border:1px solid var(--auth-line);border-radius:32px;background:var(--auth-surface);box-shadow:var(--auth-shadow)}
:root body .auth-screen:not(.auth-admin) .auth-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:44px 26px;gap:25px;border-radius:25px;background:linear-gradient(155deg,var(--auth-soft),transparent);color:var(--auth-text)}
:root body .auth-screen:not(.auth-admin) .auth-symbol{width:80px;height:80px;transform:none;border:1px solid #76a2ef45;border-radius:23px;color:#fff;background:linear-gradient(145deg,#5c9cff,#2868da);box-shadow:inset 0 1px 0 #ffffff5c,0 14px 30px #3478ed25}
:root body .auth-screen:not(.auth-admin) .auth-symbol svg{width:51px;height:51px;transform:none;filter:none}
:root body .auth-screen:not(.auth-admin) .auth-symbol::before,
:root body .auth-screen:not(.auth-admin) .auth-symbol::after,
:root body .auth-screen:not(.auth-admin) .auth-brand-rule{display:none}
:root body .auth-screen:not(.auth-admin) .auth-wordmark{gap:8px;text-align:center}
:root body .auth-screen:not(.auth-admin) .auth-wordmark strong{font-size:29px!important;font-weight:650;letter-spacing:.01em!important;text-indent:0;line-height:1.4;color:var(--auth-text)}
:root body .auth-screen:not(.auth-admin) .auth-wordmark>span{font-size:10px;line-height:1.6;letter-spacing:.18em;text-indent:0;color:var(--auth-muted)}
:root body .auth-screen:not(.auth-admin) .auth-panel{min-width:0;padding:40px 32px 30px;border:0;border-radius:25px;background:var(--auth-surface);box-shadow:none}
:root body .auth-screen:not(.auth-admin) .auth-panel h1{margin:0 0 8px;font-size:29px;font-weight:650;letter-spacing:-.02em;line-height:1.4;color:var(--auth-text)}
:root body .auth-screen:not(.auth-admin) .auth-subtitle{margin:0 0 29px;font-size:13px;line-height:1.8;color:var(--auth-muted)}
:root body .auth-screen:not(.auth-admin) .auth-form{gap:20px}
:root body .auth-screen:not(.auth-admin) .auth-field{min-width:0;gap:8px}
:root body .auth-screen:not(.auth-admin) .auth-field label{padding-inline:1px;font-size:13px;font-weight:550;line-height:1.5;letter-spacing:0;color:var(--auth-text)}
:root body .auth-screen:not(.auth-admin) .auth-field input{min-width:0;height:54px;padding:14px 16px;border:1px solid var(--auth-line);border-radius:15px;background:var(--auth-input);color:var(--auth-text);font-size:16px;line-height:1.5;outline:none;box-shadow:none;transition:border-color .2s var(--auth-ease),box-shadow .2s var(--auth-ease),background-color .2s var(--auth-ease)}
:root body .auth-screen:not(.auth-admin) .auth-field input::placeholder{font-size:14px;color:var(--auth-muted);opacity:.8}
:root body .auth-screen:not(.auth-admin) .auth-field input:focus{border-color:var(--auth-accent);box-shadow:0 0 0 4px var(--auth-focus);background:var(--auth-surface)}
:root body .auth-screen:not(.auth-admin) .auth-field input:disabled{opacity:.72;cursor:wait}
:root body .auth-screen:not(.auth-admin) .auth-field input:-webkit-autofill{-webkit-text-fill-color:var(--auth-text);-webkit-box-shadow:0 0 0 1000px var(--auth-input) inset;caret-color:var(--auth-text)}
:root body .auth-screen:not(.auth-admin) .auth-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--auth-input) inset,0 0 0 4px var(--auth-focus)}
:root body .auth-screen:not(.auth-admin) .auth-inline{position:relative;gap:9px}
:root body .auth-screen:not(.auth-admin) #auth-password{padding-right:62px}
:root body .auth-screen:not(.auth-admin) :is(.auth-eye,.auth-switch,.auth-theme-toggle,.auth-code-button){box-shadow:none!important;translate:none;transition:background-color .18s var(--auth-ease),color .18s var(--auth-ease);font-family:inherit}
:root body .auth-screen:not(.auth-admin) .auth-eye{position:absolute;display:grid;place-items:center;right:5px;top:5px;width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:11px;background:transparent;color:var(--auth-muted)}
:root body .auth-screen:not(.auth-admin) .auth-eye[aria-pressed="true"]{color:var(--auth-accent)}
:root body .auth-screen:not(.auth-admin) .auth-eye[aria-pressed="true"]::before{content:"";position:absolute;width:25px;height:1.5px;transform:rotate(-45deg);border-radius:1px;background:currentColor;box-shadow:0 1px 0 var(--auth-input)}
:root body .auth-screen:not(.auth-admin) .auth-code-button{height:54px;min-height:54px;min-width:105px;padding:0 12px;border:1px solid var(--auth-line);border-radius:15px;background:var(--auth-soft);color:var(--auth-accent);font-size:12px;font-weight:550;white-space:nowrap;font-variant-numeric:tabular-nums}
:root body .auth-screen:not(.auth-admin) .auth-email-code .auth-inline{align-items:stretch}
:root body .auth-screen:not(.auth-admin) .auth-email-code input{font-variant-numeric:tabular-nums;letter-spacing:.08em}
:root body .auth-screen:not(.auth-admin) .auth-hint{padding-inline:1px;font-size:11px;line-height:1.65;color:var(--auth-muted);overflow-wrap:anywhere}
:root body .auth-screen:not(.auth-admin) .auth-hint[data-error="true"]{color:var(--auth-error)}
:root body .auth-screen:not(.auth-admin) .auth-submit{min-height:54px;margin-top:4px;padding:14px 20px;border:1px solid #3675e5;border-radius:16px;background:linear-gradient(115deg,#4388f6,#2e6be0);color:#fff;font-size:16px;font-weight:600;letter-spacing:.04em;line-height:1.5;box-shadow:inset 0 1px 0 #ffffff38,0 8px 20px #3478ed20!important;transition:transform .18s var(--auth-ease),box-shadow .2s var(--auth-ease),filter .2s var(--auth-ease)}
:root body .auth-screen:not(.auth-admin) .auth-submit:hover{filter:none}
:root body .auth-screen:not(.auth-admin) .auth-submit:not(:disabled):active{translate:none;transform:scale(.985);box-shadow:inset 0 2px 5px #00000014,0 2px 8px #3478ed20!important}
:root body .auth-screen:not(.auth-admin) :is(.auth-submit,.auth-code-button,.auth-switch):disabled{opacity:.55;translate:none;transform:none;filter:none;cursor:default;box-shadow:none!important}
:root body .auth-screen:not(.auth-admin) .auth-form[aria-busy="true"] .auth-submit{cursor:wait;opacity:.85}
:root body .auth-screen:not(.auth-admin) .auth-form[aria-busy="true"] .auth-submit::before{content:"";display:inline-block;width:13px;height:13px;margin-right:9px;border:1.5px solid #ffffff70;border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:auth-submit-spin .8s linear infinite}
:root body .auth-screen:not(.auth-admin) :is(.auth-submit,.auth-code-button,.auth-eye,.auth-switch,.auth-theme-toggle):focus-visible{outline:2px solid var(--auth-accent);outline-offset:4px}
:root body .auth-screen:not(.auth-admin) .auth-message{padding:10px 13px;border-radius:11px;background:var(--auth-soft);color:var(--auth-accent);font-size:12px;line-height:1.8}
:root body .auth-screen:not(.auth-admin) .auth-message:empty{display:none}
:root body .auth-screen:not(.auth-admin) .auth-message[data-error="true"]{color:var(--auth-error);background:#ef5a7510}
:root body .auth-screen:not(.auth-admin) .auth-switch-line{gap:4px;margin:20px 0 0;line-height:1.7;color:var(--auth-muted);font-size:13px}
:root body .auth-screen:not(.auth-admin) .auth-switch{display:inline-flex;gap:5px;align-items:center;min-height:40px;width:auto;padding:8px 9px;margin:0;border:0;border-radius:11px;background:transparent;color:var(--auth-accent);font-size:13px;font-weight:600;text-underline-offset:4px}
:root body .auth-screen:not(.auth-admin) .auth-demo-note{margin:12px 0 0;padding:0;border:0;color:var(--auth-muted);font-size:11px;line-height:1.8;text-align:center}
:root body .auth-screen:not(.auth-admin) .auth-demo-note:empty{display:none}
:root body .auth-screen:not(.auth-admin) .auth-demo-note[data-paused="true"]{margin-top:20px;padding:11px 14px;border-radius:12px;background:var(--auth-input)}
:root body .auth-screen:not(.auth-admin) .auth-theme-toggle{width:40px;height:40px;padding:11px;border-radius:50%;border:1px solid var(--auth-line);background:var(--auth-surface);color:var(--auth-muted)}
@media(hover:hover){
 :root body .auth-screen:not(.auth-admin) .auth-field input:not(:disabled):not(:focus):hover{border-color:var(--auth-muted)}
 :root body .auth-screen:not(.auth-admin) :is(.auth-eye,.auth-switch,.auth-theme-toggle):not(:disabled):hover{background:var(--auth-soft);filter:none}
 :root body .auth-screen:not(.auth-admin) .auth-submit:not(:disabled):hover{filter:brightness(1.045);box-shadow:inset 0 1px 0 #ffffff40,0 9px 24px #3478ed2a!important}
}
@media(max-width:700px){
 :root body .auth-screen:not(.auth-admin){display:block;padding:max(70px,calc(env(safe-area-inset-top) + 58px)) max(20px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
 :root body .auth-screen:not(.auth-admin) .auth-shell{display:block;max-width:450px;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
 :root body .auth-screen:not(.auth-admin) .auth-brand,
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-brand{flex-direction:row;justify-content:flex-start;gap:15px;padding:0 7px 29px;border:0;background:transparent}
 :root body .auth-screen:not(.auth-admin) .auth-symbol,
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-symbol{width:52px;height:52px;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff5c,0 8px 18px #3478ed22}
 :root body .auth-screen:not(.auth-admin) .auth-symbol svg,
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-symbol svg{width:35px;height:35px}
 :root body .auth-screen:not(.auth-admin) .auth-wordmark,
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-wordmark{gap:3px;text-align:left}
 :root body .auth-screen:not(.auth-admin) .auth-wordmark strong,
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-wordmark strong{font-size:24px!important;letter-spacing:.01em!important}
 :root body .auth-screen:not(.auth-admin) .auth-wordmark>span,
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-wordmark>span{font-size:9px;letter-spacing:.14em}
 :root body .auth-screen:not(.auth-admin) .auth-panel{padding:29px 23px 22px;border:1px solid var(--auth-line);border-radius:27px;background:var(--auth-surface);box-shadow:var(--auth-shadow)}
 :root body .auth-screen:not(.auth-admin) .auth-panel h1{font-size:28px}
 :root body .auth-screen:not(.auth-admin) .auth-subtitle{margin-bottom:26px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-form{gap:15px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-subtitle{margin-bottom:22px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-field{gap:7px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-field input{height:50px;border-radius:14px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-code-button{height:50px;min-height:50px;border-radius:14px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-eye{height:40px;top:5px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-switch-line{margin-top:14px}
}
@media(max-width:360px){
 :root body .auth-screen:not(.auth-admin){padding-inline:14px}
 :root body .auth-screen:not(.auth-admin) .auth-panel{padding-inline:18px;border-radius:23px}
 :root body .auth-screen:not(.auth-admin) .auth-email-code .auth-inline{gap:7px}
 :root body .auth-screen:not(.auth-admin) .auth-code-button{min-width:96px;padding-inline:8px}
}
@media(max-height:740px) and (max-width:700px){
 :root body .auth-screen:not(.auth-admin)[data-mode="register"]{padding-top:max(58px,calc(env(safe-area-inset-top) + 48px))}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-brand{padding-bottom:20px}
 :root body .auth-screen:not(.auth-admin)[data-mode="register"] .auth-panel{padding-top:23px}
}
@media(prefers-reduced-motion:no-preference){:root body .auth-screen:not(.auth-admin) .auth-panel{animation:auth-panel-arrive .28s var(--auth-ease) both}}
@keyframes auth-panel-arrive{from{opacity:.6;translate:0 5px}to{opacity:1;translate:0 0}}
@keyframes auth-submit-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
 :root body .auth-screen:not(.auth-admin) :is(.auth-panel,.auth-field input,.auth-submit,.auth-code-button,.auth-eye,.auth-switch,.auth-theme-toggle){animation:none!important;transition:none!important}
 :root body .auth-screen:not(.auth-admin) .auth-form[aria-busy="true"] .auth-submit::before{animation:none}
 :root body .auth-screen:not(.auth-admin) .auth-submit:not(:disabled):is(:hover,:active){translate:none;transform:none}
}
