:root{--bg:#f5f7f4;--panel:#ffffff;--panel-soft:#eef4f0;--ink:#172018;--muted:#657060;--line:#d9e2da;--accent:#176b4d;--accent-strong:#0f5139;--warn:#a45f14;--danger:#9c2f2f;--shadow:0 14px 40px rgba(23,32,24,0.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-header{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);gap:20px;justify-content:space-between;min-height:72px;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.app-header,.brand,.nav,.nav a{align-items:center;display:flex}.brand{gap:12px}.brand small{color:var(--muted);display:block;font-size:12px}.brand-mark{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:inline-flex;font-weight:800;height:40px;justify-content:center;width:40px}.nav{flex-wrap:wrap;gap:8px;justify-content:flex-end}.nav-toggle{display:none;height:40px;justify-content:center;width:40px}.button,.link-button,.nav a,.nav-toggle{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer}.button,.link-button,.nav a{display:inline-flex;gap:8px;min-height:40px;padding:0 12px}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.danger{border-color:#e0abab;color:var(--danger)}.button.full{justify-content:center;width:100%}.button.icon-button{height:40px;justify-content:center;padding:0;width:40px}.link-button{color:var(--danger)}.account-menu{position:relative}.account-menu summary{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;height:40px;justify-content:center;list-style:none;width:40px}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary span{line-height:1}.account-menu-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:6px;gap:6px;min-width:210px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:20}.account-menu-panel .link-button,.account-menu-panel a{background:transparent;border:0;justify-content:flex-start;width:100%}.account-menu-panel .link-button{color:var(--danger)}.shell{margin:0 auto;max-width:1180px;padding:30px 24px 56px}.card,.hero,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.hero{display:grid;grid-gap:18px;gap:18px;margin-bottom:22px;padding:28px}.card h3,.hero h1,.panel h2{margin:0}.muted{color:var(--muted)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.org-directory{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.org-directory .panel{align-content:start}.card,.panel{padding:20px}.card{box-shadow:none}.stack{display:grid;grid-gap:14px;gap:14px}.row{align-items:center;gap:10px;justify-content:space-between}.row,.section-tabs,.tabs{display:flex;flex-wrap:wrap}.section-tabs,.tabs{gap:8px}.section-tab,.tab{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:8px;min-height:42px;padding:0 12px}.section-tab.active,.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.section-tab{text-transform:capitalize}.danger-zone{background:#fff7f7}.danger-zone,.danger-zone .card{border-color:#e0abab}.form{display:grid;grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:13px}.field label,.field-hint{color:var(--muted);font-weight:700}.field-hint{font-size:12px}.form-error{color:var(--danger);font-size:13px;font-weight:700;margin:0}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:10px 12px;width:100%}.date-input-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.date-input-line input{max-width:190px}.checkbox-row{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;font-weight:700;gap:8px}.checkbox-row input{height:18px;width:18px}.schedule-details summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none}.schedule-details summary::-webkit-details-marker{display:none}.schedule-details summary:after{color:var(--muted);content:"+";font-weight:800}.schedule-details[open] summary:after{content:"-"}.schedule-details summary span{font-size:1.05rem;font-weight:800}.schedule-details summary small{color:var(--muted);font-weight:700;margin-left:auto}.schedule-body{margin-top:14px}.schedule-card.highlighted-schedule-card{background:#eef8f0;border-color:#cde8d4}.closure-fields{background:#fffbe6;border:1px solid #eadf8f;border-radius:8px;padding:12px}.member-fields{background:#edf6ff;border:1px solid #bed8ef;border-radius:8px;padding:12px}.opening-days{display:grid;grid-gap:8px;gap:8px}.announcement-preview{background:var(--panel-soft);margin:0;padding:14px;white-space:pre-wrap}.announcement-preview,.opening-day{border:1px solid var(--line);border-radius:8px}.opening-day{align-items:baseline;background:#fff;display:grid;grid-gap:4px 10px;gap:4px 10px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.opening-day.weekend-opening-day{background:#eef8f0;border-color:#cde8d4}.opening-day.closure-opening-day,.opening-day.manual-opening-day{background:#fffbe6;border-color:#eadf8f}.opening-day.member-opening-day{border-color:#bed8ef}.opening-day.full-closed-opening-day{background:#d9d1a1;border-color:#b9ad6d}.opening-hour-lines{display:grid;grid-gap:3px;gap:3px;justify-items:end;text-align:right}.opening-hour-segment,.opening-hour-separator{color:inherit}.member-hour-segment{align-items:center;background:#edf6ff;border:1px solid #bed8ef;border-radius:6px;display:inline-flex;gap:4px;line-height:1.08;padding:2px 5px;vertical-align:baseline}.member-hour-tag{display:inline-grid;gap:0;line-height:.78;text-align:center;vertical-align:middle}.member-hour-tag span{color:var(--muted);font-size:.58em;font-weight:800;white-space:nowrap}.opening-day small,.opening-day span{color:var(--muted)}.opening-day small{grid-column:1/-1}@media (max-width:520px){.opening-day{align-items:start;grid-template-columns:1fr}.opening-hour-lines{justify-items:start;text-align:left}}.slot-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(98px,1fr))}.slot{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:flex;justify-content:center;min-height:44px;width:100%}.slot.available{background:#e7f4ed;border-color:#b9d8c8;color:var(--accent-strong);cursor:pointer;font-weight:800}.slot.member-only{background:#edf6ff;border-color:#bed8ef;color:#24537a}.pill,.slot.taken{color:var(--muted)}.pill{border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:4px 8px;text-transform:uppercase}.pill-active,.pill-confirmed,.pill-sent{border-color:#a9d5be;color:var(--accent-strong)}.pill-outbox,.pill-pending-configuration{border-color:#e2c08d;color:var(--warn)}.pill-failed{border-color:#e0abab;color:var(--danger)}.notice{background:#fff7e8;border:1px solid #efd6a6;border-radius:8px;color:#694009;padding:12px}.modal-backdrop{align-items:center;background:rgba(23,32,24,.42);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}.booking-dialog{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-width:520px;padding:22px;width:min(100%,520px)}.manage-booking{border-top:1px solid var(--line);padding-top:12px}.manage-booking summary{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;list-style:none;min-height:40px;padding:0 12px}.manage-booking summary::-webkit-details-marker{display:none}.manage-booking[open] summary{margin-bottom:12px}@media (max-width:780px){.app-header{align-items:center;flex-wrap:wrap;padding:16px}.nav-toggle{display:inline-flex;margin-left:auto}.nav{align-items:stretch;display:none;flex-direction:column;justify-content:flex-start;width:100%}.nav.is-open{display:flex}.nav .link-button,.nav a{justify-content:flex-start;width:100%}.account-menu{width:100%}.account-menu-panel{box-shadow:none;margin-top:8px;min-width:0;position:static;width:100%}.grid.four,.grid.three,.grid.two,.org-directory{grid-template-columns:1fr}.shell{padding:20px 14px 44px}}