/* Toolbar */
.taq-rev-toolbar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px;margin:8px 0 14px}
.taq-rev-toolbar .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.taq-rev-toolbar .legend .chip{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;line-height:1;margin-left:8px;border:1px solid transparent}
.chip-done{background:#e7f7ec;border-color:#bbf7d0;color:#166534}
.chip-scheduled{background:#f1f5f9;border-color:#e5e7eb;color:#475569}
.chip-overdue{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}
.chip-moved{background:#fef3c7;border-color:#fde68a;color:#92400e}
.kpis .kpi{display:flex;gap:10px;align-items:center}.kpi-title{font-weight:700}
.kpi-bar{width:220px;height:14px;background:#f1f5f9;border-radius:999px;overflow:hidden;position:relative}
#taq-rev-battery{height:100%;width:0%;background:linear-gradient(90deg,#22c55e,#84cc16);transition:width .25s}
.tip{color:#6b7280}

/* Calendario */
#taq-rev-calendar{display:flex !important;flex-direction:column !important;gap:16px !important}
#calendar-wrap,#days{display:flex !important;flex-direction:column !important;gap:16px !important;width:100% !important}
#taq-rev-calendar .week-row{display:grid !important;grid-template-columns:230px repeat(7,minmax(0,1fr)) !important;gap:10px !important;align-items:stretch !important;grid-auto-rows:minmax(0,1fr) !important}
#taq-rev-calendar .week-row > .week-indicator{grid-column:1 !important;align-self:stretch !important;margin:0 !important;display:flex !important;flex-direction:column;justify-content:flex-start;gap:6px;min-height:160px}
#taq-rev-calendar .week-row > .day{grid-row:1 !important;align-self:stretch !important;margin:0 !important;min-height:0;height:100%;display:flex;flex-direction:column;box-sizing:border-box;width:100%}
#dows{display:grid !important;grid-template-columns:200px repeat(7,minmax(0,1fr)) !important;gap:10px !important;margin-bottom:6px}

@media (max-width: 768px) {
  #taq-rev-summary,
  #dows,
  #calendar-wrap #dows,
  #taq-rev-calendar .week-row > .week-indicator,
  #calendar-wrap .week-row > .week-indicator,
  #days .week-row > .week-indicator {
    display: none !important;
  }
  #taq-summary-block,
  .rev-summary,
  .rev-summary-head,
  .rev-summary-kpis,
  #taq-rev-summary-kpi,
  .rev-summary-rows,
  .taq-rev-toolbar .row.kpis,
  .kpi,
  .kpi-bar,
  .kpi-sub,
  .week-indicator {
    display: none !important;
  }
  #calendar-wrap,
  #days,
  #taq-rev-calendar {
    display: block !important;
    gap: 12px !important;
    width: 100% !important;
  }
  #calendar-wrap #days {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  #taq-rev-calendar .week-row,
  #days .week-row {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    gap: 16px !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
  }
  #taq-rev-calendar .week-row > .day,
  #days .week-row > .day {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    margin: 0 !important;
    grid-column: auto !important;
  }
  #taq-rev-calendar .day,
  #days .day {
    box-sizing: border-box !important;
  }
  #taq-rev-calendar .day header,
  #days .day header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }
  #taq-rev-calendar .day .list,
  #days .day .list {
    max-height: none !important;
    flex: none !important;
  }
  #taq-rev-calendar .day .list .pill,
  #taq-rev-calendar .day .list .holiday-note,
  #taq-rev-calendar .day .list .empty,
  #days .day .list .pill,
  #days .day .list .holiday-note,
  #days .day .list .empty {
    width: 100% !important;
  }
}
#taq-rev-calendar .day{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:10px;min-height:180px;display:flex;flex-direction:column;flex:1;height:100%}
#taq-rev-calendar .day.placeholder{background:transparent;border-color:transparent}
#taq-rev-calendar .day .head{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:6px 8px;align-items:center;font-weight:700;font-size:12px;color:#334155}
#taq-rev-calendar .day .daynum{padding:3px 6px;border-radius:999px;border:1px solid #e5e7eb;background:#f8fafc}
#taq-rev-calendar .list{margin-top:8px;display:flex;flex-direction:column;gap:6px;min-height:0;flex:1;height:100%}
#taq-rev-calendar .list .empty{min-height:44px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#475569;font-weight:600;display:flex;align-items:center;justify-content:center}

/* Botones de cabecera DIA (más suaves) */
.hint{justify-self:start;font-size:11px;font-weight:700;color:#4338ca;background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;padding:4px 8px;cursor:pointer;user-select:none}
.hint:hover{background:#e0e7ff}
.btn-new{justify-self:end;font-size:11px;font-weight:700;color:#166534;background:#e7f7ec;border:1px solid #bbf7d0;border-radius:999px;padding:4px 8px;cursor:pointer}
.btn-new:hover{background:#d1fae5}

/* Batería día (colores coherentes con leyenda) */
.daybar{grid-column:1/-1;height:18px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;overflow:hidden;width:100%;cursor:pointer}
.daybar:hover{box-shadow:0 0 0 2px rgba(59,130,246,.08) inset}
.daybar .seg{height:100%;display:inline-block}
.daybar .seg.done{background:#22c55e}
.daybar .seg.moved{background:#f59e0b}
.daybar .seg.overdue{background:#ef4444}
.daybar .seg.scheduled{background:#94a3b8}

.week-indicator{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#0f172a;font-weight:600;font-size:13px;box-shadow:0 10px 22px rgba(15,23,42,.08)}
.week-indicator__title{font-size:16px;font-weight:700;margin-bottom:4px}
.week-indicator__range{font-size:12px;color:#475569}
.week-indicator__pending{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#475569}
.week-indicator__pending-label{font-weight:600}
.week-indicator__pending-list{display:flex;flex-direction:column;gap:4px;max-height:calc(1.3em*10);overflow:hidden}
.week-indicator__pending-list.expanded{max-height:none}
.week-indicator__pending-item{line-height:1.3em}
.week-indicator__pendings-toggle{border:none;background:transparent;color:#0b6ef6;text-align:left;padding:0;font-size:12px;cursor:pointer}

#risk-banner{display:none;margin:6px 0 10px;padding:10px 12px;border-radius:10px;border:1px solid #fcd34d;background:#fefce8;color:#92400e;font-size:13px;}
#risk-banner .risk-alert-link{border:none;background:none;color:#0b6ef6;text-decoration:underline;padding:0;margin-left:4px;cursor:pointer;font-size:12px}
.risk-highlight{animation:risk-highlight 1.6s ease;}
@keyframes risk-highlight{0%{background:#dbeafe}100%{background:transparent}}
.week-indicator__pct{align-self:flex-end;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.week-indicator__pct-value{font-size:18px;font-weight:700}
.week-indicator__pct-desc{font-size:12px;color:#475569}

/* Vista general = compacta */
#taq-rev-calendar.compact{gap:8px}
#taq-rev-calendar.compact .day{padding:8px;min-height:84px}
#taq-rev-calendar.compact .day .head{gap:4px 6px}
#taq-rev-calendar.compact .hint{padding:2px 8px}
#taq-rev-calendar.compact .btn-new{padding:2px 8px}
#taq-rev-calendar.compact .daybar{height:18px}
#taq-rev-calendar.compact .list{display:none}

/* Tarjeta visita */
.pill{padding:6px 8px;border-radius:10px;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #e5e7eb;min-height:48px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}
.pill.done{background:#e7f7ec}.pill.scheduled{background:#eef2f7}.pill.overdue{background:#fee2e2}.pill.moved{background:#fef3c7}
.pill .meta{opacity:.75;font-size:11px;color:#475569}

/* Botones/iconos de acción */
.actions{display:flex;align-items:center;gap:6px}
.icon{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:4px 6px;cursor:pointer;line-height:1}
.icon:hover{background:#f8fafc}
.icon.danger{color:#b91c1c}
.icon.small{padding:3px 5px;font-size:12px}

/* Switch estilo slider */
.switch{position:relative;display:inline-block;width:34px;height:18px}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#cbd5e1;transition:.2s;border-radius:999px}
.slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;top:2px;background:white;transition:.2s;border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.switch input:checked + .slider{background:#22c55e}
.switch input:checked + .slider:before{transform:translateX(16px)}

/* Diálogos y botones base */
dialog{border:none;border-radius:14px;padding:0;box-shadow:0 25px 60px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(0,0,0,.2)}
.taq-rev-modal{min-width:620px;padding:16px 18px}
.taq-rev-modal h3{margin:0 0 10px}
.taq-rev-modal .btn{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px 10px}

.taq-rev-date{min-width:460px;padding:16px 18px}
.taq-rev-date h3{margin:0 0 6px}
.taq-rev-date .muted{color:#6b7280;margin:0 0 10px}
.taq-rev-date .grp{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.taq-rev-date input[type="text"], .taq-rev-date select{border:1px solid #cbd5e1;border-radius:8px;padding:8px}
.taq-rev-date .quick{display:flex;gap:6px;margin:6px 0 12px}
.taq-rev-date .quick button{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:5px 8px;cursor:pointer}
.taq-rev-date menu{display:flex;gap:8px;justify-content:flex-end;margin:0}
.btn{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}
.btn-primary{background:#111827;color:#fff;border-color:#111827}
.btn-green{background:#22c55e;color:#fff;border-color:#16a34a}

/* Calendario propio (selector de fecha) */
#rev-cal{border:1px solid #e5e7eb;border-radius:12px;padding:10px}
.revcal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.revcal-head .nav{display:flex;gap:6px}
.revcal-head button{border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:4px 8px;cursor:pointer}
.revcal-title{font-weight:700}
.revcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.revcal-dow{font-size:11px;color:#6b7280;text-align:center}
.revcal-day{height:34px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.revcal-day.out{opacity:.35}
.revcal-day.today{border-color:#60a5fa}
.revcal-day.sel{background:#111827;color:#fff;border-color:#111827}

/* Resumen visual */
.rev-summary{margin:12px 0 18px;padding:12px;border:1px solid var(--ring,#e2e8f0);border-radius:12px;background:var(--card,#fff)}
.rev-summary-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rev-summary-kpis{display:flex;gap:12px;flex-wrap:wrap}
.rev-summary-kpis .summary-kpi{padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;min-width:150px}
.rev-summary-kpis .summary-kpi .label{font-size:12px;color:#475569}
.rev-summary-kpis .summary-kpi .value{font-size:20px;font-weight:700;line-height:1.2}
.rev-summary-kpis .summary-kpi .sub{font-size:12px;color:#475569}
.rev-summary-rows{margin-top:10px;display:flex;flex-direction:column;gap:10px}
.rev-summary-row{border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#fff;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}
.rev-summary-row:hover{box-shadow:0 4px 12px rgba(0,0,0,.05);transform:translateY(-1px)}
.rev-summary-row .row-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.rev-summary-row .name{font-weight:600}
.rev-summary-row .pct{font-variant-numeric:tabular-nums;color:#0f172a}
.rev-summary-row .counts{color:#475569;font-size:12px}
.rev-summary-row .bar{margin:8px 0;display:flex;height:10px;border-radius:999px;overflow:hidden;background:#f1f5f9}
.rev-summary-row .seg{display:block;height:100%}
.rev-summary-row .seg.done{background:#22c55e}
.rev-summary-row .seg.moved{background:#f59e0b}
.rev-summary-row .seg.missed{background:#ef4444}
.rev-summary-row .seg.planned{background:#cbd5e1}
.rev-summary-row .row-meta{font-size:12px;color:#475569}

