:root{--bg:#eef3f9;--panel:#fff;--text:#172033;--muted:#6b778c;--line:#dfe6ef;--primary:#4d55f5;--primary2:#6c5ce7;--danger:#b42318;--shadow:0 24px 70px rgba(29,52,84,.14)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 12% 8%,#e5e9ff 0,transparent 38%),radial-gradient(circle at 90% 84%,#eee7ff 0,transparent 34%),var(--bg)}button,input,select,textarea{font:inherit}.install-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:54px 0}.install-hero{display:flex;align-items:center;gap:22px;margin-bottom:26px}.brand-mark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#5f67ff,#473ce4);color:#fff;font-size:30px;font-weight:800;box-shadow:0 18px 42px rgba(65,88,210,.3)}.eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.2em;font-weight:800;color:#315ba8}.install-hero h1,.login-brand h1{margin:0 0 10px;font-size:32px;letter-spacing:-.03em}.install-hero p,.login-brand p{margin:0;color:var(--muted);line-height:1.75}.install-card,.login-card{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:32px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.step-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.step-head span{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--primary)}.step-head h2{margin:6px 0 0;font-size:24px}.version{padding:7px 12px;border-radius:999px;background:#eef4ff;color:#315ba8;font-size:12px;font-weight:700}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.check-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe}.check-item>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:900}.check-item.ok>span{background:#eaf8f0;color:#15803d}.check-item.bad>span{background:#fff1f0;color:#b42318}.check-item strong,.check-item small{display:block}.check-item strong{font-size:14px}.check-item small{font-size:12px;color:var(--muted);margin-top:3px}.install-form{display:grid;gap:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-row.one{grid-template-columns:1fr}.install-form label{display:grid;gap:8px;font-size:14px;font-weight:700}.install-form input,.install-form select,.install-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;color:var(--text);outline:none;transition:.2s}.install-form input:focus,.install-form select:focus,.install-form textarea:focus{border-color:#7aa2ff;box-shadow:0 0 0 4px rgba(37,99,235,.1)}.primary-btn{appearance:none;border:0;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:12px 20px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(37,99,235,.24);text-decoration:none;text-align:center}.primary-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.alert{border-radius:13px;padding:12px 14px;margin-bottom:18px;font-size:14px}.alert.error{background:#fff2f0;border:1px solid #ffd0cc;color:#9f221b}.success-panel{text-align:center;padding:30px}.success-icon{width:74px;height:74px;border-radius:24px;margin:0 auto 18px;display:grid;place-items:center;background:#eaf8f0;color:#15803d;font-size:36px;font-weight:900}.success-panel h2{font-size:28px;margin:0 0 10px}.success-panel p{color:var(--muted);margin:0 0 24px}.install-shell footer{text-align:center;color:#7d8797;font-size:12px;margin-top:18px}.login-page{display:grid;place-items:center;min-height:100vh}.login-shell{width:min(1000px,calc(100% - 32px));display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.login-brand{padding:42px}.login-brand .brand-mark{margin-bottom:24px}.login-brand h1{font-size:40px}.feature-pills{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.feature-pills span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.8);font-size:13px;font-weight:700;color:#3c4e6d}.login-card{max-width:440px;width:100%;justify-self:end}.login-form{gap:16px}@media(max-width:900px){.check-grid{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr}.login-brand{padding:20px 10px}.login-card{justify-self:stretch;max-width:none}}@media(max-width:620px){.install-shell{padding:24px 0}.install-hero{align-items:flex-start}.install-hero h1,.login-brand h1{font-size:26px}.install-card,.login-card{padding:22px;border-radius:22px}.field-row,.check-grid{grid-template-columns:1fr}.brand-mark{width:52px;height:52px;border-radius:16px;font-size:26px}.login-brand{padding:10px}}
.secondary-link{display:block;text-align:center;color:var(--primary);text-decoration:none;font-size:13px;font-weight:750;margin-top:2px}.success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.secondary-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);padding:12px 20px;font-weight:800;text-decoration:none}
html[data-theme="dark"]{--bg:#0c1220;--panel:#131c2e;--text:#ecf2ff;--muted:#9aa9bd;--line:#2a3850;--primary:#7c8cff;--primary2:#8b6cff;--danger:#ff7a70;--shadow:0 24px 70px rgba(0,0,0,.35)}
html[data-theme="dark"] body{background:radial-gradient(circle at 12% 8%,#182044 0,transparent 38%),radial-gradient(circle at 90% 84%,#251d44 0,transparent 34%),var(--bg)}
html[data-theme="dark"] .install-card,html[data-theme="dark"] .login-card{background:rgba(19,28,46,.94);border-color:#2b3850}
html[data-theme="dark"] .check-item{background:#182337;border-color:#2b3850}
html[data-theme="dark"] .install-form input,html[data-theme="dark"] .install-form select,html[data-theme="dark"] .install-form textarea{background:#182337;color:var(--text);border-color:#2b3850}
html[data-theme="dark"] .feature-pills span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.09);color:#c7d4e8}
html[data-theme="dark"] .version{background:#1e2d50;color:#b9c9ff}
html[data-theme="dark"] .secondary-btn{background:#182337;border-color:#2b3850;color:#ecf2ff}
@media(max-width:620px){.success-actions{display:grid}.success-actions a{width:100%}}
