@font-face{font-family:"DM Serif Display";src:url(/fonts/DMSerifDisplay-Regular.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}:root{--ink:#17242b;--muted:#607078;--line:#dce3e5;--paper:#ffffff;--canvas:#f5f7f7;--brand:#173f4f;--brand-deep:#102e3a;--accent:#f77b5f;--teal:#1aa695;--violet:#715bb8;--font-display:"DM Serif Display",Georgia,serif;--shadow:0 18px 50px rgba(23,63,79,0.09)}.color-yellow{--activity-color:#e3b53f;--activity-ink:#7a5a00;--activity-tint:#fff8df;--activity-start:#f0ca68;--activity-end:#bd8610}.color-blue{--activity-color:#45a8d0;--activity-ink:#176c91;--activity-tint:#e8f7fc;--activity-start:#70c6e6;--activity-end:#277fa8}.color-green{--activity-color:#53a878;--activity-ink:#27764a;--activity-tint:#e9f7ef;--activity-start:#72bd91;--activity-end:#307f54}.color-coral{--activity-color:#f77b5f;--activity-ink:#a64732;--activity-tint:#fff0ec;--activity-start:#f59882;--activity-end:#cf5942}.color-violet{--activity-color:#715bb8;--activity-ink:#58439b;--activity-tint:#f0edfb;--activity-start:#8b79ca;--activity-end:#58439b}.color-pink{--activity-color:#d979a4;--activity-ink:#9b3f69;--activity-tint:#fcecf3;--activity-start:#e79abd;--activity-end:#a94e78}.color-orange{--activity-color:#e8913c;--activity-ink:#9a5917;--activity-tint:#fff2e3;--activity-start:#f2ae69;--activity-end:#bd681d}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-behavior:smooth}body,html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);font-weight:400}h1{margin-bottom:1rem;font-size:clamp(2.25rem,5.5vw,5rem);line-height:.98;letter-spacing:-.02em}h2{margin-bottom:.7rem;font-size:clamp(1.45rem,2.5vw,2.15rem);line-height:1.12;letter-spacing:-.015em}h3{margin-bottom:.25rem}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:76px;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.16);color:#fff;background:linear-gradient(105deg,#173f4f,#245f68 58%,#26766d);box-shadow:0 8px 24px rgba(16,46,58,.16)}.brand{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-weight:400;font-size:1.42rem;letter-spacing:-.01em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#173f4f;background:#ffd166;box-shadow:0 5px 14px rgba(0,0,0,.14)}.main-nav{display:flex;align-items:center;gap:clamp(.85rem,2.5vw,2rem);font-size:.94rem;font-weight:700}.main-nav a:hover{color:#ffe49a}.nav-admin{padding:.65rem .95rem;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.1)}.main-nav form{margin:0}.nav-logout{padding:.35rem 0;border:0;color:rgba(255,255,255,.76);background:transparent;cursor:pointer;font-weight:700}.nav-logout:hover{color:#ffe49a}.mobile-label{display:none}.site-footer{display:flex;justify-content:space-between;gap:1.5rem;padding:2rem 5vw;color:var(--muted);border-top:1px solid var(--line);background:#fff;font-size:.9rem}.home-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);min-height:650px;padding:clamp(4rem,9vw,8rem) 5vw;background:linear-gradient(120deg,#eef7f5,#fff 48%,#fff2ee)}.hero-copy{align-self:center;max-width:820px}.hero-copy h1{max-width:13ch}.hero-lead{max-width:620px;color:var(--muted);font-size:clamp(1.08rem,2vw,1.35rem)}.hero-actions{display:flex;align-items:center;gap:1.25rem;margin-top:2rem}.hero-panel{align-self:end;padding:2rem;border-radius:26px 26px 8px 26px;color:#fff;background:var(--brand);box-shadow:var(--shadow)}.hero-panel p{margin:1rem 0 1.5rem;font-size:1.22rem;line-height:1.4}.panel-label,.panel-note{display:block;color:#bfe5df;font-size:.82rem}.content-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,7rem);padding:clamp(4rem,8vw,7rem) 5vw;border-top:1px solid var(--line);background:#fff}.home-intro>p{max-width:700px;color:var(--muted);font-size:1.18rem}.location-section{background:var(--canvas)}.photo-placeholder{display:grid;place-items:center;min-height:300px;padding:2rem;border:1px dashed #9aaeb6;border-radius:24px;color:var(--muted);background:repeating-linear-gradient(135deg,#fff,#fff 18px,#f1f4f4 0,#f1f4f4 36px);text-align:center}.photo-placeholder.has-photo{overflow:hidden;min-height:360px;padding:0;border-style:solid;background:#e8efef}.photo-placeholder.has-photo img{width:100%;height:100%;min-height:360px;max-height:520px;object-fit:cover}.eyebrow{margin-bottom:.6rem;color:var(--teal);font-size:.77rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:.72rem 1.15rem;border:1px solid var(--brand);border-radius:12px;color:#fff;background:var(--brand);cursor:pointer;font-weight:800;transition:transform .15s ease,background .15s ease}.button:hover{background:var(--brand-deep);transform:translateY(-1px)}.button-secondary{color:var(--brand);background:#fff}.text-link{color:var(--brand);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.page-shell{width:min(1180px,90vw);min-height:calc(100vh - 150px);margin:0 auto;padding:4rem 0 6rem}.narrow-shell{width:min(960px,90vw)}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.5rem}.page-heading h1{max-width:760px;margin-bottom:0;font-size:clamp(2.3rem,5vw,4.4rem)}.page-heading>p{max-width:410px;margin-bottom:.35rem;color:var(--muted)}.page-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}.credit-strip{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding:1rem 1.25rem;border-radius:14px;color:#fff;background:var(--brand)}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.activity-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(20,44,52,.05)}.activity-accent{height:7px;background:var(--accent)}.activity-accent.teal{background:var(--teal)}.activity-accent.violet{background:var(--violet)}.activity-card-body{padding:1.4rem}.activity-heading{display:flex;justify-content:space-between;gap:1rem}.activity-heading h2{margin-bottom:1.1rem}.activity-time{color:var(--brand);font-size:1.25rem}.activity-meta{display:flex;gap:2.5rem;margin:0 0 1.4rem;color:var(--muted)}.activity-meta dt{font-size:.78rem}.activity-meta dd{margin:0;color:var(--ink);font-weight:800}.activity-card .button{width:100%}.calendar-groups{display:grid;gap:1rem}.calendar-day{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(20,44,52,.045)}.calendar-day-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--line);background:#f0f6f5}.calendar-day-heading h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}.calendar-day-heading h2 span{color:var(--brand)}.calendar-day-heading>span{color:var(--muted);font-size:.8rem}.calendar-day-list{display:grid}.calendar-activity-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:76px;padding:.75rem 1.2rem .75rem 1rem;border-bottom:1px solid #edf0f1;border-left:6px solid var(--activity-color,var(--brand));transition:background .15s ease}.calendar-activity-row:last-child{border-bottom:0}.calendar-activity-row:hover{background:var(--activity-tint,#fbfcfc)}.calendar-time{color:var(--activity-ink,var(--brand));font-size:1.1rem}.calendar-activity-name h3{margin:0;font-size:1.02rem}.calendar-activity-name span{color:var(--muted);font-size:.82rem}.calendar-open{color:var(--brand);font-size:.85rem;font-weight:800}.calendar-open:after{content:" →"}.activity-detail-shell{width:min(1060px,90vw)}.back-link{display:inline-block;margin-bottom:1.2rem;color:var(--brand);font-weight:800}.activity-detail-card{display:grid;grid-template-columns:1fr;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.activity-detail-photo{position:relative;display:grid;place-items:center;width:100%;max-height:580px;aspect-ratio:16/9;overflow:hidden;padding:0;color:#fff;background:linear-gradient(145deg,var(--activity-start,#f59882),var(--activity-end,#da6651));text-align:center}.activity-photo-brand{position:absolute;right:1rem;bottom:1rem;z-index:2;padding:.32rem .65rem .38rem;border:1px solid rgba(255,255,255,.36);border-radius:999px;color:#fff;background:rgba(23,63,79,.66);box-shadow:0 5px 18px rgba(16,46,58,.2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-family:var(--font-display);font-size:1.05rem;line-height:1;letter-spacing:.01em;text-shadow:0 1px 4px rgba(0,0,0,.22)}.activity-photo-placeholder{max-width:230px;padding:1rem;border:1px dashed rgba(255,255,255,.75);border-radius:14px;font-weight:800}.activity-detail-photo img{display:block;object-position:center}.activity-detail-photo img,.member-welcome-image img{width:100%;height:100%;object-fit:cover}.activity-detail-content{align-self:center;padding:clamp(2rem,5vw,4rem)}.activity-detail-content h1{margin-bottom:1.3rem;font-size:clamp(2.5rem,5vw,4.5rem)}.activity-detail-description{color:var(--muted);font-size:1.1rem}.activity-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.8rem 0}.activity-detail-meta div{padding:.9rem 1rem;border-radius:12px;background:var(--canvas)}.activity-detail-meta dt{color:var(--muted);font-size:.76rem}.activity-detail-meta dd{margin:.1rem 0 0;font-weight:800}.detail-booking-action{display:grid;gap:.8rem}.detail-booking-action .button{width:100%}.detail-booking-action .booking-message{margin:0}.booking-rule-note{margin:-1rem 0 1.2rem;padding:.75rem .9rem;border-radius:10px;color:var(--muted);background:var(--canvas);font-size:.84rem}.balance-box{min-width:170px;padding:1rem 1.2rem;border-radius:16px;color:#fff;background:var(--brand)}.balance-box span,.balance-box strong{display:block}.balance-box span{color:#bfe5df;font-size:.82rem}.balance-box strong{margin-top:.2rem;font-size:1.25rem}.dashboard-section{margin-top:1.5rem;padding:1.4rem;border:1px solid var(--line);border-radius:20px;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.section-heading h2{margin-bottom:0}.section-heading a{color:var(--brand);font-weight:800}.booking-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--line)}.booking-row p{margin-bottom:0;color:var(--muted)}.date-tile{display:grid;place-items:center;width:58px;height:62px;border-radius:12px;color:var(--brand);background:#e8f3f1;line-height:1}.date-tile strong{font-size:1.3rem}.date-tile span{font-size:.7rem;font-weight:800}.status{width:fit-content;padding:.34rem .65rem;border-radius:999px;font-size:.78rem;font-weight:800}.confirmed,.published{color:#0b6c5f;background:#dff3ef}.inactive{color:#8a2e22;background:#fde7e2}.admin-bottom-grid,.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0;border:0;background:transparent}.summary-card{padding:1.4rem;border:1px solid var(--line);border-radius:20px;background:#fff}.summary-card p:last-child{margin-bottom:0;color:var(--muted)}.admin-shell{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 76px)}.admin-sidebar{display:flex;flex-direction:column;justify-content:space-between;padding:2rem 1.4rem;color:#fff;background:var(--brand-deep)}.admin-sidebar h1{margin:0;font-size:1.55rem;letter-spacing:-.03em}.admin-sidebar nav{display:grid;gap:.35rem;margin:2.5rem 0 auto}.admin-sidebar nav a{padding:.72rem .85rem;border-radius:10px;color:#c9d9df}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{color:#fff;background:rgba(255,255,255,.1)}.admin-sidebar .text-link{color:#fff;font-size:.85rem}.admin-content{padding:clamp(2rem,4vw,4rem);overflow:hidden}.admin-quick-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.4rem}.admin-quick-nav a,.user-detail-nav a{padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--brand);background:#fff;font-size:.84rem;font-weight:800}.admin-quick-nav a:hover,.user-detail-nav a:hover{color:#fff;background:var(--brand)}.admin-section-note{gap:1rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #cfe4df;border-radius:12px;color:var(--brand);background:#edf8f5}.admin-section-note,.admin-topline{display:flex;justify-content:space-between;align-items:center}.admin-topline{gap:2rem}.admin-topline h2{margin-bottom:0;font-size:clamp(2rem,4vw,3.1rem)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin:2rem 0}.stat-grid article{padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:#fff}.stat-grid span,.stat-grid strong{display:block}.stat-grid span{color:var(--muted);font-size:.82rem}.stat-grid strong{margin-top:.35rem;color:var(--brand);font-size:2rem}.admin-table-section{padding:1.4rem;border:1px solid var(--line);border-radius:20px;background:#fff}.filter-button{padding:.55rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.admin-table{overflow:hidden;border-top:1px solid var(--line)}.table-row{display:grid;grid-template-columns:1.15fr 1fr .45fr .75fr .55fr;align-items:center;gap:.8rem;min-width:780px;padding:.8rem 0;border-bottom:1px solid #edf0f1}.table-head{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.admin-bottom-grid{margin-top:1rem}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0 2rem;padding:1.4rem;border:1px solid var(--line);border-radius:20px;background:#fff}.admin-form .form-actions,.admin-form .form-message,.admin-form h3{grid-column:1/-1}.field{display:grid;gap:.35rem}.field label{color:var(--muted);font-size:.82rem;font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:.7rem .8rem;border:1px solid #bac7cb;border-radius:10px;color:var(--ink);background:#fff;font:inherit}.field textarea{min-height:92px;resize:vertical}.color-select-row{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:.55rem}.color-swatch{display:inline-block;width:24px;height:24px;border:3px solid #fff;border-radius:50%;background:var(--activity-color,var(--brand));box-shadow:0 0 0 1px #bac7cb}.color-select-row>.color-swatch{justify-self:center}.admin-color-picker{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:.4rem}.admin-color-picker .color-swatch{width:18px;height:18px;border-width:2px}.admin-color-picker select{min-width:0;width:100%;padding:.42rem .25rem;border:1px solid #bac7cb;border-radius:8px;background:#fff;font:inherit;font-size:.78rem}.admin-color-picker select:disabled{opacity:.55}.field-full{grid-column:1/-1}.repeat-fields{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.weekday-fieldset{margin:0;padding:0;border:0}.weekday-fieldset legend{color:var(--muted);font-size:.82rem;font-weight:800}.weekday-fieldset p{margin:.2rem 0 .55rem;color:var(--muted);font-size:.78rem}.weekday-grid{display:flex;flex-wrap:wrap;gap:.45rem}.weekday-grid label{padding:.42rem .58rem;border:1px solid #bac7cb;border-radius:9px;background:#fff;cursor:pointer;font-size:.84rem;font-weight:700}.booking-rules{margin:0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.booking-rules legend{padding:0 .3rem;color:var(--brand);font-weight:800}.booking-rules>p{margin:.7rem 0 0;color:var(--muted);font-size:.8rem}.booking-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.8rem}.form-actions{display:flex;justify-content:flex-end}.form-message{margin:0;padding:.75rem .9rem;border-radius:10px;color:#0b6c5f;background:#dff3ef}.form-error{color:#8a2e22;background:#fde7e2}.button:disabled{opacity:.58;cursor:wait;transform:none}.button-danger{color:#fff;background:#a64732}.button-danger:hover{background:#843425}.activity-description{min-height:3.1rem;margin-bottom:1rem;color:var(--muted)}.booking-message{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;color:var(--brand);background:#fff}.login-shell{display:grid;place-items:center}.login-card{width:min(470px,100%);padding:clamp(1.7rem,5vw,3rem);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.login-card h1{font-size:clamp(2.4rem,7vw,4rem)}.login-card>p{color:var(--muted)}.login-form{display:grid;gap:1rem;margin-top:1.7rem}.login-form .button{width:100%}.credit-login{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}.member-home{display:grid;gap:1.2rem}.member-welcome{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.member-welcome-image{display:grid;place-items:center;min-height:330px;padding:2rem;color:#fff;background:linear-gradient(145deg,#53a878,#173f4f);text-align:center}.member-welcome-image span{max-width:220px;padding:1rem;border:1px dashed rgba(255,255,255,.75);border-radius:14px;font-weight:800}.member-welcome-copy{align-self:center;padding:clamp(1.6rem,5vw,3.5rem)}.member-welcome-copy h1{font-size:clamp(2.4rem,6vw,4.5rem)}.member-welcome-copy>p{color:var(--muted)}.client-home{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.9rem;width:min(760px,100%);height:calc(100svh - 76px);margin:0 auto;overflow:hidden;padding:1rem clamp(1rem,4vw,2rem)}body:has(.client-home) .site-footer{display:none}.client-home.has-preview{grid-template-rows:auto minmax(0,1fr) auto}.client-home:has(.client-menu-card[open]){height:auto;min-height:calc(100svh - 76px);overflow:visible}.client-preview-note{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .7rem;border:1px solid #cfe4df;border-radius:12px;color:var(--brand);background:#edf8f5;font-size:.75rem;font-weight:800}.client-preview-note a{text-decoration:underline;text-underline-offset:3px}.client-cover{--cover-pad:clamp(1.1rem,3vw,1.7rem);position:relative;isolation:isolate;display:grid;grid-template-rows:auto auto 1fr auto;gap:1rem;min-height:0;overflow:hidden;padding:var(--cover-pad);border-radius:30px;color:#fff;background:linear-gradient(145deg,#557f73,#173f4f);box-shadow:0 22px 55px rgba(16,46,58,.2)}.client-cover-image,.client-cover-shade{position:absolute;inset:0;width:100%;height:100%}.client-cover-image{z-index:-2;object-fit:cover;object-position:center}.client-cover-shade{z-index:-1;background:linear-gradient(180deg,rgba(8,30,37,.36),rgba(8,30,37,.08) 35%,rgba(8,30,37,.18) 58%,rgba(8,30,37,.82))}.client-cover-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:calc(0px - var(--cover-pad)) calc(0px - var(--cover-pad)) 0;padding:.72rem var(--cover-pad);color:#fff;background:linear-gradient(105deg,rgba(23,63,79,.97),rgba(36,95,104,.96) 58%,rgba(38,118,109,.95));box-shadow:0 7px 20px rgba(16,46,58,.17);font-size:.88rem;font-weight:800;text-shadow:0 1px 7px rgba(0,0,0,.25)}.client-cover-top p{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:400}.client-cover-top span{padding:.4rem .65rem;border:0;border-radius:999px;color:#173f4f;background:#ffd166;box-shadow:0 5px 14px rgba(92,54,14,.18);text-shadow:none}.client-date-link{align-self:start;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;width:fit-content;max-width:min(440px,100%);padding:.7rem .8rem;border:1px solid rgba(255,255,255,.48);border-radius:16px;background:rgba(10,36,44,.42);box-shadow:0 10px 24px rgba(0,0,0,.13);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);text-shadow:0 2px 12px rgba(0,0,0,.45);transition:background .15s ease,transform .15s ease}.client-date-link:hover{background:rgba(10,36,44,.58);transform:translateY(-2px)}.client-date-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#173f4f;background:#ffd166;font-size:1.35rem;font-weight:900;text-shadow:none}.client-date-copy{display:grid;gap:.05rem}.client-date-copy small{color:#ffe8a3;font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.client-date-copy strong{font-family:var(--font-display);font-size:clamp(1.15rem,3.4vw,1.65rem);font-weight:400;line-height:1.05;letter-spacing:-.015em}.client-date-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;color:#fff;background:#ef6f61;font-size:1rem;font-weight:900;text-shadow:none}.client-cover-brand{align-self:end;justify-self:end;padding:.34rem .7rem .4rem;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;background:rgba(23,63,79,.58);box-shadow:0 5px 18px rgba(16,46,58,.18);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-family:var(--font-display);font-size:1.08rem;line-height:1;text-shadow:0 1px 5px rgba(0,0,0,.3)}.client-board{align-self:end;margin:0 -.15rem -.35rem;padding:.72rem .85rem;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:rgba(10,36,44,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.client-board span{display:block;margin-bottom:.3rem;color:#ffd166;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.client-board p{margin:0;font-size:.88rem;font-weight:700;line-height:1.32}.client-quick-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.client-menu-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(20,44,52,.045)}.client-menu-card summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:.65rem;row-gap:.05rem;min-height:66px;padding:.6rem .85rem;color:var(--brand);cursor:pointer;list-style:none}.client-menu-card summary::-webkit-details-marker{display:none}.client-menu-card summary:after{grid-column:3;grid-row:1;content:"+";font-size:1.15rem;font-weight:500}.client-menu-card[open] summary:after{content:"−"}.client-menu-icon{display:grid;grid-column:1;grid-row:1;place-items:center;width:34px;height:34px;border-radius:11px;color:#fff;background:#ef6f61;font-size:1rem;font-weight:900}.client-menu-icon.info-mark{color:#173f4f;background:#88d498;font-family:Georgia,serif;font-size:1.2rem;font-style:italic}.client-menu-card summary strong{grid-column:2;grid-row:1;align-self:center;display:block;line-height:1.1}.client-menu-card summary small{grid-column:2/4;grid-row:2;display:block;color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.2}.client-menu-content{padding:0 1rem 1rem;border-top:1px solid var(--line)}.client-menu-card[open]{grid-column:1/-1}.account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding-top:1rem}.account-summary p{margin:0;padding:.8rem;border-radius:12px;background:var(--canvas)}.account-summary p span,.account-summary p strong{display:block}.account-summary p span{color:var(--muted);font-size:.74rem}.account-summary .button{grid-column:1/-1}.client-info-links{display:grid;padding-top:.45rem}.client-info-links>a,.client-info-links>span{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line);color:var(--brand);font-weight:800}.client-info-links>span,.client-signature{color:var(--muted)}.client-signature{display:grid;gap:.12rem;padding:1.1rem 0 .15rem;text-align:center}.client-signature strong{color:var(--brand);font-family:var(--font-display);font-size:1.35rem;font-weight:400}.client-signature b{margin-top:.5rem;color:var(--ink);font-size:1.05rem}.client-signature i{color:#4d9a6f;font-size:1.35rem;font-style:normal}.client-signature span{font-size:.78rem}.client-bookings{margin-top:.9rem;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff}.client-bookings .section-heading{align-items:end}.client-bookings .section-heading .eyebrow{margin-bottom:.25rem}.client-empty-bookings{margin:0;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}.member-bookings-summary{margin-bottom:1rem;padding:1.1rem 1.25rem;border:1px solid #f1d6a0;border-radius:18px;background:#fffaf0}.member-bookings-summary .section-heading{margin-bottom:.5rem}.member-bookings-summary h2{font-size:1.35rem}.member-bookings-list .booking-row:first-child{border-top:0}.center-contact-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.center-contact-card div{padding:.9rem 1rem;border-radius:12px;background:var(--canvas)}.center-contact-card dt{color:var(--muted);font-size:.78rem;font-weight:800}.center-contact-card dd{margin:.15rem 0 0;overflow-wrap:anywhere;font-weight:700}.admin-subpage{width:min(1180px,92vw)}.admin-subpage h1{font-size:clamp(2.5rem,6vw,4.5rem)}.import-flow{display:grid;gap:1.2rem}.import-upload-form{grid-template-columns:1fr auto;align-items:end;margin:0}.import-upload-form .form-message{grid-column:1/-1}.import-preview{padding:1.4rem;border:1px solid var(--line);border-radius:20px;background:#fff}.import-preview h2{margin-bottom:1.2rem}.import-stats{margin:0 0 1rem}.import-credit-total{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.2rem;border-radius:14px;color:#fff;background:var(--brand)}.import-credit-total span,.import-credit-total strong{display:block}.import-credit-total strong{font-size:1.6rem}.import-sample{overflow:hidden;border:1px solid var(--line);border-radius:14px}.import-sample-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.import-sample-row:last-child{border-bottom:0}.import-sample-row span{color:var(--muted)}.import-note{margin:1rem 0;padding:.9rem 1rem;border-radius:12px;color:var(--brand);background:#e8f3f1}.user-search{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:.8rem;margin-bottom:1rem}.user-search label{color:var(--muted);font-size:.82rem;font-weight:800}.user-search input{min-height:44px;padding:.65rem .8rem;border:1px solid #bac7cb;border-radius:10px;font:inherit}.user-search span{color:var(--muted);font-size:.85rem}.user-list-table{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.user-list-row{display:grid;grid-template-columns:1.15fr 1.15fr .45fr .8fr .75fr .65fr auto;align-items:center;gap:.75rem;min-width:1080px;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.user-list-row:last-child{border-bottom:0}.user-list-row span{color:var(--muted);font-size:.85rem}.user-list-row strong{color:var(--ink)}.user-list-row strong small{display:block;margin-top:.1rem;color:#a64732;font-size:.7rem;font-weight:800}.user-list-head{color:var(--muted);background:var(--canvas);font-weight:800;text-transform:uppercase}.user-list-head,.user-list-head span{font-size:.75rem}.user-list-row .text-link{white-space:nowrap}.user-detail-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.4rem}.user-detail-heading h1{margin-bottom:.6rem}.user-detail-heading p:last-child{margin:0;color:var(--muted)}.user-detail-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.user-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.user-info-grid article{padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.user-info-grid span,.user-info-grid strong{display:block}.user-info-grid span{color:var(--muted);font-size:.78rem}.user-info-grid strong{margin-top:.2rem;overflow-wrap:anywhere}.user-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.user-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.user-action-form{display:grid;align-content:start;gap:.75rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff}.user-action-form h2{font-size:1.25rem}.user-action-form .form-message{margin:0}.booking-options-help{margin:0;color:var(--muted);font-size:.8rem}.checkbox-line{display:flex;align-items:center;gap:.55rem;font-weight:700}.checkbox-line input{width:18px;height:18px}.history-list{display:grid}.history-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto 90px;align-items:center;gap:1rem;padding:.85rem 0;border-top:1px solid var(--line)}.history-row p{margin:.15rem 0 0}.history-row p,.history-row>span{color:var(--muted);font-size:.82rem}.history-row>strong{font-size:1.05rem}.history-row small{display:block;margin-top:.2rem;color:var(--muted)}.negative-delta{color:#a64732}.positive-delta{color:#27764a}.subscription-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.85rem 0;border-top:1px solid var(--line)}.subscription-row>span:not(.status){color:var(--muted)}.member-details-form{margin-top:0}.field small{color:var(--muted);font-size:.75rem}.user-edit-section{padding:0;overflow:hidden}.user-edit-section summary{padding:1.1rem 1.3rem;color:var(--brand);cursor:pointer;font-weight:800}.user-edit-section[open] summary{border-bottom:1px solid var(--line)}.user-edit-section .admin-form{margin:0;border:0;border-radius:0;box-shadow:none}.account-access-panel>p{color:var(--muted)}.account-access-actions{display:flex;flex-wrap:wrap;gap:.7rem}.activation-link{display:grid;gap:.35rem;margin-top:1rem}.activation-link label{color:var(--muted);font-size:.82rem;font-weight:800}.activation-link input{width:100%;min-height:44px;padding:.65rem .8rem;border:1px solid #bac7cb;border-radius:10px;background:#f8fafb;font:inherit}.series-update{padding:.9rem 1rem;border-radius:12px;color:var(--brand);background:#e8f3f1}.photo-upload-form{margin-top:0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.photo-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--canvas)}.photo-card>div{display:flex;justify-content:space-between;gap:.7rem;padding:.8rem .9rem .3rem}.photo-card small{color:var(--muted)}.photo-card form{padding:.6rem .9rem .9rem}.photo-card .button{width:100%;min-height:40px;padding:.45rem .65rem;font-size:.82rem}.photo-remove-link{margin-top:1rem;border:0;background:transparent;cursor:pointer}.attendance-link{min-height:38px;padding:.45rem .7rem;font-size:.8rem}.attendance-heading p:last-child{margin:.4rem 0 0;color:var(--muted)}.add-participant-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;padding:1.1rem;border:1px solid var(--line);border-radius:16px;background:#fff}.attendance-list{margin-top:0}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem 0;border-top:1px solid var(--line)}.attendance-row>div span,.attendance-row>div strong{display:block}.attendance-row>div span{margin-top:.15rem;color:var(--muted);font-size:.82rem}.attendance-row form{display:flex;align-items:center;gap:.6rem}.attendance-row select{min-height:42px;padding:.55rem .7rem;border:1px solid #bac7cb;border-radius:10px;background:#fff;font:inherit}.attendance-row .button{min-height:42px;padding:.55rem .75rem}.attendance-row-actions{display:flex;align-items:flex-start;gap:.6rem}.participant-cancellation{min-width:210px;border:1px solid #e0b2a8;border-radius:10px;background:#fff8f6}.participant-cancellation summary{padding:.65rem .8rem;color:#8a2e22;cursor:pointer;font-size:.84rem;font-weight:800}.participant-cancellation form{display:grid;gap:.7rem;padding:.2rem .8rem .8rem}.participant-cancellation .checkbox-line{align-items:flex-start;font-size:.78rem}.participant-cancellation .button{width:100%}.activity-admin-capacity{min-width:155px;padding:1rem 1.2rem;border-radius:16px;color:#fff;background:var(--brand);text-align:center}.activity-admin-capacity small,.activity-admin-capacity span,.activity-admin-capacity strong{display:block}.activity-admin-capacity small,.activity-admin-capacity span{opacity:.88}.activity-admin-capacity strong{margin:.15rem 0;font-size:1.55rem}.admin-activity-attendees{margin-bottom:1rem}.admin-attendee-list{display:grid}.admin-attendee-list article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-top:1px solid var(--line)}.admin-attendee-list article div span,.admin-attendee-list article strong{display:block}.admin-attendee-list article div span{margin-top:.15rem;color:var(--muted);font-size:.8rem}.bulk-activity-form{display:grid;gap:1rem}.activity-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:.8rem}.activity-filter-bar>span{align-self:center;color:var(--muted);font-size:.85rem;font-weight:700}.text-button{align-self:center;padding:.35rem;border:0;color:var(--brand);background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.bulk-selection-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;border:1px solid #cfe4df;border-radius:12px;color:var(--brand);background:#edf8f5}.activity-table-row{grid-template-columns:32px 1.15fr 1fr .45fr .75fr .55fr}.activity-table-row>input{width:18px;height:18px}.activity-table-row.selected{background:#f0f8f6}.bulk-editor{display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:var(--canvas)}.bulk-editor .section-heading,.bulk-editor h3{margin:0}.bulk-help{margin:0;color:var(--muted);font-size:.84rem}.bulk-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.bulk-editor>.button{justify-self:start}.bulk-delete-box{display:grid;gap:.75rem;margin:.6rem 0 0;padding:1rem;border:1px solid #e0b2a8;border-radius:12px;background:#fff8f6}.bulk-delete-box legend{padding:0 .35rem;color:#8a2e22;font-weight:800}.bulk-delete-box p{margin:0;color:var(--muted);font-size:.82rem}.bulk-delete-box .button{justify-self:start}.empty-filter-result{margin:0;padding:1.2rem 0;color:var(--muted);text-align:center}@media (max-width:850px){.site-header{min-height:68px;padding:0 4vw}.main-nav{gap:.85rem}.nav-admin{display:inline-flex;padding:.52rem .72rem}.desktop-label{display:none}.mobile-label{display:inline}.home-hero{grid-template-columns:1fr;min-height:auto;gap:3rem;padding:4.5rem 5vw}.hero-panel{max-width:520px}.activity-grid,.content-section{grid-template-columns:1fr}.activity-detail-photo{max-height:none}.member-welcome{grid-template-columns:1fr}.member-welcome-image{min-height:240px}.page-heading{align-items:start;flex-direction:column;gap:1rem}.page-heading-actions{justify-content:flex-start}.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-table{overflow-x:auto}.user-info-grid{grid-template-columns:repeat(2,1fr)}.user-action-grid,.user-booking-grid{grid-template-columns:1fr}.user-list-head{display:none}.user-list-row{grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:1rem}.user-list-row>:first-child{grid-column:1;grid-row:1}.user-list-row>:nth-child(7){grid-column:2;grid-row:1}.user-list-row>:nth-child(2){grid-column:1/-1;grid-row:2}.user-list-row>:nth-child(3){grid-column:1;grid-row:3}.user-list-row>:nth-child(3):before{content:"Crediti: ";color:var(--muted);font-weight:400}.user-list-row>:nth-child(4),.user-list-row>:nth-child(5),.user-list-row>:nth-child(6){grid-column:1/-1}.bulk-field-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.brand span:last-child{display:none}.main-nav{font-size:.86rem}.home-hero{padding-top:3.5rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{padding:.7rem 0}.site-footer{flex-direction:column}.admin-bottom-grid,.stat-grid,.two-columns{grid-template-columns:1fr}.booking-row{grid-template-columns:auto 1fr}.booking-row .status{grid-column:2}.activity-meta{gap:1.4rem}.calendar-day-heading{padding:.8rem .9rem}.calendar-activity-row{grid-template-columns:58px minmax(0,1fr) auto;gap:.65rem;min-height:68px;padding:.65rem .9rem}.calendar-open{font-size:0}.calendar-open:after{content:"→";font-size:1rem}.calendar-activity-row .status{padding:.28rem .48rem;font-size:.7rem}.activity-detail-meta{grid-template-columns:1fr}.activity-detail-content{padding:1.6rem 1.25rem 2rem}.activity-photo-brand{right:.55rem;bottom:.5rem;padding:.2rem .42rem .24rem;font-size:.7rem}.admin-content{padding:1.4rem 4vw 3rem}.admin-topline{align-items:stretch;flex-direction:column}.admin-form{grid-template-columns:1fr}.admin-form .field,.admin-form .form-actions,.admin-form .form-message,.admin-form h3{grid-column:1}.booking-rule-grid,.center-contact-card dl,.import-upload-form,.repeat-fields,.user-info-grid{grid-template-columns:1fr}.import-upload-form .button,.import-upload-form .field,.import-upload-form .form-message{grid-column:1}.user-search{grid-template-columns:1fr}.admin-section-note{align-items:flex-start;flex-direction:column}.admin-quick-nav,.user-detail-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-nav a,.user-detail-nav a{border-radius:10px;text-align:center}.history-row{grid-template-columns:1fr auto}.history-row>span{grid-column:1/-1}.account-access-actions,.page-heading-actions{align-items:stretch;flex-direction:column}.account-access-actions .button,.page-heading-actions .button{width:100%}.add-participant-form,.attendance-row{grid-template-columns:1fr}.attendance-row form,.attendance-row-actions{align-items:stretch;flex-direction:column}.participant-cancellation{width:100%}.photo-grid{grid-template-columns:1fr}.activity-admin-capacity{width:100%}.admin-activity-attendees .section-heading{align-items:stretch;flex-direction:column}.admin-activity-attendees .button{width:100%}.bulk-selection-bar{align-items:flex-start;flex-direction:column}.activity-filter-bar{grid-template-columns:1fr;align-items:stretch}.activity-filter-bar .text-button,.activity-filter-bar>span{justify-self:start}.bulk-field-grid{grid-template-columns:1fr}.bulk-delete-box .button,.bulk-editor>.button{width:100%}.client-home{height:calc(100svh - 68px);gap:.55rem;padding:.55rem .65rem .65rem}.client-home:has(.client-menu-card[open]){min-height:calc(100svh - 68px)}.client-cover{--cover-pad:.9rem;border-radius:22px}.client-cover-top p{font-size:.96rem}.client-cover-top span{font-size:.75rem}.client-date-link{width:fit-content;max-width:100%;padding:.58rem .65rem}.client-date-icon{width:34px;height:34px;border-radius:10px;font-size:1.2rem}.client-date-copy strong{font-size:clamp(1.05rem,5vw,1.3rem)}.client-board{padding:.65rem .75rem}.client-board p{font-size:.82rem}.client-quick-menu{gap:.5rem}.client-menu-card summary{min-height:62px;padding:.52rem .65rem}.client-menu-icon{width:32px;height:32px;border-radius:10px}.account-summary{grid-template-columns:1fr}.account-summary .button{grid-column:1}.client-bookings{padding:1rem}.client-bookings .section-heading{align-items:flex-start}}