/* Panel de dueños: reportes, horarios, planes, equipo, ficha, auditoría y ayuda. Usa los tokens de /app/assets/sana.css. */
.side .group{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 10px 4px;opacity:.8}
@media (max-width:760px){.side .group{padding:0 4px 0 10px;border-left:1px solid var(--line)}}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.card > h2{font-size:17px}
.card > header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.card > header h2{font-size:17px}
.card > header small{color:var(--muted);font-size:12px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:820px){.grid3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.grid2{grid-template-columns:minmax(0,1fr)}}
.stats.six{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:980px){.stats.six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.stats.six{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat .delta{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.stat .delta.up{color:var(--good)}
.stat .delta.down{color:var(--crit)}
.stat strong.sm{font-size:18px}

/* barras horizontales: etiqueta en HTML (siempre legible), barra en SVG */
.bars{display:flex;flex-direction:column;gap:9px}
.bar{display:grid;grid-template-columns:minmax(90px,170px) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}
.bar .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .lbl small{color:var(--muted);font-size:11.5px}
.bar svg{display:block;width:100%;height:14px}
.bar .val{font-variant-numeric:tabular-nums;font-weight:500;text-align:right;min-width:84px}
@media (max-width:520px){.bar{grid-template-columns:minmax(0,1fr) auto}.bar svg{grid-column:1/-1;grid-row:2}}
.track{fill:var(--sunk)}
.fill{fill:var(--accent)}
.fill.est{fill:var(--wh);fill-opacity:.7}

.chart{overflow-x:auto;-webkit-overflow-scrolling:touch}
.chart svg{display:block;width:100%;height:auto}
.chart text{font-family:var(--body);fill:var(--muted)}
.chart .ink{fill:var(--ink)}
.chart .on{fill:var(--accent-ink)}
.heat .cell{fill:var(--accent)}
.heat .none{fill:var(--sunk)}
.daily .col{fill:var(--accent)}
.daily .col.we{fill:var(--accent);fill-opacity:.55}
.daily .base{stroke:var(--line)}
.legend{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}
.legend .sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:4px}

.stack{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--sunk)}
.stack span{display:block;height:100%}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px;margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-variant-numeric:tabular-nums}

/* formularios del panel */
.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:end}
.form .wide{grid-column:1/-1}
.form label,.fl{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0}
.form input,.form select,.form textarea,.inp{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:7px 9px;font:inherit;font-size:13.5px;min-width:0;width:100%}
.form textarea{min-height:56px;resize:vertical}
.form .check{flex-direction:row;align-items:center;gap:6px;color:var(--ink);font-size:13px}
.form .check input{width:auto}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn.sm{width:auto;padding:8px 14px;font-size:13px;border-radius:8px}
.btn.danger{background:var(--crit);color:var(--surface)}
.msg{font-size:13px}

/* editor de horario */
.rulerow{display:grid;grid-template-columns:auto repeat(5,minmax(70px,1fr)) minmax(110px,1.2fr) auto;gap:8px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}
.rulerow:first-of-type{border-top:0}
@media (max-width:900px){.rulerow{grid-template-columns:repeat(3,minmax(0,1fr))}.rulerow .days{grid-column:1/-1}}
.days{display:flex;gap:4px}
.days button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:12px;padding:0;color:var(--muted)}
.days button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
@media (max-width:760px){.week{grid-template-columns:minmax(0,1fr)}}
.wday{background:var(--bg);border-radius:8px;padding:8px 10px;font-size:12.5px;display:flex;flex-direction:column;gap:3px;min-width:0}
.wday b{font-weight:500;font-size:12px}
.wday .closed{color:var(--crit)}
.wday .changed{color:var(--warn);font-size:11px}
.wday .r{font-variant-numeric:tabular-nums}
.wday .r.women{color:var(--wh)}
.draft{border:1px dashed var(--accent);background:var(--accent-soft)}

/* listas compactas */
.list{display:flex;flex-direction:column}
.li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font-size:13px;flex-wrap:wrap}
.li:first-child{border-top:0}
.li small{color:var(--muted);display:block;font-size:11.5px}
.tablewrap table.compact{min-width:560px}
table.compact td,table.compact th{padding:8px 10px;font-size:13px}
.diff{font-size:12px;color:var(--muted);max-width:420px;overflow-wrap:anywhere}
.diff b{color:var(--ink);font-weight:500}

/* ayuda */
.help h2{font-size:18px}
.help ol,.help ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.help p{margin:0;font-size:14px}
.back{border:0;background:none;color:var(--muted);font-size:13px;padding:0;text-align:left}
.btn.sm[href]{text-decoration:none;text-align:center}
