/* option-black-admin-v7.css — Heavy-Metal Heraldic chrome overlay over
 * the legacy v5 admin SPA styles. Loaded AFTER option-black-admin.css.
 * Re-targets the palette + adds carbon-fiber backdrop, chrome gradients,
 * gold accent treatment to bring the admin console up to the foyer's
 * aesthetic floor without touching 2,662 lines of admin JS.
 */

:root {
    /* v7 palette — overrides the v5 admin variables */
    --void:        #07080A !important;
    --smoke:       #0E1014 !important;
    --smoke-up:    #15171C !important;
    --line:        rgba(200, 202, 208, 0.10) !important;
    --line-hi:     rgba(200, 202, 208, 0.22) !important;
    --ivory:       #F2F4F8 !important;
    --ivory-soft:  #B6BAC2 !important;
    --ivory-dim:   #6E7178 !important;
    --ivory-mute:  #3E4046 !important;
    --brass:       #8B7355 !important;
    --brass-hi:    #D4A838 !important;
    --brass-soft:  rgba(139, 115, 85, 0.18) !important;
    --good:        #7BC47F !important;
    --warn:        #E4A44D !important;
    --bad:         #E07A4A !important;

    --v7-display:  'Cinzel', 'Trajan Pro', 'Fraunces', Georgia, serif;
    --v7-steel:    linear-gradient(180deg, rgba(200, 202, 208, 0.18) 0%, rgba(50, 52, 58, 0.85) 50%, rgba(200, 202, 208, 0.18) 100%);
    --v7-gold:     linear-gradient(180deg, rgba(232, 200, 90, 0.25) 0%, rgba(139, 105, 20, 0.85) 50%, rgba(232, 200, 90, 0.25) 100%);
}

/* ─────────────────────── carbon-fiber backdrop ─────────────────────── */

body {
    background:
        repeating-linear-gradient(0deg,  rgba(255,255,255,0.012) 0px, rgba(255,255,255,0.012) 1px, transparent 1px, transparent 4px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.018) 0px, rgba(255,255,255,0.018) 1px, transparent 1px, transparent 4px),
        radial-gradient(ellipse 90vw 70vh at 50% -10%, rgba(74, 120, 176, 0.04), transparent 70%),
        linear-gradient(135deg, #0A0C10 0%, #07080A 40%, #0A0B0F 100%) !important;
    color: var(--ivory);
    font-family: 'Inter', system-ui, sans-serif;
}

/* ─────────────────────── topbar (chrome rail) ─────────────────────── */

.topbar {
    background:
        linear-gradient(180deg, rgba(200, 202, 208, 0.05) 0%, transparent 60%),
        rgba(14, 16, 20, 0.92) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line-hi) !important;
    padding: 18px 36px !important;
    position: relative;
}
.topbar::before {
    content: '';
    position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--brass) 35%, var(--brass-hi) 50%, var(--brass) 65%, transparent 100%);
    opacity: 0.4;
    pointer-events: none;
}

.topbar .monogram {
    font-family: var(--v7-display) !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    letter-spacing: 0.18em !important;
    background: linear-gradient(180deg, #E6E8EC 0%, #B8BAC0 60%, #6E7076 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 14px 28px rgba(0,0,0,0.6);
}
.topbar .monogram .dot {
    color: var(--brass-hi) !important;
    -webkit-text-fill-color: var(--brass-hi);
    padding: 0 4px !important;
}
.topbar .chip {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 9px !important;
    letter-spacing: 0.28em !important;
    color: var(--brass-hi) !important;
    border: 1px solid var(--brass) !important;
    background: var(--brass-soft);
    padding: 3px 10px !important;
    border-radius: 2px;
}

/* ─────────────────────── tabs (chrome rail buttons) ─────────────────────── */

.topbar .tab {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 10px !important;
    letter-spacing: 0.20em !important;
    color: var(--ivory-soft) !important;
    background: rgba(14, 16, 20, 0.4) !important;
    border: 1px solid var(--line) !important;
    padding: 9px 16px !important;
    border-radius: 4px;
    transition: border-color 240ms ease, color 240ms ease, background 240ms ease, transform 240ms ease;
    position: relative;
}
.topbar .tab:hover {
    color: var(--ivory) !important;
    border-color: var(--line-hi) !important;
    background: var(--smoke-up) !important;
}
.topbar .tab.active {
    color: var(--brass-hi) !important;
    border-color: var(--brass) !important;
    background:
        linear-gradient(180deg, rgba(232, 200, 90, 0.10) 0%, rgba(139, 105, 20, 0.20) 100%),
        var(--smoke-up) !important;
    box-shadow: 0 0 0 1px rgba(212, 168, 56, 0.15), 0 8px 22px -10px rgba(212, 168, 56, 0.45);
}
.topbar .tab.active::before {
    content: '';
    position: absolute; left: 1px; right: 1px; top: 1px; height: 1px;
    background: linear-gradient(90deg, transparent, var(--brass-hi), transparent);
}
.topbar .badge {
    background: var(--brass-hi) !important;
    color: var(--void) !important;
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 9px !important;
    letter-spacing: 0 !important;
    padding: 1px 7px !important;
    border-radius: 999px;
    margin-left: 6px;
    font-weight: 600;
}

.topbar .who {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 11px !important;
    color: var(--ivory-soft) !important;
    letter-spacing: 0.06em;
}

/* ─────────────────────── cards / panels ─────────────────────── */

.card, .state-card, .bench {
    background: var(--smoke-up) !important;
    border: 1px solid var(--line-hi) !important;
    border-radius: 6px !important;
    position: relative;
}
.card::before, .state-card::before, .bench::before {
    content: '';
    position: absolute; left: 1px; right: 1px; top: 1px; height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
    border-radius: 6px 6px 0 0;
    pointer-events: none;
}

.dash-stat {
    background: var(--smoke-up) !important;
    border: 1px solid var(--line-hi) !important;
    border-radius: 6px !important;
    position: relative;
    padding: 18px 22px !important;
}
.dash-stat::before {
    content: '';
    position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
    background: linear-gradient(180deg, var(--brass-hi), var(--brass));
    opacity: 0.7;
}

/* ─────────────────────── primary buttons (gold pill) ─────────────────────── */

button.primary, .btn-primary, button[type="submit"]:not(.tab) {
    font-family: var(--v7-display) !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: var(--brass-hi) !important;
    background:
        linear-gradient(180deg,
            rgba(232, 200, 90, 0.20) 0%,
            rgba(139, 105, 20, 0.85) 50%,
            rgba(232, 200, 90, 0.20) 100%),
        var(--smoke-up) !important;
    background-blend-mode: overlay, normal !important;
    border: 1px solid var(--brass) !important;
    border-radius: 6px !important;
    padding: 12px 28px !important;
    cursor: pointer;
    position: relative;
    transition: border-color 240ms ease, transform 240ms ease, box-shadow 240ms ease;
}
button.primary::before, .btn-primary::before {
    content: '';
    position: absolute; inset: 1px 1px auto 1px; height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    pointer-events: none;
}
button.primary:hover, .btn-primary:hover {
    border-color: var(--brass-hi) !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 32px -16px rgba(212, 168, 56, 0.55);
}

/* secondary buttons (chrome pill) */
button:not(.primary):not(.tab):not(.inbox-filter-btn), .btn-secondary {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.16em !important;
    color: var(--ivory-soft) !important;
    background: var(--smoke-up) !important;
    border: 1px solid var(--line-hi) !important;
    border-radius: 4px !important;
    padding: 9px 18px !important;
    cursor: pointer;
    transition: border-color 240ms ease, color 240ms ease;
}
button:not(.primary):not(.tab):not(.inbox-filter-btn):hover, .btn-secondary:hover {
    border-color: var(--brass) !important;
    color: var(--ivory) !important;
}

/* ─────────────────────── form fields ─────────────────────── */

input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"],
select, textarea {
    background: var(--void) !important;
    border: 1px solid var(--line-hi) !important;
    border-radius: 4px !important;
    color: var(--ivory) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    padding: 11px 14px !important;
    transition: border-color 200ms ease, background 200ms ease;
}
input:focus, select:focus, textarea:focus {
    outline: none !important;
    border-color: var(--brass-hi) !important;
    background: var(--smoke-up) !important;
}

label {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: var(--ivory-dim) !important;
    margin-bottom: 6px !important;
    display: block;
}

/* ─────────────────────── tables / data rows ─────────────────────── */

table {
    border-collapse: collapse;
    width: 100%;
}
th {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.16em !important;
    color: var(--ivory-dim) !important;
    border-bottom: 1px solid var(--line-hi) !important;
    text-align: left;
    padding: 12px 14px !important;
}
td {
    border-bottom: 1px solid var(--line) !important;
    padding: 12px 14px !important;
    color: var(--ivory) !important;
}
tr:hover td {
    background: var(--smoke-up) !important;
}

/* ─────────────────────── headings (display serif) ─────────────────────── */

h1, h2, h3, .bench-title {
    font-family: var(--v7-display) !important;
    font-weight: 600 !important;
    color: var(--ivory) !important;
    letter-spacing: 0.02em;
}
h1 { font-size: clamp(24px, 3vw, 32px) !important; }
h2 { font-size: 20px !important; }
h3 { font-size: 16px !important; }

/* ─────────────────────── status colors ─────────────────────── */

.money { font-family: 'JetBrains Mono', Menlo, monospace !important; color: var(--brass-hi) !important; }
.mono  { font-family: 'JetBrains Mono', Menlo, monospace !important; }
.empty { color: var(--ivory-dim) !important; font-style: italic; font-family: 'Cormorant Garamond', Georgia, serif !important; }

/* meta / muted text uniform v7 treatment */
.meta {
    font-family: 'JetBrains Mono', Menlo, monospace !important;
    font-size: 10px !important;
    color: var(--ivory-dim) !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

/* ─────────────────────── inbox / drawers ─────────────────────── */

.drawer {
    background: var(--smoke-up) !important;
    border-left: 1px solid var(--brass) !important;
    box-shadow: -24px 0 60px -20px rgba(0,0,0,0.85);
}

/* ─────────────────────── load animation ─────────────────────── */

@media (prefers-reduced-motion: no-preference) {
    .topbar { opacity: 0; animation: v7-fade 600ms ease forwards; }
    main#admin-root .card,
    main#admin-root .state-card,
    main#admin-root .dash-stat {
        opacity: 0; transform: translateY(6px);
        animation: v7-rise 540ms cubic-bezier(.2,.65,.2,1) 80ms forwards;
    }
}
@keyframes v7-fade { to { opacity: 1; } }
@keyframes v7-rise { to { opacity: 1; transform: translateY(0); } }
