:root {
    --bg: #0f1115;
    --card: #1a1e27;
    --card-border: #2a2f3a;
    --text: #e6e9ef;
    --muted: #99a1b3;
    --accent: #2f7bff;
    --accent-hover: #1f6bef;
    --error-bg: #3a1d22;
    --error-border: #6b2b34;
    --error-text: #ffb3bd;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--bg);
    color: var(--text);
    font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.page {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
}

.page--wide { align-items: flex-start; }

.card {
    width: 100%;
    max-width: 520px;
    background: var(--card);
    border: 1px solid var(--card-border);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.card--wide { max-width: 960px; }

h1 {
    margin: 0 0 8px;
    font-size: 1.6rem;
}

.lead {
    margin: 0 0 24px;
    color: var(--muted);
}

.form__label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
}

.form__input {
    width: 100%;
    padding: 12px 14px;
    font-size: 1.1rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: #0f131b;
    border: 1px solid var(--card-border);
    border-radius: 10px;
    color: var(--text);
}

.form__input--plain {
    text-transform: none;
    letter-spacing: normal;
    font-size: 1rem;
}

.form__label--spaced { margin-top: 16px; }
.form__submit--spaced { margin-top: 20px; }

.form__input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(47, 123, 255, 0.25);
}

.form__hint {
    margin: 8px 0 20px;
    font-size: 0.85rem;
    color: var(--muted);
}

.form__submit {
    width: 100%;
    padding: 13px 16px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #fff;
    background: var(--accent);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.form__submit:hover { background: var(--accent-hover); }

.alert {
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 0.95rem;
}

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

.note {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--card-border);
    font-size: 0.9rem;
    color: var(--muted);
}

.note ul { margin: 8px 0 0; padding-left: 20px; }
.note code { background: #0f131b; padding: 1px 5px; border-radius: 5px; font-size: 0.85em; }

/* Admin */
.admin-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.admin-links { display: inline-flex; gap: 16px; }

.admin-back {
    color: var(--accent);
    text-decoration: none;
    font-size: 0.9rem;
}

.admin-back:hover { text-decoration: underline; }

.stats {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 20px 0 24px;
}

.stat {
    flex: 1;
    min-width: 120px;
    background: #0f131b;
    border: 1px solid var(--card-border);
    border-radius: 10px;
    padding: 14px 16px;
}

.stat__num { display: block; font-size: 1.5rem; font-weight: 700; }
.stat__label { font-size: 0.8rem; color: var(--muted); }

.table-wrap { overflow-x: auto; }

.log-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.log-table th,
.log-table td {
    text-align: left;
    padding: 9px 12px;
    border-bottom: 1px solid var(--card-border);
    white-space: nowrap;
}

.log-table th {
    color: var(--muted);
    font-weight: 600;
    position: sticky;
    top: 0;
    background: var(--card);
}

.log-table tbody tr:hover { background: rgba(255, 255, 255, 0.03); }

.mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; }
.log-table .strong { font-weight: 700; }
.via { color: var(--muted); font-size: 0.8em; margin-left: 4px; }

/* Footer */
.site-footer {
    text-align: center;
    padding: 18px;
    color: var(--muted);
    font-size: 0.85rem;
}

.site-footer--acc {
    background: #c1121f;
    color: #fff;
}

.site-footer__badge {
    font-weight: 600;
}

.site-footer__copy { margin-left: 4px; }
