/* Shared operational surfaces; facility branding and status colors remain distinct. */
.operations-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-block:16px}
html body:has(.operations-today){background:#fff!important}
html body .operations-today{background:#fff!important;padding:24px;max-width:1400px;margin:auto}
html body .operations-today .btn{background:#fff!important;color:#172b32!important;border:1px solid #cbdadf!important}
html body .operations-today .btn.primary,html body .operations-today button.primary{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important}
.operations-toolbar label{display:grid;gap:6px}
.operations-booking{border-bottom:1px solid #dce4e8;background:#fff}
.operations-booking>summary{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:16px;align-items:center;padding:18px 12px;cursor:pointer;list-style:none}
.operations-booking-body{padding:0 12px 18px}
.operations-booking-body>details{padding-block:12px;border-top:1px solid #dce4e8}
.operations-booking-body summary{cursor:pointer;font-weight:600}
@media(max-width:720px){.operations-booking>summary{grid-template-columns:1fr 1fr;gap:8px;font-size:14px}}
.pos-page:not(.pos-inventory-view)>*{order:5}
.pos-page:not(.pos-inventory-view) .pos-workbench{order:3}
.pos-page:not(.pos-inventory-view) .pos-operations-nav{order:2}
.pos-page:not(.pos-inventory-view)>details{order:4}
.pos-page:not(.pos-inventory-view)>.page-header{order:0}
html body .pos-page:not(.pos-dark) .btn{background:#fff!important;color:#172b32!important;border-color:#cbdadf!important}
html body .pos-page:not(.pos-dark) .pos-sidebar{background:#f4f8f8!important;color:#172b32!important}
html body .pos-page .pos-order>.pos-kpis{display:none!important}
html body .pos-page .pos-fast-cashier{display:none}
@media(min-width:1100px){html body .pos-page .pos-order{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 96px);overflow-y:auto}}
html body .page.pos-page:not(.pos-dark),
html body .page.court-booking-page {
    --operations-accent: #0f766e;
    --operations-line: #dce4e8;
    color: #202c33;
    letter-spacing: 0;
}
html body .pos-page:not(.pos-dark) .pos-workbench {
    border-radius: 8px;
    box-shadow: none;
    border-color: var(--operations-line);
}
html body .pos-page:not(.pos-dark) .pos-item-card {
    border-radius: 8px;
    box-shadow: none;
    transform: none;
}
html body .pos-page:not(.pos-dark) .pos-item-art { background: #f2f6f7; }
html body .pos-page:not(.pos-dark) .pos-panel,
html body .pos-page:not(.pos-dark) .pos-booking-panel {
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--operations-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body .pos-page .pos-operations-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-block: 8px;
}
html body .pos-page button,
html body .pos-page .btn,
html body .court-booking-page button,
html body .court-booking-page .btn {
    min-height: 44px;
    border-radius: 6px !important;
    letter-spacing: 0 !important;
}
html body .pos-page :focus-visible,
html body .court-booking-page :focus-visible {
    outline: 3px solid #0d9488 !important;
    outline-offset: 3px;
}
html body .pos-page:not(.pos-dark) button.primary,
html body .pos-page:not(.pos-dark) .btn.primary,
html body .pos-page:not(.pos-dark) .pos-pay-bar button {
    background: var(--operations-accent) !important;
    color: #fff !important;
    border-color: var(--operations-accent) !important;
    box-shadow: none !important;
}
html body .court-booking-page .court-daily-board .court-weekly-time,
html body .court-booking-page .court-daily-board .court-weekly-cell,
html body .court-booking-page .court-daily-board .court-weekly-head {
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--operations-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body .court-booking-page .court-facility-card,
html body .court-booking-page .court-schedule-group {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body .court-booking-page .court-weekly-pill small { display: none; }
html body .court-booking-page .court-daily-board .court-slot-price { font-size: 13px; }
html body .court-booking-page .court-hero-book-now {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(280px, 100%);
    min-height: 50px;
    margin-top: 18px;
    padding-inline: 24px;
    background: var(--operations-accent) !important;
    color: #fff !important;
    border-color: var(--operations-accent) !important;
    font-size: 16px;
    font-weight: 900;
    text-decoration: none;
}
html body .court-booking-page #courtBookingStart { scroll-margin-top: 96px; }
@media (max-width: 720px) {
    html body .court-booking-page .court-hero-book-now {
        width: 100%;
        min-height: 52px;
    }
    html body .court-booking-page .court-booking-stepper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    html body .court-booking-page .booking-step { padding: 10px 8px; }
    html body .court-booking-page .booking-step strong { font-size: 12px; }
    html body .court-booking-page .booking-step .small-muted { display: none; }
    html body .pos-page .pos-operations-nav { flex-wrap: nowrap; overflow-x: auto; }
    html body .pos-page .pos-operations-nav .btn { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
    html body .pos-page *, html body .court-booking-page * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
.booking-auth-dialog{width:min(520px,calc(100vw - 32px));padding:28px;border:1px solid #cbdadf;border-radius:8px;background:#fff;color:#202c33;box-shadow:0 24px 70px rgba(15,35,42,.24)}
.booking-auth-dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}
.booking-auth-dialog h2{margin:8px 0 10px;font-size:26px}
.booking-auth-dialog p{margin:0 0 18px;color:#5d6d75;line-height:1.55}
.booking-auth-close{position:absolute;right:12px;top:10px;width:40px;height:40px;padding:0;border:0!important;background:transparent!important;color:#34454d!important;font-size:30px;line-height:1}
.booking-auth-summary{display:grid;gap:4px;padding:14px;margin-bottom:18px;background:#f3f8f8;border-left:4px solid #0f766e}
.booking-auth-summary span{color:#5d6d75;font-size:14px}
.booking-auth-actions{display:grid;gap:10px}
.booking-auth-actions .btn{width:100%;justify-content:center;text-align:center}

/* Touch-friendly booking and counter surfaces. */
html body[data-theme] .main .page.court-booking-page .btn.primary,
html body[data-theme] .main .page.court-booking-page button.primary,
html body[data-theme] .main .page.pos-page:not(.pos-dark) button.primary,
html body[data-theme] .main .page.pos-page:not(.pos-dark) .pos-pay-bar button{
 background:#0f766e!important;border-color:#0f766e!important;color:#fff!important;box-shadow:none!important
}
html body[data-theme] .main .page.court-booking-page .court-focused-header{
 padding:4px 0!important;margin:0!important;min-height:0!important;background:#fff!important;border:0!important;box-shadow:none!important;border-radius:0!important
}
html body[data-theme] .main .page.court-booking-page .court-focused-header .public-hero-actions{
 display:flex!important;flex-direction:row!important;gap:8px!important;flex-wrap:wrap!important;width:auto!important
}
html body[data-theme] .main .page.court-booking-page .court-focused-header .btn{width:auto!important;flex:0 0 auto!important}
html body[data-theme] .main .page.court-booking-page :is(.court-detail-profile,.court-availability-section,.court-date-picker,.court-booking-wizard){
 background:#fff!important;border:0!important;border-bottom:1px solid #dce4e8!important;border-radius:0!important;box-shadow:none!important
}
html body[data-theme] .main .page.pos-page:not(.pos-dark) .pos-sidebar-link{
 background:#fff!important;border-color:#dce4e8!important;border-radius:6px!important;box-shadow:none!important
}
html body[data-theme] .main .page.pos-page:not(.pos-dark) .pos-sidebar-link.active{background:#edf8f5!important;border-color:#0f766e!important}
html body .court-booking-page .court-focused-header{padding:4px 0!important;margin:0!important;min-height:0!important;background:#fff!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body .court-booking-page .court-focused-header .public-hero-actions{display:flex!important;flex-direction:row!important;gap:8px!important;flex-wrap:wrap!important}
html body .court-booking-page .court-focused-header .btn{width:auto!important;min-height:40px!important;font-size:13px!important}
body:has(.court-booking-page) .cm-ai-bubble,body:has(.pos-page) .cm-ai-bubble{display:none!important}
body:has(.court-booking-page) .cm-ai-assistant,body:has(.pos-page) .cm-ai-assistant{bottom:160px!important}
html body .page.court-booking-page,html body .page.pos-page:not(.pos-dark){background:#fff!important;--border:#dce4e8;--pos-line:#dce4e8;--pos-bg:#f5f8f9;--pos-ink:#202c33;padding-bottom:110px}
.court-action-icon{width:18px;height:18px;flex:0 0 18px;vertical-align:middle;margin-right:7px}
html body .court-booking-page .btn.primary,html body .court-booking-page button.primary{background:#0f766e!important;border-color:#0f766e!important;color:#fff!important}
.court-booking-page .btn.primary .court-action-icon{filter:brightness(0) invert(1)}
html body .court-booking-page .court-detail-profile{background:#fff;border:0;border-bottom:1px solid #dce4e8;border-radius:0;box-shadow:none;grid-template-columns:220px minmax(0,1fr)}
html body .court-booking-page .court-detail-media{min-height:0;max-height:240px;background:#f1f5f6}
html body .court-booking-page .court-detail-info{padding:18px 24px}
html body .court-booking-page .court-detail-info h2{font-size:26px;line-height:1.2;letter-spacing:0}
html body .court-booking-page .court-detail-facts{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}
html body .court-booking-page .court-detail-facts>div{padding:0;border:0;background:none;border-radius:0}
html body .court-booking-page .court-detail-facts>div:nth-child(n+4){display:none}
html body .court-booking-page .court-detail-facts strong{font-size:15px}
html body .court-booking-page .court-hero-book-now{margin:8px 0;width:auto}
html body .court-booking-page .facility-opening-note{font-size:13px;line-height:1.4;margin:8px 0}
html body .court-booking-page .court-facility-more{margin-top:8px}
html body .court-booking-page .court-date-picker,html body .court-booking-page .court-booking-wizard{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
html body .court-booking-page .booking-step{border:0;border-bottom:2px solid #dce4e8;border-radius:0;background:#f5f8f9;padding:10px}
html body .court-booking-page .booking-step.is-active{border-bottom-color:#0f766e;background:#edf8f5}
html body .court-booking-page .booking-step .small-muted{display:none}
html body .court-booking-page .court-booking-dock{background:#fff!important;color:#202c33!important;border:1px solid #dce4e8!important;box-shadow:0 -4px 20px #172b3212;border-radius:8px!important;gap:12px}
html body .court-booking-page .court-booking-dock :is(strong,span){color:#202c33!important;opacity:1}
html body .pos-page:not(.pos-dark) .pos-workbench{background:#fff;grid-template-columns:170px minmax(0,1fr) 360px;gap:0}
html body .pos-page:not(.pos-dark) .pos-menu{background:#fff;padding:16px;min-width:0}
html body .pos-page:not(.pos-dark) .pos-item-card{background:#fff;border:1px solid #dce4e8;box-shadow:none}
html body .pos-page:not(.pos-dark) .pos-item-art{height:100px;min-height:0;background:#f1f6f7}
html body .pos-page:not(.pos-dark) .pos-item-card strong{font-size:15px;line-height:1.3}
html body .pos-page:not(.pos-dark) .pos-category.active{background:#0f766e!important;color:#fff!important;border-color:#0f766e!important}
html body .pos-page:not(.pos-dark) .pos-pay-bar{background:#ecf7f3;border:1px solid #bee1d7;border-radius:8px}
html body .pos-page .pos-booking-toolbar>div:first-child{display:none}
.pos-touch-checkout{display:none}
#posCheckout{scroll-margin-top:90px}
@media(max-width:900px){
 html body .pos-page:not(.pos-dark) .pos-workbench{grid-template-columns:minmax(0,1fr)}
 html body .pos-page .pos-workbench .pos-menu{order:0}
 html body .pos-page .pos-workbench .pos-order{order:1;position:static;max-height:none;padding:16px;border-top:1px solid #dce4e8}
 html body .pos-page .pos-item-grid:not(.is-list){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 html body .pos-page .pos-item-body{padding:10px;min-width:0}
 html body .pos-page .pos-item-card{min-width:0}
 html body .pos-page .pos-item-actions{flex-wrap:wrap}
 html body .pos-page .pos-top-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:8px}
 html body .pos-page .pos-top-tabs button{flex:0 0 auto}
 .pos-touch-checkout{display:flex;position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:16px;right:16px;z-index:25;justify-content:space-between;gap:12px;padding:16px;background:#0f766e;color:#fff!important;border-radius:8px;text-decoration:none;box-shadow:0 4px 16px #172b3220}
 .pos-touch-checkout :is(strong,span){color:#fff!important}
}
@media(max-width:600px){
 html body .court-booking-page .court-date-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
 html body .court-booking-page .court-date-toolbar .court-calendar-trigger{grid-column:1/-1;grid-row:1}
 html body .court-booking-page .court-date-toolbar>a{grid-row:2;min-width:0;font-size:13px}
 html body .court-booking-page .court-date-toolbar .court-duration-mini{grid-row:3;grid-column:1}
 html body .court-booking-page .court-date-toolbar .court-date-refresh{grid-row:3;grid-column:2}
 html body .court-booking-page .court-detail-profile{grid-template-columns:minmax(0,1fr);margin:8px 0}
 html body .court-booking-page .court-detail-media{max-height:120px;overflow:hidden}
 html body .court-booking-page .court-detail-info{padding:12px 0}
 html body .court-booking-page .court-detail-info h2{font-size:22px}
 html body .court-booking-page .court-detail-brand{gap:10px}
 html body .court-booking-page .court-detail-facts{gap:20px}
 html body .court-booking-page .court-hero-book-now{width:100%;box-sizing:border-box}
 html body .court-booking-page :is(input,select,textarea),html body .pos-page :is(input,select,textarea){font-size:16px!important;max-width:100%;box-sizing:border-box}
 html body .court-booking-page .court-booking-wizard{padding:12px 0!important}
 html body .court-booking-page .court-booking-dock{bottom:calc(76px + env(safe-area-inset-bottom));left:10px;right:10px;padding:12px!important}
 html body .court-booking-page .court-booking-dock>div{min-width:0;font-size:13px}
 html body .court-booking-page .court-booking-dock .btn{flex-shrink:0;font-size:14px}
}
