/* One palette governs every UI role. Platform logo image pixels remain unchanged. */
:root{accent-color:var(--brand-primary)}:root[data-brand-theme="light"]{color-scheme:light}:root[data-brand-theme="dark"]{color-scheme:dark}::selection{background:var(--brand-accent);color:var(--brand-on-accent)}body{background:var(--brand-soft-strong);color:var(--brand-ink)}body .app,body .sheet,body .section,body .sheet-inner,body .sheet-body,body #plan{background:var(--brand-background);color:var(--brand-ink)}body header,body .tabs,body .panel-top,body .admin-top,body .admin-tabs{background:var(--brand-nav);color:var(--brand-ink);border-color:var(--brand-line)}body footer{background:var(--brand-nav);color:var(--brand-ink)}body .bottom-bar,body .sheet-actions,body .panel-action,body .booking-footer,body .policy-contact,body .admin-bottom{background:var(--brand-background);color:var(--brand-ink);border-color:var(--brand-line)}body .section-heading h2,body .sheet h2,body .sheet h3,body .preview-name h3,body .hall-body h3,body .admin-scroll h3{color:var(--brand-ink)}body .section-heading p,body .caption,body .fine,body .muted,body .hall-size,body .hall-body>p,body .preview-copy>p,body .preview-eyebrow,body .preview-stats small,body .footer-location,body .hall-tags,body .compare-label,body .contact-hours,body .contact-hours p,body .contact-info small,body .price-note,body .info-note,body .form-small,body .booking-help,body .admin-note,body .admin-field,body #admin-status,body .admin-top small{color:var(--brand-muted)}body .logo,body .header-location{color:var(--brand-primary-text)}body .tabs a{color:var(--brand-muted);border-bottom-color:transparent}body .tabs a.active{color:var(--brand-primary-text);border-bottom-color:var(--brand-primary);box-shadow:inset 0 -1px 0 var(--brand-primary)}
/* Main actions, auxiliary actions and all interaction states. */
body .primary,body .reserve-button,body .dark,body #admin-save{background:var(--brand-primary);color:var(--brand-on-primary);border-color:var(--brand-primary);box-shadow:0 3px 12px rgb(var(--brand-shadow-rgb) / .12)}body .primary svg,body .reserve-button svg{color:inherit}body .first-action,body .cream,body .bottom-bar .bottom-wa,body .contact-wa{background:var(--brand-accent);color:var(--brand-on-accent);border-color:var(--brand-line-strong)}body .first-action{box-shadow:0 4px 16px rgb(var(--brand-shadow-rgb) / .15)}body .bottom-bar .bottom-wa svg{color:var(--brand-on-accent)}body button:active,body a.primary:active,body .bottom-wa:active{filter:brightness(.96)}body .primary:active,body .reserve-button:active{background:var(--brand-primary-pressed);color:var(--brand-on-primary)}body .first-action:active,body .bottom-bar .bottom-wa:active{background:var(--brand-accent-hover);color:var(--brand-on-accent)}body button:focus-visible,body a:focus-visible,body summary:focus-visible,body [role="button"]:focus-visible{outline:3px solid var(--brand-focus);outline-offset:3px}body button:disabled,body .primary:disabled,body .booking-buttons button:disabled{background:var(--brand-disabled);color:var(--brand-on-disabled);border-color:var(--brand-line);box-shadow:none;opacity:1}body .outline,body .select-hall,body .palette-button,body .upload-label,body .admin-add{background:var(--brand-soft);color:var(--brand-primary-text);border-color:var(--brand-line-strong)}body .text-button,body footer button,body #settings-open,body .receipt-links button,body .receipt-small-wa,body .sheet-secondary,body .booking-wa,body .map-link,body .calendar-today{color:var(--brand-primary-text)}body .icon-button,body .preview-open,body .selection-tick,body .journey b{color:var(--brand-primary-text);background:var(--brand-soft);border-color:var(--brand-line)}body .close,body .panel-top .close,body #contact-panel .panel-top>.close,body #hall-sheet>.close,body #plan-panel:has(#plan-form.submitted)>.panel-top>.close{background:var(--brand-surface);color:var(--brand-primary-text);box-shadow:0 2px 12px rgb(var(--brand-shadow-rgb) / .12)}body .close:before,body .close:after{background:var(--brand-primary-text)}body .sheet-handle,body .sheet>.panel-top:before,body .admin-top:before{background:var(--brand-line-strong)!important}body .sheet::backdrop{background:rgb(var(--brand-shadow-rgb) / .50)}
/* Cards, price labels and selected states share the same accents. */
body .hall-card,body .preview-track>button,body .menu-option,body .compare-option,body .policy-card,body .equipment-group,body .quick-actions>button,body .receipt-body,body #booking-hall-preview,body #booking-menu-preview,body .admin-card{background:var(--brand-surface);color:var(--brand-ink);border-color:var(--brand-line);box-shadow:0 3px 14px rgb(var(--brand-shadow-rgb) / .045)}body .card-bottom,body .preview-stats,body .preview-stats>span+span,body .menu-option details,body .menu-option ul,body .compare-option dl,body .faq details,body .contact-info,body .receipt-facts,body .receipt-links,body .contact-hours,body .admin-card summary{border-color:var(--brand-line)}body .card-price,body .menu-price,body .compare-price,body .preview-stats b,body .receipt-facts b{color:var(--brand-ink)}body .card-price small,body .menu-name small,body .menu-amount small,body .compare-price small,body .compare-option dt,body .receipt-facts small,body .receipt-facts span{color:var(--brand-muted)}body .menu-amount{background:var(--brand-soft);color:var(--brand-primary-text)}body .menu-option summary,body .menu-option ul,body .equipment-items>span,body .info-note b{color:var(--brand-subtle)}body .radio,body .event-radio{background:var(--brand-surface);border-color:var(--brand-line-strong)}body .menu-option.is-selected,body .event-choices .event-selected,body .compare-current,body .selection-chip{background:var(--brand-selected);color:var(--brand-selected-ink);border-color:var(--brand-selected-border);box-shadow:inset 0 0 0 1px var(--brand-selected-border)}body .menu-option.is-selected{box-shadow:inset 3px 0 0 var(--brand-selected-border)}body .menu-option.is-selected .menu-name,body .event-selected>span,body .compare-current>b,body .compare-current dd,body .selection-chip b{color:var(--brand-selected-ink)}body .menu-option.is-selected .radio,body .is-selected .radio,body .event-selected .event-radio{background:var(--brand-surface);border-color:var(--brand-selected-border)}body .menu-option.is-selected .menu-amount,body .compare-current .compare-label{background:var(--brand-accent);color:var(--brand-on-accent)}body .select-hall.chosen{background:var(--brand-selected);color:var(--brand-selected-ink);border-color:var(--brand-selected-border)}body .guest-chips button,body .event-choices button,body .admin-tabs button{background:var(--brand-surface);color:var(--brand-muted);border-color:var(--brand-line)}body .guest-chips button.selected,body .admin-tabs button.current{background:var(--brand-primary);color:var(--brand-on-primary);border-color:var(--brand-primary)}body .event-choices .event-selected svg{color:var(--brand-selected-ink)}body .event-choices svg,body .equipment-items svg,body .amenities svg,body .location-symbol,body .contact-info svg,body .clock{color:var(--brand-primary-text)}body .compare-option[role="button"]:after{color:var(--brand-primary-text)}body .compare-option[role="button"]:focus-visible{outline-color:var(--brand-focus)}body .compare-label,body .equipment-heading>span{background:var(--brand-soft);color:var(--brand-muted)}body .hall-compare .current-hall{background:var(--brand-selected);color:var(--brand-selected-ink)}body .hall-compare th,body .hall-compare td{border-color:var(--brand-line);color:var(--brand-muted)}
/* Inputs, the date picker and booking progress. */
body input,body select,body textarea,body .admin-field input,body .admin-field textarea{background:var(--brand-surface);color:var(--brand-ink);border-color:var(--brand-line-strong);caret-color:var(--brand-primary-text)}body input::placeholder,body textarea::placeholder{color:var(--brand-muted);opacity:1}body input:focus,body select:focus,body textarea:focus{outline-color:var(--brand-focus);border-color:var(--brand-focus);box-shadow:0 0 0 4px var(--brand-soft-strong)}body input[type="checkbox"],body input[type="radio"],body .auto-palette-option input{accent-color:var(--brand-primary)}body .field-label,body .field-row label,body .booking-consent,body .auto-palette-option{color:var(--brand-muted)}body .date-picker-button,body .date-picker-button.has-date{background:var(--brand-surface);border-color:var(--brand-line-strong);color:var(--brand-primary-text)}body .date-icon,body .date-chevron{color:var(--brand-primary-text)}body .calendar-month button,body .calendar-grid button{background:var(--brand-soft);color:var(--brand-primary-text);border-color:var(--brand-line)}body .calendar-month strong{color:var(--brand-ink)}body .calendar-weekdays,body .calendar-legend p{color:var(--brand-muted)}body .calendar-grid button.date-selected{background:var(--brand-primary);color:var(--brand-on-primary);box-shadow:0 3px 12px rgb(var(--brand-shadow-rgb) / .15)}body .calendar-grid button:disabled,body .calendar-month button:disabled{background:transparent;color:var(--brand-on-disabled);opacity:.4}body .calendar-grid button.date-today:after{background:var(--brand-primary-text)}body .calendar-grid button.date-selected.date-today:after{background:var(--brand-on-primary)}body .calendar-selected{color:var(--brand-primary-text)}body .calendar-legend>span{background:var(--brand-primary-text)}body .booking-progress span{border-top-color:var(--brand-progress-track);color:var(--brand-muted)}body .booking-progress .current{border-top-color:var(--brand-primary);color:var(--brand-primary-text)}body .booking-progress .complete{border-top-color:var(--brand-selected-border);color:var(--brand-primary-text)}body .budget-box,body #booking-summary,body .seating{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line)}body .budget-box>div:first-child span,body .budget-breakdown,body #booking-summary span,body .seating .caption{color:var(--brand-muted)}body .budget-box strong,body #booking-summary b{color:var(--brand-primary-text)}body .budget-breakdown{border-color:var(--brand-line)}body .booking-buttons #booking-back{background:var(--brand-soft);color:var(--brand-primary-text)}body .stage{background:var(--brand-accent);color:var(--brand-on-accent)}body .tables span{background:var(--brand-surface);color:var(--brand-primary-text);border-color:var(--brand-line-strong)}body .constraint-box{background:var(--brand-warning);color:var(--brand-on-warning)!important;border-color:var(--brand-line-strong)}body .constraint-box>b{color:var(--brand-on-warning)}body .constraint-box button{background:var(--brand-surface);color:var(--brand-primary-text);border-color:var(--brand-line-strong)}body .constraint-box button:first-child{background:var(--brand-accent);color:var(--brand-on-accent);border-color:var(--brand-selected-border)}body .validation,body .admin-remove{color:var(--brand-primary-text)}
/* Carousel, image loading, active dots and every animated highlight. */
body .carousel-dots button{background:var(--brand-progress-track)}body .carousel-dots button.is-current{background:var(--brand-primary-text);box-shadow:0 0 0 3px var(--brand-soft)}body .carousel-toggle{background:var(--brand-soft);color:var(--brand-primary-text)}body .photo-loading-host,body .photo-loader{background:var(--brand-shimmer-base);color:var(--brand-muted)}body .photo-loader:before{background:linear-gradient(110deg,transparent 20%,var(--brand-shimmer-light) 45%,transparent 70%)}body .loader-mark{border-color:var(--brand-line);border-top-color:var(--brand-primary-text)}body .tap-wave:after{background:var(--brand-accent);opacity:.5}body .selection-tick,body .receipt-check,body .success-check{background:var(--brand-accent);color:var(--brand-on-accent)}body .selection-celebrate{animation-name:brand-selection}body .intro .overline>span{background:var(--brand-accent);animation-name:brand-dot}body .preview-feature:before{background:var(--brand-accent)}body .policy-hero{background:linear-gradient(135deg,var(--brand-soft-strong),var(--brand-soft));color:var(--brand-ink)}body .policy-hero:after{color:var(--brand-line)}body .policy-kicker,body .policy-hero p{color:var(--brand-primary-text)}body .policy-number{background:var(--brand-accent);color:var(--brand-on-accent)}body .policy-note,body .receipt-local-note,body .receipt-id,body .receipt-subtitle,body .preview-size{color:var(--brand-muted)}
/* Photographic sections keep readable foregrounds while carrying the brand tint. */
body .intro{color:var(--brand-on-image);background:transparent}body .intro .cover:after{background:linear-gradient(90deg,rgb(var(--brand-shadow-rgb) / .82),rgb(var(--brand-shadow-rgb) / .24)),linear-gradient(0deg,rgb(var(--brand-shadow-rgb) / .62),transparent 70%)}body .intro h1,body .intro h1 span,body .intro>p,body .intro .overline,body .intro .quick-facts,body .intro .quick-facts svg{color:var(--brand-on-image)}body .contact-cover-title,body .contact-cover-title h2,body .contact-cover-title p,body .contact-brand,body .preview-feature,body .event-image span,body .gallery-item span{color:var(--brand-on-image)}body .contact-cover:after,body .contact-visual:after{background:linear-gradient(0deg,rgb(var(--brand-shadow-rgb) / .82),transparent 85%)}body .preview-photo:after,body .receipt-visual:after{background:linear-gradient(0deg,rgb(var(--brand-shadow-rgb) / .50),transparent 80%)}body .hall-image .card-arrow,body .menu-photo span,body .preview-index,body .receipt-badge{background:var(--brand-surface);color:var(--brand-primary-text)}
/* Contacts and settings use the same theme; external brand image pixels are untouched. */
body .gis-action,body .contact-extra-action,body .footer-contacts a{background:var(--brand-soft);color:var(--brand-primary-text);border-color:var(--brand-line)}body .contact-wa{background:var(--brand-accent);color:var(--brand-on-accent)}body .gis-copy small,body .contact-extra-action small,body .contact-wa small,body .contact-location>div>span{color:var(--brand-muted)}body .gis-copy b,body .contact-extra-action b,body .contact-wa b{color:inherit}body .action-chevron{color:inherit}body .contact-location b{color:var(--brand-ink)}body .location-symbol,body .extra-contact-icon,body .contact-actions a[href^="tel:"] .extra-contact-icon{background:var(--brand-surface);border-color:var(--brand-line)!important;color:var(--brand-primary-text)}body .contact-actions a[href^="tel:"] svg,body .footer-contacts a[href^="tel:"] svg{color:var(--brand-primary-text);stroke:currentColor}body .admin-card,body .admin-photo{border-color:var(--brand-line)}body .admin-photo{background:var(--brand-soft)}body #settings-sheet,body .admin-bottom{background:var(--brand-background)}body .admin-field,body .admin-card summary>span,body .admin-status{color:var(--brand-muted)}body .admin-card summary{color:var(--brand-ink)}body .admin-add:disabled{color:var(--brand-on-disabled);background:var(--brand-disabled)}
/* A live, representative theme specimen inside the color settings. */
.theme-preview{background:var(--brand-surface);color:var(--brand-ink);border:1px solid var(--brand-line);border-radius:16px;padding:20px;margin:4px 0 24px;box-shadow:0 3px 14px rgb(var(--brand-shadow-rgb) / .06)}.theme-preview-label{display:block;font-size:9px;letter-spacing:.5px;color:var(--brand-muted);margin-bottom:12px}.theme-preview>b{font-size:20px;letter-spacing:-.5px}.theme-preview>p{font-size:12px;color:var(--brand-muted);line-height:1.7;margin:10px 0 18px}.theme-preview-controls{display:flex;gap:9px}.theme-preview-controls>button{border-radius:10px;min-height:42px;padding:10px 14px;font-size:11px;font-weight:650;flex:1}.theme-example-primary{background:var(--brand-primary);color:var(--brand-on-primary);border:1px solid var(--brand-primary)}.theme-example-selected{background:var(--brand-selected);color:var(--brand-selected-ink);border:1px solid var(--brand-selected-border)}.theme-preview-progress{height:5px;background:var(--brand-progress-track);border-radius:5px;margin-top:22px;overflow:hidden}.theme-preview-progress>i{display:block;width:62%;height:100%;background:var(--brand-primary)}.theme-preview-dots{display:flex;gap:6px;margin-top:13px}.theme-preview-dots>i{display:block;width:7px;height:7px;border-radius:7px;background:var(--brand-progress-track)}.theme-preview-dots>i:first-child{width:23px;background:var(--brand-primary-text)}
@media(hover:hover){body .primary:not(:disabled):hover,body .reserve-button:hover{background:var(--brand-primary-hover);color:var(--brand-on-primary)}body .first-action:hover,body .bottom-bar .bottom-wa:hover{background:var(--brand-accent-hover);color:var(--brand-on-accent)}body .guest-chips button:not(.selected):hover,body .event-choices button:not(.event-selected):hover,body .admin-tabs button:not(.current):hover{background:var(--brand-surface-hover);color:var(--brand-primary-text)}body .compare-option[role="button"]:hover{border-color:var(--brand-selected-border)}body .select-hall:hover{background:var(--brand-selected);color:var(--brand-selected-ink)}}
@keyframes brand-selection{0%{transform:scale(.97);background:var(--brand-accent)}65%{transform:scale(1.015)}100%{transform:scale(1);background:var(--brand-selected)}}@keyframes brand-dot{0%{box-shadow:0 0 0 0 var(--brand-accent)}100%{box-shadow:0 0 0 9px transparent}}@keyframes backdrop-in{from{background:rgb(var(--brand-shadow-rgb) / 0)}to{background:rgb(var(--brand-shadow-rgb) / .50)}}@keyframes backdrop-dismiss{from{background:rgb(var(--brand-shadow-rgb) / .50);backdrop-filter:blur(3px)}to{background:rgb(var(--brand-shadow-rgb) / 0);backdrop-filter:blur(0px)}}
body .preview-track>button{outline:1px solid var(--brand-line);outline-offset:-1px;transition:outline-color .45s ease,box-shadow .45s ease}body .preview-track>button.carousel-current{outline-color:var(--brand-line-strong);box-shadow:0 5px 20px rgb(var(--brand-shadow-rgb) / .09)}body .carousel-current .preview-open{background:var(--brand-primary);color:var(--brand-on-primary);transition:background .4s,color .4s}body .carousel-current .preview-feature:before{background:var(--brand-accent);box-shadow:0 0 0 3px rgb(var(--brand-shadow-rgb) / .14)}
