:root{--paper:#fbf7ef;--cream:#f4ead9;--ink:#28231f;--muted:#756d64;--gold:#d9a52e;--line:rgba(40,35,31,.14);--card:#fffdf8;--danger:#a53a32}*{box-sizing:border-box}body.portal-page{margin:0;font-family:Manrope,system-ui,sans-serif;background:linear-gradient(145deg,#231f1c,#4a3e35);color:var(--ink);min-height:100vh}.portal-login{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card{width:min(520px,100%);background:var(--paper);padding:36px;border-radius:32px;box-shadow:0 28px 80px #0005}.portal-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.portal-brand img{width:64px;height:64px}.portal-brand strong{display:block;font-family:Italiana,serif;font-size:30px;font-weight:400}.portal-brand span,.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}h1,h2,h3{font-family:Italiana,serif;font-weight:400}h1{font-size:clamp(38px,6vw,58px);margin:.2em 0}.portal-login-card label,.portal-field{display:grid;gap:7px;margin:14px 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.portal-login-card input,.portal-main input,.portal-main select,.portal-main textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 13px;font:inherit;color:var(--ink)}textarea{min-height:110px;resize:vertical}.portal-button{border:0;border-radius:999px;padding:13px 20px;background:var(--gold);color:#291f12;font-weight:700;cursor:pointer}.portal-button.alt{background:transparent;border:1px solid var(--line)}.portal-button.danger{background:var(--danger);color:white}.portal-login-card .portal-button{width:100%;margin-top:10px}.portal-error{color:var(--danger);display:block;margin-top:12px}.portal-shell{min-height:100vh;background:var(--paper)}.portal-top{position:sticky;top:0;z-index:10;background:#fffdf8eF;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px max(18px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-top .portal-brand{margin:0}.portal-top .portal-brand img{width:42px;height:42px}.portal-user{text-align:right}.portal-user strong{display:block}.portal-nav{display:flex;gap:8px;overflow:auto;padding:12px max(18px,calc((100vw - 1200px)/2));background:var(--cream);border-bottom:1px solid var(--line)}.portal-nav button{white-space:nowrap;border:1px solid transparent;border-radius:999px;padding:9px 14px;background:transparent;cursor:pointer}.portal-nav button.active{background:var(--card);border-color:var(--line)}.portal-main{max-width:1200px;margin:auto;padding:26px 18px 70px}.portal-panel{display:none}.portal-panel.active{display:block}.portal-toolbar{display:flex;gap:12px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:16px 0}.portal-toolbar .portal-field{margin:0;min-width:180px}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.portal-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px}.portal-card h3{font-size:25px;margin:0 0 8px}.portal-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.portal-pill{padding:5px 9px;background:var(--cream);border-radius:999px}.portal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.portal-actions .portal-button{padding:9px 13px;font-size:13px}.client-list{display:grid;gap:10px}.client-row{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:15px;display:flex;justify-content:space-between;gap:14px;align-items:center;cursor:pointer}.client-row small{color:var(--muted)}.portal-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.note{border-left:3px solid var(--gold);padding:9px 12px;margin:10px 0;background:#fff}.note small{display:block;color:var(--muted);margin-top:5px}.history-row{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.portal-status{padding:12px 14px;border-radius:14px;background:var(--cream);margin:12px 0}.portal-empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}.checkline{display:flex;align-items:center;gap:9px;margin:12px 0}.checkline input{width:auto}.portal-dialog{border:0;border-radius:24px;padding:0;max-width:680px;width:calc(100% - 28px);box-shadow:0 30px 100px #0007}.portal-dialog::backdrop{background:#0008}.dialog-inner{padding:24px}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.dialog-close{border:0;background:transparent;font-size:28px;cursor:pointer}.small-note{font-size:12px;color:var(--muted)}@media(max-width:720px){.portal-login-card{padding:26px 20px;border-radius:24px}.portal-top{align-items:flex-start}.portal-top .portal-brand span{display:none}.portal-two{grid-template-columns:1fr}.portal-main{padding-top:16px}.portal-card{border-radius:18px}.portal-user{font-size:12px}.client-row{align-items:flex-start}.portal-toolbar>*{width:100%}}

/* V5.4 password visibility control */
.password-field{position:relative;display:block;width:100%}.password-field>input{width:100%;padding-right:46px!important}.password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#5a4032;display:grid;place-items:center;cursor:pointer;font-size:16px}.password-eye:hover,.password-eye:focus-visible{background:rgba(90,64,50,.08)}
.portal-back{display:inline-block;margin:0 0 18px;color:inherit;text-decoration:none;font-weight:600}.portal-back:hover{text-decoration:underline}

/* V5.8.9 — My Workday application */
.staff-workday{--wd-ink:#302820;--wd-muted:#81776d;--wd-line:#e8dfd3;--wd-gold:#d9a817;--wd-cream:#fbf7ef;background:#f5efe5;color:var(--wd-ink)}
.workday-shell{min-height:100vh;background:linear-gradient(180deg,#fffdf8 0,#f7f1e8 100%)}
.workday-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(22px,calc((100vw - 1080px)/2));background:rgba(255,253,248,.92);border-bottom:1px solid var(--wd-line);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}
.workday-logo{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.workday-logo img{width:43px;height:43px}.workday-logo span{display:grid}.workday-logo b{font-family:Italiana,serif;font-size:25px;font-weight:400}.workday-logo small,.workday-user small{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--wd-muted)}
.workday-user{display:flex;align-items:center;gap:15px;text-align:right}.workday-user>div{display:grid}.workday-user strong{font-size:13px}.icon-action,.text-action,.soft-action,.date-switcher button{border:1px solid var(--wd-line);background:#fff;border-radius:12px;padding:10px 13px;font:600 12px Manrope,sans-serif;color:var(--wd-ink);cursor:pointer}.icon-action:hover,.soft-action:hover,.date-switcher button:hover{border-color:#cfb98d;background:#fffaf0}
.workday-main{max-width:1080px;margin:auto;padding:44px 22px 80px}.workday-hero{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.workday-hero h1{font-family:Italiana,serif;font-weight:400;font-size:clamp(42px,6vw,68px);line-height:1;margin:6px 0 8px}.workday-hero p{color:var(--wd-muted);margin:0}.date-switcher{display:flex;align-items:end;gap:7px;background:#fff;padding:7px;border:1px solid var(--wd-line);border-radius:16px}.date-switcher label{display:grid;gap:2px}.date-switcher label span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--wd-muted);padding-left:5px}.date-switcher input{border:0;background:transparent;font:600 12px Manrope,sans-serif;padding:3px 5px;color:var(--wd-ink);outline:0}.date-switcher button{padding:9px 12px;border:0;background:#faf6ef}.date-switcher .today-button{background:var(--wd-ink);color:white}
.workday-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 36px}.workday-stats article{background:rgba(255,255,255,.76);border:1px solid var(--wd-line);border-radius:18px;padding:17px 19px}.workday-stats span{display:block;color:var(--wd-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.workday-stats strong{font-family:Italiana,serif;font-size:31px;font-weight:400;display:block;margin-top:5px}
.workday-section{background:#fff;border:1px solid var(--wd-line);border-radius:26px;padding:26px;box-shadow:0 20px 60px rgba(72,55,33,.06)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #eee6dc}.section-heading h2{font-family:Italiana,serif;font-weight:400;font-size:32px;margin:4px 0 0}.text-action{border:0;background:transparent;color:var(--wd-muted)}.workday-notice{margin:16px 0;padding:12px 14px;border-radius:12px;background:#fff4dd;border:1px solid #efd7a1;font-size:13px}
.timeline{padding-top:8px}.appointment-row{display:grid;grid-template-columns:76px 22px 1fr;gap:12px;padding:12px 0}.appointment-time{text-align:right;padding-top:17px;display:grid}.appointment-time strong{font-size:15px}.appointment-time span{font-size:11px;color:var(--wd-muted)}.appointment-line{position:relative}.appointment-line:before{content:"";position:absolute;left:50%;top:0;bottom:-24px;width:1px;background:var(--wd-line)}.appointment-line i{position:absolute;z-index:1;left:50%;top:23px;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--wd-gold);border-radius:50%;box-shadow:0 0 0 5px #fff5d8}.appointment-row:last-child .appointment-line:before{bottom:50%}
.appointment-card{border:1px solid var(--wd-line);border-radius:18px;padding:17px 18px;background:#fffdf9}.appointment-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.service-name{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--wd-muted)}.appointment-head h3{font-family:Italiana,serif;font-size:28px;font-weight:400;margin:2px 0 0}.status-badge{font-size:10px;text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:7px 10px;background:#f2eee8;white-space:nowrap}.status-badge.completed{background:#eaf4e8;color:#41643c}.status-badge.in-service{background:#fff1c7;color:#795d0c}.status-badge.checked-in{background:#e8f1f5;color:#365c6d}.status-badge.no-show{background:#f8e8e5;color:#81493e}.appointment-details{display:flex;gap:8px;flex-wrap:wrap;color:var(--wd-muted);font-size:12px;margin-top:9px}.payment-chip{color:#6d5822}.booking-note{font-size:12px;background:#f9f5ed;border-radius:10px;padding:10px 12px;margin:12px 0 0;color:#655c53}.appointment-actions{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:14px}.soft-action{background:#fff;padding:8px 11px}.status-control{display:grid;gap:3px;margin-left:auto}.status-control span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--wd-muted)}.status-control select{border:1px solid var(--wd-line);border-radius:10px;padding:8px 28px 8px 10px;background:#fff;color:var(--wd-ink);font:600 11px Manrope,sans-serif}.day-off{display:grid;place-items:center;gap:5px;margin-top:18px}.day-off span{font-size:25px;color:var(--wd-gold)}.day-off strong{color:var(--wd-ink)}
.client-sheet .dialog-inner{padding:28px}.client-sheet h2{font-family:Italiana,serif;font-size:38px;font-weight:400;margin:3px 0}.client-meta{margin:10px 0 22px}.client-section{padding-top:18px;margin-top:18px;border-top:1px solid var(--wd-line)}.client-section h3{font-family:Italiana,serif;font-size:24px;font-weight:400}.portal-empty.compact{padding:15px}.history-row{display:grid;grid-template-columns:100px 1fr auto;gap:10px}.history-row small{color:var(--wd-muted)}.workday-footer{max-width:1080px;margin:auto;padding:0 22px 28px;display:flex;justify-content:space-between;color:var(--wd-muted);font-size:11px}.workday-footer a{color:inherit}
@media(max-width:760px){.workday-header{height:66px;padding:0 15px}.workday-logo b{font-size:21px}.workday-logo img{width:37px}.workday-user>div{display:none}.workday-main{padding:27px 14px 60px}.workday-hero{display:block}.date-switcher{margin-top:22px;width:100%;box-sizing:border-box}.date-switcher label{flex:1}.date-switcher input{width:100%}.workday-stats{grid-template-columns:1fr 1fr;gap:8px}.workday-stats article{padding:14px}.workday-section{padding:17px 12px;border-radius:20px}.section-heading{padding:0 4px 14px}.section-heading h2{font-size:27px}.appointment-row{grid-template-columns:55px 14px 1fr;gap:7px}.appointment-time strong{font-size:12px}.appointment-time span{font-size:9px}.appointment-card{padding:14px 13px}.appointment-head{display:block}.status-badge{display:inline-block;margin-top:7px}.appointment-head h3{font-size:25px}.appointment-actions{align-items:stretch;flex-direction:column}.status-control{margin:0}.status-control select{width:100%}.soft-action{width:100%}.workday-footer{padding:0 16px 22px}.client-sheet{margin:auto 7px 7px;width:calc(100% - 14px);max-height:88vh;border-radius:24px}.client-sheet .dialog-inner{padding:21px 17px}.history-row{grid-template-columns:85px 1fr}.history-row small{grid-column:2}}
/* V5.9.1 — calendar views + schedule change requests */
.workday-tools{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 14px}.view-tabs{display:flex;gap:5px;background:#fff;border:1px solid var(--wd-line);padding:5px;border-radius:14px}.view-tabs button,.request-change{border:0;border-radius:10px;padding:9px 14px;background:transparent;color:var(--wd-muted);font:600 12px Manrope,sans-serif;cursor:pointer}.view-tabs button.active{background:var(--wd-ink);color:#fff}.request-change{background:#fff4cf;color:#6e5410;border:1px solid #ead28b}.requests-section{margin-top:18px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.request-grid label{display:grid;gap:6px;font-size:12px;color:var(--wd-muted)}.request-grid input,.request-grid select,.request-grid textarea{width:100%;box-sizing:border-box;border:1px solid var(--wd-line);border-radius:12px;background:#fff;padding:11px;font:500 14px Manrope,sans-serif;color:var(--wd-ink)}.request-grid textarea{min-height:100px;resize:vertical}.request-grid .wide{grid-column:1/-1}.request-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 2px;border-bottom:1px solid var(--wd-line)}.request-row:last-child{border-bottom:0}.request-row strong{display:block}.request-row small{display:block;color:var(--wd-muted);margin-top:4px}.request-status{align-self:start;border-radius:999px;padding:6px 9px;background:#f3efe8;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.request-status.pending{background:#fff2c9;color:#70570f}.request-status.approved{background:#eaf4e8;color:#41643c}.request-status.declined{background:#f8e8e5;color:#81493e}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:12px}.calendar-day{min-height:86px;border:1px solid var(--wd-line);border-radius:13px;padding:9px;background:#fffdf9}.calendar-day b{font-size:11px}.calendar-day span{display:block;font-size:10px;color:var(--wd-muted);margin-top:6px}.calendar-day.has-booking{border-color:#d9c07c;background:#fffaf0}.month-grid{grid-template-columns:repeat(7,1fr)}
@media(max-width:760px){.workday-tools{align-items:stretch;flex-direction:column}.view-tabs{width:100%;box-sizing:border-box}.view-tabs button{flex:1}.request-change{width:100%;min-height:44px}.request-grid{grid-template-columns:1fr}.request-grid .wide{grid-column:auto}.calendar-strip{grid-template-columns:repeat(7,minmax(70px,1fr));overflow-x:auto;padding-bottom:5px}.requests-section{margin-top:12px}}

/* V5.9.8.8: deterministic Staff portal render gate. */
#staffLogin[hidden],#staffApp[hidden]{display:none!important}
body.staff-session-active #staffLogin{display:none!important}
body.staff-session-active #staffApp{display:block}

/* V5.9.9 visual day schedule */
.day-grid{position:relative;min-height:720px;margin-top:8px;padding-left:76px;border:1px solid var(--wd-line);border-radius:18px;background:#fff;overflow:hidden}.day-time-labels{position:absolute;left:0;top:0;bottom:0;width:70px;border-right:1px solid var(--wd-line)}.day-time-labels span{position:absolute;right:12px;transform:translateY(-50%);font-size:11px;color:var(--wd-muted)}.day-grid-lines{position:absolute;left:76px;right:0;top:0;bottom:0}.day-grid-lines i{position:absolute;left:0;right:0;border-top:1px solid #eee8df}.day-grid-cards{position:absolute;left:84px;right:10px;top:0;bottom:0}.day-booking{position:absolute;left:0;right:0;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--service-color) 75%,#aaa);border-left:5px solid var(--service-color);border-radius:12px;background:color-mix(in srgb,var(--service-color) 22%,#fff);padding:9px 11px;display:grid;grid-template-columns:1fr auto;gap:6px;overflow:hidden;min-height:52px}.day-booking-main small,.day-booking-main span{display:block;font-size:10px;color:#70675f}.day-booking-main strong{display:block;font:500 18px Italiana,serif;margin:2px 0}.day-booking-actions{grid-column:1/-1;display:flex;gap:6px;align-items:center}.day-booking-actions button,.day-booking-actions select{font-size:9px;padding:5px 7px}.day-grid-empty{margin:40px}.section-heading .text-action{white-space:nowrap}@media(max-width:720px){.day-grid{min-height:650px;padding-left:58px}.day-time-labels{width:54px}.day-grid-lines{left:58px}.day-grid-cards{left:64px}.day-booking-actions{display:none}.day-booking-main strong{font-size:15px}}
/* V5.9.9.1 — schedule board polish + reliable inline history */
.history-panel[hidden]{display:none!important}.history-panel{margin-top:18px}.day-grid{min-height:780px}.day-grid-lines i:nth-child(2n+1){border-top-color:#e3d9cc}.day-booking{box-shadow:0 4px 14px rgba(52,42,31,.07);transition:transform .12s ease,box-shadow .12s ease}.day-booking:hover{z-index:4;box-shadow:0 10px 26px rgba(52,42,31,.14)}
/* V5.10.2 — real staff week calendar */
.week-calendar-wrap{overflow-x:auto;padding-bottom:6px}.week-calendar{display:grid;grid-template-columns:70px repeat(7,minmax(130px,1fr));grid-template-rows:58px var(--week-height);min-width:1040px;border:1px solid var(--wd-line);border-radius:18px;overflow:hidden;background:#fff}.week-corner{display:flex;align-items:end;padding:0 10px 10px;color:var(--wd-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-right:1px solid var(--wd-line);border-bottom:1px solid var(--wd-line)}.week-day-head{border:0;border-right:1px solid var(--wd-line);border-bottom:1px solid var(--wd-line);background:#fffdf9;padding:8px 6px;cursor:pointer;color:var(--wd-ink)}.week-day-head span,.week-day-head strong{display:block}.week-day-head span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--wd-muted)}.week-day-head strong{font:500 16px Italiana,serif;margin-top:3px}.week-day-head.is-today{background:#fff4cf}.week-times{position:relative;border-right:1px solid var(--wd-line)}.week-times span{position:absolute;right:9px;transform:translateY(-50%);font-size:10px;color:var(--wd-muted)}.week-day-col{position:relative;border-right:1px solid var(--wd-line);background:#fff}.week-day-col.is-today{background:#fffdf5}.week-lines{position:absolute;inset:0}.week-lines i{position:absolute;left:0;right:0;border-top:1px solid #eee8df}.week-booking{position:absolute;left:4px;right:4px;z-index:2;overflow:hidden;text-align:left;border:1px solid color-mix(in srgb,var(--service-color) 75%,#aaa);border-left:4px solid var(--service-color);border-radius:8px;background:color-mix(in srgb,var(--service-color) 20%,#fff);padding:5px 6px;color:var(--wd-ink);cursor:pointer;min-height:28px}.week-booking small,.week-booking strong,.week-booking span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-booking small,.week-booking span{font-size:9px;color:#70675f}.week-booking strong{font-size:11px;margin:1px 0}@media(max-width:760px){.week-calendar{grid-template-columns:54px repeat(7,minmax(118px,1fr));min-width:900px}.week-corner{padding-left:6px}.week-times span{right:6px}}

/* V5.10.2.1 — Staff Week Calendar UI Polish (CSS only) */
@media (min-width: 1100px){
  .staff-workday .workday-main{max-width:1320px}
  .staff-workday .workday-footer{max-width:1320px}
  .staff-workday .workday-header{padding-left:max(22px,calc((100vw - 1320px)/2));padding-right:max(22px,calc((100vw - 1320px)/2))}
}
.staff-workday .week-calendar-wrap{margin-top:14px;padding:0 0 10px;overflow-x:auto;scrollbar-gutter:stable}
.staff-workday .week-calendar{
  grid-template-columns:82px repeat(7,minmax(148px,1fr));
  grid-template-rows:70px var(--week-height);
  min-width:1120px;
  border-radius:20px;
  border-color:#dfd4c6;
  background:#fff;
  box-shadow:0 10px 30px rgba(72,55,33,.035)
}
.staff-workday .week-corner{padding:0 12px 14px;font-size:10px;font-weight:700;letter-spacing:.12em;background:#fbf7f0}
.staff-workday .week-day-head{padding:11px 8px 10px;background:#fbf7f0;transition:background .15s ease,border-color .15s ease}
.staff-workday .week-day-head span{font-size:10px;font-weight:700;letter-spacing:.11em}
.staff-workday .week-day-head strong{font-size:18px;margin-top:5px}
.staff-workday .week-day-head.is-today{background:#fff0b8;box-shadow:inset 0 -3px 0 #d9a817}
.staff-workday .week-day-col.is-today{background:#fffaf0}
.staff-workday .week-times{background:#fdfaf5}
.staff-workday .week-times span{right:12px;font-size:10px;font-weight:600;color:#74695f;background:#fdfaf5;padding:2px 0}
.staff-workday .week-lines i{border-top-color:#ece4da}
.staff-workday .week-booking{
  left:6px;right:6px;
  border-radius:10px;
  padding:7px 8px;
  min-height:38px;
  box-shadow:0 2px 7px rgba(55,43,31,.08);
  transition:transform .12s ease,box-shadow .12s ease;
}
.staff-workday .week-booking small{font-size:9px;font-weight:700;letter-spacing:.02em}
.staff-workday .week-booking strong{font-size:12px;line-height:1.25;margin:2px 0}
.staff-workday .week-booking span{font-size:9px;line-height:1.25}
@media (hover:hover) and (pointer:fine){
  .staff-workday .week-booking:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(55,43,31,.13);z-index:5}
  .staff-workday .week-day-head:hover{background:#fff9ea}
}
@media (max-width:1099px){
  .staff-workday .week-calendar{grid-template-columns:68px repeat(7,minmax(132px,1fr));min-width:995px}
}
@media (max-width:760px){
  .staff-workday .week-calendar-wrap{margin-left:-4px;margin-right:-4px}
  .staff-workday .week-calendar{grid-template-columns:58px repeat(7,minmax(124px,1fr));grid-template-rows:64px var(--week-height);min-width:926px;border-radius:16px}
  .staff-workday .week-day-head strong{font-size:16px}
  .staff-workday .week-booking{left:4px;right:4px;padding:6px;min-height:34px}
}

/* Keep the entire 09:00–20:00 schedule reachable on shorter displays. */
.staff-workday .week-calendar-wrap,.staff-workday .day-grid-wrap{height:clamp(300px,48vh,440px);max-height:none;overflow-x:auto;overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#96795b #f2ebe2;border:1px solid #dfd4c6;border-radius:18px}
.staff-workday .week-calendar-wrap::-webkit-scrollbar,.staff-workday .day-grid-wrap::-webkit-scrollbar{width:12px;height:12px}
.staff-workday .week-calendar-wrap::-webkit-scrollbar-thumb,.staff-workday .day-grid-wrap::-webkit-scrollbar-thumb{background:#96795b;border:2px solid #f2ebe2;border-radius:12px}
.staff-workday .week-calendar-wrap::-webkit-scrollbar-track,.staff-workday .day-grid-wrap::-webkit-scrollbar-track{background:#f2ebe2}
.staff-workday .calendar-scroll-hint{display:block;margin-top:7px;font-size:11px;color:#67574a}
.staff-workday .calendar-scroll-hint[hidden]{display:none!important}
.staff-workday .day-grid{height:var(--day-height);min-height:0;margin-top:0}
.staff-workday .week-times span:last-child,.staff-workday .day-time-labels span:last-child{transform:translateY(-100%)}
.staff-workday .week-calendar{overflow:visible}
.staff-workday .week-day-head,.staff-workday .week-corner{position:sticky;top:0;z-index:6}

/* Respect hidden request fields when their form layout uses display:grid. */
.staff-workday #targetArtistWrap[hidden]{display:none!important}

.staff-workday .day-booking,.staff-workday .week-booking{background:var(--service-color,#f3dfdf);border-color:var(--service-color,#f3dfdf);color:var(--service-ink,#171411)}
.staff-workday .day-booking-main small,.staff-workday .day-booking-main span,.staff-workday .day-booking-main strong,.staff-workday .week-booking small,.staff-workday .week-booking strong,.staff-workday .week-booking span{color:inherit}
.staff-workday .month-booking{background:var(--service-color,#f3dfdf);color:var(--service-ink,#171411);padding:4px;border-radius:5px}
