/* Salon Dashboard v9 — theme selector, calendar + team controls. Scoped and loaded last. */
body[data-salon-theme="plum"]{--theme-sidebar:#302332;--theme-accent:#693c5c;--theme-light:#f6eaf0;--theme-text:#523249;--theme-bg:#fbf8f9}
body[data-salon-theme="ocean"]{--theme-sidebar:#142d48;--theme-accent:#205e8c;--theme-light:#e7f3fa;--theme-text:#1f4b71;--theme-bg:#f5f9fd}
body[data-salon-theme="sage"]{--theme-sidebar:#223a34;--theme-accent:#326a58;--theme-light:#e5f3ec;--theme-text:#285647;--theme-bg:#f7faf7}
body[data-salon-theme="charcoal"]{--theme-sidebar:#26262c;--theme-accent:#72572e;--theme-light:#faf2e4;--theme-text:#54452f;--theme-bg:#faf9f6}
body[data-salon-theme]{--plum:var(--theme-accent);--plum2:var(--theme-accent);--rose:var(--theme-accent)}
body.dashboard-body[data-salon-theme]{background:var(--theme-bg)}
body[data-salon-theme] .sidebar{background:var(--theme-sidebar)}
body[data-salon-theme] .nav-link.active{background:color-mix(in srgb,var(--theme-accent) 45%,white 7%);color:#fff}
body[data-salon-theme] .btn-primary{background:var(--theme-accent);color:white}
body[data-salon-theme] .btn-primary:hover{filter:brightness(.87);background:var(--theme-accent)}
body[data-salon-theme] .btn-outline{color:var(--theme-text)}
body[data-salon-theme] .eyebrow,body[data-salon-theme] .topbar-overline strong{color:var(--theme-accent)}
body[data-salon-theme] input:focus,body[data-salon-theme] select:focus{border-color:var(--theme-accent);outline:2px solid var(--theme-light);outline-offset:1px}
body[data-salon-theme] .status-pending{background:#fff3de;color:#946a17}
body[data-salon-theme] .status-confirmed{background:#e4f5ec;color:#27774e}
body.booking-body[data-salon-theme]{background:var(--theme-bg)}
body.booking-body[data-salon-theme] .booking-header em{color:var(--theme-accent)}
body.booking-body[data-salon-theme] .form-section-title span{background:var(--theme-light);color:var(--theme-text)}
body.booking-body[data-salon-theme] .time-slot.is-selected{background:var(--theme-accent);border-color:var(--theme-accent);color:white}
body.auth-body[data-salon-theme]{background:var(--theme-bg)}
/* Theme previews */
.theme-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-choice{border:1px solid #e6e3e7;border-radius:12px;padding:11px;display:grid;gap:9px;cursor:pointer}.theme-choice:has(input:checked){border-color:var(--theme-accent);box-shadow:0 0 0 2px var(--theme-light)}.theme-choice input{width:auto;margin:0}.theme-choice strong{font-size:12px}.theme-swatch{display:flex;align-items:center;background:#fafafa;padding:7px;border-radius:8px;border:1px solid #eee;gap:5px}.theme-swatch i{height:22px;border-radius:5px;background:var(--swatch-dark);flex:3}.theme-swatch i:nth-child(2){background:var(--swatch-accent);flex:1}.theme-swatch i:last-child{background:#fff;border:1px solid #ddd;flex:1}
/* Team access */
.staff-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:18px;align-items:start}.staff-user-list{display:grid;gap:12px}.staff-user-card{border:1px solid #eae7eb;border-radius:14px;padding:17px;display:grid;gap:12px}.staff-ident{display:flex;gap:13px;align-items:flex-start}.staff-ident>div{min-width:0}.staff-ident strong{display:block;font-size:14px}.staff-ident small{display:block;font-size:11px;color:#817c83;overflow-wrap:anywhere;margin-top:5px}.staff-avatar{width:41px;height:41px;border-radius:50%;display:grid;place-items:center;background:var(--theme-light);color:var(--theme-text);font-weight:800;flex-shrink:0}.staff-state{display:inline-block;font-size:10px;border-radius:50px;margin-top:8px;padding:4px 8px}.state-active{background:#e5f5ed;color:#276748}.state-suspended{background:#fff0ee;color:#a34545}.staff-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.staff-inline-form{display:flex;flex:1;gap:8px;align-items:end;flex-wrap:wrap}.staff-inline-form label{flex:1;min-width:160px}.staff-inline-form select{margin-top:4px}.staff-reset{width:100%}.staff-reset summary{font-size:11px;font-weight:700;cursor:pointer;color:var(--theme-text)}.staff-reset form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:9px}.staff-reset form label{flex:1;min-width:180px}.permission-grid{display:grid;grid-template-columns:minmax(100px,1.6fr) repeat(3,minmax(51px,.6fr));gap:0;align-items:center;font-size:10px;margin-top:14px}.permission-grid>*{border-bottom:1px solid #ece9ed;padding:9px 3px;text-align:center}.permission-grid>span{text-align:left}.permission-grid b{font-size:10px}.permission-grid i{font-style:normal;color:var(--theme-accent)}
/* Calendar: neat, compact month grid with actionable agenda */
.calendar-overview{background:white;border:1px solid #ece9ed;border-radius:19px;padding:26px;box-shadow:0 8px 30px #392e3c08}.calendar-masthead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.calendar-masthead h2{font-size:26px;line-height:1.2}.calendar-masthead p{font-size:12px;color:#89828c;margin-top:7px}.calendar-v9-actions{display:flex;gap:7px;flex-wrap:wrap}.calendar-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:22px}.calendar-summary>div{background:var(--theme-bg);border:1px solid #f1edf0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:5px}.calendar-summary strong{font-size:23px;color:var(--theme-accent)}.calendar-summary span{font-size:10px;color:#7f7880}.month-grid-v9{gap:4px}.month-grid-v9 .weekday{font-size:10px;padding:7px 3px 12px;color:#817983}.month-grid-v9 .day-cell{min-height:100px;border-radius:10px;padding:10px;gap:8px;transition:background .15s,border-color .15s;overflow:hidden}.month-grid-v9 .day-empty{background:#fbfafb;opacity:.48}.month-grid-v9 .calendar-date:hover{border-color:var(--theme-accent);background:var(--theme-bg)}.month-grid-v9 .calendar-date.is-current{background:var(--theme-light);border:2px solid var(--theme-accent);padding:9px}.calendar-date-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:3px}.month-grid-v9 .day-number{font-size:12px}.date-today-marker{font-size:9px;color:var(--theme-accent);font-weight:800}.calendar-day-count{font-size:13px;color:#39303a}.calendar-day-count span{font-size:10px;font-weight:500;color:#89828c}.calendar-status-dots{display:flex;gap:5px;margin-top:auto}.calendar-status-dots i,.calendar-v9-key i{width:7px;height:7px;border-radius:50%;display:inline-block}.calendar-status-dots .is-pending,.calendar-v9-key .is-pending{background:#e5b252}.calendar-status-dots .is-confirmed,.calendar-v9-key .is-confirmed{background:#4cae86}.calendar-status-dots .is-completed,.calendar-v9-key .is-completed{background:#6a83be}.calendar-v9-key{display:flex;gap:17px;flex-wrap:wrap;margin-top:18px;font-size:10px;color:#817984}.calendar-v9-key span{display:flex;align-items:center;gap:6px}.calendar-agenda{margin-top:18px}.calendar-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.calendar-agenda-head h3{font-size:21px}.calendar-agenda-head p{font-size:11px;color:#918b92;margin-top:7px}.calendar-agenda-nav{display:flex;gap:7px}.calendar-empty-agenda{padding:30px;text-align:center;color:#8f8792;background:#fbfafc;border:1px dashed #e5dde3;border-radius:12px;font-size:12px}.calendar-agenda-list{display:grid;gap:8px}.calendar-agenda-item{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #eee9ec;border-radius:12px}.calendar-agenda-item:hover{background:var(--theme-bg);border-color:var(--theme-accent)}.agenda-time{font-size:12px;font-weight:800;white-space:nowrap;min-width:78px;color:var(--theme-accent)}.agenda-customer{flex:1;min-width:0}.agenda-customer strong{display:block;font-size:12px}.agenda-customer small{display:block;font-size:10px;color:#8e8590;margin-top:4px;overflow-wrap:anywhere}.agenda-arrow{font-size:18px;color:#a69aa3}
@media(max-width:1040px){.staff-layout{grid-template-columns:1fr}}@media(max-width:720px){.calendar-overview{padding:13px}.calendar-masthead,.calendar-agenda-head{align-items:flex-start;flex-direction:column}.calendar-masthead h2{font-size:22px}.calendar-summary{grid-template-columns:repeat(2,1fr);gap:6px}.calendar-summary>div{padding:10px}.month-grid-v9{gap:2px}.month-grid-v9 .day-cell{min-height:62px;padding:5px 3px;border-radius:7px}.month-grid-v9 .calendar-date.is-current{padding:4px 2px}.calendar-day-count{font-size:10px}.calendar-day-count span,.date-today-marker{display:none}.month-grid-v9 .weekday{font-size:9px}.calendar-agenda-item{gap:8px;padding:10px}.agenda-time{min-width:63px;font-size:10px}.calendar-agenda-nav .btn,.calendar-v9-actions .btn{padding:8px 10px}.theme-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.month-grid-v9 .day-cell{min-height:53px}.calendar-day-count{font-size:9px}.month-grid-v9 .day-number{font-size:10px}.calendar-summary span{font-size:9px}.calendar-summary strong{font-size:19px}.agenda-arrow{display:none}}

.theme-swatch-plum{--swatch-dark:#4b2a43;--swatch-accent:#d7a5b9}
.theme-swatch-ocean{--swatch-dark:#173c65;--swatch-accent:#48a6c8}
.theme-swatch-sage{--swatch-dark:#234a40;--swatch-accent:#98bf9b}
.theme-swatch-charcoal{--swatch-dark:#25262b;--swatch-accent:#bd975f}
.account-security-panel{max-width:630px}

/* Public booking slot styling follows selected theme without altering blocking logic. */
body.booking-body[data-salon-theme] .booking-slot-picker .time-slot.is-selected{background:var(--theme-accent);border-color:var(--theme-accent);color:#fff}
body.booking-body[data-salon-theme] .booking-slot-picker .time-slot:hover:not(:disabled){border-color:var(--theme-accent);background:var(--theme-light)}
body.booking-body[data-salon-theme] .slot-interval-pill{background:var(--theme-light);color:var(--theme-text);border-color:var(--theme-light)}
body.booking-body[data-salon-theme] .slot-picker-top h3{color:var(--theme-text)}
body.booking-body[data-salon-theme] .slot-dot-chosen{background:var(--theme-accent)}
body.booking-body[data-salon-theme] .booking-card input#bookingSelectedLabel{color:var(--theme-text);background:var(--theme-light)}
