/* ============================================================================
   PLANIFICARE OBIECTIVE — grilă an × luni × regiuni, editabilă.
   ========================================================================== */

.pl-controale { display: flex; align-items: flex-end; gap: 12px; }
.pl-camp { display: flex; flex-direction: column; gap: 4px; }
.pl-camp > span {
    font-size: .7rem; font-weight: 700; letter-spacing: .04em;
    text-transform: uppercase; color: var(--text-muted);
}
.pl-camp input {
    padding: 7px 10px; width: 100px; border-radius: var(--radius-sm);
    border: 1px solid var(--border-color); background: var(--surface-color);
    color: var(--text-main); font-size: .9rem; font-weight: 700;
}

/* Lista de versiuni */
.pl-versiuni { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pl-versiune {
    display: flex; flex-direction: column; gap: 2px; align-items: flex-start;
    padding: 9px 13px; border: 1px solid var(--border-color);
    border-radius: var(--radius-sm); background: var(--surface-color);
    cursor: pointer; text-align: left; min-width: 210px;
    transition: border-color .15s, background .15s;
}
.pl-versiune:hover { background: color-mix(in srgb, var(--primary-color) 5%, transparent); }
.pl-versiune.is-activ {
    border-color: var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 9%, transparent);
}
.pl-v-cap { display: flex; align-items: center; gap: 7px; }
.pl-v-cap b { font-size: .86rem; color: var(--text-main); }
.pl-versiune small { font-size: .7rem; color: var(--text-muted); }

.pl-badge {
    font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
    padding: 2px 7px; border-radius: 999px; white-space: nowrap;
}
.pl-ciorna { background: color-mix(in srgb, #B8860B 18%, transparent); color: #8a6508; }
.pl-aprobat { background: color-mix(in srgb, #1B7F4B 18%, transparent); color: #14663b; }
.pl-arhivat { background: color-mix(in srgb, var(--text-muted) 18%, transparent); color: var(--text-muted); }

.pl-unelte { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* Avertisment pentru modificări nesalvate — nu îl poți rata */
.pl-nesalvat {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin: 4px 0 14px; padding: 10px 14px; border-radius: var(--radius-sm);
    background: color-mix(in srgb, #B8860B 10%, transparent);
    border-left: 3px solid #B8860B; font-size: .86rem; color: var(--text-main);
}
.pl-nesalvat i { color: #B8860B; }
.pl-nesalvat button { margin-left: auto; }
.pl-nesalvat button + button { margin-left: 0; }

/* Grila */
.pl-grila { font-size: .82rem; }
.pl-grila th.pl-regiune {
    position: sticky; left: 0; z-index: 2; background: var(--surface-color);
    text-align: left; min-width: 155px; box-shadow: 1px 0 0 var(--border-color);
}
.pl-grila th.pl-regiune b { display: block; font-size: .84rem; color: var(--text-main); }
.pl-grila th.pl-regiune small { display: block; font-size: .68rem; color: var(--text-muted); font-weight: 400; }
.pl-vacant { color: var(--accent-color); font-weight: 700; }
.pl-tip { font-weight: 700; letter-spacing: .04em; }
.pl-luna { min-width: 78px; font-size: .7rem; text-transform: uppercase; letter-spacing: .03em; }
.pl-celula { padding: 3px 4px !important; }
.pl-celula input {
    width: 100%; padding: 6px 7px; text-align: right;
    border: 1px solid transparent; border-radius: 5px;
    background: transparent; color: var(--text-main);
    font-size: .82rem; font-variant-numeric: tabular-nums;
}
.pl-celula input:hover { border-color: var(--border-color); }
.pl-celula input:focus {
    outline: none; border-color: var(--primary-color); background: var(--surface-color);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color) 18%, transparent);
}
.pl-celula.e-modificat input {
    background: color-mix(in srgb, #B8860B 14%, transparent);
    border-color: color-mix(in srgb, #B8860B 45%, transparent);
}
.pl-total { min-width: 105px; background: color-mix(in srgb, var(--primary-color) 5%, transparent); }
.pl-grila tfoot th, .pl-grila tfoot td {
    border-top: 2px solid var(--border-color);
    background: color-mix(in srgb, var(--primary-color) 7%, transparent);
}

.pl-actiuni {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border-color);
}
.pl-actiuni small { color: var(--text-muted); font-size: .74rem; }
.pl-sterge { color: var(--accent-color); }

/* Publicarea schimbă cifre pe care le vede toată lumea — se citește altfel decât
   restul acțiunilor, ca nimeni s-o apese din reflex. */
.pl-publicare {
    background: color-mix(in srgb, var(--accent-color) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-color) 30%, transparent);
    border-radius: 8px; padding: 12px; margin-top: 12px;
}
.pl-publicare small { flex-basis: 100%; }
.pl-luni-publicare { display: flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--text-muted); }
.pl-luni-publicare input {
    padding: 5px 8px; border: 1px solid var(--border-color); border-radius: 6px;
    background: var(--card-bg); color: var(--text-color); font-size: .82rem;
}

@media (max-width: 900px) {
    .pl-controale { width: 100%; }
    .pl-camp input { width: 100%; }
    .pl-versiune { min-width: 100%; }
    .pl-grila th.pl-regiune { min-width: 120px; }
    .pl-luna { min-width: 68px; }
    .pl-nesalvat button { margin-left: 0; }
}

/* Defalcarea pe agenți (doar clasele B2C: TEREN IAȘI / SHOWROOM IAȘI) */
.pl-toggle {
    border: 0; background: transparent; cursor: pointer; padding: 0 5px 0 0;
    color: var(--text-muted); font-size: .72rem;
}
.pl-toggle:hover { color: var(--primary-color); }
.pl-nr-agenti { font-weight: 700; color: var(--primary-color); }

.pl-rand-agent > th, .pl-rand-agent > td {
    background: color-mix(in srgb, var(--primary-color) 3%, transparent);
}
.pl-agent { padding-left: 26px !important; }
.pl-agent b { font-size: .8rem !important; font-weight: 600 !important; }

.pl-subtotal > th, .pl-subtotal > td {
    background: color-mix(in srgb, var(--primary-color) 7%, transparent);
    border-bottom: 2px solid var(--border-color);
}
.pl-subtotal b { font-size: .82rem; }

/* Diferența dintre suma pe agenți și totalul regiunii — semnalată, nu blocantă:
   uneori vrei intenționat o rezervă nealocată. */
.pl-dif { display: block; font-size: .66rem; color: #B8860B; font-weight: 700; }
.pl-ok { color: #1B7F4B; }
.pl-dif-rau { color: #B8860B; }
