.booking-split{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.booking-split.panel-open{grid-template-columns:minmax(0,1fr) minmax(390px,480px);transition:grid-template-columns .2s ease}.booking-split>.panel{min-width:0;margin:0}.booking-split.panel-open>.panel{grid-column:1}.booking-split.panel-open>.booking-drawer{grid-column:2;grid-row:1;position:sticky!important;top:16px!important;margin:0!important}.booking-split>.panel>h2{display:none}.booking-split .calendar-lead{margin-bottom:12px;padding:0 2px}.booking-split .calendar-lead p{margin:0}.staff-calendar-controls{display:grid;grid-template-columns:44px minmax(190px,auto) 44px auto 1fr auto;grid-template-areas:'prev label next today spacer create';gap:8px;align-items:center;padding:10px 0;border-top:1px solid #e5ebf6;border-bottom:1px solid #e5ebf6}.staff-calendar-controls [data-move='-1']{grid-area:prev}.staff-calendar-controls [data-move='1']{grid-area:next}.staff-calendar-controls #staff-date-label{grid-area:label;text-align:center;color:var(--navy);font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:20px}.staff-calendar-controls .today-link{grid-area:today;min-height:36px;padding:6px 8px;border:0;background:transparent;color:var(--blue);text-decoration:underline;font-weight:700}.staff-calendar-controls #new-booking{grid-area:create}.staff-calendar-controls [data-move]{min-width:40px;min-height:40px;padding:0;border:1px solid #cbd7ef;border-radius:50%;background:#fff;color:var(--blue);font-size:26px;line-height:1}.staff-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin:10px 0 14px}.staff-week-strip button{min-height:48px;padding:5px;border:0;border-radius:4px;background:transparent;color:#536079}.staff-week-strip button span,.staff-week-strip button strong{display:block}.staff-week-strip button.selected-day{background:#eef3fc;color:var(--navy);box-shadow:inset 0 -3px var(--yellow)}.staff-day-agenda{display:grid;gap:8px}.staff-booking-card{border:1px solid #dfe6f2;border-left:4px solid var(--blue);border-radius:6px;background:#fff;padding:12px}.staff-booking-summary{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start}.staff-booking-time{color:var(--navy)}.staff-booking-card h3{font-size:20px}.booking-card-details{margin-top:8px}.booking-card-details summary{color:var(--blue);cursor:pointer;font-weight:700}.empty-day{padding:22px;text-align:center;background:#f8faff;color:#666;border-radius:6px}
@media(max-width:900px){.booking-split.panel-open{grid-template-columns:minmax(0,1fr) minmax(340px,420px)}}@media(max-width:700px){.booking-split,.booking-split.panel-open{grid-template-columns:1fr}.booking-split.panel-open>.panel{grid-column:1;grid-row:1}.booking-split.panel-open>.booking-drawer{grid-column:1;grid-row:2;position:static!important}.staff-calendar-controls{grid-template-columns:42px 1fr 42px auto;grid-template-areas:'prev label next today' 'create create create create'}.staff-calendar-controls #new-booking{width:100%}.staff-week-strip{gap:0}.staff-week-strip button{min-width:0;min-height:44px;padding:4px 1px;font-size:12px}.staff-booking-summary{grid-template-columns:1fr;gap:3px}.staff-booking-card{padding:11px}}
.staff-calendar-controls{grid-template-columns:auto minmax(190px,auto) auto auto 1fr auto}.staff-calendar-controls [data-move]{min-width:108px;min-height:42px;padding:8px 12px;border-radius:4px;font-size:14px;line-height:1.2;font-weight:700}@media(max-width:700px){.staff-calendar-controls{grid-template-columns:1fr 1fr;grid-template-areas:'label label' 'prev next' 'today create'}.staff-calendar-controls [data-move]{width:100%;min-width:0}.staff-calendar-controls .today-link{text-align:left}.staff-calendar-controls #new-booking{width:100%}}
.staff-calendar-controls [data-move],.staff-calendar-controls #new-booking{white-space:nowrap}.booking-split.panel-open .staff-calendar-controls{grid-template-columns:auto minmax(150px,1fr) auto auto auto}.booking-split.panel-open .staff-calendar-controls #new-booking{grid-column:4/6;grid-row:2;width:100%}.booking-split.panel-open .staff-calendar-controls .today-link{grid-column:1/2;grid-row:2;text-align:left}@media(max-width:700px){.booking-split.panel-open .staff-calendar-controls{grid-template-columns:1fr 1fr}.booking-split.panel-open .staff-calendar-controls #new-booking{grid-column:1/3;grid-row:auto}.booking-split.panel-open .staff-calendar-controls .today-link{grid-column:auto;grid-row:auto}}
.booking-split.panel-open .staff-calendar-controls{grid-template-columns:auto minmax(150px,1fr) auto;grid-template-areas:'prev label next' 'today create create'}.booking-split.panel-open .staff-calendar-controls #new-booking,.booking-split.panel-open .staff-calendar-controls .today-link{grid-column:auto;grid-row:auto}.booking-split.panel-open .staff-calendar-controls #new-booking{width:100%}@media(max-width:700px){.booking-split.panel-open .staff-calendar-controls{grid-template-columns:1fr 1fr;grid-template-areas:'label label' 'prev next' 'today create'}}
button,.button{transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease;transform-origin:center}button:focus-visible,.button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;box-shadow:0 0 0 2px var(--navy)}@media(hover:hover) and (pointer:fine){button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(38,81,178,.13)}button.primary:hover,.button.primary:hover{background:var(--navy);color:#fff}button.secondary:hover,.button.secondary:hover{border-color:var(--blue);background:#f3f6fc;color:var(--blue)}button.danger:hover,.button.danger:hover{background:#fff3f1;border-color:var(--danger)}.portal-tabs button:hover{background:#eef3fc;color:var(--navy)}.portal-tabs button[aria-selected=true]:hover{background:var(--navy);color:#fff}.today-link:hover{box-shadow:none;text-decoration-thickness:2px}}button:active,.button:active{transform:scale(.985);box-shadow:0 1px 3px rgba(38,81,178,.12)}button:disabled,.button[aria-disabled=true]{transform:none;box-shadow:none;cursor:not-allowed;opacity:.55}@media(prefers-reduced-motion:reduce){button,.button{transition:background-color .01s,border-color .01s,color .01s!important}button:hover,.button:hover,button:active,.button:active{transform:none!important}}
@media(min-width:701px){.booking-split{grid-template-columns:minmax(0,1fr) minmax(0,0fr);gap:0;transition:grid-template-columns .22s ease,gap .22s ease}.booking-split.panel-open{grid-template-columns:minmax(0,1fr) minmax(390px,480px);gap:18px}.booking-split>.panel{grid-column:1;grid-row:1}.booking-split>.booking-drawer{grid-column:2;grid-row:1;min-width:0;animation:none!important;transition:transform .22s ease,opacity .16s ease}.booking-split>.booking-drawer.panel-enter{animation:panel-slide-in .22s ease-out!important}.booking-split>.booking-drawer.panel-exit{overflow:hidden!important;animation:panel-slide-out .22s ease-in!important}@keyframes panel-slide-in{from{transform:translateX(28px);opacity:1}to{transform:translateX(0);opacity:1}}@keyframes panel-slide-out{from{transform:translateX(0);opacity:1}to{transform:translateX(28px);opacity:1}}}@media(max-width:700px){.booking-split>.booking-drawer.panel-enter{animation:panel-stack-in .18s ease-out!important}.booking-split>.booking-drawer.panel-exit{animation:panel-stack-out .18s ease-in!important}@keyframes panel-stack-in{from{transform:translateY(-8px);opacity:1}to{transform:translateY(0);opacity:1}}@keyframes panel-stack-out{from{transform:translateY(0);opacity:1}to{transform:translateY(-8px);opacity:1}}}@media(prefers-reduced-motion:reduce){.booking-split,.booking-split>.booking-drawer{transition:none!important;animation:none!important}}
@media(min-width:701px){.booking-split,.booking-split.panel-open{display:block;grid-template-columns:none;gap:0;transition:margin-right .24s ease,width .24s ease}.booking-split{margin-right:0}.booking-split.panel-open{margin-right:498px}.booking-split>.panel,.booking-split.panel-open>.panel{width:100%;grid-column:auto;grid-row:auto}.booking-split>.booking-drawer,.booking-split.panel-open>.booking-drawer{position:fixed!important;z-index:40;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:480px!important;height:100dvh!important;max-height:none!important;margin:0!important;border-radius:0!important;border-top:0!important;border-left:2px solid rgba(38,81,178,.28)!important;overflow-y:auto!important;background:#fff!important;box-shadow:-10px 0 30px rgba(22,45,110,.14)!important;transform:translateX(100%);opacity:1}.booking-split.panel-open>.booking-drawer{transform:translateX(0)}.booking-split>.booking-drawer.panel-enter{animation:edge-drawer-in .24s ease-out!important}.booking-split>.booking-drawer.panel-exit{animation:edge-drawer-out .24s ease-in!important}@keyframes edge-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes edge-drawer-out{from{transform:translateX(0)}to{transform:translateX(100%)}}}@media(max-width:700px){.booking-split,.booking-split.panel-open{display:block;margin-right:0}.booking-split>.booking-drawer,.booking-split.panel-open>.booking-drawer{position:fixed!important;z-index:40;inset:0 0 0 auto!important;width:100%!important;height:100dvh!important;max-height:none!important;margin:0!important;border-radius:0!important;overflow-y:auto!important;background:#fff!important;transform:translateX(100%)}.booking-split.panel-open>.booking-drawer{transform:translateX(0)}.booking-split>.booking-drawer.panel-enter{animation:edge-drawer-in .22s ease-out!important}.booking-split>.booking-drawer.panel-exit{animation:edge-drawer-out .22s ease-in!important}}@media(prefers-reduced-motion:reduce){.booking-split{transition:none!important}.booking-split>.booking-drawer{animation:none!important;transition:none!important}}
#resource-form,#organisation-form{align-items:flex-end}#resource-form>button,#organisation-form>button{flex:0 0 auto;width:auto;min-height:44px;padding:8px 14px;font-size:14px;background:#fff;color:var(--blue);border:1px solid rgba(38,81,178,.45)}[data-panel='spaces'] .booking .actions button,[data-panel='organisations'] .booking .actions button{min-height:40px;padding:7px 11px;font-size:14px}@media(max-width:700px){#resource-form,#organisation-form{align-items:flex-end}#resource-form>label,#organisation-form>label{flex:1 1 190px}#resource-form>button,#organisation-form>button{flex:0 0 auto!important;width:auto!important;min-height:44px}[data-panel='spaces'] .booking .actions button,[data-panel='organisations'] .booking .actions button{flex:0 0 auto;min-height:44px}}
@media(min-width:701px){body{--booking-drawer-width:480px}body main{width:min(1200px,100%);transition:width .24s ease,margin-left .24s ease,margin-right .24s ease}body.booking-panel-open main{width:calc(100% - var(--booking-drawer-width));max-width:none;margin-left:0;margin-right:var(--booking-drawer-width)}body.booking-panel-open .booking-split.panel-open{margin-right:0}.booking-split>.booking-drawer,.booking-split.panel-open>.booking-drawer{width:var(--booking-drawer-width)!important}}@media(min-width:701px) and (max-width:1100px){body{--booking-drawer-width:420px}}@media(max-width:700px){body.booking-panel-open main{width:100%;margin:0 auto}}
@media(min-width:701px){body{--workspace-shift:240px}body main{width:min(1200px,100%);max-width:1200px;margin-left:auto;margin-right:auto;transition:transform .26s cubic-bezier(.22,.8,.28,1)!important;will-change:transform}body.booking-panel-open main{width:min(1200px,100%);max-width:1200px;margin-left:auto;margin-right:auto;transform:translateX(calc(-1 * var(--workspace-shift)))}body.booking-panel-open .booking-split.panel-open{margin-right:0}.toolbar .actions{transition:transform .26s cubic-bezier(.22,.8,.28,1)}body.booking-panel-open .toolbar .actions{transform:translateX(-180px)}}@media(min-width:701px) and (max-width:1100px){body{--workspace-shift:190px}body.booking-panel-open .toolbar .actions{transform:translateX(-150px)}}@media(max-width:700px){body.booking-panel-open main{transform:none;width:100%;margin:0 auto}}@media(prefers-reduced-motion:reduce){body main,.toolbar .actions{transition:none!important}}
#portal-canvas{width:100%;transition:transform .26s cubic-bezier(.22,.8,.28,1);will-change:transform}body.booking-panel-open #portal-canvas{transform:translateX(-240px)}body.booking-panel-open main{transform:none!important}body.booking-panel-open .toolbar .actions{transform:none!important}body>#booking-form.booking-drawer{position:fixed!important;z-index:50;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:480px!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:24px!important;border:0!important;border-left:2px solid rgba(38,81,178,.28)!important;border-radius:0!important;overflow-y:auto!important;background:#fff!important;box-shadow:-10px 0 30px rgba(22,45,110,.14)!important;transform:translateX(100%);opacity:1}body.booking-panel-open>#booking-form.booking-drawer{transform:translateX(0)}body>#booking-form.booking-drawer.panel-enter{animation:edge-drawer-in .24s ease-out!important}body>#booking-form.booking-drawer.panel-exit{animation:edge-drawer-out .24s ease-in!important}@media(min-width:701px) and (max-width:1100px){body.booking-panel-open #portal-canvas{transform:translateX(-190px)}body>#booking-form.booking-drawer{width:420px!important}}@media(max-width:700px){body.booking-panel-open #portal-canvas{transform:none}body>#booking-form.booking-drawer{width:100%!important;padding:18px!important}}@media(prefers-reduced-motion:reduce){#portal-canvas,body>#booking-form.booking-drawer{transition:none!important;animation:none!important}}
@media(min-width:1101px){body.booking-panel-open #portal-canvas{transform:translateX(-416px)}}@media(min-width:701px) and (max-width:1100px){body.booking-panel-open #portal-canvas{transform:translateX(-396px)}}
@media(min-width:1101px){#portal-canvas{transition:transform .24s ease-out}body.booking-panel-open #portal-canvas{transform:translateX(-160px)}}@media(min-width:701px) and (max-width:1100px){#portal-canvas{transition:transform .24s ease-out}body.booking-panel-open #portal-canvas{transform:translateX(-120px)}}
@media(min-width:1101px){body>#booking-form.booking-drawer{width:min(540px,calc(100vw - 320px))!important}}@media(min-width:701px) and (max-width:1100px){body>#booking-form.booking-drawer{width:min(480px,48vw)!important}}
#portal-canvas,body>#booking-form.booking-drawer{transition:transform .26s cubic-bezier(.22,.8,.28,1)!important}body>#booking-form.booking-drawer.panel-enter,body>#booking-form.booking-drawer.panel-exit{animation:none!important}@media(prefers-reduced-motion:reduce){#portal-canvas,body>#booking-form.booking-drawer{transition:none!important}}
.top-inner{flex-wrap:wrap}.top .header-actions{margin-left:18px;display:flex;gap:8px;flex-wrap:nowrap}.top .header-actions .button[href='/availability']{min-height:42px;padding:9px 14px;border:1px solid var(--yellow);background:var(--yellow);color:var(--navy)}.top .header-actions #logout{min-height:42px;padding:9px 14px;border:2px solid var(--yellow);background:var(--blue);color:#fff}.top .header-actions .button[href='/availability']:hover{background:#ffcf1a;color:var(--navy);border-color:#ffcf1a}.top .header-actions #logout:hover{background:var(--navy);color:#fff;border-color:var(--yellow)}.top .header-actions .button[href='/availability']:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 2px var(--navy)}.top .header-actions #logout:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;box-shadow:0 0 0 2px #fff}@media(max-width:700px){.top .header-actions{width:100%;margin-left:0;margin-top:8px}.top .header-actions .button,.top .header-actions button{flex:1 1 auto;text-align:center;min-width:0}}
.top .header-actions{margin-left:auto;margin-right:24px;align-items:center;justify-content:flex-end}@media(max-width:700px){.top .header-actions{width:100%;margin-left:0;margin-right:0;justify-content:stretch}}
@media(min-width:1101px){body{--active-drawer-width:min(600px,calc(100vw - 320px));--content-right:calc((100vw + min(1200px,100vw))/2 - 24px);--drawer-left:calc(100vw - var(--active-drawer-width));--portal-clear-shift:max(220px,calc(var(--content-right) - var(--drawer-left)))}body>#booking-form.booking-drawer{width:var(--active-drawer-width)!important}body.booking-panel-open #portal-canvas{transform:translateX(calc(0px - var(--portal-clear-shift)))}}
body.booking-panel-open.booking-panel-closing #portal-canvas{transform:translateX(0)!important}body.booking-panel-open.booking-panel-closing>#booking-form.booking-drawer{transform:translateX(100%)!important}
.site-footer{transition:transform .26s cubic-bezier(.22,.8,.28,1)}@media(min-width:1101px){body.booking-panel-open .site-footer{transform:translateX(calc(0px - var(--portal-clear-shift)))}}@media(min-width:701px) and (max-width:1100px){body.booking-panel-open .site-footer{transform:translateX(-120px)}}@media(max-width:700px){body.booking-panel-open .site-footer{transform:none}}body.booking-panel-open.booking-panel-closing .site-footer{transform:translateX(0)!important}@media(prefers-reduced-motion:reduce){.site-footer{transition:none}}
.staff-resource-schedule{display:grid;grid-template-columns:72px repeat(var(--lane-count),minmax(100px,1fr));border:1px solid #dbe4f5;border-radius:8px;overflow:hidden;background:#fff}.schedule-corner,.schedule-lane-heading,.schedule-time,.schedule-lane-cell{padding:7px;border-right:1px solid #e3e8f2;border-bottom:1px solid #e3e8f2}.schedule-corner,.schedule-lane-heading{position:sticky;top:0;z-index:2;background:#eef3fc;color:var(--navy);text-align:center}.schedule-lane-heading{font-size:13px}.schedule-time{min-height:34px;background:#f8faff;color:var(--navy);font-size:12px;text-align:right}.schedule-time.half-hour{color:#71798a;font-size:11px}.schedule-lane-cell{min-width:0;min-height:34px;background:#fff}.schedule-lane-cell.half-hour{border-bottom-color:#edf1f7}.schedule-lane-cell:empty{background:repeating-linear-gradient(135deg,#fff,#fff 8px,#fafbfe 8px,#fafbfe 16px)}.staff-resource-schedule .staff-booking-card{position:relative;z-index:1;padding:7px;border-left-width:3px}.staff-resource-schedule .staff-booking-summary{display:block}.staff-resource-schedule .staff-booking-time{display:block;margin-bottom:3px;font-size:11px}.staff-resource-schedule .staff-booking-card h3{font-size:14px;line-height:1.15}.staff-resource-schedule .meta{font-size:11px}.staff-resource-schedule .booking-card-details summary{font-size:11px}.staff-resource-schedule+.staff-day-agenda{display:none}@media(max-width:900px){.staff-resource-schedule{display:none}.staff-resource-schedule+.staff-day-agenda{display:grid}}
.schedule-range-control{display:flex;justify-content:flex-end;margin:0 0 8px}.schedule-range-control button{min-height:36px;padding:6px 10px;font-size:13px}@media(max-width:900px){.schedule-range-control{display:none}}
.organisation-legend{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.legend-filter{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 8px;border:1px solid #d7dfed;background:#fff;color:var(--navy);font-size:12px}.legend-filter>span:first-child{width:12px;height:12px;border:3px solid var(--legend-colour);border-radius:3px;background:color-mix(in srgb,var(--legend-colour) 12%,white)}.legend-filter[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 -2px var(--yellow)}.organisation-colour{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:13px;font-weight:700}.organisation-colour input{width:38px;height:32px;padding:2px;border:1px solid #cbd7ef;border-radius:5px}@media(max-width:900px){.organisation-legend{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.legend-filter{flex:0 0 auto}}
.staff-booking-card{cursor:pointer;border-left-color:var(--org-colour)!important;background:color-mix(in srgb,var(--org-colour) 9%,white);transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.staff-booking-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(22,45,110,.14);background:color-mix(in srgb,var(--org-colour) 14%,white)}.staff-booking-card:active{transform:translateY(0)}.staff-booking-card:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;box-shadow:0 0 0 2px var(--blue)}.category-badge{display:inline-block;padding:1px 5px;border:1px solid currentColor;border-radius:999px;background:#fff;font-size:.9em;font-weight:700;text-transform:capitalize}.booking-details-dialog{width:min(520px,calc(100vw - 32px));padding:22px;border:1px solid #cbd7ef;border-radius:10px;box-shadow:0 18px 55px rgba(22,45,110,.22)}.booking-details-dialog::backdrop{background:rgba(18,30,61,.4)}.booking-detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:2px solid rgba(245,194,0,.6)}.booking-details-dialog dl{display:grid;grid-template-columns:135px 1fr;gap:8px 14px;margin:18px 0}.booking-details-dialog dt{font-weight:700;color:var(--navy)}.booking-details-dialog dd{margin:0}.booking-details-dialog .actions{justify-content:flex-end}@media(max-width:700px){.booking-details-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:18px;border:0;border-radius:0}.booking-details-dialog dl{grid-template-columns:1fr;gap:3px}.booking-details-dialog dd{margin-bottom:9px}.booking-details-dialog .actions{display:grid;grid-template-columns:1fr}.booking-details-dialog .actions button{width:100%}}@media(prefers-reduced-motion:reduce){.staff-booking-card{transition:none}.staff-booking-card:hover{transform:none}}
#resources-admin .booking>.actions,#organisations-admin .booking>.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}#resources-admin .booking>.actions button,#organisations-admin .booking>.actions button{width:auto;min-width:0;min-height:38px;padding:6px 9px;font-size:13px;line-height:1.1}#resources-admin .booking>.actions .danger,#organisations-admin .booking>.actions .danger{border-color:#c9827a;background:#fff7f5;color:#8e2820}@media(max-width:700px){#resources-admin .booking>.actions,#organisations-admin .booking>.actions{justify-content:flex-start}#resources-admin .booking>.actions button,#organisations-admin .booking>.actions button{min-height:44px;padding:8px 10px}}
.colour-picker{min-width:260px;margin:0;padding:8px 10px;border:1px solid #dbe4f5;border-radius:6px}.colour-picker legend,.organisation-colour-editor>span{font-weight:700;color:var(--navy)}.colour-swatches{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.colour-swatch{display:inline-flex;align-items:center;gap:5px;width:auto;min-height:34px;padding:4px 7px;border:1px solid #d7dfed;background:#fff;color:var(--navy);font-size:12px}.colour-swatch>span:first-child{width:14px;height:14px;border-radius:3px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}.colour-swatch[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 -2px var(--yellow)}.colour-swatch:disabled{opacity:.38;text-decoration:line-through}.organisation-colour-editor{grid-column:1/-1;margin:8px 0}.organisation-colour-editor .colour-swatches{max-width:760px}@media(max-width:700px){.colour-picker{min-width:100%}.colour-swatch{min-height:44px}}
.staff-resource-schedule{background:#f7f8fa}.schedule-corner,.schedule-lane-heading{background:#f0f2f5}.schedule-time{background:#f3f4f6;color:#17213d;font-size:14px;font-weight:800}.schedule-time.half-hour{color:#3e485c;font-size:13px}.schedule-lane-cell{background:#fbfbfc;border-color:#eceff3}.schedule-lane-cell.half-hour{border-bottom-color:#f1f2f5}.schedule-lane-cell:empty{background:#fbfbfc}
.staff-resource-schedule{grid-template-columns:96px repeat(var(--lane-count),minmax(96px,1fr))}.schedule-corner,.schedule-time{min-width:96px;white-space:nowrap;overflow:visible;line-height:22px;font-variant-numeric:tabular-nums}.schedule-time{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;min-height:40px;padding:8px 10px;font-size:15px}.schedule-time.half-hour{font-size:14px}.schedule-lane-cell{min-height:40px}.staff-booking-card.category-training .category-badge{background:#9eeaf7;color:#063b49;border-color:#087f8c}.staff-booking-card.category-competition .category-badge{background:#ffe06a;color:#382d00;border-color:#9b7800}.staff-booking-card.category-program .category-badge{background:#dec8ff;color:#35205c;border-color:#7551a6}.staff-booking-card.category-event .category-badge{background:#ffcab8;color:#5e2110;border-color:#b7502e}.staff-booking-card.category-game .category-badge{background:#bceec8;color:#123d20;border-color:#438854}.staff-booking-card.category-closure .category-badge{background:#ffc5c8;color:#64151b;border-color:#b94149}.staff-booking-card.category-other .category-badge{background:#dce3ef;color:#263248;border-color:#708099}select[name=category]:has(option:checked){border-left-width:6px}select[name=category]:has(option[value="Training"]:checked){border-left-color:#087f8c}select[name=category]:has(option[value="Competition"]:checked){border-left-color:#9b7800}select[name=category]:has(option[value="Program"]:checked){border-left-color:#7551a6}select[name=category]:has(option[value="Event"]:checked){border-left-color:#b7502e}select[name=category]:has(option[value="Game"]:checked){border-left-color:#438854}select[name=category]:has(option[value="Closure"]:checked){border-left-color:#b94149}select[name=category]:has(option[value="Other"]:checked){border-left-color:#708099}.booking-details-dialog[data-category=training] dd:nth-of-type(3),.booking-details-dialog[data-category=competition] dd:nth-of-type(3),.booking-details-dialog[data-category=program] dd:nth-of-type(3),.booking-details-dialog[data-category=event] dd:nth-of-type(3),.booking-details-dialog[data-category=game] dd:nth-of-type(3),.booking-details-dialog[data-category=closure] dd:nth-of-type(3),.booking-details-dialog[data-category=other] dd:nth-of-type(3){width:max-content;padding:3px 8px;border-radius:999px;font-weight:800;text-transform:capitalize}.booking-details-dialog[data-category=training] dd:nth-of-type(3){background:#9eeaf7;color:#063b49}.booking-details-dialog[data-category=competition] dd:nth-of-type(3){background:#ffe06a;color:#382d00}.booking-details-dialog[data-category=program] dd:nth-of-type(3){background:#dec8ff;color:#35205c}.booking-details-dialog[data-category=event] dd:nth-of-type(3){background:#ffcab8;color:#5e2110}.booking-details-dialog[data-category=game] dd:nth-of-type(3){background:#bceec8;color:#123d20}.booking-details-dialog[data-category=closure] dd:nth-of-type(3){background:#ffc5c8;color:#64151b}.booking-details-dialog[data-category=other] dd:nth-of-type(3){background:#dce3ef;color:#263248}.organisation-colour-editor{display:flex;align-items:center;justify-content:space-between;gap:10px}.organisation-colour-editor .colour-swatches{display:none}.selected-colour-name{display:inline-flex;align-items:center;gap:7px;font-weight:700}.selected-colour-name:before{content:'';width:18px;height:18px;border-radius:4px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}.organisation-colour-dialog{width:min(620px,calc(100vw - 32px));padding:22px;border:1px solid #cbd7ef;border-radius:10px;box-shadow:0 18px 55px rgba(22,45,110,.24)}.organisation-colour-dialog::backdrop{background:rgba(18,30,61,.42)}.colour-dialog-grid .colour-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.colour-dialog-grid .colour-swatch{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:64px;padding:10px;text-align:left}.colour-dialog-grid .colour-swatch>span:first-child{width:38px;height:38px;border-radius:7px}.colour-dialog-grid .colour-swatch[aria-pressed=true]{border:2px solid var(--blue);box-shadow:inset 0 -4px var(--yellow)}@media(max-width:700px){.staff-resource-schedule{grid-template-columns:92px repeat(var(--lane-count),minmax(92px,1fr))}.schedule-corner,.schedule-time{min-width:92px}.schedule-time{font-size:14px}.organisation-colour-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.colour-dialog-grid .colour-swatches{grid-template-columns:1fr 1fr}.colour-dialog-grid .colour-swatch{min-height:58px}}
.staff-resource-schedule .staff-booking-card{min-width:0;padding:9px 8px;border:1px solid color-mix(in srgb,var(--org-colour) 58%,#cbd3df)!important;border-left:5px solid var(--org-colour)!important;border-radius:6px;box-shadow:0 2px 6px rgba(22,45,110,.09);line-height:1.28}.staff-resource-schedule .staff-booking-time{margin-bottom:5px;color:#17213d;font-size:12px;font-weight:800;line-height:1.25}.staff-resource-schedule .staff-booking-card h3{margin:0 0 6px;color:#17213d;font-size:15px;font-weight:800;line-height:1.22}.staff-resource-schedule .staff-booking-card .meta{display:flex;flex-wrap:wrap;align-items:center;gap:3px;color:#354056;font-size:11px;line-height:1.35}.staff-resource-schedule .category-badge{padding:2px 6px;border-width:1px;font-size:11px;line-height:1.25;letter-spacing:.01em}@media(max-width:700px){.staff-booking-card{padding:12px}.staff-booking-card h3{font-size:18px}.staff-booking-time{font-size:14px}}
.staff-resource-schedule .booking-organisation{margin:0 0 6px;color:#354056;font-size:12px;font-weight:700;line-height:1.25}.meaningful-status{padding:2px 6px;border-radius:999px;background:#fff1ef;color:#8e2820;font-size:11px;font-weight:800;text-transform:capitalize}
.staff-resource-schedule .staff-booking-time{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:clip;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.staff-resource-schedule .staff-booking-card h3{font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:0;overflow-wrap:anywhere}
.booking-details-dialog[data-status=active] dt:nth-of-type(8),.booking-details-dialog[data-status=active] dd:nth-of-type(8){display:none}
.calendar-filter{position:relative}.calendar-filter>summary{display:flex;align-items:center;min-height:36px;padding:6px 10px;border:1px solid #cbd7ef;border-radius:5px;background:#fff;color:var(--blue);font-size:13px;font-weight:800;cursor:pointer;list-style:none}.calendar-filter>summary::-webkit-details-marker{display:none}.calendar-filter-panel{position:absolute;z-index:25;top:calc(100% + 6px);right:0;display:grid;gap:10px;width:min(340px,calc(100vw - 32px));padding:14px;border:1px solid #cbd7ef;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(22,45,110,.18)}.calendar-filter-panel label{font-size:13px;font-weight:700}.calendar-filter-panel select{width:100%;margin-top:4px}.filter-time{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-hidden{display:none!important}@media(max-width:700px){.schedule-range-control{display:flex;justify-content:flex-end}.schedule-range-control>button{display:none}.calendar-filter-panel{position:fixed;z-index:80;inset:auto 12px 12px;width:auto;max-height:80dvh;overflow:auto}.filter-time{grid-template-columns:1fr}}
.schedule-range-control{align-items:center;flex-wrap:wrap;gap:8px}.calendar-filter{order:2}.schedule-range-control>button{order:1}@media(max-width:900px){.schedule-range-control{display:flex;justify-content:flex-end;flex-wrap:wrap}.schedule-range-control>button{display:inline-flex}.calendar-filter-panel{position:fixed;z-index:80;inset:auto 12px 12px;width:auto;max-height:80dvh;overflow:auto}}@media(max-width:700px){.filter-time{grid-template-columns:1fr}}
.staff-date-jump{display:flex;align-items:center;gap:6px;grid-area:jump;color:#465066;font-size:12px;font-weight:700}.staff-date-jump input{width:142px;min-height:38px;margin:0;padding:6px 8px}.staff-calendar-controls{grid-template-columns:auto minmax(180px,auto) auto auto auto 1fr auto;grid-template-areas:'prev label next today jump spacer create'}@media(max-width:900px){.staff-calendar-controls{grid-template-columns:1fr 1fr;grid-template-areas:'label label' 'prev next' 'today jump' 'create create'}.staff-date-jump{justify-content:flex-end}.staff-date-jump input{width:136px}}@media(max-width:520px){.staff-calendar-controls{grid-template-areas:'label label' 'prev next' 'today today' 'jump jump' 'create create'}.staff-calendar-controls .today-link{justify-self:start}.staff-date-jump{grid-column:auto;justify-content:stretch}.staff-date-jump input{flex:1;width:auto}}
.organisation-legend.hidden{display:none!important}
@media(max-width:520px){.staff-date-jump>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.staff-date-jump input{width:100%}}
.filter-check-group{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;border:0}.filter-group-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.filter-group-heading legend{font-weight:800;color:var(--navy)}.filter-group-clear{width:auto;min-height:30px;padding:3px 6px;border:0;background:transparent;color:var(--blue);font-size:12px;text-decoration:underline}.filter-check-group>label{display:flex;align-items:center;gap:7px;min-height:38px;padding:6px;border:1px solid #e2e7ef;border-radius:5px;background:#fafbfc;font-size:12px;font-weight:650}.filter-check-group input{width:18px;height:18px;min-height:0;margin:0}@media(max-width:420px){.filter-check-group{grid-template-columns:1fr}}
.filter-check-group:nth-of-type(2)>label:has(input[value=training]){background:#e5faff;border-color:#87d8e7}.filter-check-group:nth-of-type(2)>label:has(input[value=competition]){background:#fff7ce;border-color:#e3c954}.filter-check-group:nth-of-type(2)>label:has(input[value=program]){background:#f1e9ff;border-color:#c4a7ed}.filter-check-group:nth-of-type(2)>label:has(input[value=event]){background:#fff0ea;border-color:#eda78d}.filter-check-group:nth-of-type(2)>label:has(input[value=game]){background:#e9faed;border-color:#96d3a5}.filter-check-group:nth-of-type(2)>label:has(input[value=closure]){background:#fff0f1;border-color:#e99ca1}.filter-check-group:nth-of-type(2)>label:has(input[value=other]){background:#f0f3f8;border-color:#bdc8d9}
.calendar-filter-panel .filter-done{width:100%;margin-top:2px}
.booking-notes-editor{display:grid;gap:8px;margin:16px 0;padding:14px;border:1px solid #dbe4f5;border-left:4px solid var(--blue);border-radius:7px;background:#f8faff}.booking-notes-editor label{color:var(--navy);font-weight:800}.booking-notes-editor textarea{min-height:96px;resize:vertical}.notes-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.notes-actions button{flex:0 0 auto;width:auto;min-height:40px;padding:7px 12px}@media(max-width:700px){.notes-actions{align-items:stretch;flex-direction:column}.notes-actions button{width:100%;min-height:44px}}
#organisation-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,1.25fr) auto;align-items:end;gap:14px;margin:18px 0 24px}#organisation-form>label{min-width:0}#organisation-form .colour-picker{display:block;min-width:0;margin:0;padding:0;border:0;background:transparent}#organisation-form .colour-picker legend{margin:0 0 6px;padding:0;color:#333;font-size:16px;font-weight:650}#organisation-form [data-new-colours]{display:flex;align-items:center;justify-content:space-between;gap:10px;height:45px;min-height:45px;margin:0;padding:4px 6px 4px 11px;border:1px solid #aaa;border-radius:4px;background:#fff}#organisation-form .selected-colour-name{min-width:0;white-space:nowrap}#organisation-form [data-new-colours] button{flex:0 0 auto;width:auto;height:35px;min-height:35px;padding:5px 10px;font-size:13px}#organisation-form>button{align-self:end;width:auto!important;height:45px;min-height:45px!important;padding:8px 14px!important;white-space:nowrap}@media(max-width:900px){#organisation-form{grid-template-columns:minmax(220px,1fr) minmax(320px,1.2fr)}#organisation-form>button{grid-column:1/-1;justify-self:end}}@media(max-width:700px){#organisation-form{grid-template-columns:1fr;align-items:stretch}#organisation-form>button{grid-column:auto;justify-self:start}#organisation-form [data-new-colours]{height:auto;min-height:48px;flex-wrap:wrap}#organisation-form [data-new-colours] button{min-height:38px}}
.custom-colour{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin-top:18px;padding:14px;border:1px solid #d4ddeb;border-left:4px solid var(--blue);border-radius:8px;background:#f8faff}.custom-colour h3{margin:0;font-family:inherit;font-size:16px;text-transform:none}.custom-colour p{margin:2px 0 0}.custom-colour input[type=color]{width:64px;height:48px;min-height:48px;padding:3px;border:1px solid #aebbd1;border-radius:6px;cursor:pointer}.custom-colour button{width:auto;min-height:44px;white-space:nowrap}.custom-colour [role=status]{grid-column:1/-1;color:var(--danger);font-size:13px;font-weight:700}@media(max-width:600px){.custom-colour{grid-template-columns:1fr auto}.custom-colour button{grid-column:1/-1;width:100%}}
.staff-resource-schedule .staff-booking-card.partial-slot-ending{border-bottom:3px solid var(--yellow)!important}.staff-resource-schedule .staff-booking-card.partial-slot-ending::after{content:attr(data-end-label);position:absolute;right:4px;bottom:2px;z-index:2;padding:1px 5px;border-radius:3px;background:var(--navy);color:#fff;font:700 10px/1.35 Arial,"Helvetica Neue",sans-serif;white-space:nowrap}.staff-resource-schedule .staff-booking-card.partial-slot-ending .staff-booking-summary{padding-bottom:16px}@media(max-width:900px){.staff-day-agenda .staff-booking-card.partial-slot-ending::after{content:none}}
.schedule-session-control{display:inline-grid;grid-template-columns:repeat(4,auto);order:0;padding:3px;border:1px solid #cbd7ef;border-radius:7px;background:#f4f7fc}.schedule-session-control button{min-height:34px;padding:5px 9px;border:0;background:transparent;color:var(--navy);font-size:12px;box-shadow:none}.schedule-session-control button[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:inset 0 -2px var(--yellow)}.staff-resource-schedule .session-hidden{display:none!important}.staff-resource-schedule .session-clipped-start{border-top:3px dashed var(--yellow)!important}.schedule-range-control{justify-content:flex-end}.schedule-range-control>.schedule-session-control{margin-right:auto}@media(max-width:700px){.schedule-session-control{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;order:-1}.schedule-session-control button{min-height:44px;padding:6px 4px;font-size:12px}.schedule-range-control>.schedule-session-control{margin-right:0}}
.schedule-default-view{display:flex;align-items:center;gap:6px;color:#465066;font-size:12px;font-weight:750;white-space:nowrap}.schedule-default-view select{width:auto;min-width:112px;min-height:36px;padding:5px 28px 5px 8px;font-size:12px}@media(max-width:700px){.schedule-default-view{flex:1 1 auto}.schedule-default-view select{flex:1;min-height:44px}.schedule-range-control .calendar-filter{margin-left:auto}}
.staff-resource-schedule{grid-auto-rows:22px}.staff-resource-schedule>.schedule-corner,.staff-resource-schedule>.schedule-lane-heading{height:44px}.staff-resource-schedule>.schedule-time,.staff-resource-schedule>.schedule-lane-cell{height:auto;min-height:44px}.staff-resource-schedule>.schedule-lane-cell{padding:3px}.staff-resource-schedule>.schedule-lane-cell.covered-slot{display:none!important}.staff-resource-schedule>.schedule-lane-cell>.staff-booking-card{height:100%;max-height:100%;overflow:hidden}.staff-resource-schedule>.schedule-lane-cell>.staff-booking-card:focus{overflow:auto;z-index:5}.brand-lockup:focus-visible{outline:3px solid var(--yellow);outline-offset:5px;border-radius:4px}
#organisations-admin .booking>.actions>.org-row-action,#organisations-admin .booking>.actions>.org-more-actions>summary{min-width:92px!important}
.booking-drawer .weekday-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-drawer .weekday-options label{justify-content:center;min-width:0;min-height:44px;gap:4px;padding:6px 4px;font-size:12px;white-space:nowrap}.booking-drawer .weekday-options input{flex:0 0 auto;margin:0}@media(max-width:700px){.booking-drawer .weekday-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.booking-drawer .weekday-options label{font-size:13px}}
.booking-drawer .schedule-resource-choices{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.booking-drawer .schedule-resource-choices>div{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.booking-drawer .schedule-resource-choices label{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;line-height:1.2}.booking-drawer .schedule-resource-choices input{flex:0 0 18px}@media(max-width:700px){.booking-drawer .schedule-resource-choices>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.booking-drawer .schedule-resource-choices>div{grid-template-columns:1fr}}
@media print{body .print-calendar-heading{display:flex!important;align-items:center;justify-content:space-between;gap:8mm}.print-calendar-copy{min-width:0;flex:1}.print-brand-lockup{display:flex;align-items:center;justify-content:flex-end;gap:3mm;flex:0 0 auto;max-width:72mm;padding:2.5mm 3mm;border-radius:2mm;background:#162d6e!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-brand-lockup img{display:block;width:auto;max-width:none;object-fit:contain}.print-brand-lockup img:first-child{height:15mm}.print-brand-lockup img:last-child{height:10mm;max-width:42mm}}
.staff-resource-schedule .staff-booking-card{background:var(--org-colour);color:var(--org-text);border-color:color-mix(in srgb,var(--org-text) 34%,var(--org-colour))!important}.staff-resource-schedule .staff-booking-time,.staff-resource-schedule .staff-booking-card h3{color:var(--org-text)}.staff-resource-schedule .staff-booking-card .booking-organisation,.staff-resource-schedule .staff-booking-card .meta{color:var(--org-secondary)}.staff-resource-schedule .staff-booking-card:focus-visible{outline-color:var(--org-focus);box-shadow:0 0 0 2px var(--org-text)}
#organisations-admin .booking{grid-template-columns:minmax(260px,1fr) minmax(250px,auto) auto;align-items:center;gap:14px;padding:12px 0}#organisations-admin .organisation-identity{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center}#organisations-admin .organisation-identity>.org-logo-actions{grid-row:1/3}#organisations-admin .organisation-identity>strong{grid-column:2}#organisations-admin .organisation-identity>.meta{grid-column:2}#organisations-admin .organisation-colour-editor{grid-column:auto;margin:0;justify-content:flex-start}#organisations-admin .booking>.actions{align-self:center;white-space:nowrap}@media(max-width:900px){#organisations-admin .booking{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}#organisations-admin .booking>.actions{grid-column:1/-1;justify-content:flex-start}}@media(max-width:700px){#organisations-admin .booking{grid-template-columns:1fr;gap:9px;padding:14px 0}#organisations-admin .organisation-colour-editor{justify-content:space-between;min-height:44px}#organisations-admin .booking>.actions{grid-column:auto;white-space:normal}}
.booking-history-dialog{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.booking-history-dialog>label{margin:16px 0}.history-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid #dbe4f5}.history-booking h3,.history-booking p{margin:0 0 4px}.history-booking>.actions button{min-height:40px}.recurrence-conflict{color:var(--danger);font-weight:750}.recurrence-available{color:var(--success);font-weight:650}.print-calendar-heading{display:none}@media(max-width:700px){.booking-history-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.history-booking{grid-template-columns:1fr}.history-booking>.actions button{min-height:44px}.print-calendar-action,.booking-history-action{min-height:44px}}
.organisation-colour-editor .selected-colour-name{min-width:112px}.organisation-colour-editor>button,#organisations-admin .org-row-action,#organisations-admin .org-more-actions>summary{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:40px;min-height:40px;padding:7px 11px;border-radius:6px;font-size:13px;font-weight:750;line-height:1;white-space:nowrap}.org-more-actions{position:relative}.org-more-actions>summary{list-style:none;cursor:pointer;border:1px solid var(--navy);background:#fff;color:var(--navy)}.org-more-actions>summary::-webkit-details-marker{display:none}.org-more-actions>summary:after{content:'···';margin-left:6px;letter-spacing:1px}.org-more-actions[open]>summary{border-color:var(--blue);box-shadow:inset 0 -2px var(--yellow)}.org-more-menu{position:absolute;right:0;z-index:20;width:min(330px,calc(100vw - 32px));margin-top:6px;padding:12px;border:1px solid #cbd7ef;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(22,45,110,.2);white-space:normal}.org-more-menu p{margin:0 0 10px;color:#4b5565;font-size:12px;line-height:1.4}.org-more-menu button{width:100%}@media(max-width:700px){.organisation-colour-editor .selected-colour-name{min-width:0}.organisation-colour-editor>button,#organisations-admin .org-row-action,#organisations-admin .org-more-actions>summary{height:44px;min-height:44px}.org-more-menu{position:fixed;right:16px;bottom:16px;left:16px;width:auto}}
@page{size:landscape;margin:8mm}@media print{*{animation:none!important;transition:none!important}body{background:#fff;color:#000;font:9pt/1.25 Arial,sans-serif}.top,.portal-tabs,#message,.calendar-lead,.staff-calendar-controls,.staff-week-strip,.schedule-range-control,.staff-day-agenda,.booking-drawer,dialog,[data-panel]:not([data-panel="bookings"]),main>section.panel>h2,main>section.panel>p{display:none!important}main{max-width:none;margin:0;padding:0}.panel{margin:0;padding:0;border:0;box-shadow:none}.print-calendar-heading{display:block!important;margin:0 0 5mm;border-bottom:1.5pt solid #162d6e;padding-bottom:3mm}.print-calendar-heading h1{margin:0;color:#000;font:700 18pt/1.1 Arial,sans-serif;text-transform:none}.print-calendar-heading p{margin:2mm 0 0;font-weight:700}.staff-resource-schedule{display:grid!important;width:100%;overflow:visible;border:1pt solid #777;border-radius:0;grid-template-columns:18mm repeat(var(--lane-count),minmax(0,1fr));grid-auto-rows:4.2mm;background:#fff;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.schedule-corner,.schedule-lane-heading{position:static;height:8mm!important;padding:1mm;background:#e8e8e8!important;color:#000!important;border-color:#999;font-size:7.5pt}.schedule-time{min-width:18mm!important;height:auto!important;min-height:8.4mm!important;padding:1mm 1.5mm;background:#f5f5f5!important;color:#000!important;border-color:#bbb;font-size:7.5pt!important;white-space:nowrap}.schedule-lane-cell{min-width:0!important;min-height:8.4mm!important;padding:.6mm;background:#fff!important;border-color:#ccc}.staff-resource-schedule .staff-booking-card{padding:1mm!important;border:1pt solid #333!important;border-left:2.5pt solid #000!important;border-radius:1mm;background:#fff!important;color:#000!important;box-shadow:none!important;overflow:hidden}.staff-resource-schedule .staff-booking-time,.staff-resource-schedule .staff-booking-card h3,.staff-resource-schedule .booking-organisation,.staff-resource-schedule .staff-booking-card .meta{color:#000!important}.staff-resource-schedule .staff-booking-time{font-size:6.8pt!important}.staff-resource-schedule .staff-booking-card h3{margin-bottom:.5mm;font-size:7.3pt!important;line-height:1.1}.staff-resource-schedule .booking-organisation,.staff-resource-schedule .category-badge{font-size:6.3pt!important}.staff-resource-schedule .category-badge{background:#fff!important;color:#000!important;border-color:#555!important}.filter-hidden,.session-hidden,.covered-slot{display:none!important}}

/* A4 landscape: the complete 5 am-11 pm schedule fits one sheet without clipping. */
@media print{
  html,body{width:100%;height:auto}
  #app>.toolbar{display:none!important}
  body .print-calendar-heading{margin:0 0 3mm;padding-bottom:2mm;break-after:avoid-page}
  .print-calendar-heading h1{font-size:15pt}
  .print-calendar-heading p{margin-top:1mm;font-size:8pt}
  .print-brand-lockup{max-width:58mm;padding:1.5mm 2mm}
  .print-brand-lockup img:first-child{height:11mm}
  .print-brand-lockup img:last-child{height:7.5mm;max-width:35mm}
  .staff-resource-schedule{grid-auto-rows:2mm;break-inside:avoid-page;page-break-inside:avoid}
  .staff-resource-schedule>.schedule-corner,.staff-resource-schedule>.schedule-lane-heading{height:4mm!important;min-height:4mm!important;padding:.35mm;font-size:6.5pt;line-height:1;break-inside:avoid}
  .staff-resource-schedule>.schedule-time,.staff-resource-schedule>.schedule-lane-cell{height:auto!important;min-height:4mm!important;padding:.35mm .65mm;break-inside:avoid}
  .staff-resource-schedule>.schedule-time{font-size:6.8pt!important;line-height:1.05}
  .staff-resource-schedule .staff-booking-card{padding:.45mm .65mm!important;break-inside:avoid;page-break-inside:avoid}
  .staff-resource-schedule .staff-booking-time{margin:0;font-size:5.8pt!important;line-height:1.05}
  .staff-resource-schedule .staff-booking-card h3{margin:0;font-size:6.3pt!important;line-height:1.05}
  .staff-resource-schedule .booking-organisation,.staff-resource-schedule .category-badge{font-size:5.5pt!important;line-height:1}
}
.user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end;margin:18px 0 24px;padding:18px;border:1px solid #dbe4f5;border-left:4px solid var(--blue);border-radius:8px;background:#f8faff}.user-form>button{grid-column:1/-1;justify-self:end;width:auto;min-width:150px}.user-form small{display:block;margin-top:5px;color:#5d6678}.optional{color:#687386;font-weight:400}.user-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.user-badge{padding:3px 8px;border:1px solid #cad5e8;border-radius:999px;background:#f3f6fc;color:var(--navy);font-size:12px;font-weight:750}#users-admin .user-row{align-items:center}#users-admin .booking>.actions{display:flex;align-items:center;align-self:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}#users-admin .booking>.actions button{flex:0 0 auto;width:auto;height:40px;min-height:40px;padding:7px 10px;font-size:13px;line-height:1;white-space:nowrap}@media(max-width:700px){.user-form{grid-template-columns:1fr;padding:14px}.user-form>button{grid-column:auto;justify-self:stretch;width:100%;min-width:0}#users-admin .booking>.actions{justify-content:flex-start}#users-admin .booking>.actions button{flex:0 0 auto!important;width:auto!important;height:44px;min-height:44px}}
.entra-access-note{margin:18px 0;padding:15px 17px;border-left:4px solid var(--blue);border-radius:6px;background:#f3f6fc;color:var(--navy)}.entra-access-note p{margin:4px 0 0;color:#4f5b72}.emergency-access{margin:18px 0 28px;padding:18px;border:1px solid #ecd889;border-radius:8px;background:#fffaf0}.emergency-access h3,.user-directory-title{margin:0}.emergency-access .user-form{margin:16px 0 0;background:#fff}.emergency-access>.message{margin:15px 0 0}.user-directory-title{padding-bottom:10px;border-bottom:1px solid var(--line)}.user-last-sign-in{margin-top:3px}
.booking-details-dialog .series-cancel-action{background:#fff5f3;border-color:#b42318}.booking-details-dialog .series-cancel-action:hover{background:#fee4e0}
@media(min-width:701px){.booking-details-dialog{width:min(760px,calc(100vw - 32px))}.booking-details-dialog .actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px}.booking-details-dialog .actions button{flex:0 1 auto;min-height:44px;padding:9px 12px;font-size:14px;line-height:1.15;white-space:nowrap}}
#bookings .staff-calendar-controls{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding:0 0 20px!important;margin:0 0 18px!important;border-top:0!important;border-bottom:1px solid #e6eaf0!important}#bookings .staff-date-summary{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;justify-items:start!important;align-content:start!important;gap:4px!important;min-width:0!important;text-align:left!important}#bookings .staff-date-summary>.public-kicker,#bookings .staff-date-summary>#staff-date-label{display:block!important;grid-column:1!important;justify-self:start!important;width:auto!important;text-align:left!important}#bookings .staff-date-summary>#staff-date-label{font:700 30px/1.05 Barlow,"Segoe UI",sans-serif!important;color:#162d6e!important}#bookings .staff-calendar-legend{display:none!important}#bookings .staff-date-controls{display:flex!important;align-items:end!important;justify-content:flex-end!important;gap:8px!important}@media(max-width:700px){#bookings .staff-calendar-controls{display:block!important;padding:0 0 16px!important;margin:0 0 14px!important}#bookings .staff-date-summary{margin:0 0 16px!important}#bookings .staff-date-summary>#staff-date-label{font-size:26px!important}#bookings .staff-date-controls{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important}}
body #app .calendar-lead{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}body #app .calendar-lead #new-booking{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;min-height:40px!important}body #app #bookings .staff-date-controls{margin-left:auto!important}@media(max-width:700px){body #app .calendar-lead{align-items:stretch!important;flex-direction:column!important;gap:10px!important}body #app .calendar-lead #new-booking{width:100%!important;min-height:44px!important}body #app #bookings .staff-date-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin-left:0!important;width:100%!important}body #app #bookings .staff-date-jump{display:grid!important;grid-area:auto!important;grid-template-columns:minmax(0,1fr)!important;gap:3px!important;width:100%!important;margin:0!important}body #app #bookings .staff-date-jump input{width:100%!important;max-width:100%!important;box-sizing:border-box!important}body #app #bookings .staff-date-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:0!important}body #app #bookings .staff-date-actions button{grid-area:auto!important;width:100%!important;min-width:0!important}}
.organisation-colour-dialog{width:min(820px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 32px));overflow:auto}.colour-dialog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.colour-dialog-grid .colour-swatch{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;min-height:76px;padding:10px;border:1px solid #d4ddeb;border-radius:8px;text-align:left}.colour-dialog-grid .swatch-preview{grid-row:1/3;width:44px;height:44px;border-radius:9px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}.colour-dialog-grid .swatch-name{align-self:end;color:var(--navy);font-size:14px;font-weight:800}.colour-dialog-grid .swatch-status{align-self:start;color:#667085;font-size:11px}.colour-dialog-grid .colour-swatch[aria-pressed=true]{border:2px solid var(--blue);box-shadow:inset 0 -4px var(--yellow)}.colour-dialog-grid .colour-swatch.reserved{opacity:.62;background:#f5f6f8;text-decoration:none}.colour-dialog-grid .colour-swatch.reserved .swatch-preview{filter:saturate(.55)}@media(max-width:760px){.colour-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.colour-dialog-grid{grid-template-columns:1fr}.organisation-colour-dialog{width:100vw;max-height:100dvh}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.booking-organisation-logo{display:flex;align-items:center;gap:14px;margin:12px 0 18px;padding:12px;border:1px solid #dbe4f5;border-left:4px solid var(--yellow);border-radius:8px;background:#f8faff}.booking-organisation-logo img,.booking-organisation-logo>span{width:72px;height:72px;flex:0 0 72px;border-radius:8px;object-fit:contain}.booking-organisation-logo>span{display:grid;place-items:center;background:var(--org-colour);color:#fff;font:800 30px/1 Arial,sans-serif}.booking-organisation-logo strong{color:var(--navy);font-size:18px}@media(max-width:520px){.booking-organisation-logo img,.booking-organisation-logo>span{width:56px;height:56px;flex-basis:56px}}
.staff-resource-schedule .schedule-lane-cell{cursor:crosshair}.staff-resource-schedule .staff-booking-card{cursor:grab;touch-action:pan-y;transition:transform .12s ease,box-shadow .12s ease}.staff-resource-schedule .staff-booking-card:active{cursor:grabbing}.booking-resize-handle{position:absolute;right:5px;bottom:3px;left:5px;z-index:4;width:auto!important;height:12px!important;min-height:12px!important;padding:0!important;border:0!important;border-radius:5px;background:transparent!important;cursor:ns-resize;box-shadow:none!important}.booking-resize-handle:before{content:'';position:absolute;right:28%;bottom:2px;left:28%;height:3px;border-radius:3px;background:currentColor;opacity:.72}.booking-resize-handle:focus-visible{outline:3px solid var(--yellow)!important;outline-offset:1px}.calendar-pointer-preview{position:fixed;z-index:150;width:max-content;max-width:275px;padding:8px 11px;border:1px solid #2e7d32;border-radius:6px;background:#f1fbf4;color:#155724;font:700 13px/1.3 Arial,sans-serif;box-shadow:0 8px 22px rgba(22,45,110,.2);pointer-events:none}.calendar-pointer-preview.conflict{border-color:#b42318;background:#fff1f0;color:#8f1d16}.staff-booking-card.calendar-conflict-preview{outline:3px solid #b42318!important;box-shadow:0 0 0 4px rgba(180,35,24,.16)!important}@media(max-width:900px),(pointer:coarse){.booking-resize-handle{display:none!important}.staff-resource-schedule .staff-booking-card{cursor:pointer;touch-action:auto}}@media print{.booking-resize-handle,.calendar-pointer-preview{display:none!important}}
.staff-resource-schedule .staff-booking-card.is-cancelling{pointer-events:none;animation:booking-cancelling-pulse .75s ease-in-out infinite;box-shadow:0 0 0 3px rgba(180,35,24,.18),0 4px 12px rgba(22,45,110,.14)!important}.staff-resource-schedule .staff-booking-card.is-cancelled-exit{animation:none;opacity:0;transform:translateY(6px) scale(.97);filter:saturate(.35);transition:opacity .28s ease,transform .28s ease,filter .28s ease}@keyframes booking-cancelling-pulse{0%,100%{opacity:1}50%{opacity:.68}}@media(prefers-reduced-motion:reduce){.staff-resource-schedule .staff-booking-card.is-cancelling{animation:none}.staff-resource-schedule .staff-booking-card.is-cancelled-exit{transition:none}}
#organisations-admin .booking.cancelled{opacity:1}#organisations-admin .booking.cancelled>.organisation-identity,#organisations-admin .booking.cancelled>.organisation-colour-editor{opacity:.58}#organisations-admin .booking.cancelled>.actions{opacity:1}.organisation-cleanup-dialog{width:min(620px,calc(100vw - 32px))}.organisation-cleanup-dialog .organisation-cleanup-intro{margin:20px 0 8px;color:#475467}.organisation-cleanup-dialog .organisation-cleanup-warning{padding:13px 15px;border-left:4px solid var(--yellow);border-radius:4px;background:#fff8d8;color:#333}.organisation-cleanup-dialog .actions{margin-top:20px}.organisation-cleanup-dialog [data-confirm]{background:#fff3f1;color:var(--danger);border-color:var(--danger)}@media(max-width:700px){.organisation-cleanup-dialog{width:100vw;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.organisation-cleanup-dialog .actions{display:grid;grid-template-columns:1fr}.organisation-cleanup-dialog .actions button{width:100%}}
.organisation-colour-dialog .custom-colour{grid-template-columns:minmax(180px,1fr) 46px minmax(150px,190px) auto}.custom-colour-preview{width:44px;height:44px;border:1px solid #9aa7ba;border-radius:8px;background:var(--custom-colour);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.custom-colour label{display:grid;gap:4px;color:var(--navy);font-size:12px;font-weight:800}.custom-colour input[type=text]{width:100%;height:44px;min-height:44px;padding:8px 10px;font:700 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.custom-colour input[aria-invalid=true]{border-color:var(--danger)}@media(max-width:700px){.organisation-colour-dialog .custom-colour{grid-template-columns:46px minmax(0,1fr)}.custom-colour>div{grid-column:1/-1}.custom-colour button{grid-column:1/-1}.custom-colour [role=status]{grid-column:1/-1}}
/* Keep every organisation row on the same column grid, including optional logo actions. */
@media(min-width:1201px){#organisations-admin .booking{grid-template-columns:minmax(250px,1fr) 330px 590px;gap:18px}#organisations-admin .organisation-colour-editor{display:grid;grid-template-columns:minmax(170px,1fr) 112px;gap:12px;width:100%}#organisations-admin .organisation-colour-editor .selected-colour-name{min-width:0;overflow:hidden;text-overflow:ellipsis}#organisations-admin .organisation-colour-editor>button{width:112px;min-width:112px}#organisations-admin .booking>.actions{display:grid;grid-template-columns:128px 118px 118px 168px;align-items:center;justify-content:end;gap:8px;width:100%;white-space:normal}#organisations-admin .booking>.actions .org-logo-action{grid-column:1}#organisations-admin .booking>.actions .org-rename-action{grid-column:2}#organisations-admin .booking>.actions .org-archive-action{grid-column:3}#organisations-admin .booking>.actions .org-more-actions{grid-column:4}#organisations-admin .booking>.actions>.org-row-action,#organisations-admin .booking>.actions>.org-more-actions>summary,#organisations-admin .booking>.actions>.org-logo-actions>summary{width:100%;min-width:0!important}#organisations-admin .org-more-actions>summary,#organisations-admin .org-logo-actions>summary{justify-content:center}}
@media(min-width:701px) and (max-width:1200px){#organisations-admin .booking{grid-template-columns:minmax(220px,1fr) 300px}#organisations-admin .booking>.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}}
.org-logo-actions{position:relative}.org-logo-actions>summary{display:inline-flex;align-items:center;justify-content:center;width:100%;height:40px;min-height:40px;padding:7px 11px;border:1px solid var(--navy);border-radius:6px;background:#fff;color:var(--navy);font-size:13px;font-weight:750;line-height:1;list-style:none;cursor:pointer}.org-logo-actions>summary::-webkit-details-marker{display:none}.org-logo-actions>summary:after{content:'···';margin-left:6px;letter-spacing:1px}.org-logo-actions[open]>summary{border-color:var(--blue);box-shadow:inset 0 -2px var(--yellow)}.org-logo-menu{position:absolute;right:0;z-index:22;width:280px;margin-top:6px;padding:14px;border:1px solid #cbd7ef;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(22,45,110,.2);white-space:normal}.org-logo-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100px;margin-bottom:9px;border:1px solid #e0e6f0;border-radius:7px;background:#f7f9fc}.org-logo-preview img{max-width:100%;max-height:86px;object-fit:contain}.org-logo-preview span{display:grid;place-items:center;width:68px;height:68px;border-radius:9px;background:var(--org-colour);color:#fff;font:800 28px/1 Arial,sans-serif}.org-logo-menu p{margin:0 0 10px;font-size:12px;line-height:1.4}.org-logo-menu-buttons{display:grid;gap:7px}.org-logo-menu-buttons button{width:100%!important;min-height:40px!important}@media(max-width:700px){.org-logo-actions>summary{height:44px;min-height:44px}.org-logo-menu{position:fixed;right:16px;bottom:16px;left:16px;width:auto}.org-logo-menu-buttons button{min-height:44px!important}}
.org-logo-actions>.org-avatar{display:grid;width:44px;height:44px;min-height:44px;padding:0;overflow:hidden;border:2px solid #d7e0f1;border-radius:50%;background:#f5f7fb;box-shadow:none}.org-logo-actions>.org-avatar:after{display:none}.org-logo-actions>.org-avatar img,.org-logo-actions>.org-avatar span{display:grid;place-items:center;width:100%;height:100%;object-fit:contain}.org-logo-actions>.org-avatar.is-fallback{border:0;background:var(--org-colour)}.org-logo-actions>.org-avatar.is-fallback span{background:var(--org-colour);color:var(--avatar-text);font:800 14px/1 Arial,sans-serif}.org-logo-actions>.org-avatar.has-logo img{padding:2px}.org-logo-actions>.org-avatar:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 4px 10px rgba(22,45,110,.16)}.org-logo-actions>.org-avatar.is-fallback:hover{box-shadow:0 0 0 2px var(--blue),0 4px 10px rgba(22,45,110,.16)}.org-logo-actions>.org-avatar:focus-visible,.org-logo-actions[open]>.org-avatar{outline:3px solid var(--yellow);outline-offset:2px;border-color:var(--navy);box-shadow:none}.organisation-identity .org-logo-menu{left:0;right:auto;top:48px}.organisation-identity .org-logo-preview span{color:var(--avatar-text,#fff)}@media(min-width:1201px){#organisations-admin .booking{grid-template-columns:minmax(300px,1fr) 330px minmax(244px,362px)}#organisations-admin .booking>.actions{display:grid;grid-template-columns:118px 118px;grid-auto-flow:column;grid-auto-columns:118px;justify-content:end}#organisations-admin .booking>.actions .org-rename-action{grid-column:1}#organisations-admin .booking>.actions .org-archive-action{grid-column:2}#organisations-admin .booking>.actions .org-merge-action{grid-column:3}}
.organisation-colour-editor>.organisation-colour-control{display:inline-flex;align-items:center;justify-content:flex-start;width:auto;max-width:100%;height:40px;min-height:40px;padding:7px 11px;border:1px solid #cbd7ef;border-radius:6px;background:#fff;color:var(--navy);font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.organisation-colour-control:before{content:'';flex:0 0 20px;width:20px;height:20px;margin-right:8px;border-radius:5px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.22)}.organisation-colour-control:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.organisation-colour-editor{min-width:0}.booking>.actions{min-width:0}@media(max-width:700px){.organisation-colour-editor>.organisation-colour-control{min-height:44px}.organisation-identity .org-logo-menu{position:fixed;top:auto}}
.organisation-colour-dialog .custom-colour{display:block;margin-top:20px;padding:16px;border:1px solid #cbd7ef;border-left:4px solid var(--blue);border-radius:9px;background:#f7f9fd}.custom-colour h3{margin:0 0 12px;color:var(--navy);font-family:inherit;font-size:16px;text-transform:none}.custom-colour-fields{display:grid;grid-template-columns:minmax(180px,1fr) 72px minmax(110px,150px) auto;gap:12px;align-items:end}.custom-colour-fields label{display:grid;margin:0;gap:5px;color:var(--navy);font-size:12px;font-weight:800}.custom-colour-fields input[type=text]{width:100%;height:44px;min-height:44px;padding:8px 10px;font:700 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.custom-native-label{justify-items:start}.custom-native-label input{display:block;width:52px;height:44px;min-height:44px;padding:3px;border:1px solid #9aa7ba;border-radius:6px;background:#fff}.custom-colour-preview{display:grid;place-items:center;width:100%;min-height:44px;padding:6px 10px;border:1px solid #9aa7ba;border-radius:6px;background:var(--custom-colour);color:var(--custom-text);font-weight:800;white-space:nowrap}.custom-colour-fields>button{width:auto;min-height:44px;white-space:nowrap}.custom-colour .field-error{min-height:18px;margin:5px 0 0;color:var(--danger);font-size:12px;font-weight:700}.custom-colour>.meta{margin:8px 0 0}.custom-colour input[aria-invalid=true]{border-color:var(--danger)}@media(max-width:700px){.organisation-colour-dialog .custom-colour{padding:14px}.custom-colour-fields{grid-template-columns:minmax(0,1fr) 64px}.custom-colour-preview,.custom-colour-fields>button{grid-column:1/-1}.custom-colour-fields>button{width:100%;min-height:44px}}
.organisation-colour-dialog .colour-dialog-grid .colour-swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.organisation-colour-dialog .colour-dialog-grid .colour-swatch{min-height:66px;padding:8px}.organisation-colour-dialog .colour-dialog-grid .swatch-preview{width:40px;height:40px}@media(max-width:760px){.organisation-colour-dialog .colour-dialog-grid .colour-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.organisation-colour-dialog .colour-dialog-grid .colour-swatches{grid-template-columns:1fr}}
.organisation-colour-dialog{box-sizing:border-box}.organisation-colour-dialog .booking-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}.organisation-colour-dialog .booking-detail-header h2{min-width:0;overflow-wrap:anywhere}@media(max-width:420px){.organisation-colour-dialog{width:100%;max-width:100%;padding:20px}.organisation-colour-dialog>.meta{overflow-wrap:anywhere}.organisation-colour-dialog .booking-detail-header{gap:10px}.organisation-colour-dialog .booking-detail-header button{min-width:72px;padding:8px 10px}}
#login #entra-sign-in{display:inline-flex;align-items:center;justify-content:center;min-height:44px}#login #entra-sign-in.hidden{display:none}#local-login-wrap{margin-top:14px;padding-top:12px;border-top:1px solid #dbe4f5}#local-login-wrap>summary{cursor:pointer;color:var(--navy);font-weight:800}#local-login-wrap[open]>summary{margin-bottom:10px}
.staff-resource-schedule>.schedule-lane-cell.has-booking-card{z-index:1}
