/* Authentication boundary — loaded directly before workspace modules. */
:root{--auth-canvas:#f3f6f9;--auth-surface:white;--auth-border:#d6e0e8;--auth-text:#17212b;--auth-muted:#5f7180;--auth-accent:#2f6fec;--auth-danger:#b42318}
.is-authentication-view>aside,.is-authentication-view>main>header,.is-authentication-view>#sidebarRestore{display:none}
.is-authentication-view>main{margin:0;min-height:100vh}
.is-authentication-view #app{min-height:100vh}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--ui-subtle,var(--noc-soft,var(--auth-canvas)))}
.auth-shell-login{position:relative;isolation:isolate;place-items:center end;padding:clamp(24px,6vw,88px);background:rgb(8 19 31) url('/assets/auth/data-center-signin.jpg') center/cover no-repeat}
.auth-shell-login::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(5,14,24,.52)}
.auth-shell-login .auth-card{width:min(100%,390px);padding:32px;border-color:rgba(255,255,255,.32);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 28px 70px rgba(0,0,0,.35);backdrop-filter:blur(16px)}
.auth-card{width:min(100%,420px);padding:36px;border:1px solid var(--ui-border,var(--noc-border,var(--auth-border)));border-radius:16px;background:var(--ui-surface,var(--noc-surface,var(--auth-surface)));box-shadow:0 16px 50px color-mix(in srgb,var(--ui-text,var(--noc-ink,var(--auth-text))) 10%,transparent)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-brand .auth-mark{flex:0 0 auto;margin:0}.auth-brand div{display:grid;gap:2px;min-width:0}.auth-brand b{color:var(--ui-text,var(--noc-ink,var(--auth-text)));font-size:18px;line-height:1.1}.auth-brand span{color:var(--ui-muted,var(--noc-muted,var(--auth-muted)));font-size:11px;line-height:1.3}
.auth-mark{display:block;margin-bottom:28px}
.auth-eyebrow{margin:0 0 8px;color:var(--ui-accent,var(--noc-accent,var(--auth-accent)));font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.auth-card h1{margin:0;color:var(--ui-text,var(--noc-ink,var(--auth-text)));font-size:28px;line-height:1.2}
.auth-subtitle{margin:10px 0 28px;color:var(--ui-muted,var(--noc-muted,var(--auth-muted)));line-height:1.5}
.auth-form{display:grid;gap:18px}
.auth-form label:not(.auth-remember){display:grid;gap:7px;color:var(--ui-text,var(--noc-ink,var(--auth-text)));font-size:13px;font-weight:650}
.auth-form input:not([type=checkbox]){min-height:44px;padding:0 12px;border:1px solid var(--ui-border,var(--noc-border,var(--auth-border)));border-radius:8px;background:var(--ui-surface,var(--noc-surface,var(--auth-surface)));color:var(--ui-text,var(--noc-ink,var(--auth-text)));font:inherit}
.auth-password-field{position:relative;display:block}.auth-password-field input{width:100%;padding-right:76px}.auth-password-field button{position:absolute;right:8px;top:50%;min-width:58px;min-height:34px;transform:translateY(-50%);border:0;border-radius:7px;background:transparent;color:var(--ui-accent,var(--noc-accent,var(--auth-accent)));font:inherit;font-size:12px;font-weight:700;cursor:pointer}.auth-password-field button:hover,.auth-password-field button:focus-visible{background:color-mix(in srgb,var(--ui-accent,var(--noc-accent,var(--auth-accent))) 10%,transparent);outline:none}
.auth-form input:focus-visible,.session-logout:focus-visible{outline:3px solid color-mix(in srgb,var(--ui-accent,var(--noc-accent,var(--auth-accent))) 28%,transparent);outline-offset:2px}
.auth-remember{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ui-muted,var(--noc-muted,var(--auth-muted)));font-size:13px}
.auth-remember input{width:18px;height:18px;margin:0}
.auth-error{min-height:20px;margin:-6px 0 0;color:var(--ui-danger,var(--noc-danger,var(--auth-danger)));font-size:13px}
.auth-submit{width:100%;min-height:44px;justify-content:center}
.auth-text-action{display:flex;min-height:44px;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ui-accent,var(--noc-accent,var(--auth-accent)));font:inherit;font-size:13px;font-weight:650;text-align:center;text-decoration:none;cursor:pointer}.auth-text-action:hover{text-decoration:underline}.auth-text-action:focus-visible{outline:3px solid color-mix(in srgb,var(--ui-accent,var(--noc-accent,var(--auth-accent))) 28%,transparent);outline-offset:2px}
.session-logout{min-height:32px;margin-left:auto;padding:0 9px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.session-logout:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.invite-summary{display:grid;gap:8px;margin:20px 0}.invite-summary div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--ui-border,var(--noc-line,var(--auth-border)))}.invite-summary dt{color:var(--ui-muted,var(--noc-muted,var(--auth-muted)))}.invite-summary dd{margin:0;font-weight:650;text-align:right}
.workspace-switcher{display:grid;min-width:0;margin:0 6px 0 0;padding:6px 8px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:7px;background:transparent;color:inherit;text-align:left;cursor:pointer}.workspace-switcher span,.workspace-switcher small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-switcher small{opacity:.7;font-size:10px}.workspace-dialog{width:min(440px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 32px));padding:0;border:1px solid var(--ui-border,var(--noc-line,var(--auth-border)));border-radius:14px;background:var(--ui-surface,var(--noc-surface,var(--auth-surface)));color:var(--ui-text,var(--noc-ink,var(--auth-text)));box-shadow:0 24px 80px rgb(15 23 42 / .22)}.workspace-dialog::backdrop{background:rgb(15 23 42 / .42)}.workspace-dialog-card{display:grid;gap:14px;padding:18px}.workspace-dialog-card header{display:flex;align-items:center;justify-content:space-between}.workspace-dialog-card h2{margin:2px 0 0;font-size:18px}.workspace-dialog-card header button{min-width:44px;min-height:44px;border:0;background:transparent;font-size:24px}.workspace-dialog-card label{display:grid;gap:6px;font-size:12px;color:var(--ui-muted,var(--noc-muted,var(--auth-muted)))}.workspace-dialog-card input{min-height:44px;padding:0 12px;border:1px solid var(--ui-border,var(--noc-line,var(--auth-border)));border-radius:8px;font:inherit}.workspace-list{display:grid;gap:6px;overflow:auto}.workspace-list button{display:grid;min-height:52px;padding:9px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.workspace-list button:hover,.workspace-list button:focus-visible{background:var(--ui-subtle,var(--noc-soft,var(--auth-canvas)));border-color:var(--ui-border,var(--noc-line,var(--auth-border)))}.workspace-list button[aria-current=true]{border-color:var(--ui-accent,var(--noc-accent,var(--auth-accent)));background:color-mix(in srgb,var(--ui-accent,var(--noc-accent,var(--auth-accent))) 8%,transparent)}.workspace-list small{color:var(--ui-muted,var(--noc-muted,var(--auth-muted)))}
.auth-register{display:block;min-height:44px;margin-top:16px;padding:12px;border:1px solid var(--ui-border,var(--noc-border,var(--auth-border)));border-radius:8px;color:var(--ui-accent,var(--noc-accent,var(--auth-accent)));font-size:13px;font-weight:650;text-align:center;text-decoration:none}.auth-register:hover{background:var(--ui-subtle,var(--noc-soft,var(--auth-canvas)))}.auth-register:focus-visible{outline:3px solid color-mix(in srgb,var(--ui-accent,var(--noc-accent,var(--auth-accent))) 28%,transparent);outline-offset:2px}
@media(max-width:45rem){.is-authentication-view .auth-shell-login{place-items:end center;padding:18px;background-position:58% center}.is-authentication-view .auth-shell-login::before{background:rgba(5,14,24,.56)}.is-authentication-view .auth-shell-login .auth-card{padding:26px 22px;border-radius:20px}}
@media(max-width:520px){.auth-shell{padding:16px}.auth-card{padding:28px 22px;border-radius:12px}.auth-brand{margin-bottom:24px}.is-authentication-view #app .auth-shell-login{padding:14px}.is-authentication-view #app .auth-shell-login .auth-card{width:100%;padding:24px 20px;border-radius:18px}.is-authentication-view #app .auth-shell-login .auth-brand{margin-bottom:18px}}
