@font-face{font-family:Teko;src:url(../assets/fonts/teko-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Teko;src:url(../assets/fonts/teko-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Rubik;src:url(../assets/fonts/rubik-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url(../assets/fonts/rubik-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Rubik;src:url(../assets/fonts/rubik-800.woff2) format('woff2');font-weight:800;font-display:swap}
:root{--rojo:#C23137;--azul:#307ABD;--azul-2:#393668;--tinta:#25263b;--muted:#697084;--gris:#f3f5f9;--linea:#dde2eb;--blanco:#fff;--r:12px;--safe-b:env(safe-area-inset-bottom,0px);font-family:Rubik,Arial,sans-serif;color:var(--tinta);font-size:14px}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:#eef1f6}body{display:flex;flex-direction:column;height:100dvh;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--linea);border-radius:8px;padding:10px 13px;background:#fff;color:var(--azul-2);line-height:1.2;min-height:42px}button:hover{border-color:#9aa5ba;background:#f7f8fb}button:disabled{opacity:.48;cursor:not-allowed}button.primary{background:var(--rojo);border-color:var(--rojo);color:white;font-weight:600}button.on{background:var(--azul-2);border-color:var(--azul-2);color:#fff}button:focus-visible,input:focus-visible,select:focus-visible,#gl:focus-visible{outline:3px solid #307ABD;outline-offset:3px}
.top{height:88px;flex:none;display:flex;align-items:center;gap:12px;padding:12px 28px;background:white;border-bottom:1px solid var(--linea)}.brand{display:flex;align-items:center;gap:24px;min-width:0;margin-right:auto}.brand-plate{display:flex;flex:none}.brand-plate img{width:124px;height:62px;object-fit:contain}.ttl{display:flex;flex-direction:column;gap:5px;border-left:1px solid var(--linea);padding-left:24px;min-width:0}.ttl strong{font-family:Teko,sans-serif;font-weight:600;font-size:27px;line-height:1;color:var(--azul-2)}.ttl small{font-size:11px;color:var(--muted)}.top button{font-size:12px}#btn-explorer{display:none}
#stage{position:relative;flex:1;min-height:0;isolation:isolate}#gl{position:absolute;inset:0;outline-offset:-3px!important}#gl canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#gl canvas:active{cursor:grabbing}.venta #gl{left:318px}
#explorer{position:absolute;left:0;top:0;bottom:0;width:318px;background:white;border-right:1px solid var(--linea);padding:25px 22px;overflow:auto;z-index:4}.explorer-heading{display:flex;justify-content:space-between;align-items:start}.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--rojo);margin:0 0 9px}.explorer-heading h1{font-family:Teko,sans-serif;font-size:37px;font-weight:600;line-height:1;letter-spacing:-.3px;color:var(--azul-2);margin:0}.explorer-intro{font-size:11px;color:var(--muted);margin:12px 0 20px}#close-explorer{display:none}.stock-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;padding:16px 0;border-block:1px solid var(--linea);margin-bottom:20px}.stock-summary div{display:flex;align-items:center;gap:9px}.stock-summary strong{font-family:Teko;font-size:30px;font-weight:600;line-height:1;color:var(--azul-2)}.stock-summary span{font-size:10px;color:var(--muted)}.search-label{display:block;font-size:11px;font-weight:600;margin:0 0 8px}#stand-search{display:block;width:100%;height:44px;border:1px solid var(--linea);background:#f8f9fc;border-radius:8px;padding:10px 12px;color:var(--tinta);font-size:14px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.filter-row button{font-size:11px;min-height:36px;padding:8px}.inventory-note{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:19px 0 10px;font-size:10px;color:var(--muted)}.stand-list{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.stand-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 3px;min-height:64px;gap:3px}.stand-card strong{font-family:Teko;font-weight:600;font-size:25px;line-height:1}.stand-card span{font-size:9px;color:var(--muted)}.stand-card i{position:absolute;right:6px;top:6px;width:5px;height:5px;border-radius:50%;background:#b7bfcd}.stand-card[data-status=disponible] i{background:#307abd}.stand-card[data-status='en proceso'] i{background:#ba831d}.stand-card[data-status=vendido] i{background:#c23137}.stand-card.selected{border:2px solid var(--rojo);padding:6px 2px;background:#fff6f6}.directory-note,#empty-list{font-size:11px;line-height:1.6;color:var(--muted);margin:14px 0 0}
#vistas{position:absolute;top:18px;left:18px;right:auto;display:flex;gap:5px;border:1px solid white;background:#ffffffed;border-radius:10px;padding:5px;box-shadow:0 4px 20px #2534540a;z-index:2}.venta #vistas{left:338px}#vistas button{min-height:36px;font-size:11px;border-color:transparent;padding:9px 13px}#tools{position:absolute;right:20px;bottom:58px;display:flex;flex-direction:column;gap:6px;z-index:2}#tools button{box-shadow:0 3px 13px #2534540a;min-width:44px;font-size:12px}#t-zoomin,#t-zoomout,#t-rotl,#t-rotr{font-size:20px!important;padding:8px}.venta #t-ruta{display:none}
#comousar{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;max-width:calc(100% - 48px);font-size:10px;line-height:1.5;color:var(--muted);text-align:center;pointer-events:none;white-space:nowrap}.venta #comousar{left:calc(50% + 159px);max-width:calc(100% - 370px)}
#leyenda{position:absolute;top:78px;right:20px;width:310px;max-height:calc(100% - 98px);overflow:auto;background:#fff;border:1px solid var(--linea);border-radius:var(--r);box-shadow:0 10px 40px #26345422;padding:19px;z-index:8}#leyenda h2{font-family:Teko;font-size:26px;font-weight:600;margin:0}#leyenda ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px;font-size:11px;line-height:1.4}#leyenda li{display:flex;align-items:center;gap:9px}#leyenda i{width:11px;height:11px;border-radius:3px;display:inline-block;flex:none}#leyenda i.dash{border:1px dashed #ba6040;background:none}#leyenda .nota{font-size:10px;line-height:1.6;color:var(--muted);margin:18px 0 0}#legend-stock{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;border-bottom:1px solid var(--linea);padding:14px 0}#legend-stock p{margin:0;display:flex;align-items:center;gap:7px}
.sheet{position:absolute;right:82px;bottom:54px;width:330px;max-height:calc(100% - 140px);overflow:auto;background:white;border:1px solid var(--linea);border-radius:14px;box-shadow:0 12px 40px #25345426;padding:20px;z-index:5}.sheet-h{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet h2{font-family:Teko;font-size:32px;font-weight:600;color:var(--azul-2);line-height:1;margin:0}.sheet-h .x{width:36px;min-height:36px;flex:none;border:0;background:var(--gris);font-size:20px;padding:4px}.stand-dimensions{display:block;font-family:Teko;font-size:33px;font-weight:600;line-height:1.2;margin:10px 0}.stand-dimensions small{font-family:Rubik;font-size:12px;font-weight:400;color:var(--muted);margin-left:14px}#f-cuerpo{font-size:12px;line-height:1.8;margin:12px 0;color:#535b70}.pending-price{font-size:12px;font-style:italic}.f-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.f-acc button{font-size:11px;flex:1}.ruta-form{display:grid;gap:12px;margin-top:16px}.ruta-form label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.ruta-form select{font-size:13px;min-height:44px;border:1px solid var(--linea);border-radius:8px;background:white;color:var(--tinta);padding:9px}.r-res{font-size:12px;line-height:1.6}.r-res b{color:var(--rojo)}
#fallback{position:absolute;inset:0;overflow:auto;background:var(--gris);padding:20px}.venta #fallback{left:318px}#fallback img{width:100%;height:auto;border-radius:8px;background:#fff}.fb-list{columns:2;gap:20px;font-size:12px;line-height:1.7;padding-left:20px}.fb-list li{break-inside:avoid;margin:0 0 10px}.pie{display:flex;align-items:center;justify-content:space-between;padding:9px 22px calc(9px + var(--safe-b));gap:12px;background:white;border-top:1px solid var(--linea);font-size:10px;color:var(--muted)}.powered,.prod{display:inline-flex;align-items:center;gap:7px}.powered img{height:18px}.prod img{height:20px}
#map-loading{position:absolute;inset:0;background:#eef1f6;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.venta #map-loading{left:318px}#map-loading strong{font-family:Teko;font-size:29px;color:var(--azul-2);font-weight:600}#map-loading small{font-size:12px;color:var(--muted)}#map-loading>span{width:28px;height:28px;border:2px solid #d7dbe5;border-top-color:var(--rojo);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.venta #gl,.venta #fallback,.venta #map-loading{left:286px}#explorer{width:286px;padding:22px 16px}.venta #vistas{left:298px}#vistas{right:12px;overflow:auto}#vistas button{flex:none;padding:9px 10px}.venta #comousar{left:calc(50% + 143px);white-space:normal;font-size:9px}.sheet{right:74px;width:300px}}
@media(max-width:820px){.top{height:72px;padding:8px 12px;gap:7px}.brand{gap:12px}.brand-plate img{width:88px;height:49px}.ttl{border:0;padding:0;gap:3px}.ttl strong{font-size:22px}.ttl small{font-size:9px;max-width:180px;line-height:1.4}.top button{font-size:11px;min-height:44px;padding:9px}#btn-explorer{display:block}.venta #gl,.venta #fallback,.venta #map-loading{left:0}.venta #gl,#gl{top:63px}.venta #vistas,#vistas{top:9px;left:10px;right:10px;overflow:auto;padding:4px;scrollbar-width:none}#vistas button{min-height:40px;font-size:11px;padding:9px 12px}.venta #explorer{display:none;position:absolute;inset:0;width:auto;z-index:9;border:0;padding:20px 18px calc(20px + var(--safe-b))}.venta.explorer-open #explorer{display:block}#close-explorer{display:block;min-height:44px;width:44px;font-size:25px;padding:5px}.stock-summary{grid-template-columns:repeat(4,1fr);gap:8px}.stock-summary div{flex-direction:column;gap:6px;align-items:flex-start}.stock-summary span{font-size:10px}.filter-row{grid-template-columns:repeat(4,1fr)}.filter-row button{min-height:44px;font-size:10px}.stand-list{grid-template-columns:repeat(5,1fr)}.stand-card{min-height:65px}.list-heading{font-size:11px}#tools{right:10px;bottom:calc(16px + var(--safe-b));gap:5px}#tools button{min-height:44px}#comousar{display:none}.sheet{left:10px;right:64px;bottom:calc(14px + var(--safe-b));width:auto;max-height:48%;padding:16px;box-shadow:0 8px 30px #25345426}.sheet h2{font-size:28px}.sheet-h .x{width:44px;min-height:44px}.f-acc button{min-height:44px}#leyenda{top:65px;left:10px;right:10px;width:auto;max-height:calc(100% - 80px)}.fb-list{columns:1}.pie{font-size:9px;padding-inline:12px}.ruta-form select{font-size:16px}.venta #fallback{top:63px}#map-loading{inset:63px 0 0!important}.top #btn-leyenda{font-size:0;width:44px;padding:10px}.top #btn-leyenda::after{content:'i';font:600 17px Rubik}.ttl small{max-width:140px}#stand-search{font-size:16px}}
@media(max-width:430px){.ttl small{display:none}.brand-plate img{width:76px}.ttl strong{font-size:20px}.top{gap:6px}.brand{gap:8px}.top button{font-size:10px;padding:8px}.sheet{right:64px;padding:13px}.stand-list{grid-template-columns:repeat(4,1fr)}.filter-row{grid-template-columns:1fr 1fr}.stock-summary strong{font-size:27px}.stock-summary span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Compact search and filters; spaces are selected on the plan. */
.search-row{display:flex;gap:7px}.search-row input{min-width:0}.search-row button{min-height:44px;font-size:11px;padding:8px 10px}#search-feedback:empty{display:none}
@media(min-width:821px){.venta #gl,.venta #fallback,.venta #map-loading{left:254px}.venta #vistas{left:272px}.venta #explorer{width:254px;padding:20px}.explorer-heading h1{font-size:32px}.explorer-intro{font-size:10px}.venta #comousar{left:calc(50% + 127px);max-width:calc(100% - 300px)}}

.filter-row [data-filter="disponible"].on{background:#307abd;border-color:#307abd}.filter-row [data-filter="vendido"].on{background:#c23137;border-color:#c23137}
