/* ====================================================================
   FOTBAL MANAGER — Design system "Stadium Scoreboard"
   Dark ca temă implicită. Toate componentele custom au variante explicite
   light/dark, ca să nu rămână text cu contrast slab pe fundal întunecat.
   Tabler are deja suport nativ pentru [data-bs-theme="dark"] pe componentele
   sale stock (.card, .alert, .list-group etc.) - nu le suprascriem pe acelea.
   Încărcat DUPĂ tabler.min.css.
   ==================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root {
    /* Acente de brand - identice în ambele teme */
    --pitch-900: #0B3D2E;
    --pitch-700: #155C3F;
    --turf-500: #3FB660;
    --turf-600: #2F9E50;
    --card-amber: #FFC233;
    --card-red: #E0483E;
    --ink-900: #14201B;

    /* Suprafețe + text - tema LIGHT (implicite, suprascrise sub [data-bs-theme="dark"]) */
    --surface-0: #F7F5EF;   /* fundal pagină */
    --surface-1: #FFFFFF;   /* carduri */
    --surface-2: #FFFFFF;   /* stat-tile / elemente ridicate */
    --text-primary: #14201B;
    --text-muted: #5C6F64;
    --border-soft: rgba(11,61,46,0.10);

    --chip-confirmed-text: #fff;
    --chip-gk-bg: rgba(20,32,27,0.08);
    --chip-gk-text: var(--ink-900);

    /* Brand aplicat global peste variabilele Tabler.
       --tblr-primary e folosit de Tabler și ca TEXT (linkuri), nu doar ca
       fundal de buton - de-aia se adaptează per temă mai jos, ca un verde
       prea închis să nu devină ilizibil pe fundal dark. */
    --tblr-primary: var(--pitch-700);
    --tblr-primary-rgb: 21, 92, 63;
    --tblr-link-color: var(--pitch-700);
    --tblr-link-color-rgb: 21, 92, 63;
    --tblr-body-font-family: 'Inter', -apple-system, sans-serif;
}

[data-bs-theme="dark"] {
    --surface-0: #0E1612;
    --surface-1: #16231D;
    --surface-2: #1E2F26;
    --text-primary: #F4F6F2;
    --text-muted: #9FB0A4;
    --border-soft: rgba(255,255,255,0.09);

    --chip-gk-bg: rgba(255,255,255,0.12);
    --chip-gk-text: var(--text-primary);

    /* Verde mai deschis în dark mode, ca link-urile/textul "primary" să
       aibă contrast suficient pe fundal aproape negru. */
    --tblr-primary: var(--turf-500);
    --tblr-primary-rgb: 63, 182, 96;
    --tblr-link-color: var(--turf-500);
    --tblr-link-color-rgb: 63, 182, 96;
}

/* Fundalurile de buton rămân FIXE (nu urmează --tblr-primary), ca textul alb
   de pe ele să aibă mereu contrast bun, indiferent de temă - un verde gândit
   pentru lizibilitate ca link pe fundal dark ar fi prea deschis pentru text
   alb pe el, deci separăm cele două nevoi. */
.btn-primary, .btn-turf {
    background-color: var(--pitch-700) !important;
    border-color: var(--pitch-700) !important;
    color: #fff !important;
    font-weight: 600;
}
.btn-primary:hover, .btn-turf:hover {
    background-color: var(--turf-600) !important;
    border-color: var(--turf-600) !important;
    color: #fff !important;
}

body {
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--surface-0);
    color: var(--text-primary);
}

h1, h2, h3, h4, h5, .page-title, .card-title {
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.navbar-brand {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--pitch-900) !important;
}

[data-bs-theme="dark"] .navbar-brand {
    color: var(--text-primary) !important;
}

/* Cifre/statistici - font monospațiat, senzație de tablă de marcaj digitală */
.mono-stat {
    font-family: 'Space Mono', monospace;
    font-weight: 700;
}

/* ---------------------------------------------------------------------
   Panou tip "tabelă de scor de stadion" - elementul semnătură al designului.
   Rămâne mereu verde-închis (e gândit ca un panou luminat, nu ca fundal de
   pagină), dar primește un contur subtil ca să nu se piardă pe fundal dark.
   --------------------------------------------------------------------- */
.scoreboard-panel {
    background: linear-gradient(155deg, var(--pitch-900) 0%, var(--pitch-700) 100%);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 10px 28px rgba(0,0,0,0.28);
    border-radius: 14px;
    color: #fff;
    padding: 22px 20px;
    position: relative;
    overflow: hidden;
}

.scoreboard-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        115deg,
        rgba(255,255,255,0.03) 0px,
        rgba(255,255,255,0.03) 26px,
        transparent 26px,
        transparent 52px
    );
    pointer-events: none;
}

.scoreboard-panel .sb-label {
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65);
}

.scoreboard-panel .sb-value {
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.15;
    color: #fff;
}

.scoreboard-panel .sb-divider {
    border-top: 1px dashed rgba(255,255,255,0.22);
    margin: 14px 0;
}

/* Cifre uriașe de scor - albe mereu, pe panoul verde-închis */
.score-huge {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 56px;
    line-height: 1;
    letter-spacing: 0.01em;
    color: #fff;
}

@media (max-width: 576px) {
    .score-huge { font-size: 42px; }
}

/* ---------------------------------------------------------------------
   Stat tiles (contoare prezență / preț / meteo) - theme-aware
   --------------------------------------------------------------------- */
.stat-tile {
    background: var(--surface-2);
    border-radius: 12px;
    border: 1px solid var(--border-soft);
    padding: 14px 10px;
    text-align: center;
}

.stat-tile .stat-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.stat-tile .stat-value {
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 26px;
    color: var(--text-primary);
}

/* Bară de progres stil "gazon" */
.turf-bar {
    height: 8px;
    border-radius: 99px;
    background: var(--border-soft);
    overflow: hidden;
    margin-top: 6px;
}

.turf-bar-fill {
    height: 100%;
    background: repeating-linear-gradient(
        115deg,
        var(--turf-500) 0px, var(--turf-500) 8px,
        var(--turf-600) 8px, var(--turf-600) 16px
    );
    border-radius: 99px;
    transition: width .3s ease;
}

/* ---------------------------------------------------------------------
   Chips de status - fundaluri SOLIDE (nu transparențe), ca textul să
   rămână lizibil indiferent de fundalul din spatele chip-ului.
   --------------------------------------------------------------------- */
.chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 9px;
    border-radius: 99px;
    font-family: 'Inter', sans-serif;
}

.chip-confirmed { background: var(--pitch-700); color: var(--chip-confirmed-text); }
.chip-reserve   { background: var(--card-amber); color: #3A2A00; }
.chip-gk        { background: var(--chip-gk-bg); color: var(--chip-gk-text); }

/* ---------------------------------------------------------------------
   Carduri de echipă (A/B) - theme-aware pe corpul cardului,
   header-ele rămân solide (deja au text alb, funcționează pe orice fundal)
   --------------------------------------------------------------------- */
.team-panel-header {
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.02em;
    color: #fff;
    padding: 10px 14px;
    border-radius: 10px 10px 0 0;
}

.team-panel-header.team-a { background: var(--pitch-900); }
.team-panel-header.team-b { background: #2A2A2A; }

.team-panel-body {
    background: var(--surface-1);
    color: var(--text-primary);
    border: 1px solid var(--border-soft);
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding: 4px 0;
}

.team-panel-body .player-row {
    padding: 7px 14px;
    font-size: 14px;
    border-bottom: 1px solid var(--border-soft);
}
.team-panel-body .player-row:last-child { border-bottom: none; }

/* ---------------------------------------------------------------------
   Alertă "prezență completă" - solidă, funcționează pe orice fundal
   --------------------------------------------------------------------- */
.alert-bold-success {
    background: var(--turf-500);
    color: var(--ink-900);
    border: none;
    border-radius: 12px;
    font-weight: 600;
    padding: 14px 18px;
}

/* Carduri drag&drop pe pagina de echipe */
.player-card {
    border-radius: 10px !important;
    border: 1px solid var(--border-soft) !important;
    background: var(--surface-1) !important;
    color: var(--text-primary) !important;
    font-weight: 500;
}
.player-card:active { cursor: grabbing; }

/* Dropdown-ul de autocomplete trebuie să respecte și el tema curentă */
#nameDropdown {
    background: var(--surface-1);
    border: 1px solid var(--border-soft);
}
#nameDropdown .list-group-item {
    background: var(--surface-1);
    color: var(--text-primary);
    border-color: var(--border-soft);
}
#nameDropdown .list-group-item:hover {
    background: var(--surface-2);
}
