* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    font-family: Arial, Helvetica, sans-serif;
    color: #fff;
    background: radial-gradient(circle at top, #27365c, #0b1020 55%, #05070d);
}
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.card {
    width: 100%;
    max-width: 560px;
    padding: 42px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    background: rgba(10, 15, 30, .82);
    box-shadow: 0 25px 80px rgba(0,0,0,.45);
    text-align: center;
}
.form-card { max-width: 460px; text-align: left; }
.badge {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    color: #f7c96b;
    background: rgba(247,201,107,.12);
    font-weight: bold;
}
h1 { margin: 18px 0 12px; font-size: 44px; }
p { color: #cbd3e8; font-size: 17px; line-height: 1.6; }
.actions { display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }
.btn {
    display: inline-block;
    padding: 14px 20px;
    border-radius: 12px;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.16);
    color: #fff;
    background: rgba(255,255,255,.08);
    font-weight: bold;
    cursor: pointer;
}
.btn.primary { background: linear-gradient(135deg, #f7c96b, #d9902f); color: #191000; border: none; }
.btn.full { width: 100%; text-align: center; margin-top: 16px; }
.back { color: #cbd3e8; text-decoration: none; }
label { display: block; margin-top: 14px; margin-bottom: 7px; color: #dce3f7; font-weight: bold; }
input {
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.08);
    color: #fff;
    outline: none;
}
input:focus { border-color: #f7c96b; }
.alert { padding: 14px; border-radius: 12px; margin: 18px 0; line-height: 1.5; }
.alert.success { background: rgba(75, 181, 67, .18); border: 1px solid rgba(75, 181, 67, .35); }
.alert.error { background: rgba(220, 64, 64, .18); border: 1px solid rgba(220, 64, 64, .35); }
@media (max-width: 520px) {
    .card { padding: 26px; }
    h1 { font-size: 34px; }
}
