/* Inicio como tablero: cabecera liviana y todas las tarjetas a la vista. */
#content .hm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 2px 20px}
#content .hm-fest{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:clamp(30px,4vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--ink,#252632)}
#content .hm-fest svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.45;transition:transform .2s,opacity .2s}
#content .hm-fest:hover svg{opacity:.8;transform:translateY(2px)}
#content .hm-fest:focus-visible{outline:2px solid #e0003c;outline-offset:4px;border-radius:8px}
#content .hm-when{margin:8px 0 0;font-size:14px;color:var(--muted);text-transform:none}
#content .hm-when::first-letter{text-transform:uppercase}
#content .hm-count{display:flex;align-items:baseline;gap:6px;color:#e0003c;flex-shrink:0}
#content .hm-count strong{font-size:clamp(40px,5vw,56px);font-weight:800;letter-spacing:-.04em;line-height:.9;font-variant-numeric:tabular-nums}
#content .hm-count span{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

#content .hm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
#content .hm-col{display:grid;gap:16px;min-width:0}
#content .hm-card{margin:0!important;padding:18px 18px 16px}
#content .hm-card .card-head{margin-bottom:12px}
#content .hm-card h2{font-size:16px}
#content .hm-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:4px;border-radius:999px;background:#f1f1f4;color:var(--muted);font-size:12px;font-weight:700}

/* Entradas */
#content .hm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:2px 0 14px}
#content .hm-k{display:grid;gap:2px;min-width:0}
#content .hm-k strong{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#content .hm-k span{font-size:12px;color:var(--muted)}
#content .hm-k.is-main strong{color:#e0003c}
#content .hm-k em{font-style:normal}
#content .hm-k:nth-child(2){grid-column:span 1}
#content .hm-bar{height:6px;border-radius:999px;background:#f1f1f4;overflow:hidden}
#content .hm-bar i{display:block;height:100%;min-width:6px;border-radius:inherit;background:linear-gradient(90deg,#ff2a5f,#e0003c);transition:width .8s cubic-bezier(.2,.8,.2,1)}
#content .hm-pending{margin:10px 0 0;font-size:13px;font-weight:600;color:#b26a00}
#content .hm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
#content .hm-actions .button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none}
#content .hm-actions .button .icon{width:17px;height:17px}

/* Plata */
#content .hm-money{display:grid;gap:0}
#content .hm-money>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid rgba(37,38,50,.07)}
#content .hm-money>div:first-child{border-top:0;padding-top:2px}
#content .hm-money span{font-size:13px;color:var(--muted)}
#content .hm-money strong{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
#content .hm-money .is-neg strong{color:#e0003c}
#content .hm-money .is-pos strong{color:#14804a}

/* Tareas */
#content .hm-list{list-style:none;margin:0;padding:0}
#content .hm-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(37,38,50,.07)}
#content .hm-list li:first-child{border-top:0;padding-top:2px}
#content .hm-check{all:unset;box-sizing:border-box;cursor:pointer;width:26px;height:26px;border-radius:50%;border:2px solid #d5d5dc;display:grid;place-items:center;color:transparent;transition:border-color .15s,background .15s,color .15s}
#content .hm-check .icon{width:14px;height:14px}
#content .hm-check:hover,#content .hm-check:focus-visible{border-color:#14804a;color:#14804a}
#content .hm-check:disabled{background:#14804a;border-color:#14804a;color:#fff}
#content .hm-task{all:unset;cursor:pointer;display:grid;gap:3px;min-width:0}
#content .hm-task strong{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#content .hm-task small{font-size:12px;color:var(--muted)}
#content .hm-task small b{font-weight:600}
#content .hm-task:hover strong{color:#e0003c}
#content .hm-list li.is-late small b{color:#e0003c}
#content .hm-list .responsibles{display:flex}
#content .hm-list .avatar-stack img,#content .hm-list .avatar-stack .avatar{width:24px;height:24px;font-size:10px}
#content .hm-more{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:13px;font-weight:700;color:#e0003c;text-decoration:none}
#content .hm-more .icon{width:14px;height:14px}

/* Tarjetas de la tercera columna, más compactas */
#content .hm-grid .lineup-row{padding:8px 0}
#content .hm-grid .social-home,#content .hm-grid .documents-card{margin:0!important}

html[data-theme=dark] #content .hm-fest{color:#fff}
html[data-theme=dark] #content .hm-n,html[data-theme=dark] #content .hm-bar{background:#2c2d3a}
html[data-theme=dark] #content .hm-money>div,html[data-theme=dark] #content .hm-list li{border-color:rgba(255,255,255,.08)}

@media(max-width:1100px){#content .hm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#content .hm-col:nth-child(3){grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media(max-width:720px){
 #content .hm-head{margin:0 2px 14px;gap:10px}
 #content .hm-when{font-size:13px;margin-top:6px}
 #content .hm-count{flex-direction:column;align-items:flex-end;gap:2px}
 #content .hm-count span{font-size:11px}
 #content .hm-grid{display:flex;flex-direction:column;gap:12px}
 #content .hm-grid>.hm-col,#content .hm-grid>.hm-col:nth-child(3){display:contents}
 #content .hm-sales{order:1}#content .hm-tasks{order:2}#content .hm-grid .hm-col:first-child>.hm-card:not(.hm-sales){order:3}
 #content .hm-col:nth-child(3)>*{order:4}
 #content .hm-kpis{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}
 #content .hm-actions .button{flex:1;justify-content:center}
}
html:not(.show-picker) body:has(#content .hm-head) .festival-context{display:none}
#content .hm-k span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#content .hm-num{margin:0;display:flex;align-items:baseline;gap:2px;min-width:0}
#content .hm-num em{font-style:normal;font-size:13px;font-weight:700;color:var(--muted)}
@media(max-width:720px){#content .hm-grid>*,#content .hm-grid .hm-card{width:100%;box-sizing:border-box;align-self:stretch}#content .hm-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}#content .hm-k strong{font-size:19px}#content .hm-k span{font-size:11px}#content .hm-actions .button{white-space:nowrap;font-size:13px;padding:0 10px}}

/* Tablero de Inicio (v6): números arriba, gráfico, tareas, calendario, gastos, line-up, foto y agenda */
#content .db{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
#content .db>.card{margin:0!important;padding:18px;border-radius:22px;min-width:0}
#content .db .card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
#content .db .card-head h2{font-size:16px;margin:0}
#content .db-sub{font-size:12px;color:var(--muted);font-weight:600}
#content .db-kpi{display:flex;gap:14px;align-items:flex-start}
#content .db-ic{flex:0 0 44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#ffe9ef;color:#e0003c}
#content .db-ic .icon{width:22px;height:22px}
#content .db-kpi>div{flex:1;min-width:0}
#content .db-kpi small{display:block;font-size:13px;color:var(--muted)}
#content .db-kpi strong{display:block;font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:2px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
#content .db-kpi strong.is-neg{color:#c4001f}
#content .db-kpi p{margin:0 0 8px;font-size:12.5px;color:var(--muted)}
#content .db-days strong{color:#e0003c;font-size:34px}
#content .db-chart{grid-column:span 2}
#content .db-chart-top{display:flex;align-items:baseline;gap:8px;margin:-4px 0 6px}
#content .db-chart-top strong{font-size:32px;font-weight:800;letter-spacing:-.03em}
#content .db-chart-top span{font-size:13px;color:var(--muted)}
#content .db-week{height:150px}
#content .db-week svg{width:100%;height:100%;overflow:visible}
#content .db-week .ln{fill:none;stroke:#e0003c;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
#content .db-week .ar{fill:url(#dbg)}
#content .db-week circle{fill:#fff;stroke:#e0003c;stroke-width:2.5}
#content .db-week text{font-size:11px;fill:var(--muted)}
#content .db-week .vl{font-weight:700;fill:var(--ink,#252632)}
#content .db .hm-tasks{grid-column:span 1}
#content .db-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
#content .db-cal-grid b{font-size:11px;color:var(--muted);font-weight:600;padding-bottom:4px}
#content .db-cal-grid a{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:50%;font-size:13px;color:inherit;text-decoration:none;font-variant-numeric:tabular-nums}
#content .db-cal-grid a i{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#e0003c}
#content .db-cal-grid a.is-today{background:#e0003c;color:#fff;font-weight:700}
#content .db-cal-grid a.is-today i{background:#fff}
#content .db-cal-grid a.is-fest{box-shadow:0 0 0 2px #e0003c inset;font-weight:700}
#content .db-sp{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line,#ececf0)}
#content .db-sp:first-of-type{border-top:0}
#content .db-sp>div:first-child{flex:1;min-width:0}
#content .db-sp strong{font-size:14px;display:block;margin-bottom:6px}
#content .db-sp .hm-bar{height:5px;max-width:140px}
#content .db-sp-v{text-align:right}
#content .db-sp-v b{display:block;font-size:14px}
#content .db-sp-v small{font-size:11.5px;color:var(--muted)}
#content .db-hero{position:relative;overflow:hidden;color:#fff;min-height:240px;display:flex;align-items:flex-end;padding:22px!important;background:linear-gradient(180deg,rgba(20,0,8,.15),rgba(20,0,8,.85)),url(https://festivalfervor.com/assets/galeria/fervor-iii-hq-03.webp) center/cover;border:0}
#content .db-hero small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
#content .db-hero h2{margin:8px 0 16px;font-size:30px;line-height:1.05;letter-spacing:-.03em;color:#fff}
#content .db-hero-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:#e0003c;color:#fff;font-weight:700;text-decoration:none}
#content .db-tl{list-style:none;margin:0;padding:0;display:grid;gap:14px}
#content .db-tl li{display:grid;grid-template-columns:48px 10px 1fr;gap:10px;align-items:start}
#content .db-tl span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:1px}
#content .db-tl i{width:8px;height:8px;border-radius:50%;background:#e0003c;margin-top:5px}
#content .db-tl strong{display:block;font-size:14px}
#content .db-tl small{font-size:12px;color:var(--muted)}
#content .db .hm-list{max-height:280px;overflow:auto}
@media (max-width:1100px){#content .db{grid-template-columns:repeat(2,minmax(0,1fr))}#content .db-chart{grid-column:span 2}}
@media (max-width:700px){#content .db{grid-template-columns:1fr;gap:12px}#content .db-chart{grid-column:auto}#content .db-kpi strong{font-size:24px}}
/* modo oscuro */
html[data-theme=dark] #content .db-ic,html.dark #content .db-ic{background:rgba(224,0,60,.18)}

#content .db-lineup{grid-column:span 2}
#content .db-hero{grid-column:span 2}
#content .db-chart .hm-actions .button.primary{background:#e0003c;color:#fff}
@media (max-width:1100px){#content .db-lineup,#content .db-hero{grid-column:span 2}}
@media (max-width:700px){#content .db-lineup,#content .db-hero{grid-column:auto}}
@media (max-width:700px){
 #content .db>*{order:0!important}
 #content .db{grid-template-columns:1fr 1fr}
 #content .db>.card:not(.db-kpi){grid-column:1/-1}
 #content .db-kpi{flex-direction:column;gap:8px;padding:14px!important}
 #content .db-kpi .db-ic{flex-basis:auto;width:36px;height:36px}
 #content .db-kpi strong{font-size:22px}
 #content .db-kpi p{font-size:11.5px}
}
@media (max-width:700px){#content .db-kpi>div{min-width:0;width:100%}#content .db-kpi strong{font-size:clamp(17px,5.4vw,22px)}#content .db-kpi p{overflow-wrap:anywhere}}

#content .db-chart{display:flex;flex-direction:column}
#content .db-chart .db-week{flex:1;min-height:160px}
#content .db-chart-btns{display:flex;gap:8px}
#content .db-pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;background:#f1f1f4;color:var(--ink,#252632);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
#content .db-pill.is-main{background:#e0003c;color:#fff}
#content .db-pill .icon{width:15px;height:15px}
html[data-theme=dark] #content .db-pill:not(.is-main){background:rgba(255,255,255,.08)}
@media (max-width:700px){#content .db-chart .card-head{flex-wrap:wrap}#content .db-pill span{display:none}#content .db-pill{padding:0 11px}}
html[data-theme=dark] #content .db>.db-hero{background:linear-gradient(180deg,rgba(20,0,8,.15),rgba(20,0,8,.85)),url(https://festivalfervor.com/assets/galeria/fervor-iii-hq-03.webp) center/cover!important;border:0!important}
/* Cambiar festival desde el título: los festivales aparecen debajo, uno por píldora */
#content .hm-pick{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
#content .hm-pick[hidden]{display:none}
#content .hm-pick button{min-height:40px;padding:8px 16px;border-radius:999px;border:0;background:#f2f2f5;color:var(--ink);font-weight:700;font-size:14px}
#content .hm-pick button[aria-pressed=true]{background:#ff0043;color:#fff}
#content .hm-fest[aria-expanded=true] svg{transform:rotate(180deg)}
html[data-theme=dark] #content .hm-pick button{background:#2c2d3a;color:#f3f3f7}
html[data-theme=dark] #content .hm-pick button[aria-pressed=true]{background:#ff0043;color:#fff}
/* Fecha, hora y lugar como datos con ícono (sin «·») */
#content .hm-when{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
#content .hm-when::first-letter{text-transform:none}
#content .hm-when span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}

#content .hm-when svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#ff0043}
/* Lo próximo: arriba de todo, a todo el ancho. Lo de ahora en grande con su color de estado; después, las cuatro siguientes */
#content .db-next{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;padding:22px!important}
#content .db-next-k{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ff0043}
#content .db-next-now{border-radius:18px;padding:20px;background:var(--idle-bg,#efeff3);display:flex;flex-direction:column;gap:10px;min-width:0}
#content .db-next-now.is-late{background:var(--bad-bg,#ffe6ed)}
#content .db-next-now.is-soon{background:var(--wip-bg,#fff3cc)}
#content .db-next-title{all:unset;cursor:pointer;font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}
#content .db-next-when{margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--muted)}
#content .db-next-now.is-late .db-next-when b{color:var(--bad-ink,#b0002f)}
#content .db-next-now.is-soon .db-next-when b{color:var(--wip-ink,#7a5600)}
#content .db-next-note{margin:0;font-size:14px;line-height:1.45;color:var(--ink);opacity:.8}
#content .db-next-act{margin-top:auto;display:flex;align-items:center;gap:12px}
#content .db-next-done{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#ff0043;color:#fff;font-weight:700}
#content .db-next-done .icon{width:18px;height:18px}
#content .db-next-then .hm-list{margin:0;padding:0;list-style:none}
#content .db-next-then .hm-list li:first-child{border-top:0}
#content .db-next.is-empty{display:block}
#content .db-next.is-empty h2{margin:0;font-size:28px}
html[data-theme=dark] #content .db-next-title{color:#f3f3f7}
@media(max-width:899px){#content .db-next{grid-template-columns:1fr;gap:16px;padding:16px!important}}
#content .db-next-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
#content .db-next-head .db-next-k{margin:0}
#content .db-chart{grid-column:span 3}
@media(max-width:1100px){#content .db-chart{grid-column:1/-1}}
