/* Authentication-only layout; the workspace theme and application shell are unchanged. */
#loginView {
  --login-bg:#0c1827;
  --login-field:#122338;
  --login-border:#294058;
  --login-text:#eef3f9;
  --login-muted:#a6b4c6;
  --login-gold:#d0ae62;
  --login-error:#ffaca8;
  --login-focus:#83afe2;
  position:relative;display:grid;grid-template-columns:minmax(0,39fr) minmax(0,61fr);
  min-height:100vh;min-height:100dvh;background:var(--login-bg);color:var(--login-text);
}
:root[data-theme="light"] #loginView {
  --login-bg:#f6f4ef;--login-field:#fff;--login-border:#c9d3df;--login-text:#10243d;
  --login-muted:#5d6c82;--login-gold:#c99f4b;--login-error:#ab3038;--login-focus:#376eaa;
}
#loginView *, #loginView *::before, #loginView *::after { box-sizing:border-box;min-width:0; }
#loginView .login-brand { display:grid;grid-template-rows:auto 1fr auto;gap:26px;padding:40px clamp(28px,3.5vw,56px);background:#0b1a2c;border-right:1px solid #294058;color:#eef3f9; }
#loginView .login-brand-identity { display:flex;align-items:center;gap:20px; }
#loginView .login-brand-identity img { width:72px;height:72px;flex:none; }
#loginView .login-brand-identity strong { display:block;font-size:24px;line-height:1.3;font-weight:600; }
#loginView .login-brand-identity span { display:block;margin-top:4px;color:#aab9cb;font-size:14px; }
#loginView .login-brand-story { align-self:center; }
#loginView .login-brand-story h2 { font-size:clamp(32px,3vw,44px);line-height:1.18;letter-spacing:-1.1px;font-weight:600;margin:0; }
#loginView .login-brand-story h2 span { color:#d0ae62; }
#loginView .login-brand-story p { font-size:18px;line-height:1.5;margin:20px 0 0;max-width:36ch;color:#aab9cb; }
#loginView .login-network { display:block;width:min(100%,280px);height:auto;margin:26px auto 0; }
#loginView .login-enterprise-note { display:flex;align-items:center;gap:12px;color:#aab9cb;font-size:13px;margin:0; }
#loginView .login-enterprise-note svg { width:28px;height:28px; }
#loginView .login-workspace { display:grid;grid-template-rows:auto 1fr auto;gap:24px;padding:36px clamp(28px,4vw,60px); }
#loginView .login-utilities { display:flex;justify-content:flex-end; }
#loginView .login-theme { display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--login-border);border-radius:9px;padding:9px 13px;background:transparent;color:var(--login-muted);font-size:14px;cursor:pointer; }
#loginView .login-theme .theme-toggle-icon { width:20px;height:20px; }
#loginView .login-content { width:100%;max-width:440px;align-self:center;justify-self:center; }
#loginView .login-heading { margin-bottom:30px; }
#loginView .login-heading .login-eyebrow { margin:0 0 14px;color:var(--accent-gold);font-size:12px;letter-spacing:2px; }
#loginView .login-heading h1 { font-size:clamp(32px,2.35vw,36px);font-weight:600;letter-spacing:-1px;line-height:1.2;margin:0 0 12px; }
#loginView .login-heading > p:last-child { font-size:16px;line-height:1.5;color:var(--login-muted);margin:0; }
#loginView #loginForm { display:grid;gap:20px; }
#loginView .login-field label { display:block;margin-bottom:8px;color:var(--login-text);font-size:14px;font-weight:500; }
#loginView .login-input-wrap { position:relative; }
#loginView .login-icon { width:22px;height:22px;flex:none; }
#loginView .login-input-wrap > .login-icon { position:absolute;top:15px;left:16px;color:var(--login-muted);pointer-events:none; }
#loginView .login-field input { display:block;width:100%;height:52px;padding:12px 16px 12px 48px;background:var(--login-field);border:1px solid var(--login-border);border-radius:11px;color:var(--login-text);font-size:16px;line-height:1.4;transition:border-color .15s,box-shadow .15s; }
#loginView #loginPassword { padding-right:54px; }
#loginView .login-field input::placeholder { color:var(--login-muted);opacity:1; }
#loginView .login-field input:hover { border-color:var(--login-muted); }
#loginView .login-field input:focus { outline:2px solid var(--login-focus);outline-offset:2px;border-color:var(--login-focus); }
#loginView .login-field input:is(:autofill,:-webkit-autofill) { -webkit-text-fill-color:var(--login-text);caret-color:var(--login-text);box-shadow:0 0 0 1000px var(--login-field) inset; }
#loginView .login-password-toggle { position:absolute;right:4px;top:4px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--login-muted);cursor:pointer; }
#loginView .login-password-toggle:hover, #loginView .login-theme:hover { background:color-mix(in srgb,var(--login-muted) 10%,transparent);color:var(--login-text); }
#loginView .login-submit { width:100%;min-height:52px;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid transparent;border-radius:11px;padding:12px 16px;background:var(--login-gold);color:#0b1a2c;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .15s,border-color .15s; }
#loginView .login-submit:hover { background:color-mix(in srgb,var(--login-gold) 88%,white); }
#loginView .login-submit:active { background:color-mix(in srgb,var(--login-gold) 92%,#0b1a2c); }
#loginView .login-submit:disabled { cursor:wait;opacity:.8; }
#loginView :is(button,a):focus-visible { outline:2px solid var(--login-focus);outline-offset:3px; }
#loginView .login-field-error, #loginView .login-error { margin:0;color:var(--login-error);font-size:13px;line-height:1.5;overflow-wrap:anywhere; }
#loginView .login-field-error:not(:empty) { margin-top:7px; }
#loginView .login-error:empty, #loginView .login-field-error:empty { display:none; }
#loginView .login-error:not(:empty) { padding:10px 12px;border:1px solid color-mix(in srgb,var(--login-error) 45%,transparent);border-radius:8px;background:color-mix(in srgb,var(--login-error) 6%,transparent); }
#loginView input[aria-invalid="true"] { border-color:var(--login-error); }
#loginView .login-retry { justify-self:start;border:0;background:transparent;color:var(--login-text);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:4px 0;font-size:14px;cursor:pointer; }
#loginView .login-connection { display:flex;justify-content:center;align-items:center;gap:10px;color:var(--login-muted);margin:26px 0 0;font-size:12px; }
#loginView .login-connection svg { width:18px;height:18px; }
#loginView .login-footer { color:var(--login-muted);font-size:12px;line-height:1.5; }
#loginView .login-sr-only { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
#loginView .login-spinner { display:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%; }
#loginView #loginForm[aria-busy="true"] .login-spinner { display:block;animation:login-spin .8s linear infinite; }
@keyframes login-spin { to { rotate:360deg; } }
@media (max-height:760px) and (min-width:901px) {
  #loginView .login-brand { padding-top:28px;padding-bottom:28px;gap:18px; }
  #loginView .login-brand-story h2 { font-size:34px; }
  #loginView .login-brand-story p { font-size:17px;margin-top:16px; }
  #loginView .login-network { width:220px;margin-top:18px; }
  #loginView .login-workspace { padding-top:24px;padding-bottom:24px;gap:18px; }
}
@media (min-width:901px) and (max-width:1150px) {
  #loginView { grid-template-columns:minmax(0,36fr) minmax(0,64fr); }
  #loginView .login-brand { padding-left:24px;padding-right:24px; }
  #loginView .login-brand-identity { gap:12px; }
  #loginView .login-brand-identity strong { font-size:21px; }
  #loginView .login-brand-identity img { width:62px;height:62px; }
  #loginView .login-brand-story h2 { font-size:32px; }
  #loginView .login-network { width:230px; }
}
@media (max-width:900px) {
  #loginView { grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr; }
  #loginView .login-brand { display:block;padding:calc(16px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px));border-right:0;border-bottom:1px solid #294058; }
  #loginView .login-brand-identity { gap:10px;padding-right:90px; }
  #loginView .login-brand-identity img { width:44px;height:44px; }
  #loginView .login-brand-identity strong { font-size:17px; }
  #loginView .login-brand-identity span { margin-top:3px;font-size:11px; }
  #loginView .login-brand-story, #loginView .login-enterprise-note { display:none; }
  #loginView .login-utilities { position:absolute;right:max(20px,env(safe-area-inset-right,0px));top:calc(16px + env(safe-area-inset-top,0px)); }
  #loginView .login-theme { color:#aab9cb;border-color:#294058;padding:9px 10px;font-size:12px; }
  #loginView .login-theme:hover { color:#eef3f9; }
  #loginView .login-workspace { grid-template-rows:1fr auto;padding:40px max(20px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));gap:36px; }
  #loginView .login-content { align-self:start; }
  #loginView .login-heading h1 { font-size:30px; }
  #loginView .login-heading > p:last-child { font-size:15px; }
  #loginView .login-footer { width:100%;max-width:440px;justify-self:center; }
}
@media (max-width:390px) {
  #loginView .login-brand-identity strong { font-size:16px; }
  #loginView .login-heading h1 { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) {
  #loginView *, #loginView *::before, #loginView *::after { transition:none !important;animation:none !important; }
}
