*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f5f6f8;color:#18202a}
a{color:inherit}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card,.install-card{width:min(100%,460px);background:#fff;padding:28px;border:1px solid #e2e5e9;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.install-card{width:min(100%,620px)}
label{display:block;margin-top:16px;margin-bottom:6px;font-weight:700}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfd5dc;border-radius:8px;font:inherit}
button,.button-link{display:inline-block;margin-top:18px;padding:11px 16px;border:0;border-radius:8px;background:#18202a;color:white;font-weight:700;cursor:pointer;text-decoration:none}
.button-secondary{margin:0;background:white;color:#18202a;border:1px solid #cfd5dc}
.muted{color:#69727d}
.alert{padding:12px 14px;border-radius:8px;margin:14px 0}
.alert-error{background:#fff0f0;border:1px solid #f0b6b6}
.alert-success{background:#eef9f1;border:1px solid #b8dfc2}
.topbar{background:#fff;border-bottom:1px solid #e2e5e9;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar strong{margin-right:14px}
.container{max-width:1100px;margin:0 auto;padding:28px 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:22px 0}
.card{background:#fff;border:1px solid #e2e5e9;border-radius:12px;padding:18px}
.card h2{margin-top:0}
.badge{display:inline-block;background:#eef1f4;border-radius:999px;padding:6px 10px;font-size:13px}
small{display:block;margin-top:6px;color:#69727d}
