 
.ics-box{padding:20px;border:1px solid #e7e7e7;border-radius:16px;margin-bottom:20px;background:#fff;}
.ics-box h3{margin:0 0 18px;font-size:22px;line-height:1.2;}
.ics-field{margin-bottom:14px;}
.ics-field label{display:block;font-weight:600;margin-bottom:6px;}
.ics-date-input,.ics-select{width:100%;min-height:44px;border:1px solid #cfcfcf;border-radius:8px;padding:10px 12px;background:#fff;}
.ics-date-input{cursor:pointer;}
.ics-help{display:block;margin-top:6px;color:#6b7280;}
.ics-map{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.seat{border:0;padding:10px 14px;color:#fff;border-radius:8px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px;}
.seat-standard{background:#2ecc71;}
.seat-pc{background:#2563eb;}
.seat.selected{background:#111;}
.seat.is-unavailable{background:#d64545;cursor:not-allowed;opacity:.9;}
.ics-seat-badge{font-size:14px;line-height:1;}
.ics-empty{color:#6b7280;padding:8px 0;}
.ics-price-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#f8fafc;color:#334155;font-size:14px;}
button.single_add_to_cart_button.ics-disabled{opacity:.55;cursor:not-allowed;}
.ics-status{margin-top:12px;color:#475569;font-size:14px;}
.ics-datepicker-theme{z-index:999999 !important;}
#ui-datepicker-div.ics-datepicker-theme{border:1px solid #ddd;border-radius:12px;padding:8px;}


.ics-status-card{
    margin-top:12px;
    padding:12px 14px;
    border-radius:10px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    color:#0f172a;
}

.ics-status-card{position:relative}
.ics-status-card.ok{border-left:6px solid #16a34a}
.ics-status-card.bad{border-left:6px solid #ef4444}
.ics-status-card.warn{border-left:6px solid #f59e0b}
.ics-status-badge{
 display:inline-block;
 padding:6px 10px;
 border-radius:999px;
 font-weight:700;
 color:#fff;
 margin-top:6px;
}
.ics-ok{background:#16a34a}
.ics-bad{background:#ef4444}
.ics-warn{background:#f59e0b}

.ics-map-general{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 14px}
.ics-space-card{border:1px solid #dbe3ee;background:#fff;border-radius:14px;padding:14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:92px}
.ics-space-card.is-selected{border-color:#111;box-shadow:0 0 0 2px rgba(17,17,17,.06)}
.ics-space-card.is-disabled{opacity:.45;cursor:not-allowed}
.ics-space-title{font-weight:800;color:#0f172a}
.ics-space-meta{font-size:13px;color:#64748b}
.ics-space-pilot-badge{display:inline-block;align-self:flex-start;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700}
.ics-seat-state{font-size:12px;font-weight:600;opacity:.9}
.ics-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.56);z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px}
.ics-modal{width:min(900px,100%);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.24)}
.ics-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 18px 12px;border-bottom:1px solid #e2e8f0}
.ics-modal-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.ics-modal-head h4{margin:4px 0 0;font-size:24px}
.ics-modal-close{border:0;background:#111;color:#fff;width:36px;height:36px;border-radius:999px;font-size:22px;cursor:pointer}
.ics-modal-body{padding:18px}
.ics-modal-plan{position:relative;min-height:420px;border:1px solid #e2e8f0;border-radius:16px;background:
linear-gradient(90deg, rgba(226,232,240,.7) 1px, transparent 1px) 0 0/40px 40px,
linear-gradient(rgba(226,232,240,.7) 1px, transparent 1px) 0 0/40px 40px,
#f8fafc}
.ics-modal-plan:before{content:'Plano piloto — Lab de Cómputo';position:absolute;left:14px;top:12px;font-weight:800;color:#0f172a;opacity:.8}
.ics-plan-unit{position:absolute;border:0;border-radius:10px;padding:10px 12px;color:#fff;font-weight:700;cursor:pointer}
.ics-plan-unit.is-seat{background:#16a34a}
.ics-plan-unit.is-pc{background:#2563eb}
.ics-plan-unit.is-unavailable{background:#dc2626;cursor:not-allowed}
.ics-plan-unit.is-staged{outline:3px solid #111;transform:scale(1.04)}
.ics-modal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:#475569}
.ics-modal-legend .lg{display:inline-block;width:12px;height:12px;border-radius:999px;margin-right:6px;vertical-align:middle}
.lg.seat-free{background:#16a34a}.lg.seat-pc{background:#2563eb}.lg.seat-busy{background:#dc2626}.lg.seat-sel{background:#111}
.ics-modal-foot{padding:0 18px 18px;display:flex;justify-content:flex-end}
.ics-modal-confirm{border:0;background:#111;color:#fff;padding:12px 16px;border-radius:10px;font-weight:800;cursor:pointer}
.ics-plan-unit.p1{top:70px;left:70px}.ics-plan-unit.p2{top:70px;left:220px}.ics-plan-unit.p3{top:70px;left:370px}.ics-plan-unit.p4{top:70px;left:520px}
.ics-plan-unit.p5{top:170px;left:70px}.ics-plan-unit.p6{top:170px;left:220px}.ics-plan-unit.p7{top:170px;left:370px}.ics-plan-unit.p8{top:170px;left:520px}
.ics-plan-unit.p9{top:270px;left:70px}.ics-plan-unit.p10{top:270px;left:220px}.ics-plan-unit.p11{top:270px;left:370px}.ics-plan-unit.p12{top:270px;left:520px}
@media (max-width:767px){
  .ics-map-general{grid-template-columns:1fr}
  .ics-modal-plan{min-height:520px;overflow:auto}
  .ics-plan-unit.p1{top:70px;left:20px}.ics-plan-unit.p2{top:70px;left:150px}.ics-plan-unit.p3{top:70px;left:280px}.ics-plan-unit.p4{top:70px;left:410px}
  .ics-plan-unit.p5{top:170px;left:20px}.ics-plan-unit.p6{top:170px;left:150px}.ics-plan-unit.p7{top:170px;left:280px}.ics-plan-unit.p8{top:170px;left:410px}
  .ics-plan-unit.p9{top:270px;left:20px}.ics-plan-unit.p10{top:270px;left:150px}.ics-plan-unit.p11{top:270px;left:280px}.ics-plan-unit.p12{top:270px;left:410px}
}

.ics-modal-plan.is-lab{
  background:
  linear-gradient(90deg, rgba(226,232,240,.8) 1px, transparent 1px) 0 0/56px 56px,
  linear-gradient(rgba(226,232,240,.8) 1px, transparent 1px) 0 0/56px 56px,
  #f8fafc;
}
.ics-modal-plan.is-cowork{
  background:
  radial-gradient(circle at 20% 20%, rgba(191,219,254,.35), transparent 20%),
  radial-gradient(circle at 80% 70%, rgba(187,247,208,.35), transparent 20%),
  #f8fafc;
}
.ics-modal-plan.is-wasi{
  background:
  linear-gradient(135deg, rgba(254,249,195,.45), rgba(241,245,249,.9)),
  #f8fafc;
}
.ics-modal-plan.is-gamer{
  background:
  radial-gradient(circle at 30% 20%, rgba(196,181,253,.35), transparent 18%),
  radial-gradient(circle at 70% 60%, rgba(96,165,250,.28), transparent 18%),
  #0f172a;
}
.ics-modal-plan.is-gamer:before{color:#e2e8f0}
.ics-plan-label{
  position:absolute;
  left:14px;
  top:40px;
  font-size:13px;
  color:#64748b;
  font-weight:600;
}
.ics-space-card.is-pilot{
  background:linear-gradient(180deg,#ffffff,#f8fafc);
}
.ics-space-card.is-pilot .ics-space-title:after{
  content:' • visual';
  color:#2563eb;
  font-weight:700;
  font-size:12px;
}
.ics-plan-unit small{
  display:block;
  font-size:11px;
  opacity:.95;
  font-weight:700;
}

.ics-modal-plan.is-lab-arch{
  background:
    linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
}
.ics-arch-shell{
  position:absolute;
  inset:18px;
  border-radius:18px;
  background:
    linear-gradient(90deg, rgba(148,163,184,.14) 1px, transparent 1px) 0 0/36px 36px,
    linear-gradient(rgba(148,163,184,.14) 1px, transparent 1px) 0 0/36px 36px,
    #ffffff;
  overflow:hidden;
}
.ics-arch-wall{
  position:absolute;
  background:#111827;
  border-radius:4px;
}
.ics-arch-wall.top{left:0;right:0;top:0;height:10px}
.ics-arch-wall.bottom{left:0;right:0;bottom:0;height:10px}
.ics-arch-wall.left{top:0;bottom:0;left:0;width:10px}
.ics-arch-wall.right{top:0;bottom:0;right:0;width:10px}
.ics-arch-door{
  position:absolute;
  width:54px;
  height:10px;
  background:#cbd5e1;
  border-radius:999px;
}
.ics-arch-door.d1{left:44px;bottom:0}
.ics-arch-door.d2{right:52px;top:0}
.ics-arch-table{
  position:absolute;
  width:130px;
  height:64px;
  background:#e2e8f0;
  border:2px solid #94a3b8;
  border-radius:14px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.45);
}
.ics-arch-table.t1{left:54px;top:72px}
.ics-arch-table.t2{left:222px;top:72px}
.ics-arch-table.t3{left:390px;top:72px}
.ics-arch-table.t4{left:54px;top:198px}
.ics-arch-table.t5{left:222px;top:198px}
.ics-arch-table.t6{left:390px;top:198px}
.ics-arch-zone{
  position:absolute;
  font-size:12px;
  font-weight:800;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ics-arch-zone.z1{left:58px;bottom:42px}
.ics-arch-zone.z2{right:58px;bottom:42px}
.ics-arch-zone.z3{left:282px;bottom:42px}
.ics-plan-unit.lab-overlay{
  min-width:92px;
  justify-content:center;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p1{top:86px;left:66px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p2{top:86px;left:230px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p3{top:86px;left:394px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p4{top:86px;left:558px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p5{top:212px;left:66px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p6{top:212px;left:230px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p7{top:212px;left:394px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p8{top:212px;left:558px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p9{top:328px;left:66px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p10{top:328px;left:230px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p11{top:328px;left:394px}
.ics-modal-plan.is-lab-arch .ics-plan-unit.p12{top:328px;left:558px}
@media (max-width:767px){
  .ics-arch-shell{inset:12px}
  .ics-arch-table{width:96px;height:54px}
  .ics-arch-table.t1{left:18px;top:92px}
  .ics-arch-table.t2{left:134px;top:92px}
  .ics-arch-table.t3{left:250px;top:92px}
  .ics-arch-table.t4{left:18px;top:212px}
  .ics-arch-table.t5{left:134px;top:212px}
  .ics-arch-table.t6{left:250px;top:212px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p1{top:102px;left:22px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p2{top:102px;left:138px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p3{top:102px;left:254px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p4{top:102px;left:370px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p5{top:222px;left:22px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p6{top:222px;left:138px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p7{top:222px;left:254px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p8{top:222px;left:370px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p9{top:338px;left:22px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p10{top:338px;left:138px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p11{top:338px;left:254px}
  .ics-modal-plan.is-lab-arch .ics-plan-unit.p12{top:338px;left:370px}
  .ics-arch-zone.z1,.ics-arch-zone.z2,.ics-arch-zone.z3{font-size:10px}
}

.ics-real-plan-wrap{
  position:absolute;
  inset:18px;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid #dbe3ee;
}
.ics-real-plan-image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
}
.ics-real-plan-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px) 0 0/32px 32px,
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px) 0 0/32px 32px;
  pointer-events:none;
}
.ics-modal-plan .ics-plan-unit{
  z-index:5;
}
.ics-modal-plan .ics-plan-label{
  z-index:6;
  background:rgba(255,255,255,.92);
  padding:6px 10px;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}

.ics-plan-unit{
 position:absolute;
 cursor:move;
}

.ics-plan-unit.state-free small{color:#dcfce7}
.ics-plan-unit.state-busy small{color:#fee2e2}
.ics-plan-unit.has-db-pos{box-shadow:0 0 0 3px rgba(17,24,39,.08), 0 10px 24px rgba(15,23,42,.16)}

.ics-open-plan{margin-top:10px;border:0;background:#111;color:#fff;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer}
.ics-plan-fallback-bg{position:absolute;inset:18px;border-radius:18px;background:
linear-gradient(90deg, rgba(226,232,240,.7) 1px, transparent 1px) 0 0/40px 40px,
linear-gradient(rgba(226,232,240,.7) 1px, transparent 1px) 0 0/40px 40px,
#f8fafc}
.ics-plan-unit.use-fallback.p1{left:8%;top:18%}.ics-plan-unit.use-fallback.p2{left:26%;top:18%}.ics-plan-unit.use-fallback.p3{left:44%;top:18%}.ics-plan-unit.use-fallback.p4{left:62%;top:18%}
.ics-plan-unit.use-fallback.p5{left:8%;top:38%}.ics-plan-unit.use-fallback.p6{left:26%;top:38%}.ics-plan-unit.use-fallback.p7{left:44%;top:38%}.ics-plan-unit.use-fallback.p8{left:62%;top:38%}
.ics-plan-unit.use-fallback.p9{left:8%;top:58%}.ics-plan-unit.use-fallback.p10{left:26%;top:58%}.ics-plan-unit.use-fallback.p11{left:44%;top:58%}.ics-plan-unit.use-fallback.p12{left:62%;top:58%}
.ics-space-card.is-disabled{opacity:.45;cursor:not-allowed}
.ics-space-card.is-selected{border-color:#111;box-shadow:0 0 0 2px rgba(17,17,17,.06)}


/* v8.3.1 UX polish */
.ics-box{max-width:100%}
.ics-map-general{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0 16px;
}
.ics-space-card{
  min-height:94px;
  padding:16px 18px;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
}
.ics-space-title{
  display:block;
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  color:#0f172a;
}
.ics-space-pilot-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  font-size:11px;
  font-weight:700;
  border-radius:999px;
  background:#eff6ff;
  color:#2563eb;
}
.ics-space-meta{
  display:block;
  font-size:12px;
  color:#64748b;
  line-height:1.25;
}
.ics-modal{
  width:min(1320px,96vw);
  max-width:1320px;
}
.ics-modal-body{
  padding:14px 18px 10px;
}
.ics-modal-plan{
  min-height:560px;
  border-radius:20px;
  overflow:hidden;
  background:#f8fafc;
}
.ics-real-plan-wrap{
  inset:10px;
  border-radius:16px;
}
.ics-real-plan-image{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#fff;
}
.ics-real-plan-overlay{
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0/36px 36px,
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px) 0 0/36px 36px;
}
.ics-plan-label{
  top:18px;
  left:18px;
  font-size:12px;
  padding:7px 12px;
  z-index:8;
}
.ics-modal-legend{
  margin-top:12px;
}
.ics-plan-unit{
  min-width:72px;
  padding:8px 9px;
  border-radius:8px;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}
.ics-unit-label{
  display:block;
  font-size:12px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:.01em;
}
.ics-unit-state{
  display:block;
  margin-top:4px;
  font-size:10px;
  font-weight:700;
  line-height:1;
  opacity:.95;
}
.ics-map .seat{
  min-width:92px;
  min-height:38px;
  padding:7px 10px;
  border-radius:8px;
}
.ics-inline-unit-label{
  font-size:13px;
  font-weight:700;
}
.ics-seat-state{
  font-size:11px;
  margin-left:5px;
}
.ics-modal-foot{
  padding:0 18px 18px;
}
.ics-modal-confirm{
  padding:12px 18px;
  border-radius:12px;
}
@media (min-width: 1500px){
  .ics-modal{width:min(1420px,95vw);max-width:1420px}
  .ics-modal-plan{min-height:620px}
}
@media (max-width: 991px){
  .ics-modal{width:min(96vw,1100px)}
  .ics-modal-plan{min-height:480px}
}
@media (max-width: 767px){
  .ics-map-general{grid-template-columns:1fr}
  .ics-space-card{min-height:82px;padding:14px}
  .ics-space-title{font-size:14px}
  .ics-modal{width:96vw}
  .ics-modal-body{padding:12px}
  .ics-modal-plan{min-height:360px}
  .ics-plan-unit{min-width:62px;padding:7px 8px}
  .ics-unit-label{font-size:11px}
  .ics-unit-state{font-size:9px}
}


/* v8.3.1.1 SAFE CSS ONLY - visual dots without changing JS structure */

.ics-space-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:7px;
}
.ics-space-title{
  display:block;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
}
.ics-space-pilot-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  font-size:11px;
  font-weight:700;
  border-radius:999px;
  background:#eff6ff;
  color:#2563eb;
}
.ics-space-meta{
  font-size:12px;
  color:#64748b;
  line-height:1.25;
}

.ics-map{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-height:54px;
}
.ics-map .seat{
  position:relative;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible;
  font-size:0 !important;
  background:transparent !important;
  margin:0 !important;
}
.ics-map .seat > span,
.ics-map .seat > small{
  display:none !important;
}
.ics-map .seat::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#fff;
  border:2px solid #16a34a;
  box-sizing:border-box;
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
.ics-map .seat.seat-pc::before{
  border-color:#2563eb;
}
.ics-map .seat.is-unavailable::before{
  background:#ef4444;
  border-color:#ef4444;
}
.ics-map .seat.selected::before{
  background:#111827;
  border-color:#111827;
  transform:scale(1.1);
}
.ics-map .seat:hover::before{
  transform:scale(1.14);
}

.ics-plan-unit{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  padding:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible;
}
.ics-plan-unit > span{
  display:none !important;
}
.ics-plan-unit > small{
  display:none !important;
}
.ics-plan-unit::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#fff;
  border:2px solid #16a34a;
  box-sizing:border-box;
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
.ics-plan-unit.is-pc::before{
  border-color:#2563eb;
}
.ics-plan-unit.is-unavailable::before{
  background:#ef4444;
  border-color:#ef4444;
}
.ics-plan-unit.is-staged::before{
  background:#111827;
  border-color:#111827;
  transform:scale(1.12);
}
.ics-plan-unit:hover::before{
  transform:scale(1.15);
}
.ics-plan-unit::after{
  content: attr(data-id);
  position:absolute;
  left:50%;
  top:calc(100% + 5px);
  transform:translateX(-50%);
  font-size:9px;
  font-weight:800;
  line-height:1;
  color:#0f172a;
  background:rgba(255,255,255,.92);
  border:1px solid #dbe3ee;
  border-radius:999px;
  padding:3px 5px;
  white-space:nowrap;
  box-shadow:0 4px 10px rgba(15,23,42,.08);
}
.ics-plan-unit.is-unavailable::after{
  color:#b91c1c;
}
.ics-plan-unit.is-staged::after{
  color:#111827;
}

.ics-modal-legend{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  font-size:13px;
}
.ics-modal-legend .lg{
  width:12px;
  height:12px;
  border-radius:999px;
  display:inline-block;
  vertical-align:middle;
}
.ics-modal-legend .seat-free{
  background:#fff;
  border:2px solid #16a34a;
}
.ics-modal-legend .seat-pc{
  background:#fff;
  border:2px solid #2563eb;
}
.ics-modal-legend .seat-busy{
  background:#ef4444;
  border:2px solid #ef4444;
}
.ics-modal-legend .seat-sel{
  background:#111827;
  border:2px solid #111827;
}

.ics-modal{
  width:min(1320px,96vw);
}
.ics-modal-plan{
  max-height:72vh;
}
.ics-plan-label{
  font-size:11px;
  padding:6px 10px;
}

@media (max-width: 767px){
  .ics-map .seat{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    min-height:16px !important;
  }
  .ics-plan-unit{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
  }
  .ics-plan-unit::after{
    font-size:8px;
    padding:2px 4px;
  }
}


/* v8.3.1.3 SAFE CSS ONLY - responsive mobile fino */
@media (max-width: 767px){
  .ics-modal{
    width:94vw !important;
    max-width:94vw !important;
    max-height:92vh !important;
    border-radius:22px !important;
  }
  .ics-modal-head{
    padding:14px 16px 12px !important;
  }
  .ics-modal-head h4,
  #ics-modal-title{
    font-size:18px !important;
    line-height:1.15 !important;
  }
  .ics-modal-kicker{
    font-size:11px !important;
  }
  .ics-modal-body{
    padding:10px 10px 8px !important;
  }
  .ics-modal-plan{
    min-height:46vh !important;
    max-height:46vh !important;
    height:46vh !important;
    border-radius:18px !important;
  }
  .ics-real-plan-wrap{
    inset:8px !important;
    border-radius:14px !important;
  }
  .ics-plan-label{
    top:8px !important;
    left:8px !important;
    font-size:10px !important;
    padding:5px 8px !important;
  }

  /* dots smaller on mobile */
  .ics-plan-unit{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    min-height:16px !important;
  }
  .ics-map .seat{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
  }
  .ics-map .seat::before{
    border-width:2px !important;
  }
  .ics-plan-unit::before{
    border-width:2px !important;
  }

  /* hide fixed labels under dots in mobile to avoid overflow */
  .ics-plan-unit::after{
    display:none !important;
  }

  /* compact legend */
  .ics-modal-legend{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px 12px !important;
    font-size:12px !important;
    line-height:1.2 !important;
    margin-top:10px !important;
  }
  .ics-modal-legend .lg{
    width:11px !important;
    height:11px !important;
  }

  /* footer / confirm */
  .ics-modal-foot{
    padding:0 10px 12px !important;
  }
  .ics-modal-confirm{
    width:100% !important;
    min-height:46px !important;
    border-radius:14px !important;
    font-size:16px !important;
  }

  /* inline dots list cleaner */
  .ics-map{
    gap:6px !important;
    min-height:40px !important;
  }

  /* product cards and fields spacing */
  .ics-box{
    border-radius:18px !important;
  }
  .ics-space-card{
    min-height:76px !important;
    padding:12px 14px !important;
  }
  .ics-space-title{
    font-size:14px !important;
  }
  .ics-space-meta{
    font-size:11px !important;
  }
  .ics-space-pilot-badge{
    font-size:10px !important;
    padding:3px 7px !important;
  }
}


/* v8.3.1.5 SAFE - mobile lista/grilla funcional real */
@media (max-width: 767px){
  .ics-map-general{
    display:none !important;
  }
  .ics-open-plan{
    display:none !important;
  }
  .ics-box{
    padding:14px !important;
    border-radius:18px !important;
  }
  .ics-box h3{
    font-size:22px !important;
    line-height:1.15 !important;
    margin-bottom:14px !important;
  }
  .ics-field{
    margin-bottom:14px !important;
  }
  .ics-field label{
    font-size:14px !important;
    font-weight:700 !important;
  }
  .ics-select,
  .ics-date-input{
    min-height:48px !important;
    font-size:16px !important;
    border-radius:14px !important;
  }

  .ics-map{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    align-items:stretch !important;
    min-height:0 !important;
    margin-top:12px !important;
  }
  .ics-map .seat{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:54px !important;
    border-radius:14px !important;
    padding:10px 12px !important;
    box-shadow:none !important;
    background:#fff !important;
    border:1px solid #dbe3ee !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:4px !important;
    color:#0f172a !important;
    margin:0 !important;
    overflow:hidden !important;
    font-size:14px !important;
  }
  .ics-map .seat::before{
    display:none !important;
  }
  .ics-map .seat > span,
  .ics-map .seat > small{
    display:block !important;
    font-size:13px !important;
    line-height:1.2 !important;
    color:#0f172a !important;
  }
  .ics-map .seat > span{
    font-weight:800 !important;
  }
  .ics-map .seat > small{
    color:#64748b !important;
    margin:0 !important;
  }
  .ics-map .seat::after{
    display:none !important;
  }
  .ics-map .seat.seat-pc{
    border-color:#bfdbfe !important;
    background:#eff6ff !important;
  }
  .ics-map .seat.seat-standard{
    border-color:#bbf7d0 !important;
    background:#f0fdf4 !important;
  }
  .ics-map .seat.is-unavailable{
    border-color:#fecaca !important;
    background:#fef2f2 !important;
    opacity:.75 !important;
  }
  .ics-map .seat.selected{
    border-color:#111827 !important;
    background:#111827 !important;
  }
  .ics-map .seat.selected > span,
  .ics-map .seat.selected > small{
    color:#fff !important;
  }

  .ics-status,
  .ics-price-note{
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .ics-space-card{
    min-height:76px !important;
    padding:12px 14px !important;
  }
  .ics-space-title{
    font-size:14px !important;
  }
  .ics-space-meta{
    font-size:11px !important;
  }
  .ics-space-pilot-badge{
    font-size:10px !important;
    padding:3px 7px !important;
  }
}


/* v8.3.2.0 steps/tabs */
.ics-steps-shell{display:block}
.ics-steps-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 16px;
}
.ics-step-pill{
  appearance:none;
  border:1px solid #dbe3ee;
  background:#fff;
  color:#0f172a;
  border-radius:999px;
  padding:10px 14px;
  font-weight:700;
  cursor:default;
}
.ics-step-pill.is-active{
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.ics-step-pill.is-disabled{
  opacity:.55;
}
.ics-step-panel{display:none}
.ics-step-panel.is-active{display:block}
.ics-step-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:16px;
}
.ics-next-step,
.ics-prev-step,
.ics-go-checkout{
  appearance:none;
  border:0;
  border-radius:12px;
  padding:12px 16px;
  font-weight:700;
  cursor:pointer;
}
.ics-next-step,
.ics-go-checkout{
  background:#111827;
  color:#fff;
}
.ics-prev-step{
  background:#f3f4f6;
  color:#111827;
}
.ics-next-step.is-disabled,
.ics-next-step:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.ics-combos-placeholder{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.ics-combo-card{
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:18px;
  font-weight:800;
  color:#0f172a;
  background:#fff;
}
.ics-combo-card span{
  display:block;
  margin-top:8px;
  font-size:13px;
  font-weight:600;
  color:#64748b;
}
.ics-summary-box{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:16px;
}
.ics-summary-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid #f1f5f9;
}
.ics-summary-row:last-child{border-bottom:0}
.ics-summary-note{
  margin-top:12px;
  font-size:13px;
  color:#64748b;
}
@media (max-width:767px){
  .ics-steps-nav{gap:8px}
  .ics-step-pill{
    padding:9px 12px;
    font-size:13px;
  }
  .ics-combos-placeholder{
    grid-template-columns:1fr;
  }
  .ics-step-actions{
    flex-direction:column;
  }
  .ics-next-step,
  .ics-prev-step,
  .ics-go-checkout{
    width:100%;
  }
}


/* v8.3.2.2 UX limpio */
.ics-step-actions{
  align-items:center;
}
.ics-go-checkout{
  min-width:260px;
}
.ics-summary-note{
  font-style:normal;
}
@media (max-width:767px){
  .ics-go-checkout{
    min-width:0;
  }
}


/* v8.3.2.5 checkout visibility + Inikai green */
.ics-checkout-hidden{
  display:none !important;
}
.ics-checkout-visible{
  display:inline-block !important;
}
.quantity.ics-checkout-visible{
  display:inline-flex !important;
}
.ics-go-checkout,
button.single_add_to_cart_button,
.ics-next-step{
  background:#2F4F4F !important;
  color:#fff !important;
  border-color:#2F4F4F !important;
}
.ics-go-checkout:hover,
button.single_add_to_cart_button:hover,
.ics-next-step:hover{
  opacity:.94;
}


/* v8.3.2.6 one real final CTA */
.single_add_to_cart_button.ics-native-submit-hidden,
.quantity.ics-native-submit-hidden{
  display:none !important;
}
