:root{--ink:#111;--muted:#686868;--line:#d8d8d8;--paper:#fff;--soft:#f4f4f2;--good:#176a45;--warn:#9b3a26;font:16px/1.45 Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.booking-shell{max-width:760px;margin:auto;padding:34px 24px 48px}header{padding:14px 0 32px;border-bottom:1px solid var(--ink)}
.wordmark{font-size:1.15rem;font-weight:800;letter-spacing:.18em}.wordmark-link{color:var(--ink);text-decoration:none}.wordmark-link:hover,.wordmark-link:focus-visible{text-decoration:underline;text-underline-offset:5px}.brand-lockup{display:flex;align-items:center;gap:11px;width:fit-content}.header-logo{display:block;width:88px;height:96px;object-fit:contain;flex:0 0 auto}header p,footer{color:var(--muted)}h1{font-size:clamp(1.65rem,5vw,2.5rem);line-height:1.1;margin:28px 0}
.booking-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.booking-header p{margin-bottom:0}.staff-link{border:1px solid var(--ink);color:var(--ink);padding:9px 15px;font-weight:700;text-decoration:none}.staff-link:hover,.staff-link:focus-visible{background:var(--ink);color:#fff}.booking-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}
button,.choice{appearance:none;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:13px 18px;font:inherit;font-weight:650;cursor:pointer}.choice{background:#fff;color:var(--ink);text-align:left;min-height:84px}.choice small{display:block;margin-top:6px;font-weight:400}.choice:hover,.choice:focus,.choice.selected{background:var(--ink);color:#fff}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.steps{display:flex;gap:18px;padding:20px 0;color:#888;font-size:.85rem;overflow:auto}.steps>span{display:grid;align-content:start;flex:0 0 auto}.steps b{font:inherit;font-weight:500;white-space:nowrap}.steps .active{color:var(--ink)}.steps .active b{font-weight:700}.steps small{display:block;max-width:150px;margin-top:2px;color:var(--good);font-size:.72rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:7px;margin-bottom:16px;font-weight:650}input,select,textarea{width:100%;border:1px solid #888;background:#fff;padding:12px;font:inherit;border-radius:0}textarea{min-height:110px;resize:vertical}.friendly-note{max-width:40rem;color:var(--muted);font-size:1.05rem;margin:-14px 0 24px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.slot{background:#fff;color:var(--ink)}.slot.selected{background:var(--ink);color:#fff}.day-available,.day-unavailable{grid-column:1/-1;padding:18px;margin:0 0 18px;background:var(--soft)}.day-available{border-left:4px solid var(--good)}.day-unavailable{border-left:4px solid var(--warn)}
.availability-calendar{max-width:560px;margin:0 0 20px;border:1px solid var(--line);padding:18px}.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:12px}.calendar-toolbar h2{margin:0;text-align:center;font-size:1.15rem}.calendar-nav{display:grid;place-items:center;min-height:44px;padding:0;background:#fff;color:var(--ink);font-size:1.8rem}.calendar-nav:hover,.calendar-nav:focus-visible{background:var(--soft)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase}.calendar-day{min-width:0;min-height:48px;padding:8px 2px;background:#fff;color:var(--ink);border-color:#999}.calendar-day.available:hover,.calendar-day.available:focus-visible{background:var(--good);border-color:var(--good);color:#fff}.calendar-day.selected{background:var(--ink);border-color:var(--ink);color:#fff}.calendar-day.unavailable{background:var(--soft);border-color:var(--soft);color:#aaa;text-decoration:line-through;cursor:not-allowed}.calendar-day.outside-month{opacity:.45}.calendar-loading{grid-column:1/-1;min-height:230px;margin:0;display:grid;place-items:center;color:var(--muted)}.calendar-legend{display:flex;gap:18px;margin-top:14px;color:var(--muted);font-size:.82rem}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:14px;height:14px;border:1px solid #999}.legend-unavailable{background:var(--soft);border-color:var(--soft)!important}
.password-control{display:grid;grid-template-columns:1fr auto}.password-control input{min-width:0}.password-toggle{background:#fff;color:var(--ink);white-space:nowrap;border-left:0;padding-inline:15px}.password-toggle:hover,.password-toggle:focus-visible{background:var(--soft)}
.service-menu{margin:24px 0;padding:20px;background:var(--soft)}.service-menu h2{margin:0 0 6px}.service-menu>p{margin:0 0 16px;color:var(--muted)}.service-menu details{border-top:1px solid var(--line)}.service-menu details:last-of-type{border-bottom:1px solid var(--line)}.service-menu summary{padding:15px 2px;font-weight:750;cursor:pointer}.service-menu-items{padding:0 0 10px}.service-menu-items label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0;padding:9px 2px;font-weight:500}.service-menu-items input{width:auto;margin:0}.service-menu-items strong{font-weight:700}.service-menu .service-menu-disclaimer{margin:16px 0 0;font-size:.88rem}
.back{background:transparent;color:var(--ink);border:0;padding:10px 0;text-decoration:underline}.summary{background:var(--soft);padding:20px;margin-bottom:20px}.eyebrow{font-size:.78rem;letter-spacing:.15em;font-weight:800;color:var(--good)}#error{color:var(--warn);font-weight:650;padding:14px 0}footer{margin-top:46px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem}
.deposit-notice{margin:0 0 18px;padding:16px;border-left:4px solid var(--good);background:var(--soft)}.deposit-notice p{margin:5px 0 0;color:var(--muted)}
.primary-link{display:inline-block;margin-top:20px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:13px 18px;font-weight:700;text-decoration:none}.primary-link:hover,.primary-link:focus-visible{background:#fff;color:var(--ink)}.manage-card{border:1px solid var(--line);padding:24px;margin:24px 0}.manage-card h2{margin-top:0}.manage-actions{display:flex;gap:12px;flex-wrap:wrap}.danger{background:var(--warn);border-color:var(--warn)}.status-note{padding:14px;background:var(--soft);border-left:4px solid var(--good)}
.manage-link-panel{margin:2rem auto 0;max-width:38rem;text-align:center}.manage-link-panel p{color:var(--muted);font-size:.9rem}
.confirmation{text-align:center;padding:28px 0}.confirmation h1{margin:12px 0}.confirmation-intro{max-width:34rem;margin:0 auto 28px;color:var(--muted);font-size:1.05rem}.confirmation-card{border:1px solid var(--line);text-align:center}.confirmation-highlight{display:grid;gap:5px;padding:26px;background:var(--soft)}.confirmation-highlight strong{font-size:1.45rem}.confirmation-highlight span{display:block}.confirmation-highlight #confirmation-turnaround{margin-top:8px;color:var(--muted);font-size:.92rem}.confirmation-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.confirmation-grid section{padding:22px}.confirmation-grid section+section{border-left:1px solid var(--line)}.confirmation h2{margin:0 0 8px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.confirmation p{margin:4px 0;white-space:pre-line}.confirmation-section{padding:22px;border-top:1px solid var(--line)}
.staff main{max-width:1180px;margin:auto;padding:28px}.toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:24px 0}.toolbar>*{min-width:0}.toolbar label{margin:0}.blackout-toolbar{display:grid;grid-template-columns:minmax(0,190px) minmax(220px,1fr) auto}.capacity-table-wrap{overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.capacity-table{width:100%;min-width:520px;border-collapse:collapse;text-align:left}.capacity-table th,.capacity-table td{padding:11px 14px;border-bottom:1px solid var(--line)}.capacity-table tr:last-child td{border-bottom:0}.capacity-table th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:var(--soft)}.capacity-table td:not(:first-child),.capacity-table th:not(:first-child){text-align:right}.capacity-table tr.blocked td:first-child{border-left:4px solid var(--warn);padding-left:10px}.capacity-status{font-weight:700}.capacity-status.closed{color:var(--warn)}
.staff-section{border-top:1px solid var(--ink)}.staff-section:last-of-type{border-bottom:1px solid var(--ink)}.staff-section>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;cursor:pointer;list-style:none}.staff-section>summary::-webkit-details-marker{display:none}.staff-section>summary h1{margin:0}.staff-section>summary:hover,.staff-section>summary:focus-visible{background:var(--soft)}.staff-section>summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.section-toggle-label::after{content:"Expand";color:var(--muted);font-size:.8rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.staff-section[open] .section-toggle-label::after{content:"Collapse"}.staff-section-content{padding:4px 4px 30px}.staff-section:not([open]) .staff-section-content{display:none}
.booking-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;flex-wrap:wrap}.booking-view-switch{display:flex}.booking-view-switch button{background:#fff;color:var(--ink);padding:9px 15px}.booking-view-switch button+button{border-left:0}.booking-view-switch button[aria-pressed="true"]{background:var(--ink);color:#fff}.staff-calendar-legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}.staff-calendar-legend span{display:flex;align-items:center;gap:6px}.staff-calendar-legend i{width:13px;height:13px;border:1px solid var(--ink)}.staff-calendar-legend .legend-active{background:var(--ink)}.staff-calendar-legend .legend-inactive{background:#eee;border-color:#bbb}.booking-calendar-wrap{overflow-x:auto;padding-bottom:8px}.staff-calendar{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px;border-top:1px solid var(--ink);border-left:1px solid var(--line)}.staff-calendar-day{min-height:178px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.staff-calendar-day>header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--soft);font-size:.74rem}.staff-calendar-day>header span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.staff-calendar-day.calendar-today>header{box-shadow:inset 4px 0 var(--good)}.calendar-blank{background:var(--soft)}.staff-calendar-bookings{display:grid;gap:6px;padding:7px}.calendar-empty{padding:8px 4px;color:#aaa;font-size:.76rem}.calendar-booking{display:grid;gap:2px;width:100%;min-width:0;padding:8px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--ink);font-size:.76rem;line-height:1.25}.calendar-booking:hover,.calendar-booking:focus-visible{background:var(--soft)}.calendar-booking strong,.calendar-booking small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-booking .pill{margin-top:3px}.booking-list{display:grid;gap:8px}.booking-row{display:grid;width:100%;grid-template-columns:150px 1fr 160px 140px;gap:14px;align-items:center;padding:14px;border:0;border-top:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.booking-row strong small{display:block}.booking-row:hover,.booking-row:focus-visible{background:var(--soft)}.booking-muted{color:#aaa;border-color:#cfcfcf}.booking-muted .pill,.booking-muted small{color:#aaa}.pill{font-size:.75rem;font-weight:800;letter-spacing:.04em}dialog{width:min(680px,92vw);border:1px solid var(--ink);padding:28px}.close{float:right;padding:6px 10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.help-text{margin:-8px 0 16px;color:var(--muted);font-size:.92rem}.audit{border-left:2px solid var(--ink);padding-left:14px}.audit p{margin:0;padding:0 0 14px}.audit p:last-child{padding-bottom:0}.audit-meta{color:var(--muted)}
.staff-account-form{display:grid;grid-template-columns:1fr 1.25fr 1fr 1.5fr auto;gap:12px;align-items:end;margin:24px 0}.staff-account-form label{margin:0}.staff-account-form>button{min-height:49px}.staff-table{min-width:850px}.staff-table th,.staff-table td{text-align:left!important}.staff-actions{display:flex;gap:7px;justify-content:flex-end}.staff-actions button{padding:8px 10px;font-size:.84rem}.staff-actions .secondary{background:#fff;color:var(--ink)}.account-inactive{color:var(--muted)}
.booking-type-controls{border-top:1px solid var(--ink)}.booking-type-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.booking-type-row p{margin:0}.booking-type-row button{min-width:140px}.booking-type-row .secondary{background:#fff;color:var(--ink)}
.staff-nav{display:flex;gap:4px;margin:18px 0 26px;border-bottom:1px solid var(--line)}.staff-nav a{padding:10px 14px;color:var(--ink);font-weight:750;text-decoration:none}.staff-nav a:hover,.staff-nav a:focus-visible{background:var(--soft)}.staff-nav a.active{background:var(--ink);color:#fff}.staff-scheduler-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.staff-scheduler-heading h1{margin-bottom:14px}.week-controls{display:flex;align-items:end;gap:6px}.week-controls label{margin:0}.week-controls button{min-height:49px;padding:10px 15px}.staff-schedule-legend{display:flex;gap:18px;margin:12px 0;color:var(--muted);font-size:.82rem}.staff-schedule-legend span{display:flex;align-items:center;gap:6px}.staff-schedule-legend i{width:15px;height:15px;border:1px solid var(--line)}.staff-schedule-legend .schedule-working{background:#fff;border-color:var(--good)}.staff-schedule-legend .schedule-off{background:var(--soft)}.staff-schedule-legend .schedule-away{background:#f5dcd6;border-color:var(--warn)}.staff-week-wrap{overflow-x:auto;border:1px solid var(--ink)}.staff-week-grid{display:grid;grid-template-columns:170px repeat(7,minmax(116px,1fr));min-width:982px}.staff-week-grid>*{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.staff-week-corner,.staff-week-person{padding:12px;background:#fff}.staff-week-person{display:grid;align-content:center}.staff-week-person small{color:var(--muted)}.staff-week-day-header,.staff-week-capacity{display:grid;gap:2px;padding:10px;background:var(--soft);color:var(--ink);text-align:left;border:0}.staff-week-day-header small{color:var(--muted)}.staff-week-day-header.selected,.staff-week-capacity.selected{box-shadow:inset 4px 0 var(--good)}.staff-week-cell{display:grid;place-items:center;min-height:62px;padding:8px;text-align:center;font-size:.78rem}.staff-week-cell.schedule-working{background:#fff;color:var(--good)}.staff-week-cell.schedule-off{background:var(--soft);color:#888}.staff-week-cell.schedule-away{background:#f5dcd6;color:var(--warn)}.staff-week-capacity{background:#fff}.staff-week-capacity span{font-size:.78rem;color:var(--muted)}.capacity-breakdown{margin:22px 0 34px;padding:22px;border-left:4px solid var(--ink);background:var(--soft)}.capacity-breakdown h2{margin-top:0}.capacity-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.capacity-breakdown-grid>p,.capacity-breakdown-grid>div{display:grid;align-content:start;gap:4px;margin:0}.capacity-breakdown-grid span{color:var(--muted);font-size:.8rem;font-weight:750;text-transform:uppercase}.capacity-breakdown-grid strong{font-size:1.25rem}.capacity-breakdown-grid small{color:var(--muted)}.capacity-breakdown-grid ul{margin:4px 0;padding-left:18px}.capacity-over{color:var(--warn)}.time-off-form{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr auto;gap:12px;align-items:end;margin:22px 0}.time-off-form label{margin:0}.time-off-form-actions{display:flex;gap:7px}.secondary{background:#fff;color:var(--ink)}.time-off-table th,.time-off-table td{text-align:left!important}
@media(max-width:900px){.staff-account-form{grid-template-columns:1fr 1fr}.staff-account-form>button{grid-column:1/-1}}
@media(max-width:900px){.time-off-form{grid-template-columns:1fr 1fr}.time-off-form-actions{grid-column:1/-1}.capacity-breakdown-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.choice-grid,.fields,.detail-grid,.confirmation-grid,.staff-account-form,.time-off-form,.capacity-breakdown-grid{grid-template-columns:1fr}.confirmation-grid section+section{border-left:0;border-top:1px solid var(--line)}.booking-row,.booking-type-row{grid-template-columns:1fr}.booking-shell{padding:22px 18px}.steps{gap:12px}.staff main{padding:18px}.booking-header{gap:14px}.staff-link{padding:8px 12px}.blackout-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch}.blackout-toolbar label,.blackout-toolbar input,.blackout-toolbar button,.booking-type-row button{width:100%;max-width:100%}.capacity-table th,.capacity-table td{padding:10px}.booking-footer{align-items:flex-start;flex-direction:column}.booking-view-toolbar,.staff-scheduler-heading{align-items:flex-start;flex-direction:column}.staff-calendar-legend,.staff-schedule-legend{display:grid;gap:6px}.staff-calendar{grid-template-columns:repeat(7,minmax(128px,1fr));min-width:896px}.week-controls{width:100%}.week-controls label{flex:1}.staff-nav{overflow-x:auto}.time-off-form-actions{grid-column:auto;flex-wrap:wrap}}
.developer-banner{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;background:#ffe08a;color:#242012;padding:12px 18px;font-size:14px;border-bottom:2px solid #b27a00}.developer-banner strong{letter-spacing:.08em}.developer-banner span{text-align:center}
.staff-week-person,.staff-week-corner{position:sticky;left:0;z-index:1}.time-off-form>*{min-width:0}.time-off-form input,.time-off-form select{max-width:100%}
.staff-month-calendar{user-select:none;-webkit-user-select:none}.staff-month-calendar .month-date.date-range-selected{background:#d5eafa;box-shadow:inset 0 0 0 2px #0878bf}
.day-details-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.day-details-footer button{padding:10px 16px;border-radius:4px;font-size:.9rem}
.day-details-dialog{width:min(600px,calc(100vw - 32px));max-height:85vh;max-height:85dvh;overflow:auto;padding:20px;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 60px #0003}.day-details-dialog::backdrop{background:#0003}.day-details-actions{display:flex;justify-content:flex-end;margin-bottom:4px}.day-details-actions button{padding:8px 12px;font-size:.85rem;min-height:40px;border-color:var(--line);border-radius:4px}.day-details-dialog .capacity-breakdown{margin:0;padding:0;border:0;background:#fff}.day-details-dialog h2{margin:0 0 20px;font-size:1.25rem}.day-details-dialog .capacity-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.day-details-dialog .capacity-breakdown-grid strong{font-size:1.05rem}.day-details-dialog .capacity-breakdown-grid span{font-size:.7rem}.day-details-dialog .capacity-breakdown-grid small,.day-details-dialog .capacity-breakdown-grid li,.day-details-dialog .capacity-breakdown-grid div>p{font-size:.85rem}.day-details-dialog .staff-day-people{display:block;margin-top:18px}.day-details-dialog .staff-day-people p{display:grid;grid-template-columns:120px 1fr;gap:8px;margin:12px 0;font-size:.85rem}.day-details-dialog button:focus-visible{outline:2px solid #0878bf;outline-offset:2px}@media(max-width:380px){.day-details-dialog{padding:16px}.day-details-dialog .capacity-breakdown-grid{grid-template-columns:1fr}.day-details-dialog .staff-day-people p{grid-template-columns:1fr;gap:3px}}
.schedule-calendar-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:24px 0}.schedule-calendar-toolbar button{border-color:var(--line);border-radius:5px;padding:9px 17px;min-height:44px}.schedule-calendar-toolbar h2{font-size:1.6rem;font-weight:650;margin:0 14px;flex:1}.schedule-calendar-toolbar label{margin:0;font-size:.75rem;color:var(--muted);gap:3px}.schedule-calendar-toolbar input,.schedule-calendar-toolbar select{padding:8px;font-size:.9rem;border-color:var(--line);border-radius:4px}.schedule-jump{max-width:175px}.staff-schedule-legend[hidden]{display:none}
.staff-month-calendar{width:100%;min-width:770px;table-layout:fixed;border-collapse:collapse;color:#424844}.staff-month-calendar th{font-weight:500;text-align:left;padding:10px;border:1px solid var(--line);background:#fff;font-size:.9rem}.staff-month-calendar td{padding:0;border-left:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top}.month-week{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.month-date{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:75px;padding:8px 10px;background:transparent;border:0;color:inherit;font-weight:400;text-align:left}.month-date-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;font-size:1.1rem}.month-date small{font-size:.68rem;color:var(--muted);font-weight:400}.month-date small.capacity-over{color:var(--warn)}.month-outside{background:#f8f9f8;color:#7b827d}.month-date-number.is-today{background:#0878bf;color:white;border-radius:50%;font-weight:700}.month-selected{box-shadow:inset 0 3px #0878bf;background:#f1f8fc}.month-date:hover{background:#f1f8f4}.month-events{height:32px}.month-event-cell{padding:2px 3px!important}.month-time-off{display:block;width:100%;height:28px;padding:3px 8px;background:#d6f4e6;color:#265642;border:0;border-left:3px solid #69cca0;border-radius:5px;font-size:.82rem;font-weight:600;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.month-time-off:hover{background:#bcead5}.month-time-off.continues-before{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.month-time-off.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.month-week-bottom button{display:block;width:100%;height:25px;padding:0;border:0;background:transparent}.staff-month-calendar button:focus-visible{outline:2px solid #0878bf;outline-offset:-2px}.staff-day-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px;border-top:1px solid var(--line)}.staff-day-people p{display:grid;align-content:start;gap:6px}.staff-day-people span{font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:620px){.schedule-calendar-toolbar h2{font-size:1.25rem;margin:0 4px}.schedule-calendar-toolbar .schedule-jump,.schedule-view-label{flex:1;max-width:none;min-width:130px}.staff-day-people{grid-template-columns:1fr;gap:0}.staff-month-calendar{min-width:0}.schedule-calendar-toolbar button{padding:9px 12px}}

.month-compact-label{display:none}
@media(max-width:620px){
  .staff-month-calendar{width:100%;min-width:0}
  .staff-month-calendar .month-wide-label{display:none}
  .staff-month-calendar .month-compact-label{display:inline}
  .staff-month-calendar th{padding:8px 0;text-align:center;font-size:.75rem}
  .month-date{align-items:center;min-width:0;min-height:70px;padding:6px 2px;gap:3px;text-align:center}
  .month-date-number{min-width:28px;min-height:28px;font-size:.9rem}
  .month-date small{max-width:100%;font-size:.65rem;white-space:nowrap}
  .month-events{height:26px}
  .month-event-cell{padding:1px!important}
  .month-time-off{height:24px;padding:1px 2px;font-size:.65rem;line-height:22px}
  .month-week-bottom button{height:10px}
  .schedule-calendar-toolbar input{min-width:0;width:100%;box-sizing:border-box}
}

.staff-table .staff-actions{flex-wrap:wrap}#edit-staff-dialog{max-width:calc(100vw - 32px);max-height:85dvh;overflow:auto;box-sizing:border-box}#edit-staff-dialog input{max-width:100%;box-sizing:border-box}

.weekly-schedule-summary{display:grid;gap:6px;min-width:180px;text-align:left}.weekly-schedule-summary small{display:block;color:var(--muted)}.weekly-schedule-summary button{justify-self:start;padding:7px 10px;font-size:.82rem}.weekly-day-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 24px;padding:16px;border:1px solid var(--line)}.weekly-day-options label{display:flex;align-items:center;gap:9px;margin:0}.weekly-day-options input{width:20px;height:20px;margin:0}#weekly-schedule-dialog{max-width:calc(100vw - 32px);max-height:85dvh;overflow:auto;box-sizing:border-box}#weekly-schedule-dialog input[type=date]{min-width:0;max-width:100%;box-sizing:border-box}

.time-off-window{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.time-off-window[hidden]{display:none}.time-off-window .help-text{grid-column:1/-1;margin:0}.time-off-form label[hidden]{display:none}@media(max-width:620px){.time-off-window{grid-column:auto}}
