/* Variables */
:root {
    --bg: #2f2f2f;

    --bg-card: #1e1e1e;

    --text: #e6eef8;
    --text-muted: #b3b7bc;

    --text-invert: #1e1e1e;

    --accent: #fed586;

    --danger: #ffb3b3;
    --danger-bg: #ff50501f;

    --success: #bffbe4;
    --success-bg: #6ee7b71f;
}


/* Main styles */
* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

body {
    font-family: Roboto, sans-serif;
    background: var(--bg);
    color: var(--text);
    display: grid;
    place-items: center;
    padding: 16px;
    min-height: 100vh;
    margin: 0
}



.card { background-color: var(--bg-card); padding: 16px; border-radius: 8px; width: 100%; max-width: 420px }


h1 { margin: 0 0 8px 0; font-size: 20px }
p.lead { margin: 0 0 16px 0; color: var(--text-muted); font-size: 14px }

.input { width: 100%; padding: 16px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.06); background: rgba(255, 255, 255, 0.02); color: inherit; margin-bottom: 10px; box-sizing: border-box }
.btn { width: 100%; padding: 16px; border-radius: 8px; border: 0; background: var(--accent); color: var(--text-invert); font-weight: 600; cursor: pointer }

.muted { color: var(--text-muted); font-size: 12px; margin-top: 10px }

.msg { padding: 16px; border-radius: 8px; margin-bottom: 16px; font-size: 14px }

.error { background: var(--danger-bg); color: var(--danger); border: 1px solid var(--danger-bg) }
.success { background: var(--success-bg); color: var(--success); border: 1px solid var(--success-bg) }

footer { margin-top: 14px; font-size: 12px; color: var(--text-muted); }