/* Halebee scheduler UI (booking, manage, admin pages) */
.hb-picker{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:2rem;margin:1.5rem 0}
@media(max-width:640px){.hb-picker{grid-template-columns:1fr}}
.hb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.hb-cal-label{font-family:var(--font-display);color:var(--forest)}
.hb-nav{background:var(--cream-2);border:1.5px solid var(--line);border-radius:8px;width:2.2rem;height:2.2rem;font-size:1.2rem;cursor:pointer}
.hb-nav:hover{border-color:var(--honey)}
.hb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.hb-dow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:center;padding:.3rem 0}
.hb-day{aspect-ratio:1;border:1.5px solid transparent;background:none;border-radius:50%;font-family:var(--font-body);font-size:.95rem;color:#9aa59c;cursor:default}
.hb-day.open{background:var(--pollen);color:var(--ink);font-weight:700;cursor:pointer}
.hb-day.open:hover{background:var(--pollen-bright)}
.hb-day.selected{background:var(--honey);border-color:var(--forest)}
.hb-slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:.5rem}
.hb-slot{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .5rem;font-family:var(--font-body);font-weight:700;font-size:.9rem;color:var(--forest);cursor:pointer}
.hb-slot:hover{border-color:var(--honey);background:var(--pollen)}
.hb-slot.selected{background:var(--honey);border-color:var(--forest);color:var(--btn-text)}
.hb-day-heading{margin:0 0 .75rem;font-size:1.05rem}
.hb-tz{font-size:.85rem;color:var(--ink-soft)}
.hb-hint,.hb-loading{color:var(--ink-soft)}
.hb-error{color:#B4232C}
.hb-form{max-width:30rem;margin-top:1rem;display:grid;gap:.9rem}
.hb-form label{font-weight:700;font-size:.9rem;display:block;margin-bottom:.25rem}
.hb-form input,.hb-form textarea,.hb-form select{width:100%;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:1rem;background:#fff}
.hb-form input:focus,.hb-form textarea:focus{outline:2px solid var(--honey);border-color:var(--honey)}
.hb-btn{display:inline-block;background:var(--honey);color:var(--btn-text);border:none;border-radius:999px;padding:.75rem 1.6rem;font-family:var(--font-body);font-weight:700;font-size:1rem;cursor:pointer;text-decoration:none}
.hb-btn:hover{background:var(--honey-hover)}
.hb-btn:disabled{opacity:.5;cursor:not-allowed}
.hb-btn-quiet{display:inline-block;background:var(--cream-2);color:var(--ink);border:1.5px solid var(--line);border-radius:999px;padding:.7rem 1.4rem;font-weight:700;font-size:.95rem;cursor:pointer;text-decoration:none}
.hb-btn-danger{display:inline-block;background:#fff;color:#B4232C;border:1.5px solid #B4232C;border-radius:999px;padding:.7rem 1.4rem;font-weight:700;font-size:.95rem;cursor:pointer}
.hb-selected-slot{background:var(--cream-2);border:1.5px solid var(--line);border-radius:10px;padding:.8rem 1rem;font-weight:700}
.hb-msg{padding:.8rem 1rem;border-radius:10px;margin:.75rem 0}
.hb-msg.err{background:#FBEAEA;border:1px solid #E5B4B7;color:#7C1D23}
.hb-msg.ok{background:#E7F7EC;border:1px solid #A9E3BC;color:#14532D}
.hb-seats{display:inline-block;background:var(--pollen);color:var(--ink);border-radius:999px;padding:.15rem .7rem;font-size:.8rem;font-weight:700}
.hb-seats.full{background:#EEE;color:#777}
.hb-admin-section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.hb-table{width:100%;border-collapse:collapse;font-size:.92rem}
.hb-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding:.5rem .6rem;border-bottom:2px solid var(--line)}
.hb-table td{padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.hb-days-row{display:flex;gap:.4rem;flex-wrap:wrap}
.hb-days-row label{display:inline-flex;align-items:center;gap:.3rem;border:1.5px solid var(--line);border-radius:999px;padding:.3rem .7rem;font-size:.85rem;font-weight:600;cursor:pointer}
.hb-days-row input{accent-color:var(--honey)}
.hb-inline{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:520px){.hb-inline{grid-template-columns:1fr}}
