﻿/* Login scene: company identity still uses the shared visual renderer. */
body.session-loading #auth-screen,body.session-loading #app{display:none!important}
#session-preload{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;background:var(--preload-background,#f5f6f7);color:var(--preload-color,#ed735d);padding:24px;box-sizing:border-box;min-height:100svh}
#session-preload.hidden{display:none}
.session-preload-content{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;max-width:100%}
.session-preload-icon{width:min(300px,calc(100vw - 48px));aspect-ratio:1;overflow:hidden;border-radius:28px;display:grid;place-items:center}
.session-preload-icon img{display:block;width:100%;height:100%;object-fit:contain}
.session-preload-icon img[hidden],.session-preload-icon span[hidden],#session-preload-retry[hidden]{display:none}
.session-preload-icon span{width:100%;height:100%;display:grid;place-items:center;background:var(--preload-color);color:#fff;font:700 180px/1 'Aptos','Segoe UI',sans-serif}
#session-preload-message{font-size:14px;margin:0}
html[data-theme="dark"] #session-preload{background:color-mix(in srgb,var(--preload-background) 8%,#101418);color:color-mix(in srgb,var(--preload-color) 65%,#fff)}
#auth-screen.login-scene{
  position:relative;isolation:isolate;min-height:100svh;box-sizing:border-box;
  display:grid;grid-template-columns:minmax(0,1fr);align-items:center;place-items:initial;padding:100px 6vw 48px;
  overflow:hidden;background:#06182d;color:#fff;
  --login-company-primary:var(--accent);--login-company-secondary:#17212b;
}
#auth-screen .login-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
#auth-screen .login-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,17,35,.25),rgba(3,17,35,.15) 40%,rgba(3,17,35,.7)),linear-gradient(0deg,rgba(3,17,35,.85),transparent 70%)}
#auth-screen .login-scene-brand{position:absolute;top:32px;left:6vw;display:flex;align-items:center;gap:10px;color:#fff}
#auth-screen .login-scene-brand>b{background:var(--login-company-primary);color:var(--login-company-primary-contrast,#fff)}
#auth-screen .login-layout{width:100%;min-width:0;max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:64px;align-items:end}
#auth-screen .login-layout>*{min-width:0}
#auth-screen .login-introduction{padding-bottom:25px;text-shadow:0 2px 18px #00152d}
#auth-screen .login-introduction>span{font-size:12px;letter-spacing:3px;font-weight:600;color:color-mix(in srgb,var(--login-company-primary) 25%,#fff);text-transform:uppercase}
#auth-screen .login-introduction h2{font:600 clamp(28px,3vw,44px)/1.2 'Aptos','Segoe UI',sans-serif;margin:18px 0;overflow-wrap:anywhere}
#auth-screen .login-introduction p{max-width:370px;line-height:1.7;color:#dae7fa;margin:0}
#auth-screen .login-glass{position:relative;box-sizing:border-box;width:100%;margin:0;padding:32px 36px;display:flex;flex-direction:column;gap:0;border:1px solid rgba(224,237,255,.35);border-radius:24px;background:color-mix(in srgb,var(--login-company-secondary) 76%,transparent);box-shadow:0 24px 80px rgba(0,10,30,.35),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
#auth-screen .login-company-brand{margin-bottom:26px}
#auth-screen .login-company-brand.is-horizontal .login-company-logo-frame{width:100%;aspect-ratio:500/118;border-radius:12px}
#auth-screen .login-company-brand.is-square .login-company-logo-frame{width:88px;height:88px;border-radius:18px}
#auth-screen .login-card-heading{text-align:center;margin-bottom:12px;display:block;height:auto;padding:0;background:none;border:0;box-shadow:none}
#auth-screen .login-card-heading>span{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:color-mix(in srgb,var(--login-company-primary) 25%,#fff)}
#auth-screen .login-card-heading h1{font:600 25px/1.25 'Aptos','Segoe UI',sans-serif;color:#fff;margin:12px 0}
#auth-screen .login-card-heading p,#auth-screen .login-help{font-size:13px;line-height:1.65;color:#d9e7fb;margin:0}
#auth-screen .login-field{display:block;font-size:13px;font-weight:500;margin:10px 0;color:#f0f5ff}
#auth-screen .login-input{display:flex;align-items:center;gap:12px;margin-top:9px;padding:0 14px;border:1px solid rgba(210,231,255,.4);border-radius:12px;background:rgba(3,18,40,.34)}
#auth-screen .login-icon{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#b8c9e1}
#auth-screen .login-input input{width:100%;min-width:0;min-height:50px;height:50px;padding:0;border:0;outline:0;box-shadow:none;background:transparent;color:#fff;font-size:16px;border-radius:0}
#auth-screen .login-input input::placeholder{color:#b8c9e1}
#auth-screen .login-input input:focus{outline:0;border:0}
#auth-screen .login-input:focus-within{border-color:var(--login-company-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--login-company-primary) 25%,transparent)}
#auth-screen .password-input{flex:1;min-width:0}
#auth-screen .password-input input{padding-right:36px}
#auth-screen .password-input>[data-toggle-password]{color:#b8c9e1}
#auth-screen .login-input input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px #102139 inset}
#auth-screen .login-submit{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:52px;margin-top:18px;padding:14px 20px;border:1px solid var(--login-company-primary);border-radius:12px;background:var(--login-company-primary);color:var(--login-company-primary-contrast,#fff);font-weight:700;transition:background .18s ease,transform .18s ease}
#auth-screen .login-submit:hover{background:color-mix(in srgb,var(--login-company-primary) 86%,#000)}
#auth-screen .login-submit:active{transform:translateY(1px)}
#auth-screen .login-help{text-align:center;margin:20px 0}
#auth-screen .login-session{border-top:1px solid rgba(210,231,255,.2);padding-top:18px;text-align:center;font-size:11px;letter-spacing:.5px;color:#bed1eb}
#auth-screen #login-error{color:#ffc8c3;font-size:13px;line-height:1.5;margin:12px 0 0}
#auth-screen #login-error:empty{display:none}
@media(max-width:900px){
  html:has(#auth-screen:not(.hidden)),body:has(#auth-screen:not(.hidden)){height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto}
  #auth-screen.login-scene{height:auto;min-height:100svh;overflow:visible;padding:88px 5vw max(36px,env(safe-area-inset-bottom))}
  #auth-screen .login-layout{grid-template-columns:minmax(0,1fr);gap:28px;max-width:500px}
  #auth-screen .login-introduction{display:none}
  #auth-screen .login-backdrop{object-position:35% center}
  #auth-screen .login-shade{background:linear-gradient(0deg,rgba(3,17,35,.9),rgba(3,17,35,.4))}
}
@media(max-width:480px){
  #auth-screen.login-scene{display:block;padding:76px 4vw max(24px,env(safe-area-inset-bottom))}
  #auth-screen .login-layout{display:block;margin:0 auto}
  #auth-screen .login-glass{padding:26px 22px;border-radius:20px}
  #auth-screen .login-scene-brand{top:24px;left:5vw}
  #auth-screen .login-card-heading h1{font-size:23px}
  #auth-screen .login-introduction>span{letter-spacing:2px}
}
