/* A readable calendar surface for all three operational roles. */
.staff-cal-top{background:#fff;border:1px solid #e9e3db;border-radius:22px;padding:18px;margin:0 0 14px;box-shadow:0 6px 24px #24180b09}.staff-cal-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 17px}.staff-cal-controls strong{font-size:19px;letter-spacing:-.025em;text-align:center}.staff-cal-controls .button{width:44px;height:44px;flex:none;padding:0;font-size:25px;line-height:1;border-radius:13px;background:#f8f5f0}.staff-cal-switch{display:flex;align-items:center;gap:8px;margin:0}.staff-cal-switch button{border:1px solid #ebe3d9;background:#f8f5f0;color:#62594e;min-height:40px;border-radius:11px;padding:8px 17px;font:inherit;font-size:13px;font-weight:750}.staff-cal-switch button.active{background:#20201d;border-color:#20201d;color:#fff}.staff-cal-switch button:last-child{margin-left:auto;background:#fff;color:#a94c20}
.staff-calendar-surface{background:#fff;border:1px solid #ebe5dc;border-radius:22px;overflow:hidden;box-shadow:0 6px 24px #24180b09;margin-bottom:15px}.staff-month-weekdays,.staff-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.staff-month-weekdays{padding:12px 12px 0}.staff-month-weekdays span{text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#77716b;font-weight:850}.staff-month-grid{gap:3px;padding:10px 12px 14px}.staff-cal-day{appearance:none;background:#fff;color:#292723;border:1px solid transparent;border-radius:13px;text-align:center;font:inherit;min-width:0;min-height:72px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:7px 2px}.staff-cal-day:hover{background:#f6f2ec}.staff-cal-day.outside{opacity:.37}.staff-cal-day.today{border-color:#d5aa8e}.staff-cal-day.selected{background:#c45d34;border-color:#c45d34;color:#fff}.staff-cal-number{font-size:18px;font-weight:800;line-height:1}.staff-cal-dots{display:flex;gap:3px;align-items:center;justify-content:center;min-height:5px}.staff-cal-dots i{display:block;width:5px;height:5px;border-radius:50%;background:#c45d34}.staff-cal-day.selected .staff-cal-dots i{background:#fff}.staff-cal-day small{font-size:10px;color:#85766c;min-height:11px}.staff-cal-day.selected small{color:#fff}
.staff-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:13px}.staff-week-days>div{text-align:center;min-width:0}.staff-week-days>div>span{font-size:11px;text-transform:uppercase;color:#776e67;font-weight:800;letter-spacing:.04em}.staff-week-days .staff-cal-day{width:100%;margin-top:6px;background:#f9f6f1;min-height:58px}.staff-week-days .staff-cal-day.selected{background:#c45d34}.staff-week-board{display:grid;grid-template-columns:62px repeat(7,minmax(0,1fr));border-top:1px solid #eae4dc}.staff-week-colhead,.staff-week-corner{background:#faf8f4;border-bottom:1px solid #ede8e2;padding:11px 7px;font-size:11px;text-align:center;font-weight:800;color:#645c53}.staff-week-hour{border-right:1px solid #ede8e2;border-bottom:1px solid #ede8e2;padding:10px 6px;color:#8a8077;font-size:11px;text-align:right}.staff-week-cell{border-right:1px solid #f1ece5;border-bottom:1px solid #f1ece5;min-height:62px;padding:3px;overflow:hidden}.staff-week-event{width:100%;text-align:left;border:0;background:#f2ded1;color:#662f19;border-left:3px solid #c45d34;border-radius:7px;font-size:10px;line-height:1.35;padding:6px;overflow-wrap:anywhere}.staff-week-event strong{display:block}.staff-agenda{background:#fff;border:1px solid #ebe5dc;border-radius:22px;padding:17px 19px;margin-bottom:15px;box-shadow:0 6px 24px #24180b09}.staff-agenda .section-head{margin:0 0 9px}.staff-agenda .section-head h2{font-size:18px}.staff-agenda .section-head span{font-size:12px;color:#756d66}.staff-agenda-event{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) 16px;align-items:center;gap:12px;min-height:68px;border:0;border-top:1px solid #f0eae3;background:#fff;color:#241f1a;text-align:left;padding:9px 0}.staff-agenda-event>span{font-size:13px;font-weight:800;color:#a94c20}.staff-agenda-event strong,.staff-agenda-event small{display:block}.staff-agenda-event strong{font-size:14px}.staff-agenda-event small{font-size:12px;color:#756d66;margin-top:4px;white-space:normal}.staff-agenda-event b{font-size:21px;color:#ad7558}.staff-agenda-empty{padding:20px 0;color:#79716a;font-size:13px}
/* Narrow layouts are composed for touch, with each task fully visible. */
@media(max-width:800px){
 html{scroll-padding-top:68px}body,.shell{background:#f7f5f1}.topbar{min-height:62px;background:#fff;box-shadow:0 1px 0 #eee8e1;padding:9px 16px}.topbar-start{gap:10px}.topbar-start>span{font-weight:700;color:#756d64}.topbar strong{color:#25201c}.menu-toggle{border:0;background:#f6f0e8;border-radius:12px;min-width:40px;min-height:40px}.page{padding:24px 16px calc(105px + env(safe-area-inset-bottom));max-width:640px}.page-head{align-items:flex-start}.page-head h1{font-size:clamp(27px,7vw,34px);font-weight:850;letter-spacing:-.045em;line-height:1.09}.page-head p{font-size:13px;max-width:44ch;color:#746e68;margin-top:7px}.page-head>.button,.page-head>.toolbar{margin-top:6px}.card{padding:19px;border-radius:20px;box-shadow:0 5px 18px #26180e09;border-color:#ebe5dc}.card h2{font-size:18px}.grid.cols,.user-layout,.catalog-readonly{gap:12px}.field{min-width:0}.field input,.field select,.field textarea{min-height:48px;border-radius:12px;background:#fff}.button,.action{min-height:42px;border-radius:11px}.button.primary{background:#c45d34;border-color:#c45d34}.mobile-tabs{background:#fff;border-top:1px solid #e9e2da;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #24180b12}.mobile-tabs button{min-height:52px;border-radius:12px;color:#72675d}.mobile-tabs button.active{background:#faefe8;color:#a84923}.mobile-tabs button span{font-size:20px}.mobile-tabs button small{font-size:10px;font-weight:800}.mobile-tabs button[data-desk-slots]{display:none}.mobile-tabs .mobile-count{top:1px;right:2px}.staff-workspace .mobile-tabs button[data-desk-slots]{display:none}
 .booking-controls{padding:3px 0 8px}.booking-cards tr{border:1px solid #e8e0d7;border-left:3px solid #c45d34;border-radius:15px;padding:13px 15px;margin-bottom:11px;box-shadow:0 3px 13px #24180b08;display:grid;grid-template-columns:1fr auto;column-gap:10px}.booking-cards td{padding:5px 0!important;min-width:0}.booking-cards td:nth-child(1){grid-column:1/-1}.booking-cards td:first-child strong{font-size:17px;letter-spacing:-.02em}.booking-cards td:first-child .small-text{white-space:normal;line-height:1.45;margin-top:3px}.booking-cards td:nth-child(2){grid-column:1;grid-row:2;font-weight:750}.booking-cards td:nth-child(3){grid-column:2;grid-row:2;text-align:right;align-self:center}.booking-cards td:nth-child(4){grid-column:1/-1;grid-row:3;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-cards td:nth-child(5){grid-column:1;grid-row:4}.booking-cards td:nth-child(6){grid-column:2;grid-row:4;text-align:right;align-self:center}.booking-cards td:last-child{grid-column:1/-1;grid-row:5;border-top:1px solid #f0ebe5!important;margin-top:6px;padding-top:11px!important}.booking-cards .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.booking-cards .row-actions .action{min-width:0;font-size:12px;white-space:normal}.booking-cards .row-actions .action[data-workflow]{background:#faefe8;color:#9b421e}.booking-cards .row-actions .action.danger{border-color:#f0d6d4;color:#9c413c}
 .manager-quick{margin:14px 0}.manager-metrics{gap:8px}.manager-metrics button{border-top:0;border-left:3px solid #c45d34;padding:14px 10px;min-height:100px}.manager-metrics span{font-size:11px}.manager-metrics strong{margin-top:7px;font-size:26px}.grid.stats{gap:8px}.stat .number{font-size:27px}.dashboard-alert{border-radius:15px;padding:13px}.progress-row,.staff-line{gap:11px}.progress-row .toolbar{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.progress-row .toolbar .action{white-space:normal}.form-grid,.workflow-form{gap:13px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-card{border-radius:13px}.slot-card .toolbar{display:flex}.inventory-category,.catalog-readonly>.card{min-width:0}.table-wrap{max-width:100%}
 .staff-cal-top{padding:15px}.staff-cal-controls{gap:7px;margin-bottom:12px}.staff-cal-controls strong{font-size:15px;line-height:1.22}.staff-cal-controls .button{width:40px;height:40px;font-size:24px}.staff-cal-switch{gap:6px}.staff-cal-switch button{flex:1;padding:7px;min-width:0}.staff-cal-switch button:last-child{flex:0 0 auto;padding-inline:13px}.staff-week-board{display:none}.staff-calendar-surface{border-radius:17px}.staff-month-weekdays{padding:11px 7px 0}.staff-month-weekdays span{font-size:9px;letter-spacing:0}.staff-month-grid{gap:2px;padding:8px 7px 12px}.staff-cal-day.month-day{min-height:53px;gap:4px;padding:6px 0}.staff-cal-number{font-size:16px}.staff-cal-day small{display:none}.staff-cal-dots i{width:4px;height:4px}.staff-week-days{gap:3px;padding:11px 6px}.staff-week-days>div>span{font-size:9px}.staff-cal-day.week-day{min-height:57px;padding:4px 1px}.staff-cal-day.week-day .staff-cal-number{font-size:17px}.staff-agenda{padding:15px 16px;border-radius:17px}.staff-agenda-event{grid-template-columns:54px minmax(0,1fr) 12px;gap:9px}.staff-cal-bookings{display:none}
 .staff-workspace .page{max-width:640px;padding:22px 16px calc(105px + env(safe-area-inset-bottom))}.staff-workspace .topbar{padding:9px 16px}.staff-workspace .mobile-tabs{left:0;right:0;transform:none;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:0}.staff-workspace .staff-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.staff-workspace .staff-summary>div{border-radius:14px;padding:14px 9px}.staff-workspace .staff-summary strong{font-size:25px}.staff-workspace .staff-summary span{font-size:11px}.staff-workspace .staff-list{border-radius:17px;padding:13px 16px}.staff-workspace .staff-tomorrow{background:#fff9f4;border-color:#ead9ce}.staff-workspace .staff-tomorrow .section-head{align-items:center}.staff-workspace .staff-tomorrow h2{font-size:17px}.staff-workspace .staff-task{min-height:82px}.staff-workspace .staff-task-main small{white-space:normal}.staff-hero{background:#25221f}.staff-detail-top{justify-content:space-between}.staff-detail-card,.staff-hero{border-radius:17px}.staff-workspace .staff-line .button{width:100%}
}
@media(max-width:370px){.page,.staff-workspace .page{padding-left:11px;padding-right:11px}.staff-month-weekdays,.staff-month-grid{padding-left:5px;padding-right:5px}.staff-cal-top{padding:12px}.staff-cal-controls strong{font-size:13px}.staff-week-days{padding-inline:4px}.staff-agenda{padding:13px}.booking-cards tr{padding:11px}}
@media(max-width:800px){
 .login-shell{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:0;background:#f7f5f1;padding:16px}.login-story{min-height:0;height:auto;padding:24px 22px 20px;background:#24211e;border-radius:19px 19px 0 0}.login-story .login-logo{height:70px;width:70px;object-fit:contain}.login-story h2{font-size:27px;line-height:1.1;margin:9px 0}.login-story>p:last-child{font-size:13px;margin:7px 0 0}.login-card{margin:0;width:100%;padding:24px 22px;border:1px solid #e9e2da;border-top:0;border-radius:0 0 19px 19px;box-shadow:0 18px 35px #24180b12}.login-card h1{font-size:30px}.login-card .button.primary{min-height:50px}
 .page section,.page article,.page .card,.page .grid{max-width:100%;min-width:0}.page .table-wrap{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#d3b7a5 transparent}.page .table:not(.booking-cards){font-size:12px}.page .table:not(.booking-cards) th,.page .table:not(.booking-cards) td{white-space:normal;min-width:95px}.page .table:not(.booking-cards) th:first-child,.page .table:not(.booking-cards) td:first-child{position:sticky;left:0;background:#fff;z-index:1}.page .table:not(.booking-cards) th:first-child{background:#f8f5f0}.page .table:not(.booking-cards) tr:hover td:first-child{background:#fcf8f3}.page .toolbar{flex-wrap:wrap}.page .toolbar>.field{flex:1 1 140px}.page .field.wide,.page .form-grid .field{max-width:100%}.page .field input,.page .field select,.page .field textarea{font-size:16px}.offer-grid,.grid.cols{grid-template-columns:minmax(0,1fr)}.offer-image{height:170px}.offer-card{border-radius:18px}.component-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px}.component-row>*{min-width:0}.component-row select,.component-row input{max-width:100%}.notification-entry,.user-profile,.handoff-row{overflow-wrap:anywhere}.finance-chart{grid-template-columns:1fr}.finance-bar{grid-template-columns:1fr auto}.chart-line{grid-template-columns:67px minmax(0,1fr) 87px}.week-strip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.week-strip::-webkit-scrollbar{display:none}.day-pill{flex:0 0 80px;border-radius:12px;min-height:60px;white-space:normal}.slot-grid{gap:8px}.slot-card .action{min-height:39px}
}
/* Booking progress is actionable on both desktop and narrow phones. */
.booking-flow{margin-top:10px;min-width:155px;color:#332b28}.booking-flow strong{font-size:.85rem}.booking-flow-track{display:flex;gap:4px;margin:7px 0}.booking-flow-track span{flex:1;height:5px;border-radius:5px;background:#e9e2db}.booking-flow-track span.is-done{background:#c96743}.booking-flow small{display:block;color:#685d57;font-size:.7rem}.booking-step-label{display:block;margin-top:8px;font-size:.74rem;font-weight:600;color:#504640}.booking-step-label select{display:block;width:100%;min-height:42px;margin-top:5px;padding:8px;border:1px solid #d2c7bd;border-radius:9px;background:#fff;color:#332b28}.booking-cancel-reason{margin:7px 0 0;font-size:.8rem;color:#6e5044;overflow-wrap:anywhere}.booking-cancel-dialog{border:1px solid #ded0c4;border-radius:16px;padding:24px;width:min(94vw,430px);max-height:90vh;box-shadow:0 18px 65px #2b211d45;color:#332b28}.booking-cancel-dialog::backdrop{background:#221b19a0}.booking-cancel-dialog h2{margin:0 0 8px}.booking-cancel-dialog p{margin-bottom:18px}.booking-cancel-dialog .field{display:block;margin:10px 0}.booking-cancel-dialog select,.booking-cancel-dialog textarea{display:block;width:100%;margin-top:5px;min-height:44px;padding:10px;border:1px solid #d2c7bd;border-radius:8px;background:#fff;color:#332b28}.booking-cancel-dialog textarea{min-height:90px;resize:vertical}.booking-cancel-dialog .dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.booking-cancel-dialog .dialog-actions button{min-height:44px}
@media(max-width:700px){.booking-flow{min-width:0}.booking-step-label select{font-size:16px}.booking-cancel-dialog{padding:18px}.booking-cancel-dialog .dialog-actions button{flex:1}}

/* Owner and manager: a complete, independently scrollable mobile menu. */
.mobile-nav-group,.sidebar-close{display:none}
@media(max-width:800px){
 .sidebar{height:100dvh;min-height:0;display:flex;flex-direction:column;padding:0 0 env(safe-area-inset-bottom);overflow:hidden;width:min(360px,90vw)}
 .sidebar-brand{flex:none;display:flex;align-items:center;gap:11px;padding:21px 18px 17px!important;margin:0;border-bottom:1px solid #ffffff19}
 .sidebar-brand span{min-width:0;flex:1}.sidebar-close{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#ffffff13;border:1px solid #ffffff24;color:#fff;border-radius:12px;font-size:29px;line-height:1}
 .sidebar nav{display:flex;flex:1;min-height:0;flex-direction:column;gap:3px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#786f66 transparent;padding:14px 13px 18px}
 .sidebar .nav-button{flex:none;min-height:47px;display:block;text-align:left;padding:11px 15px;border-radius:11px;font-size:15px;line-height:1.35}
 .mobile-nav-group{display:block;flex:none;padding:17px 15px 7px;color:#b6a79c;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
 .mobile-nav-group:first-child{padding-top:5px}
 .sidebar-bottom{flex:none;margin:0!important;padding:13px 20px max(12px,env(safe-area-inset-bottom))!important;border-top:1px solid #ffffff24}
 .sidebar-bottom .nav-button{min-height:42px;padding:7px 0}
 .topbar .account{display:none}.topbar-start{width:100%;gap:11px}.topbar-start>span{font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-toggle{width:44px;height:44px;flex:none}
 .page{padding-top:19px}.page-head{margin-bottom:17px}.page-head h1{font-size:clamp(28px,7vw,34px)}
 .manager-quick,.page .quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .page .quick-actions .button{min-width:0;min-height:47px;white-space:normal;padding:9px 10px}
 .page .quick-actions .button:last-child:nth-child(odd){grid-column:1/-1}
 .booking-cards td:nth-child(4){display:block}.booking-cards .booking-flow{margin:10px 0}.booking-cards .booking-step-label{max-width:100%}
}
@media(max-width:400px){.sidebar{width:min(340px,92vw)}.page .quick-actions .button{font-size:13px;padding:10px 8px}}
