/* Login uses the shared neutral palette and blue identity. */
:root{color-scheme:light;--bg:#F1F2F4;--surface:#FAFAFB;--field:#FFFFFF;--ink:#24272D;--muted:#626975;--line:#D8DCE2;--accent:#1D4ED8;--action:#1D4ED8;--on-action:#FFFFFF;--error:#B91C1C;--error-bg:#FEE2E2}
html[data-theme="dark"]{color-scheme:dark;--bg:#18191B;--surface:#222426;--field:#2C2E32;--ink:#ECEEF2;--muted:#A6ADB8;--line:#3D4148;--accent:#93C5FD;--action:#93C5FD;--on-action:#18202C;--error:#FCA5A5;--error-bg:#452426}
*{box-sizing:border-box}body{margin:0;font:14px/1.55 "Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
.login-page{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:88px 24px 40px}
.login-card{width:100%;max-width:440px;padding:36px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.login-logo{display:block;width:92px;height:80px;object-fit:contain;margin:0 auto 14px}
.eyebrow{text-align:center;font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--accent);margin:0 0 28px}
h1{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin:0 0 10px}.login-card>p:not(.eyebrow){color:var(--muted);margin:0 0 26px}
form{display:grid;gap:20px}label{display:grid;gap:8px;font-size:13px;font-weight:600}input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);padding:11px 13px;font:inherit}
button{font:600 13px/1.5 "Segoe UI",sans-serif;cursor:pointer}.button{width:100%;min-height:46px;padding:12px 16px;border:0;border-radius:8px;background:var(--action);color:var(--on-action);margin-top:4px}.button:hover{filter:brightness(.94)}
input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.theme-toggle{position:absolute;right:24px;top:24px;display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;min-height:40px;padding:8px 12px}.theme-toggle-icon{font-size:18px}
.message.error{margin:0 0 22px;padding:12px 14px;border-radius:8px;background:var(--error-bg);color:var(--error);font-size:13px}
@media(max-width:480px){.login-page{padding:80px 16px 24px}.login-card{padding:28px 24px}.theme-toggle{top:16px;right:16px}h1{font-size:28px}}

.login-shell{display:grid;grid-template-columns:1fr 1fr;width:min(1180px,100%);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface)}
.login-card{max-width:none;border:0;border-radius:0;padding:44px 40px}
.login-logo{width:64px;height:52px;margin:0 0 12px}.eyebrow{text-align:left;margin-bottom:28px}
.login-visual{position:relative;min-height:700px;background:#16372e;overflow:hidden}.login-visual>img{width:100%;height:100%;position:absolute;object-fit:cover}.login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,23,24,.92))}.visual-caption{position:absolute;bottom:48px;left:36px;right:36px;z-index:1;color:white}.visual-caption span{font-size:10px;letter-spacing:1.6px;font-weight:700}.visual-caption h2{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:18px 0}.visual-caption p{color:#dce5e3}
.workspace-picker{border:0;padding:0;margin:0;min-width:0}.workspace-picker legend{font-size:13px;font-weight:600;margin-bottom:10px}.workspace-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.workspace-options label{position:relative;cursor:pointer}.workspace-options input{position:absolute;opacity:0;width:1px;min-height:0}.workspace-options span{border:1px solid var(--line);border-radius:10px;padding:14px 6px;display:flex;align-items:center;flex-direction:column;text-align:center;min-height:124px;gap:4px}.workspace-options img{width:58px;height:38px;object-fit:contain;margin-bottom:4px}.workspace-options strong{font-size:12px}.workspace-options small{font-size:10px;color:var(--muted);font-weight:400}.workspace-options input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:inset 0 0 0 1px var(--accent)}.workspace-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.automatic{display:flex;align-items:center;margin-top:12px;font-size:12px;font-weight:400;color:var(--muted)}.automatic input{width:16px;min-height:16px;margin:0;accent-color:var(--accent)}.login-card .access-note{font-size:12px;text-align:center;margin:20px 0 0;color:var(--muted)}
@media(max-width:900px){.login-shell{max-width:600px;grid-template-columns:1fr}.login-visual{min-height:220px}.login-visual>img{object-position:center 45%}.visual-caption{bottom:20px;left:28px}.visual-caption h2{font-size:26px;margin:10px 0}.visual-caption p{display:none}.login-card{padding:32px}}
@media(max-width:480px){.login-card{padding:26px 20px}.login-visual{min-height:180px}.workspace-options small{font-size:9px}.workspace-options strong{font-size:11px}.login-page{padding:72px 12px 20px}}

/* Company-specific login scenes; fields keep a comfortable reading width. */
.login-page{padding:72px 3vw 40px}.login-shell{width:min(1800px,100%);min-height: min(840px,85vh);grid-template-columns:minmax(0,1.4fr) minmax(460px,1fr)}
.login-card{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(28px,4vw,72px)}.login-card form{width:100%}.login-visual{min-height:760px;background:linear-gradient(145deg,#10243b,#152033 60%,#18191b)}
.login-visual>video{position:absolute;width:100%;height:100%;object-fit:cover}.login-visual [hidden]{display:none!important}.visual-caption{bottom:80px;left:clamp(32px,4vw,80px);right:40px}.visual-caption h2{white-space:pre-line;font-size:clamp(36px,3.3vw,64px);max-width:700px}.visual-caption p{font-size:17px;max-width:470px}.video-toggle{position:absolute;bottom:24px;left:clamp(32px,4vw,80px);z-index:2;background:#18202cbd;color:white;border:1px solid #ffffff66;border-radius:8px;padding:8px 14px}
body[data-workspace="controls"] .login-visual:after,body[data-workspace="auto"] .login-visual:after{background:none}body[data-workspace="controls"] .visual-caption,body[data-workspace="auto"] .visual-caption{top:50%;bottom:auto;transform:translateY(-50%)}
body[data-workspace="ledsolartech"]{--accent:#167449;--action:#167449;--on-action:#fff}body[data-workspace="yellowhill"]{--accent:#8a6500;--action:#ffd329;--on-action:#26200b}
html[data-theme="dark"] body[data-workspace="ledsolartech"]{--accent:#58ce9e;--action:#58ce9e;--on-action:#10281e}html[data-theme="dark"] body[data-workspace="yellowhill"]{--accent:#ffd329}
body[data-workspace="ledsolartech"] .login-visual{background:#173b2c}body[data-workspace="yellowhill"] .login-visual{background:#34301b}
@media(min-width:2200px){.login-shell{min-height:1000px}.login-visual{min-height:1000px}}
@media(max-width:1000px){.login-shell{grid-template-columns:1fr;max-width:680px;min-height:0}.login-visual{min-height:300px}.visual-caption{left:28px;bottom:64px}.visual-caption h2{font-size:32px}.visual-caption p{display:none}.login-card{padding:32px}.video-toggle{left:28px;bottom:16px}}
@media(max-width:480px){.login-page{padding:68px 12px 20px}.login-card{padding:26px 20px}.login-visual{min-height:240px}.visual-caption h2{font-size:28px}}

/* Larger company marks, with bounded sizes for compact login layouts. */
.login-logo{width:144px;height:104px;max-width:100%;margin-bottom:16px}
.workspace-options img{width:96px;height:64px;max-width:100%;margin-bottom:8px}
.workspace-options span{min-height:150px}
@media(max-width:480px){.login-logo{width:120px;height:88px}.workspace-options img{width:72px;height:52px}.workspace-options span{min-height:136px}}
