.venue{--venue-blue:#3478c0;color:#1e293b;background:#f4f7fb;padding:20px;border-radius:16px}.venue *{box-sizing:border-box}.venue header,.venue .toolbar,.venue nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.venue header{justify-content:space-between}.venue h2{margin:0}.venue nav{margin:20px 0}.venue button{background:var(--venue-blue);color:white!important;border:1px solid transparent;border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer}.venue button:hover{background:#245e9c}.venue button[aria-current=page]{background:#173b70}.venue button:focus-visible,.venue input:focus-visible,.venue select:focus-visible,.venue summary:focus-visible{outline:3px solid #173b70;outline-offset:3px}.venue button:disabled{background:#64748b;cursor:not-allowed}.venue .danger{background:#b42318}.venue .cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.venue .card,.venue details,.venue .calendar-day{background:white;border:1px solid #dbe3ef;border-radius:12px;padding:20px}.venue .card strong{display:block;font-size:28px;color:#173b70;margin-top:12px}.venue .paid{color:#16805d}.venue .due{color:#b42318}.venue .toolbar{margin:16px 0}.venue label{display:flex;flex-direction:column;gap:6px;min-width:0}.venue input,.venue select,.venue textarea{border:1px solid #64748b;border-radius:6px;padding:10px;background:white;color:#1e293b;max-width:100%;font:inherit}.venue form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.venue fieldset{display:contents}.venue .table-scroll{overflow:auto;max-width:100%}.venue table{border-collapse:collapse;width:100%;background:white}.venue td,.venue th{padding:12px;text-align:start;border-bottom:1px solid #e2e8f0}.venue td button{padding:7px;margin:3px}.venue summary{cursor:pointer;font-weight:600}.venue .charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.venue .bar-track{background:#e7eef8;border-radius:5px;margin:8px 0;height:14px}.venue .bar{background:#3478c0;height:14px;border-radius:5px}.venue .bar.expense{background:#64748b}.venue .calendar{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));overflow:auto;gap:8px}.venue .calendar.day{grid-template-columns:1fr}.venue .appointment{border-inline-start:4px solid #3478c0;padding:10px;background:#eff6ff;margin-top:12px}.venue .appointment.cancelled{opacity:.65;border-color:#64748b}.venue .empty{padding:20px}.venue [role=alert]{color:#b42318}.venue .badge{display:inline-block;padding:4px 8px;border-radius:5px;background:#e7eef8}.venue .booking-link{overflow-wrap:anywhere}.venue .muted{color:#475569}.venue .booking-form{max-width:650px;margin:auto}.s360-help-button{position:fixed;bottom:18px;inset-inline-end:18px;z-index:30;background:#173b70;color:#fff!important;border:2px solid white;border-radius:30px;padding:12px 20px}.s360-help-panel{position:fixed;bottom:80px;inset-inline-end:18px;z-index:31;width:min(400px,calc(100vw - 36px));max-height:75vh;overflow:auto;background:white;color:#1e293b;padding:20px;border:2px solid #3478c0;border-radius:12px;box-shadow:0 10px 40px #173b7033}.s360-help-panel button{margin:4px;padding:8px;background:#173b70;color:white!important}.s360-help-panel input{width:100%;padding:10px}.s360-help-panel:focus{outline:3px solid #3478c0}@media(max-width:800px){.venue{padding:12px}.venue .cards,.venue .charts{grid-template-columns:repeat(2,minmax(0,1fr))}.venue form{grid-template-columns:1fr}.venue .calendar{grid-template-columns:repeat(7,180px)}.venue .calendar.day{grid-template-columns:1fr}}@media(max-width:400px){.venue .cards,.venue .charts{grid-template-columns:1fr}.venue .toolbar>*{width:100%}} 

html.venue-workspace #s360-vision-sidebar{background:#173b70!important}html.venue-workspace body,.venue-workspace .product-main{background:#f4f7fb!important}.venue-workspace .product-main{color:#1e293b}.venue [aria-busy=true]{cursor:progress}
/* Isolate the new workspace from historical global header/button selectors. */
.venue-workspace{--s360-action:#3478c0;--s360-action-hover:#245e9c}.venue header{margin:0!important;background:transparent!important;box-shadow:none!important;padding:0;border:0}.venue-workspace #s360-vision-sidebar button{background:transparent!important;border-color:#7296c6!important}.venue-workspace #s360-vision-sidebar button.active{background:white!important;color:#173b70!important}.venue-workspace #subscription-root .vision-card{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;padding:12px 18px}.venue-workspace #subscription-root h2{font-size:16px;margin:0}.venue-workspace #subscription-root p{margin:0;font-size:13px}.venue-workspace #subscription-root button{margin-inline-start:auto}.venue-workspace #subscription-root{margin-bottom:16px}.venue-workspace #module-root>.card{margin:0}
html.authenticated .venue header{margin:0!important;background:transparent!important;box-shadow:none!important}
.venue .booking-form{padding:24px;background:#fff;border:1px solid #dbe3ef;border-radius:14px}.venue .booking-brand{color:#173b70;font-weight:800;letter-spacing:.04em}.venue .booking-form>fieldset>p{grid-column:1/-1}
.venue button[aria-current=page]{background:#173b70!important;border-color:#173b70!important}.venue .badge[data-status=confirmed]{background:#fff7ed;color:#854d0e}.venue .badge[data-status=completed]{background:#e8f5ee;color:#16805d}.venue .badge[data-status=cancelled]{background:#e2e8f0;color:#475569}
/* One employee, one compact weekly schedule. Never scatter a day across a grid. */
.venue .provider-editor{width:100%;max-width:600px;margin-top:14px}.venue #provider-form{display:flex;flex-direction:column;gap:12px;margin:12px 0 0}.venue #provider-form>fieldset{display:contents}.venue #provider-form>fieldset>label{max-width:360px}.venue #provider-form>fieldset>button{align-self:flex-start}.venue .provider-hours-wrap{max-width:100%;overflow:auto}.venue .provider-hours{width:100%;table-layout:fixed}.venue .provider-hours th,.venue .provider-hours td{padding:5px 8px;border-bottom:1px solid #e2e8f0;vertical-align:middle}.venue .provider-hours th:first-child{width:40%}.venue .provider-hours th{font-size:13px}.venue .provider-hours input[type=time]{display:block;width:100%;min-width:0;height:38px;padding:5px;font-size:14px}.venue .provider-hours .provider-day-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:14px;margin:0}.venue .provider-hours input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#3478c0}.venue .provider-hours input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.venue .provider-off{font-size:11px;color:#475569;padding-inline-start:26px}.venue .provider-editor-actions:empty{display:none}@media(max-width:450px){.venue .provider-hours th,.venue .provider-hours td{padding:5px 3px}.venue .provider-hours th:first-child{width:38%}.venue .provider-hours input[type=time]{font-size:12px;padding:3px}.venue .provider-hours .provider-day-toggle{font-size:12px;gap:4px}.venue .provider-hours input[type=checkbox]{width:16px;height:16px;flex-basis:16px}}
/* Calendar-only workspace: full-width planner, followed by a small appointment list. */
html.calendar-workspace .product-main{max-width:none;padding:16px;min-width:0}html.calendar-workspace .product-title,html.calendar-workspace #subscription-root,html.calendar-workspace #module-root>header,html.calendar-workspace #module-root>details{display:none!important}html.calendar-workspace #module-root{padding:0;background:transparent}html.calendar-workspace #module-root>p:empty{display:none}.venue .calendar-page{width:100%;min-width:0;background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:18px}.venue .calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.venue .calendar-toolbar h2{font-size:24px}.venue .calendar-toolbar p{margin:5px 0;color:#475569;font-size:13px}.venue .calendar-controls{display:flex;align-items:end;gap:6px;flex-wrap:wrap}.venue .calendar-controls button{padding:7px 10px;font-size:13px}.venue .calendar-controls input{width:145px;min-height:40px}.venue #calendar-refresh-status{font-size:12px;margin:8px 0 14px}.venue .calendar-scroll{overflow:auto;max-height:62vh;border:1px solid #e2e8f0;border-radius:8px}.venue .time-calendar{display:grid;grid-template-columns:68px repeat(var(--calendar-days),minmax(105px,1fr));min-width:calc(68px + var(--calendar-days)*105px);position:relative;background:#fff}.venue .calendar-corner,.venue .calendar-day-heading{position:sticky;top:0;z-index:4;background:#f8fafc;padding:14px 5px;text-align:center;border-bottom:1px solid #dbe3ef;color:#475569;font-size:13px}.venue .calendar-day-heading.today{background:#e9f1ff;color:#173b70;font-weight:700}.venue .calendar-hours{position:sticky;inset-inline-start:0;z-index:3;background:white;color:#475569;font-size:12px}.venue .calendar-hours>div{padding:7px;border-bottom:1px solid #e2e8f0}.venue .calendar-day-track{position:relative;min-width:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,#e2e8f0 63px,#e2e8f0 64px);border-inline-start:1px solid #edf2f7}.venue button.calendar-event{position:absolute;margin:0!important;padding:2px 5px!important;min-height:14px!important;border-radius:6px!important;border:1px solid #bdd4f4!important;background:#dbeafe!important;color:#173b70!important;font-size:11px!important;line-height:1.2!important;text-align:start;display:flex;flex-direction:column;gap:2px;overflow:hidden;box-sizing:border-box}.venue button.calendar-event strong,.venue button.calendar-event span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;color:inherit!important}.venue button.calendar-event.event-color-1{background:#dcfce7!important;border-color:#9ed6b4!important;color:#14532d!important}.venue button.calendar-event.event-color-2{background:#ede9fe!important;border-color:#c4b5fd!important;color:#4c1d95!important}.venue button.calendar-event.completed{background:#e2e8f0!important;color:#334155!important;border-color:#cbd5e1!important}.venue .calendar-appointment-list{margin-top:16px}.venue .calendar-appointment-list h3{font-size:16px;margin:0 0 8px}.venue .calendar-appointment-list .table-scroll{max-height:230px}.venue .calendar-appointment-list th,.venue .calendar-appointment-list td{padding:8px 10px}.venue button.calendar-customer{background:transparent!important;border:0!important;color:#173b70!important;padding:0!important;margin:0!important;text-align:start;min-height:32px;font-size:14px}.venue #calendar-editor{width:min(660px,calc(100vw - 28px));max-width:none;max-height:90dvh;overflow:auto;background:#fff;color:#1e293b;border:1px solid #bdcfe3;border-radius:14px;padding:20px}.venue #calendar-editor::backdrop{background:#0f274d66}.venue .calendar-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.venue .calendar-editor-heading h2{font-size:20px}.venue #calendar-editor dl{display:grid;grid-template-columns:auto 1fr;gap:10px}.venue #calendar-editor dd{margin:0;overflow-wrap:anywhere}.venue #calendar-editor>button{margin:5px}.venue #calendar-editor #venue-providers{border:0;padding:0}.venue #calendar-editor #venue-providers>summary{display:none}.venue #calendar-editor .provider-editor{margin:0}.venue #calendar-editor .provider-editor>p{font-size:12px;margin:0 0 8px}@media(max-width:650px){html.calendar-workspace .product-main{padding:10px}.venue .calendar-page{padding:10px}.venue .calendar-controls{gap:4px}.venue .calendar-controls button{padding:6px;font-size:12px}.venue .calendar-controls input{width:130px}.venue .calendar-scroll{max-height:58vh}.venue #calendar-editor{padding:14px}.venue #calendar-editor dl{grid-template-columns:1fr;gap:5px}.venue #calendar-editor dd{margin-bottom:10px}}
@media(max-width:650px){html.calendar-workspace .s360-help-button{position:static;display:block;margin:12px 10px 12px auto;width:max-content}}

.venue .bar.expense{background:#d28120}
