/* ══ R17 · MODO ALQUILER — superficie propia ═══════════════════════════════
   Spec: docs/superpowers/specs/2026-07-30-alquiler-preparar-design.md

   POR QUÉ ESTA HOJA EXISTE: hasta 2026-07-30 el Modo Alquiler apagaba el
   andamiaje de eventos recorriendo [...sidebar.children] y escribiendo
   style.display='none', guardando el valor previo en dataset.alquilerHidden.
   El bloque de info del cliente es uno de esos hijos → en un alquiler nuevo
   NO SE PODÍA ESCRIBIR EL NOMBRE DEL CLIENTE. Con la clase, quién oculta qué
   se lee en un solo sitio y no depende de restaurar estilos inline.

   Va la ÚLTIMA del bloque <link>. Guardián: tests/unit/link-order.test.js
   ═════════════════════════════════════════════════════════════════════════ */

/* ── ① Alquiler: apaga lo que es de EVENTO, deja la info del cliente ── */
body.bbp-alquiler #ws-panel-evento .overheads-details,
body.bbp-alquiler #condiciones-section,
body.bbp-alquiler #evento-pax-horas-slot{ display:none !important; }

/* `.ws-next` NO se oculta: en modo guía es la única afordancia de avance de
   ① aparte del stepper, y esconderla dejaba al empleado nuevo sin salida
   (regla 13). Se RE-ROTULA desde ext-alquiler.js::setPanelEventoLabels, como
   el resto de los rótulos del panel. (En la carcasa por defecto de 2
   superficies la oculta styles.css con `body.bbp-expert`, igual que en un
   evento — ahí ① y ② se ven juntos y no hay nada que avanzar.) */

/* La fecha fin DERIVA los días facturables de un alquiler: en evento va
   oculta con el atributo [hidden] (que NO se toca — results.js:204 y
   supabase.js:907 leen el campo sin `?.`), aquí se muestra. */
body.bbp-alquiler #fecha-fin-row{ display:block !important; }

/* ── ② Material: los días del evento no existen en un alquiler ── */
body.bbp-alquiler #dias-section,
body.bbp-alquiler #ws-panel-dias > .btn-gold{ display:none !important; }

/* ── Pestañas de «Proponer» que no aplican a un alquiler ──
   Sustituye a hideNonRentalTabs(), cuya lista ('compras'/'checklist'/
   'dashboard') había caducado: 'checklist' ya no existe y Logística se colaba.

   Cliente vuelve a la lista de ocultas (revertido 2026-07-31, spec
   portal-factura). Se había destapado para previsualizar la proforma antes de
   publicarla, pero `ext-review-client.js::renderPreview` solo sabe construir
   un view de EVENTO (`buildClientView(ultCalc,…)`) — en un alquiler devuelve
   null y sale el estado vacío «Calcula primero el presupuesto», un consejo
   que el operador de alquiler no puede seguir (no existe el botón «Calcular»;
   el precio se deriva en vivo). El módulo que SÍ sabe pintar la proforma de
   alquiler (`js/portal-alq2.js`) es el frontend CONGELADO del portal público
   y no está cargado en `index.html`: cargarlo aquí ataría la app a una
   versión que por diseño no vuelve a tocarse nunca. Regla 13: un affordance
   que lleva a un callejón sin salida es peor que no tenerlo. El operador no
   pierde nada — «Link cliente» ya abre la proforma real. Una previsualización
   DENTRO de la app queda pendiente de su propio spec. */
body.bbp-alquiler .tab-btn[data-tab="compras"],
body.bbp-alquiler .tab-btn[data-tab="logistica"],
body.bbp-alquiler .tab-btn[data-tab="dashboard"],
body.bbp-alquiler .tab-btn[data-tab="cliente"]{ display:none !important; }

/* ── Formulario rápido (spec 2026-09-15): chips que derivan fechas y franjas,
   y tres pliegues (a mano · fiscales · ajustes). Los chips son <button>
   aria-pressed dentro de un role="radiogroup"; el lock los anula con el
   pointer-events:none que body.bbp-locked ya pone sobre .main. ── */
body.bbp-alquiler .alq-chip-l{font-size:11px;color:var(--text2);margin:6px 0 3px;font-weight:500;letter-spacing:.04em}
body.bbp-alquiler .alq-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
body.bbp-alquiler .alq-chip{
  font-family:var(--sans);font-size:11.5px;line-height:1;padding:6px 9px;
  background:var(--bg);border:1px solid var(--border);color:var(--text2);
  border-radius:var(--r);cursor:pointer;user-select:none;
  transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);
}
body.bbp-alquiler .alq-chip[aria-pressed="true"]{border-color:var(--gold);color:var(--gold2);background:var(--bg3)}
body.bbp-alquiler .alq-chip:active{transform:scale(.96)}
body.bbp-alquiler .alq-chip:disabled{opacity:.45;cursor:not-allowed}
@media (hover:hover){
  body.bbp-alquiler .alq-chip:hover:not([aria-pressed="true"]):not(:disabled){border-color:var(--gold-mid);color:var(--text);transform:translateY(-1px)}
}
body.bbp-alquiler .alq-quick-sum{font-size:11px;color:var(--text3);margin:2px 0 10px}
body.bbp-alquiler details.alq-fold{margin:10px 0 6px}
body.bbp-alquiler details.alq-fold>summary{
  cursor:pointer;list-style:none;user-select:none;display:flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:10px;font-weight:500;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;
}
body.bbp-alquiler details.alq-fold>summary::-webkit-details-marker{display:none}
body.bbp-alquiler details.alq-fold>summary::before{content:"▸";display:inline-block;color:var(--gold);font-size:12px;transition:transform var(--dur-fast) var(--ease-out)}
body.bbp-alquiler details.alq-fold[open]>summary::before{transform:rotate(90deg)}
body.bbp-alquiler details.alq-fold>summary .alq-fold-sum{color:var(--text3);letter-spacing:0;text-transform:none;font-size:11px;font-weight:400}
