:root{--verde:#00CE7C;--noche:#151D29;--azul:#0047BA;--azul-2:#68A1FF;--bg:#F2F2F2;--card:#fff;--txt:#151D29;--sub:#6C757D;--borde:#DEE2E6;--hover:#e6eefb;--mal:#D90429;--mal-bg:#fde3e8;--warn-bg:#fff5c2;--warn:#7a5b00;--rad:10px;--tipo:Arimo,"Liberation Sans",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font:16px/1.5 var(--tipo);background:var(--bg);color:var(--txt)}
h1{font-size:1.7rem;margin:0 0 .3rem;letter-spacing:-.01em}h2{font-size:1.2rem;margin:0 0 .6rem}h3{font-size:1rem;margin:1rem 0 .4rem}
small,.sub{color:var(--sub)}
#imp{display:none}
.top{background:var(--noche);color:#fff;border-bottom:3px solid var(--verde)}
.top div{max-width:1100px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:14px}
.top img{height:34px}.top b{font-size:1.05rem}
main{max-width:1100px;margin:0 auto;padding:20px 16px 60px}
.card{background:var(--card);border:1px solid var(--borde);border-radius:var(--rad);padding:16px;margin:0 0 16px;box-shadow:0 1px 2px #151d2914}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 18px;padding:0;list-style:none;counter-reset:p}
.pasos li{background:var(--card);border:1px solid var(--borde);border-radius:var(--rad);padding:10px 12px;font-size:.93rem;counter-increment:p}
.pasos li::before{content:counter(p);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--azul);color:#fff;font-weight:700;margin-right:8px;font-size:.85rem}
.btn{font:inherit;border:1px solid var(--borde);background:#fff;color:var(--txt);border-radius:8px;padding:9px 14px;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.pri{background:var(--azul);border-color:var(--azul);color:#fff;font-weight:700}.btn.pri:hover{background:#003a99}
.btn.wa{background:#1ba85a;border-color:#1ba85a;color:#fff;font-weight:700}.btn.wa:hover{background:#13894a}
.btn.peq{padding:5px 9px;font-size:.88rem}.btn.mal{color:var(--mal)}
.acciones{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.aviso{border-radius:8px;padding:10px 12px;margin:0 0 12px;background:var(--hover);font-size:.93rem}
.aviso.warn{background:var(--warn-bg);color:var(--warn)}.aviso.mal{background:var(--mal-bg);color:var(--mal)}
.piezas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:12px 0}
.pz{border:1px solid var(--borde);border-radius:var(--rad);padding:10px;background:#fff;display:flex;flex-direction:column;gap:6px}
.pz .mini{height:200px;display:grid;place-items:center;background:var(--hover);border-radius:8px}
.pz .mini svg{max-height:200px;max-width:100%}
.pz b{display:block}.pz .meta{font-size:.88rem;color:var(--sub)}
.vacio{padding:24px;text-align:center;color:var(--sub);border:2px dashed var(--borde);border-radius:var(--rad)}
label.f{display:flex;flex-direction:column;gap:3px;font-size:.88rem;font-weight:700}
label.f input,label.f select,label.f textarea,.mec-card input,.mec-card select{font:inherit;font-weight:400;padding:8px 9px;border:1px solid var(--borde);border-radius:8px;background:#fff;color:var(--txt);width:100%}
input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:3px solid #0047BA55;outline-offset:1px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.modal-fondo{position:fixed;inset:0;background:#151d29b8;z-index:50;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:16px}
.modal{background:var(--card);border-radius:12px;width:min(1100px,100%);overflow:clip}
.modal-cab{display:flex;justify-content:space-between;align-items:center;background:var(--noche);color:#fff;padding:12px 16px;border-bottom:3px solid var(--verde)}
.modal-cab h2{margin:0;color:#fff}.modal-cab button{background:transparent;color:#fff;border:1px solid #fff6;border-radius:8px;font-size:1.1rem;cursor:pointer;padding:4px 10px}
.modal-cuerpo{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px}
.modal-pie{padding:12px 16px;border-top:1px solid var(--borde);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.plano-col{position:sticky;top:8px;align-self:start}
.plano{background:#fff;border:1px solid var(--borde);border-radius:var(--rad);padding:6px;touch-action:none}
.plano svg{width:100%;height:auto;max-height:70vh;display:block}
.fichas{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.ficha{background:var(--hover);border:1px solid var(--borde);border-radius:999px;padding:3px 10px;font-size:.88rem}
.ficha.sel{outline:2px solid var(--azul)}
.mec-card{border:1px solid var(--borde);border-radius:8px;padding:8px;margin:6px 0;background:#fafafa}
.mec-card.sel{border-color:var(--azul);background:var(--hover)}
.mec-cab{display:flex;gap:8px;align-items:center;margin-bottom:6px}.mec-cab select{flex:1}
.mec-cab .n{background:var(--mal);color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.mec-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}
.mec-campos label{font-size:.78rem;display:flex;flex-direction:column;gap:2px}
.serv{display:flex;flex-direction:column;gap:4px;max-height:170px;overflow:auto;border:1px solid var(--borde);border-radius:8px;padding:8px}
.serv label{display:flex;gap:8px;align-items:center;font-size:.92rem}
.serv input{width:auto}
.ayuda{font-size:.82rem;color:var(--sub);margin:2px 0 0}
@media (max-width:820px){.modal-cuerpo{grid-template-columns:1fr}.plano-col{position:static;order:-1}.pasos{grid-template-columns:1fr}.modal-fondo{padding:0}.modal{border-radius:0;min-height:100%}}
/* ---- impresión / PDF del plano ---- */
@media print{
  body>*:not(#imp){display:none!important}
  #imp{display:block!important;background:#fff;color:#000}
  #imp .hoja{padding:0;page-break-inside:avoid;margin:0 0 14px;border-bottom:1px solid #ccc;padding-bottom:10px}
  #imp .cab{display:flex;align-items:center;gap:12px;border-bottom:3px solid #00CE7C;margin-bottom:10px;padding-bottom:6px}
  #imp .cab img{height:32px;background:#151D29;padding:4px;border-radius:4px}
  #imp svg{width:340px;height:auto;float:right;margin:0 0 6px 12px}
  #imp h3{margin:0 0 4px}#imp ul{margin:2px 0;padding-left:18px}
}

/* Volver a la tienda (integración en fralca.com, 26-oct-2026) */
.top-logo{display:inline-flex}
.top-volver{margin-left:auto;color:#fff;font-size:.9rem;text-decoration:none;opacity:.9}
.top-volver:hover{text-decoration:underline;opacity:1}
