/* assets/css/reservations.css */
.rs-page{ max-width:1200px; margin:0 auto; padding:110px 16px 90px; }

.rs-hero{ display:grid; grid-template-columns:1.2fr .8fr; gap:14px; margin-bottom:14px; }
.rs-kicker{ display:inline-flex; padding:6px 10px; border-radius:999px; font-size:12px; opacity:.85; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.rs-title{ margin:10px 0 6px; font-size:26px; }
.rs-sub{ margin:0; opacity:.85; line-height:1.7; }

.rs-hero__right{ display:flex; flex-direction:column; gap:10px; }
.rs-profile{ display:flex; align-items:center; gap:10px; padding:12px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.rs-avatar{ width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.6px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14); }
.rs-name{ font-weight:900; }
.rs-role{ opacity:.8; font-size:12px; margin-top:2px; }
.rs-meta{ display:flex; flex-direction:column; gap:8px; }
.rs-chip{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); font-size:12px; }
.rs-chip.subtle{ opacity:.75; }

.dot{ width:8px;height:8px;border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.12); }

.rs-card{ border-radius:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); overflow:hidden; }
.rs-toolbar{
  position: sticky; top: 74px; z-index:10;
  background: rgba(15,15,18,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: 12px;
}
.rs-toolbar__row{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.rs-spacer{ flex:1; }

.rs-list{ padding:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }

.rs-company{
  border-radius:16px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
  padding:14px;
  cursor:pointer;
  transition:.2s;
}
.rs-company:hover{ border-color: rgba(255,255,255,.18); transform: translateY(-2px); }

.rs-company__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.rs-company__name{ font-weight:900; line-height:1.3; }

.rs-company__actions{ display:flex; gap:8px; align-items:center; }
.rs-iconbtn{
  width:34px; height:34px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  cursor:pointer;
}
.rs-iconbtn.danger{
  border-color: rgba(239,68,68,.25);
  background: rgba(239,68,68,.10);
}
.rs-iconbtn:hover{ border-color: rgba(255,255,255,.18); }

.rs-company__meta{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
.rs-pill{ padding:6px 10px; border-radius:999px; font-size:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); opacity:.95; }

.rs-empty,.rs-loading{ padding:16px; text-align:center; opacity:.75; border-top:1px solid rgba(255,255,255,.08); }

/* ===== Modal (shared) ===== */
.wm-modal{ position:fixed; inset:0; z-index:999; display:none; }
.wm-modal[aria-hidden="false"]{ display:block; }
.wm-modal__backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.55); }
.wm-modal__panel{
  position:relative;
  width:min(720px, calc(100vw - 24px));
  margin: 70px auto 24px;
  border-radius: 18px;
  background: rgba(20,20,25,.94);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  overflow:hidden;
  max-height: calc(100vh - 110px);
  display:flex;
  flex-direction:column;
}
.wm-modal__head{
  padding:14px 14px 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
}
.wm-modal__title{ font-weight:900; }
.wm-modal__sub{ opacity:.8; font-size:12px; margin-top:4px; }
.wm-modal__body{ padding:12px 14px 14px; overflow:auto; -webkit-overflow-scrolling:touch; flex:1 1 auto; }
.wm-modal__foot{ padding:12px 14px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:flex-end; gap:10px; flex:0 0 auto; }

@media (max-width:900px){
  .rs-hero{ grid-template-columns:1fr; }
  .rs-list{ grid-template-columns:1fr; }
  .rs-toolbar{ top:64px; }
}

.rs-list
{margin-top: 70px;}
