/* ————————————————————————————————————————————————
   LA TORRE BLAI — panel de gestión
   Se carga DESPUÉS de estilos.css y reutiliza sus variables.
   1. Estructura
   2. Cabecera del panel
   3. Tarjetas y KPIs
   4. Canales y calculadora
   5. Tabla de reservas
   6. Secuencia del huésped
   7. Responsive
   ———————————————————————————————————————————————— */

/* 1. Estructura */
body.panel{background:var(--papel)}
.p-main{padding:104px 0 80px}
.p-main section{padding:0 0 clamp(44px,5vw,68px)}
.p-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;flex-wrap:wrap}
.p-head h2{font-size:clamp(1.4rem,2.4vw,1.85rem)}
.p-head p{font-size:0.86rem;color:var(--gris);margin-top:5px}
.tag{font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--turron);border:1px solid rgba(184,118,60,0.4);padding:5px 11px;border-radius:99px;white-space:nowrap}

/* 2. Cabecera del panel */
.p-bar{
  position:fixed;top:0;left:0;width:100%;z-index:90;background:var(--azul);color:var(--cal);
  padding:14px 0;box-shadow:0 1px 0 rgba(0,0,0,0.08);
}
.p-bar .nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.p-bar .brand{color:var(--cal)}
.p-bar .lang{border-color:rgba(247,243,236,0.35)}
.p-bar .lang button{color:var(--cal)}
.p-bar .lang button.on{background:var(--cal);color:var(--azul)}
.p-back{font-size:0.83rem;color:rgba(247,243,236,0.82);display:inline-flex;align-items:center;gap:8px}
.p-back:hover{color:var(--cal)}
.p-bar .nav-side{gap:18px}

/* 3. Tarjetas y KPIs */
.card{background:var(--cal);border:1px solid var(--linea);border-radius:var(--r);padding:26px 26px 28px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{background:var(--cal);border:1px solid var(--linea);border-radius:var(--r);padding:22px 22px 24px}
.kpi>span{display:block;font-size:0.69rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gris);margin-bottom:12px}
.kpi b{display:block;font-family:'Fraunces',serif;font-size:2.15rem;line-height:1;color:var(--azul)}
.kpi i{display:block;font-style:normal;font-size:0.78rem;color:var(--gris);margin-top:8px}
.kpi.acc b{color:var(--turron)}
.up{color:var(--oliva);font-weight:500}

/* 4. Canales y calculadora */
.dos{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:start}
.canal{margin-top:22px}
.canal+.canal{margin-top:18px}
.canal .lbl{display:flex;justify-content:space-between;font-size:0.85rem;margin-bottom:7px}
.canal .lbl b{font-weight:500}
.canal .lbl span{color:var(--gris)}
.barra{height:9px;background:var(--cal-2);border-radius:99px;overflow:hidden}
.barra i{display:block;height:100%;border-radius:99px;transition:width .8s cubic-bezier(.16,.84,.44,1)}
.b-booking i{background:var(--azul)}
.b-airbnb i{background:var(--turron)}
.b-otros i{background:var(--gris-2)}
.b-directo i{background:var(--oliva)}
.canal-note{margin-top:26px;padding-top:20px;border-top:1px solid var(--linea-2);font-size:0.85rem;color:var(--gris)}

.calc .fila{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:6px}
.calc label{font-size:0.85rem;color:var(--tinta-2)}
.calc output{font-family:'Fraunces',serif;font-size:1.05rem;color:var(--azul);min-width:80px;text-align:right}
.calc input[type=range]{
  width:100%;-webkit-appearance:none;appearance:none;height:3px;border-radius:99px;
  background:var(--piedra);margin:0 0 20px;cursor:pointer;
}
.calc input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:17px;height:17px;border-radius:50%;
  background:var(--azul);border:3px solid var(--cal);box-shadow:0 1px 5px rgba(0,0,0,.2);
}
.calc input[type=range]::-moz-range-thumb{
  width:14px;height:14px;border-radius:50%;background:var(--azul);border:3px solid var(--cal);
}
.calc-out{margin-top:8px;background:var(--azul);color:var(--cal);border-radius:var(--r);padding:26px 26px 28px;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.calc-out div span{display:block;font-size:0.69rem;letter-spacing:0.14em;text-transform:uppercase;opacity:.7;margin-bottom:9px}
.calc-out div b{font-family:'Fraunces',serif;font-size:1.95rem;line-height:1;display:block}
.calc-out div i{font-style:normal;font-size:0.78rem;opacity:.7;display:block;margin-top:7px}

/* 5. Tabla de reservas */
.tabla{width:100%;border-collapse:collapse;font-size:0.87rem}
.tabla th{
  text-align:left;font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gris);
  font-weight:500;padding:0 14px 12px;border-bottom:1px solid var(--linea);
}
.tabla td{padding:14px;border-bottom:1px solid var(--linea-2);vertical-align:middle}
.tabla tr:last-child td{border-bottom:0}
.tabla tbody tr{transition:background .2s}
.tabla tbody tr:hover{background:var(--papel)}
.who b{font-weight:500;display:block}
.who span{font-size:0.78rem;color:var(--gris)}
.pill{font-size:0.7rem;letter-spacing:0.05em;padding:4px 10px;border-radius:99px;white-space:nowrap;display:inline-block}
.pill.directo{background:rgba(110,118,88,0.15);color:#4F5640}
.pill.booking{background:rgba(31,74,102,0.12);color:var(--azul)}
.pill.airbnb{background:rgba(184,118,60,0.14);color:#965C2B}
.est{font-size:0.8rem;color:var(--gris);display:flex;align-items:center;gap:7px}
.est::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--oliva);flex:none}
.est.pend::before{background:var(--turron)}
.tabla-wrap{overflow-x:auto}

/* 6. Secuencia del huésped */
.seq{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.paso{
  background:var(--cal);border:1px solid var(--linea);border-radius:var(--r);padding:20px 18px 22px;
  cursor:pointer;text-align:left;transition:border-color .3s,transform .3s,box-shadow .3s;position:relative;
}
.paso:hover{transform:translateY(-3px);box-shadow:var(--sombra-s)}
.paso.on{border-color:var(--azul);box-shadow:var(--sombra-s)}
.paso.on::after{content:'';position:absolute;left:0;top:0;width:100%;height:2px;background:var(--azul);border-radius:var(--r) var(--r) 0 0}
.paso em{font-style:normal;display:block;font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--turron);margin-bottom:9px}
.paso b{display:block;font-family:'Fraunces',serif;font-size:1.05rem;font-weight:400;margin-bottom:5px}
.paso span{font-size:0.79rem;color:var(--gris);line-height:1.5}
.msg-zona{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.tel{
  background:#0E1B15;border-radius:22px;padding:14px;max-width:380px;width:100%;
  box-shadow:var(--sombra);border:5px solid #07100C;
}
.tel-top{display:flex;align-items:center;gap:10px;padding:4px 4px 12px;border-bottom:1px solid rgba(255,255,255,0.08)}
.tel-av{width:32px;height:32px;border-radius:50%;background:var(--turron);color:#fff;display:grid;place-items:center;font-size:0.8rem;flex:none}
.tel-top b{color:#EDEDED;font-size:0.85rem;font-weight:500;display:block}
.tel-top span{color:rgba(255,255,255,0.45);font-size:0.7rem}
.burbuja{
  background:#1F3B2E;color:#F0F2EF;border-radius:10px 10px 10px 2px;padding:13px 15px;margin-top:14px;
  font-size:0.86rem;line-height:1.6;white-space:pre-line;
}
.burbuja .hora{display:block;text-align:right;font-size:0.66rem;color:rgba(255,255,255,0.4);margin-top:7px}
.msg-info h3{font-size:1.25rem;margin-bottom:12px}
.msg-info p{font-size:0.9rem;color:var(--gris)}
.msg-info ul{list-style:none;margin-top:18px}
.msg-info li{position:relative;padding-left:22px;font-size:0.88rem;color:var(--tinta-2);margin-bottom:10px}
.msg-info li::before{content:'';position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--turron)}

.p-foot{border-top:1px solid var(--linea);margin-top:20px;padding-top:26px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:0.78rem;color:var(--gris-2)}

/* 7. Responsive */
@media (max-width:1000px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .dos{grid-template-columns:1fr}
  .seq{grid-template-columns:repeat(2,1fr)}
  .msg-zona{grid-template-columns:1fr}
  .tel{max-width:100%}
}
@media (max-width:560px){
  .kpis{grid-template-columns:1fr}
  .seq{grid-template-columns:1fr}
  .calc-out{grid-template-columns:1fr}
  .p-main{padding-top:92px}
}
