/* V13: base crítica de respaldo */
html{font-size:16px}img{max-width:100%;height:auto}.app-topbar{display:flex}.app-sidebar{display:flex}.app-main{display:block}.topbar-brand img,.sidebar-head img{object-fit:contain}
:root{--green:#0d4f38;--green2:#137a55;--cream:#f5f2ea;--ink:#1f2925;--muted:#69756f;--line:#dce4df;--white:#fff;--danger:#a53030}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--cream);color:var(--ink)}a{color:inherit}.container{max-width:1180px;margin:auto;padding:28px 20px}.top{height:76px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.brand,.user{display:flex;align-items:center;gap:12px}.brand img{width:48px;height:48px;object-fit:contain}.brand div,.user{flex-direction:column;align-items:flex-start;gap:1px}.brand small,.user small{color:var(--muted)}.user{position:relative;padding-right:62px}.user a{position:absolute;right:0;top:10px;text-decoration:none;color:var(--green2);font-weight:700}.login-wrap{min-height:calc(100vh - 56px);display:grid;place-items:center}.login-card{width:min(430px,100%);background:var(--white);border-radius:22px;padding:34px;box-shadow:0 18px 60px rgba(20,50,38,.12)}.login-logo{display:block;width:120px;height:120px;object-fit:contain;margin:0 auto 10px}.login-card h1{text-align:center;margin:0}.login-card p{text-align:center;color:var(--muted);margin:8px 0 28px}.field{margin:16px 0}.field label{display:block;font-weight:750;margin-bottom:7px}.field input{width:100%;height:52px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font-size:16px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:var(--green);color:#fff;min-height:50px;padding:0 20px;font-weight:800;text-decoration:none;cursor:pointer}.btn.full{width:100%}.alert{padding:12px 14px;border-radius:10px;background:#fce8e8;color:var(--danger);margin-bottom:14px}.hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.hero h1{font-size:32px;margin:0}.hero p{color:var(--muted);margin:6px 0 0}.badge{background:#e2f3ea;color:var(--green);padding:9px 13px;border-radius:999px;font-weight:800}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;min-height:145px}.card h3{margin:0 0 9px}.card p{color:var(--muted);margin:0 0 20px}.card a{text-decoration:none;color:var(--green2);font-weight:800}.metric{font-size:34px;font-weight:900}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}.table th{font-size:13px;color:var(--muted);text-transform:uppercase}.note{background:#fff9df;border:1px solid #eadb99;border-radius:14px;padding:16px;margin-top:22px}@media(max-width:760px){.top{padding:0 14px}.user span,.user small{display:none}.user{padding-right:48px}.grid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.container{padding:20px 14px}.login-card{padding:26px 20px}}
.brand{text-decoration:none;color:inherit}.nav{display:flex;gap:8px;padding:10px 28px;background:#fff;border-bottom:1px solid var(--line);overflow:auto}.nav a,.nav span{white-space:nowrap;padding:9px 13px;border-radius:10px;text-decoration:none;font-weight:750;color:var(--muted)}.nav a.active{background:#e2f3ea;color:var(--green)}.nav span{opacity:.45}.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.page-head h1{margin:0;font-size:31px}.page-head p{margin:6px 0 0;color:var(--muted)}.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}.success{background:#e4f5ea;color:#17603f;border:1px solid #bfe5cc;padding:13px 15px;border-radius:12px;margin-bottom:16px}.table-wrap{overflow:auto;border-radius:16px}.actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.actions a,.actions button{border:0;background:none;color:var(--green2);font:inherit;font-weight:750;cursor:pointer;padding:0}.actions form{margin:0}.status{display:inline-block;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.status.on{background:#e2f3ea;color:#17603f}.status.off{background:#f5e8e8;color:#9b3030}.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}.field select{width:100%;height:52px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font-size:16px;background:#fff}.field small{display:block;color:var(--muted);margin-top:6px}.field.check{display:flex;align-items:center}.field.check label{display:flex;gap:9px;align-items:center}.field.check input{width:18px;height:18px}.form-actions{display:flex;justify-content:flex-end;margin-top:20px}@media(max-width:760px){.nav{padding:8px 14px}.page-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-card{padding:18px}.table{min-width:900px}}
.branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.branch-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.branch-card.inactive{opacity:.72}.branch-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.branch-head h3{font-size:22px;margin:5px 0 0}.branch-code{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--green2);background:#eaf5ef;padding:5px 8px;border-radius:7px}.branch-address{color:var(--muted);min-height:44px}.branch-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.branch-data div{background:#f7f8f6;border-radius:11px;padding:11px}.branch-data dt{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.branch-data dd{margin:4px 0 0;font-weight:700}.branch-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px}.btn.small{min-height:40px;padding:0 15px}.link-button{border:0;background:none;color:var(--green2);font:inherit;font-weight:800;cursor:pointer}.branch-actions form{margin:0}@media(max-width:760px){.branch-grid{grid-template-columns:1fr}.branch-data{grid-template-columns:1fr 1fr}}
.role-box{background:#f7f8f6;border:1px solid var(--line);border-radius:14px;padding:14px}.check-line{display:flex!important;align-items:center;gap:9px;margin:9px 0!important;font-weight:700!important}.check-line input{width:18px!important;height:18px!important}.setting-row{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}.setting-row h3{margin:0 0 8px;font-size:22px}.setting-row p{margin:0;color:var(--muted);line-height:1.55}@media(max-width:760px){.setting-row{grid-template-columns:1fr}}
.price-table small{display:block;color:var(--muted);margin-top:4px}.money-input{display:flex;align-items:center;min-width:125px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.money-input span{padding:0 0 0 11px;color:var(--muted);font-weight:800}.money-input input{width:100%;height:44px;border:0;padding:0 10px;font-size:15px;outline:none;background:transparent}.price-table th:not(:first-child){min-width:170px}

/* V7 · Inventario, transferencias y bitácora */
.head-actions{display:flex;gap:10px;flex-wrap:wrap}.inventory-block{margin:0 0 24px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.inventory-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.inventory-title h2{margin:2px 0 0}.inventory-title small,.muted{color:#64748b}.inventory-totals{display:flex;gap:10px;flex-wrap:wrap}.inventory-totals span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:9px 12px;font-size:13px}.inventory-totals b{font-size:18px;margin-right:5px}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.stock-card{border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#fff}.inactive-card{opacity:.58}.stock-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.stock-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.stock-dot.good{background:#16a34a}.stock-dot.warning{background:#f59e0b}.stock-dot.critical{background:#dc2626}.stock-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.stock-values div{background:#f8fafc;border-radius:10px;text-align:center;padding:9px 3px}.stock-values b{display:block;font-size:21px}.stock-values small{color:#64748b}.qty-input{width:95px;max-width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:9px}.span-2{grid-column:span 2}.transfer-summary{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;margin-bottom:16px}.transfer-pendiente{background:#fff7ed!important;color:#9a3412!important}.transfer-en_transito{background:#eff6ff!important;color:#1d4ed8!important}.transfer-recibida{background:#ecfdf5!important;color:#047857!important}.transfer-cancelada,.transfer-rechazada{background:#fef2f2!important;color:#b91c1c!important}.btn.danger{background:#b91c1c}.filter-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;margin-bottom:18px}.filter-bar .field{margin:0;min-width:210px}.timeline{display:grid;gap:10px}.timeline article{display:grid;grid-template-columns:150px 1fr;gap:18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:15px}.timeline time{color:#64748b;font-size:13px}.timeline article div{border-left:3px solid #f59e0b;padding-left:14px}.timeline span{display:block;font-weight:700;margin:3px 0}.timeline p{margin:4px 0}.timeline small{color:#94a3b8}@media(max-width:720px){.inventory-title{align-items:flex-start;flex-direction:column}.timeline article{grid-template-columns:1fr;gap:6px}.span-2{grid-column:auto}.inventory-totals{width:100%}.inventory-totals span{flex:1;min-width:90px}.head-actions{width:100%}.head-actions .btn{flex:1;text-align:center}}

/* V8 · Dashboard, semáforo y centro de control */
.eyebrow{display:block;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.65;margin-bottom:.35rem}.hero-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.kpi-card{background:#fff;border:1px solid #e6e8eb;border-radius:18px;padding:1.25rem;box-shadow:0 8px 24px rgba(27,35,45,.05)}.kpi-card span{display:block;color:#667085;font-weight:700;font-size:.88rem}.kpi-card strong{display:block;font-size:2.35rem;line-height:1.1;margin:.45rem 0;color:#1f2937}.kpi-card small{color:#7b8492}.kpi-card.warn{border-left:5px solid #e7a300}.kpi-card.danger{border-left:5px solid #d73a49}.dashboard-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.panel-card{background:#fff;border:1px solid #e6e8eb;border-radius:18px;padding:1.15rem;box-shadow:0 8px 24px rgba(27,35,45,.05);margin-bottom:1rem}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.section-head h2,.panel-card h2{margin:0}.section-head p{margin:.25rem 0 0;color:#7b8492}.signal-list{display:grid;gap:.55rem}.signal-row{display:grid;grid-template-columns:14px 1fr auto auto;align-items:center;gap:.75rem;padding:.72rem .2rem;border-bottom:1px solid #eef0f2}.signal-row:last-child{border-bottom:0}.signal-row small{display:block;color:#7b8492}.signal-row b{font-size:1.1rem}.signal-dot{width:12px;height:12px;border-radius:50%;display:inline-block;background:#34a853;box-shadow:0 0 0 4px rgba(52,168,83,.12)}.signal-dot.atencion{background:#e7a300;box-shadow:0 0 0 4px rgba(231,163,0,.14)}.signal-dot.critico{background:#d73a49;box-shadow:0 0 0 4px rgba(215,58,73,.14)}.signal-label{font-size:.75rem;font-weight:800;border-radius:999px;padding:.28rem .55rem;background:#eaf7ee;color:#24713a}.signal-label.atencion{background:#fff4d8;color:#8c6200}.signal-label.critico{background:#fee9eb;color:#a7212f}.activity-list article{display:grid;grid-template-columns:48px 1fr;gap:.7rem;padding:.7rem 0;border-bottom:1px solid #eef0f2}.activity-list time{font-weight:800;color:#667085}.activity-list span,.activity-list small{display:block;color:#7b8492}.rule-section{margin-bottom:1rem}.qty-input{max-width:110px}.sticky-actions{position:sticky;bottom:0;background:rgba(245,247,249,.94);backdrop-filter:blur(8px);padding:1rem;border-radius:14px;z-index:3}
.control-screen{max-width:1600px;margin:0 auto;padding:.4rem}.control-header{display:flex;justify-content:space-between;align-items:center;background:#1d2733;color:#fff;border-radius:22px;padding:1.3rem 1.6rem;margin-bottom:1rem}.control-header span{font-size:.78rem;letter-spacing:.18em;font-weight:800;opacity:.7}.control-header h1{margin:.15rem 0 0;font-size:2rem}.control-clock{text-align:right}.control-clock strong{display:block;font-size:2rem}.control-clock small{opacity:.7}.control-grid{display:grid;grid-template-columns:1fr 360px;gap:1rem}.control-main,.control-side section{background:#fff;border:1px solid #e4e7eb;border-radius:20px;padding:1.15rem}.control-main h2,.control-side h2{margin-top:0}.control-side{display:grid;gap:1rem;align-content:start}.location-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.location-tile{border:1px solid #dfe5e9;border-left:6px solid #34a853;border-radius:18px;padding:1rem;background:#fbfdfb}.location-tile.atencion{border-left-color:#e7a300;background:#fffdf7}.location-tile.critico{border-left-color:#d73a49;background:#fffafb}.tile-top{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:.6rem}.tile-top h3{margin:0}.tile-top b{font-size:.78rem;text-transform:uppercase}.stock-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:1rem}.stock-trio div{background:#fff;border:1px solid #e9edf0;border-radius:13px;padding:.75rem;text-align:center}.stock-trio strong{display:block;font-size:1.55rem}.stock-trio span{font-size:.75rem;color:#7b8492}.control-item{padding:.75rem 0;border-bottom:1px solid #edf0f2}.control-item:last-child{border-bottom:0}.control-item span,.control-item small{display:block;color:#7b8492;margin-top:.12rem}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns,.control-grid{grid-template-columns:1fr}.control-side{grid-template-columns:1fr 1fr}.location-board{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.kpi-grid,.dashboard-columns,.location-board,.control-side{grid-template-columns:1fr}.control-header{align-items:flex-start}.control-clock strong{font-size:1.45rem}.signal-row{grid-template-columns:12px 1fr auto}.signal-label{display:none}.stock-trio strong{font-size:1.25rem}}

/* V9 · Operación diaria y ventas */
.operation-hero{align-items:center}.open-badge{background:#e8f7ed!important;color:#1b6d36!important}.closed-badge{background:#f3f4f6!important;color:#667085!important}.action-focus{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;text-align:center;max-width:720px;margin:30px auto;box-shadow:0 14px 38px rgba(20,50,38,.08)}.action-focus form{display:flex;gap:12px;align-items:end;justify-content:center;flex-wrap:wrap}.operation-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.operation-kpis article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.operation-kpis span{display:block;color:var(--muted);font-size:.85rem;font-weight:700}.operation-kpis strong{display:block;font-size:1.7rem;margin-top:5px}.operation-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.btn.giant{min-height:56px;padding:0 28px;font-size:1.05rem}.local-stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.local-stock-grid article{display:grid;grid-template-columns:1.5fr repeat(3,.6fr);gap:8px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px}.local-stock-grid article div{text-align:center}.local-stock-grid b,.local-stock-grid small{display:block}.local-stock-grid small{color:var(--muted);font-size:.72rem}.sale-form{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}.sale-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sale-products article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sale-products h3{margin:3px 0}.sale-products span{font-size:.75rem;font-weight:900;color:var(--green2)}.sale-products p{margin:0;color:var(--muted)}.sale-products input{width:82px;height:60px;border:2px solid var(--line);border-radius:14px;text-align:center;font-size:1.5rem;font-weight:800}.sale-summary{position:sticky;top:105px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.sale-summary select{width:100%;height:50px;border:1px solid var(--line);border-radius:12px;padding:0 12px}.success-screen{min-height:65vh;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.success-screen>div{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:#e8f7ed;color:#1f7a3c;font-size:3rem;font-weight:900}.success-screen h1{margin:5px 0 0}.form-card.narrow{max-width:620px;margin:20px auto}@media(max-width:850px){.sale-form{grid-template-columns:1fr}.sale-summary{position:static}.sale-products{grid-template-columns:1fr}.operation-kpis{grid-template-columns:1fr}.local-stock-grid{grid-template-columns:1fr}}@media(max-width:580px){.local-stock-grid article{grid-template-columns:1fr repeat(3,.6fr)}.operation-actions .btn{width:100%}}

.qty-input{width:88px;min-width:70px}.table td small.muted{display:block;margin-top:3px}.btn.small{padding:7px 11px;font-size:12px}

/* V11 Centro de Operaciones */
.operations-hero{background:linear-gradient(135deg,#161d2b,#273247);color:#fff}.operations-hero p{color:#dce3ef}.eyebrow{font-weight:800;letter-spacing:.12em;opacity:.72}.good-badge{background:#dff7e8;color:#14713b}.ops-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.ops-action{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;padding:18px;background:#fff;border:1px solid #e3e7ee;border-radius:18px;text-decoration:none;color:#152034;box-shadow:0 8px 25px rgba(20,32,52,.06);transition:.15s}.ops-action:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,32,52,.1)}.ops-action b{grid-row:1/3;width:38px;height:38px;border-radius:12px;background:#eef3fb;display:grid;place-items:center;font-size:22px}.ops-action strong{font-size:16px}.ops-action span{font-size:12px;color:#6b7484;margin-top:4px}.split-panels{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.panel-card{background:#fff;border:1px solid #e3e7ee;border-radius:18px;padding:18px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title h2{margin:0}.section-title p{margin:4px 0 0;color:#788191}.activity-list{display:grid;gap:8px}.activity-list>a{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #edf0f4;border-radius:12px;text-decoration:none;color:inherit}.activity-list>a>div{display:flex;flex-direction:column;gap:4px}.activity-list>a>div:last-child{align-items:flex-end}.operation-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.ops-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.split-panels{grid-template-columns:1fr}.operation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ops-actions{grid-template-columns:1fr}.operation-kpis{grid-template-columns:1fr 1fr}.ops-action{padding:14px}}

/* V12 · Navegación limpia y experiencia responsive */
:root{--sidebar-w:248px;--topbar-h:72px;--surface:#fff;--soft:#f7f5ef;--shadow:0 12px 34px rgba(26,42,35,.08)}
body{overflow-x:hidden}.app-topbar{height:var(--topbar-h);position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:16px}.topbar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.topbar-brand img{width:48px;height:48px;object-fit:contain;flex:none}.topbar-brand div{display:flex;align-items:baseline;gap:4px;min-width:0}.topbar-brand strong{font-size:1.08rem;white-space:nowrap}.topbar-brand small{color:var(--muted);font-size:.92rem;white-space:nowrap}.topbar-user{display:flex;align-items:center;gap:20px}.topbar-user>div{display:flex;flex-direction:column;text-align:right}.topbar-user small{color:var(--muted);font-size:.78rem}.logout-link{text-decoration:none;color:var(--green2);font-weight:850}.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;cursor:pointer;flex:none}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}.app-sidebar{position:fixed;left:0;top:var(--topbar-h);bottom:0;width:var(--sidebar-w);z-index:35;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar-head{display:none}.sidebar-nav{padding:18px 12px;overflow:auto;flex:1}.nav-group{padding:14px 12px 7px;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:#97a19c}.nav-item{display:flex;align-items:center;gap:11px;min-height:44px;padding:8px 11px;margin:2px 0;border-radius:11px;text-decoration:none;color:#53615a;font-weight:760;font-size:.91rem}.nav-item:hover{background:#f3f6f4;color:var(--ink)}.nav-item.active{background:#e6f3ed;color:var(--green);box-shadow:inset 3px 0 0 var(--green2)}.nav-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#f2f4f2;font-weight:900;font-size:.88rem;flex:none}.nav-item.active .nav-icon{background:#fff}.sidebar-foot{padding:15px 18px;border-top:1px solid var(--line);display:flex;flex-direction:column}.sidebar-foot span{font-weight:800;font-size:.88rem}.sidebar-foot small{color:var(--muted)}.has-sidebar .app-main{margin-left:var(--sidebar-w);max-width:none;padding:26px 30px}.sidebar-overlay{display:none}
/* Oculta la navegación superior antigua si quedara en caché */
body>.top,body>.nav{display:none!important}
/* Centro de operaciones: lectura rápida */
.operations-hero{border-radius:22px;padding:24px 26px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.operations-hero h1{margin:3px 0 5px;font-size:clamp(1.65rem,3vw,2.35rem)}.operation-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.operation-kpis article{min-width:0;box-shadow:0 7px 22px rgba(20,50,38,.045)}.operation-kpis span{line-height:1.25;min-height:2.15em}.operation-kpis strong{font-size:clamp(1.55rem,2.8vw,2.1rem)}.ops-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ops-action{grid-template-columns:46px minmax(0,1fr);column-gap:12px;min-height:96px}.ops-action b{grid-row:1/3}.ops-action strong,.ops-action span{min-width:0;overflow-wrap:anywhere}.panel-card{min-width:0}.table td strong+.muted{margin-left:0}.table td small.muted{font-size:.72rem;opacity:.72}.empty{color:var(--muted);text-align:center;padding:24px!important}
@media(max-width:1100px){.operation-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:979px){:root{--topbar-h:66px}.menu-toggle{display:block}.app-topbar{padding:0 14px}.topbar-brand{margin-right:auto}.topbar-brand img{width:43px;height:43px}.topbar-brand div{display:flex;flex-direction:column;align-items:flex-start;gap:0}.topbar-brand small{font-size:.72rem}.topbar-user>div{display:none}.logout-link{font-size:.93rem}.app-sidebar{top:0;width:min(84vw,310px);transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(20,35,28,.18);z-index:70}.menu-open .app-sidebar{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(16,25,21,.42);opacity:0;visibility:hidden;transition:.2s;z-index:65}.menu-open .sidebar-overlay{opacity:1;visibility:visible}.sidebar-head{height:72px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.sidebar-head img{width:44px;height:44px;object-fit:contain}.sidebar-head div{display:flex;flex-direction:column;min-width:0}.sidebar-head small{color:var(--muted)}.sidebar-close{margin-left:auto;width:38px;height:38px;border:0;background:#f1f4f2;border-radius:10px;font-size:1.65rem;line-height:1;cursor:pointer}.has-sidebar .app-main{margin-left:0;padding:20px 14px}.sidebar-foot{padding-bottom:max(15px,env(safe-area-inset-bottom))}.operations-hero{padding:20px}.split-panels{grid-template-columns:1fr}}
@media(max-width:680px){.topbar-brand strong{font-size:.98rem}.topbar-user{gap:8px}.operations-hero{align-items:flex-start;flex-direction:column}.operations-hero .badge{align-self:flex-start}.operation-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.operation-kpis article{padding:14px;min-height:105px}.operation-kpis span{font-size:.76rem}.operation-kpis strong{font-size:1.65rem}.ops-actions{grid-template-columns:1fr}.ops-action{min-height:88px;padding:15px}.split-panels{gap:14px}.panel-card{padding:14px}.section-title h2{font-size:1.35rem}.table{min-width:620px}.topbar-brand small{max-width:180px;overflow:hidden;text-overflow:ellipsis}.app-main .hero,.app-main .page-head{margin-bottom:17px}}
@media(max-width:420px){.topbar-brand small{display:none}.topbar-brand img{width:40px;height:40px}.logout-link{font-size:.88rem}.operation-kpis{grid-template-columns:1fr 1fr}.operation-kpis article:last-child:nth-child(odd){grid-column:1/-1}}


/* V14 · Día operacional */
.day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0 28px}.day-card{background:#fff;border:1px solid #e6e9ee;border-radius:22px;padding:20px;box-shadow:0 12px 34px rgba(16,24,40,.06)}.day-card.is-open{border-color:#b9e5cc;box-shadow:0 12px 34px rgba(18,140,79,.10)}.day-card.is-closed{background:#f7f8fa}.day-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.day-card-head small{font-size:.72rem;letter-spacing:.08em;color:#7b8493;font-weight:800}.day-card-head h2{margin:4px 0 3px;font-size:1.25rem}.day-card-head p{margin:0;color:#6b7280}.day-status{border-radius:999px;padding:7px 11px;background:#eef1f5;font-size:.78rem;font-weight:800;white-space:nowrap}.is-open .day-status{background:#ddf7e8;color:#087443}.is-closed .day-status{background:#e8ebef;color:#586171}.day-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.day-metrics div{padding:13px;border-radius:14px;background:#f6f7f9;text-align:center}.day-metrics b{display:block;font-size:1.35rem}.day-metrics span{font-size:.74rem;color:#667085}.day-action{display:grid;gap:10px}.day-action input{width:100%}.day-open-info,.day-closed-info{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin-bottom:12px;border-radius:13px;background:#f2faf6}.day-closed-info{background:#eef0f3}.blocked-day{border:1px solid #f5c2c7;background:#fff8f8}.notice.success{background:#e9f8ef;color:#126b3c;border:1px solid #bce5ca;padding:13px 15px;border-radius:14px;margin:14px 0}
@media(max-width:780px){.day-grid{grid-template-columns:1fr}.day-card{padding:16px}.day-card-head{flex-direction:column}.day-metrics{gap:7px}.day-metrics div{padding:11px 6px}.day-open-info,.day-closed-info{align-items:flex-start;flex-direction:column;gap:3px}}


/* V15 · Centro de decisiones */
.decision-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:24px;background:linear-gradient(135deg,#f4f7f6,#fff);border:1px solid #e5e9e7;margin-bottom:18px}.decision-hero.atencion{background:linear-gradient(135deg,#fff8e7,#fff)}.decision-hero.critico{background:linear-gradient(135deg,#fff0ee,#fff)}.decision-hero h1{margin:6px 0 8px;font-size:clamp(1.65rem,4vw,2.5rem)}.decision-hero p{margin:0;color:#66706b;max-width:720px}.health-ring{width:148px;height:148px;border-radius:50%;flex:0 0 148px;border:12px solid #dfe9e4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.06)}.decision-hero.normal .health-ring{border-color:#bfe5d0}.decision-hero.atencion .health-ring{border-color:#f5d38a}.decision-hero.critico .health-ring{border-color:#efaaa1}.health-ring strong{font-size:2rem}.health-ring span{font-size:.75rem;color:#69736e;text-align:center}.decision-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.decision-summary article{background:#fff;border:1px solid #e6eae8;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:5px}.decision-summary strong{font-size:1.7rem}.decision-summary span{color:#6b746f;font-size:.88rem}.decision-summary .critical{border-left:5px solid #d84b3e}.decision-summary .warning{border-left:5px solid #d89b24}.decision-list{display:flex;flex-direction:column;gap:10px}.decision-item{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:16px;padding:15px;border:1px solid #e7ebe9;border-radius:16px;background:#fff}.decision-item.critica{border-left:6px solid #d64539;background:#fff9f8}.decision-item.alta{border-left:6px solid #ef8f2f}.decision-item.media{border-left:6px solid #e0bd43}.decision-item.info{border-left:6px solid #5f8fba}.decision-priority{font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#626b66}.decision-copy strong{font-size:1rem}.decision-copy p{margin:4px 0 0;color:#6a736e;font-size:.88rem}.btn.small{padding:9px 12px;font-size:.82rem}.all-clear{text-align:center;padding:46px 20px}.all-clear span{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#e5f5ec;color:#238653;font-size:2rem}.all-clear h3{margin:12px 0 4px}.all-clear p{margin:0;color:#6b746f}
@media(max-width:760px){.decision-hero{align-items:flex-start;padding:20px}.health-ring{width:92px;height:92px;flex-basis:92px;border-width:8px}.health-ring strong{font-size:1.35rem}.health-ring span{font-size:.61rem}.decision-summary{grid-template-columns:repeat(2,1fr)}.decision-item{grid-template-columns:1fr;gap:8px}.decision-priority{width:max-content}.decision-item .btn{width:100%;text-align:center}.decision-panel{padding:14px}}


/* V16 · Centro Logístico */
.logistics-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;margin:18px 0}.recommend-list,.compact-list,.agenda-list,.capacity-list{display:grid;gap:10px}.recommend-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e7e9ee;border-radius:16px;background:#fff}.recommend-card.critical{border-left:5px solid #d93a36}.recommend-card small,.recommend-card p{color:#667085}.recommend-card h3{margin:3px 0 5px}.compact-list article,.capacity-list article,.agenda-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #edf0f4}.compact-list article:last-child,.capacity-list article:last-child,.agenda-item:last-child{border-bottom:0}.compact-list span,.compact-list small,.agenda-item span,.capacity-list small,.capacity-list span{display:block;color:#667085;font-size:.86rem}.compact-list b{font-size:1.05rem;margin-left:8px}.agenda-item{padding:13px 12px;border-left:4px solid #f0b429;border-bottom:0;border-radius:10px;background:#fafbfc}.agenda-item.priority-critica{border-left-color:#d93a36}.agenda-item.priority-alta{border-left-color:#f26b38}.agenda-item.priority-info{border-left-color:#3b82f6}.agenda-item.completada{opacity:.62;border-left-color:#2e9d65}.task-creator{margin-top:16px;border-top:1px solid #edf0f4;padding-top:14px}.task-creator summary{cursor:pointer;font-weight:700;color:#d94a2f}.task-creator form{margin-top:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 18px;background:#f8fafb;border-radius:16px;color:#667085}.empty-state strong{font-size:1.1rem;color:#263238;margin-bottom:5px}.capacity-list article>div:last-child{text-align:right}.capacity-list b{font-size:1.35rem}.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn.small{padding:8px 12px;font-size:.82rem}.span-2{grid-column:span 2}
@media(max-width:900px){.logistics-grid{grid-template-columns:1fr}.recommend-card{align-items:flex-start;flex-direction:column}.recommend-card .btn{width:100%;text-align:center}.span-2{grid-column:span 1}}


/* V17 · Conductores */
.driver-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;margin-bottom:20px}.driver-hero h1{margin:4px 0 6px}.driver-state{padding:10px 14px;border-radius:999px;font-weight:800;background:#eef2ff;color:#3730a3}.state-en_ruta,.state-regresando{background:#dcfce7;color:#166534}.state-cargando,.state-recargando{background:#fef3c7;color:#92400e}.state-pendiente_cierre{background:#fee2e2;color:#991b1b}.driver-start{max-width:720px;margin:auto;text-align:center}.driver-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.driver-actions form{margin:0}.driver-action{width:100%;min-height:115px;text-align:left;padding:18px;border-radius:18px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.05)}.driver-action strong,.driver-action span{display:block}.driver-action strong{font-size:1rem;margin-bottom:7px}.driver-action span{font-size:.82rem;color:#64748b}.driver-action:disabled{opacity:.45;cursor:not-allowed}.load-form{display:grid;grid-template-columns:1.2fr 1.6fr repeat(3,.8fr) auto;gap:8px;margin-bottom:18px}.load-form input,.load-form select{min-width:0}.timeline article{display:grid;grid-template-columns:16px 1fr;gap:10px;position:relative;padding-bottom:18px}.timeline article>span{width:10px;height:10px;background:#f97316;border-radius:50%;margin-top:6px}.timeline article:not(:last-child):before{content:"";position:absolute;left:4px;top:18px;bottom:0;border-left:2px solid #e5e7eb}.timeline p,.timeline small{margin:3px 0;color:#64748b}.close-driver{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.driver-admin-list{display:grid;gap:10px}.driver-admin-card{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:14px}.driver-admin-card strong,.driver-admin-card span{display:block}.driver-admin-card span{font-size:.82rem;color:#64748b}@media(max-width:900px){.driver-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.load-form{grid-template-columns:1fr 1fr}.load-form .btn{grid-column:1/-1}.driver-admin-card{grid-template-columns:1fr}.driver-hero{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.driver-actions{grid-template-columns:1fr}.driver-action{min-height:86px}.load-form{grid-template-columns:1fr}.driver-hero{padding:20px}}


/* Zonas comerciales y precios de conductores */
.price-zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}
.price-zone-grid>label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid var(--line,#e5e7eb);border-radius:14px;background:#fff}
.price-zone-grid label span{display:flex;flex-direction:column;min-width:0}.price-zone-grid label small{color:#6b7280}.money-input{display:flex;align-items:center;gap:5px}.money-input input{width:115px;text-align:right}.money-input b{color:#6b7280}
@media(max-width:700px){.price-zone-grid{grid-template-columns:1fr}.price-zone-grid>button{width:100%}.driver-admin-card{grid-template-columns:1fr!important}.driver-admin-card select,.driver-admin-card button{width:100%}}

/* V19 · Rendiciones de conductores */
.rendition-table input.qty{width:88px;min-width:72px;text-align:center}.rendition-table td small{display:block}.print-area{border:2px solid var(--border,#e5e7eb)}.btn.danger{background:#991b1b;color:#fff;border-color:#991b1b}@media print{.app-topbar,.app-sidebar,.sidebar-overlay,.menu-toggle,.hero,.form-actions,.btn,body.has-sidebar:before{display:none!important}.app-main{margin:0!important;padding:0!important;max-width:none!important}.panel-card{box-shadow:none!important;border:0!important}.print-area{display:block!important}.container>*:not(.print-area){display:none!important}}


/* V21 Centro de auditoría */
.audit-filter{margin-bottom:18px}.audit-stats{margin-bottom:18px}.audit-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#fff3e7;color:#8a4300;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-right:8px}.audit-timeline article>div{min-width:0}.audit-timeline article strong{display:inline}.audit-timeline article small{display:block;margin-top:7px;color:#6b7280}.audit-open{display:inline-flex;margin-top:8px;font-weight:700;text-decoration:none;color:#b45309}.audit-open:hover{text-decoration:underline}@media(max-width:700px){.audit-timeline article{grid-template-columns:58px 1fr}.audit-timeline time{font-size:.76rem}.audit-filter .form-grid{grid-template-columns:1fr}.audit-filter .span-2{grid-column:auto}}


/* Portal comercial integrado V22 */
.document-grid{display:grid;gap:12px}.document-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--border,#e7e7e7);border-radius:16px;background:#fff}.document-card div:nth-child(2){display:flex;flex-direction:column;gap:3px}.document-card span,.document-card small{color:#6b7280}.document-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#fff1ec;color:#dc3f14;font-weight:900;font-size:.82rem}.upload-zone{position:relative;display:flex;min-height:150px;border:2px dashed #d7d7d7;border-radius:18px;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;margin-bottom:14px;background:#fafafa}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-zone strong{font-size:1.05rem}.upload-zone span{color:#6b7280;max-width:420px;margin-top:6px}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.commercial-hero{margin-bottom:16px}@media(max-width:680px){.document-card{grid-template-columns:48px 1fr}.document-card .btn{grid-column:1/-1;width:100%}.document-icon{width:44px;height:44px}.row-actions{min-width:180px}}

/* V23 - cargas de camionetas */
.qty-input{max-width:110px;text-align:center}.transfer-summary{background:#fff;border:1px solid #e6e8ec;border-radius:16px;padding:18px;margin:16px 0}.transfer-summary p{margin:10px 0 6px}.transfer-summary small{color:#6b7280}.operation-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.operation-kpis article{background:#fff;border:1px solid #e6e8ec;border-radius:16px;padding:16px}.operation-kpis span{display:block;color:#6b7280;font-size:.88rem}.operation-kpis strong{display:block;font-size:1.8rem;margin-top:4px}@media(max-width:720px){.operation-kpis{grid-template-columns:1fr}.qty-input{max-width:84px}}
/* V24 GPS camionetas */
.gps-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px;margin-top:18px}.gps-map{height:570px;border-radius:18px;overflow:hidden;background:#eef2f1}.gps-driver-list{display:grid;gap:10px}.gps-driver-list article{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:13px 0;border-bottom:1px solid var(--line,#e5e7eb)}.gps-driver-list article>div{display:grid}.gps-driver-list span,.gps-driver-list small{font-size:.85rem;color:var(--muted,#64748b)}.status.warn{background:#fff3cd;color:#7a5600}.status.danger{background:#fde2e2;color:#9f1d1d}@media(max-width:900px){.gps-layout{grid-template-columns:1fr}.gps-map{height:430px}}

.permission-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e5ece8}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.permission-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid #dfe8e3;border-radius:14px;background:#fff;cursor:pointer}.permission-card:hover{border-color:#86b89e;background:#f8fcfa}.permission-card input{margin-top:.2rem;width:18px;height:18px}.permission-card span{display:grid;gap:.2rem}.permission-card strong{color:#17352a}.permission-card small{color:#60756c;line-height:1.35}@media(max-width:720px){.permission-grid{grid-template-columns:1fr}}

/* Punto de venta tablet */
.tablet-pos-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.tablet-pos-head h1{margin:.2rem 0}.tablet-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.tablet-metrics article{background:#fff;border:1px solid #e6e8eb;border-radius:16px;padding:15px}.tablet-metrics span{display:block;color:#68707a;font-size:.86rem}.tablet-metrics strong{font-size:1.35rem}.tablet-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:14px 0 20px}.tablet-action{min-height:230px;border-radius:24px;padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-decoration:none;border:1px solid #e0e3e7;box-shadow:0 8px 24px rgba(18,28,45,.08)}.tablet-action span{font-size:3.2rem}.tablet-action strong{font-size:2rem;margin-top:12px}.tablet-action small{font-size:1rem;margin-top:6px}.tablet-action.sale{background:#f58220;color:#fff}.tablet-action.movement{background:#16191d;color:#fff}.tablet-recent{margin-top:14px}.movement-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.movement-menu a{min-height:145px;border:1px solid #e1e4e8;background:#fff;border-radius:20px;padding:22px;text-decoration:none;color:#17191c;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.movement-menu a span{font-size:2.3rem}.movement-menu a strong{margin-top:8px;font-size:1.1rem}.category-buttons,.product-buttons,.type-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-btn,.product-btn,.type-buttons button{border:1px solid #dfe3e8;background:#fff;border-radius:16px;padding:18px;font-size:1rem;min-height:74px}.category-btn:focus,.product-btn:focus,.type-buttons button:focus{outline:3px solid rgba(245,130,32,.28);border-color:#f58220}.product-btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.product-btn small{color:#68707a;margin-top:4px}.pos-step{margin:0 0 22px}.pos-step h2{font-size:1rem;margin-bottom:10px}.pos-checkout{background:#fff;border:1px solid #e1e4e8;border-radius:20px;padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payment-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.payment-buttons label{cursor:pointer}.payment-buttons input{position:absolute;opacity:0}.payment-buttons span{display:block;text-align:center;border:1px solid #dfe3e8;border-radius:12px;padding:13px 8px}.payment-buttons input:checked+span{background:#16191d;color:#fff;border-color:#16191d}.sale-confirm-box{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f7f8fa;border-radius:16px;padding:18px}.sale-confirm-box div{display:flex;flex-direction:column}.sale-confirm-box strong{font-size:2rem}.sale-confirm-box span{font-size:.85rem;color:#68707a}.mini-label{display:block;font-size:.75rem;color:#68707a;margin:4px 0}.tablet-sale-title{margin-bottom:18px}
@media (max-width:900px){.tablet-main-actions{grid-template-columns:1fr 1fr}.movement-menu{grid-template-columns:1fr 1fr}.category-buttons,.product-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.tablet-action{min-height:190px}}
@media (max-width:620px){.tablet-pos-head{align-items:flex-start}.tablet-metrics{grid-template-columns:1fr 1fr 1fr}.tablet-main-actions{grid-template-columns:1fr}.tablet-action{min-height:150px}.movement-menu{grid-template-columns:1fr}.category-buttons,.product-buttons,.type-buttons{grid-template-columns:1fr 1fr}.pos-checkout{grid-template-columns:1fr}.sale-confirm-box{flex-direction:column;align-items:stretch}.payment-buttons{grid-template-columns:1fr 1fr}}

/* Tablet POS dedicado · adaptación automática */
body.tablet-workspace{margin:0;min-height:100dvh;background:#f4f6f5;overflow-x:hidden}
body.tablet-workspace .app-main{margin:0!important;max-width:none!important;width:100%;padding:clamp(12px,2.2vw,26px)!important}
.tablet-topbar{height:clamp(58px,7.5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px clamp(12px,2.2vw,26px);background:#fff;border-bottom:1px solid #e2e8e4;position:sticky;top:0;z-index:40}
.tablet-brand{display:flex;align-items:center;gap:10px;color:#17352a;text-decoration:none;min-width:0}.tablet-brand img{width:42px;height:42px;object-fit:contain}.tablet-brand div{display:grid;line-height:1.08}.tablet-brand strong{font-size:clamp(1rem,2vw,1.25rem)}.tablet-brand small{font-size:.76rem;color:#66786f}
.tablet-top-actions{display:flex;align-items:center;gap:10px}.tablet-back{display:inline-flex;align-items:center;min-height:44px;padding:0 15px;border:1px solid #dce5e0;border-radius:12px;color:#17352a;text-decoration:none;font-weight:750;background:#fff}
.tablet-more{position:relative}.tablet-more summary{list-style:none;cursor:pointer;width:46px;height:46px;border:1px solid #dce5e0;border-radius:12px;display:grid;place-items:center;background:#fff;font-size:1.25rem}.tablet-more summary::-webkit-details-marker{display:none}.tablet-more>div{position:absolute;right:0;top:52px;width:220px;background:#fff;border:1px solid #dce5e0;border-radius:14px;padding:8px;box-shadow:0 18px 42px rgba(17,45,34,.16);display:grid;gap:4px}.tablet-more>div span{padding:9px 10px;font-weight:800;color:#17352a;border-bottom:1px solid #edf1ef}.tablet-more>div a{padding:11px 10px;border-radius:9px;text-decoration:none;color:#243a31}.tablet-more>div a:hover{background:#f1f6f3}
.tablet-home{min-height:calc(100dvh - clamp(82px,11vw,112px));display:grid;grid-template-rows:auto 1fr auto auto;gap:clamp(12px,2vh,20px);max-width:1400px;margin:0 auto}
.tablet-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tablet-home-head h1{margin:3px 0 2px;font-size:clamp(1.25rem,2.4vw,2rem)}.tablet-home-head p{margin:0;color:#68776f;font-size:clamp(.78rem,1.4vw,.95rem)}
.tablet-state{padding:9px 13px;border-radius:999px;font-size:.85rem;font-weight:850;white-space:nowrap}.tablet-state.is-open{background:#dff5e9;color:#126b40}.tablet-state.is-closed{background:#f4e7e2;color:#8b321d}
.tablet-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.2vw,24px);margin:0;align-items:stretch;min-height:0}
.tablet-action{min-height:clamp(220px,47vh,520px);height:100%;border-radius:clamp(20px,3vw,34px);padding:clamp(24px,4vw,54px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-decoration:none;border:0;box-shadow:0 12px 32px rgba(18,28,45,.09);transition:transform .12s ease,filter .12s ease}.tablet-action:active{transform:scale(.985)}.tablet-action span{font-size:clamp(3rem,7vw,6rem);line-height:1}.tablet-action strong{font-size:clamp(2rem,5vw,4.4rem);margin-top:clamp(12px,2vw,24px);letter-spacing:.01em}.tablet-action small{font-size:clamp(.9rem,1.8vw,1.25rem);margin-top:8px;opacity:.88}.tablet-action.sale{background:#f58220;color:#fff}.tablet-action.movement{background:#17201c;color:#fff}
.tablet-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#fff;border:1px solid #e0e7e3;border-radius:16px;padding:8px}.tablet-status-strip span{text-align:center;padding:8px;font-size:clamp(.75rem,1.4vw,.95rem);color:#63726a}.tablet-status-strip b{display:block;color:#17352a;font-size:clamp(1rem,2vw,1.35rem)}
.tablet-history{background:#fff;border:1px solid #e0e7e3;border-radius:14px}.tablet-history>summary{cursor:pointer;padding:13px 16px;font-weight:800;color:#34483f}.tablet-history .activity-list{padding:0 14px 12px}.tablet-flash{max-width:1400px;margin:0 auto 10px}
.tablet-open-box{align-self:center;justify-self:center;width:min(620px,100%);background:#fff;border:1px solid #dfe7e2;border-radius:24px;padding:clamp(22px,4vw,42px);display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.tablet-open-box h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:5px 0}.tablet-open-box p{color:#64746c}.tablet-open-box form{display:grid;gap:10px}.tablet-open-box input{min-height:54px;font-size:1.15rem;border:1px solid #ccd8d1;border-radius:13px;padding:0 14px}.tablet-primary-btn{min-height:56px;border:0;border-radius:14px;background:#f58220;color:#fff;font-weight:900;font-size:1.05rem}
.tablet-moves{max-width:1120px;margin:0 auto}.tablet-page-title{margin-bottom:clamp(14px,2vw,24px)}.tablet-page-title h1{margin:3px 0;font-size:clamp(1.6rem,3.5vw,2.8rem)}.tablet-page-title p{margin:0;color:#68776f}.movement-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,20px)}.movement-group{background:#fff;border:1px solid #dfe7e2;border-radius:20px;overflow:hidden}.movement-group summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:clamp(18px,2.5vw,28px)}.movement-group summary::-webkit-details-marker{display:none}.movement-group summary>span{font-size:clamp(2rem,4vw,3rem)}.movement-group summary div{display:grid}.movement-group summary strong{font-size:clamp(1.1rem,2vw,1.45rem);color:#17352a}.movement-group summary small{color:#68776f;margin-top:3px}.movement-group summary>b{font-size:1.8rem;transition:transform .15s}.movement-group[open] summary>b{transform:rotate(90deg)}.movement-options{border-top:1px solid #edf1ef;padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.movement-options a{display:flex;align-items:center;justify-content:center;min-height:62px;padding:12px;border-radius:13px;background:#f3f7f5;color:#17352a;text-align:center;text-decoration:none;font-weight:850}.movement-options a:active{background:#e2eee8}
body.tablet-workspace .page-head{margin-bottom:14px}body.tablet-workspace .page-head h1{font-size:clamp(1.45rem,3vw,2.3rem)}body.tablet-workspace .form-card,body.tablet-workspace .panel-card{border-radius:20px}body.tablet-workspace input,body.tablet-workspace select,body.tablet-workspace textarea{font-size:16px;min-height:48px}body.tablet-workspace .btn{min-height:46px}
@media (orientation:portrait) and (max-width:1100px){.tablet-home{grid-template-rows:auto auto auto auto}.tablet-main-actions{grid-template-columns:1fr}.tablet-action{min-height:clamp(160px,29vh,330px)}.movement-groups{grid-template-columns:1fr}.movement-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.tablet-topbar{height:60px}.tablet-brand small{display:none}.tablet-brand img{width:36px;height:36px}.tablet-home-head{align-items:center}.tablet-home-head p{display:none}.tablet-main-actions{gap:12px}.tablet-action{min-height:180px;border-radius:20px;padding:24px}.tablet-action strong{font-size:2rem}.tablet-action small{font-size:.86rem}.tablet-status-strip{grid-template-columns:repeat(3,1fr)}.tablet-status-strip span{padding:5px 2px}.movement-options{grid-template-columns:1fr}.tablet-open-box{grid-template-columns:1fr}.tablet-back{padding:0 10px}.tablet-more>div{width:205px}}
@media (max-height:650px) and (orientation:landscape){.tablet-topbar{height:54px}.tablet-brand img{width:34px;height:34px}.tablet-home{min-height:calc(100dvh - 76px);gap:8px}.tablet-home-head p{display:none}.tablet-action{min-height:0}.tablet-action span{font-size:2.6rem}.tablet-action strong{font-size:2.4rem;margin-top:8px}.tablet-status-strip{padding:4px}.tablet-history{display:none}}

/* POS tablet guiado, pantalla por pantalla */
.pos-wizard-shell{max-width:1280px;margin:0 auto;min-height:calc(100dvh - 110px);display:flex;flex-direction:column}
.pos-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.pos-wizard-head small{display:block;color:#728079;font-weight:750}.pos-wizard-head h1{margin:2px 0 0;font-size:clamp(1.45rem,2.4vw,2.2rem)}.pos-head-actions{display:flex;gap:10px}.pos-back-btn,.pos-cancel-btn{min-height:48px;padding:0 18px;border-radius:14px;border:1px solid #d9e2dd;background:#fff;color:#17352a;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.pos-back-btn{cursor:pointer}
.pos-wizard-form{flex:1;display:flex;flex-direction:column}.pos-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:16px}.pos-progress span{font-size:.76rem;text-align:center;padding:8px 5px;border-radius:999px;background:#e8eeeb;color:#718078;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-progress span.active{background:#f58220;color:#fff}
.pos-screen{display:none;flex:1;min-height:0}.pos-screen.active{display:flex;flex-direction:column;animation:posIn .14s ease-out}@keyframes posIn{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}.pos-screen-title{text-align:center;margin:4px 0 clamp(14px,2.5vh,28px)}.pos-screen-title h2{font-size:clamp(1.65rem,3vw,2.8rem);margin:0 0 4px}.pos-screen-title p{margin:0;color:#68776f;font-size:clamp(.9rem,1.5vw,1.08rem)}
.pos-tile-grid{display:grid;gap:clamp(12px,1.8vw,20px);width:100%;margin:auto 0}.categories-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.products-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-content:center}.two-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:auto}.payment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-tile{min-height:clamp(130px,22vh,230px);border:1px solid #dbe4df;border-radius:24px;background:#fff;padding:clamp(18px,2.6vw,30px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#17352a;box-shadow:0 8px 24px rgba(18,45,34,.07);cursor:pointer;transition:transform .1s,border-color .1s,background .1s}.pos-tile:active{transform:scale(.985)}.pos-tile:focus{outline:4px solid rgba(245,130,32,.24);border-color:#f58220}.pos-tile-icon{font-size:clamp(2.2rem,4vw,4rem);line-height:1}.pos-tile strong{font-size:clamp(1.15rem,2vw,1.65rem)}.pos-tile small{font-size:.9rem;color:#68776f}.stock-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#eef5f1;color:#145d3e;font-weight:900;font-size:clamp(.9rem,1.5vw,1.05rem)}
.quantity-control{display:grid;grid-template-columns:120px minmax(160px,260px) 120px;justify-content:center;align-items:center;gap:20px;margin:auto 0 20px}.quantity-control button{height:110px;border:0;border-radius:26px;background:#17352a;color:#fff;font-size:4rem;font-weight:700}.quantity-control output{height:130px;border:2px solid #d9e2dd;border-radius:28px;background:#fff;display:grid;place-items:center;font-size:5rem;font-weight:900;color:#17352a}.quick-qty{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.quick-qty button{min-width:90px;min-height:58px;border-radius:16px;border:1px solid #d9e2dd;background:#fff;font-size:1.35rem;font-weight:850}.discount-panel{max-width:440px;width:100%;margin:20px auto 0}.discount-panel label{display:block;font-weight:850;margin-bottom:7px}.money-input{display:flex;align-items:center;background:#fff;border:1px solid #ccd8d1;border-radius:16px;padding:0 16px}.money-input span{font-size:1.5rem;font-weight:900}.money-input input{border:0!important;min-height:62px!important;font-size:1.55rem!important;width:100%;padding:0 10px!important}.pos-next-btn,.pos-confirm-btn{width:min(720px,100%);min-height:68px;margin:24px auto 0;border:0;border-radius:18px;background:#f58220;color:#fff;font-size:1.25rem;font-weight:950;cursor:pointer}.pos-confirm-btn{min-height:82px;font-size:1.45rem}
.pos-summary-card{max-width:920px;width:100%;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#dfe7e2;border:1px solid #dfe7e2;border-radius:24px;overflow:hidden}.pos-summary-card>div{background:#fff;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.pos-summary-card span{color:#68776f}.pos-summary-card strong{font-size:1.15rem;text-align:right}.pos-summary-card .summary-total{grid-column:1/-1;background:#17352a;color:#fff;padding:24px}.pos-summary-card .summary-total span{color:#d8e8e0;font-size:1.1rem}.pos-summary-card .summary-total strong{font-size:2.2rem}
@media (max-width:900px){.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-tile{min-height:150px}.pos-progress span:nth-child(3){display:none}.pos-progress{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (orientation:portrait) and (max-width:900px){.products-grid,.categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-options{grid-template-columns:1fr}.quantity-control{grid-template-columns:90px minmax(130px,220px) 90px}.quantity-control button{height:90px}.quantity-control output{height:110px;font-size:4rem}}
@media (max-width:620px){.pos-wizard-head h1{font-size:1.35rem}.pos-cancel-btn{display:none}.pos-progress{display:none}.products-grid,.categories-grid,.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-tile{min-height:125px;border-radius:18px;padding:14px}.pos-tile strong{font-size:1.05rem}.quantity-control{grid-template-columns:72px 130px 72px;gap:10px}.quantity-control button{height:72px;border-radius:18px;font-size:2.6rem}.quantity-control output{height:84px;border-radius:20px;font-size:3rem}.pos-summary-card{grid-template-columns:1fr}.pos-summary-card .summary-total{grid-column:auto}.pos-summary-card>div{padding:14px 16px}}
@media (max-height:700px) and (orientation:landscape){.pos-wizard-shell{min-height:calc(100dvh - 72px)}.pos-screen-title{margin:0 0 10px}.pos-screen-title h2{font-size:1.6rem}.pos-tile{min-height:118px}.pos-tile-icon{font-size:2.1rem}.quantity-control{margin:auto 0 8px}.quantity-control button{height:76px}.quantity-control output{height:88px;font-size:3rem}.pos-next-btn,.pos-confirm-btn{min-height:56px;margin-top:12px}.pos-summary-card>div{padding:11px 16px}}

/* Inventario compacto y adaptable */
.inventory-block{padding:16px;margin-bottom:16px;border-radius:16px}
.inventory-title{margin-bottom:12px}
.inventory-title h2{font-size:24px;line-height:1.1}
.inventory-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.stock-card{padding:12px;border-radius:13px;min-width:0}
.stock-card-head strong{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stock-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 0 9px}
.stock-values div{padding:8px 2px;border-radius:9px;min-width:0}
.stock-values b{font-size:19px;line-height:1.1}
.stock-values small{font-size:10px;line-height:1.15;display:block;word-break:normal}
.stock-card>.muted{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (min-width:1100px){
  .inventory-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:760px) and (max-width:1099px){
  .inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:759px){
  .inventory-block{padding:12px}
  .inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stock-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stock-card-head strong{white-space:normal}
}
@media (max-width:430px){
  .inventory-grid{grid-template-columns:1fr}
  .stock-values{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Inventario agrupado por ubicación */
.location-stock-block{padding:16px 16px 18px}
.location-title{padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid #e8edf2}
.location-title h2{font-size:26px}
.location-product-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}
.product-stock-card{padding:12px;min-width:0}
.product-stock-card .stock-card-head{align-items:flex-start}
.product-stock-card .stock-card-head>div{min-width:0}
.product-stock-card .stock-card-head strong{display:block;font-size:17px;line-height:1.15;margin-top:2px}
.product-stock-card .stock-card-head small{display:block;color:#64748b;font-size:11px}
.mini-type{font-size:10px;background:#edf7f1;color:#176044;border-radius:999px;padding:5px 7px;white-space:nowrap}
.product-stock-card .stock-values{grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0 8px;gap:5px}
.product-stock-card .stock-values div{padding:8px 2px}
.product-stock-card .stock-values b{font-size:19px}
.product-stock-card .stock-values small{font-size:10px;line-height:1.05}
.product-stock-card .simple-stock-values{grid-template-columns:1fr}
@media(min-width:1500px){.location-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.location-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.location-stock-block{padding:12px}.location-product-grid{grid-template-columns:1fr}.location-title h2{font-size:22px}}


/* V25 · Captación de clientes desde QR */
.lead-register-wrap{min-height:calc(100vh - 48px);display:grid;place-items:center;padding:24px 14px;background:linear-gradient(145deg,#f7f4ec,#eef7f2)}
.lead-register-card{width:min(100%,520px);background:#fff;border:1px solid #dfe7e2;border-radius:28px;padding:clamp(22px,5vw,40px);box-shadow:0 20px 60px rgba(18,57,44,.11)}
.lead-register-logo{display:block;max-width:180px;max-height:78px;object-fit:contain;margin:0 auto 18px}.lead-kicker{display:block;text-align:center;color:#0c6a4d;font-weight:700;margin-bottom:8px}.lead-register-card h1{text-align:center;margin:0 0 8px}.lead-register-card>p{text-align:center;color:#64726c;margin:0 0 24px}.lead-form{display:grid;gap:14px}.lead-consent{align-items:flex-start;background:#f3f8f5;border-radius:14px;padding:13px;font-size:.9rem;line-height:1.4}.lead-success{text-align:center;padding:18px 0}.lead-check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#dff3e9;color:#08704e;font-size:40px;font-weight:800;margin:0 auto 18px}.lead-success p{color:#64726c}.head-actions,.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end}.capture-mark-all{display:flex;justify-content:flex-end;margin:10px 0}.link-button.danger{color:#a52c2c}@media(max-width:760px){.filters-row{grid-template-columns:1fr}.head-actions{width:100%}.head-actions .btn{flex:1}.lead-register-wrap{padding:12px}.lead-register-card{border-radius:20px}.row-actions{min-width:150px}}

/* Pedido por QR: teléfono primero */
.qr-order-card{max-width:560px}
.qr-primary{font-size:1.08rem;min-height:54px;display:flex;align-items:center;justify-content:center}
.saved-address,.phone-confirmed{border:1px solid var(--border);background:var(--surface-soft,#f7f8fa);border-radius:16px;padding:16px;margin:18px 0;text-align:left;display:grid;gap:4px}
.saved-address span,.phone-confirmed span{font-size:.82rem;color:var(--muted)}
.saved-address strong,.phone-confirmed strong{font-size:1.08rem}
.saved-address small{color:var(--muted)}
.qr-secondary-link{display:block;text-align:center;margin-top:16px;color:var(--muted);text-decoration:underline}
.qr-final-actions{display:grid;gap:12px;margin-top:22px}

/* Pedidos QR en tiempo real */
.incoming-orders{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:18px 20px;border:2px solid #ef4444;border-radius:18px;background:#fff7f7;color:#7f1d1d}
.incoming-orders>div{display:flex;align-items:center;gap:14px}.incoming-orders strong{display:block;font-size:1.15rem}.incoming-orders p{margin:3px 0 0;color:#7f1d1d}.incoming-icon{font-size:1.8rem}.incoming-orders.pulse{animation:orderPulse .8s ease-in-out 2}
@keyframes orderPulse{50%{transform:scale(1.01);box-shadow:0 0 0 7px rgba(239,68,68,.12)}}
.orders-list{display:grid;gap:14px}.order-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #dbe3ec;border-left:6px solid #94a3b8;border-radius:16px;background:#fff}.order-card.fresh{border-left-color:#22c55e}.order-card.warning{border-left-color:#f59e0b;background:#fffbeb}.order-card.urgent{border-left-color:#ef4444;background:#fff7f7}.order-main{display:grid;gap:10px;min-width:0}.order-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.order-title strong{font-size:1.05rem}.order-title small{color:#64748b}.order-data{display:flex;gap:14px;flex-wrap:wrap;color:#334155}.order-data a{color:inherit}.order-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.order-actions form{display:flex;gap:8px;align-items:center;margin:0}.order-actions select{min-width:210px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:10px}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:capitalize;background:#e2e8f0;color:#334155}.status-pill.pendiente{background:#fee2e2;color:#991b1b}.status-pill.asignado{background:#dbeafe;color:#1d4ed8}.status-pill.en_reparto{background:#fef3c7;color:#92400e}.status-pill.entregado{background:#dcfce7;color:#166534}.status-pill.cancelado{background:#e5e7eb;color:#4b5563}.qr-action-form{margin:0}.orders-kpis{margin-bottom:18px}
@media(max-width:760px){.incoming-orders,.order-card{align-items:stretch;flex-direction:column}.incoming-orders .btn{width:100%;text-align:center}.order-actions{justify-content:stretch}.order-actions form,.order-actions select,.order-actions .btn,.order-actions>a{width:100%}.order-actions form{flex-direction:column}.order-data{flex-direction:column;gap:6px}}

/* V27 · aceptación y rechazo de pedidos por conductor */
.driver-incoming-alert{border:2px solid #ef4444;background:linear-gradient(135deg,rgba(239,68,68,.16),rgba(245,158,11,.10));display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;animation:driverOrderPulse 1.8s ease-in-out infinite}
.driver-incoming-alert h2{margin:.35rem 0}.driver-incoming-alert p{margin:0}.driver-incoming-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.driver-incoming-actions form{margin:0}.new-order-label{display:inline-flex;align-items:center;gap:6px;font-weight:900;color:#b91c1c;letter-spacing:.04em}.driver-new-order{border:2px solid #ef4444}.reject-order-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.reject-order-form select{min-width:180px}.rejection-note{display:block;color:#b91c1c;font-weight:800;background:#fee2e2;border-radius:10px;padding:8px 10px}
@keyframes driverOrderPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.18)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}
@media(max-width:760px){.driver-incoming-alert{display:block}.driver-incoming-actions{margin-top:14px;display:grid;grid-template-columns:1fr}.driver-incoming-actions .btn,.driver-incoming-actions form,.reject-order-form select,.reject-order-form .btn{width:100%}.reject-order-form{display:grid;grid-template-columns:1fr}}

/* Menú administrativo simplificado por áreas */
.nav-section{margin:4px 0;border-radius:12px}.nav-section>summary{list-style:none;display:flex;align-items:center;gap:11px;min-height:46px;padding:8px 11px;border-radius:11px;color:#43544b;font-weight:850;font-size:.92rem;cursor:pointer;user-select:none}.nav-section>summary::-webkit-details-marker{display:none}.nav-section>summary:hover{background:#f3f6f4;color:var(--ink)}.nav-section>summary b{margin-left:auto;font-size:1.35rem;line-height:1;transition:transform .18s ease;color:#839089}.nav-section[open]>summary b{transform:rotate(90deg)}.nav-section.active>summary{color:var(--green);background:#f0f7f3}.nav-section-items{padding:3px 0 7px 14px;margin-left:23px;border-left:1px solid #e3e9e6}.nav-subitem{min-height:39px;padding:6px 9px;font-size:.86rem;margin:1px 0 1px 7px}.nav-subitem .nav-icon{width:22px;height:22px;font-size:.76rem}.nav-section:not([open]) .nav-section-items{display:none}.sidebar-nav>.nav-item:first-child{margin-bottom:10px;font-size:.96rem;background:#f7f9f8}.sidebar-nav>.nav-item:first-child.active{background:#e6f3ed}

/* V28 · experiencia simplificada, búsqueda y accesos rápidos */
.global-menu-search{position:relative;flex:1;max-width:520px;margin:0 18px;display:flex;align-items:center;border:1px solid #dce4df;background:#f7f9f8;border-radius:14px;padding:0 13px;min-width:180px}.global-menu-search>span{font-size:1.1rem;color:#718078}.global-menu-search input{width:100%;border:0;background:transparent;padding:11px 10px;outline:0;font:inherit;color:var(--ink)}.global-menu-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #dce4df;border-radius:15px;box-shadow:0 18px 45px rgba(19,48,37,.16);padding:7px;z-index:100}.global-menu-results a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:10px;color:#33463d;text-decoration:none}.global-menu-results a:hover{background:#eef6f2}.global-menu-results a b{font-size:.78rem;color:#0b694c}.global-menu-results p{margin:0;padding:12px;color:#718078;font-size:.88rem}
.nav-section>summary .nav-icon,.sidebar-nav>.nav-item>.nav-icon{width:31px;height:31px;border-radius:10px;font-size:1rem}.nav-section>summary{min-height:52px}.sidebar-nav>.nav-item{min-height:50px}.nav-subitem .nav-icon{width:25px;height:25px}.nav-section-items{margin-left:27px}
.quick-access-panel{margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:19px}.quick-access-panel .section-head{margin-bottom:13px}.quick-access-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.quick-access-grid a{min-height:128px;border:1px solid #e1e8e4;border-radius:16px;padding:16px;text-decoration:none;color:#31443b;background:linear-gradient(145deg,#fff,#f7faf8);display:flex;flex-direction:column;transition:.18s}.quick-access-grid a:hover{transform:translateY(-2px);border-color:#9cc9b5;box-shadow:0 10px 25px rgba(18,70,50,.09)}.quick-access-grid a>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e6f3ed;color:#075c43;font-size:1.25rem;margin-bottom:13px}.quick-access-grid strong{font-size:.94rem}.quick-access-grid small{color:#718078;margin-top:5px;line-height:1.3}.dashboard-mini-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-mini-status article{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dfe7e2;background:#f7faf8;border-radius:15px;padding:13px 16px}.dashboard-mini-status span{color:#66756d;font-size:.84rem}.dashboard-mini-status strong{font-size:1.35rem;color:#0a654a}.activity-list article{position:relative;padding-left:7px}.activity-list article:before{content:'';position:absolute;left:-1px;top:18px;width:8px;height:8px;border-radius:50%;background:#1b805f;box-shadow:0 0 0 5px #e8f4ef}
@media(max-width:1180px){.quick-access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.global-menu-search{max-width:360px}}
@media(max-width:979px){.global-menu-search{display:none}.quick-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.quick-access-grid{grid-template-columns:1fr 1fr}.quick-access-grid a{min-height:112px;padding:13px}.dashboard-mini-status{grid-template-columns:1fr}.quick-access-panel{padding:14px}}
@media(max-width:430px){.quick-access-grid{grid-template-columns:1fr}}
/* CEADAC V29 · Centro de despacho */
.dispatch-head{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:18px}.dispatch-head h1{margin:.2rem 0}.dispatch-live{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:12px 15px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.dispatch-live i{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.13)}.dispatch-live strong{font-variant-numeric:tabular-nums}.dispatch-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.dispatch-kpis article{background:#fff;border:1px solid #e7eaf0;border-radius:18px;padding:17px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.dispatch-kpis span{display:block;color:#64748b;font-size:.83rem}.dispatch-kpis strong{display:block;font-size:2rem;margin-top:5px}.dispatch-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:16px}.dispatch-map-card,.dispatch-drivers-card,.dispatch-orders-card{position:relative;background:#fff;border:1px solid #e7eaf0;border-radius:20px;padding:17px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.dispatch-section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.dispatch-section-title h2{margin:0;font-size:1.08rem}.dispatch-section-title p{margin:3px 0 0;color:#64748b;font-size:.84rem}#dispatch-map{height:440px;border-radius:15px;overflow:hidden;background:#eef2f7}.dispatch-map-empty{position:absolute;inset:72px 17px 17px;display:none;align-items:center;justify-content:center;pointer-events:none;color:#64748b;background:rgba(248,250,252,.82);border-radius:15px}.dispatch-driver-list{display:grid;gap:8px;max-height:440px;overflow:auto}.dispatch-driver{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #edf0f4;border-radius:13px}.dispatch-driver strong,.dispatch-driver small{display:block}.dispatch-driver small{color:#64748b;font-size:.75rem;margin-top:2px}.driver-dot{width:10px;height:10px;border-radius:50%}.driver-dot.available{background:#22c55e}.driver-dot.waiting{background:#f59e0b}.driver-dot.busy{background:#3b82f6}.driver-dot.offline{background:#94a3b8}.driver-side{text-align:right}.driver-side b{display:block;font-size:.75rem}.dispatch-orders-card{margin-top:16px}.dispatch-order-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.dispatch-order{border:1px solid #e8ebf0;border-left:4px solid #94a3b8;border-radius:14px;padding:13px;background:#fcfcfd}.dispatch-order.pendiente{border-left-color:#ef4444}.dispatch-order.asignado{border-left-color:#f59e0b}.dispatch-order.en_reparto{border-left-color:#3b82f6}.dispatch-order.entregado{border-left-color:#22c55e}.dispatch-order-top{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center}.dispatch-order-top strong,.dispatch-order-top small{grid-column:1/-1}.dispatch-order-top small{color:#64748b}.dispatch-timer{justify-self:end;font-weight:800;font-variant-numeric:tabular-nums;color:#b45309}.dispatch-order-address{margin:10px 0;font-size:.86rem}.dispatch-order-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.78rem}.dispatch-order-bottom span{color:#475569}.dispatch-order-bottom a{font-weight:700}@media(max-width:1050px){.dispatch-grid{grid-template-columns:1fr}.dispatch-order-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.dispatch-head{align-items:flex-start;flex-direction:column}.dispatch-live{width:100%;justify-content:center}.dispatch-kpis{grid-template-columns:repeat(2,1fr)}#dispatch-map{height:340px}.dispatch-order-board{grid-template-columns:1fr}}

/* V29.2 · búsqueda individual y mapa general */
.dispatch-tools{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px auto auto;gap:10px;align-items:center;margin:0 0 16px}.dispatch-search{height:44px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #dfe5ec;border-radius:13px;padding:0 13px}.dispatch-search:focus-within{border-color:#169b62;box-shadow:0 0 0 3px rgba(22,155,98,.11)}.dispatch-search span{font-size:1.25rem;color:#64748b}.dispatch-search input{width:100%;border:0;outline:0;background:transparent;font:inherit}.dispatch-tools select{height:44px;border:1px solid #dfe5ec;border-radius:13px;background:#fff;padding:0 12px;color:#334155}.dispatch-driver.clickable{cursor:pointer;transition:.16s ease}.dispatch-driver.clickable:hover{border-color:#86d4b3;background:#f4fcf8;transform:translateY(-1px)}.dispatch-popup{display:grid;gap:3px;min-width:160px}.dispatch-popup strong{font-size:1rem}.dispatch-popup span{font-weight:700;color:#167d53}.dispatch-popup small{color:#64748b}.dispatch-popup a{margin-top:5px;font-weight:800}.dispatch-modal[hidden]{display:none!important}.dispatch-modal{position:fixed;z-index:99999;inset:0;background:#f4f7f5;display:grid;grid-template-rows:auto 1fr}.dispatch-modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;background:#fff;border-bottom:1px solid #e3e8e5}.dispatch-modal-head small{color:#168255;font-weight:800;letter-spacing:.12em}.dispatch-modal-head h2{margin:2px 0 0}.dispatch-modal-actions{display:flex;align-items:center;gap:9px}.dispatch-close{width:42px;height:42px;border-radius:12px;border:1px solid #dce3df;background:#fff;font-size:1.8rem;line-height:1;cursor:pointer}.dispatch-modal-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:0}.dispatch-modal-body #dispatch-map-full{height:100%;min-height:500px}.dispatch-modal-body aside{min-height:0;background:#fff;border-left:1px solid #e3e8e5;padding:14px;display:grid;grid-template-rows:auto 1fr;gap:12px}.dispatch-driver-list.full{max-height:none;min-height:0}.dispatch-modal-open{overflow:hidden}.dispatch-modal-open .app-sidebar,.dispatch-modal-open .topbar{z-index:1!important}@media(max-width:1100px){.dispatch-tools{grid-template-columns:1fr 1fr 1fr}.dispatch-search{grid-column:1/-1}.dispatch-modal-body{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:760px){.dispatch-tools{grid-template-columns:1fr 1fr}.dispatch-tools select{min-width:0}.dispatch-tools .btn{width:100%}.dispatch-modal-head{padding:12px;align-items:flex-start}.dispatch-modal-actions .badge,.dispatch-modal-actions .btn{display:none}.dispatch-modal-body{grid-template-columns:1fr;grid-template-rows:60vh 1fr}.dispatch-modal-body aside{border-left:0;border-top:1px solid #e3e8e5;max-height:40vh}.dispatch-modal-body #dispatch-map-full{min-height:0}.dispatch-modal-head h2{font-size:1.15rem}}
/* CEADAC V30 · Centro de Control */
.order-location-hint{display:block;margin-top:8px;text-align:center;color:#64748b;font-size:.76rem}.dispatch-insights{display:grid;grid-template-columns:1fr 1.15fr .85fr;gap:16px;margin-top:16px}.dispatch-alerts-card,.dispatch-route-card,.dispatch-metrics-card{background:#fff;border:1px solid #e7eaf0;border-radius:20px;padding:17px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.dispatch-alert-list,.dispatch-route-plan{display:grid;gap:9px;max-height:310px;overflow:auto}.dispatch-alert{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;padding:11px;border-radius:12px;background:#f8fafc;border:1px solid #e8edf2}.dispatch-alert b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff}.dispatch-alert.alto{border-color:#fecaca;background:#fff7f7;color:#991b1b}.dispatch-alert.medio{border-color:#fde68a;background:#fffbeb;color:#92400e}.dispatch-route-plan article{border:1px solid #e8edf2;border-radius:13px;padding:11px;display:grid;gap:7px}.dispatch-route-plan article>strong{color:#0f5132}.dispatch-route-plan article>span{display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;font-size:.82rem}.dispatch-route-plan article>span>b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eaf8f1;color:#08783e}.dispatch-route-plan small{grid-column:2;color:#64748b}.dispatch-metrics{display:grid;gap:10px}.dispatch-metrics article{border:1px solid #e8edf2;border-radius:14px;padding:13px;background:#fbfcfd}.dispatch-metrics span,.dispatch-metrics small{display:block;color:#64748b}.dispatch-metrics strong{display:block;font-size:1.8rem;margin:3px 0}.dispatch-order-address small{color:#2563eb;font-weight:700}.dispatch-tv{position:fixed;inset:0;z-index:99999;background:#07130f;color:#fff;display:grid;grid-template-rows:auto 1fr}.dispatch-tv header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#0c2119;border-bottom:1px solid rgba(255,255,255,.1)}.dispatch-tv header h1{margin:2px 0 0;color:#fff}.dispatch-tv header small{letter-spacing:.13em;color:#76d4a8;font-weight:800}.dispatch-tv header>div:last-child{display:flex;align-items:center;gap:12px}.dispatch-tv header button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}.live-dot{width:10px;height:10px;border-radius:50%;background:#34d399;box-shadow:0 0 0 6px rgba(52,211,153,.15)}.dispatch-tv>main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 370px}.tv-map,#tv-map{height:100%;min-height:0}.dispatch-tv aside{min-height:0;overflow:auto;padding:16px;background:#0b1b15;border-left:1px solid rgba(255,255,255,.1);display:grid;align-content:start;gap:15px}.dispatch-tv aside section{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px}.dispatch-tv aside h2{margin:0 0 11px;font-size:1rem}.tv-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tv-kpis article{border-radius:14px;padding:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09)}.tv-kpis b{display:block;font-size:1.8rem}.tv-kpis span{color:#a8bdb4;font-size:.78rem}.tv-list{display:grid;gap:8px}.tv-list>div{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}.tv-list>div:last-child{border-bottom:0}.tv-list i{width:10px;height:10px;border-radius:50%;background:#64748b}.tv-list i.on{background:#34d399}.tv-list i.busy{background:#60a5fa}.tv-list strong,.tv-list small{display:block}.tv-list small{color:#9eb1a8;margin-top:2px}.tv-list.alerts b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#7f1d1d;color:#fecaca}.dispatch-tv .leaflet-tooltip{background:#0f2c21;color:#fff;border-color:#215b44;box-shadow:none;font-weight:800}.dispatch-tv .leaflet-tooltip:before{border-top-color:#215b44}
@media(max-width:1100px){.dispatch-insights{grid-template-columns:1fr 1fr}.dispatch-metrics-card{grid-column:1/-1}.dispatch-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.dispatch-insights{grid-template-columns:1fr}.dispatch-metrics-card{grid-column:auto}.dispatch-metrics{grid-template-columns:1fr}.dispatch-tv>main{grid-template-columns:1fr}.dispatch-tv aside{display:none}}

/* CEADAC V31 · Calidad, navegación y experiencia */
:root{--v31-green:#08783e;--v31-green-2:#0f9a57;--v31-ink:#12211a;--v31-muted:#66776e;--v31-border:#e3eae6;--v31-soft:#f5f8f6;--v31-shadow:0 12px 35px rgba(18,45,32,.08)}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#f7faf8 0,#f3f6f4 100%);color:var(--v31-ink)}
button,a,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}
:focus-visible{outline:3px solid rgba(15,154,87,.28);outline-offset:2px}
.app-topbar{backdrop-filter:saturate(140%) blur(14px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--v31-border)}
.topbar-actions-v31{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar-icon-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid #dfe7e2;background:#fff;color:#315044;cursor:pointer;font-weight:800}.topbar-icon-btn:hover{background:#eff9f3;border-color:#9fd4b8;transform:translateY(-1px)}
.notification-center{position:relative}.notification-center>summary{list-style:none}.notification-center>summary::-webkit-details-marker{display:none}.notification-center>summary b{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;border:2px solid #fff;font-size:10px;display:grid;place-items:center}.notification-popover{position:absolute;right:0;top:49px;width:min(360px,calc(100vw - 24px));z-index:9999;background:#fff;border:1px solid var(--v31-border);border-radius:18px;box-shadow:0 22px 60px rgba(20,42,31,.2);overflow:hidden}.notification-popover header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #edf1ee}.notification-popover header strong,.notification-popover header small{display:block}.notification-popover header small{color:var(--v31-muted);margin-top:3px}.live-indicator{font-size:10px;letter-spacing:.12em;font-weight:900;color:#08783e;background:#e9f8ef;padding:5px 8px;border-radius:999px}.notification-items{padding:8px}.notification-items a{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:12px;border-radius:13px;color:inherit;text-decoration:none}.notification-items a:hover{background:#f1f8f4}.notification-items a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ecf7f1}.notification-items strong,.notification-items small{display:block}.notification-items small{color:var(--v31-muted);margin-top:2px}
.sidebar-foot{display:flex;align-items:center;justify-content:space-between}.sidebar-foot div span,.sidebar-foot div small{display:block}.sidebar-foot>b{font-size:10px;letter-spacing:.1em;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 7px}
@media(min-width:980px){body.sidebar-compact .app-sidebar{width:82px}body.sidebar-compact .app-main{margin-left:82px}body.sidebar-compact .app-topbar{padding-left:98px}body.sidebar-compact .sidebar-head div,body.sidebar-compact .sidebar-foot div,body.sidebar-compact .nav-item>span:last-child,body.sidebar-compact .nav-section summary>span:nth-child(2),body.sidebar-compact .nav-section summary>b{display:none}body.sidebar-compact .sidebar-head{justify-content:center;padding-inline:10px}body.sidebar-compact .sidebar-head img{width:46px}body.sidebar-compact .nav-item,body.sidebar-compact .nav-section summary{justify-content:center;padding-inline:10px}body.sidebar-compact .nav-icon{margin:0;font-size:1.15rem}body.sidebar-compact .nav-section-items{position:fixed;left:82px;width:235px;margin-top:-45px;background:#103126;padding:8px;border-radius:0 14px 14px 0;box-shadow:14px 18px 35px rgba(0,0,0,.18);display:none}body.sidebar-compact .nav-section:hover .nav-section-items{display:block}body.sidebar-compact .sidebar-foot{justify-content:center}}
.panel-card,.kpi-card,.quick-access-panel,.dispatch-map-card,.dispatch-drivers-card,.dispatch-orders-card{box-shadow:var(--v31-shadow);border-color:var(--v31-border)}
.panel-card:hover,.kpi-card:hover{border-color:#cddbd3}.btn{box-shadow:0 6px 16px rgba(8,120,62,.12)}.btn:hover{transform:translateY(-1px)}.btn.secondary{box-shadow:none}
.table-wrap{border-radius:15px}.table-wrap table thead th,.table-wrap>table thead th{position:sticky;top:0;z-index:2;background:#f6f9f7;box-shadow:inset 0 -1px #e2e9e5}.table-wrap tbody tr:hover{background:#f7fbf8}
.global-menu-search:after{content:'Ctrl K';position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10px;color:#839189;border:1px solid #dce4df;padding:3px 6px;border-radius:6px;pointer-events:none}.global-menu-search input{padding-right:66px}
.system-toast-stack{position:fixed;right:18px;top:78px;z-index:100000;display:grid;gap:10px;width:min(390px,calc(100vw - 28px))}.system-toast{display:grid;grid-template-columns:38px 1fr 28px;gap:10px;align-items:center;background:#fff;color:inherit;text-decoration:none;border:1px solid #cfe0d6;border-left:4px solid var(--v31-green-2);border-radius:15px;padding:12px;box-shadow:0 18px 50px rgba(19,48,34,.2);opacity:0;transform:translateX(22px)}.system-toast.show{opacity:1;transform:none}.system-toast>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9f8ef}.system-toast strong,.system-toast small{display:block}.system-toast small{color:var(--v31-muted);margin-top:2px}.system-toast button{border:0;background:transparent;font-size:20px;color:#718078;cursor:pointer}
@media(max-width:1100px){#sidebar-compact-toggle{display:none}.global-menu-search:after{display:none}.global-menu-search input{padding-right:12px}}
@media(max-width:720px){.topbar-actions-v31{margin-left:auto}.notification-popover{position:fixed;top:64px;right:12px}.topbar-user>div{display:none}.system-toast-stack{top:auto;bottom:18px;right:14px}.hero,.page-head{border-radius:18px}.kpi-grid{grid-template-columns:1fr 1fr}.quick-access-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* V32 · PWA, modo conductor y operación en vivo */
.pwa-install-btn{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:10050;border:0;border-radius:999px;background:#0f5132;color:#fff;font-weight:800;padding:13px 20px;box-shadow:0 12px 30px rgba(15,81,50,.28)}
.driver-live-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#0f5132,#18794e);color:#fff;border-radius:20px;padding:16px 18px;margin:0 0 18px;box-shadow:0 14px 34px rgba(15,81,50,.2)}.driver-live-bar div{flex:1;min-width:220px}.driver-live-bar strong,.driver-live-bar span{display:block}.driver-live-bar span{opacity:.82;margin-top:3px}.driver-live-bar .btn{background:#fff;color:#0f5132}.driver-live-bar .secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.live-ops-screen{min-height:100vh;background:#07110d;color:#f4fff9;padding:18px}.live-ops-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.live-ops-head span{font-size:12px;font-weight:800;letter-spacing:.14em;color:#8fe3b4}.live-ops-head h1{margin:4px 0 0;font-size:clamp(28px,4vw,50px)}.live-ops-head>div:last-child{display:flex;align-items:center;gap:12px}.live-ops-head strong{font-size:28px}.live-ops-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.live-ops-kpis article{background:#102119;border:1px solid #1c3b2b;border-radius:16px;padding:14px}.live-ops-kpis b{display:block;font-size:32px}.live-ops-kpis span{color:#a9c8b8}.live-ops-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:12px}.live-ops-grid>section,.live-column{background:#102119;border:1px solid #1c3b2b;border-radius:18px;overflow:hidden}.live-ops-grid aside{display:grid;gap:12px}.live-column{padding:14px}.live-column h2{margin:0 0 10px;font-size:17px}.live-column article{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #1c3b2b}.live-column article:first-of-type{border-top:0}.live-column article div{flex:1;min-width:0}.live-column strong,.live-column small{display:block}.live-column small{color:#9bb5a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-column i{width:11px;height:11px;border-radius:50%;background:#65756c}.live-column i.on{background:#34d399;box-shadow:0 0 0 5px rgba(52,211,153,.12)}.live-column i.busy{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.12)}#live-map{height:calc(100vh - 178px);min-height:520px}.wake-lock-active #web-gps-status{box-shadow:0 0 0 3px rgba(15,81,50,.12),0 5px 20px rgba(0,0,0,.12)}
@media(max-width:1050px){.live-ops-grid{grid-template-columns:1fr}.live-ops-grid aside{grid-template-columns:repeat(3,minmax(0,1fr))}#live-map{height:58vh}}@media(max-width:720px){.live-ops-screen{padding:10px}.live-ops-head{align-items:flex-start}.live-ops-head>div:last-child{flex-direction:column;align-items:flex-end}.live-ops-kpis{grid-template-columns:repeat(2,1fr)}.live-ops-grid aside{grid-template-columns:1fr}.driver-live-bar .btn{flex:1}}
/* V33 · Marketing */
.marketing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.marketing-kpi{background:#fff;border:1px solid #e7eaf0;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.marketing-kpi small{display:block;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.marketing-kpi strong{display:block;font-size:2rem;margin-top:8px}.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.campaign-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px}.campaign-card header{display:flex;justify-content:space-between;gap:12px}.campaign-card h3{margin:0}.campaign-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#475569}.campaign-link{display:flex;gap:8px;align-items:center;background:#f8fafc;border-radius:12px;padding:10px}.campaign-link code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.landing-marketing{min-height:100vh;background:linear-gradient(145deg,#fff7ed,#fff,#fef2f2);padding:28px 16px}.landing-shell{max-width:720px;margin:auto}.landing-brand{text-align:center;margin-bottom:20px}.landing-brand img{width:110px}.landing-hero{background:#111827;color:#fff;border-radius:26px;padding:32px;text-align:center}.landing-hero h1{font-size:clamp(2rem,8vw,3.6rem);margin:.2em 0}.landing-offer{display:inline-block;background:#f59e0b;color:#111827;padding:8px 16px;border-radius:999px;font-weight:900}.landing-form{background:#fff;border-radius:24px;padding:24px;margin-top:-10px;box-shadow:0 20px 50px rgba(15,23,42,.14)}.landing-form .field{margin-bottom:14px}.landing-form button{width:100%;font-size:1.15rem;padding:16px}.landing-success{text-align:center;background:#fff;border-radius:24px;padding:32px;box-shadow:0 20px 50px rgba(15,23,42,.12)}.source-pill{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.8rem;font-weight:800}@media(max-width:900px){.marketing-kpis{grid-template-columns:repeat(2,1fr)}.campaign-grid{grid-template-columns:1fr}}@media(max-width:520px){.marketing-kpis{grid-template-columns:1fr 1fr}.marketing-kpi{padding:14px}.marketing-kpi strong{font-size:1.5rem}}

/* V33.3 · cierre del flujo de campañas */
.landing-marketing .landing-hero small{display:block;margin-top:12px;opacity:.82;font-weight:700}
.landing-marketing .landing-form select,.landing-marketing .landing-form input,.landing-marketing .landing-form textarea{width:100%}
.landing-marketing .landing-privacy{display:block;margin-top:12px;line-height:1.45;opacity:.72}
.landing-marketing .btn.giant[disabled]{opacity:.65;cursor:wait}
@media (min-width:720px){.landing-marketing .landing-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing-marketing .landing-form>h2,.landing-marketing .landing-form>p,.landing-marketing .landing-form>label,.landing-marketing .landing-form>button,.landing-marketing .landing-form>.landing-privacy{grid-column:1/-1}}

/* V33.4: landing compacta y proporcionada para campañas */
.landing-marketing{
  padding:16px 12px 28px;
  background:linear-gradient(145deg,#fff7ed,#fff,#fef2f2);
}
.landing-marketing .landing-shell{max-width:620px;margin:0 auto}
.landing-marketing .landing-brand{margin-bottom:10px}
.landing-marketing .landing-brand img{width:72px;height:72px;object-fit:contain}
.landing-marketing .landing-brand p{margin:4px 0 0;font-size:.9rem}
.landing-marketing .landing-hero{border-radius:20px;padding:22px 20px}
.landing-marketing .landing-hero h1{font-size:clamp(1.65rem,6vw,2.5rem);line-height:1.08;margin:.35em 0}
.landing-marketing .landing-hero p{font-size:1rem;line-height:1.45;margin:8px auto;max-width:520px}
.landing-marketing .landing-offer{padding:7px 13px;font-size:.88rem}
.landing-marketing .landing-form{border-radius:20px;padding:20px;margin-top:12px;box-shadow:0 14px 34px rgba(15,23,42,.12)}
.landing-marketing .landing-form h2{font-size:1.45rem;margin:0 0 5px}
.landing-marketing .landing-form>p{margin:0 0 14px;line-height:1.45}
.landing-marketing .landing-form .field{margin-bottom:11px}
.landing-marketing .landing-form label{font-size:.92rem}
.landing-marketing .landing-form input,
.landing-marketing .landing-form select,
.landing-marketing .landing-form textarea{min-height:44px;padding:10px 12px;font-size:16px}
.landing-marketing .landing-form textarea{min-height:76px}
.landing-marketing .landing-form button{padding:13px;font-size:1.05rem}
@media (min-width:720px){
  .landing-marketing .landing-form{display:block}
}
@media (max-width:480px){
  .landing-marketing{padding:10px 8px 22px}
  .landing-marketing .landing-brand img{width:58px;height:58px}
  .landing-marketing .landing-brand p{font-size:.78rem}
  .landing-marketing .landing-hero{padding:18px 14px;border-radius:16px}
  .landing-marketing .landing-hero h1{font-size:1.65rem}
  .landing-marketing .landing-form{padding:16px 14px;border-radius:16px}
}


/* V33.5 · Landing marketing compacta y centrada */
body.landing-marketing{margin:0!important;min-height:100vh!important;background:#f6f1e7!important;padding:18px 12px 30px!important;font-family:Arial,Helvetica,sans-serif!important;color:#14231d!important}
body.landing-marketing .landing-shell{width:100%!important;max-width:560px!important;margin:0 auto!important}
body.landing-marketing .landing-brand{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;margin:0 0 12px!important;text-align:left!important}
body.landing-marketing .landing-brand img{width:56px!important;height:56px!important;object-fit:contain!important}
body.landing-marketing .landing-brand p{margin:0!important;font-size:14px!important;font-weight:700!important}
body.landing-marketing .landing-hero{padding:20px 18px!important;border-radius:18px!important;background:#16251f!important;text-align:center!important}
body.landing-marketing .landing-hero h1{font-size:28px!important;line-height:1.1!important;margin:10px 0 8px!important}
body.landing-marketing .landing-hero p{font-size:15px!important;line-height:1.4!important;margin:0 auto 8px!important}
body.landing-marketing .landing-hero small{font-size:13px!important}
body.landing-marketing .landing-offer{font-size:13px!important;padding:7px 12px!important}
body.landing-marketing .landing-form{display:block!important;background:#fff!important;border-radius:18px!important;padding:18px!important;margin:14px 0 0!important;box-shadow:0 12px 30px rgba(15,23,42,.1)!important}
body.landing-marketing .landing-form h2{font-size:22px!important;margin:0 0 4px!important}
body.landing-marketing .landing-form>p{font-size:14px!important;line-height:1.4!important;margin:0 0 14px!important}
body.landing-marketing .landing-form .field{margin:0 0 11px!important}
body.landing-marketing .landing-form label{display:block!important;font-size:14px!important;font-weight:700!important;margin:0 0 5px!important}
body.landing-marketing .landing-form input,body.landing-marketing .landing-form select,body.landing-marketing .landing-form textarea{box-sizing:border-box!important;width:100%!important;min-height:44px!important;border:1px solid #d7ded9!important;border-radius:11px!important;padding:10px 12px!important;font-size:16px!important;background:#fff!important}
body.landing-marketing .landing-form textarea{min-height:74px!important;resize:vertical!important}
body.landing-marketing .landing-form button{width:100%!important;min-height:48px!important;border-radius:12px!important;font-size:16px!important;padding:12px!important}
body.landing-marketing .landing-privacy{font-size:12px!important;line-height:1.35!important}
@media(max-width:600px){body.landing-marketing{padding:10px 8px 22px!important}body.landing-marketing .landing-shell{max-width:100%!important}body.landing-marketing .landing-hero h1{font-size:24px!important}body.landing-marketing .landing-form{padding:15px!important}}


/* V35 · Inicio centralizado en Avenida Las Industrias */
.ops-start-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:24px;background:linear-gradient(135deg,#123d2b,#1f6848);color:#fff;margin-bottom:20px}.ops-start-hero h1{margin:4px 0 8px;font-size:clamp(28px,4vw,44px)}.ops-start-hero p{margin:0;max-width:780px;color:#dcece4}.ops-start-hero .day-status{padding:12px 16px;border-radius:999px;background:#fff2;color:#fff;font-weight:800;white-space:nowrap}.ops-start-hero .day-status.is-open{background:#dff7e8;color:#12623b}.start-day-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border:2px solid #f0a54a;border-radius:22px;background:#fff8ee;margin-bottom:22px}.start-day-card h2{margin:0 0 6px}.start-day-card p{margin:0;color:#68736e}.start-day-btn{font-size:18px;padding:16px 24px}.ops-primary-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.ops-primary-actions a{display:flex;flex-direction:column;gap:5px;padding:20px;border-radius:20px;background:#fff;border:1px solid #dce6e1;box-shadow:0 8px 24px #103b2810;text-decoration:none;color:inherit}.ops-primary-actions a:hover{transform:translateY(-2px);border-color:#f09b31}.ops-primary-actions span{font-size:30px}.ops-primary-actions strong{font-size:17px}.ops-primary-actions small{color:#68736e}.ops-two-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.ops-stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-stock-grid article{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:8px;align-items:center;padding:12px;border:1px solid #e0e8e4;border-radius:14px}.ops-stock-grid article>div{text-align:center}.ops-stock-grid b{display:block;font-size:20px}.ops-stock-grid small{color:#6b7771}.local-supply-list{display:grid;gap:10px}.local-supply-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border:1px solid #e0e8e4;border-radius:14px}.local-supply-list small{display:block;color:#6b7771;margin-top:3px}@media(max-width:980px){.ops-primary-actions{grid-template-columns:repeat(2,1fr)}.ops-two-columns{grid-template-columns:1fr}.ops-start-hero,.start-day-card{align-items:flex-start;flex-direction:column}.ops-stock-grid{grid-template-columns:1fr}}@media(max-width:560px){.ops-primary-actions{grid-template-columns:1fr 1fr}.ops-primary-actions a{padding:15px}.ops-stock-grid article{grid-template-columns:1fr repeat(3,.55fr)}.ops-start-hero{padding:20px}}

/* WEBLA V37 · Centro de trabajo por rol */
.ops-live-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0}.ops-live-summary article{background:#fff;border:1px solid #dfe6e2;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,81,50,.06)}.ops-live-summary article.attention{border-color:#efb64c;background:#fffaf0}.ops-live-summary span,.ops-live-summary small{display:block;color:#68756f}.ops-live-summary strong{display:block;font-size:28px;line-height:1.1;margin:7px 0;color:#113c2c}.ops-live-summary small{font-size:12px}.ops-bottom-grid{margin-top:18px}.ops-timeline{display:grid;gap:4px}.ops-timeline article{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #edf1ef}.ops-timeline time{font-weight:800;color:#0f6847}.ops-timeline div{display:grid;gap:2px}.ops-timeline span{font-size:13px;color:#405149}.ops-timeline small{color:#77837e}.ops-supervision-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ops-supervision-actions a{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center;padding:15px;border:1px solid #e1e8e4;border-radius:16px;text-decoration:none;background:#f8faf9;color:#143e30}.ops-supervision-actions a span{grid-row:1/3;font-size:25px}.ops-supervision-actions a strong,.ops-supervision-actions a small{display:block}.ops-supervision-actions a small{color:#718078}.ops-supervision-actions a:hover{border-color:#0f6847;background:#eef8f3}
@media(max-width:1200px){.ops-live-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.ops-live-summary{grid-template-columns:repeat(2,1fr)}.ops-supervision-actions{grid-template-columns:1fr}.ops-live-summary strong{font-size:23px}}

/* v39 · Línea de tiempo plegable en Centro de Operaciones */
.ops-supervision-wide{margin-top:18px}
.ops-supervision-wide .ops-supervision-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.ops-timeline-fold{margin-top:14px;padding:0;overflow:hidden}
.ops-timeline-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;user-select:none}
.ops-timeline-fold>summary::-webkit-details-marker{display:none}
.ops-timeline-fold>summary span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.ops-timeline-fold>summary strong{font-size:1rem}
.ops-timeline-fold>summary small{color:var(--muted);font-size:.82rem}
.ops-fold-action{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--primary);white-space:nowrap}
.ops-fold-action:after{content:'⌄';font-size:1.2rem;transition:transform .2s ease}
.ops-timeline-fold[open] .ops-fold-action:after{transform:rotate(180deg)}
.ops-timeline-fold[open] .ops-fold-action{font-size:0}
.ops-timeline-fold[open] .ops-fold-action:before{content:'Ocultar actividad';font-size:.88rem}
.ops-timeline-fold-body{border-top:1px solid var(--border);padding:8px 20px 18px}
.ops-timeline-footer{display:flex;justify-content:flex-end;padding-top:12px}
@media(max-width:800px){.ops-supervision-wide .ops-supervision-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-timeline-fold>summary{padding:16px}.ops-timeline-fold-body{padding:6px 16px 16px}}

/* v40 · Resumen general más compacto */
.dashboard-folds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.dashboard-fold{padding:0;overflow:hidden;margin:0}
.dashboard-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;user-select:none}
.dashboard-fold>summary::-webkit-details-marker{display:none}
.dashboard-fold>summary span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.dashboard-fold>summary strong{font-size:1.08rem;color:#173c2e}
.dashboard-fold>summary small{color:#718078;font-size:.82rem;white-space:normal}
.dashboard-fold-action{flex:0 0 auto;color:#0f6847;font-weight:850;font-size:.84rem;background:#eef8f3;border-radius:999px;padding:8px 12px}
.dashboard-fold[open] .dashboard-fold-action{font-size:0}
.dashboard-fold[open] .dashboard-fold-action:after{content:'Ocultar';font-size:.84rem}
.dashboard-fold-body{border-top:1px solid #e8eeeb;padding:14px 18px 18px}
.dashboard-fold-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}
.dashboard-fold-toolbar.bottom{margin:14px 0 0}
@media(max-width:850px){.dashboard-folds{grid-template-columns:1fr}.dashboard-fold>summary{align-items:flex-start}.dashboard-fold-action{padding:7px 10px}}

/* WEBLA V41 · cierres modernos, saldos y secciones plegables */
.fold-section>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;list-style:none;padding:18px 20px;border-radius:16px;background:#f7faf8}.fold-section>summary::-webkit-details-marker{display:none}.fold-section>summary span{color:#6b7b73;font-size:.9rem}.fold-section[open]>summary{margin-bottom:18px}.balance-grid,.closure-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}.balance-grid article,.closure-kpis article{background:#fff;border:1px solid #e4ebe7;border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(25,55,40,.06)}.balance-grid span,.closure-kpis span{display:block;color:#6c7b74;font-size:.85rem}.balance-grid strong,.closure-kpis strong{display:block;font-size:1.65rem;margin-top:6px}.negative{color:#b42318}.closures-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px;border-radius:24px;background:linear-gradient(135deg,#183f2f,#285f48);color:#fff}.closures-hero small{letter-spacing:.13em;opacity:.72}.closures-hero h1{font-size:2rem;margin:.25rem 0}.closures-hero p{margin:0;opacity:.82}.closure-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.closure-filter input,.closure-filter select{min-height:42px;border:0;border-radius:12px;padding:0 12px}.closure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:18px}.closure-card{background:#fff;border:1px solid #e2eae5;border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(20,54,37,.07)}.closure-card header{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #edf2ef}.closure-card h2{margin:3px 0;font-size:1.2rem}.closure-card header small,.closure-card header span{color:#728078}.closure-card header>b{align-self:flex-start;background:#e7f7ed;color:#14733d;border-radius:999px;padding:6px 10px;font-size:.75rem;text-transform:uppercase}.closure-values{display:grid;gap:9px;padding:16px 0}.closure-values span{display:flex;justify-content:space-between;color:#66756d}.closure-values strong{color:#24342b}.closure-values .final{border-top:1px dashed #cdd9d2;padding-top:11px;font-weight:700}.closure-values .final strong{font-size:1.35rem}.closure-card footer{display:flex;gap:8px;flex-wrap:wrap}.closure-card.is-annulled{opacity:.6}.expired{font-size:.8rem;color:#8b5e00;background:#fff4ce;padding:7px 9px;border-radius:9px}.rendition-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.rendition-photos img{width:100%;max-height:420px;object-fit:contain;border:1px solid #dfe8e3;border-radius:14px;background:#f7faf8}.muted-row{opacity:.55;text-decoration:line-through}.decision-stats .highlight{background:#183f2f;color:#fff}.decision-stats .highlight span,.decision-stats .highlight small{color:#d9e9df}@media(max-width:760px){.closures-hero{align-items:stretch;flex-direction:column}.closure-filter>*{flex:1 1 100%}.closure-grid{grid-template-columns:1fr}.fold-section>summary{align-items:flex-start;flex-direction:column}}
@media print{.app-sidebar,.app-topbar,.closures-hero,.closure-kpis,.closure-grid,.btn,.sidebar-overlay{display:none!important}.print-area{display:block!important;box-shadow:none!important;border:0!important}.rendition-photos img{max-height:360px}}

/* V43 biblioteca documental */
.document-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.field small{color:var(--muted,#667);margin-top:5px}.table td small{color:var(--muted,#667)}

/* V45 - historial de correcciones legible */
.audit-counter{display:flex;align-items:center;gap:10px;background:#edf8f2;border:1px solid #d5eadf;border-radius:16px;padding:12px 18px;color:#0c5b3c}.audit-counter strong{font-size:25px;line-height:1}.audit-counter span{font-size:13px;max-width:72px;line-height:1.2}.audit-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) minmax(190px,1.4fr);gap:12px;align-items:end;background:#fff;border:1px solid #dce7e2;border-radius:18px;padding:16px;margin-bottom:16px;box-shadow:0 8px 24px rgba(28,61,47,.04)}.audit-filters .field{margin:0}.audit-filters label{display:block;font-size:12px;font-weight:800;color:#5e6e67;margin:0 0 6px}.audit-filters input,.audit-filters select{width:100%;min-height:43px;border:1px solid #d5e0db;border-radius:11px;padding:9px 11px;background:#fff}.audit-filter-actions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}.btn-muted{background:#eef2f0!important;color:#344940!important;border-color:#dbe4df!important}.audit-table-wrap{background:#fff;border:1px solid #dce7e2;border-radius:18px;overflow:auto;box-shadow:0 12px 32px rgba(28,61,47,.05)}.audit-table{width:100%;border-collapse:collapse;min-width:900px}.audit-table th{padding:14px 16px;text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#6d7c75;background:#f7faf8;border-bottom:1px solid #dfe8e4}.audit-table td{padding:15px 16px;border-bottom:1px solid #e7eeea;vertical-align:middle;color:#24352e}.audit-table tbody>tr:not(.audit-detail-row):hover{background:#fbfdfc}.audit-table td small{display:block;color:#73817b;margin-top:3px}.audit-reason{max-width:330px}.btn-small{padding:8px 12px!important;font-size:12px!important;white-space:nowrap}.audit-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.audit-edicion{background:#e8f4ff;color:#186297}.audit-anulacion{background:#fdecec;color:#a42a2a}.audit-reapertura{background:#fff3db;color:#925d00}.audit-detail-row{display:none;background:#f4f8f6}.audit-detail-row.is-open{display:table-row}.audit-detail-row>td{padding:12px 16px 20px}.audit-detail-card{border:1px solid #cfddd6;border-radius:16px;background:#fff;padding:18px;box-shadow:0 12px 28px rgba(28,61,47,.07)}.audit-detail-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e5ece8;padding-bottom:13px;margin-bottom:14px}.audit-detail-head span,.audit-summary-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#718078;font-weight:800}.audit-detail-head h3{margin:3px 0 0;font-size:20px}.audit-close{border:0;background:#edf2ef;width:34px;height:34px;border-radius:10px;font-size:23px;cursor:pointer;color:#40534a}.audit-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.audit-summary-grid>div{background:#f8faf9;border:1px solid #e4ebe7;border-radius:12px;padding:11px}.audit-summary-grid strong{display:block;margin-top:5px;font-size:13px;overflow-wrap:anywhere}.audit-changes{border:1px solid #dbe6e0;border-radius:13px;overflow:hidden}.audit-change-header,.audit-change-line{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0}.audit-change-header{background:#eff5f2;color:#5c6d65;font-size:11px;font-weight:800;text-transform:uppercase}.audit-change-header span,.audit-change-line>*{padding:11px 13px;border-right:1px solid #e1e9e5}.audit-change-header span:last-child,.audit-change-line>*:last-child{border-right:0}.audit-change-line{border-top:1px solid #e5ece8;font-size:13px}.audit-change-line>span:nth-child(2){background:#fff8f8;color:#7c3434}.audit-change-line>span:nth-child(3){background:#f5fbf7;color:#185c3d;font-weight:700}.audit-technical{margin-top:14px}.audit-technical summary{cursor:pointer;color:#66766e;font-size:12px}.audit-technical>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.audit-technical pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#101b16;color:#d8e9e0;border-radius:10px;padding:12px;max-height:240px;overflow:auto;font-size:11px}
@media(max-width:1100px){.audit-filters{grid-template-columns:repeat(3,1fr)}.audit-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.audit-counter{display:none}.audit-filters{grid-template-columns:1fr 1fr;padding:12px}.audit-search{grid-column:1/-1}.audit-filter-actions{justify-content:stretch}.audit-filter-actions>*{flex:1;text-align:center}.audit-table{min-width:760px}.audit-summary-grid{grid-template-columns:1fr}.audit-change-header,.audit-change-line{grid-template-columns:1fr}.audit-change-header{display:none}.audit-change-line>*{border-right:0;border-bottom:1px solid #e6ece9}.audit-change-line>*:last-child{border-bottom:0}.audit-technical>div{grid-template-columns:1fr}}

/* V46 · carpeta digital de conductores */
.document-guide{display:flex;gap:14px;align-items:center;background:#eef8f3;border:1px solid #d2eadf;border-radius:16px;padding:16px 18px;margin:0 0 16px}.document-guide strong{color:#0c5b3c}.document-guide span{color:#607068}.doc-status{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.doc-subido{background:#fff3d8;color:#8a5b00}.doc-aprobado{background:#e3f5ea;color:#17603f}.doc-rechazado{background:#fde8e8;color:#a22f2f}.doc-observation{margin-top:6px!important;color:#a22f2f!important;font-weight:700}.doc-actions{display:flex;align-items:center;gap:8px}.doc-review{display:grid;grid-template-columns:110px 170px auto;gap:6px;align-items:center}.doc-review select,.doc-review input{height:38px;border:1px solid #d8e2dd;border-radius:9px;padding:0 9px;background:#fff}.btn.small{min-height:38px;padding:0 12px}.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;resize:vertical}@media(max-width:900px){.doc-review{grid-template-columns:1fr}.doc-actions{align-items:stretch;flex-direction:column}.document-guide{align-items:flex-start;flex-direction:column}}


/* V47 · Descuentos QR Abastible */
.driver-qr-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;border:1px solid #e1e8e5;border-radius:28px;padding:24px 30px;margin:22px 0;box-shadow:0 12px 30px rgba(16,74,50,.07)}
.driver-qr-card small{font-weight:800;letter-spacing:.14em;color:#e96816}.driver-qr-card h2{margin:5px 0 4px;font-size:25px}.driver-qr-card p{margin:0;color:#65756e}.driver-qr-stats{display:flex;gap:22px;margin-top:16px;flex-wrap:wrap}.driver-qr-stats span{display:flex;flex-direction:column;font-size:12px;color:#718078}.driver-qr-stats b{font-size:18px;color:#12372a}
.qr-camera{display:flex;min-height:190px;border:2px dashed #9bcab5;border-radius:24px;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;background:#f5fbf8;text-align:center;padding:25px}.qr-camera input{position:absolute;opacity:0;pointer-events:none}.qr-camera span{font-size:45px}.qr-camera strong{font-size:21px}.qr-camera small{color:#6d7d75;margin-top:7px}.qr-preview-wrap{display:flex;gap:18px;align-items:center;margin:20px 0;padding:15px;border:1px solid #e0e7e4;border-radius:20px}.qr-preview-wrap img{width:120px;height:120px;object-fit:contain;background:white;border-radius:14px}.qr-preview-wrap strong,.qr-preview-wrap small{display:block}.qr-preview-wrap small{color:#6a7972;margin-top:6px}
.qr-validation-list{display:grid;gap:16px}.qr-validation-card{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid #e0e7e4;border-left:6px solid #8a9690;border-radius:24px;overflow:hidden;box-shadow:0 8px 24px rgba(16,45,32,.06)}.qr-validation-card.color-verde{border-left-color:#0a9a4a}.qr-validation-card.color-naranjo{border-left-color:#f06918}.qr-validation-card.color-negro{border-left-color:#111}.qr-validation-card.status-confirmado,.qr-validation-card.status-rechazado{opacity:.88}.qr-card-image{background:#f4f7f5;min-height:185px;display:flex;align-items:center;justify-content:center;padding:12px}.qr-card-image img{max-width:100%;max-height:220px;object-fit:contain}.qr-gone{text-align:center;color:#75827c}.qr-card-body{padding:22px}.qr-card-head{display:flex;justify-content:space-between;gap:15px}.qr-card-head strong,.qr-card-head small{display:block}.qr-card-head small{color:#697871;margin-top:4px}.qr-timer{font-weight:800;color:#b34c14}.qr-validate-form{display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:end}.qr-validate-form .form-actions{margin:0;white-space:nowrap}.qr-result{margin-top:20px;padding:14px 16px;background:#f4f8f6;border-radius:15px}.qr-result strong,.qr-result small{display:block}.qr-result strong{font-size:22px}.qr-result small{margin-top:4px;color:#617169}.qr-persistent-pill{position:fixed;right:18px;top:88px;z-index:9997;display:flex;align-items:center;gap:8px;background:#132f25;color:#fff;padding:12px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.22);text-decoration:none}.qr-persistent-pill[hidden]{display:none}
@media(max-width:720px){.driver-qr-card{align-items:stretch;flex-direction:column;padding:22px}.driver-qr-card .btn{text-align:center}.qr-validation-card{grid-template-columns:1fr}.qr-card-image{min-height:150px}.qr-validate-form{grid-template-columns:1fr}.qr-persistent-pill{top:auto;bottom:76px;right:12px}.qr-preview-wrap{align-items:flex-start}}

/* V47.4 · visor ampliado para validación QR */
.qr-image-open{width:100%;height:100%;min-height:160px;border:0;background:transparent;padding:0;cursor:zoom-in;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#174b37;font:inherit;font-weight:800}.qr-image-open img{max-width:100%;max-height:240px;object-fit:contain;display:block}.qr-image-open span{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d6e2dd;border-radius:999px;padding:8px 13px;font-size:12px;box-shadow:0 4px 12px rgba(16,45,32,.08)}
body.qr-viewer-open{overflow:hidden}.qr-viewer[hidden]{display:none}.qr-viewer{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px}.qr-viewer-backdrop{position:absolute;inset:0;background:rgba(4,12,9,.88);backdrop-filter:blur(3px)}.qr-viewer-dialog{position:relative;width:min(1180px,96vw);height:min(900px,94vh);background:#101a16;border:1px solid rgba(255,255,255,.18);border-radius:22px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.55)}.qr-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#fff;color:#183b2e}.qr-viewer-head>div{display:flex;gap:8px}.qr-viewer-tool,.qr-viewer-close{width:42px;height:42px;border:0;border-radius:12px;background:#edf3f0;color:#173c2e;font-size:23px;cursor:pointer}.qr-viewer-close{background:#ffe8e8;color:#9b2222;font-size:30px;line-height:1}.qr-viewer-stage{position:relative;overflow:hidden;touch-action:none;background:#0a0f0d;min-height:0}.qr-viewer-stage img{position:absolute;left:50%;top:50%;max-width:92%;max-height:92%;object-fit:contain;transform-origin:center center;transition:transform .08s linear;user-select:none;-webkit-user-drag:none}.qr-viewer-help{padding:10px 16px;text-align:center;background:#fff;color:#5e6e67;font-size:12px}
@media(max-width:720px){.qr-card-image{min-height:240px}.qr-image-open img{max-height:320px}.qr-image-open span{font-size:13px;padding:10px 15px}.qr-viewer{padding:0}.qr-viewer-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0;border:0}.qr-viewer-head{padding:10px 12px}.qr-viewer-head strong{max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-viewer-stage img{max-width:98%;max-height:96%}.qr-viewer-help{font-size:11px;padding:8px 10px}}

/* V48 · Informe profesional de rendición de conductor */
.rendition-report{max-width:1180px;margin:22px auto;background:#fff;border:1px solid #e4e7ec;border-radius:22px;overflow:hidden;box-shadow:0 18px 55px rgba(16,24,40,.09)}
.report-header{display:flex;justify-content:space-between;gap:24px;padding:28px 32px;background:linear-gradient(135deg,#121820,#283340);color:#fff}.report-brand{display:flex;align-items:center;gap:18px}.report-brand img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:16px;padding:7px}.report-brand small,.report-id span{font-size:11px;letter-spacing:.14em;opacity:.72}.report-brand h1{margin:3px 0 4px;font-size:27px}.report-brand p{margin:0;opacity:.78}.report-id{text-align:right;min-width:205px}.report-id strong{display:block;font-size:22px;margin:5px 0}.report-id small{opacity:.7}
.report-status{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:14px 32px;border-bottom:1px solid #e6e8ec}.report-status span{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.report-status strong{font-size:16px}.report-status b{font-size:22px}.report-ok{background:#ecfdf3;color:#067647}.report-warning{background:#fffaeb;color:#b54708}.report-danger{background:#fef3f2;color:#b42318}
.report-section{padding:24px 32px;border-bottom:1px solid #eaecf0}.report-section h2{font-size:16px;margin:0 0 18px;color:#101828}.report-info-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.report-info-grid>div,.report-money-grid article{padding:13px 14px;background:#f8fafc;border:1px solid #e7ebf0;border-radius:12px}.report-info-grid span,.report-money-grid span,.report-notes span{display:block;font-size:11px;color:#667085;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.report-info-grid strong{font-size:14px;color:#101828}.report-money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-money-grid strong{font-size:19px;color:#101828}.report-equation{margin-top:18px;display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr;align-items:stretch;gap:10px}.report-equation>div{padding:16px;border-radius:13px;background:#f4f6f8}.report-equation>i{align-self:center;font-size:22px;font-style:normal;color:#667085}.report-equation span{display:block;font-size:12px;color:#667085}.report-equation strong{font-size:23px}.report-equation .final{background:#101828;color:#fff}.report-equation .final span{color:#d0d5dd}.report-explanation{margin:12px 0 0;padding:10px 12px;background:#f8fafc;border-left:4px solid #667085;border-radius:5px;color:#475467}
.report-table{font-size:12px}.report-table th,.report-table td{white-space:nowrap}.report-table td:first-child{white-space:normal;min-width:130px}.report-table tfoot th{background:#eef2f6}.report-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.report-notes>div{border:1px solid #e4e7ec;border-radius:12px;padding:14px;min-height:78px}.report-notes p{margin:0;color:#344054}.report-timeline{position:relative;margin-left:7px;border-left:2px solid #d0d5dd;padding-left:22px}.report-timeline>div{position:relative;padding:0 0 17px}.report-timeline>div:before{content:"";position:absolute;left:-29px;top:3px;width:11px;height:11px;background:#344054;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #98a2b3}.report-timeline time{display:block;font-size:11px;color:#667085}.report-timeline strong{display:block;margin:2px 0}.report-timeline span{color:#475467;font-size:13px}
.report-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-photo-grid figure{margin:0;border:1px solid #d0d5dd;border-radius:14px;overflow:hidden;background:#f8fafc}.report-photo-grid img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;background:#eef1f4}.report-photo-grid figcaption{padding:9px 12px;font-size:11px;color:#667085}.report-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:62px 32px 28px}.report-signatures>div{border-top:1px solid #344054;padding-top:8px;text-align:center}.report-signatures span{display:block;font-size:12px;color:#667085}.report-signatures b{font-size:12px}.report-footer{display:flex;justify-content:space-between;padding:14px 32px;background:#f2f4f7;color:#667085;font-size:10px}.report-actions{display:flex;gap:10px;padding:18px 32px;background:#fff}
@media(max-width:900px){.report-header{flex-direction:column}.report-id{text-align:left}.report-info-grid{grid-template-columns:repeat(2,1fr)}.report-money-grid{grid-template-columns:repeat(2,1fr)}.report-equation{grid-template-columns:1fr}.report-equation>i{display:none}.report-notes,.report-photo-grid{grid-template-columns:1fr}.report-signatures{grid-template-columns:1fr;gap:55px}.report-footer{flex-direction:column;gap:4px}}
@media print{body{background:#fff!important}.no-print,.sidebar,.topbar,.mobile-nav,.app-footer{display:none!important}.app-shell,.main-content,.content{display:block!important;margin:0!important;padding:0!important;max-width:none!important}.rendition-report{box-shadow:none;border:0;border-radius:0;margin:0;max-width:none}.report-header{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-status,.report-equation .final,.report-info-grid>div,.report-money-grid article{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-section{padding:17px 20px;break-inside:auto}.report-header{padding:20px}.report-brand img{width:58px;height:58px}.report-brand h1{font-size:22px}.report-info-grid{grid-template-columns:repeat(5,1fr);gap:6px}.report-info-grid>div,.report-money-grid article{padding:8px}.report-money-grid{grid-template-columns:repeat(6,1fr);gap:6px}.report-money-grid strong{font-size:14px}.report-equation{margin-top:10px}.report-equation>div{padding:10px}.report-equation strong{font-size:18px}.report-table{font-size:9px}.report-table th,.report-table td{padding:5px!important}.report-photo-grid{grid-template-columns:repeat(2,1fr)}.report-photo-grid figure{break-inside:avoid}.report-photo-grid img{max-height:520px}.report-signatures{padding:55px 20px 20px}.report-footer{padding:10px 20px}.rendition-report h2{break-after:avoid}.report-section,.report-signatures{page-break-inside:auto}}
/* V49: validación QR previa, QR reconstruido y mapa público */
#qr-read-status{margin-top:14px}.qr-rebuilt{display:flex;gap:16px;align-items:center;margin:14px 0;padding:14px;border:1px solid #dfe7e3;border-radius:16px;background:#f7fbf8}.qr-generated{width:180px;min-width:180px;background:#fff;padding:8px;border-radius:10px}.qr-generated img,.qr-generated canvas{display:block;max-width:100%;height:auto}.qr-rebuilt>div:last-child{display:grid;gap:7px}.public-map-page{max-width:1240px;margin:0 auto;padding:24px}.public-map-page>header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.public-map-page h1{font-size:clamp(2rem,5vw,4rem);margin:.2rem 0}.public-map-page header p{max-width:760px}.public-map-shell{position:relative;background:#fff;border-radius:24px;padding:10px;box-shadow:0 20px 55px rgba(16,24,40,.14)}#public-map{height:min(68vh,720px);min-height:460px;border-radius:18px}.public-map-status{position:absolute;z-index:500;left:26px;bottom:26px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:12px 16px;border-radius:14px;box-shadow:0 8px 25px rgba(0,0,0,.15);display:grid}.public-map-status span{font-size:.82rem;color:#667085}@media(max-width:700px){.public-map-page{padding:12px}.public-map-page>header{align-items:stretch;flex-direction:column}.public-map-page>header .btn{text-align:center}#public-map{height:62vh;min-height:420px}.qr-rebuilt{flex-direction:column;align-items:flex-start}.qr-generated{width:100%;min-width:0}.qr-generated img,.qr-generated canvas{margin:auto}}

.ceadac-order-context{margin:8px 0 18px;padding:12px 15px;border-radius:14px;background:#fff3e9;border:1px solid #ffd4b7;color:#74350e}.ceadac-order-context strong,.ceadac-order-context span{display:block}.ceadac-order-context span{margin-top:3px;font-size:13px}
.qr-validation-card.qr-featured{box-shadow:0 12px 32px rgba(16,45,32,.12)}
.qr-validation-card.qr-compact{grid-template-columns:1fr;min-height:0}.qr-validation-card.qr-compact .qr-card-image,.qr-validation-card.qr-compact .qr-rebuilt,.qr-validation-card.qr-compact .qr-timer,.qr-validation-card.qr-compact .qr-validate-form,.qr-validation-card.qr-compact .qr-result{display:none}.qr-validation-card.qr-compact .qr-card-body{padding:15px 18px}.qr-validation-card.qr-compact .qr-expand-toggle{margin-top:12px}
.qr-validation-card.qr-compact.is-expanded{grid-template-columns:180px 1fr}.qr-validation-card.qr-compact.is-expanded .qr-card-image{display:flex}.qr-validation-card.qr-compact.is-expanded .qr-rebuilt{display:flex}.qr-validation-card.qr-compact.is-expanded .qr-timer{display:block}.qr-validation-card.qr-compact.is-expanded .qr-validate-form{display:grid}.qr-validation-card.qr-compact.is-expanded .qr-result{display:block}
@media(max-width:720px){.qr-validation-card.qr-compact.is-expanded{grid-template-columns:1fr}}


/* Detalle completo de ventas */
.sales-filter{margin-bottom:16px}.sales-kpis{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;margin:14px 0 18px}.sales-kpis article{background:#fff;border:1px solid #e7ebe8;border-radius:14px;padding:14px;box-shadow:0 4px 16px rgba(0,0,0,.04)}.sales-kpis span{display:block;color:#66736c;font-size:.78rem;margin-bottom:5px}.sales-kpis strong{font-size:1.25rem}.sales-audit-list{display:grid;gap:12px}.sale-audit-card{background:#fff;border:1px solid #dfe6e1;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(14,60,38,.06)}.sale-audit-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(260px,1fr) 130px;gap:14px;align-items:center;padding:16px}.sale-audit-card>summary::-webkit-details-marker{display:none}.sale-main{display:grid;gap:2px}.sale-main .sale-time{font-size:.76rem;color:#66736c}.sale-main strong{font-size:1.05rem}.sale-main small{color:#526159}.sale-tags{display:flex;gap:6px;flex-wrap:wrap}.sale-total{text-align:right}.sale-total small{display:block;color:#66736c}.sale-total strong{font-size:1.28rem}.sale-audit-body{border-top:1px solid #e7ebe8;padding:16px;background:#fbfcfb}.sale-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.sale-facts>div{background:#fff;border:1px solid #e4e9e6;border-radius:11px;padding:10px}.sale-facts span{display:block;color:#68746d;font-size:.77rem}.sale-corrections{margin-top:16px}.sale-corrections h3{margin:0 0 9px}.sale-corrections article{background:#fff5dc;border:1px solid #f2d694;border-radius:12px;padding:12px;margin-bottom:8px;display:grid;gap:8px}.sale-corrections article>div{display:grid;gap:3px}.sale-corrections span{font-size:.78rem;word-break:break-word}.badge.warning{background:#fff0c2;color:#7b5700}.badge.danger{background:#ffe1e1;color:#9a1f1f}.tablet-sales-link{display:flex;justify-content:flex-end;margin:10px 0}
@media(max-width:1100px){.sales-kpis{grid-template-columns:repeat(3,1fr)}.sale-audit-card>summary{grid-template-columns:1fr auto}.sale-tags{grid-column:1/-1}.sale-total{grid-column:2;grid-row:1}.sale-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.sales-kpis{grid-template-columns:repeat(2,1fr)}.sale-audit-card>summary{display:block}.sale-tags{margin:9px 0}.sale-total{text-align:left}.sale-facts{grid-template-columns:1fr}.sales-filter .form-actions{align-items:stretch}.sales-filter .form-actions>*{width:100%}}
