/* Controls only: preserve Sarah's current grid, blocks, colours and drag layout. */
.calendar-chrome242{padding:14px 16px 0;margin-bottom:12px;border:1px solid #e8dfe5;border-radius:12px;background:linear-gradient(110deg,#fff9fc,#f5f3fc);color:#382e38}
.calendar-chrome242 .team-title{margin:0 0 12px;gap:12px;align-items:center;flex-wrap:wrap}
.calendar-chrome242 .team-title h1{font-size:23px;margin:0;color:#71354f}
.calendar-chrome242 .team-eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 4px;color:#80667a}
.calendar-chrome242 .actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0}
.calendar-chrome242 #team-block-time{background:#eee7f7;color:#654781;border-color:#dacde8}
.calendar-chrome242 #team-add-walkin{background:#803a58;border-color:#803a58;color:#fff}
.calendar-chrome242 #today-bookings{background:#e7f2ef;color:#2c695e;border-color:#cce2db}
.calendar-chrome242 #roster-today{background:#f4e4ed;color:#773750;border-color:#e4cad7}
.calendar-chrome242 .calendar-toolbar242{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:10px 0;border-top:1px solid #e8dfe5}
.calendar-chrome242 .btn,.calendar-chrome242 summary{font-size:12px;padding:7px 10px;min-height:34px;white-space:nowrap}
.calendar-chrome242 #roster-date{width:auto;min-width:130px;padding:6px 8px;font-size:12px;background:#fff;color:#382e38;border:1px solid #dfd7df;border-radius:7px}
.calendar-chrome242 .calendar-view-switch{margin:0;display:flex;gap:2px}
.calendar-options242{position:relative}
.calendar-options242>summary{list-style:none;border:1px solid #dfd7df;border-radius:7px;background:#fff;color:#584358;cursor:pointer}
.calendar-options242>summary::after{content:' ▾'}
.calendar-options-body242{position:absolute;right:0;top:calc(100% + 6px);width:390px;max-width:calc(100vw - 50px);background:#fff;color:#382e38;border:1px solid #e6dce4;border-radius:10px;padding:14px;box-shadow:0 10px 30px #382e3821;z-index:40;display:grid;gap:12px}
.calendar-options-body242 .calendar-filters{display:flex;flex-wrap:wrap;padding:0;border:0;background:none;gap:10px;margin:0}
.calendar-options-body242 label{font-size:12px}
.calendar-options-body242 .calendar-filters>label{flex:1 1 140px;min-width:0}
.calendar-options-body242 input:not([type=checkbox]),.calendar-options-body242 select{max-width:100%;width:100%}
.calendar-next242{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 -16px;padding:8px 16px;background:#eaf2f7;border-top:1px solid #d7e4ed;border-radius:0 0 12px 12px;color:#3b6075}
.calendar-next242>span{font-size:10px;letter-spacing:.08em;font-weight:700}
.calendar-next242 .btn{white-space:normal;text-align:left;background:transparent;color:#315a70;border:0;padding:3px 0}
.calendar-bottom242{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;color:#776a77;font-size:12px}
.calendar-bottom242 .actions{display:flex;gap:8px;flex-wrap:wrap}
.calendar-bottom242 [data-tab=roster]{background:#f0eaf8;color:#685083;border-color:#dfd4ec}
.calendar-bottom242 [data-auto-complete242]{background:#eaf4ed;color:#396e4b;border-color:#d1e4d7}
@media(max-width:650px){.calendar-chrome242{padding:12px 10px 0}.calendar-chrome242 .team-title>.actions{width:100%;justify-content:flex-end}.calendar-chrome242 .calendar-toolbar242>.actions{width:100%}.calendar-chrome242 .calendar-next242{margin:0 -10px;padding:8px 10px}.calendar-options-body242{right:0;width:310px}.calendar-chrome242 input,.calendar-chrome242 select{font-size:16px!important}}

/* V244: compact legend; preserve booking blocks and schedule geometry. */
#schedule-view .roster-legend{gap:5px 8px;align-items:center;margin:6px 0;font-size:11px;line-height:1.3}
#schedule-view .roster-legend>span{padding:3px 6px;border-radius:4px}
#schedule-view .roster-legend>span:last-child{padding:0;color:#7b6d79;font-size:11px}
#schedule-view #schedule-expand{font-size:12px;padding:6px 9px;min-height:32px;white-space:nowrap}

/* V245: totals in View options; compact legend below the calendar. */
.calendar-totals245{border-top:1px solid #eee5ec;padding-top:8px}
.calendar-totals245>p{font-size:11px;margin:0 0 6px}
.calendar-totals245 .team-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}
.calendar-totals245 .team-metric{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px;background:#f5f1f7;border:1px solid #e6ddea;border-radius:7px;min-width:0;box-shadow:none}
.calendar-totals245 .team-metric span{font-size:11px;color:#716277}
.calendar-totals245 .team-metric b{font-size:18px;color:#694c78;line-height:1.2}
#schedule-view .calendar-bottom243{margin-top:6px;padding-top:0;border:0}
#schedule-view .calendar-bottom243>.roster-legend{margin:0 0 8px}

.calendar-chrome242 #team-register-customer{background:#e7f2ef;color:#2c695e;border-color:#cce2db}

/* V263: keep mobile view options in normal flow, inside the phone viewport. */
@media(max-width:650px){
 .calendar-chrome242,.calendar-toolbar242,.calendar-chrome242 .actions{min-width:0;max-width:100%;box-sizing:border-box}
 .calendar-chrome242 .calendar-options242{flex:1 0 100%;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 .calendar-chrome242 .calendar-options242>summary{width:100%;box-sizing:border-box;min-height:42px;display:flex;align-items:center;justify-content:space-between}
 .calendar-chrome242 .calendar-options-body242{position:static;inset:auto;width:100%;max-width:100%;box-sizing:border-box;margin-top:7px;padding:12px;box-shadow:none;overflow-wrap:anywhere}
 .calendar-options-body242>*{min-width:0;max-width:100%;box-sizing:border-box}
 .calendar-chrome242 .calendar-options-body242 .actions{justify-content:flex-start}
 .calendar-chrome242 .calendar-options-body242 .btn{white-space:normal;min-height:40px}
 .calendar-chrome242 .calendar-options-body242 label{white-space:normal}
 .calendar-chrome242 .calendar-options-body242 .calendar-totals245{width:100%;min-width:0}
 .calendar-chrome242 .calendar-options-body242 .calendar-totals245>*{min-width:0}
 .calendar-chrome242 .calendar-toolbar242>.actions{min-width:0;flex-wrap:wrap}
}
