/* Panel de administración — reutiliza tokens de styles.css + booking.css */
body{background:var(--bg-cream)}
.adm-login{max-width:380px;margin:12vh auto;background:var(--cream-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow)}
.adm-login img{height:60px;display:block;margin:0 auto 1rem}
.adm-login h1{font-size:1.3rem;text-align:center;margin-bottom:1.2rem}

.adm-top{background:var(--brown-dark);color:#fff;position:sticky;top:0;z-index:20}
.adm-top__in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem 4vw;gap:1rem}
.adm-top img{height:38px}
.adm-user{font-size:.85rem;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:.8rem}
.adm-user button{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:100px;padding:.35rem .9rem;cursor:pointer;font-size:.85rem}

.adm-tabs{display:flex;gap:.3rem;max-width:1200px;margin:1.2rem auto 0;padding:0 4vw;flex-wrap:wrap}
.adm-tab{background:none;border:none;padding:.6rem 1.1rem;border-radius:10px 10px 0 0;cursor:pointer;font:inherit;font-weight:600;color:var(--ink-soft)}
.adm-tab.is-active{background:var(--cream-card);color:var(--brown-dark);box-shadow:var(--shadow-sm)}

.adm-main{max-width:1200px;margin:0 auto;padding:1.2rem 4vw 4rem}
.adm-card{background:var(--cream-card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow-sm);margin-bottom:1.2rem}

.adm-filters{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.adm-filters button{border:1px solid var(--line);background:#fff;border-radius:100px;padding:.35rem .9rem;cursor:pointer;font-size:.85rem}
.adm-filters button.is-active{background:var(--brown-dark);color:#fff;border-color:var(--brown-dark)}

.adm-table{width:100%;border-collapse:collapse;font-size:.9rem}
.adm-table th{text-align:left;color:var(--ink-soft);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.5rem;border-bottom:2px solid var(--line)}
.adm-table td{padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
.adm-table tr:hover td{background:#fffaf0}
.adm-actions{display:flex;gap:.35rem;flex-wrap:wrap}
.adm-btn{border:none;border-radius:8px;padding:.4rem .7rem;cursor:pointer;font-size:.8rem;font-weight:600}
.adm-btn--ok{background:#3fa535;color:#fff}
.adm-btn--no{background:#e0d3bb;color:#5a4a37}
.adm-btn--view{background:var(--ochre);color:#fff}
.adm-btn:disabled{opacity:.5;cursor:not-allowed}

.adm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media (max-width:820px){ .adm-grid2{grid-template-columns:1fr} }
/* ---- Calendario de disponibilidad (cuadrantes: 1 cabaña por cuadrante) ---- */
.acal{max-width:520px;margin:0 auto}
.acal .cal__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.acal .cal__nav button{background:var(--bg-cream);border:1px solid var(--line);width:38px;height:38px;border-radius:10px;cursor:pointer;font-size:1.2rem;color:var(--brown-dark)}
.acal .cal__month{font-weight:700;font-family:var(--font-head);text-transform:capitalize}
.acal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.acal__dows{margin-bottom:3px}
.acal .cal__dow{text-align:center;font-size:.68rem;color:var(--ink-soft);text-transform:uppercase;padding:.15rem 0}
.acal__day{position:relative;aspect-ratio:1;border:none;padding:0;border-radius:9px;overflow:hidden;cursor:pointer;background:#ece3d2;-webkit-tap-highlight-color:transparent;transition:transform .08s}
.acal__day:active{transform:scale(.92)}
.acal__day.is-empty{background:transparent;cursor:default;pointer-events:none}
.acal__day.is-today{outline:2.5px solid var(--ochre);outline-offset:-2px}
.acal__quads{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--acols,2),1fr);grid-auto-rows:1fr}
.acal__quads i{display:block;position:relative}
.acal__num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.acal__num span{min-width:1.5em;height:1.5em;padding:0 .12em;display:flex;align-items:center;justify-content:center;background:rgba(255,253,248,.86);border-radius:50%;font-size:.74rem;font-weight:700;color:var(--brown-dark);box-shadow:0 1px 2px rgba(0,0,0,.15)}
/* punto de pérgola: dentro del cuadrante de la cabaña que la reservó, en su esquina exterior */
.acal__pdot{position:absolute;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 1.7px rgba(255,253,248,.95),0 0 0 2.7px rgba(67,48,30,.32)}
.acal__quads i:nth-child(1) .acal__pdot{top:2px;left:2px}
.acal__quads i:nth-child(2) .acal__pdot{top:2px;right:2px}
.acal__quads i:nth-child(3) .acal__pdot{bottom:2px;left:2px}
.acal__quads i:nth-child(4) .acal__pdot{bottom:2px;right:2px}
.acal__quads i:nth-child(n+5) .acal__pdot{top:2px;right:2px}
.q--free{background:#22C24C}
.q--confirmed{background:#F5271A}
.q--pending{background:#FFD91F}
.q--blocked{background:#DDDCD7}
.acal-legend{display:flex;gap:.85rem;flex-wrap:wrap;font-size:.75rem;color:var(--ink-soft);margin-top:.9rem;justify-content:center}
.acal-legend i{width:13px;height:13px;border-radius:3px;display:inline-block;margin-right:.35em;vertical-align:middle}
.acal-legend__dot{border-radius:50%!important;background:#F5271A;width:9px;height:9px;box-shadow:0 0 0 1.5px rgba(255,253,248,.9),0 0 0 2.3px rgba(67,48,30,.3)}
.acal-poskey{display:flex;flex-wrap:wrap;gap:.45rem .9rem;justify-content:center;margin-top:.7rem;font-size:.78rem;color:var(--ink-soft)}
.acal-poskey b{display:inline-flex;width:1.5em;height:1.5em;align-items:center;justify-content:center;background:var(--brown-dark);color:#fff;border-radius:6px;font-size:.72rem;margin-right:.35em}

/* ---- Hoja de detalle del día (bottom sheet en móvil, modal en desktop) ---- */
.dsheet__ov{position:fixed;inset:0;background:rgba(43,48,30,.5);z-index:40;animation:dsFade .16s ease}
.dsheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--cream-card);border-radius:22px 22px 0 0;padding:.7rem 1.2rem 1.8rem;box-shadow:0 -10px 34px rgba(0,0,0,.28);max-width:520px;margin:0 auto;animation:dsUp .24s cubic-bezier(.2,.85,.25,1)}
@keyframes dsUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes dsFade{from{opacity:0}to{opacity:1}}
.dsheet__grab{width:42px;height:4px;border-radius:99px;background:var(--line);margin:.3rem auto .7rem}
.dsheet__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.dsheet__head h4{margin:0;text-transform:capitalize;font-size:1.02rem}
.dsheet__x{background:none;border:none;font-size:1.05rem;cursor:pointer;color:var(--ink-soft);padding:.2rem .4rem}
.dsheet__row{display:flex;align-items:center;gap:.6rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.dsheet__row:last-child{border-bottom:none}
.dsheet__res{flex:0 0 auto;min-width:92px;font-size:.88rem;font-weight:600;color:var(--brown-dark)}
.dsheet__res b{display:inline-flex;width:1.5em;height:1.5em;align-items:center;justify-content:center;background:var(--brown-dark);color:#fff;border-radius:6px;font-size:.7rem;margin-right:.4em;font-weight:700}
.dsheet__info{flex:1;font-size:.82rem;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .4rem;color:var(--ink-soft)}
.dsheet__st{display:inline-block;padding:.14rem .55rem;border-radius:99px;font-size:.74rem;font-weight:700;color:var(--brown-dark)}
.dsheet__st.q--confirmed{color:#fff}
.dsheet__st.q--free{color:#0a4a1e}
.dsheet__st.q--pending{color:#6b4e00}
.dsheet__st.q--blocked{color:#4a4a45}
.dsheet__act{flex:0 0 auto}
@media (min-width:600px){
  .dsheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:16px;width:min(480px,92vw);animation:dsPop .18s ease}
  @keyframes dsPop{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
  .dsheet__grab{display:none}
}
@media (max-width:560px){ .adm-main{padding:1rem 3vw 4rem} .adm-card{padding:1rem} }

.block-list{list-style:none;margin:.6rem 0 0;padding:0;font-size:.85rem}
.block-list li{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--line)}
.block-list button{background:none;border:none;color:#a8502e;cursor:pointer;font-weight:600}

.adm-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--ink-soft);margin-top:.6rem}
.adm-legend i{width:12px;height:12px;border-radius:3px;display:inline-block;margin-right:.3em;vertical-align:middle}

.cabin-edit{border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:.8rem}
.cabin-edit h4{margin-bottom:.6rem}
.mini{font-size:.8rem;color:var(--ink-soft)}
