/* Public entry screen. Scoped to login so workspace density stays independent. */
#loginScreen.login-screen{display:block;overflow-y:auto;overflow-x:hidden;padding:0;background:#f4f8fc url('../assets/login-architecture.svg') center/cover no-repeat;color:var(--text)}
.login-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 430px;grid-template-rows:auto 1fr auto;gap:40px 7vw;min-height:100dvh;max-width:1600px;margin:auto;padding:38px clamp(28px,5.7vw,100px) 28px}
.login-identity{display:flex;align-items:center;gap:13px;grid-column:1;align-self:start}.login-identity img{width:56px;height:46px;object-fit:contain}.login-identity strong{display:block;font-size:24px;line-height:1.1;letter-spacing:.02em;font-weight:750}.login-identity small{display:block;margin-top:5px;font-size:11px;letter-spacing:.1em;color:var(--muted);font-weight:650;text-transform:uppercase}
.login-intro{grid-column:1;grid-row:2;align-self:center;max-width:650px;padding:12px 0 44px}
.login-eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.12em;font-weight:650;color:var(--muted);text-transform:uppercase;margin:0 0 24px}.login-eyebrow::before{content:"";width:28px;height:2px;background:var(--brand-red)}
.login-intro h1{font-size:clamp(30px,3.2vw,48px);line-height:1.13;letter-spacing:-.035em;font-weight:700;margin:0 0 22px;max-width:590px}
.login-intro-lead{font-size:16px;line-height:1.65;color:var(--muted);max-width:520px;margin:0}
.login-features{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px;margin:40px 0 0}
.login-feature{display:flex;align-items:flex-start;gap:12px}.login-feature-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#eef3ffb3;border:1px solid #dfe8f5;border-radius:10px;color:var(--blue)}
.login-feature-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.login-feature h2{margin:1px 0 5px;font-size:14px;font-weight:650;line-height:1.4}.login-feature p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.login-side{grid-column:2;grid-row:1/4;align-self:center;min-width:0;padding-block:30px}
#loginScreen .login-card{width:100%;max-width:none;margin:0;padding:34px;border-radius:12px;border:1px solid #ffffff;background:rgba(255,255,255,.96);box-shadow:0 18px 60px #263e5620}
.login-card .login-logo-row{margin:0 0 26px;gap:12px}.login-card .login-logo-row img.app-logo{width:50px;height:42px;max-height:none;object-fit:contain}.login-card .login-brand{font-size:22px;font-weight:750;letter-spacing:.01em}.login-card .login-brand-block small{display:block;margin-top:3px;font-size:10px;font-weight:650;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.login-card h2.login-title{font-size:25px;line-height:1.25;margin:0 0 8px;letter-spacing:-.02em;font-weight:700}
#loginScreen .login-sub{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 26px}
#loginScreen .login-card .form .g{margin:0 0 18px}#loginScreen .login-card .form label{font-size:12px;line-height:1.4;text-transform:none;letter-spacing:0;color:var(--muted);margin:0 0 7px;font-weight:550}
.login-input-wrap{position:relative;display:flex;align-items:center;min-width:0;height:46px;border:1px solid var(--line-strong);border-radius:var(--control-r);padding:0 12px;gap:10px;background:var(--surface)}
.login-input-wrap>svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#loginScreen .login-input-wrap>input{flex:1;width:100%;min-width:0;min-height:0;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0;font:400 14px/1.4 var(--font);color:var(--text)}
.login-input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--accent-ring)}
.login-password-toggle{flex:none;display:grid;place-items:center;width:32px;height:34px;border:0;border-radius:4px;padding:5px;color:var(--muted);background:transparent}.login-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.login-password-toggle:hover{color:var(--blue);background:var(--blue-soft)}
.login-password-toggle[aria-pressed=true] .login-eye-slash{display:block}.login-eye-slash{display:none}
#loginScreen .login-card .btn.primary{height:46px;min-height:46px;margin-top:4px;font-size:14px;font-weight:600;border-radius:var(--control-r);box-shadow:none}
.login-access-help{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted)}.login-access-help summary{cursor:pointer;color:var(--blue);font-weight:500;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.login-access-help summary::after{content:"+";font-size:18px}.login-access-help[open] summary::after{content:"−"}.login-access-help summary::-webkit-details-marker{display:none}.login-access-help p{margin:10px 0 0;line-height:1.6}
#loginScreen .login-err{font-size:13px;line-height:1.5;color:var(--red);margin:12px 0 0}#loginScreen .login-err:empty{display:none}
#loginScreen .login-hint{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding:12px;border:0;border-radius:var(--control-r);background:var(--surface-2);font-size:12px;line-height:1.6;color:var(--muted)}
.login-footer{grid-column:1;grid-row:3;margin:0;align-self:end;color:var(--muted);font-size:12px;line-height:1.6}.login-footer::before{content:"";display:block;width:28px;height:2px;background:var(--brand-red);margin-bottom:12px}
.login-version{margin:15px 0 0;text-align:center;font-size:11px;color:#43566c}
#loginScreen .login-restoring{margin:14px 0 0;line-height:1.5;font-size:12px}
@media(min-width:1750px){.login-layout{grid-template-columns:minmax(0,1fr) 460px}.login-side{padding-block:60px}#loginScreen .login-card{padding:40px}}
@media(max-width:1100px){.login-layout{grid-template-columns:minmax(0,1fr) 380px;gap:32px;padding:28px}.login-intro h1{font-size:34px}.login-features{grid-template-columns:1fr;gap:18px;margin-top:26px}.login-intro{padding-bottom:12px}.login-intro-lead{font-size:14px}#loginScreen .login-card{padding:28px}}
@media(max-width:760px){#loginScreen.login-screen{background:#f2f6fb}.login-layout{display:flex;flex-direction:column;min-height:100dvh;padding:24px 16px;gap:22px;max-width:470px}.login-identity{gap:10px}.login-identity img{width:45px;height:36px}.login-identity strong{font-size:20px}.login-identity small{font-size:9px}.login-intro{display:none}.login-side{padding:0;width:100%;align-self:stretch;margin-block:auto}#loginScreen .login-card{padding:26px 22px;box-shadow:0 8px 30px #263e5610}.login-card .login-logo-row{display:none}.login-card h2.login-title{font-size:23px}.login-input-wrap{height:48px}#loginScreen .login-input-wrap>input{font-size:16px}.login-password-toggle{height:42px;width:36px}#loginScreen .login-card .btn.primary{height:48px}.login-footer{font-size:11px;align-self:stretch}.login-footer::before{margin-bottom:8px}.login-version{font-size:11px}}
@media(max-height:650px) and (min-width:761px){.login-layout{padding-top:20px;padding-bottom:20px;gap:20px 5vw}.login-side{padding:0}.login-intro{padding:0}.login-features{gap:18px;margin-top:24px}.login-footer{display:none}}
