.tnb-admin-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:22px 0 12px}
.tnb-admin-toolbar h2{margin:0;text-align:center;font-size:24px}
.tnb-admin-toolbar form{text-align:right}
.tnb-admin-actions{margin:14px 0}
.tnb-admin-actions .tnb-day-off-button{border-color:#6d7480;background:#f0f1f3;color:#3e4650}
.tnb-master-wrap{overflow:auto;border:1px solid #ccd0d4;background:#fff}
.tnb-master{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}
.tnb-master th,.tnb-master td{border:1px solid #e1e4e7}
.tnb-master thead th{position:sticky;top:32px;z-index:3;padding:12px;background:#263238;color:#fff;text-align:center}
.tnb-master thead th:first-child{width:82px}
.tnb-master tbody th{position:sticky;left:0;z-index:2;padding:8px;background:#f6f7f7;font-size:11px;white-space:nowrap}
.tnb-master td{height:46px;padding:3px;vertical-align:top}
.tnb-cell-open button{width:100%;height:100%;border:1px dashed #c7d5cf;background:#f7fcfa;color:#497363;cursor:pointer;opacity:.55}
.tnb-cell-open button:hover{border-color:#1f8f68;background:#e8f7f1;opacity:1}
.tnb-cell-off{background:#eceff1;color:#9aa0a4;text-align:center;vertical-align:middle!important;font-size:11px}
.tnb-cell-booked{padding:3px!important}
.tnb-appointment{width:100%;height:100%;min-height:42px;padding:8px;border:0;border-left:5px solid #bd6252;border-radius:3px;background:#f8e8e4;text-align:left;cursor:pointer}
.tnb-appointment strong,.tnb-appointment span,.tnb-appointment small{display:block}
.tnb-appointment span{margin:3px 0;font-size:12px}
.tnb-appointment small{color:#6c625f}
.tnb-source-phone{border-left-color:#2979ff;background:#e8f1ff}
.tnb-source-walk-in{border-left-color:#279663;background:#e5f5ed}
.tnb-cell-blocked{padding:3px!important;background:#e4e6e8}
.tnb-cell-blocked button{width:100%;height:100%;padding:8px;border:0;border-left:5px solid #7d858c;background:#f0f1f2;text-align:left;cursor:pointer}
.tnb-cell-blocked button:hover{background:#e5e8ea}
.tnb-cell-blocked strong,.tnb-cell-blocked span,.tnb-cell-blocked small{display:block}
.tnb-cell-blocked span{margin-top:4px;color:#666;font-size:11px}
.tnb-cell-blocked small{margin-top:6px;color:#747b80;font-size:10px}
.tnb-modal[hidden]{display:none}
.tnb-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:rgba(20,24,27,.68)}
.tnb-modal-card{position:relative;width:min(720px,100%);max-height:90vh;overflow:auto;padding:28px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.tnb-modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer}
.tnb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.tnb-service-checks{grid-column:1/-1;margin:0;padding:14px;border:1px solid #c9c1bd}
.tnb-service-checks legend{padding:0 6px;font-weight:700}
.tnb-service-checks legend small{margin-left:5px;color:#6c625f;font-weight:400}
.tnb-service-checks label{display:inline-flex!important;flex-direction:row!important;align-items:flex-start;gap:8px!important;width:calc(50% - 8px);padding:7px 8px;font-weight:500!important}
.tnb-service-checks input{width:auto!important;min-height:0!important;margin-top:2px}
.tnb-service-checks label small{display:block;color:#6c625f;font-size:11px}
.tnb-modal label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.tnb-modal [data-block-time-field][hidden]{display:none}
.tnb-modal input,.tnb-modal select,.tnb-modal textarea{width:100%;max-width:none}
.tnb-modal form>label{margin:14px 0}
.tnb-modal-open{overflow:hidden}
.tnb-appt-details{display:grid;gap:5px;padding:14px;background:#f6f7f7}
.tnb-appt-details p{margin:6px 0 0}
.tnb-status-actions{display:flex;flex-wrap:wrap;gap:10px}
.tnb-status-actions form{margin:0}
.tnb-status-actions .button-link-delete{padding:0 10px;border:1px solid #d63638;background:#fff;color:#b32d2e;text-decoration:none}
@media(max-width:782px){.tnb-admin-toolbar{grid-template-columns:1fr}.tnb-admin-toolbar h2{order:-1}.tnb-admin-toolbar form{text-align:left}.tnb-form-grid{grid-template-columns:1fr}.tnb-service-checks label{width:100%}.tnb-modal{padding:10px}.tnb-modal-card{padding:24px 18px}}
