:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f8f9fa;color:#1f2933}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f8f9fa}button,input,select{font:inherit}.public-booking-page{min-height:100vh;padding:12px 12px 108px}.public-booking-shell{width:min(1280px,100%);margin:0 auto;display:grid;gap:12px}.booking-header,.booking-stepper,.shell-main,.shell-summary{background:#fff;border:1px solid #dde2e6;border-radius:16px}.booking-header{padding:20px}.booking-header h1{margin:0;font-size:clamp(24px,3vw,28px)}.booking-subtitle,.booking-caption,.card-text{color:#6b7280}.booking-caption{margin:0 0 8px}.booking-subtitle{margin:8px 0 0}.booking-stepper{margin:0;padding:10px;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.stepper-item{border:1px solid #dde2e6;border-radius:10px;padding:8px;display:grid;justify-items:center;gap:6px;text-align:center}.stepper-index{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;border:1px solid #cbd5e1}.stepper-item.is-active{border-color:#111827}.stepper-item.is-active .stepper-index,.stepper-item.is-completed .stepper-index{background:#111827;color:#fff;border-color:#111827}.stepper-item.is-locked{opacity:.72}.stepper-label{font-size:12px;font-weight:600}.public-booking-layout{display:grid;gap:12px}.shell-main{padding:16px;display:grid;gap:12px}.shell-summary{padding:16px}.booking-section h2{margin:0 0 12px;font-size:20px}.card-list,.form-grid,.slot-grid{display:grid;gap:12px}.resource-grid,.duration-grid{grid-template-columns:1fr}.duration-card{width:100%;text-align:left;padding:14px;display:grid;gap:4px}.selection-card,.date-pill,.slot-button,.primary-button,.secondary-button,.primary-link,.mobile-sticky-button,input,select{border-radius:10px;border:1px solid #dde2e6}.selection-card,.date-pill,.slot-button,.secondary-button{background:#fff}.resource-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;padding:14px}.resource-card-media{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#eef2ff,#f3f4f6);display:inline-flex;align-items:center;justify-content:center}.resource-card-content{display:grid;gap:4px}.resource-check{width:24px;height:24px;border-radius:999px;background:#111827;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.selection-card.is-selected,.date-pill.is-selected,.slot-button.is-selected{border-color:#111827;background:#f1f5f9}.selection-card:disabled,.slot-button:disabled,.primary-button:disabled,.mobile-sticky-button:disabled{cursor:not-allowed;color:#6b7280;border-color:#cbd5e1;background:#f1f3f5}.date-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.date-pill{white-space:nowrap;padding:10px 14px;font-weight:600}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-button{min-height:46px;padding:10px}.state-box{border:1px solid #dde2e6;border-radius:10px;background:#f1f3f5;padding:16px}.state-box.is-error{border-color:#fda4af;background:#fff1f2;color:#b91c1c}.state-box.is-info{border-color:#cbd5e1;background:#f8fafc}.booking-collapsed-hint{color:#4b5563}.primary-button,.primary-link,.mobile-sticky-button{height:52px;width:100%;background:#111827;color:#fff;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:0}.secondary-button{margin-top:8px;padding:10px 14px}.card-title,.price-value{margin:0}.price-value{font-size:clamp(32px,5vw,40px);font-weight:700}.quote-breakdown ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}.form-grid label{display:grid;gap:6px}.field-error,.summary-error,.date-validation-error{color:#b91c1c;font-size:13px}input,select{width:100%;padding:12px;background:#fff}.summary-list{display:grid;gap:8px;margin:0}.summary-list div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #dde2e6;padding-bottom:8px}.summary-list dt{color:#6b7280}.summary-list dd{margin:0;text-align:right;font-weight:600}.summary-compact{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#f8fafc}.summary-compact-price{margin:0;font-size:28px;font-weight:700}.summary-status{margin:14px 0;color:#374151}.summary-action-desktop{display:none}.date-input-label{display:inline-block;margin:12px 0 6px}.mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #dde2e6;display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,1fr);gap:10px;align-items:center;z-index:50}.mobile-sticky-caption{margin:0;font-size:12px;color:#6b7280}.mobile-sticky-price{margin:2px 0 0;font-size:18px;font-weight:700}@media (max-width: 767px){.booking-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.public-booking-page{padding:20px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-pills{flex-wrap:wrap;overflow:visible}.shell-main,.shell-summary{padding:20px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.public-booking-page{padding-bottom:20px}.public-booking-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.shell-summary{position:sticky;top:20px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-action-desktop{display:block}.mobile-sticky-cta{display:none}}.admin-page{min-height:100vh;padding:24px;display:flex;flex-direction:column;gap:20px}.admin-page--centered{align-items:center;justify-content:center}.admin-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 12px 24px #0f172a0f;padding:24px;width:min(460px,100%)}.admin-topbar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-main{width:100%;max-width:960px}.admin-title{margin:0;font-size:1.5rem;line-height:1.3}.admin-muted{color:#475569;margin:8px 0 0}.admin-field{display:flex;flex-direction:column;gap:8px;margin-top:14px}.admin-field input,.admin-field textarea,.admin-field select{border:1px solid #cbd5e1;border-radius:10px;padding:12px;width:100%;min-height:44px;font:inherit;color:#0f172a;background:#fff}.admin-field textarea{resize:vertical;min-height:96px}.admin-button{margin-top:16px;border:0;border-radius:10px;background:#0f172a;color:#fff;font-weight:600;padding:12px 16px;cursor:pointer}.admin-button:disabled{opacity:.65;cursor:not-allowed}.admin-button--ghost{margin-top:0;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.admin-button--ghost:hover:not(:disabled){background:#f8fafc}.admin-button--text{margin-top:0;border:0;background:transparent;color:#475569;padding:12px 6px}.admin-button--text:hover:not(:disabled),.admin-button--text:focus-visible{color:#0f172a;background:#f8fafc}.admin-error{color:#b91c1c;margin-top:12px}@media (max-width: 768px){.admin-page{padding:16px}.admin-topbar{flex-direction:column;align-items:stretch}.admin-button--ghost{width:100%}}.admin-workspace{margin-top:16px}.admin-workspace__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.admin-workspace__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-workspace__actions .admin-button{margin-top:0}.admin-button--header-primary,.admin-button--header-secondary{min-height:40px;padding:9px 14px;white-space:nowrap}.admin-button--header-secondary{font-weight:500}.admin-resource-list{display:grid;gap:12px}.admin-resource-card{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-resource-card__body{min-width:0}.admin-resource-card__actions{display:grid;gap:6px;justify-items:stretch;min-width:148px}.admin-resource-card__actions .admin-button{margin-top:0}.admin-button--card-primary{min-height:40px;padding:9px 14px}.admin-button--card-secondary{min-height:34px;padding:6px 10px;font-size:.92rem;font-weight:500}.admin-badges{display:flex;gap:8px;flex-wrap:nowrap;margin-top:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.admin-badge{border:1px solid #cbd5e1;border-radius:999px;font-size:12px;padding:4px 10px;white-space:nowrap;flex:0 0 auto;background:#f8fafc;color:#334155}.admin-badge--positive{border-color:#86efac;background:#f0fdf4;color:#166534}.admin-badge--warning{border-color:#fcd34d;background:#fffbeb;color:#854d0e}.admin-badge--neutral{border-color:#cbd5e1;background:#f8fafc;color:#475569}.admin-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a40;display:flex;justify-content:flex-end;z-index:20}.admin-drawer{background:#fff;width:min(720px,100%);height:100vh;padding:20px 16px 108px;overflow:auto}.admin-drawer__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-section{margin-top:16px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fcfdff;display:grid;gap:9px}.admin-section__header{display:grid;gap:4px}.admin-section__header h4{margin:0;font-size:1rem}.admin-section__header .admin-muted,.admin-muted--compact{margin-top:0}.admin-field--inline{flex-direction:row;align-items:center}.admin-status-card{margin-top:16px;padding:12px;border-radius:12px;border:1px solid #dbe3ed;background:#fff;gap:10px}.admin-status-card--active{border-color:#86efac;background:#f0fdf4}.admin-status-card--inactive{border-color:#fcd34d;background:#fffbeb}.admin-status-card__title{margin:0;font-weight:600}.admin-status-toggle{margin-top:0;width:fit-content;cursor:pointer;gap:10px}.admin-status-toggle input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#0f172a}.admin-status-hint{margin:0;font-size:.9rem;color:#334155}.admin-inline-actions{display:flex;gap:8px}.admin-inline-actions--form{margin-top:16px;padding-top:2px}.admin-main-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.admin-main-actions .admin-button{margin-top:0;min-height:42px;display:inline-flex;align-items:center;justify-content:center}.admin-section-action-row{display:flex;justify-content:flex-end}.admin-button--neutral-action{min-height:42px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center}.admin-day-block{border-top:1px dashed #cbd5e1;padding:8px 0;margin-top:0;background:transparent}.admin-day-block:first-of-type{border-top:0;padding-top:4px}.admin-day-block__title{margin:0 0 8px;font-weight:600}.admin-day-block__empty{margin:0 0 10px;color:#64748b;font-size:.95rem}.admin-interval-row{display:flex;gap:8px;margin:8px 0 10px;align-items:center;flex-wrap:wrap}.admin-interval-row input{min-width:124px}.admin-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.admin-schedule-grid .admin-day-block{border:1px solid #e2e8f0;border-radius:10px;padding:10px}.admin-schedule-grid .admin-day-block:first-of-type{padding-top:10px}.admin-schedule-warning{margin:0 0 8px;padding:8px 10px;border-radius:8px;border:1px solid #fcd34d;background:#fffbeb;color:#854d0e;font-size:.92rem}.admin-checklist{padding-left:18px}.admin-danger-zone{border-color:#fed7d7;background:#fffdfd}.admin-danger-button{background:#b91c1c;padding:10px 14px;width:fit-content;margin-top:8px}.admin-feedback{margin-top:12px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:.93rem;line-height:1.35;background:#f8fafc;color:#334155}.admin-feedback--success{border-color:#86efac;background:#f0fdf4;color:#166534}.admin-feedback--warning{border-color:#fde68a;background:#fffbeb;color:#854d0e}.admin-feedback--error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.admin-feedback--info{border-color:#cbd5e1;background:#f8fafc;color:#334155}.admin-button--light{background:#e2e8f0;color:#0f172a}.admin-button--danger-secondary{background:#fee2e2;color:#b91c1c}.admin-schedule-note{margin-top:10px;border-left:3px solid #cbd5e1;border-radius:6px;background:transparent;padding:6px 0 6px 10px}.admin-schedule-note__title{margin:0;font-weight:600;font-size:.94rem}.admin-schedule-note__text{margin:6px 0 0;color:#475569;font-size:.9rem}.admin-schedule-actions{margin-top:12px;padding:4px 0 0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-schedule-status{margin:0;color:#334155;font-size:.95rem}.admin-schedule-actions .admin-feedback{margin-top:0;flex:1}@media (max-width: 640px){.admin-schedule-actions{flex-direction:column;align-items:stretch}.admin-schedule-actions .admin-button{width:100%}}.admin-price-options{margin-top:10px;border:0;border-radius:0;padding:0;background:transparent}.admin-price-options ul{margin:8px 0 0;padding-left:0;display:grid;gap:4px}.admin-price-options__list{list-style:none;padding-left:0}.admin-price-options__item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding:10px 0}.admin-price-options__item:first-child{border-top:0;padding-top:2px}.admin-price-options__summary{display:grid;gap:4px}.admin-price-options__duration{margin:0;font-size:.95rem;color:#475569}.admin-price-options__price{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.admin-price-options__actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.admin-price-options__actions .admin-button{margin-top:0;padding:8px 10px;font-size:.86rem;font-weight:500}.admin-button--danger-ghost{background:#fee2e2;color:#b91c1c}.admin-subsection-title{margin:14px 0 0;font-size:1rem}.admin-preview-controls{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-preview-result{margin-top:12px;border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#fff}.admin-preview-diagnostics{margin:10px 0 0;padding-left:0;list-style:none;display:grid;gap:6px}.admin-preview-diagnostics__item{padding:8px 10px}.admin-preview-diagnostics__main{margin:0;display:flex;gap:8px;align-items:flex-start}.admin-preview-diagnostics__marker{min-width:1ch;font-weight:700}.admin-preview-diagnostics__hint{margin:6px 0 0 22px;font-size:.9rem;color:#475569}.admin-preview-slots ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}@media (max-width: 1024px){.admin-workspace__header{flex-direction:column}.admin-workspace__actions{width:100%;justify-content:flex-start}}@media (max-width: 768px){.admin-drawer{width:100%;height:100vh;padding:16px 14px 116px}.admin-section{padding:11px;gap:8px}.admin-resource-card{flex-direction:column;align-items:stretch}.admin-resource-card__actions{width:100%;min-width:0;gap:8px}.admin-resource-card__actions .admin-button{width:100%}.admin-button--card-primary,.admin-button--card-secondary,.admin-button--header-primary,.admin-button--header-secondary{min-height:40px;padding:9px 14px;font-size:.95rem}.admin-interval-row{flex-direction:column;align-items:stretch}.admin-inline-actions--form{flex-direction:column;gap:10px}.admin-main-actions{flex-direction:column}.admin-main-actions .admin-button{width:100%}.admin-price-options__item{display:grid;gap:10px}.admin-schedule-grid{grid-template-columns:1fr;gap:8px}.admin-day-block{border:1px solid #e2e8f0;border-radius:10px;padding:9px;margin-top:8px;background:#fff}.admin-price-options__actions{justify-content:flex-start}.admin-section-action-row{justify-content:stretch}.admin-button--neutral-action{width:100%}.admin-preview-controls{grid-template-columns:1fr;gap:10px}.admin-preview-controls .admin-field{margin-top:0}.admin-section>.admin-button{width:100%}}@media (max-width: 420px){.admin-badges{gap:6px}.admin-badge{font-size:11px;padding:3px 8px}}
