/* ===== Base ===== */
.litb{
  --b:#e5e7eb;
  --t:#0f172a;
  --m:#64748b;
  --a:#2563eb;

  --past:#f1f5f9;
  --weekend:#fff7ed;
  --noslots:#fef2f2;
  --hasslots:#f0fdf4;

  width:100%;
  font:14px/1.35 system-ui, -apple-system, sans-serif;
  color:var(--t);
}

.litb *{ box-sizing:border-box }

/* ===== Header ===== */
.litb-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}

/* actions */
.litb-actions{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
}
.litb-actions-list{
  display:flex;
  gap:6px;
  align-items:center;
}
.litb-actions-inline{
  display:flex;
  gap:6px;
}

/* hamburger (mobile only) */
.litb-hamburger{
  display:none;
  width:32px;
  height:32px;
  border:1px solid var(--b);
  background:#fff;
  border-radius:6px;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

.litb-menu{
  position:absolute;
  top:36px;
  left:0;
  background:#fff;
  border:1px solid var(--b);
  border-radius:8px;
  padding:4px;
  min-width:200px;
  z-index:10;
}

.litb-menu button{
  width:100%;
  padding:6px 8px;
  border:0;
  background:none;
  text-align:left;
  border-radius:6px;
  cursor:pointer;
}

.litb-menu button:hover{
  background:#f8fafc;
}

/* nav */
.litb-nav{
  display:flex;
  align-items:center;
  gap:6px;
}

.litb-nav button,
.litb-nav select,
.litb-btn{
  padding:5px 8px;
  border:1px solid var(--b);
  background:#fff;
  border-radius:6px;
  cursor:pointer;
}

.litb-btn--pri{
  border-color:rgba(37,99,235,.35);
  background:rgba(37,99,235,.06);
}

.litb-nav select{
  appearance:none;
  padding-right:22px;
}

/* ===== Table ===== */
.litb-table{
  width:100%;
  border-collapse:separate;
  border-spacing:4px; /* компактный отступ между ячейками */
}

.litb-table thead th{
  font-weight:600;
  color:var(--m);
  text-align:center;
  padding:4px 2px;
  font-size:13px;
}

.litb-table thead th.we{
  color:#ef4444;
}

.litb-table td{
  padding:0;
}

/* ===== Day cell ===== */
.litb-day{
  width:100%;
  height:40px;
  border:1px solid var(--b);
  border-radius:6px; /* маленький радиус */
  background:#fff;
  cursor:pointer;
  font-weight:600;
  font-size:14px;
}

.litb-day:hover{
  border-color:#cbd5e1;
}

.litb-day.is-selected{
  outline:2px solid var(--a);
  outline-offset:-2px;
}

.litb-day.is-past{
  background:var(--past);
  color:#64748b;
}

.litb-day.is-weekend{
  background:var(--weekend);
}

.litb-day.is-noslots{
  background:var(--noslots);
}

.litb-day.is-hasslots{
  background:var(--hasslots);
}

.litb-day.is-other{
  opacity:.45;
}

.litb-day:disabled{
  opacity:.5;
  cursor:not-allowed;
}

/* ===== Panel ===== */
.litb-panel{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--b);
}

.litb-panel-title{
  font-weight:700;
  margin-bottom:4px;
}

.litb-hint{
  font-size:13px;
  color:var(--m);
}

/* ===== Mobile ===== */
@media (max-width:720px){
  .litb-actions-inline{ display:none; }
  .litb-hamburger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .litb-actions-list{
    position:absolute;
    top:36px;
    left:0;
    min-width:220px;

    display:block;            /* вместо inline */
    padding:4px;
    background:#fff;
    border:1px solid var(--b);
    border-radius:8px;
    z-index:10;
  }

  .litb-actions-list.is-hidden{ display:none; }

  .litb-actions-list .litb-btn{
    width:100%;
    height:auto;
    padding:8px 10px;
    border:0;
    text-align:left;
    border-radius:6px;
  }

  .litb-actions-list .litb-btn:hover{
    background:#f8fafc;
  }
}
