:root{--bg:#f3f6f9;--surface:#fff;--ink:#17212b;--muted:#6c7a89;--line:#e3e9ef;--nav:#111d2b;--nav2:#18293a;--accent:#1769aa;--ok:#16794a;--warn:#a26700;--danger:#b42318;--shadow:0 8px 24px rgba(15,32,48,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--nav),#0d1721);color:#dfe8ef;padding:18px 14px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;padding:6px 8px 20px}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;color:#122235;font-weight:800}.brand strong{display:block;font-size:14px}.brand small{display:block;color:#96a8b8;margin-top:2px}.nav-link{display:flex;gap:12px;align-items:center;padding:11px 12px;margin:3px 0;border-radius:10px;color:#cbd8e3;font-size:14px}.nav-link span{width:21px;text-align:center}.nav-link:hover,.nav-link.active{background:var(--nav2);color:#fff}.sidebar-foot{margin-top:auto;padding:12px 8px;border-top:1px solid #243646;display:flex;flex-direction:column;gap:4px}.sidebar-foot span{font-size:12px;color:#94a8b9}.sidebar-foot a{margin-top:8px;font-size:13px;color:#c9d5df}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:16px;position:sticky;top:0;z-index:10}.topbar h1{font-size:21px;margin:0}.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}.top-user{margin-left:auto;text-align:right;font-size:12px}.top-user span{display:block;color:var(--muted)}.menu-btn{display:none;border:0;background:#edf2f6;border-radius:8px;padding:9px 11px}.content{padding:24px}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.kpi{padding:18px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:28px;font-weight:800;margin-top:6px}.kpi .sub{font-size:12px;color:var(--muted);margin-top:3px}.panel{padding:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title h2{font-size:16px;margin:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{padding:10px 11px;text-align:left;color:#586776;background:#f7f9fb;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:11px;border-bottom:1px solid #edf1f4;vertical-align:middle}.table tr:hover td{background:#fbfcfd}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}.badge-success{background:#e7f6ee;color:var(--ok)}.badge-warning{background:#fff4d6;color:var(--warn)}.badge-danger{background:#fde9e7;color:var(--danger)}.badge-secondary{background:#edf1f4;color:#61707d}.btn{border:0;border-radius:9px;padding:9px 12px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:#e8eef3;color:#304355}.btn-danger{background:#c9352b;color:#fff}.btn-success{background:#177b4e;color:#fff}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.input,.select,.textarea{width:100%;border:1px solid #ccd7e0;background:#fff;border-radius:9px;padding:9px 10px;font:inherit}.textarea{min-height:90px}.form-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-group label{display:block;font-size:12px;color:#596b79;margin:0 0 5px;font-weight:700}.actions{display:flex;gap:8px;flex-wrap:wrap}.two-col{grid-template-columns:1.35fr .65fr}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:13px}.alert-success{background:#e9f7ef;color:#176b46}.alert-danger{background:#fdebea;color:#a92219}.alert-warning{background:#fff5d9;color:#8a5a00}.empty{padding:34px;text-align:center;color:var(--muted)}.truck-map{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:12px;align-items:start}.tire-slot{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;min-height:120px}.tire-slot h3{font-size:13px;margin:0 0 8px}.tire-slot strong{font-size:14px}.tire-slot small{display:block;color:var(--muted);margin-top:4px}.tire-ok{border-left:5px solid var(--ok)}.tire-warning{border-left:5px solid #e3a008}.tire-danger{border-left:5px solid var(--danger)}.tire-empty{border-style:dashed;background:#fafbfd}.section-title{margin:2px 0 14px;font-size:17px}.muted{color:var(--muted)}.metric{font-variant-numeric:tabular-nums}.mobile-cards{display:none}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.form-row{grid-template-columns:repeat(2,1fr)}.truck-map{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:inline-block}.top-user{display:none}.content{padding:14px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px}.kpi .value{font-size:23px}.form-row{grid-template-columns:1fr}.desktop-table{display:none}.mobile-cards{display:grid;gap:10px}.mobile-item{padding:14px}.mobile-item .rowx{display:flex;justify-content:space-between;gap:10px;margin:5px 0;font-size:13px}.truck-map{grid-template-columns:1fr 1fr}.topbar{padding:0 14px}}

/* V2.1 · mapa operativo intuitivo */
.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--muted);margin-bottom:5px}.unit-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.unit-title-row h2{font-size:27px;margin:0}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.compact-kpis{margin-bottom:16px}.compact-kpis .kpi{padding:14px 16px}.compact-kpis .value{font-size:24px}.small-value{font-size:17px!important;line-height:1.25}.danger-text{color:var(--danger)}.warning-text{color:var(--warn)}.map-shell-card{overflow:hidden}.map-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.map-legend span{display:flex;align-items:center;gap:5px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#9aa8b5}.dot.ok{background:var(--ok)}.dot.warn{background:#e3a008}.dot.danger{background:var(--danger)}.vehicle-canvas{background:linear-gradient(180deg,#f8fafc,#f3f6f8);border:1px solid var(--line);border-radius:16px;padding:20px;position:relative}.vehicle-spine{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#8a98a5}.vehicle-spine div{height:2px;background:#d9e1e7;flex:1}.visual-map{grid-template-columns:repeat(4,minmax(150px,1fr))}.map-tire{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:.16s transform,.16s box-shadow,.16s border-color}.map-tire:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,32,48,.12)}.slot-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.position-pill{display:inline-flex;min-width:34px;height:28px;align-items:center;justify-content:center;border-radius:8px;background:#edf3f7;font-weight:800;font-size:12px}.slot-name{font-size:11px;color:var(--muted);text-align:right}.tire-code{font-size:16px;font-weight:850;margin-top:11px}.tire-brand{font-size:12px;color:var(--muted);min-height:32px;margin-top:3px}.tire-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.tire-metrics div{background:#f7f9fb;border-radius:8px;padding:7px}.tire-metrics span{display:block;font-size:10px;color:var(--muted)}.tire-metrics strong{display:block;font-size:12px;margin-top:2px}.pressure-alert{color:var(--danger)}.pressure-ok{color:var(--ok)}.empty-wheel{width:42px;height:42px;border:2px dashed #b9c5cf;border-radius:50%;display:grid;place-items:center;color:#7d8c99;font-size:23px;margin:16px 0 8px}.empty-wheel.large{margin:0 auto 10px;width:64px;height:64px;font-size:31px}.rotation-card{margin-top:16px}.rotation-form{display:grid;grid-template-columns:1fr auto 1fr 1fr auto;gap:10px;align-items:end}.swap-icon{font-size:23px;color:var(--muted);padding-bottom:8px}.drawer-backdrop{position:fixed;inset:0;background:rgba(15,28,40,.34);opacity:0;visibility:hidden;transition:.2s;z-index:40}.drawer-backdrop.open{opacity:1;visibility:visible}.tire-drawer{position:fixed;top:0;right:0;width:min(460px,94vw);height:100vh;background:#fff;z-index:41;box-shadow:-18px 0 40px rgba(12,28,42,.18);padding:22px;transform:translateX(105%);transition:.22s;overflow-y:auto}.tire-drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px}.drawer-head h2{margin:0;font-size:21px}.drawer-close{border:0;background:#edf2f6;border-radius:9px;width:36px;height:36px;font-size:24px;cursor:pointer}.drawer-code{font-size:24px;font-weight:850;margin-top:18px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.detail-box{border:1px solid var(--line);border-radius:11px;padding:12px}.detail-box span,.detail-box small{display:block;color:var(--muted);font-size:11px}.detail-box strong{display:block;font-size:16px;margin:4px 0}.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.drawer-form{border-top:1px solid var(--line);padding-top:16px}.drawer-form h3{font-size:15px;margin:0 0 12px}.two-fields{grid-template-columns:1fr 1fr}.empty-drawer{text-align:center;padding:36px 10px 22px}.profile-grid{margin-bottom:16px}.tire-profile-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spec-grid>div{padding:10px;border-bottom:1px solid #edf1f4}.spec-grid span{display:block;font-size:11px;color:var(--muted)}.spec-grid strong{display:block;margin-top:4px;font-size:13px}.health-summary{display:grid;gap:2px}.health-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f4}.timeline{position:relative;padding-left:11px}.timeline:before{content:"";position:absolute;left:17px;top:8px;bottom:10px;width:2px;background:#e3e9ef}.timeline-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;padding:0 0 18px}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);margin-top:5px;z-index:1;border:3px solid #fff;box-shadow:0 0 0 2px #cfe0ee}.timeline-title{display:flex;justify-content:space-between;gap:12px}.timeline-title span{font-size:11px;color:var(--muted)}.timeline-body{font-size:13px}.timeline-body>div{margin-bottom:4px}
@media(max-width:1100px){.visual-map{grid-template-columns:repeat(3,minmax(140px,1fr))}.rotation-form{grid-template-columns:1fr auto 1fr}.rotation-form .form-group:nth-of-type(3),.rotation-form .btn{grid-column:auto}.map-toolbar{align-items:flex-start}}
@media(max-width:760px){.map-toolbar,.tire-profile-head{flex-direction:column;align-items:stretch}.map-toolbar .actions,.tire-profile-head .actions{width:100%}.map-toolbar .actions .btn,.tire-profile-head .actions .btn{flex:1}.visual-map{grid-template-columns:1fr 1fr}.vehicle-canvas{padding:12px}.map-legend{display:none}.tire-slot{padding:10px;min-height:145px}.slot-name{display:none}.tire-metrics{grid-template-columns:1fr}.rotation-form{grid-template-columns:1fr}.swap-icon{display:none}.drawer-grid,.spec-grid,.two-fields{grid-template-columns:1fr}.tire-drawer{padding:16px}.timeline-title{flex-direction:column;gap:2px}.profile-grid{grid-template-columns:1fr}}


/* V2.2 · Filtro universal por CD */
.topbar-title{min-width:0;flex:1}
.global-filter{display:flex;align-items:center;gap:10px;margin-left:auto;padding:7px 10px;border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.global-filter label{display:flex;align-items:center;gap:8px;margin:0}
.global-filter-label{font-size:11px;font-weight:800;letter-spacing:.08em;color:#64748b}
.global-filter-select{border:0;outline:0;background:transparent;font:inherit;font-weight:700;color:#0f172a;min-width:145px;cursor:pointer}
.global-filter-select:disabled{cursor:not-allowed;color:#475569}
.global-filter-status{display:inline-flex;align-items:center;gap:6px;padding-left:10px;border-left:1px solid #e5e7eb;font-size:12px;color:#64748b;white-space:nowrap}
.global-filter-status i{width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block}
.global-filter.is-loading{opacity:.65;pointer-events:none}
@media(max-width:900px){.topbar{flex-wrap:wrap}.topbar-title{order:1}.global-filter{order:3;width:100%;margin-left:0;justify-content:space-between}.top-user{order:2}.global-filter-select{min-width:0;max-width:180px}}
@media(max-width:520px){.topbar-title p{display:none}.top-user{display:none}.global-filter-status{font-size:11px}.global-filter{padding:8px}.global-filter-select{max-width:155px}}

/* ===== V2.3 INTERFAZ OPERATIVA ===== */
:root{--navw:268px;--accent-soft:#eaf3fb;--surface2:#f7f9fb}
.sidebar{width:var(--navw);padding:14px 12px}.main{margin-left:var(--navw);width:calc(100% - var(--navw));transition:.2s}.brand{padding:8px 8px 14px}.brand-copy{min-width:0}.sidebar-close{display:none;margin-left:auto;border:0;background:#23384a;color:#fff;border-radius:9px;width:34px;height:34px;font-size:22px}.nav-scroll{overflow:auto;padding-right:2px}.nav-group-title{font-size:9px;font-weight:900;letter-spacing:.14em;color:#6f8598;margin:18px 12px 6px}.nav-link b{font-weight:650}.nav-count{margin-left:auto;font-style:normal;background:#c6362c;color:#fff;border-radius:999px;font-size:10px;padding:2px 6px}.topbar{height:auto;min-height:76px;padding:12px 22px}.menu-btn{display:inline-grid;place-items:center;font-size:18px;min-width:40px}.quick-search{display:flex;align-items:center;border:1px solid var(--line);background:#f8fafb;border-radius:11px;overflow:hidden;min-width:280px}.quick-search span{padding-left:11px;color:var(--muted)}.quick-search input{border:0;background:transparent;outline:0;padding:10px 8px;width:100%;min-width:0}.quick-search button{border:0;background:var(--accent);color:#fff;font-weight:700;padding:10px 12px;cursor:pointer}.top-alert{width:38px;height:38px;border-radius:10px;background:#fff4d6;color:#8a5a00;border:1px solid #f0dfaa;display:grid;place-items:center;font-weight:900;position:relative}.top-alert span{position:absolute;right:-6px;top:-6px;background:#b42318;color:#fff;border-radius:999px;font-size:9px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}.global-filter{display:flex;align-items:center;gap:7px}.global-filter label{display:flex;align-items:center;gap:6px}.global-filter-select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.global-filter-label{font-size:10px;font-weight:800;color:var(--muted)}
body.sidebar-collapsed .sidebar{width:76px}body.sidebar-collapsed .main{margin-left:76px;width:calc(100% - 76px)}body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-link b,body.sidebar-collapsed .nav-group-title,body.sidebar-collapsed .sidebar-foot small,body.sidebar-collapsed .sidebar-foot span,body.sidebar-collapsed .sidebar-foot a,body.sidebar-collapsed .nav-count{display:none}body.sidebar-collapsed .brand{justify-content:center}body.sidebar-collapsed .brand-mark{width:42px}body.sidebar-collapsed .nav-link{justify-content:center;padding:12px}body.sidebar-collapsed .nav-link span{width:auto;font-size:18px}
.sidebar-backdrop{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.page-head h2{margin:0;font-size:20px}.page-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.kpi.clickable{transition:.15s;cursor:pointer}.kpi.clickable:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,32,48,.12)}.kpi-icon{width:38px;height:38px;border-radius:11px;background:var(--accent-soft);display:grid;place-items:center;font-weight:900;margin-bottom:8px}.kpi-danger .kpi-icon{background:#fde9e7;color:var(--danger)}.kpi-warning .kpi-icon{background:#fff4d6;color:var(--warn)}.kpi-success .kpi-icon{background:#e7f6ee;color:var(--ok)}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.attention-list{display:grid;gap:9px}.attention-item{display:grid;grid-template-columns:96px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.attention-item strong{display:block}.attention-item small{display:block;color:var(--muted);margin-top:2px}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.danger{background:var(--danger)}.status-dot.warning{background:#e3a008}.status-dot.success{background:var(--ok)}.module-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.module-card{padding:16px;display:flex;flex-direction:column;gap:8px}.module-card h3{font-size:14px;margin:0}.module-card p{font-size:12px;color:var(--muted);margin:0;min-height:34px}.module-card .btn{margin-top:auto}.summary-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.summary-chip{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-size:12px}.summary-chip strong{font-size:16px;margin-left:5px}.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.unit-card{padding:15px}.unit-card-head{display:flex;justify-content:space-between;gap:10px}.unit-card h3{margin:0;font-size:18px}.unit-card small{color:var(--muted)}.unit-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.unit-metrics div{background:var(--surface2);padding:8px;border-radius:9px}.unit-metrics span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase}.unit-metrics strong{display:block;font-size:13px;margin-top:2px}.unit-actions{display:flex;gap:7px;flex-wrap:wrap}.hidden-block{display:none!important}.form-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.empty-state{text-align:center;padding:42px 16px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:16px;margin-bottom:5px}.healthbar{height:7px;background:#edf1f4;border-radius:999px;overflow:hidden}.healthbar i{display:block;height:100%;background:var(--ok);border-radius:999px}.text-danger{color:var(--danger)}.text-warning{color:var(--warn)}.text-success{color:var(--ok)}
@media(max-width:1200px){.quick-search{min-width:210px}.module-cards{grid-template-columns:repeat(2,1fr)}.unit-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:900px){.quick-search{order:4;width:100%;min-width:0}.topbar{flex-wrap:wrap}.global-filter{margin-left:auto}.topbar-title{flex:1}.global-filter{order:3}.quick-search{order:4}.top-alert{order:3}}
@media(max-width:760px){body.sidebar-collapsed .sidebar,.sidebar{width:min(86vw,300px);transform:translateX(-105%)}body.sidebar-collapsed .sidebar.open,.sidebar.open{transform:translateX(0)}body.sidebar-collapsed .main,.main{margin-left:0;width:100%}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(5,15,25,.48);z-index:19;opacity:0;visibility:hidden;transition:.2s}.sidebar-backdrop.open{opacity:1;visibility:visible}.sidebar-close{display:block}.brand-copy,body.sidebar-collapsed .brand-copy,.nav-link b,body.sidebar-collapsed .nav-link b,.nav-group-title,body.sidebar-collapsed .nav-group-title,.sidebar-foot small,body.sidebar-collapsed .sidebar-foot small,.sidebar-foot span,body.sidebar-collapsed .sidebar-foot span,.sidebar-foot a,body.sidebar-collapsed .sidebar-foot a,.nav-count,body.sidebar-collapsed .nav-count{display:initial}.brand{justify-content:flex-start}.nav-link,body.sidebar-collapsed .nav-link{justify-content:flex-start}.nav-link span,body.sidebar-collapsed .nav-link span{width:21px;font-size:14px}.menu-btn{display:inline-grid}.content{padding:12px}.topbar{padding:9px 12px}.topbar-title h1{font-size:17px}.global-filter-label{display:none}.global-filter-select{max-width:150px}.module-cards,.unit-grid{grid-template-columns:1fr}.attention-item{grid-template-columns:78px 1fr}.attention-item .btn{grid-column:1/-1}.page-head{flex-direction:column}.quick-actions{width:100%}.quick-actions .btn{flex:1}.kpis{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.kpis{grid-template-columns:1fr}.top-alert{display:none}.global-filter-select{max-width:130px}.quick-search button{padding-inline:9px}.unit-metrics{grid-template-columns:1fr 1fr}}

/* ===== V2.4 CONTROL INTUITIVO ===== */
.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;padding:10px}.mode-card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;background:#fff}.mode-card strong{font-size:14px}.mode-card span{font-size:12px;color:var(--muted)}.mode-card em{font-size:11px;color:#9a6700;font-style:normal;font-weight:700}.mode-card.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(38,112,168,.10);background:#f5faff}
.inspection-panel{padding:0;overflow:hidden}.inspection-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcfd)}.inspection-head h2{margin:3px 0 2px;font-size:24px}.inspection-head p{margin:0}.inspection-meta{display:flex;gap:10px}.inspection-meta label,.extra-reason label,.triple-input label,.pressure-inputs label,.mini-selects label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.inspection-meta .input{margin-top:5px;min-width:150px}.extra-reason{padding:14px 18px;border-bottom:1px solid var(--line);background:#fff8e8}.extra-reason .input{margin-top:6px}
.measure-grid,.pressure-grid,.control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.measure-card,.pressure-card,.control-tire{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;box-shadow:0 1px 2px rgba(15,23,42,.03)}.measure-card-head,.control-tire-head{display:flex;align-items:center;gap:9px}.measure-card-head div,.control-tire-head div{min-width:0}.measure-card-head strong,.control-tire-head strong{display:block;font-size:14px}.measure-card-head small,.control-tire-head small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.last-reading,.pressure-last{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin:12px 0;padding:9px 10px;background:var(--surface2);border-radius:10px}.last-reading span,.pressure-last span{font-size:10px;color:var(--muted)}.last-reading strong,.pressure-last strong{font-size:15px}.last-reading small,.pressure-last small{grid-column:1/-1;color:var(--muted);font-size:10px}.triple-input{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:8px}.triple-input .input{margin-top:5px;padding:10px 7px;text-align:center;font-weight:700}.sticky-save{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.sticky-save span{font-size:11px;color:var(--muted)}
.pressure-card.is-alert{border-color:#efc5bf;background:#fffafa}.pressure-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pressure-inputs .input{margin-top:5px}.big-input{font-size:20px!important;font-weight:800;text-align:center}.mini-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}.mini-selects .select{margin-top:5px;padding:8px 5px;font-size:11px}
.control-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.control-hero h2{font-size:28px;margin:3px 0}.control-hero p{margin:0;color:var(--muted)}.control-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.control-tire{display:flex;flex-direction:column;gap:10px}.control-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}.control-values>div{background:var(--surface2);padding:10px;border-radius:10px}.control-values span,.control-values small{display:block;color:var(--muted);font-size:10px}.control-values strong{display:block;font-size:17px;margin:2px 0}.control-status{display:flex;gap:6px;flex-wrap:wrap}.rotation-form{grid-template-columns:1fr auto 1fr 1fr 1fr auto!important}
@media(max-width:1200px){.measure-grid,.pressure-grid,.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rotation-form{grid-template-columns:1fr auto 1fr!important}.rotation-form .form-group:nth-of-type(3),.rotation-form .form-group:nth-of-type(4),.rotation-form .btn{grid-column:auto!important}}
@media(max-width:760px){.mode-switch{grid-template-columns:1fr}.inspection-head,.control-hero{flex-direction:column;align-items:stretch}.inspection-meta{display:grid;grid-template-columns:1fr 1fr}.inspection-meta .input{min-width:0;width:100%}.measure-grid,.pressure-grid,.control-grid{grid-template-columns:1fr;padding:10px}.sticky-save{flex-direction:column;align-items:stretch}.sticky-save .btn{width:100%}.control-actions .btn{flex:1}.rotation-form{grid-template-columns:1fr!important}}

/* ===== V2.5 RENDIMIENTO POR EJE / APLICACIÓN ===== */
.performance-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-filter-card{margin-bottom:16px}.performance-filters{display:grid;grid-template-columns:1.2fr 1.15fr 1.15fr 1.15fr 1.3fr auto;gap:10px;align-items:end}.performance-filter-actions{display:flex;gap:8px}.performance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.summary-ranking{display:grid;gap:9px}.summary-rank-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.summary-rank-row strong{display:block;font-size:13px}.summary-rank-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.summary-rank-value{font-size:19px;font-weight:850;white-space:nowrap}.summary-rank-value span{font-size:10px;color:var(--muted);font-weight:700}.table-sub{display:block;color:var(--muted);font-size:10px;margin-top:2px;max-width:160px}.metric-big{font-size:15px}.performance-note p{margin:0 0 8px;line-height:1.55}.performance-note p:last-child{margin-bottom:0}
@media(max-width:1250px){.performance-filters{grid-template-columns:repeat(3,1fr)}.performance-filter-actions{align-self:end}.performance-summary-grid{grid-template-columns:1fr 1fr}.performance-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.performance-filters{grid-template-columns:1fr}.performance-filter-actions .btn{flex:1}.performance-summary-grid{grid-template-columns:1fr}.performance-kpis{grid-template-columns:1fr 1fr}.summary-rank-value{font-size:16px}}
@media(max-width:460px){.performance-kpis{grid-template-columns:1fr}}


/* ===== V3.7 ANALÍTICA INTEGRAL ===== */
.gn-chart{width:100%;overflow-x:auto;min-height:260px}.gn-chart svg{display:block;width:100%;height:auto;min-width:520px}.gn-chart-empty{min-height:250px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);background:#fbfcfd;border:1px dashed var(--line);border-radius:12px}.gn-chart-empty strong{display:block;color:var(--ink);font-size:14px}.gn-chart-empty span{display:block;font-size:12px;margin-top:5px}.gn-chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:11px;color:var(--muted)}.gn-chart-legend span{display:inline-flex;align-items:center}.gn-chart-legend i{width:14px;height:5px;border-radius:999px;margin-right:6px}.analytics-filter{margin-bottom:14px}.analytics-filter .filters{margin-bottom:0}.analytics-filter .select,.analytics-filter .input{max-width:310px}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-grid{margin-bottom:16px}.tire-inventory-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-filters{display:grid;grid-template-columns:2fr 1fr 1.2fr auto auto;gap:9px}.inventory-code{font-size:14px;font-weight:850;color:var(--accent)}.inventory-code:hover{text-decoration:underline}.tire-inventory-table td{vertical-align:top}.tire-mobile-card{display:block}.tire-chart-grid{margin-bottom:16px}.month-mini-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.month-mini-stats span{background:#f6f8fa;border:1px solid var(--line);border-radius:10px;padding:7px 9px;font-size:10px;color:var(--muted)}.month-mini-stats strong{display:block;color:var(--ink);font-size:11px}.collapsible-entry .panel-title{margin-bottom:0}.collapsible-entry form:not(.hidden-block){margin-top:14px}
@media(max-width:1100px){.inventory-filters{grid-template-columns:1fr 1fr}.analytics-kpis,.tire-inventory-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.inventory-filters{grid-template-columns:1fr}.analytics-kpis,.tire-inventory-kpis{grid-template-columns:1fr 1fr}.gn-chart svg{min-width:620px}.tire-detail-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.analytics-kpis,.tire-inventory-kpis,.tire-detail-kpis{grid-template-columns:1fr}}


/* ===== V4.0 CENTRO DE CONTROL TÉCNICO-ECONÓMICO ===== */
.control-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.control-chart-grid{margin-bottom:16px}
.filter-note{align-self:center;font-size:12px;color:var(--muted);padding:0 4px}.target-list{display:grid;gap:8px;margin-top:12px}.target-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.target-row>div:last-child{text-align:right}.target-row strong{display:block;font-size:13px}.target-row small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attention-card{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;transition:.15s}.attention-card:hover{border-color:#b8cadb;background:#fbfdff}.attention-score{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;background:#fff1f0;color:#b42318}.attention-main{min-width:0}.attention-main strong{display:block;font-size:13px}.attention-main span{display:block;color:var(--muted);font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-metrics{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.attention-metrics span{padding:5px 7px;border-radius:8px;background:var(--surface2);font-size:10px;font-weight:800}
.insight-note{border-left:4px solid var(--accent)}.insight-note p{line-height:1.55;margin:0 0 8px}.insight-note p:last-child{margin-bottom:0}.warning-text{color:#a26700!important}
.quality-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.quality-section,.quality-grid{margin-bottom:16px}
.v4-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.v4-inventory-filters{grid-template-columns:1.8fr repeat(5,minmax(120px,1fr)) auto auto}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f7fbff!important}
@media(max-width:1250px){.v4-inventory-filters{grid-template-columns:repeat(4,1fr)}.control-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.attention-grid{grid-template-columns:1fr}}
@media(max-width:900px){.quality-kpis,.v4-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v4-inventory-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.control-kpis,.quality-kpis,.v4-kpis,.v4-inventory-filters{grid-template-columns:1fr}.attention-card{grid-template-columns:42px 1fr}.attention-metrics{grid-column:1/-1;justify-content:flex-start}.target-row{align-items:flex-start;flex-direction:column}.target-row>div:last-child{text-align:left}}


/* ==============================
   V4.1 IMPORTADOR BACKUS / CUSCO
============================== */
.importer-start-grid{align-items:stretch}
.importer-highlight{border:1px solid rgba(22,121,74,.22);background:linear-gradient(180deg,rgba(22,121,74,.045),transparent)}
.importer-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.importer-kpis>div,.import-result-grid>div{background:var(--surface-2,#f7f8fa);border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:12px}
.importer-kpis strong{display:block;font-size:1.35rem;color:var(--text,#0f172a)}
.importer-kpis span,.import-result-grid span{display:block;font-size:.78rem;color:var(--muted,#64748b);margin-top:3px}
.import-upload-form{display:grid;gap:12px}
.rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rule-grid>div{border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:13px;background:var(--surface-2,#f8fafc)}
.rule-grid strong{display:block;margin-bottom:5px}
.rule-grid span{font-size:.84rem;color:var(--muted,#64748b);line-height:1.45}
.importer-summary-kpis{margin:14px 0}
.issue-summary{margin-top:14px;border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:14px}
.issue-summary h3{margin:0 0 10px;font-size:1rem}
.issue-row{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-top:1px dashed var(--border,#e5e7eb)}
.issue-row:first-of-type{border-top:0}
.import-confirm-box{margin-top:16px;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border-radius:16px;background:rgba(247,198,0,.11);border:1px solid rgba(247,198,0,.35)}
.import-confirm-box p{margin:5px 0 0;color:var(--muted,#64748b);max-width:780px}
.import-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.import-result-grid strong{display:block;font-size:1.25rem}
.importer-table small.table-sub{max-width:280px;white-space:normal}
.source-history-note{padding:10px 12px;border-radius:12px;background:rgba(13,110,253,.07);border:1px solid rgba(13,110,253,.16);font-size:.84rem;color:var(--muted,#64748b);margin-bottom:12px}
.source-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){
 .importer-kpis,.rule-grid,.import-result-grid,.source-history-grid{grid-template-columns:1fr 1fr}
 .import-confirm-box{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
 .importer-kpis,.rule-grid,.import-result-grid,.source-history-grid{grid-template-columns:1fr}
}

/* V4.3 · Fuente Backus + presión simulada */
.source-status-panel{border-left:4px solid var(--primary,#1769aa)}
.source-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.source-status-grid>div{background:var(--surface-2,#f6f8fb);border:1px solid var(--border,#e3e8ef);border-radius:12px;padding:10px}
.source-status-grid span{display:block;font-size:11px;color:var(--muted,#667085);text-transform:uppercase;font-weight:700}
.source-status-grid strong{display:block;margin-top:3px}
.source-tag{font-style:normal;font-size:9px;padding:2px 5px;border-radius:999px;background:#e8f1fb;color:#1769aa;margin-left:4px}
.source-chart-panel{border-top:3px solid #1769aa}
@media(max-width:700px){.source-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
