:root{--ink:#182329;--muted:#61716a;--page:#f3f6f4;--surface:#fff;--surface-soft:#e8f2ec;--line:#d5e2da;--brand:#2f7d68;--brand-deep:#193f34;--focus:#bde2d2;--danger:#9d3327;--danger-bg:#fff0ee;color:var(--ink);background:var(--page);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}:root[data-theme=dark]{--ink:#e8f2ec;--muted:#b6c8bd;--page:#101815;--surface:#18231e;--surface-soft:#1d3329;--line:#355045;--brand:#79c6a9;--brand-deep:#bde8d4;--focus:#5f9f87;--danger:#ffc0b7;--danger-bg:#4a2422}*{box-sizing:border-box}body{background:var(--page);margin:0}a{color:var(--brand);text-underline-offset:3px;font-weight:750;text-decoration-thickness:1px}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.shell{max-width:1120px;margin:0 auto;padding:48px 24px 80px}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:460px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:40px;display:flex}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:850}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:0;font-size:clamp(2.2rem,6vw,4.5rem);line-height:.95}h2{letter-spacing:-.03em;font-size:1.35rem}h3{margin-bottom:6px}.identity{color:var(--muted);text-align:right;gap:4px;font-size:.9rem;display:grid}.identity strong{color:var(--ink)}.grid{grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-bottom:18px;padding:26px;box-shadow:0 14px 40px #1d453012}.hero{background:var(--surface-soft);border-color:var(--line);flex-direction:column;justify-content:flex-end;min-height:230px;display:flex}.hero h2{max-width:680px;margin-bottom:12px;font-size:clamp(1.7rem,4vw,3rem)}.hero p:last-child{color:var(--muted);max-width:650px;margin-bottom:0;line-height:1.6}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.panel-heading h2{margin-bottom:0}.badge,.status{background:var(--surface-soft);color:var(--brand);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:800}.muted{color:var(--muted);font-size:.85rem}form{gap:9px;display:grid}label,legend{color:var(--muted);font-size:.85rem;font-weight:750}input,select,textarea{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;width:100%;padding:12px 13px}textarea{resize:vertical;min-height:92px}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:3px solid var(--focus)}button,.public-button{background:var(--brand-deep);color:var(--surface);cursor:pointer;border:0;border-radius:10px;margin-top:8px;padding:12px 14px;font-weight:800;text-decoration:none}button:hover,.public-button:hover{background:var(--brand);color:var(--surface)}.secondary-button,.back-button,.theme-toggle{color:var(--brand);background:0 0;margin:4px 0 0;padding:4px 0;font-size:.8rem}.secondary-button:hover,.back-button:hover,.theme-toggle:hover{color:var(--ink);background:0 0}.utility-row{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.event-list{gap:10px;display:grid}.event-card{border:1px solid var(--line);border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.event-card-button{background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;width:100%;margin:0}.event-card-button h3{color:var(--ink)}.event-card-button:hover{background:var(--surface-soft);border-color:var(--brand);color:var(--ink)}.event-card p{color:var(--muted);margin-bottom:0;font-size:.9rem}.detail-panel h2{letter-spacing:-.05em;margin-bottom:30px;font-size:clamp(2rem,5vw,4rem)}.detail-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.detail-grid div{border-top:1px solid var(--line);gap:7px;padding-top:14px;display:grid}.event-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:30px 0 24px;display:flex}.event-tab{color:var(--muted);background:0 0;border-radius:8px 8px 0 0;margin:0;padding:10px 12px}.event-tab:hover,.event-tab.active{background:var(--surface-soft);color:var(--ink)}.event-overview p{color:var(--muted);line-height:1.6}.account-grid{margin-top:18px}.user-list{gap:14px;display:grid}.user-list .service-card{gap:9px;display:grid}.event-settings{border-top:1px solid var(--line);grid-template-columns:1.2fr auto 1fr 1fr auto;align-items:end;gap:12px;margin-top:28px;padding-top:20px;display:grid}.event-settings .secondary-button{margin-bottom:9px}.event-settings .schedule-error{color:var(--danger);grid-column:3/-1;margin:0}input.field-error{background:var(--danger-bg);border-color:var(--danger)}.notice{background:var(--surface-soft);border:1px solid var(--brand);color:var(--ink);border-radius:12px;margin-bottom:18px;padding:13px 16px}.service-layout{grid-template-columns:1.2fr .8fr;gap:18px;margin-top:42px;display:grid}.service-section{margin-top:30px}.service-section .panel-heading>div{min-width:0}.service-section .panel-heading h2{margin-bottom:4px}.modal-backdrop{z-index:20;background:#0a1815b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-dialog{width:100%;max-width:620px;max-height:calc(100vh - 48px);margin:0;overflow:auto;box-shadow:0 24px 80px #0008}.service-list{gap:12px;display:grid}.service-card{border:1px solid var(--line);border-radius:14px;padding:18px}.service-card-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.service-card-heading h3{margin-bottom:0}.service-card p{color:var(--muted);margin:12px 0 6px}.question-list{border-top:1px solid var(--line);gap:8px;margin-top:16px;padding-top:12px;display:grid}.question-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.checkbox-label{align-items:center;gap:8px;display:flex}.checkbox-label label{align-items:center;gap:6px;display:flex}.checkbox-label input{accent-color:var(--brand);width:auto}.error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:12px;margin-bottom:18px;padding:13px 16px}.public-editor{margin-top:28px}.hero-upload{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.editor-hero-preview{object-fit:cover;border-radius:12px;max-width:100%;max-height:230px;margin-top:16px;display:block}.preview-link{margin-top:18px;display:inline-block}.form-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}fieldset{border:1px solid var(--line);border-radius:12px;gap:9px;min-width:0;margin:0;padding:18px;display:grid}legend{padding:0 6px}.public-shell{max-width:1240px;min-height:100vh;margin:0 auto;padding:24px}.public-header,.public-footer{justify-content:space-between;align-items:center;gap:18px;display:flex}.public-header{max-width:1120px;margin:0 auto 24px}.public-header nav,.public-footer div{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.public-header nav .theme-toggle{margin:0}.wordmark{color:var(--ink);letter-spacing:-.06em;font-size:1.25rem;font-weight:900;text-decoration:none}.brand-logo{object-fit:contain;object-position:left center;max-width:220px;max-height:42px;display:block}.editor-logo-preview{object-fit:contain;object-position:left center;max-width:240px;max-height:96px;margin-top:14px;display:block}.public-hero{background:var(--surface-soft);border:1px solid var(--line);max-width:1120px;min-height:min(660px,72vh);color:var(--ink);background-position:50%;background-size:cover;border-radius:28px;flex-direction:column;justify-content:flex-end;margin:0 auto;padding:clamp(32px,7vw,86px);display:flex}.public-hero.has-hero{color:#fff;border:0}.public-hero.has-hero .eyebrow{color:#bde8d4}.public-hero h1{max-width:900px;font-size:clamp(3.1rem,8vw,7.25rem)}.public-hero>p:not(.eyebrow){max-width:650px;margin:24px 0 0;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6}.public-hero .public-button{align-self:flex-start;margin-top:30px}.fallback-hero{min-height:460px}.event-facts,.public-details{gap:18px;max-width:1120px;margin:18px auto;display:grid}.event-facts{grid-template-columns:repeat(3,1fr)}.event-facts div,.public-details>div{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}.event-facts span{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:.8rem;font-weight:750;display:block}.event-facts strong{font-size:1.05rem}.public-details{grid-template-columns:1fr 1fr}.public-details p{color:var(--muted);white-space:pre-line;line-height:1.6}.public-booking-request{align-items:start}.public-request-form{gap:12px;display:grid}.public-request-form label{gap:6px;display:grid}.public-request-form .checkbox-label{align-items:start;display:flex}.request-address{grid-template-columns:1fr 2fr .7fr;gap:10px;display:grid}.legal-copy{max-width:720px}.legal-copy h2{margin-top:28px}.legal-copy p{white-space:pre-line;line-height:1.65}.booking-panel{max-width:820px;margin:36px auto}.booking-panel h1{margin-bottom:22px;font-size:clamp(2.2rem,6vw,4rem)}.booking-panel .service-card{margin-bottom:14px}.public-footer{border-top:1px solid var(--line);color:var(--muted);max-width:1120px;margin:56px auto 0;padding:24px 0;font-size:.9rem}@media (width<=760px){.shell,.public-shell{padding:20px 16px 56px}.topbar,.grid{display:block}.identity{text-align:left;margin-top:18px}.detail-grid,.service-layout,.form-columns,.event-facts,.public-details,.event-settings{grid-template-columns:1fr}.public-header{flex-direction:column;align-items:flex-start}.public-header nav{gap:12px}.public-hero{border-radius:20px;min-height:500px;padding:30px 24px}.public-footer{flex-direction:column;align-items:flex-start}}
