/* Login and first-run initialization */
.auth-body{min-height:100dvh;overflow:auto;background:#0a0e13}.auth-shell{display:grid;min-height:100dvh;grid-template-columns:minmax(380px,.9fr) minmax(520px,1.1fr)}.auth-context{position:relative;display:grid;min-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto auto;padding:38px 48px 28px;border-right:1px solid var(--line-soft);background:#0d1219;overflow:hidden}.auth-context::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(134,172,240,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(134,172,240,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent 8%,#000 38%,#000 72%,transparent 96%);pointer-events:none}.auth-context::after{content:"";position:absolute;width:340px;height:340px;right:-160px;top:18%;border:1px solid rgba(134,172,240,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(134,172,240,.025),0 0 0 110px rgba(134,172,240,.018);pointer-events:none}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:11px}.auth-brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:var(--surface-2);color:var(--accent-strong)}.auth-brand-mark svg{width:26px;stroke-width:2}.auth-brand>div{display:flex;flex-direction:column;gap:3px}.auth-brand strong{font-size:17px;letter-spacing:-.02em}.auth-brand small{color:var(--text-3);font-size:13px;letter-spacing:.12em}.auth-context-copy{position:relative;z-index:1;align-self:center;max-width:560px;margin-top:45px}.auth-context-copy>p{margin:0 0 9px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.08em}.auth-context-copy h1{margin:0;font-size:clamp(34px,3.4vw,53px);line-height:1.08;letter-spacing:-.045em;font-weight:620}.auth-context-copy>span{display:block;max-width:500px;margin-top:18px;color:var(--text-2);font-size:13px;line-height:1.8;text-wrap:pretty}.auth-route-preview{position:relative;z-index:1;display:grid;margin:28px 0 22px;padding:0;border-top:1px solid var(--line-soft);list-style:none}.auth-route-preview li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:11px;min-height:54px;border-bottom:1px solid var(--line-soft)}.auth-route-preview li>b{color:var(--text-3);font:13px ui-monospace,SFMono-Regular,Consolas,monospace}.auth-route-preview li>span{display:flex;flex-direction:column;gap:4px}.auth-route-preview strong{font-size:13px;font-weight:600}.auth-route-preview small{color:var(--text-3);font-size:13px}.auth-context>footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;color:var(--text-3);font-size:13px}.auth-system-state{display:flex;align-items:center;gap:6px;color:var(--text-2)}.auth-system-state i{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(134,185,160,.07)}
.auth-system-state:not(.available):not(.unavailable) i{background:var(--text-3);box-shadow:none}.auth-system-state.unavailable{color:var(--danger)}.auth-system-state.unavailable i{background:var(--danger);box-shadow:0 0 0 4px rgba(224,126,126,.08)}
.auth-entry{display:grid;min-height:100dvh;grid-template-rows:minmax(0,1fr) auto;place-items:center;padding:38px 50px 24px;background:radial-gradient(circle at 78% 8%,rgba(72,95,132,.09),transparent 30%),var(--bg)}.auth-card{width:min(100%,470px);align-self:center}.auth-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.auth-card-header>div{display:flex;flex-direction:column}.auth-card-header>div>span{color:var(--accent);font-size:13px;font-weight:600}.auth-card-header h2{margin:6px 0 0;font-size:28px;line-height:1.1;letter-spacing:-.035em}.auth-card-header p{margin:8px 0 0;color:var(--text-3);font-size:13px}.auth-environment{padding:5px 7px;border:1px solid var(--line);border-radius:4px;background:var(--bg-elevated);color:var(--text-3)!important;font-size:13px!important}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--bg-elevated)}.auth-mode-switch button{height:32px;border:0;border-radius:5px;background:transparent;color:var(--text-3);font-size:13px;transition:background .2s,color .2s}.auth-mode-switch button.active{background:var(--surface-3);color:var(--accent-strong)}.auth-form{padding:16px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface)}.auth-form>label,.initialize-grid>label,.auth-space-option label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.auth-form label>span,.initialize-grid label>span{color:var(--text-2);font-size:13px;font-weight:500}.auth-form input{width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg-elevated);color:var(--text);font-size:13px}.auth-form input:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.auth-password{display:grid;grid-template-columns:minmax(0,1fr) 48px}.auth-password input{border-radius:6px 0 0 6px}.auth-password button{border:1px solid var(--line);border-left:0;border-radius:0 6px 6px 0;background:var(--surface-2);color:var(--text-3);font-size:13px}.auth-space-option{margin:2px 0 11px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:6px;background:var(--bg-elevated)}.auth-space-option summary{cursor:pointer;color:var(--text-3);font-size:13px}.auth-space-option label{margin:9px 0 0}.auth-space-option small,.initialize-grid label small{color:var(--text-3);font-size:13px}.auth-form-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.auth-remember{display:flex;align-items:center;gap:6px}.auth-remember input{width:13px;height:13px}.auth-remember span{color:var(--text-3);font-size:13px}.auth-form-row>button{border:0;background:transparent;color:var(--accent);font-size:13px}.auth-inline-error{margin:0 0 10px;padding:8px;border-left:2px solid var(--danger);background:rgba(224,154,154,.07);color:var(--danger);font-size:13px}.auth-submit{display:flex;width:100%;height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent-strong);border-radius:6px;background:var(--accent-strong);color:#0b1118;font-size:13px;font-weight:700;transition:filter .2s,transform .15s}.auth-submit:hover{filter:brightness(1.06)}.auth-submit:active{transform:translateY(1px)}.auth-submit svg{width:14px;stroke-width:2}.auth-submit.loading svg{animation:spin 1s linear infinite}.initialize-note{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:9px;border-left:2px solid var(--accent);background:var(--bg-elevated)}.initialize-note b{font-size:13px}.initialize-note span{color:var(--text-3);font-size:13px;line-height:1.5}.initialize-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.initialize-grid .initialize-full{grid-column:1/-1}.auth-demo-accounts{margin-top:12px;padding:10px;border:1px dashed var(--line);border-radius:7px;background:rgba(16,21,29,.56)}.auth-demo-accounts>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.auth-demo-accounts header span{color:var(--text-2);font-size:13px}.auth-demo-accounts header small{color:var(--text-3);font-size:13px}.auth-demo-accounts>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.auth-demo-accounts button{display:flex;min-width:0;flex-direction:column;gap:3px;padding:7px;border:1px solid var(--line-soft);border-radius:5px;background:var(--bg-elevated);text-align:left}.auth-demo-accounts button:hover,.auth-demo-accounts button.active{border-color:var(--accent);background:var(--accent-soft)}.auth-demo-accounts b{font-size:13px}.auth-demo-accounts button span{overflow:hidden;width:100%;color:var(--text-3);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.auth-legal{align-self:end;display:flex;width:min(100%,470px);justify-content:space-between;color:var(--text-3);font-size:13px}.auth-legal b{font-weight:500;color:var(--text-2)}
@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-context{min-height:360px;grid-template-rows:auto 1fr auto;padding:28px 32px}.auth-context-copy{margin-top:32px}.auth-context-copy h1{font-size:36px}.auth-context-copy>span{max-width:620px}.auth-route-preview{display:none}.auth-entry{min-height:auto;padding:44px 28px 24px}.auth-card{align-self:start}.auth-context>footer{margin-top:28px}}
@media (max-width:560px){.auth-context{min-height:295px;padding:22px 20px}.auth-context-copy{margin-top:25px}.auth-context-copy h1{font-size:30px}.auth-context-copy>span{font-size:13px;line-height:1.65}.auth-context>footer>span:last-child{display:none}.auth-entry{padding:32px 16px 20px}.auth-card-header h2{font-size:24px}.auth-card-header p{max-width:240px;line-height:1.5}.auth-environment{display:none}.initialize-grid,.auth-demo-accounts>div{grid-template-columns:1fr}.initialize-grid .initialize-full{grid-column:1}.auth-demo-accounts button{padding:8px}.auth-legal{flex-direction:column;gap:5px;text-align:center}}
.auth-support-row>span{color:var(--text-3);font-size:13px}
.auth-card{width:min(100%,520px)}
.auth-form{padding:20px}
.auth-form input{height:42px;padding-inline:12px}
.auth-submit{height:44px}
.auth-space-field small{margin-left:5px;color:var(--text-3);font-size:13px;font-weight:400}
.auth-support-row{gap:12px}.auth-support-row>button{margin-left:auto;white-space:nowrap}
.auth-remember{flex-direction:row!important;margin:0!important}.auth-remember input{flex:0 0 auto;width:15px;height:15px}.auth-remember span{white-space:nowrap}
@media (max-width:560px){.auth-support-row{align-items:flex-start;flex-wrap:wrap}.auth-support-row>button{margin-left:0}}
.auth-context{grid-template-rows:auto minmax(0,1fr) auto}
.auth-context-state{align-self:end;width:min(100%,470px);padding:10px 12px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(17,23,32,.72);color:var(--text-3);font-size:13px;line-height:1.55}
.auth-legal-record{justify-content:center;text-align:center}
.auth-legal-consent{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:9px;margin:4px 0 12px!important;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--bg-elevated);cursor:pointer}
.auth-legal-consent>input{appearance:none;position:relative;width:18px!important;height:18px!important;margin:1px 0 0;padding:0;border:1px solid #5e6c7f;border-radius:4px;background:#0c121a;cursor:pointer}
.auth-legal-consent>input::after{position:absolute;left:4px;top:1px;width:7px;height:11px;border-right:2px solid #0b1118;border-bottom:2px solid #0b1118;content:"";opacity:0;transform:rotate(45deg)}
.auth-consent-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.auth-consent-copy b{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-2);font-size:13px}.auth-consent-copy b em{padding:2px 5px;border-radius:4px;background:rgba(224,154,154,.1);color:var(--danger);font-size:13px;font-style:normal;font-weight:500}.auth-consent-copy>span,.auth-consent-copy small{color:var(--text-3);font-size:13px;line-height:1.55}.auth-consent-copy a{color:var(--accent)}
.auth-legal-consent:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.auth-legal-consent>input:checked{border-color:var(--accent-strong);background:var(--accent-strong)}.auth-legal-consent>input:checked::after{opacity:1}.auth-legal-consent:has(input:checked) .auth-consent-copy b em{background:rgba(134,185,160,.11);color:var(--success)}
.auth-legal-consent:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.auth-legal-consent.invalid{border-color:var(--danger);background:rgba(224,154,154,.07)}
