@font-face {
    font-family: 'Good Headline Pro';
    src: url('/static/fonts/goodheadlinepro-comp-black.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: fallback;
}

@font-face {
    font-family: 'Paralucent';
    src: url('/static/fonts/Paralucent_Medium.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: fallback;
}

/* ─── Variables ─────────────────────────────────────────────────────────── */
:root {
    --font-title: 'Good Headline Pro', 'Oswald', 'Barlow Condensed', Impact, sans-serif;
    --font-body:  'Paralucent', 'DM Sans', 'Nunito', sans-serif;

    --verde:        #0a934b;
    --verde-bright: #0cb85f;
    --verde-dim:    #065c2f;
    --dorado:       #f5a623;
    --bg-body:      #080f09;
    --bg-card:      #0f1a10;
    --bg-panel:     #131f14;
    --border:       #1e3d22;
    --text:         #e4f2e8;
    --text-muted:   #5a8a6a;
}

/* ─── Base ───────────────────────────────────────────────────────────────── */
body {
    font-family: var(--font-body);
    font-size: 1.1rem;
    background-color: var(--bg-body);
    color: var(--text);
    min-height: 100vh;
    overflow-x: hidden;
}

@media (min-width: 768px) {
    html { font-size: 18px; }
}

h1, h2, h3, h4, h5, h6, .headline {
    font-family: var(--font-title);
    letter-spacing: .03em;
    text-transform: uppercase;
}

/* ─── Navbar ─────────────────────────────────────────────────────────────── */
.navbar {
    background-color: #060d07 !important;
    border-bottom: 2px solid var(--verde);
}

/* ─── Hologram ball ─────────────────────────────────────────────────────── */
.holo-ball {
    color: var(--verde-bright);
    font-size: .85em;
    vertical-align: baseline;
    position: relative;
    top: 0.05em;
}

.malvinas-logo {
    height: 1.2rem;
    width: auto;
    vertical-align: middle;
    position: relative;
    top: -0.1em;
    filter: invert(60%) sepia(80%) saturate(400%) hue-rotate(90deg) brightness(1.1);
}

.navbar-brand {
    font-family: var(--font-title);
    font-weight: 700;
    font-size: 1.4rem;
    color: var(--verde-bright) !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-left: 3px solid var(--verde);
    padding-left: .75rem;
    line-height: 1;
    transform: translateY(-3px);
}

.navbar-brand .brand-sub {
    display: block;
    font-size: .52rem;
    font-weight: 400;
    font-family: var(--font-body);
    color: var(--text-muted);
    letter-spacing: .2em;
    text-transform: uppercase;
    margin-top: 6px;
    transform: translateY(3px);
}

.nav-link {
    color: #a0c8ae !important;
    font-weight: 500;
    letter-spacing: .03em;
    font-family: var(--font-body);
}
.nav-link:hover, .nav-link:focus { color: var(--verde-bright) !important; }

.navbar-toggler { border-color: var(--border); }
.navbar-toggler-icon { filter: invert(60%) sepia(80%) saturate(400%) hue-rotate(100deg); }

@media (max-width: 991px) {
    .navbar-collapse {
        border-top: 1px solid var(--border);
        margin-top: .5rem;
        padding: .25rem 0 .5rem;
    }
    .navbar-collapse .nav-item > .nav-link {
        padding: .65rem .25rem;
        border-bottom: 1px solid rgba(30,61,34,.4);
    }
    .navbar-collapse .navbar-nav.align-items-center {
        flex-direction: row !important;
        align-items: center !important;
        gap: .25rem !important;
        padding-top: .6rem;
        border-top: 1px solid var(--border);
        margin-top: .25rem;
    }
    .navbar-collapse .navbar-nav.align-items-center .nav-item:first-child {
        flex: 1;
    }
}

/* ─── Dropdown ───────────────────────────────────────────────────────────── */
.dropdown-menu {
    background-color: #0d1a0e;
    border: 1px solid var(--border);
}
.dropdown-item { color: var(--text); font-weight: 500; font-family: var(--font-body); }
.dropdown-item:hover { background-color: #162b18; color: var(--verde-bright); }
.dropdown-divider { border-color: var(--border); }

/* ─── Cards ──────────────────────────────────────────────────────────────── */
.card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.card-header {
    background-color: var(--bg-panel) !important;
    border-bottom: 1px solid var(--border);
    font-family: var(--font-title);
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--verde-bright);
    border-radius: 8px 8px 0 0 !important;
}
.card-header.bg-verde {
    background-color: var(--verde) !important;
    border-bottom: 1px solid var(--verde-dim) !important;
    color: #fff !important;
}
.card-header.bg-warning-subtle {
    background-color: #1f1608 !important;
    border-bottom: 1px solid #3d2e0e !important;
    color: var(--dorado) !important;
}

/* ─── Buttons ────────────────────────────────────────────────────────────── */
.btn-verde {
    background-color: var(--verde);
    border-color: var(--verde);
    color: #fff;
    font-family: var(--font-title);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: .88rem;
    transition: background-color .15s;
}
.btn-verde:hover, .btn-verde:focus {
    background-color: var(--verde-bright);
    border-color: var(--verde-bright);
    color: #fff;
}

.btn-outline-verde {
    border-color: var(--verde);
    color: var(--verde-bright);
    font-family: var(--font-title);
    font-size: .82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.btn-outline-verde:hover {
    background-color: var(--verde);
    color: #fff;
    border-color: var(--verde);
}

.btn-success {
    background-color: var(--verde) !important;
    border-color: var(--verde) !important;
    color: #fff !important;
    font-family: var(--font-title);
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.btn-success:hover { background-color: var(--verde-bright) !important; border-color: var(--verde-bright) !important; }

.btn-warning {
    font-family: var(--font-title);
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.btn-danger {
    font-family: var(--font-title);
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ─── Forms ──────────────────────────────────────────────────────────────── */
.form-label {
    font-family: var(--font-title);
    font-size: .78rem;
    letter-spacing: .1em;
    color: var(--verde-bright);
    margin-bottom: .3rem;
    text-transform: uppercase;
}
.form-control, .form-select {
    background-color: #0b1a0d;
    border-color: var(--border);
    color: var(--text);
    font-family: var(--font-body);
    border-radius: 6px;
}
.form-control:focus, .form-select:focus {
    background-color: #0d1f10;
    border-color: var(--verde);
    color: var(--text);
    box-shadow: 0 0 0 2px rgba(10,147,75,.25);
}
.form-control::placeholder { color: var(--text-muted); }
.form-text { color: var(--text-muted); font-size: .8rem; }
input[type=number].form-control-lg {
    font-size: 2.4rem;
    padding: .5rem;
    font-family: var(--font-title);
    font-weight: 700;
    text-align: center;
}

/* ─── Tables ─────────────────────────────────────────────────────────────── */
.table {
    color: var(--text);
    --bs-table-bg: transparent;
    --bs-table-hover-bg: #162b18;
    border-color: var(--border);
}
.table > :not(caption) > * > * {
    background-color: transparent;
    border-bottom-color: var(--border);
    color: var(--text);
}
thead.bg-verde th, thead.bg-verde td {
    background-color: var(--verde) !important;
    color: #fff !important;
    font-family: var(--font-title);
    font-size: .76rem;
    letter-spacing: .10em;
    text-transform: uppercase;
    border-bottom: 2px solid var(--verde-dim) !important;
}
.table th {
    font-family: var(--font-title);
    font-size: .76rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--verde-bright);
    border-color: var(--border);
}
.table-light { background-color: var(--bg-panel) !important; }
.table-warning {
    --bs-table-bg: #1a1408 !important;
    --bs-table-color: var(--dorado) !important;
    color: var(--dorado) !important;
}
.table-active { --bs-table-active-bg: #162b18 !important; }

/* ─── List Groups ────────────────────────────────────────────────────────── */
.list-group-item {
    background-color: var(--bg-card);
    border-color: var(--border);
    color: var(--text);
    transition: background-color .15s;
    font-family: var(--font-body);
}
.list-group-item-action:hover, .list-group-item-action:focus {
    background-color: #162b18;
    color: var(--verde-bright);
    border-color: var(--border);
}
.list-group-item:first-child { border-top: none; border-radius: 0; }
.list-group-item:last-child { border-bottom: none; border-radius: 0; }
.list-group-item { border-left: none; border-right: none; }

/* ─── Predict inline ─────────────────────────────────────────────────────── */
.has-prediction {
    border-left: 3px solid var(--verde) !important;
}
.no-prediction {
    border-left: 3px solid var(--bs-danger, #dc3545) !important;
}

.predict-layout {
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.predict-teams {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.predict-home {
    flex: 1;
    min-width: 0;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.predict-away {
    flex: 1;
    min-width: 0;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.predict-vs {
    font-size: .72rem;
    color: var(--text-muted);
    flex-shrink: 0;
    white-space: nowrap;
}

.predict-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

.predict-input {
    width: 48px !important;
    height: 38px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-align: center;
    padding: 0 !important;
    flex-shrink: 0;
    border-color: var(--border) !important;
    color: var(--text-muted) !important;
    transition: border-color .15s, color .15s;
}

.predict-input:placeholder-shown {
    border-color: var(--bs-danger, #dc3545) !important;
    color: var(--bs-danger, #dc3545) !important;
}

.predict-input:not(:placeholder-shown) {
    border-color: var(--verde) !important;
    color: var(--verde-bright) !important;
}

.predict-dash {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-muted);
    flex-shrink: 0;
}

.predict-submit {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    padding: 0;
}

.predict-pm {
    flex-shrink: 0;
    width: 28px;
    height: 38px;
    padding: 0;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--text-muted);
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    transition: background .12s, color .12s;
}
.predict-pm:hover { background: #162b18; color: var(--verde-bright); }

.predict-admin-link {
    display: inline-block;
    margin-top: .5rem;
    font-size: .78rem;
    color: var(--dorado);
    text-decoration: none;
    opacity: .8;
}
.predict-admin-link:hover { opacity: 1; color: var(--dorado); }

/* ocultar flechas de number input */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; appearance: none; }
input[type=number] { -moz-appearance: textfield; }

@media (max-width: 575px) {
    .predict-pm      { width: 24px; }
    .predict-input   { width: 40px !important; }
    .predict-submit  { width: 32px; }
    .predict-controls { gap: .2rem; }
}

/* ─── Badges ─────────────────────────────────────────────────────────────── */
.badge.bg-verde    { background-color: var(--verde) !important; color: #fff !important; }
.badge.bg-success  { background-color: var(--verde) !important; color: #fff !important; }
.badge.bg-dark     { background-color: #162b18 !important; color: var(--verde-bright) !important; border: 1px solid var(--border); }
.badge.bg-secondary { background-color: #162b18 !important; color: var(--text-muted) !important; }
.badge.bg-primary  { background-color: #162b18 !important; color: var(--verde-bright) !important; border: 1px solid var(--border); }
.badge.bg-warning  { background-color: #2a1f08 !important; color: var(--dorado) !important; }
.badge.bg-warning-subtle { background-color: #1f1608 !important; color: var(--dorado) !important; }
.badge.bg-success-subtle { background-color: #0f2214 !important; color: var(--verde-bright) !important; }
.badge.bg-light    { background-color: #162b18 !important; color: var(--text-muted) !important; }
.text-success { color: var(--verde-bright) !important; }
.text-warning { color: var(--dorado) !important; }
.text-warning-emphasis { color: var(--dorado) !important; }
.text-muted   { color: var(--text-muted) !important; }
.bg-light     { background-color: var(--bg-panel) !important; }

/* ─── Alerts ─────────────────────────────────────────────────────────────── */
.alert-danger  { background-color: #1f0a0a; border-color: #6b2020; color: #f4a5a5; }
.alert-success { background-color: #0d2212; border-color: var(--verde); color: var(--verde-bright); }
.alert-warning { background-color: #1f1608; border-color: #6b4a10; color: var(--dorado); }

/* ─── Helpers ────────────────────────────────────────────────────────────── */
.bg-verde       { background-color: var(--verde) !important; }
.text-verde     { color: var(--verde-bright) !important; }
.text-dorado    { color: var(--dorado) !important; }
.border-verde   { border-color: var(--verde) !important; }
.border-warning { border-color: var(--dorado) !important; }

/* ─── Stat numbers ───────────────────────────────────────────────────────── */
.stat-num {
    font-family: var(--font-title);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
}
.stat-num.verde  { color: var(--verde-bright); }
.stat-num.dorado { color: var(--dorado); }
.stat-num.bright { color: var(--verde-bright); }
.stat-num.muted  { color: var(--text-muted); }

/* ─── Section titles ─────────────────────────────────────────────────────── */
.section-title {
    font-family: var(--font-title);
    font-size: 1rem;
    letter-spacing: .12em;
    color: var(--text-muted);
    text-transform: uppercase;
    margin-bottom: .75rem;
}

/* ─── HR ─────────────────────────────────────────────────────────────────── */
hr { border-color: var(--border); }

/* ─── Hero Banner ────────────────────────────────────────────────────────── */
.hero-banner {
    background-color: var(--bg-card);
    border: 1px solid var(--border);
    border-top: 4px solid var(--verde);
    border-radius: 8px;
    padding: 1.25rem 1.75rem;
}

.hero-sub {
    font-family: var(--font-title);
    font-size: clamp(1.3rem, 4vw, 2rem);
    color: var(--verde-bright);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.hero-recaudado {
    background-color: var(--bg-panel);
    border: 1px solid var(--border);
    border-left: 4px solid var(--dorado);
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    align-items: flex-start;
}

.hero-recaudado-main {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 200px;
}

.hero-recaudado-label {
    font-family: var(--font-title);
    font-size: 1.1rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.hero-recaudado-amount {
    font-family: var(--font-title);
    font-size: clamp(2.4rem, 7vw, 4rem);
    font-weight: 700;
    color: var(--dorado);
    line-height: 1;
}

.hero-recaudado-note {
    font-family: var(--font-body);
    font-size: 1rem;
    color: var(--text-muted);
    margin-top: .1rem;
}

.hero-premios {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
}

.hero-premio {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    background-color: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: .6rem .9rem;
    min-width: 110px;
}

@media (max-width: 575px) {
    .hero-recaudado {
        flex-direction: column;
        gap: 1rem;
        padding: 1rem;
    }
    .hero-recaudado-main { min-width: 0; }
    .hero-premios {
        flex-wrap: nowrap;
        gap: .5rem;
    }
    .hero-premio {
        flex: 1;
        min-width: 0;
        padding: .5rem .6rem;
    }
    .hero-premio-pos {
        font-size: .8rem;
    }
    .hero-premio-monto {
        font-size: clamp(1.2rem, 5.5vw, 1.8rem);
    }
}

.hero-premio-pos {
    font-family: var(--font-title);
    font-size: 1.1rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.hero-premio-monto {
    font-family: var(--font-title);
    font-size: clamp(2.4rem, 7vw, 4rem);
    font-weight: 700;
    color: var(--dorado);
    line-height: 1;
}

.hero-premio-pct {
    font-size: .75rem;
    color: var(--text-muted);
}

/* ─── Modo claro ─────────────────────────────────────────────────────────── */
[data-theme="light"] {
    --verde:        #0a934b;
    --verde-bright: #077a3d;
    --verde-dim:    #055c2e;
    --dorado:       #b87a0a;
    --bg-body:      #f2f7f4;
    --bg-card:      #ffffff;
    --bg-panel:     #e8f2ec;
    --border:       #c0d9c8;
    --text:         #0d2414;
    --text-muted:   #4a7a5a;
}

[data-theme="light"] body {
    background-color: var(--bg-body);
    color: var(--text);
}

[data-theme="light"] .navbar {
    background-color: #ffffff !important;
    border-bottom: 2px solid var(--verde);
    box-shadow: 0 1px 6px rgba(0,0,0,.1);
}

[data-theme="light"] .nav-link { color: #2a5c3a !important; }
[data-theme="light"] .nav-link:hover { color: var(--verde) !important; }

[data-theme="light"] .dropdown-menu {
    background-color: #ffffff;
    border-color: var(--border);
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
[data-theme="light"] .dropdown-item { color: var(--text); }
[data-theme="light"] .dropdown-item:hover { background-color: #e8f2ec; color: var(--verde); }
[data-theme="light"] .dropdown-divider { border-color: var(--border); }

[data-theme="light"] .card {
    background-color: #ffffff !important;
    border-color: var(--border) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
[data-theme="light"] .card-header {
    background-color: var(--bg-panel) !important;
    border-bottom-color: var(--border);
}

[data-theme="light"] .form-control,
[data-theme="light"] .form-select {
    background-color: #ffffff;
    border-color: var(--border);
    color: var(--text);
}
[data-theme="light"] .form-control:focus,
[data-theme="light"] .form-select:focus {
    background-color: #ffffff;
    border-color: var(--verde);
    box-shadow: 0 0 0 2px rgba(10,147,75,.2);
}
[data-theme="light"] .form-control::placeholder { color: #7aaa8a; }

[data-theme="light"] .list-group-item {
    background-color: #ffffff;
    border-color: var(--border);
    color: var(--text);
}
[data-theme="light"] .list-group-item-action:hover {
    background-color: #e8f2ec;
    color: var(--verde);
}

[data-theme="light"] .table { color: var(--text); --bs-table-hover-bg: #e8f2ec; }
[data-theme="light"] .table > :not(caption) > * > * { border-bottom-color: var(--border); color: var(--text); }
[data-theme="light"] .table th { color: var(--verde); }

[data-theme="light"] .badge.bg-dark { background-color: #e8f2ec !important; color: var(--verde) !important; border-color: var(--border); }
[data-theme="light"] .badge.bg-secondary { background-color: #e8f2ec !important; color: var(--text-muted) !important; }
[data-theme="light"] .badge.bg-primary { background-color: #d4eddf !important; color: var(--verde) !important; border-color: var(--border); }
[data-theme="light"] .badge.bg-warning { background-color: #fdf0d4 !important; color: var(--dorado) !important; }
[data-theme="light"] .badge.bg-light { background-color: #e8f2ec !important; color: var(--text-muted) !important; }
[data-theme="light"] .badge.bg-success-subtle { background-color: #d4eddf !important; color: var(--verde) !important; }
[data-theme="light"] .badge.bg-warning-subtle { background-color: #fdf0d4 !important; color: var(--dorado) !important; }

[data-theme="light"] .alert-danger  { background-color: #fdecea; border-color: #e57373; color: #8b1a1a; }
[data-theme="light"] .alert-success { background-color: #d4eddf; border-color: var(--verde); color: var(--verde-dim); }
[data-theme="light"] .alert-warning { background-color: #fdf0d4; border-color: #c9962a; color: #7a5a00; }

[data-theme="light"] .hero-banner     { background-color: #ffffff; border-color: var(--border); }
[data-theme="light"] .hero-recaudado { background-color: var(--bg-panel); border-color: var(--border); }

[data-theme="light"] hr { border-color: var(--border); }

[data-theme="light"] ::-webkit-scrollbar-track { background: var(--bg-body); }
[data-theme="light"] ::-webkit-scrollbar-thumb { background: #a0c8b0; }
[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: var(--verde); }

/* ─── Collapsible sections ───────────────────────────────────────────────── */
.section-toggle { cursor: pointer; user-select: none; }
.toggle-chevron {
    transition: transform .2s;
    font-size: .75em;
    opacity: .6;
}
.collapsed > .toggle-chevron,
[aria-expanded="false"] .toggle-chevron { transform: rotate(-90deg); }

/* ─── Filter pills ───────────────────────────────────────────────────────── */
.filter-pills-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.filter-pill {
    padding: .3rem .9rem;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-panel);
    color: var(--text-muted);
    font-size: .72rem;
    font-family: var(--font-title);
    letter-spacing: .07em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    line-height: 1.4;
}
.filter-pill:hover:not(.active) {
    border-color: var(--verde-dim);
    color: var(--text);
}
.filter-pill.active {
    background: var(--verde);
    border-color: var(--verde);
    color: #fff;
}
.pill-count {
    font-size: .65rem;
    opacity: .75;
}

/* ─── Unsaved indicator ──────────────────────────────────────────────────── */
@keyframes pulse-danger {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.65; }
}
.btn-unsaved {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
    animation: pulse-danger 1.2s ease-in-out infinite;
}

/* ─── Scrollbar ──────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg-body); }
::-webkit-scrollbar-thumb { background: var(--verde-dim); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--verde); }
