/* Premium self-hosted installer and authentication surfaces. External CSS only. */
:root{--auth-glow:#806be8;--auth-line:color-mix(in srgb,var(--border),transparent 8%)}
.installer-body{background:radial-gradient(ellipse 70% 50% at 80% 8%,#8e65e722,transparent 75%),var(--bg)}
.installer-main{display:grid;place-items:center;padding:50px 24px 65px}
.installer-shell{width:min(100%,850px)}
.installer-header{text-align:center;margin-bottom:24px}
.installer-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.2rem;margin-bottom:24px}
.installer-brand>span:last-child{font-size:.72rem;padding:4px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-weight:700;letter-spacing:.07em}
.installer-brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(130deg,#7768e8,#ae7cf5);color:#fff}
.installer-progress-caption{font-size:.76rem;letter-spacing:.16em;font-weight:800;color:var(--primary)}
.installer-header h1{font-size:clamp(2rem,4.2vw,3.1rem);margin:14px 0 10px}
.installer-header p{margin:0}
.installer-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:30px auto 0}
.installer-step{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:.73rem;color:var(--muted);font-weight:700}
.installer-step-number{width:36px;height:36px;border:1px solid var(--border);border-radius:100px;display:grid;place-items:center;background:var(--surface)}
.installer-step.is-current{color:var(--text)}
.installer-step.is-current .installer-step-number{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 5px 18px #7766f066}
.installer-step.is-complete .installer-step-number{background:#207e66;color:#fff;border-color:#207e66}
.installer-panel{border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);padding:clamp(22px,5vw,49px)}
.installer-panel h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:11px 0 12px}
.installer-panel>p{max-width:700px}
.installer-panel .field{margin:0 0 19px;display:flex;flex-direction:column;gap:8px}
.installer-panel .field>span:first-child{color:var(--text);font-weight:720;font-size:.85rem}
.installer-panel input:not([type=checkbox]){width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--bg-elev);color:var(--text)}
.installer-panel input:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}
.installer-panel .button-full{min-height:50px;margin-top:12px}
.installer-two{display:grid;grid-template-columns:1.7fr .8fr;gap:16px}
.installer-checks{display:grid;gap:8px;margin:25px 0}
.installer-check{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 15px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev)}
.installer-check>span{font-size:.88rem}
.installer-check strong{font-size:.75rem;white-space:nowrap}
.check-good{color:#58d9ad}.check-bad{color:#ff9c91}
.installer-review{display:grid;gap:0;margin:22px 0}
.installer-review>div{display:grid;grid-template-columns:135px 1fr;gap:15px;border-bottom:1px solid var(--border);padding:12px 4px}
.installer-review dt{color:var(--muted);font-size:.83rem}
.installer-review dd{margin:0;font-weight:680;overflow-wrap:anywhere}
.installer-warning{padding:14px 17px;border:1px solid var(--border);background:var(--bg-elev);border-radius:12px;color:var(--muted);font-size:.85rem;line-height:1.65}
.installer-approval{display:flex;align-items:flex-start;gap:13px;cursor:pointer;margin-top:24px;font-size:.89rem}
.installer-approval input{margin:5px 0 0}
.installer-hint,.installer-footer{font-size:.8rem;color:var(--muted)}
.installer-notice{padding:14px;margin-bottom:22px;border:1px solid #a8778766;background:#a8778715;border-radius:11px;color:var(--text)}
.installer-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:23px}

/* Authentication workspace */
.auth-premium{padding:70px 24px 100px;min-height:min(850px,calc(100vh - 80px));display:grid;align-items:center;background:radial-gradient(ellipse 40% 58% at 14% 26%,#6950d61b,transparent 95%)}
.auth-premium-shell{width:min(1100px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,1.05fr);gap:55px;align-items:center}
.auth-premium-intro{padding:20px 0}
.auth-premium-intro h2{font-size:clamp(2rem,3.5vw,3.6rem);margin:20px 0;max-width:510px}
.auth-premium-intro>p{font-size:1.02rem;line-height:1.8;max-width:455px}
.auth-proof-list{display:grid;gap:15px;padding:0;list-style:none;margin:33px 0 0}
.auth-proof-list li{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:.91rem}
.auth-proof-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;color:var(--secondary);border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.auth-premium-card{padding:clamp(25px,3.5vw,48px);background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}
.auth-premium-card h1{font-size:clamp(1.85rem,3vw,2.55rem);margin:13px 0 14px}
.auth-premium-card>p{font-size:.93rem;line-height:1.7}
.auth-premium-card form{margin-top:28px}
.auth-premium-card .field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.auth-premium-card .field>span:first-child{font-size:.85rem;font-weight:750;color:var(--text)}
.auth-premium-card input:not([type=checkbox]){min-height:48px;width:100%;border:1px solid var(--border);border-radius:11px;padding:12px 14px;background:var(--bg-elev);color:var(--text)}
.auth-premium-card input:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}
.auth-premium-card .button-full{min-height:50px}
.auth-premium-card .auth-foot{margin-top:24px;text-align:center;color:var(--muted);font-size:.9rem}
.auth-premium-card .auth-foot a{color:var(--primary);font-weight:750}
.auth-premium-card .auth-foot a:hover{text-decoration:underline}
.auth-password-wrap{display:flex;align-items:center;position:relative}
.auth-password-wrap input:not([type=checkbox]){padding-right:73px}
.auth-password-toggle{position:absolute;right:9px;min-height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.78rem;padding:4px 10px}
.auth-mini-action{display:flex;justify-content:flex-end;margin:-3px 0 16px;font-size:.84rem}
.auth-mini-action a{color:var(--primary);font-weight:720}
.auth-password-hint{font-size:.76rem;color:var(--muted);margin:-8px 0 17px}
.auth-premium-back{display:inline-flex;align-items:center;gap:7px;margin-top:20px;color:var(--primary);font-size:.88rem}
@media(max-width:900px){.auth-premium-shell{grid-template-columns:1fr;max-width:580px;gap:25px}.auth-premium-intro{padding:0}.auth-premium-intro h2{font-size:2rem;margin:10px 0}.auth-proof-list{grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.auth-proof-list li{font-size:.74rem;align-items:flex-start}.auth-proof-icon{display:none}.auth-premium{padding:32px 20px 64px}}
@media(max-width:560px){.installer-main{padding:25px 14px 40px}.installer-panel{padding:22px 18px}.installer-steps{gap:3px}.installer-step{font-size:.56rem}.installer-step-number{width:30px;height:30px}.installer-two{grid-template-columns:1fr;gap:0}.installer-review>div{grid-template-columns:90px 1fr}.auth-premium{padding:21px 14px 50px}.auth-premium-card{padding:24px 19px}.auth-premium-intro h2{font-size:1.75rem}.auth-proof-list{grid-template-columns:1fr}.auth-premium-shell{gap:18px}}
@media(prefers-reduced-motion:reduce){.auth-premium *, .installer-panel *{transition:none!important}}
