:root{--bg:#090b0d;--sidebar:#0d1013;--panel:#12161a;--panel2:#171c21;--panel3:#1d2329;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--text:#f3f6f7;--soft:#b0bac1;--muted:#707b83;--accent:#52c1af;--accent2:#77dacb;--accentSoft:rgba(82,193,175,.12);--danger:#ff6a6a;--dangerSoft:rgba(255,106,106,.11);--warning:#e4b65c;--warningSoft:rgba(228,182,92,.11);--success:#65c98f;--radius:16px;--radiusSm:11px;--shadow:0 24px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 68% -15%,rgba(82,193,175,.09),transparent 34%),var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}a{color:inherit}button,input,select{font:inherit}.installer-app{min-height:100vh;display:grid;grid-template-columns:292px minmax(0,1fr)}.installer-sidebar{position:sticky;top:0;height:100vh;padding:28px 22px;background:rgba(13,16,19,.92);border-right:1px solid var(--line);backdrop-filter:blur(20px);display:flex;flex-direction:column}.installer-brand{display:flex;align-items:center;gap:12px;text-decoration:none;padding:0 6px 26px}.brand-mark{width:44px;height:44px;border:2px solid var(--accent);border-radius:13px;display:grid;place-items:center;color:var(--accent);font-weight:900;letter-spacing:.05em;background:rgba(82,193,175,.06)}.installer-brand strong{display:block;font-size:14px}.installer-brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.steps{list-style:none;margin:0;padding:0;display:grid;gap:5px}.steps li{display:flex;gap:12px;align-items:center;padding:10px;border-radius:11px;color:var(--muted)}.steps li>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line2);font-size:11px;font-weight:800;flex:none}.steps strong,.steps small{display:block}.steps strong{font-size:12px}.steps small{font-size:10px;margin-top:1px}.steps .current{background:var(--accentSoft);color:var(--text)}.steps .current>span{background:var(--accent);border-color:var(--accent);color:#07100e}.steps .complete{color:var(--soft)}.steps .complete>span{border-color:rgba(82,193,175,.35);color:var(--accent)}.sidebar-note{margin-top:auto;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.sidebar-note strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.sidebar-note p{margin:6px 0 0;color:var(--muted);font-size:11px}.installer-main{width:min(1040px,calc(100% - 48px));margin:0 auto;padding:46px 0 80px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-header h1{font-size:30px;letter-spacing:-.035em;margin:2px 0 0}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.13em;color:var(--accent);font-weight:800;font-size:10px}.status-chip{padding:7px 10px;border:1px solid var(--line2);border-radius:999px;color:var(--soft);font-size:11px;background:rgba(255,255,255,.025)}.card{background:linear-gradient(180deg,rgba(255,255,255,.015),transparent),var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:25px;margin-bottom:16px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.card h2{margin:0;font-size:19px;letter-spacing:-.02em}.card-head p,.card>p{margin:5px 0 0;color:var(--soft)}.hero-card{display:grid;grid-template-columns:1fr 150px;align-items:center;min-height:220px;padding:34px;background:linear-gradient(120deg,rgba(82,193,175,.14),transparent 50%),var(--panel)}.hero-card h2{font-size:31px;max-width:620px}.hero-card p:not(.eyebrow){max-width:630px;font-size:15px}.hero-glyph{width:128px;height:128px;display:grid;place-items:center;border:1px solid rgba(82,193,175,.28);border-radius:36px;color:var(--accent);font-size:28px;font-weight:900;letter-spacing:.08em;transform:rotate(5deg);background:rgba(82,193,175,.05)}.check-list{display:grid;gap:8px}.check-row{display:flex;align-items:center;gap:12px;padding:12px 13px;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:11px}.check-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-weight:900;flex:none}.check-row strong,.check-row small{display:block}.check-row small{color:var(--muted);font-size:11px;margin-top:2px}.check-state{margin-left:auto;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.check-row.pass .check-icon{background:rgba(101,201,143,.12);color:var(--success)}.check-row.pass .check-state{color:var(--success)}.check-row.fail .check-icon{background:var(--dangerSoft);color:var(--danger)}.check-row.fail .check-state{color:var(--danger)}.check-row.warn .check-icon{background:var(--warningSoft);color:var(--warning)}.check-row.warn .check-state{color:var(--warning)}.actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px}.actions.in-card{padding-top:22px;border-top:1px solid var(--line);margin-top:25px}.button{min-height:42px;padding:0 18px;border-radius:10px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;cursor:pointer}.button.primary{background:var(--accent);color:#07100e}.button.primary:hover{background:var(--accent2)}.button.secondary{background:var(--panel2);border-color:var(--line2);color:var(--text)}.button.disabled{opacity:.38;pointer-events:none}.alert{padding:14px 16px;border-radius:12px;margin-bottom:16px;display:grid;gap:3px}.alert strong{font-size:12px}.alert span{font-size:12px}.alert.danger{background:var(--dangerSoft);border:1px solid rgba(255,106,106,.28);color:#ffc2c2}.form-card{padding:29px}.form-grid{display:grid;gap:17px}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;gap:7px}.field>span,.choice-set legend{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);font-weight:800}.field input,.field select{width:100%;min-height:43px;border-radius:10px;border:1px solid var(--line2);background:#0d1114;color:var(--text);padding:0 12px}.field input:focus,.field select:focus{outline:2px solid rgba(82,193,175,.2);border-color:var(--accent)}.field small{color:var(--muted);font-size:10px}.field.span-two{grid-column:span 2}.field.compact{max-width:260px;margin-top:18px}.input-suffix{display:flex}.input-suffix input{border-radius:10px 0 0 10px}.input-suffix b{display:flex;align-items:center;padding:0 12px;border:1px solid var(--line2);border-left:0;border-radius:0 10px 10px 0;background:var(--panel3);font-size:11px;color:var(--soft)}.choice-set{border:0;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:11px}.choice-set legend{grid-column:1/-1;margin-bottom:7px}.choice-card{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.018);cursor:pointer}.choice-card input{accent-color:var(--accent);margin-top:3px}.choice-card strong,.choice-card small{display:block}.choice-card small{color:var(--muted);margin-top:3px;font-size:11px}.choice-card:has(input:checked){border-color:rgba(82,193,175,.55);background:var(--accentSoft)}.callout,.privacy-note{padding:15px;border-radius:11px;background:var(--accentSoft);border:1px solid rgba(82,193,175,.22);margin-top:20px}.callout strong,.privacy-note strong{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}.callout p,.privacy-note p{margin:5px 0 0;color:var(--soft);font-size:12px}.callout.warning{background:var(--warningSoft);border-color:rgba(228,182,92,.25)}.callout.warning strong{color:var(--warning)}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.module-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018);cursor:pointer}.module-card>input{position:absolute;opacity:0}.module-check{width:25px;height:25px;border:1px solid var(--line2);border-radius:7px;display:grid;place-items:center;color:transparent;flex:none}.module-card strong,.module-card small{display:block}.module-card small{color:var(--muted);font-size:11px;margin-top:3px}.module-card em{display:inline-flex;margin-top:8px;font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.module-card:has(input:checked){border-color:rgba(82,193,175,.35);background:var(--accentSoft)}.module-card:has(input:checked) .module-check{background:var(--accent);border-color:var(--accent);color:#07100e}.text-button{border:0;background:none;color:var(--accent);font-weight:800;cursor:pointer}.toggle-list{display:grid;gap:10px}.toggle-row{display:flex;align-items:center;gap:20px;padding:17px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018);cursor:pointer}.toggle-row span{flex:1}.toggle-row strong,.toggle-row small{display:block}.toggle-row small{color:var(--muted);font-size:11px;margin-top:3px}.toggle-row input{position:absolute;opacity:0}.toggle-row i{width:42px;height:23px;border-radius:999px;background:#252c31;position:relative;transition:.2s}.toggle-row i:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:#8a959c;border-radius:50%;transition:.2s}.toggle-row:has(input:checked) i{background:var(--accent)}.toggle-row:has(input:checked) i:before{left:22px;background:#07100e}.user-block{border:1px solid var(--line);border-radius:13px;padding:18px;margin-top:12px;background:rgba(255,255,255,.015)}.user-block-head{display:flex;align-items:center;gap:11px;margin-bottom:16px}.user-block-head>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--accentSoft);color:var(--accent);font-weight:900}.user-block-head strong,.user-block-head small{display:block}.user-block-head small{color:var(--muted);font-size:10px}.checkbox-field{display:flex;grid-auto-flow:column;justify-content:start;align-items:center;align-self:end;padding-bottom:10px}.checkbox-field input{width:18px;min-height:18px;accent-color:var(--accent)}.checkbox-field span{text-transform:none;letter-spacing:0;font-size:11px}.review-layout{display:grid}.review-list{margin:0;display:grid}.review-list>div{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.review-list>div:last-child{border-bottom:0}.review-list dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.review-list dd{margin:0;font-weight:700}.compact-modules{display:flex;flex-wrap:wrap;gap:7px}.compact-modules span{padding:7px 10px;background:var(--panel3);border:1px solid var(--line);border-radius:999px;font-size:11px}.progress-card{padding:30px}.progress-percent{font-size:24px;font-weight:900;color:var(--accent)}.progress-track{height:8px;border-radius:999px;background:#090c0e;overflow:hidden;margin-bottom:20px}.progress-track span{height:100%;width:0;display:block;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s}.install-log{display:grid;gap:7px}.install-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.016)}.install-row .install-state{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:var(--panel3);font-weight:900}.install-row strong,.install-row small{display:block}.install-row small{color:var(--muted);font-size:10px}.install-row.active{border-color:rgba(82,193,175,.35);background:var(--accentSoft)}.install-row.active .install-state{color:var(--accent)}.install-row.done .install-state{background:rgba(101,201,143,.12);color:var(--success)}.install-row.failed{border-color:rgba(255,106,106,.3);background:var(--dangerSoft)}.install-row.failed .install-state{color:var(--danger)}.progress-error{margin-top:18px;padding:15px;border:1px solid rgba(255,106,106,.28);background:var(--dangerSoft);border-radius:12px}.progress-error p{color:#ffc2c2}.completion-card{text-align:center;padding:50px 30px}.completion-orbit{width:84px;height:84px;margin:0 auto 20px;border:1px solid rgba(82,193,175,.35);border-radius:29px;display:grid;place-items:center;transform:rotate(5deg);background:var(--accentSoft)}.completion-orbit span{font-size:34px;color:var(--accent);transform:rotate(-5deg)}.completion-card h2{font-size:31px}.completion-card>p:not(.eyebrow){max-width:650px;margin:10px auto;color:var(--soft)}.completion-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.locked-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.locked-card{max-width:540px;text-align:center;padding:40px}.locked-card .brand-mark{margin:0 auto 20px}.locked-card h1{font-size:27px}.locked-card p{color:var(--soft);margin-bottom:22px}@media(max-width:850px){.installer-app{display:block}.installer-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.steps{grid-template-columns:repeat(10,1fr);overflow:auto}.steps li{padding:5px;justify-content:center}.steps li div,.sidebar-note{display:none}.installer-main{width:min(100% - 28px,1040px);padding-top:26px}.module-grid,.form-grid.two,.choice-set{grid-template-columns:1fr}.field.span-two{grid-column:auto}.hero-card{grid-template-columns:1fr}.hero-glyph{display:none}}@media(max-width:560px){.installer-sidebar{padding:16px}.installer-brand{padding-bottom:13px}.page-header{align-items:flex-start}.status-chip{display:none}.card,.form-card{padding:19px}.hero-card h2,.completion-card h2{font-size:25px}.review-list>div{grid-template-columns:1fr;gap:3px}.completion-actions{flex-direction:column}.actions .button{flex:1}}

.identity-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line2);border-radius:999px;color:var(--soft);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:var(--panel3);white-space:nowrap}.identity-badge.linked{color:var(--accent);border-color:rgba(82,193,175,.35);background:var(--accentSoft)}.key-field input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.identity-toggle{margin-top:18px}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.identity-grid>div{padding:14px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.016)}.identity-grid span,.identity-grid strong{display:block}.identity-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.identity-grid strong{margin-top:5px;font-size:12px;word-break:break-word}@media(max-width:700px){.identity-grid{grid-template-columns:1fr}.identity-badge{display:none}}
