/* ReparaDirect · Seguimiento 1.0.1. Estilos limitados al panel técnico. */
#rdRouteMonitor{--rdtv-ink:#192533;--rdtv-muted:#5d6d7d;--rdtv-line:#dce3e9;background:#f4f7fa;color:var(--rdtv-ink);padding:22px;font:15px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;border:1px solid var(--rdtv-line);border-radius:16px;min-width:0}
#rdRouteMonitor *{box-sizing:border-box}
#rdRouteMonitor .rdtv-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
#rdRouteMonitor .rdtv-brand{color:#c8102e;font-size:12px;letter-spacing:.14em;font-weight:800}
#rdRouteMonitor h2{font-size:29px;line-height:1.15;margin:6px 0}
#rdRouteMonitor .rdtv-head p{margin:0;color:var(--rdtv-muted);font-size:14px}
#rdRouteMonitor .rdtv-right{display:flex;align-items:center;gap:16px}
#rdRouteMonitor time{font-variant-numeric:tabular-nums;font-size:25px;font-weight:750}
#rdRouteMonitor .rdtv-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px;background:#fff;border:1px solid var(--rdtv-line);border-radius:11px;margin-bottom:14px}
#rdRouteMonitor .rdtv-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#rdRouteMonitor label{font-size:13px;display:inline-flex;align-items:center;gap:5px;font-weight:500}
#rdRouteMonitor input[type=checkbox]{height:17px;width:17px;accent-color:#c8102e}
#rdRouteMonitor input[type=date],#rdRouteMonitor select{font:inherit;border:1px solid #bbc6d0;border-radius:6px;padding:7px;background:white;color:#192533;min-height:38px}
#rdRouteMonitor .rdtv-btn{font:inherit;font-size:13px;font-weight:650;min-height:38px;padding:8px 12px;background:white;color:#243647;border:1px solid #c6d1db;border-radius:7px;cursor:pointer;white-space:nowrap}
#rdRouteMonitor .rdtv-btn:hover{background:#eef3f7}
#rdRouteMonitor .rdtv-primary{background:#c8102e;color:white;border-color:#c8102e}
#rdRouteMonitor .rdtv-primary:hover{background:#a50822}
#rdRouteMonitor button:disabled{opacity:.45;cursor:default}
#rdRouteMonitor button:focus-visible,#rdRouteMonitor input:focus-visible,#rdRouteMonitor select:focus-visible,#rdRouteMonitor .rdtv-list:focus-visible{outline:3px solid #2874af;outline-offset:2px}
#rdRouteMonitor .rdtv-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
#rdRouteMonitor .rdtv-total{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--rdtv-line);border-radius:10px;padding:10px 14px;background:white}
#rdRouteMonitor .rdtv-total span{font-size:13px;font-weight:600}
#rdRouteMonitor .rdtv-total strong{font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}
#rdRouteMonitor .rdtv-total-1{background:#e2f4e8;border-color:#83bd94;color:#126332}
#rdRouteMonitor .rdtv-total-2{background:#eaf3fc;color:#174f8a}
#rdRouteMonitor .rdtv-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:8px 0 12px;font-size:12px;color:var(--rdtv-muted)}
#rdRouteMonitor .rdtv-legend{display:flex;gap:13px;flex-wrap:wrap}
#rdRouteMonitor .rdtv-legend span{display:flex;gap:5px;align-items:center}
#rdRouteMonitor .rdtv-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid #b3c0cd;background:white}
#rdRouteMonitor .rdtv-legend i.closed{background:#329453;border-color:#329453}
#rdRouteMonitor .rdtv-legend i.progress{background:#347cc3;border-color:#347cc3}
#rdRouteMonitor .rdtv-legend i.incident{background:#d59512;border-color:#d59512}
#rdtvError{padding:12px 15px;background:#fff1d4;color:#754900;border:1px solid #d9ae50;border-radius:8px;margin-bottom:12px;font-weight:650}
#rdRouteMonitor .rdtv-columns{display:grid;grid-template-columns:repeat(var(--rdtv-cols,4),minmax(0,1fr));gap:12px;align-items:stretch;min-height:160px}
#rdRouteMonitor .rdtv-tech{display:flex;flex-direction:column;min-width:0;background:#e9eef3;border:1px solid #ccd6df;border-radius:12px;overflow:hidden}
#rdRouteMonitor .rdtv-tech-head{display:flex;justify-content:space-between;align-items:center;padding:14px 13px 9px;background:#fff;gap:8px}
#rdRouteMonitor h3{font-size:21px;line-height:1.15;margin:0 0 5px;overflow-wrap:anywhere}
#rdRouteMonitor .rdtv-tech-head span{font-size:12px;color:#5d6d7d}
#rdRouteMonitor .rdtv-tech-head>strong{font-size:27px;font-weight:800;color:#1c7840;white-space:nowrap}
#rdRouteMonitor .rdtv-tech-head small{font-size:17px;color:#778490}
#rdRouteMonitor .rdtv-progressbar{height:5px;background:#dce6dc}
#rdRouteMonitor .rdtv-progressbar>div{height:100%;background:#2e9a52;transition:width .25s ease}
#rdRouteMonitor .rdtv-tech-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px;padding:8px 12px;font-size:11px;color:#526170}
#rdRouteMonitor .rdtv-tech-summary b{color:#1f3e30}
#rdRouteMonitor .rdtv-list{display:flex;flex-direction:column;gap:9px;overflow-y:auto;padding:0 9px 10px;min-height:0;max-height:72vh;scrollbar-width:thin;scrollbar-color:#a9b8c7 transparent}
#rdRouteMonitor .rdtv-visit{flex:none;background:white;border:1px solid #cbd6df;border-left:5px solid #bac7d2;border-radius:8px;padding:10px;overflow-wrap:anywhere}
#rdRouteMonitor .rdtv-visit.closed{background:#dff2e5;border-color:#92c5a2;border-left-color:#248548}
#rdRouteMonitor .rdtv-visit.progress{background:#e7f1ff;border-color:#8db9e9;border-left-color:#2f75bd}
#rdRouteMonitor .rdtv-visit.incident{background:#fff4d8;border-color:#d8b86a;border-left-color:#b97a00}
#rdRouteMonitor .rdtv-visit-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:6px}
#rdRouteMonitor .rdtv-time{font-size:18px;font-variant-numeric:tabular-nums;line-height:1.2}
#rdRouteMonitor .rdtv-state{font-size:11px;white-space:nowrap;font-weight:750;border-radius:4px;background:#edf1f4;padding:2px 4px}
#rdRouteMonitor .closed .rdtv-state{background:#236f3b;color:white}
#rdRouteMonitor .progress .rdtv-state{background:#2364a0;color:white}
#rdRouteMonitor .incident .rdtv-state{background:#f0daa5;color:#754800}
#rdRouteMonitor .rdtv-ref{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;line-height:1.4;margin-bottom:3px}
#rdRouteMonitor .rdtv-ref b{font-size:15px}
#rdRouteMonitor .rdtv-ref span{color:#627180;font-size:11px}
#rdRouteMonitor .rdtv-ref em{font-size:10px;font-style:normal;color:#b0162a;font-weight:800}
#rdRouteMonitor .rdtv-location{font-weight:650;font-size:14px}
#rdRouteMonitor .rdtv-appliance{font-size:14px;font-weight:550;margin-top:3px}
#rdRouteMonitor .rdtv-person,#rdRouteMonitor .rdtv-address,#rdRouteMonitor .rdtv-description{font-size:12px;margin:4px 0 0;color:#536172}
#rdRouteMonitor .rdtv-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#rdRouteMonitor .rdtv-result{font-weight:700;margin-top:5px;font-size:12px}
#rdRouteMonitor .rdtv-team{font-size:11px;margin-top:4px;color:#4d6071}
#rdRouteMonitor .rdtv-warning{font-size:11px;color:#755b17;border-top:1px solid #cfdfcd;margin-top:5px;padding-top:4px}
#rdRouteMonitor .rdtv-card-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:5px;min-height:18px}
#rdRouteMonitor .rdtv-card-foot small{font-size:11px;color:#506453}
#rdRouteMonitor .rdtv-open{font:inherit;font-size:11px;background:#fff;color:#9e1126;border:1px solid #d1dbe2;border-radius:4px;padding:4px 8px;cursor:pointer}
#rdRouteMonitor .rdtv-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;font-size:12px;color:#64707c;flex-wrap:wrap}
#rdRouteMonitor .rdtv-footer small{font-size:11px}
#rdRouteMonitor .rdtv-empty{padding:24px 12px;color:#647589;text-align:center;font-size:14px}
#rdRouteMonitor.rdtv-stale .rdtv-columns{opacity:.65}
#rdRouteMonitor.rdtv-stale #rdtvStatus{color:#8a5200;font-weight:750}
body.rdtv-body{overflow:hidden!important}
#rdRouteMonitor.rdtv-tv{position:fixed;z-index:10000;inset:0;display:flex;flex-direction:column;margin:0;border:0;border-radius:0;height:100vh;height:100dvh;padding:20px 26px;max-width:none;background:#f0f4f8}
#rdRouteMonitor.rdtv-tv .rdtv-head{margin-bottom:10px}
#rdRouteMonitor.rdtv-tv .rdtv-head h2{font-size:31px}
#rdRouteMonitor.rdtv-tv .rdtv-columns{flex:1;min-height:0}
#rdRouteMonitor.rdtv-tv .rdtv-list{flex:1;max-height:none;min-height:0}
#rdRouteMonitor.rdtv-tv .rdtv-not-tv{display:none}
#rdRouteMonitor.rdtv-tv .rdtv-visit{padding:10px 12px}
#rdRouteMonitor.rdtv-tv .rdtv-time{font-size:20px}
#rdRouteMonitor.rdtv-tv .rdtv-location,#rdRouteMonitor.rdtv-tv .rdtv-ref b{font-size:16px}
#rdRouteMonitor.rdtv-tv .rdtv-appliance{font-size:15px}
#rdRouteMonitor.rdtv-tv .rdtv-head p{font-size:13px}
@media(max-width:750px){#rdRouteMonitor{padding:12px}#rdRouteMonitor .rdtv-head{align-items:flex-start;gap:8px}#rdRouteMonitor h2{font-size:22px}#rdRouteMonitor .rdtv-right{flex-direction:column;gap:6px}#rdRouteMonitor time{font-size:20px}#rdRouteMonitor .rdtv-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#rdRouteMonitor .rdtv-total{padding:8px;flex-direction:column;align-items:flex-start;gap:3px}#rdRouteMonitor .rdtv-total span{font-size:11px}#rdRouteMonitor .rdtv-total strong{font-size:24px}#rdRouteMonitor .rdtv-list{max-height:none}#rdRouteMonitor.rdtv-tv{padding:12px}#rdRouteMonitor.rdtv-tv h2{font-size:22px}#rdRouteMonitor .rdtv-toolbar{padding:8px}#rdRouteMonitor .rdtv-head p{font-size:12px}}
@media(prefers-reduced-motion:reduce){#rdRouteMonitor .rdtv-progressbar>div{transition:none}}
@media print{body:has(.rdtv-print) *{visibility:hidden}body:has(.rdtv-print) #rdRouteMonitor,body:has(.rdtv-print) #rdRouteMonitor *{visibility:visible}body:has(.rdtv-print) #rdRouteMonitor{position:absolute;inset:0;margin:0;width:100%;padding:10px;font-size:10px}#rdRouteMonitor .rdtv-list{max-height:none;overflow:visible}#rdRouteMonitor .rdtv-toolbar,#rdRouteMonitor button{display:none}#rdRouteMonitor .rdtv-visit{break-inside:avoid}#rdRouteMonitor .rdtv-columns{gap:6px}@page{size:A4 landscape;margin:7mm}}

/* La cuadrícula antigua del CRM no debe ensancharse por el menú en móvil. */
@media(max-width:980px){body.rdtv-monitor-visible #app{grid-template-columns:minmax(0,1fr)}body.rdtv-monitor-visible #app>.sidebar{min-width:0;max-width:100%}body.rdtv-monitor-visible #app>.main{width:100%;min-width:0}}

/* TV 1.0.1: measured height, compact controls, no zero-height scroll lists. */
#rdRouteMonitor .rdtv-tv-only{display:none}
#rdRouteMonitor #rdtvError[hidden]{display:none!important}
#rdRouteMonitor.rdtv-tv{display:block;top:0;left:0;right:auto;bottom:auto;width:100%;padding:14px 18px;box-shadow:none;overflow-x:hidden;overflow-y:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
#rdRouteMonitor.rdtv-tv.rdtv-page-scroll{overflow-y:auto}
#rdRouteMonitor.rdtv-tv .rdtv-head{margin-bottom:10px;gap:12px}
#rdRouteMonitor.rdtv-tv .rdtv-head h2{font-size:25px;margin:3px 0;line-height:1.15}
#rdRouteMonitor.rdtv-tv .rdtv-brand{font-size:10px;letter-spacing:.10em}
#rdRouteMonitor.rdtv-tv .rdtv-head p{display:none}
#rdRouteMonitor.rdtv-tv .rdtv-right{flex-direction:row;gap:8px;flex-shrink:0}
#rdRouteMonitor.rdtv-tv .rdtv-tv-only{display:inline-flex;align-items:center}
#rdRouteMonitor.rdtv-tv .rdtv-toolbar{display:none;margin-bottom:8px;padding:8px}
#rdRouteMonitor.rdtv-tv.rdtv-settings-open .rdtv-toolbar{display:flex}
#rdRouteMonitor.rdtv-tv .rdtv-totals{gap:8px;margin-bottom:8px;grid-template-columns:repeat(5,minmax(0,1fr))}
#rdRouteMonitor.rdtv-tv .rdtv-total{padding:8px 10px;gap:6px;flex-direction:row;align-items:center}
#rdRouteMonitor.rdtv-tv .rdtv-total span{font-size:12px}
#rdRouteMonitor.rdtv-tv .rdtv-total strong{font-size:26px}
#rdRouteMonitor.rdtv-tv .rdtv-meta{margin:6px 0 8px;font-size:11px;gap:4px}
#rdRouteMonitor.rdtv-tv .rdtv-legend{gap:10px}
#rdRouteMonitor.rdtv-tv .rdtv-columns{min-height:200px;grid-template-rows:minmax(0,1fr);gap:10px;overflow:hidden}
#rdRouteMonitor.rdtv-tv .rdtv-tech{display:block;min-height:0}
#rdRouteMonitor.rdtv-tv .rdtv-tech-head{padding:9px 10px 7px;min-height:0}
#rdRouteMonitor.rdtv-tv h3{font-size:20px;margin:0 0 3px;overflow-wrap:break-word}
#rdRouteMonitor.rdtv-tv .rdtv-tech-head>div{min-width:0}
#rdRouteMonitor.rdtv-tv .rdtv-tech-head span{font-size:11px}
#rdRouteMonitor.rdtv-tv .rdtv-tech-head>strong{font-size:24px}
#rdRouteMonitor.rdtv-tv .rdtv-tech-head small{font-size:14px}
#rdRouteMonitor.rdtv-tv .rdtv-progressbar{height:4px}
#rdRouteMonitor.rdtv-tv .rdtv-tech-summary{font-size:10px;padding:5px 9px;line-height:1.35}
#rdRouteMonitor.rdtv-tv .rdtv-list{display:block;min-height:144px;max-height:none;padding:0 7px 8px;overflow-y:auto;overflow-x:hidden}
#rdRouteMonitor.rdtv-tv .rdtv-visit{padding:8px;margin:0 0 8px;overflow-wrap:break-word}
#rdRouteMonitor.rdtv-tv .rdtv-visit:last-child{margin-bottom:0}
#rdRouteMonitor.rdtv-tv .rdtv-visit-top{flex-wrap:wrap;gap:3px;margin-bottom:4px}
#rdRouteMonitor.rdtv-tv .rdtv-time{font-size:18px}
#rdRouteMonitor.rdtv-tv .rdtv-state{font-size:10px}
#rdRouteMonitor.rdtv-tv .rdtv-ref{gap:4px;margin-bottom:2px}
#rdRouteMonitor.rdtv-tv .rdtv-location,#rdRouteMonitor.rdtv-tv .rdtv-ref b{font-size:14px}
#rdRouteMonitor.rdtv-tv .rdtv-appliance{font-size:13px;margin-top:2px}
#rdRouteMonitor.rdtv-tv .rdtv-card-foot{margin-top:2px;min-height:0}
#rdRouteMonitor.rdtv-tv .rdtv-card-foot small:empty{display:none}
#rdRouteMonitor.rdtv-tv .rdtv-footer{padding-top:6px;gap:4px;font-size:11px}
#rdRouteMonitor.rdtv-tv .rdtv-footer small{font-size:10px}
#rdRouteMonitor.rdtv-tv .rdtv-footer .rdtv-btn{min-height:30px;padding:3px 10px}
#rdRouteMonitor.rdtv-tv .rdtv-footer button:disabled{display:none}
#rdRouteMonitor.rdtv-tv #rdtvError{padding:6px 9px;margin-bottom:6px;font-size:12px;line-height:1.3}
#rdRouteMonitor.rdtv-tv.rdtv-short{padding:9px 12px}
#rdRouteMonitor.rdtv-tv.rdtv-short .rdtv-head h2{font-size:22px}
#rdRouteMonitor.rdtv-tv.rdtv-short .rdtv-head{margin-bottom:7px}
#rdRouteMonitor.rdtv-tv.rdtv-short .rdtv-total{padding:6px 8px}
#rdRouteMonitor.rdtv-tv.rdtv-short .rdtv-total span{font-size:11px}
#rdRouteMonitor.rdtv-tv.rdtv-short .rdtv-total strong{font-size:24px}
#rdRouteMonitor.rdtv-tv.rdtv-narrow .rdtv-head{flex-wrap:wrap;align-items:center}
#rdRouteMonitor.rdtv-tv.rdtv-narrow .rdtv-right{flex-direction:row;flex-wrap:wrap}
#rdRouteMonitor.rdtv-tv.rdtv-narrow .rdtv-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
@media print{#rdRouteMonitor .rdtv-tv-only{display:none!important}}
