*, *::before, *::after { box-sizing: border-box; }
:root {
    --bg: #0f1216;
    --card: #171b21;
    --text: #e6e8ea;
    --muted: #9aa4af;
    --border: #2a3038;
    --brand: #980715;
    --brand-hover: #b7091b;
    --error: #ff6b6b;
    --input-bg: #0b0e12;
}
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    min-height: 100vh; -webkit-font-smoothing: antialiased; }
.page { display: grid; place-items: center; padding: 24px; min-height: 100vh; }
.card {
    background: var(--card); border: 1px solid var(--border); border-radius: 14px;
    padding: 32px; width: 100%; max-width: 400px;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
h1 { margin: 0 0 8px; font-size: 22px; letter-spacing: -0.01em; }
.muted { color: var(--muted); margin: 0 0 20px; }
.small { font-size: 13px; }
label { display: block; margin: 14px 0 6px; font-size: 14px; color: var(--muted); }
select, input[type="text"], input[type="tel"] {
    width: 100%; padding: 11px 12px; font-size: 16px; letter-spacing: 0.02em;
    background: var(--input-bg); color: var(--text); border: 1px solid var(--border); border-radius: 8px;
    outline: none;
}
input[type="text"]:focus, select:focus { border-color: var(--brand); }
input[name="otp"] { font-variant-numeric: tabular-nums; letter-spacing: 6px; text-align: center; font-size: 22px; }
.btn {
    margin-top: 18px; width: 100%; padding: 12px 16px; font-size: 15px; font-weight: 600;
    background: var(--brand); color: #fff; border: 0; border-radius: 8px; cursor: pointer;
    transition: background .15s ease;
}
.btn:hover { background: var(--brand-hover); }
.btn-secondary { background: transparent; border: 1px solid var(--border); color: var(--text); }
.btn-secondary:hover { background: var(--input-bg); }
.error { color: var(--error); margin: 10px 0; }
a { color: var(--text); }

@media (prefers-color-scheme: light) {
    :root {
        --bg: #f2f4f7; --card: #fff; --text: #14181d; --muted: #5d6570;
        --border: #d8dde3; --input-bg: #fff;
    }
}
