:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.auth-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#eef3ff,#f9fbff)}.card{background:#fff;border:1px solid #e4e8f0;border-radius:18px;box-shadow:0 16px 50px rgba(22,35,70,.08)}.auth-card{width:min(440px,92vw);padding:32px}.brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#173c7c;color:#fff;font-weight:800;font-size:24px}.muted{color:#67738a}label{display:block;font-weight:600;margin:18px 0 8px}input,select{width:100%;padding:12px 13px;border:1px solid #cfd6e4;border-radius:10px;font:inherit;margin-top:7px}button,.button{display:inline-block;border:0;border-radius:10px;background:#173c7c;color:white;padding:12px 18px;font-weight:700;text-decoration:none;cursor:pointer}.auth-card button{width:100%;margin:20px 0}.alert{padding:12px;border-radius:10px;margin:16px 0}.error{background:#fff0f0;color:#9c2020}.success{background:#eefaf2;color:#176736}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:#fff;border-bottom:1px solid #e2e6ee}.topbar span{color:#68758a}.link-button{background:transparent;color:#173c7c;padding:6px}.container{max-width:1180px;margin:auto;padding:32px}.hero{background:#173c7c;color:#fff;border-radius:20px;padding:32px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;opacity:.75}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:22px}.panel{background:white;border:1px solid #e1e6ef;border-radius:16px;padding:22px}.installer{max-width:900px;margin:35px auto;padding:0 18px}.installer-head{margin-bottom:20px}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.step{padding:8px 11px;border-radius:999px;background:#e8edf6;font-size:12px}.step.active{background:#173c7c;color:white}.install-card{background:#fff;border:1px solid #dfe5ef;border-radius:18px;padding:28px}.check{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f5;padding:11px 0}.ok{color:#197344;font-weight:700}.bad{color:#a22d2d;font-weight:700}.actions{display:flex;justify-content:space-between;margin-top:24px;gap:10px}.actions button,.actions .button{width:auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media(max-width:650px){.two-col{grid-template-columns:1fr}}
