/* Colores de estado. El rojo sigue siendo la marca; estos acompañan para leer en qué está cada cosa:
   rojo = atrasado o problema · amarillo = en proceso / esta semana · verde = listo · gris = sin empezar o fuera. */
:root{--ok:#12a150;--ok-bg:#e2f6e9;--ok-ink:#0f6337;--wip:#f0b000;--wip-bg:#fff3cc;--wip-ink:#7a5600;--idle:#a3a4ae;--idle-bg:#efeff3;--idle-ink:#5d5e6a;--bad:#e0003c;--bad-bg:#ffe6ed;--bad-ink:#b0002f}
html[data-theme=dark]{--ok:#34c76f;--ok-bg:rgba(52,199,111,.15);--ok-ink:#7ee2a3;--wip:#f5c33b;--wip-bg:rgba(245,195,59,.15);--wip-ink:#fcd36a;--idle:#7b7c88;--idle-bg:rgba(255,255,255,.07);--idle-ink:#b4b5c0;--bad:#ff4d7a;--bad-bg:rgba(255,77,122,.15);--bad-ink:#ff8aa8}

/* Inicio · números de arriba */
#content .db-kpi.is-ok .db-ic{background:var(--ok-bg);color:var(--ok)}
#content .db-kpi.is-ok .hm-bar i{background:linear-gradient(90deg,#3fd07f,var(--ok))}
#content .db-kpi.is-ok strong.is-neg{color:var(--bad)}

/* Inicio · tareas: el círculo dice si está atrasada, es de esta semana o más adelante */
#content .hm-list li.is-late .hm-check{border-color:var(--bad)}
#content .hm-list li.is-soon .hm-check{border-color:var(--wip)}
#content .hm-list li.is-later .hm-check{border-color:var(--idle)}
#content .hm-list li.is-soon small b{color:var(--wip-ink)}
#content .hm-list li .hm-check:hover{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}

/* Inicio · calendario y próximo */
#content .db-cal-grid a i.is-soon{background:var(--wip)}
#content .db-cal-grid a i.is-later{background:var(--idle)}
#content .db-cal-grid a i.is-late{background:var(--bad)}
#content .db-cal-grid a.is-today i{background:#fff}
#content .db-tl li.is-soon i{background:var(--wip)}
#content .db-tl li.is-later i{background:var(--idle)}
#content .db-tl li.is-late span{color:var(--bad);font-weight:700}

/* Calendario · agenda y mes */
#content .ag-row.is-soon .ag-date{background:var(--wip-bg);color:var(--wip-ink)}
#content .ag-row.is-later .ag-date{background:var(--idle-bg);color:var(--idle-ink)}
#content .ag-row.is-done .ag-date{background:var(--ok-bg);color:var(--ok-ink)}
#content .month-day small.is-late{background:var(--bad);color:#fff}
#content .month-day small.is-soon{background:var(--wip);color:#3d2b00}
#content .month-day small.is-later{background:var(--idle-bg);color:var(--idle-ink)}
#content .month-day small.is-done{background:var(--ok);color:#fff}

/* Etiquetas */
#content .badge.good{background:var(--ok-bg)!important;color:var(--ok-ink)!important;border-color:transparent!important}
#content .badge.progress{background:var(--wip-bg)!important;color:var(--wip-ink)!important;border-color:transparent!important}
#content .badge.idle{background:var(--idle-bg)!important;color:var(--idle-ink)!important;border-color:transparent!important}
#content .badge.red{background:var(--bad-bg)!important;color:var(--bad-ink)!important;border-color:transparent!important}
#content .status-pill.is-idea{background:var(--idle-bg);color:var(--idle-ink)}
#content .status-pill.is-produccion,#content .status-pill.is-revision{background:var(--wip-bg);color:var(--wip-ink)}
#content .status-pill.is-listo{background:var(--ok-bg);color:var(--ok-ink)}
#content .status-pill.is-publicado{background:var(--ok);color:#fff}
:root:root #content .status-select.status-select.is-confirmado{background-color:var(--ok-bg)!important;color:var(--ok-ink)!important}
:root:root #content .status-select.status-select:is(.is-en_conversacion,.is-ofertado,.is-por_definir){background-color:var(--wip-bg)!important;color:var(--wip-ink)!important}
:root:root #content .status-select.status-select.is-descartado{background-color:var(--idle-bg)!important;color:var(--idle-ink)!important}
#content .status-dot.good::before{background:var(--ok)}
#content .status-dot.progress::before{background:var(--wip)}

/* Filtros con un punto del color de su estado */
#content .filter-chips button:is([data-filter=sin_contactar],[data-filter=en_conversacion],[data-filter=disponible],[data-filter=no_disponible],[data-social-filter=hacer],[data-social-filter=listo],[data-social-filter=publicado],[data-agenda=pending],[data-agenda=done])::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px;background:var(--dot)}
#content .filter-chips [data-filter=sin_contactar]{--dot:var(--idle)}
#content .filter-chips :is([data-filter=en_conversacion],[data-social-filter=hacer],[data-agenda=pending]){--dot:var(--wip)}
#content .filter-chips :is([data-filter=disponible],[data-social-filter=listo],[data-social-filter=publicado],[data-agenda=done]){--dot:var(--ok)}
#content .filter-chips [data-filter=no_disponible]{--dot:var(--bad)}

/* Hecho = verde en todos lados */
#content :is(.ag-row.is-done .ag-check,.check-row.is-done .check-box){background:var(--ok)!important;border-color:var(--ok)!important;color:#fff!important}
#content .pill-button.is-ok{border-color:var(--ok);color:var(--ok)}

/* Barra · resultado: tarjeta clara, número verde si gana y rojo si pierde */
#content .bar-results{background:#fff;color:var(--ink)}
#content .bar-results :is(.eyebrow,.money-line span:first-child,.help){color:var(--muted)}
#content .bar-results h2{color:var(--ink)}
#content .bar-results .big-result.is-pos{color:var(--ok)}
#content .bar-results .big-result.is-neg{color:var(--bad)}
#content .bar-results .money-line.total{border-color:var(--line)}
html[data-theme=dark] #content .bar-results{background:var(--d-card,#24252f);color:#f3f3f7}
html[data-theme=dark] #content .bar-results h2{color:#f3f3f7}

/* Festival · presupuesto: real dentro de lo previsto en verde, pasado en rojo */
#content .budget-line .is-real{color:var(--ok-ink);font-weight:700}
#content .budget-line .negative{color:var(--bad);font-weight:700}
