  * { box-sizing: border-box; margin: 0; padding: 0; }
  body { font-family: 'Nunito', Arial, sans-serif; font-size: 13px; background: #F0F6FF; min-height: 100vh; }

  .topbar {
    background: linear-gradient(135deg, #00AAFF 0%, #0055AA 100%);
    padding: 0 24px; display: flex; align-items: center;
    justify-content: space-between; height: 54px;
    box-shadow: 0 2px 12px rgba(0,80,180,.3); position: sticky; top: 0; z-index: 100;
  }
  .topbar-left { display: flex; align-items: center; gap: 12px; }
  .back-btn {
    color: rgba(255,255,255,.85); font-size: 13px; font-weight: 800;
    text-decoration: none; display: flex; align-items: center; gap: 6px;
    padding: 6px 12px; border-radius: 20px; border: 1.5px solid rgba(255,255,255,.3);
    transition: background .15s;
  }
  .back-btn:hover { background: rgba(255,255,255,.15); }
  .topbar-title { color: white; font-size: 16px; font-weight: 900; text-transform: uppercase; }
  .topbar-ts { color: rgba(255,255,255,.7); font-size: 11px; font-weight: 700; }

  .tabs-wrap { background: white; border-bottom: 2px solid #CCE9FF; padding: 0 24px; display: flex; gap: 4px; }
  .tab-btn {
    padding: 14px 22px 12px; font-family: 'Nunito', Arial; font-size: 13px;
    font-weight: 800; color: #6699BB; background: none; border: none;
    border-bottom: 3px solid transparent; cursor: pointer; transition: color .15s, border-color .15s;
    text-transform: uppercase;
  }
  .tab-btn:hover { color: #0077BB; }
  .tab-btn.active { color: #00AAFF; border-bottom-color: #00AAFF; }

  .main { padding: 20px 24px; }
  .tab-panel { display: none; }
  .tab-panel.active { display: block; }

  .filter-bar {
    background: white; border-radius: 14px; padding: 14px 20px;
    margin-bottom: 18px; display: flex; flex-wrap: wrap; gap: 12px;
    align-items: center; box-shadow: 0 2px 10px rgba(0,80,180,.08);
  }
  .filter-bar label { font-size: 11px; font-weight: 800; color: #0077BB; text-transform: uppercase; letter-spacing: .5px; }
  .filter-bar input[type="date"], .filter-bar select {
    border: 1.5px solid #CCE9FF; border-radius: 10px; padding: 7px 12px;
    font-size: 12px; outline: none; font-family: 'Nunito', Arial; color: #1a1a1a; transition: border-color .2s;
  }
  .filter-bar input:focus, .filter-bar select:focus { border-color: #00AAFF; }
  .filter-group { display: flex; align-items: center; gap: 8px; }
  .filter-sep { color: #CCE9FF; font-size: 16px; }
  .btn-apply {
    background: linear-gradient(135deg, #00AAFF, #0055AA); color: white;
    border: none; border-radius: 20px; padding: 8px 20px; font-size: 12px;
    font-weight: 800; cursor: pointer; font-family: 'Nunito', Arial; text-transform: uppercase;
  }
  .btn-apply:hover { opacity: .88; }
  .btn-sec {
    background: #E8F6FF; color: #0077BB; border: 1.5px solid #99D4F5;
    border-radius: 20px; padding: 7px 14px; font-size: 12px; font-weight: 800;
    cursor: pointer; font-family: 'Nunito', Arial; text-transform: uppercase;
  }

  .kpi-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
  .kpi-card { background: white; border-radius: 14px; padding: 14px 16px; box-shadow: 0 2px 10px rgba(0,80,180,.08); border-left: 4px solid #00AAFF; }
  .kpi-card.verde   { border-left-color: #1E8449; }
  .kpi-card.naranja { border-left-color: #E67E22; }
  .kpi-card.rojo    { border-left-color: #C0392B; }
  .kpi-label { font-size: 10px; text-transform: uppercase; letter-spacing: .8px; color: #7799AA; font-weight: 800; margin-bottom: 5px; }
  .kpi-value { font-size: 26px; font-weight: 900; color: #003366; line-height: 1; }
  .kpi-sub   { font-size: 10px; color: #99AABB; margin-top: 3px; font-weight: 700; text-transform: uppercase; }

  .rpt-card { background: white; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,80,180,.08); overflow: hidden; }
  .rpt-card-title { font-size: 13px; font-weight: 900; color: #003366; text-transform: uppercase; padding: 12px 18px; border-bottom: 1.5px solid #EEF4FF; }
  .rpt-grid2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-bottom: 18px; }
  .rpt-grid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-bottom: 18px; }
  .rpt-grid4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-bottom: 18px; }
  @media(max-width:1200px) { .rpt-grid4 { grid-template-columns: repeat(2,1fr); } }
  @media(max-width:900px)  { .rpt-grid3,.rpt-grid2 { grid-template-columns: 1fr; } }

  .rpt-table { width: 100%; border-collapse: collapse; }
  .rpt-table thead th { background: #F0F6FF; color: #0055AA; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; padding: 9px 14px; text-align: left; white-space: nowrap; }
  .rpt-table th.n { text-align: right; }
  .rpt-table tbody tr { border-top: 1px solid #F0F4FA; transition: background .1s; }
  .rpt-table tbody tr:hover { background: #F8FBFF; }
  .rpt-table tbody td { padding: 8px 14px; color: #1a1a1a; font-size: 12px; }
  .rpt-table tbody td.n { text-align: right; font-weight: 800; color: #003366; }
  .rpt-table tfoot td { padding: 8px 14px; font-weight: 900; color: #003366; font-size: 12px; background: #F0F6FF; border-top: 2px solid #CCE9FF; }
  .rpt-table tfoot td.n { text-align: right; }

  .rpt-badge { display: inline-block; border-radius: 20px; padding: 2px 10px; font-size: 11px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
  .rb-cerrada  { background:#D5F5E3; color:#1E8449; }
  .rb-embalada { background:#EDE0FF; color:#6C3483; }
  .rb-pickeado { background:#D6EAF8; color:#1A5276; }
  .rb-parcial  { background:#FEF9E7; color:#E67E22; }
  .rb-sinpick  { background:#FADBD8; color:#C0392B; }
  .rb-abierta  { background:#FEF9E7; color:#E67E22; }
  .rb-pick     { background:#D6EAF8; color:#1A5276; }
  .rb-emb      { background:#EDE0FF; color:#6C3483; }
  .sap-est-chip { display:inline-block; border-radius:20px; padding:2px 8px; font-size:10px; font-weight:800; white-space:nowrap; margin:1px; }
  .sap-ec-cerrado  { background:#D5F5E3; color:#1E8449; }
  .sap-ec-embalado { background:#EDE0FF; color:#6C3483; }
  .sap-ec-parcial  { background:#FEF9E7; color:#E67E22; }
  .sap-ec-picking  { background:#D6EAF8; color:#1A5276; }
  .sap-ec-otro     { background:#F2F3F4; color:#555; }

  .rpt-prog-wrap { background:#EEF4FF; border-radius:4px; height:7px; overflow:hidden; min-width:60px; }
  .rpt-prog-bar  { height:100%; border-radius:4px; }
  .rpt-funnel-wrap { padding: 12px 16px; }
  .rpt-funnel-item { margin-bottom: 7px; }
  .rpt-funnel-label { display: flex; justify-content: space-between; margin-bottom: 3px; }
  .rpt-funnel-name { font-size: 11px; font-weight: 800; color: #003366; text-transform: uppercase; }
  .rpt-funnel-vals { font-size: 11px; color: #7799AA; font-weight: 700; }
  .rpt-funnel-bar-wrap { background: #EEF4FF; border-radius: 4px; height: 18px; overflow: hidden; }
  .rpt-funnel-bar { height: 100%; border-radius: 4px; display: flex; align-items: center; padding: 0 8px; font-size: 11px; font-weight: 800; color: white; transition: width .8s; }
  .rpt-funnel-arrow { text-align: center; color: #CCE9FF; font-size: 13px; margin: 2px 0; }
  .rpt-sla-cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; padding: 14px; }
  .rpt-sla-card { background: #F8FBFF; border-radius: 12px; border: 1.5px solid #EEF4FF; padding: 14px 8px; text-align: center; }
  .rpt-sla-value { font-size: 28px; font-weight: 900; line-height: 1; }
  .rpt-sla-label { font-size: 10px; font-weight: 800; text-transform: uppercase; color: #7799AA; margin-top: 5px; }
  .rpt-lt-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 14px 14px; }
  .rpt-lt-card { background: #F8FBFF; border-radius: 12px; border: 1.5px solid #EEF4FF; padding: 12px; text-align: center; }
  .rpt-lt-value { font-size: 24px; font-weight: 900; color: #00AAFF; }
  .rpt-lt-label { font-size: 10px; color: #7799AA; text-transform: uppercase; font-weight: 800; margin-top: 3px; }
  .rpt-alertas { display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 12px; padding: 16px; }
  .rpt-alerta { background: #F8FBFF; border-radius: 12px; padding: 14px 16px; border-left: 4px solid; display: flex; gap: 10px; }
  .rpt-alerta.rojo     { border-color:#C0392B; background:#FFF5F5; }
  .rpt-alerta.amarillo { border-color:#F39C12; background:#FFFBF0; }
  .rpt-alerta.verde    { border-color:#27AE60; background:#F0FFF6; }
  .rpt-alerta-icon { font-size:20px; flex-shrink:0; }
  .rpt-alerta-titulo { font-size:12px; font-weight:900; color:#003366; margin-bottom:3px; }
  .rpt-alerta-desc   { font-size:11px; color:#7799AA; }
  .rpt-alerta-pr     { font-size:10px; font-weight:800; text-transform:uppercase; margin-top:4px; }
  .rpt-pr-alta  { color:#C0392B; } .rpt-pr-media { color:#E67E22; } .rpt-pr-baja { color:#27AE60; }
  .rpt-empty { text-align:center; padding:28px; color:#99AABB; font-weight:800; font-size:12px; text-transform:uppercase; }
  .rpt-ts-chip { margin-left:auto; background:#F0F6FF; border:1px solid #EEF4FF; border-radius:20px; padding:4px 12px; font-size:10px; color:#7799AA; font-weight:700; white-space:nowrap; }
  .rpt-demo-banner { background:#FFF3CD; border:1.5px solid #FFECB5; border-radius:12px; padding:10px 16px; font-size:12px; font-weight:800; color:#856404; margin-bottom:14px; display:flex; align-items:center; gap:10px; }

  /* ══ Pedidos SAP — presets + tabla seller×fecha ══ */
  .sap-presets { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:14px; }
  .sap-presets-lbl { font-size:11px; color:#7799AA; font-weight:700; margin-right:2px; }
  .sap-pb { font-size:11px; padding:5px 13px; height:30px; border:1.5px solid #CCE9FF; border-radius:20px; background:white; color:#7799AA; cursor:pointer; font-family:'Nunito',Arial; font-weight:800; white-space:nowrap; transition:all .15s; }
  .sap-pb:hover { background:#E8F6FF; color:#0077BB; border-color:#99D4F5; }
  .sap-pb.active { background:#E8F6FF; color:#0055AA; border-color:#0055AA; }
  .sap-pb.vl { border-color:#E67E22; color:#E67E22; }
  .sap-pb.vl:hover,.sap-pb.vl.active { background:#FEF3E0; color:#A04000; border-color:#E67E22; }
  .sap-date-hdr td { background:#5B9BD5; color:white; font-size:11px; font-weight:800; padding:8px 14px; text-transform:uppercase; letter-spacing:.5px; }
  .sap-total-row td { background:#EBF4FF; color:#2563A8; font-weight:800; font-size:12px; border-top:1.5px solid #B5C8EE; }
  .sap-grand-row td { background:#2563A8; color:white; font-weight:800; font-size:12px; border-top:2px solid #5B9BD5; }
  .sap-pill { display:inline-flex; align-items:center; gap:4px; padding:2px 9px; border-radius:10px; font-size:11px; font-weight:800; white-space:nowrap; }
  .sap-ok   { background:#D5F5E3; color:#0A5C3A; }
  .sap-proc { background:#D6EAF8; color:#1A5276; }
  .sap-pend { background:#FAEAF3; color:#8C0E52; }
  .sap-footer-note { font-size:10px; color:#99AABB; padding:8px 16px 12px; }

  /* ══ KPI TIENDA — nuevo diseño ══ */
  .t-header { background:linear-gradient(135deg,#0D2137 0%,#1A3A5C 100%); border-radius:14px; padding:16px 22px; margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
  .t-header-left h2 { color:white; font-size:18px; font-weight:900; text-transform:uppercase; margin-bottom:2px; }
  .t-header-left p  { color:rgba(255,255,255,.55); font-size:11px; font-weight:700; }
  .t-header-filters { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .t-filter-group   { display:flex; flex-direction:column; gap:3px; }
  .t-filter-group label { color:rgba(255,255,255,.6); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; }
  .t-filter-group select, .t-filter-group input[type=date] { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:8px; padding:5px 10px; color:white; font-size:11px; font-weight:700; font-family:'Nunito',Arial; outline:none; min-width:120px; }
  .t-filter-group select option { background:#1A3A5C; color:white; }
  .t-btn-ref { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); border-radius:20px; color:white; font-size:11px; font-weight:800; padding:7px 14px; cursor:pointer; font-family:'Nunito',Arial; transition:background .15s; }
  .t-btn-ref:hover { background:rgba(255,255,255,.25); }
  .t-btn-ref:disabled { opacity:.5; cursor:default; }
  .t-ts { color:rgba(255,255,255,.5); font-size:10px; font-weight:700; white-space:nowrap; }

  .t-kpi4 { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:16px; }
  @media(max-width:900px){ .t-kpi4{ grid-template-columns:repeat(2,1fr); } }
  .t-kpi-card { background:white; border-radius:14px; padding:16px 20px; box-shadow:0 2px 10px rgba(0,80,180,.08); display:flex; align-items:center; gap:14px; }
  .t-kpi-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
  .t-kpi-icon.azul    { background:#E8F4FF; }
  .t-kpi-icon.verde   { background:#D5F5E3; }
  .t-kpi-icon.naranja { background:#FEF0E6; }
  .t-kpi-icon.morado  { background:#F0E8FF; }
  .t-kpi-label { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; color:#7799AA; margin-bottom:4px; }
  .t-kpi-value { font-size:24px; font-weight:900; color:#003366; line-height:1; }
  .t-kpi-sub   { font-size:10px; color:#99AABB; font-weight:700; margin-top:3px; }
  .t-kpi-pct   { font-size:28px; font-weight:900; color:#7C3AED; line-height:1; }

  .t-ops-card { background:white; border-radius:14px; padding:18px 22px; box-shadow:0 2px 10px rgba(0,80,180,.08); margin-bottom:16px; }
  .t-ops-title { font-size:12px; font-weight:900; color:#003366; text-transform:uppercase; letter-spacing:.5px; margin-bottom:14px; }
  .t-ops-bar { display:flex; border-radius:8px; overflow:hidden; height:52px; margin-bottom:12px; }
  .t-ops-seg { display:flex; flex-direction:column; align-items:center; justify-content:center; transition:width .8s; min-width:0; overflow:hidden; }
  .t-ops-seg .seg-val { font-size:13px; font-weight:900; color:white; white-space:nowrap; }
  .t-ops-seg .seg-pct { font-size:10px; font-weight:700; color:rgba(255,255,255,.8); white-space:nowrap; }
  .t-ops-labels { display:flex; gap:6px; flex-wrap:wrap; }
  .t-ops-dot { display:flex; align-items:center; gap:5px; font-size:11px; font-weight:800; color:#003366; }
  .t-ops-dot::before { content:''; width:10px; height:10px; border-radius:3px; flex-shrink:0; }

  .t-mid { display:grid; grid-template-columns:1fr 1.4fr; gap:16px; margin-bottom:16px; }
  @media(max-width:900px){ .t-mid{ grid-template-columns:1fr; } }
  .t-pick-cell { background:#F8FBFF; border-radius:12px; padding:12px 10px; text-align:center; border:1.5px solid #EEF4FF; }
  .t-pick-cell.destacado { background:#E8F4FF; border-color:#CCE9FF; }
  .t-pick-val   { font-size:20px; font-weight:900; color:#003366; line-height:1; }
  .t-pick-val.verde  { color:#1E8449; }
  .t-pick-val.naranja{ color:#E67E22; }
  .t-pick-lbl   { font-size:9px; font-weight:800; text-transform:uppercase; color:#7799AA; margin-top:4px; letter-spacing:.4px; }
  .t-semana-tabla { width:100%; border-collapse:collapse; font-size:11px; }
  .t-semana-tabla th { background:#F0F6FF; color:#003366; font-size:10px; font-weight:800; text-transform:uppercase; padding:5px 6px; text-align:right; white-space:nowrap; border-bottom:2px solid #CCE9FF; }
  .t-semana-tabla th:first-child { text-align:left; }
  .t-semana-tabla td { padding:5px 6px; border-bottom:1px solid #EEF4FF; text-align:right; font-variant-numeric:tabular-nums; }
  .t-semana-tabla td:first-child { text-align:left; font-weight:800; color:#003366; white-space:nowrap; }
  .t-semana-tabla tr:last-child td { border-bottom:none; }
  .t-semana-tabla .c-gen  { color:#C0392B; }
  .t-semana-tabla .c-proc { color:#E67E22; }
  .t-semana-tabla .c-pick { color:#2980B9; }
  .t-semana-tabla .c-emb  { color:#8E44AD; }
  .t-semana-tabla .c-cerr { color:#1E8449; font-weight:800; }

  .t-tipo-tabla { width:100%; border-collapse:collapse; }
  .t-tipo-tabla th { font-size:9px; font-weight:800; text-transform:uppercase; color:#0055AA; background:#F0F6FF; padding:7px 10px; text-align:left; white-space:nowrap; }
  .t-tipo-tabla th.n { text-align:right; }
  .t-tipo-tabla td { padding:7px 10px; font-size:11px; border-top:1px solid #F0F4FA; }
  .t-tipo-tabla td.n { text-align:right; font-weight:800; color:#003366; }
  .t-tipo-tabla tfoot td { background:#F0F6FF; font-weight:900; padding:7px 10px; font-size:11px; border-top:2px solid #CCE9FF; }
  .t-tipo-tabla tfoot td.n { text-align:right; }
  .t-dot { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:5px; vertical-align:middle; }

  .t-top10 { background:white; border-radius:14px; padding:16px 20px; box-shadow:0 2px 10px rgba(0,80,180,.08); margin-bottom:16px; }
  .t-top10-tabla { width:100%; border-collapse:collapse; font-size:12px; }
  .t-top10-tabla th { background:#F0F6FF; color:#003366; font-size:10px; font-weight:800; text-transform:uppercase; padding:7px 10px; border-bottom:2px solid #CCE9FF; white-space:nowrap; }
  .t-top10-tabla th.n { text-align:right; }
  .t-top10-tabla td { padding:8px 10px; border-bottom:1px solid #EEF4FF; vertical-align:middle; }
  .t-top10-tabla td.n { text-align:right; font-variant-numeric:tabular-nums; font-weight:700; }
  .t-top10-tabla tr:last-child td { border-bottom:none; }
  .t-top10-tabla tr:hover td { background:#F8FBFF; }
  .t-top10-rank { display:inline-block; width:20px; height:20px; border-radius:50%; background:#E8F4FF; color:#003366; font-size:10px; font-weight:900; text-align:center; line-height:20px; margin-right:6px; flex-shrink:0; }
  .t-top10-rank.oro   { background:#FFF3CD; color:#B8860B; }
  .t-top10-rank.plata { background:#F0F0F0; color:#666; }
  .t-top10-rank.bronce{ background:#FFE8D6; color:#A0522D; }
  .t-pend-bar { display:flex; align-items:center; gap:6px; }
  .t-pend-bar-wrap { width:70px; height:8px; background:#EEF4FF; border-radius:4px; overflow:hidden; flex-shrink:0; }
  .t-pend-bar-fill { height:100%; border-radius:4px; transition:width .6s; }
  .t-pick-chips { display:flex; gap:3px; flex-wrap:wrap; }
  .t-chip { font-size:9px; font-weight:800; padding:2px 5px; border-radius:6px; white-space:nowrap; }

  .t-tables2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  @media(max-width:1100px){ .t-tables2{ grid-template-columns:1fr; } }

  .t-insights { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
  @media(max-width:1100px){ .t-insights{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:600px) { .t-insights{ grid-template-columns:1fr; } }
  .t-insight { background:white; border-radius:12px; padding:14px 16px; box-shadow:0 2px 8px rgba(0,80,180,.07); display:flex; gap:10px; align-items:flex-start; }
  .t-insight-ico { font-size:20px; flex-shrink:0; margin-top:2px; }
  .t-insight-txt { font-size:11px; color:#334455; font-weight:700; line-height:1.5; }

  /* ══ RESPONSIVE MOBILE ══ */
  @media (max-width: 767px) {

    /* Topbar */
    .topbar { padding: 0 10px; height: 48px; }
    .topbar-title { font-size: 12px; letter-spacing: 0; }
    .topbar-ts { display: none; }
    #rpt-last-update, #rpt-next-refresh { font-size: 9px; }

    /* Tabs — scroll horizontal sin barra visible */
    .tabs-wrap { overflow-x: auto; flex-wrap: nowrap; padding: 0 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .tabs-wrap::-webkit-scrollbar { display: none; }
    .tab-btn { white-space: nowrap; padding: 12px 13px 10px; font-size: 11px; }

    /* Main */
    .main { padding: 10px 8px; }

    /* Filter bar simple (SAP, KPI Operarios) */
    .filter-bar { flex-direction: column; align-items: stretch; padding: 10px 12px; gap: 8px; }
    .filter-group { justify-content: space-between; }
    .filter-bar input[type="date"], .filter-bar select { flex: 1; min-width: 0; font-size: 13px; }
    .filter-sep { display: none; }
    .btn-apply, .btn-sec { padding: 9px 14px; text-align: center; }
    .rpt-ts-chip { margin-left: 0; }

    /* Presets SAP */
    .sap-presets { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; scrollbar-width: none; }
    .sap-presets::-webkit-scrollbar { display: none; }

    /* KPI cards */
    .kpi-strip { grid-template-columns: repeat(2, 1fr) !important; }
    .kpi-value { font-size: 20px; }

    /* Grids de contenido */
    .rpt-grid2, .rpt-grid3, .rpt-grid4 { grid-template-columns: 1fr !important; }
    .t-mid     { grid-template-columns: 1fr !important; }
    .t-tables2 { grid-template-columns: 1fr !important; }
    .t-insights { grid-template-columns: 1fr !important; }

    /* T-KPI4 (Traslados y Proceso Tiendas) */
    .t-kpi4 { grid-template-columns: repeat(2, 1fr) !important; }
    .t-kpi-value { font-size: 18px; }
    .t-kpi-pct   { font-size: 22px; }

    /* T-header con filtros (Traslados y Proceso) */
    .t-header { padding: 12px 14px; flex-direction: column; gap: 10px; }
    .t-header-left h2 { font-size: 14px; }
    .t-header-left p  { display: none; }
    .t-header-filters {
      overflow-x: auto; flex-wrap: nowrap; gap: 8px;
      padding-bottom: 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    }
    .t-header-filters::-webkit-scrollbar { display: none; }
    .t-filter-group select,
    .t-filter-group input[type=date] { min-width: 110px; font-size: 11px; }

    /* Tablas — mínimo de ancho para que sean legibles con scroll */
    #rpt-sap-tb-main, #rpt-sap-tbl-estado, #rpt-tb-cli, #rpt-tb-olas { min-width: 480px; }
    .t-top10-tabla { min-width: 520px; }
    .t-semana-tabla { min-width: 380px; }
    .t-tipo-tabla { min-width: 320px; }
    #rpt-t-tb-abier, #rpt-t-tb-cerr,
    #rpt-p-tb-abier, #rpt-p-tb-cerr { min-width: 560px; }
    #rpt-op-tabla-pick, #rpt-op-tabla-pack { min-width: 480px; }

    /* Top10 tiendas — evitar que el card se quede sin espacio */
    .t-top10 { padding: 12px 14px; }

    /* Ops bar — labels en columna en mobile */
    .t-ops-labels { flex-wrap: wrap; gap: 6px; }

    /* Gráfico tendencia operarios */
    #rpt-op-chart { height: 200px !important; }
  }
