@import"https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600&family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@300;400;500&display=swap";:root{--bottom-navigation-height: 59px}.dashboard-page{min-height:100vh;background:var(--s-e9e5df);font-family:DM Sans,sans-serif;color:var(--ink)}.mobile-canvas{position:relative;isolation:isolate;overflow-x:clip;width:min(100%,520px);min-height:100vh;margin:auto;padding:calc(31px + env(safe-area-inset-top,0px)) 20px calc(var(--bottom-navigation-height) + env(safe-area-inset-bottom,0px));background:var(--cream);box-shadow:0 0 60px #1e191326}.ambient-stripes{position:absolute;z-index:-1;inset:0;opacity:.7;background:repeating-linear-gradient(90deg,transparent 0 31px,rgba(220,215,208,.42) 31px 61px,transparent 61px 96px)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:1.25rem;font-weight:700}.topbar button{display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;color:#fff;background:var(--s-222);box-shadow:0 8px 16px #0000003b}.topbar-direction-button{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#fff;background:var(--s-222);box-shadow:0 8px 16px #0000003b}.client-topbar{min-height:58px}.topbar-standalone{margin-bottom:29px}.language-toggle{display:flex;gap:4px;padding:4px;border:1px solid rgba(205,164,95,.44);border-radius:999px;background:#ffffffdb;box-shadow:0 6px 14px #352b1d1a}.language-toggle button{display:grid;place-items:center;width:38px;height:27px;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer;transition:background-color .18s ease,opacity .18s ease}.language-toggle button svg{width:24px;height:16px;border-radius:3px;box-shadow:0 0 0 1px #28211829;opacity:.58;filter:saturate(.55);transition:opacity .18s ease,filter .18s ease}.language-toggle button.selected{background:var(--s-fffaf0);box-shadow:inset 0 0 0 1px var(--gold)}.language-toggle button.selected svg{opacity:1;filter:none}.language-toggle button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media(prefers-reduced-motion:reduce){.language-toggle button,.language-toggle button svg{transition:none}}.date-display{display:flex;flex-direction:column;gap:2px;line-height:1.1}.date-weekday{font-size:.67rem;font-weight:600;color:var(--gold);letter-spacing:.05em}.date-date{font-size:.79rem;font-weight:600;color:var(--ink)}.brand-header{display:grid;justify-items:center;margin:29px 0 33px}.brand-mark{display:block;width:172px;height:172px;object-fit:contain}.brand-rule{width:220px;height:1px;margin-top:15px;background:var(--s-dbc69e)}.brand-name{margin:8px 0 0;font-size:.79rem;font-weight:600;letter-spacing:.22em}.brand-diamond{margin-top:8px;color:var(--gold);font-size:11px}.user-welcome{margin:-12px 0 20px;color:var(--t-9e7b45);font-size:.85rem;font-weight:500;letter-spacing:.02em;text-align:center}.welcome-hero{position:relative;overflow:hidden;min-height:310px;border-radius:38px;color:#fff;background:var(--s-131313);box-shadow:0 14px 27px #0000002e}.welcome-hero img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.welcome-hero img{object-position:68% 50%;filter:grayscale(1) contrast(1.08)}.hero-shade{background:linear-gradient(90deg,#000000e0,#0000009e 43%,#0000000f)}.hero-copy{position:relative;padding:47px 31px}.hero-copy p,.hero-copy h1,h2{font-family:Bodoni Moda,Georgia,serif;font-weight:400}.hero-copy p{margin:0;font-size:2.3rem;line-height:1}.hero-copy h1{margin:7px 0 23px;color:var(--t-e2ba73);font-size:2.53rem;font-style:italic;line-height:1}.gold-line{display:block;width:70px;height:2px;margin-bottom:32px;background:var(--gold)}.guest-welcome-card{margin-top:10px;padding:42px 31px 30px;border:1px solid rgba(205,164,95,.44);border-radius:32px;background:#ffffffdb;box-shadow:0 13px 23px #352b1d1c;text-align:center}.guest-welcome-card>p:first-child{margin:0;color:var(--t-9e7b45);font-size:.76rem;font-weight:700;letter-spacing:.13em}.guest-welcome-card h1{margin:11px 0 16px;color:var(--ink);font-family:Bodoni Moda,Georgia,serif;font-size:2.45rem;font-weight:500;line-height:1.04}.guest-welcome-rule{display:block;width:52px;height:2px;margin:0 auto 18px;background:var(--gold)}.guest-welcome-copy{margin:0;color:var(--t-625f5d);font-family:Bodoni Moda,Georgia,serif;font-size:1.15rem;line-height:1.35}.guest-welcome-card .primary-button{margin-top:27px}.guest-directions-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:17px;color:var(--t-5d5956);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-decoration:none}.guest-signup-action{display:inline-flex;border:0;background:transparent;font:inherit;align-items:center;justify-content:center;gap:8px;margin-top:17px;color:var(--t-5d5956);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-decoration:none}.guest-directions-action:hover,.guest-signup-action:hover{color:var(--t-9e7b45)}.hero-copy small{display:block;font-size:.83rem;font-weight:500;letter-spacing:.1em}.hero-copy strong{display:flex;align-items:center;gap:14px;margin-top:12px;font-family:Bodoni Moda,serif;font-size:2.25rem;font-weight:400}.countdown-clock{display:block;margin-top:6px;color:#ffffffb8;font-size:.92rem;font-weight:500;letter-spacing:.06em}.content-card{margin-top:27px;padding:34px 28px;border-radius:35px;background:#ffffffed;box-shadow:0 13px 23px #352b1d1c}.section-label{display:flex;align-items:center;gap:14px;margin:0;color:var(--t-9e7b45);font-size:.82rem;font-weight:700;letter-spacing:.06em}.section-label span{display:grid;width:47px;height:47px;place-items:center;border-radius:50%;background:var(--s-f5f1eb);color:var(--t-927548)}.content-card h2{margin:14px 0 25px 62px;font-size:1.6rem;line-height:1.2}.next-lesson-number{margin:0 0 5px 62px}.content-card h2.next-lesson-date{margin-bottom:20px;font-size:1.3rem;line-height:1;white-space:nowrap}.lesson-details{display:flex;justify-content:space-between;gap:14px}.details-copy{min-width:0}.details-copy p{display:flex;align-items:center;gap:12px;margin:0 0 17px;color:var(--t-676569);font-size:.98rem;white-space:nowrap}.details-copy svg{flex:0 0 auto;width:23px;color:var(--t-8c8b8d);stroke-width:1.8}.session-location-link{display:inline-flex;align-items:center;gap:8px;color:var(--t-777477);text-decoration:none}.session-location-link:hover{color:var(--t-9e7b45);text-decoration:underline;text-underline-offset:3px}.session-location-link svg{flex:0 0 auto}.home-location-link{margin:-5px 0 17px;font-size:.98rem}.home-location-link svg{width:23px}.lesson-details .lesson-instructor-photo{flex:0 0 113px;width:113px;height:142px;border-radius:23px;box-shadow:0 8px 18px #352b1d29}.lesson-details .lesson-instructor-photo.fallback{font-size:1.6rem}.primary-button{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;margin-top:17px;padding:19px;border:0;border-radius:21px;color:var(--t-e2bd7d);background:var(--ink);font-size:.86rem;font-weight:600;letter-spacing:.07em}.primary-button svg{width:27px}.home-empty-state{margin:20px 0 0 62px;color:var(--t-777477);font-size:1rem}.home-progress-summary{display:grid;grid-template-columns:1fr auto;gap:5px 16px;margin-top:8px;padding-top:22px;border-top:1px solid var(--b-e9e2d9)}.home-progress-copy{display:grid;gap:3px}.home-progress-copy span{color:var(--t-9e7b45);font-size:.7rem;font-weight:700;letter-spacing:.07em}.home-progress-copy strong{color:var(--ink);font-size:1rem;font-weight:600}.home-progress-copy small{color:var(--t-777477);font-size:.84rem;font-weight:500}.home-progress-percent{display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--b-c6a46c);border-radius:50%;color:var(--ink);font-family:Bodoni Moda,serif;font-size:1rem}.home-progress-track{grid-column:1 / -1;height:6px;overflow:hidden;border-radius:50px;background:var(--s-e7e6e4)}.home-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--s-d6ae69),var(--s-e1bd7f))}.view-as-banner{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--bottom-navigation-height) + env(safe-area-inset-bottom,0px) + 12px);z-index:var(--layer-nav);display:flex;align-items:center;gap:10px;max-width:min(calc(100% - 40px),480px);padding:9px 9px 9px 16px;border-radius:999px;color:#fff;background:var(--s-222);box-shadow:0 10px 24px #1e191347;font-size:.82rem;font-weight:600}.view-as-banner svg{flex:0 0 auto}.view-as-banner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-as-banner button{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;padding:0;border:0;border-radius:50%;color:#fff;background:#ffffff2e}.view-as-banner button:hover{background:#ffffff52}.view-as-banner button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media(min-width:700px){.view-as-banner{bottom:calc(var(--bottom-navigation-height) + 36px)}}.bottom-navigation{position:fixed;left:50%;transform:translate(-50%);width:min(100%,520px);bottom:0;z-index:var(--layer-nav);display:flex;justify-content:space-around;height:calc(var(--bottom-navigation-height) + env(safe-area-inset-bottom,0px));padding:10px 8px env(safe-area-inset-bottom,0px);background:#fffffff2;box-shadow:0 -9px 22px #322a210f}.bottom-navigation button{position:relative;display:grid;justify-items:center;gap:8px;min-width:57px;border:0;color:var(--t-777477);background:transparent;font-size:.78rem}.bottom-navigation svg{width:26px;height:26px;stroke-width:1.8}.bottom-navigation button.active{color:var(--t-000);font-weight:600}.bottom-navigation button.active:after{position:absolute;bottom:-15px;width:34px;height:3px;border-radius:4px;background:var(--gold);content:""}@media(min-width:700px)and (max-width:899px){.mobile-canvas{margin:24px auto;min-height:calc(100vh - 48px);border-radius:42px}.bottom-navigation{overflow:hidden;bottom:24px;border-radius:0 0 42px 42px}}@media(max-width:390px){.mobile-canvas{padding-inline:15px}.hero-copy{padding-inline:25px}.hero-copy p{font-size:2rem}.hero-copy h1{font-size:2.2rem}.content-card{padding-inline:22px}.content-card h2{margin-left:56px;font-size:1.4rem}.next-lesson-number{margin-left:56px}.details-copy p{font-size:.87rem}.lesson-details .lesson-instructor-photo{flex-basis:95px;width:95px;height:120px}}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 0;margin-top:8px}.calendar-header h1{margin:0;font-size:1.8rem;font-weight:600;color:var(--ink)}.filter-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--s-f5f1eb);color:var(--t-777477);font-size:1.2rem;cursor:pointer;transition:all .2s}.filter-button:hover{background:var(--s-ebe5df)}.calendar-card{margin:24px 0}.calendar-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:8px}.calendar-controls h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--ink);flex:1;text-align:center}.calendar-controls button:not(.calendar-today-button){display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--s-f5f1eb);color:var(--t-777477);cursor:pointer;transition:all .2s}.calendar-controls button:not(.calendar-today-button):hover{background:var(--s-ebe5df);color:var(--t-111112)}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--t-777477);letter-spacing:.05em;padding:8px 0}.dates{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.empty-day{aspect-ratio:1}.calendar-day{position:relative;aspect-ratio:1;border:0;border-radius:12px;background:var(--s-f5f1eb);color:var(--t-777477);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:grid;place-items:center}.calendar-day:hover{background:var(--s-ebe5df)}.calendar-day.selected{background:var(--s-111112);color:#fff}.calendar-day span:first-child{display:block}.lesson-dot{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--gold)}.calendar-day.selected .lesson-dot{background:#cda45fb3}.lessons-section{margin:32px 0}.lessons-section h3{margin:0 0 20px;font-size:1.1rem;font-weight:600;color:var(--ink)}.lessons-list{display:flex;flex-direction:column;gap:16px}.page-placeholder{padding:40px 20px;text-align:center;color:var(--t-777477);font-size:1.1rem}@media(max-width:390px){.calendar-header{padding-left:15px;padding-right:15px}.calendar-day{font-size:.85rem}}.admin-calendar-header{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:22px 20px 0}.admin-calendar-header p,.admin-day-schedule header p{margin:0 0 4px;color:var(--t-9e7b45);font-size:.66rem;font-weight:700;letter-spacing:.11em}.admin-calendar-header h1{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:2rem;font-weight:500}.instructor-filter{display:flex;gap:clamp(6px,2.4vw,12px)}.instructor-filter-chip{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;border:1px solid var(--b-ded5ca);border-radius:16px;color:var(--t-4f4b47);background:var(--s-fff);font:inherit;font-size:clamp(.62rem,2.6vw,.7rem);font-weight:700;transition:border-color .15s ease,background .15s ease,color .15s ease,opacity .15s ease}.instructor-filter-chip>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instructor-filter-chip:focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #cda45f1f}.instructor-filter-chip:not(.active){color:var(--t-918d89);background:var(--s-f4efe8);opacity:.72}.instructor-filter-chip:not(.active) .instructor-filter-avatar{filter:grayscale(1)}.instructor-filter-chip.active{border-color:var(--gold);color:var(--t-8a6a34);background:var(--s-fffaf0);box-shadow:0 0 0 1px #cda45f40}.instructor-filter-avatar{display:grid;flex:0 0 auto;place-items:center;width:clamp(34px,11vw,44px);height:clamp(34px,11vw,44px);border-radius:50%;object-fit:cover;object-position:center top;background:var(--s-f7efe0)}.instructor-filter-avatar.fallback{color:var(--t-8a6a34);font-size:.72rem;font-weight:700;letter-spacing:.02em}.instructor-filter-chip.active .instructor-filter-avatar{box-shadow:0 0 0 2px var(--gold)}.admin-calendar-card{margin:18px 20px 0;padding:17px;border:1px solid var(--b-eee5da);border-radius:12px;background:#fffffff2;box-shadow:0 9px 20px #352b1d14}.admin-calendar-controls{display:grid;grid-template-columns:34px 1fr auto 34px;align-items:center;gap:8px;margin-bottom:14px}.admin-calendar-controls h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:1.15rem;font-weight:500;text-align:center}.admin-calendar-controls button:not(.calendar-today-button){display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;color:var(--t-69635e);background:var(--s-f4f0eb)}.admin-calendar-weekdays,.admin-calendar-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.admin-calendar-weekdays{margin-bottom:7px}.admin-calendar-weekdays span{padding:5px 0;color:var(--t-918a83);font-size:.64rem;font-weight:700;text-align:center}.admin-calendar-dates>span,.admin-calendar-dates>button{aspect-ratio:1}.admin-calendar-dates>button{position:relative;display:grid;place-items:center;min-width:0;padding:0;border:1px solid transparent;border-radius:8px;color:var(--t-5e5954);background:var(--s-f6f3ef);font-size:.76rem;font-weight:700}.admin-calendar-dates>button:hover,.admin-calendar-dates>button:focus-visible{border-color:var(--b-d8bf93);outline:0}.admin-calendar-dates>button.selected{border-color:var(--b-d4b77f);color:var(--t-2b2825);background:var(--s-f5e8d2);box-shadow:inset 0 0 0 1px #cda45f29}.admin-calendar-markers{position:absolute;bottom:4px;display:flex;justify-content:center;gap:3px}.admin-calendar-markers i{display:block;width:5px;height:5px;border-radius:50%}.admin-calendar-markers .completed{background:var(--s-1f1e1c)}.admin-calendar-markers .scheduled{border:1px solid var(--b-aaa198);background:var(--s-fff)}.admin-calendar-markers .needs-confirmation{border:1px solid var(--b-9e7438);background:var(--s-d8b878)}.admin-calendar-markers .held{border:1.5px solid var(--gold);background:transparent}.admin-calendar-dates>button.selected .admin-calendar-markers .held{border-color:var(--b-9e7438)}.admin-day-schedule{margin:22px 20px 24px}.admin-day-schedule>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px;padding:0 2px}.admin-day-schedule header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:1.22rem;font-weight:500}@media(min-width:391px){.admin-day-schedule header h2{font-size:min(1.05rem,3.4vw);white-space:nowrap}}.admin-day-schedule>header{flex-wrap:wrap}.admin-day-schedule>header>div:last-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px;margin-left:auto}.admin-day-schedule>header button.admin-hold-add{margin-left:0;border:1px solid var(--b-d6b983);color:var(--t-79572a);background:var(--s-fbf0dd)}.admin-day-heading{flex:1 1 100%}.admin-day-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-day-count{flex:0 0 auto;color:var(--t-817a73);font-size:.68rem;font-weight:700}.admin-day-schedule>header button{display:inline-flex;align-items:center;gap:4px;padding:9px 11px;border:0;border-radius:8px;color:var(--t-e5c481);background:var(--s-1f1e1c);font-size:.68rem;font-weight:700}.admin-schedule-success{margin:0 0 10px;padding:10px 12px;border:1px solid var(--b-d6bd8c);border-radius:8px;color:var(--t-70552d);background:var(--s-fbf2e2);font-size:.72rem;font-weight:700}.admin-schedule-list{display:grid;gap:9px}.admin-schedule-instructor,.admin-schedule-instructor .instructor-filter-avatar,.admin-schedule-instructor .instructor-filter-avatar.fallback,.admin-session-edit-action{display:inline-block;margin:6px 0 0 8px;padding:3px 5px;border:0;color:var(--t-7c7065);background:transparent;font-size:.61rem;font-weight:700;text-decoration:underline;text-underline-offset:2px}.admin-schedule-empty{margin:0;padding:34px 18px;border:1px solid var(--b-eee5da);border-radius:10px;color:var(--t-77716c);background:#ffffffe6;text-align:center;font-size:.78rem}.admin-schedule-empty.error{color:var(--t-985c52)}.admin-schedule-editor-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:grid;place-items:center;padding:20px;background:#1716157a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-schedule-editor{display:flex;flex-direction:column;overflow-y:auto;width:min(100%,440px);max-height:calc(100dvh - 40px);padding:20px;border-radius:8px;color:var(--ink);background:var(--cream);box-shadow:0 24px 60px #1a16113d}.admin-schedule-editor header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.admin-schedule-editor header p{margin:0 0 3px;color:var(--t-9e7b45);font-size:.64rem;font-weight:700;letter-spacing:.1em}.admin-schedule-editor header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:1.55rem;font-weight:500}.admin-schedule-editor header button{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border:0;border-radius:50%;color:var(--t-fff);background:var(--s-222)}.admin-schedule-editor>label{display:grid;gap:5px;min-width:0;margin-bottom:10px}.admin-schedule-editor label>span{color:var(--t-5f5b57);font-size:.69rem;font-weight:700}.admin-schedule-editor label em{color:var(--t-99918a);font-size:.61rem;font-style:normal;font-weight:500}.admin-schedule-editor input,.admin-schedule-editor select,.admin-schedule-editor textarea{width:100%;min-width:0;max-width:100%;padding:11px 12px;border:1px solid var(--b-ddd5cc);border-radius:8px;outline:0;color:var(--ink);background:var(--s-fff);font:inherit;font-size:.78rem}.admin-schedule-editor input:focus,.admin-schedule-editor select:focus,.admin-schedule-editor textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #cda45f1f}.admin-schedule-editor textarea{resize:vertical}.admin-schedule-form-status{display:flex;align-items:center;gap:5px;margin:0;color:var(--t-746d66);font-size:.68rem;font-weight:700}.admin-schedule-form-error{margin:9px 0 0;color:var(--t-985c52);font-size:.72rem;line-height:1.4}.admin-schedule-editor footer{display:grid;grid-template-columns:1fr 1.5fr;gap:9px;margin-top:14px}.admin-schedule-editor footer button{min-height:42px;padding:10px;border-radius:8px;font-size:.72rem;font-weight:700}.admin-schedule-editor footer .secondary{border:1px solid var(--b-d9d1c8);color:var(--t-514d49);background:transparent}.admin-schedule-editor footer .primary{border:0;color:var(--t-e5c481);background:var(--s-1f1e1c)}.admin-schedule-editor button:disabled{opacity:.5}.admin-attendance-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:grid;align-items:end;padding:20px;background:#1716157a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-attendance-sheet{width:min(100%,440px);margin:0 auto;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 8px 8px;color:var(--ink);background:var(--cream);box-shadow:0 24px 60px #1a16113d}.admin-attendance-handle{display:block;width:38px;height:4px;margin:0 auto 12px;border-radius:2px;background:var(--s-d3cbc2)}.admin-attendance-conflict{margin:0 0 12px;padding:10px 12px;border:1px solid var(--s-9b4139);border-radius:10px;background:var(--s-fbeceb)}.admin-attendance-conflict>p{display:flex;align-items:center;gap:6px;margin:0;color:var(--t-985c52);font-size:.74rem;font-weight:700}.admin-attendance-conflict ul{margin:6px 0 0;padding-left:20px;color:var(--t-8d3b34);font-size:.72rem;line-height:1.5}.admin-attendance-sheet header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-attendance-sheet header p{margin:0 0 3px;color:var(--t-9e7438);font-size:.62rem;font-weight:700;letter-spacing:.1em}.admin-attendance-sheet header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:1.4rem;font-weight:500}.admin-attendance-sheet header>button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;color:var(--t-fff);background:var(--s-222)}.admin-attendance-session{display:grid;gap:3px;margin:13px 0;padding:11px;border:1px solid var(--b-e4cfaa);border-radius:8px;background:var(--s-fff8eb)}.admin-attendance-session strong{font-size:.78rem}.admin-client-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;color:inherit;background:transparent;text-align:left}.admin-client-link strong{text-decoration:underline;text-decoration-color:var(--b-d3b276);text-underline-offset:3px}.admin-client-link svg{flex:0 0 auto;color:var(--t-9e7438)}.admin-client-link:hover strong,.admin-client-link:focus-visible strong{text-decoration-color:var(--t-9e7438)}.admin-client-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}.admin-client-link:disabled{opacity:.55}.admin-attendance-session span{color:var(--t-766c63);font-size:.68rem}.admin-attendance-actions{display:grid;border-block:1px solid var(--b-e7dfd7)}.admin-attendance-actions button{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;padding:12px 4px;border:0;border-bottom:1px solid var(--b-eee7df);color:var(--t-3e3a36);background:transparent;text-align:left}.admin-attendance-actions button:last-child{border-bottom:0}.admin-attendance-actions button>svg{color:var(--t-9e7438)}.admin-attendance-actions strong,.admin-attendance-actions small{display:block}.admin-attendance-actions strong{font-size:.75rem}.admin-attendance-actions small{margin-top:2px;color:var(--t-817a73);font-size:.64rem}.admin-attendance-actions .admin-attendance-delete-action>svg,.admin-attendance-actions .admin-attendance-delete-action strong{color:var(--t-a34f44)}.admin-attendance-close{width:100%;margin-top:11px;padding:10px;border:1px solid var(--b-d8d0c8);border-radius:8px;color:var(--t-5e5852);background:var(--s-fff);font-size:.7rem;font-weight:700}.admin-attendance-sheet button:disabled{opacity:.5}.admin-delete-session-dialog{max-width:420px}.admin-delete-session-copy{margin:0;color:var(--t-615952);font-size:.8rem;line-height:1.5}.admin-schedule-editor footer .danger{border:0;color:var(--t-fff);background:var(--s-9b4139)}@media(max-width:390px){.admin-calendar-header{padding-inline:15px}.admin-calendar-card,.admin-day-schedule{margin-inline:15px}.admin-calendar-card{padding:14px 12px}.admin-calendar-weekdays,.admin-calendar-dates{gap:4px}.admin-calendar-dates>button{font-size:.7rem}.admin-day-schedule>header{align-items:stretch;flex-direction:column}.admin-day-schedule>header>div:last-child{justify-content:space-between}.admin-schedule-editor-overlay{align-items:end;padding:0}.admin-schedule-editor{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px));padding:18px 15px calc(16px + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0}.admin-attendance-overlay{padding:0}.admin-attendance-sheet{width:100%;border-radius:14px 14px 0 0}}.progress-header{padding:24px 20px 0;margin-top:8px}.progress-header h1{margin:0;font-size:1.8rem;font-weight:600;color:var(--ink)}.progress-main-card{position:relative;overflow:hidden}.progress-content{display:flex;align-items:flex-start;gap:24px;margin-bottom:28px}.progress-text{flex:1}.progress-text h2{margin:0 0 8px;font-size:1.35rem;font-weight:600;color:var(--ink);line-height:1.3}.progress-text p{margin:0;font-size:.95rem;color:var(--t-777477);font-weight:500}.progress-circle-wrapper{position:relative;flex:0 0 100px;width:100px;height:100px}.progress-circle{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle circle{fill:none;stroke-linecap:round}.progress-circle .progress-bg{stroke:var(--t-ebe5df);stroke-width:8}.progress-circle .progress-fill{stroke:var(--t-131313);stroke-width:8;transition:stroke-dasharray .6s ease}.progress-percent{position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;font-weight:700;color:var(--ink)}.progress-bar{height:8px;border-radius:50px;background:var(--s-ebe5df);overflow:hidden}.progress-bar-fill{height:100%;background:var(--gold);border-radius:50px;transition:width .6s ease}.progress-calendar-section{margin-top:30px}.progress-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px}.progress-calendar-heading h3,.sessions-header h3{margin:0;color:var(--t-9e7b45);font-size:1.05rem;font-weight:700;letter-spacing:.06em}.progress-calendar-heading>span{display:flex;align-items:center;gap:5px;color:var(--t-777477);font-size:.68rem;font-weight:600}.completed-marker,.scheduled-marker{display:inline-block;width:6px;height:6px;border-radius:50%}.completed-marker{background:var(--s-111112)}.scheduled-marker{background:var(--gold)}.progress-calendar-card{margin-top:16px;padding:22px 18px;border-radius:24px}.progress-calendar-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.progress-calendar-controls h2{margin:0;font-size:1.15rem;font-weight:600;color:var(--ink)}.progress-calendar-controls button:not(.calendar-today-button){display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--s-f5f1eb);color:var(--t-777477);cursor:pointer}.progress-calendar-controls{gap:8px}.progress-weekdays,.progress-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.progress-weekdays{margin-bottom:8px}.progress-weekdays span{text-align:center;color:var(--t-8c8783);font-size:.7rem;font-weight:700}.progress-empty-day,.progress-calendar-day{aspect-ratio:1}.progress-calendar-day{position:relative;display:grid;place-items:center;border:0;border-radius:10px;background:var(--s-f5f1eb);color:var(--t-777477);font-size:.85rem;font-weight:600;cursor:pointer}.progress-calendar-day:hover{background:var(--s-ebe5df)}.progress-calendar-day.has-completed{color:var(--t-111112);background:var(--s-f1e7d5)}.progress-calendar-day.has-scheduled{border:1px solid rgba(205,164,95,.7);background:var(--s-fbf9f5)}.progress-calendar-day.has-completed.has-scheduled{background:var(--s-eee6d8)}.progress-calendar-day.selected{color:var(--t-2b2825);box-shadow:inset 0 0 0 2px var(--b-d4b77f)}.progress-session-marker{position:absolute;bottom:4px}.sessions-header{padding:32px 20px 0}.sessions-header h3{margin:0 0 20px;font-size:1.05rem;font-weight:700;color:var(--t-9e7b45);letter-spacing:.06em}.sessions-header p{margin:-14px 0 0;color:var(--t-777477);font-size:.85rem;font-weight:500}.sessions-list{display:flex;flex-direction:column;gap:12px}@media(max-width:390px){.progress-header{padding-left:15px;padding-right:15px}.progress-content{gap:16px}.progress-circle-wrapper{width:90px;height:90px}.sessions-header{padding-left:15px;padding-right:15px}}.session-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--b-eee8e1);border-radius:14px;background:var(--s-fff);text-align:left;transition:border-color .18s,background .18s,box-shadow .18s}.session-card.actionable{cursor:pointer}.session-card.actionable:hover{border-color:var(--b-d4b77f)}.session-card.actionable:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.session-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.session-card-completed{border-color:var(--b-e3d0ad);background:var(--s-fcf4e7)}.session-card-needs-confirmation{border-color:var(--b-d5b06c);background:var(--s-fff9ed)}.session-card.conflict{border-color:var(--s-9b4139);background:var(--s-fbeceb)}.session-card.conflict.actionable:hover{border-color:var(--s-9b4139)}.session-card-index{display:grid;white-space:nowrap;align-content:start;justify-items:center;gap:1px;padding-top:2px}.session-card-index-label{color:var(--t-9e7438);font-size:.52rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.session-card-index-number{font-family:Bodoni Moda,Georgia,serif;font-size:1.65rem;font-weight:500;line-height:1.05;color:var(--ink)}.session-card-index-total{color:var(--t-777477);font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.session-card-body{min-width:0}.session-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 10px}.session-card-date{color:var(--t-9e7438);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.session-card-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--b-d4ccc4);border-radius:999px;color:var(--t-746d66);background:var(--s-fff);font-size:.6rem;font-weight:700}.session-card-status-completed{border-color:transparent;color:var(--t-fff);background:var(--s-282522)}.session-card-status-needs-confirmation{border-color:var(--b-d2af70);color:var(--t-74511f);background:var(--s-f8e7ca)}.session-card-time{display:flex;align-items:center;gap:7px;margin:5px 0 0;color:var(--ink);font-size:1rem;font-weight:600}.session-card-time svg{flex:0 0 auto;color:var(--t-9e7438)}.session-card-client{margin:4px 0 0;overflow:hidden;color:var(--t-57524e);font-size:.82rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.session-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.session-card-instructor{display:flex;align-items:center;gap:6px;min-width:0;margin:0;color:var(--t-777477);font-size:.72rem;font-weight:600}.session-card-note{flex:0 0 auto;color:var(--t-9a938b);font-size:.64rem;font-weight:700}.session-card-bonus{flex:0 0 auto;padding:3px 8px;border-radius:20px;color:var(--t-fff);background:var(--s-2f6b46);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.bonus-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-bottom:10px;padding:11px 13px;border:1px solid var(--b-ddd5cc);border-radius:8px;background:var(--s-fff);cursor:pointer}.bonus-field input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--gold)}.bonus-field-copy{display:grid;gap:3px}.bonus-field-copy strong{color:var(--ink);font-size:.8rem;font-weight:600}.bonus-field-copy small{color:var(--t-8a837c);font-size:.72rem;line-height:1.4}.bonus-field-copy .bonus-field-notice{margin-top:4px;color:var(--t-985c52)}.bonus-field input:disabled{cursor:not-allowed}.bonus-field:has(input:disabled){cursor:not-allowed;opacity:.7}.session-card-instructor>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-card-instructor .instructor-filter-avatar{flex:0 0 auto;width:22px;height:22px;box-shadow:0 0 0 1.5px var(--gold)}.session-card-instructor .instructor-filter-avatar.fallback{font-size:.55rem}.session-card-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--b-eee8e1)}.session-card-actions>:last-child{flex:0 0 auto}.session-card-completed .session-card-actions{border-top-color:var(--b-e3d0ad)}.session-card-needs-confirmation .session-card-actions{border-top-color:var(--b-d5b06c)}.session-card .session-card-location{display:inline-flex;flex:0 1 auto;align-items:center;gap:4px;min-width:0;margin:0;padding:4px 0;color:var(--t-7b6a50);font-size:.72rem;font-weight:600}.session-card .session-card-location svg{flex:0 0 auto;width:14px;height:14px}.session-card .session-card-location>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-card-conflict{display:inline-flex;align-items:center;gap:4px;margin:8px 0 0;padding:3px 7px;border-radius:5px;color:var(--t-fff);background:var(--s-9b4139);font-size:.6rem;font-weight:700}@media(max-width:390px){.session-card{grid-template-columns:50px minmax(0,1fr);gap:10px;padding:13px 12px}.session-card-index-number{font-size:1.5rem}.session-card-time{font-size:.94rem}}.session-calendar-export{flex:0 0 auto;padding:5px 7px;border:1px solid var(--b-d5b77f);border-radius:6px;color:var(--t-76582b);background:var(--s-fffaf0);font-size:.65rem;font-weight:700}.session-calendar-export:disabled{opacity:.55}.profile-topbar{display:flex;justify-content:space-between;padding:0 20px}.profile-topbar>span{width:58px;height:58px}.profile-topbar button{display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;color:var(--t-fff);background:var(--s-222);box-shadow:0 8px 16px #0000003b}.profile-page-heading{margin:0 0 22px;text-align:center}.profile-page-heading h1,.reschedule-card h2,.couple-member-title h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500}.profile-page-heading h1{font-size:2rem;line-height:1}.profile-avatar-button{display:inline-grid;place-items:center;margin:0 0 12px;padding:0;border:0;border-radius:50%;background:transparent}.profile-avatar-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center top}.profile-avatar-hint{display:block;margin-top:7px;color:var(--t-8a6a34);font-size:.68rem;font-weight:700}.profile-photo-error{margin:10px 0 0;color:var(--t-984f44);font-size:.78rem}.profile-avatar{display:grid;place-items:center;width:76px;height:76px;border:2px solid var(--gold);border-radius:50%;color:var(--t-fff);background:var(--s-232220);box-shadow:0 8px 16px #140f0a29;font-family:Bodoni Moda,Georgia,serif;font-size:1.25rem;font-weight:600;transition:transform .15s ease,box-shadow .15s ease}.profile-avatar-button:hover .profile-avatar,.profile-avatar-button:focus-visible .profile-avatar{transform:translateY(-1px);box-shadow:0 10px 19px #140f0a38}.profile-avatar-button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.profile-edit-button{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:8px 16px;border:1px solid var(--b-e3d7c4);border-radius:20px;color:var(--t-8d6a35);background:#ffffffe6;font-size:.78rem;font-weight:600;letter-spacing:.03em;box-shadow:0 6px 14px #352b1d17}.profile-edit-button:active{background:var(--s-fdf7ee)}.profile-edit-button svg{color:var(--gold)}.profile-success-message{margin:0 0 16px;padding:11px 14px;border-radius:12px;color:var(--t-4a6b46);background:var(--s-eef5ea);font-size:.83rem;font-weight:600;text-align:center}.profile-details-card,.reschedule-card{border-radius:26px;background:#fffffff0;box-shadow:0 13px 23px #352b1d1c}.profile-details-card{overflow:hidden}.profile-detail-row{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:13px;width:100%;min-height:75px;padding:12px 21px;border:0;border-bottom:1px solid var(--b-eee9e4);color:var(--ink);background:transparent;text-align:left}.profile-detail-row:last-child{border-bottom:0}.profile-detail-row:hover{background:var(--s-fdfbf8)}.profile-detail-icon{color:var(--t-696666)}.profile-detail-copy{display:grid;gap:3px;min-width:0}.profile-detail-copy small{color:var(--t-898582);font-size:.72rem;font-weight:500}.profile-detail-copy strong{overflow:hidden;color:var(--t-2d2b2b);font-size:.92rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.profile-chevron{color:var(--t-a9a4a0)}.couple-members{display:grid;gap:14px}.couple-member-card,.shared-details-card{border-radius:22px;background:#fffffff0;box-shadow:0 13px 23px #352b1d1c}.couple-member-card{display:flex;align-items:center;gap:14px;padding:19px 20px;border-left:3px solid var(--gold)}.couple-member-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.couple-member-title h2{font-size:1.32rem}.couple-member-title span{padding:4px 8px;border-radius:20px;color:var(--t-8d6a35);background:var(--s-f5ead7);font-size:.7rem;font-weight:700;letter-spacing:.05em}.couple-member-card p{display:flex;align-items:center;gap:9px;margin:7px 0 0;color:var(--t-67615d);font-size:.84rem;overflow-wrap:anywhere}.couple-member-card p svg,.shared-details-card p svg{flex:0 0 auto;color:var(--t-9e7b45)}.social-links{display:flex;align-items:center;gap:8px}.social-links a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--t-fff);background:var(--gold)}.social-links a:hover{background:var(--s-2f6b46)}.social-links .social-link-missing{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--t-d6cec4);background:transparent}.shared-details-card{display:grid;gap:13px;margin-top:18px;padding:20px}.shared-details-card .account-label{margin:0}.shared-details-card p:not(.account-label){display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;color:var(--t-777477);font-size:.82rem}.shared-details-card strong{color:var(--ink);font-size:.84rem;font-weight:600;text-align:right}.song-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:13px;padding:9px;border-radius:14px;background:var(--s-f5f1eb);text-decoration:none}.song-card-thumb{width:92px;height:52px;border-radius:9px;object-fit:cover;background:var(--s-ddd4c8)}.song-card-copy{display:grid;min-width:0;gap:4px}.song-card strong{color:var(--ink);font-size:.86rem;font-weight:600;line-height:1.3;text-align:left;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.song-card-hint{display:flex;align-items:center;gap:5px;color:var(--t-9e7b45);font-size:.74rem;font-weight:600;letter-spacing:.04em}.reschedule-card{margin-top:20px;padding:23px 21px 18px}.reschedule-card h2{margin:0 0 7px;font-size:1.25rem;line-height:1.1}.reschedule-card p{margin:0;color:var(--t-615e5b);font-size:.83rem;line-height:1.5}.reschedule-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:17px;padding:13px 16px 13px 21px;border:0;border-radius:8px;color:var(--t-e1bc78);background:var(--s-131313);font-size:.78rem;font-weight:600;letter-spacing:.06em}.account-card{margin-top:20px;padding:23px 21px 21px;border-radius:26px;background:#fffffff0;box-shadow:0 13px 23px #352b1d1c}.account-label{margin:0 0 9px;color:var(--t-9e7b45);font-size:.78rem;font-weight:700;letter-spacing:.1em}.account-copy{margin:0;color:var(--t-615e5b);font-size:.83rem;line-height:1.5}.account-signin-button{width:100%;margin-top:17px;padding:15px 16px;border:0;border-radius:8px;color:var(--t-e1bc78);background:var(--s-131313);font-size:.8rem;font-weight:600;letter-spacing:.06em}.account-createaccount-button{width:100%;margin-top:10px;padding:15px 16px;border:1px solid var(--b-131313);border-radius:8px;color:var(--t-131313);background:transparent;font-size:.8rem;font-weight:600;letter-spacing:.06em}.account-signed-in{margin:0;padding:12px 14px;border-radius:10px;background:var(--s-f5f1eb);color:var(--t-2d2b2b);font-size:.85rem;font-weight:600}@media(max-width:390px){.profile-topbar{padding-inline:15px}.profile-page-heading h1{font-size:1.82rem}.profile-detail-row{padding-inline:17px}}.contact-sheet-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:flex;align-items:flex-end;justify-content:center;padding:0 16px;background:#110f0c8c}.contact-sheet{width:min(100%,520px);max-height:min(86vh,720px);overflow-y:auto;padding:10px 22px calc(26px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;background:var(--cream);box-shadow:0 -20px 50px #140f0a59;animation:contact-sheet-in .22s ease}@keyframes contact-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.contact-sheet-handle{display:block;width:42px;height:4px;margin:6px auto 14px;border-radius:4px;background:var(--s-ddd4c8)}.contact-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.contact-sheet-header>span{width:36px;height:36px}.contact-sheet-back,.contact-sheet-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;color:var(--t-57534f);background:var(--s-f2ede6)}.contact-sheet-body h2{margin:6px 0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.4rem}.contact-sheet-body>p{margin:0 0 20px;color:var(--t-615e5b);font-size:.88rem}.contact-list{display:grid;gap:12px;padding-bottom:4px}.contact-card{display:flex;align-items:center;gap:14px;width:100%;padding:14px;border:1px solid var(--b-ece4d9);border-radius:18px;background:var(--s-fff);text-align:left;transition:border-color .15s ease,background .15s ease}.contact-card:hover,.contact-card:focus-visible{border-color:var(--gold);background:var(--s-fffaf0)}.contact-avatar{flex:0 0 auto;width:52px;height:52px;object-fit:cover;object-position:center top;border:2px solid var(--gold);border-radius:50%;background:var(--s-f7efe0)}.contact-avatar.large{width:76px;height:76px;margin-bottom:10px}.contact-copy{display:grid;gap:2px;min-width:0}.contact-copy strong{font-size:.96rem;color:var(--ink)}.contact-copy small{color:var(--t-82807d);font-size:.78rem}.contact-selected{display:grid;justify-items:center;margin:4px 0 20px;text-align:center}.contact-selected strong{font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.3rem;color:var(--ink)}.contact-selected small{margin-top:2px;color:var(--t-82807d);font-size:.85rem}.contact-question{margin:0 0 16px;color:var(--t-615e5b);font-size:.9rem;text-align:center}.contact-actions{display:grid;gap:12px;margin-bottom:6px}.contact-action{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;border:0;border-radius:16px;color:var(--t-e1bc78);background:var(--s-131313);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-decoration:none}.contact-action:active{background:var(--s-000)}@media(max-width:390px){.contact-sheet{padding-inline:17px}}.edit-profile-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:flex;align-items:flex-end;justify-content:center;padding:0 16px;background:#110f0c8c}.edit-profile-sheet{width:min(100%,520px);max-height:min(90vh,760px);overflow-y:auto;padding:10px 22px calc(26px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;background:var(--cream);box-shadow:0 -20px 50px #140f0a59;animation:contact-sheet-in .22s ease}.edit-profile-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.edit-profile-header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.4rem}.edit-profile-form{display:grid;gap:14px}.edit-profile-photo-placeholder{display:flex;align-items:center;justify-content:center;gap:13px;padding:2px 0 5px}.edit-profile-avatar{display:grid;flex:0 0 auto;place-items:center;width:68px;height:68px;padding:0;border:2px solid var(--gold);border-radius:50%;color:var(--t-fff);background:var(--s-232220);box-shadow:0 8px 16px #140f0a29;font-family:Bodoni Moda,Georgia,serif;font-size:1.15rem;font-weight:600}.edit-profile-photo-placeholder>div:last-child{display:grid;justify-items:start;gap:4px}.edit-profile-photo-placeholder>div:last-child>span{color:var(--t-8a837c);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.edit-profile-avatar:disabled{cursor:not-allowed;opacity:.72}.edit-profile-field{display:grid;gap:6px}.edit-profile-field>span{color:var(--t-8a837c);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.edit-profile-field input{width:100%;padding:14px 15px;border:1px solid var(--b-e6ddd0);border-radius:14px;color:var(--ink);background:var(--s-fff);font-family:inherit;font-size:.92rem}.edit-profile-field input:focus-visible{border-color:var(--gold);outline:none}.edit-profile-field input:disabled{color:var(--t-8b8781);background:var(--s-f4efe8)}.edit-profile-field.readonly small{color:var(--t-8a837c);font-size:.74rem;line-height:1.4}.edit-profile-error{margin:0;padding:11px 14px;border-radius:12px;color:var(--t-8d3b34);background:var(--s-fbeceb);font-size:.82rem;font-weight:600}.edit-profile-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:4px}.edit-profile-cancel{padding:15px 16px;border:1px solid var(--b-131313);border-radius:8px;color:var(--t-131313);background:transparent;font-size:.78rem;font-weight:600;letter-spacing:.06em}.edit-profile-save{padding:15px 16px;border:0;border-radius:8px;color:var(--t-e1bc78);background:var(--s-131313);font-size:.78rem;font-weight:600;letter-spacing:.06em}.edit-profile-save:disabled,.edit-profile-cancel:disabled{opacity:.6}@media(max-width:390px){.edit-profile-sheet{padding-inline:17px}}.profile-avatar,.couple-member-avatar,.edit-profile-avatar,.admin-client-avatar{position:relative}.profile-avatar-photo,.couple-member-avatar-photo,.edit-profile-avatar-photo,.admin-client-avatar-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover}button.profile-avatar{padding:0}.couple-member-avatar{display:grid;place-items:center;flex:0 0 auto;overflow:hidden;width:40px;height:40px;padding:0;border:1px solid var(--b-d5b77f);border-radius:50%;color:var(--t-fff);background:var(--s-232220);font-family:Bodoni Moda,Georgia,serif;font-size:.8rem;font-weight:600}.couple-member-title h2{flex:1;min-width:0}.photo-gallery{margin-top:27px;padding:26px 24px 24px;border-radius:35px;background:#ffffffed;box-shadow:0 13px 23px #352b1d1c}.photo-gallery-heading{display:flex;align-items:center;gap:9px;margin-bottom:14px}.photo-gallery-heading h2{margin:0;flex:0 1 auto}.photo-gallery>.photo-gallery-heading h2{font-family:Bodoni Moda,Georgia,serif;font-size:1.16rem;font-weight:500}.photo-gallery-heading span{padding:3px 10px;border-radius:999px;color:var(--t-79572a);background:var(--s-fbf0dd);font-size:.7rem;font-weight:700}.photo-gallery-heading button{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 9px;border:1px solid var(--b-d6b983);border-radius:7px;color:var(--t-79572a);background:var(--s-fbf0dd);font-size:.7rem;font-weight:700}.photo-gallery-heading button:disabled{opacity:.55}.photo-gallery-empty{margin:0;color:var(--t-817d79);font-size:.87rem}.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.photo-gallery-tile{overflow:hidden;aspect-ratio:1;padding:0;border:0;border-radius:12px;background:var(--s-f5ead7)}.photo-gallery-thumb{width:100%;height:100%;object-fit:cover}.photo-viewer-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:grid;place-items:center;padding:20px;background:#14100cd1}.photo-viewer{display:grid;gap:12px;width:min(100%,620px);transition:transform .28s cubic-bezier(.22,.61,.36,1);will-change:transform}.photo-viewer img{max-width:100%;max-height:100%;border-radius:16px;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-viewer-actions{display:flex;align-items:center;justify-content:center;gap:10px}.photo-viewer-actions button{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:0;border-radius:999px;color:var(--t-fff);background:#ffffff2e;font-size:.8rem;font-weight:600}.photo-viewer-delete{background:#be3e34e6!important}.photo-viewer-frame{position:relative;overflow:hidden;width:100%;height:min(76vh,640px);touch-action:none}.photo-viewer-track{position:absolute;inset:0;transition:transform .3s cubic-bezier(.22,.61,.36,1);will-change:transform}.photo-viewer-slide{position:absolute;top:0;display:grid;place-items:center;width:100%;height:100%}.photo-viewer-slide.offset-previous{left:-100%}.photo-viewer-slide.offset-current{left:0}.photo-viewer-slide.offset-next{left:100%}.photo-viewer-step{position:absolute;top:50%;display:grid;place-items:center;width:40px;height:40px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;color:var(--t-fff);background:#1814108c}.photo-viewer-step.previous{left:8px}.photo-viewer-step.next{right:8px}.photo-viewer-count{margin:0;color:#ffffffc7;font-size:.78rem;font-weight:600;text-align:center}.couple-member-open{flex:1;min-width:0;display:block;padding:0;border:0;background:transparent;font:inherit;text-align:left;color:inherit}.edit-profile-photo-hint{display:block;margin-top:2px;color:var(--t-8a6a34);font-size:.72rem;font-weight:700}.photo-viewer-confirm{color:var(--t-fff);font-size:.84rem;font-weight:600}.auth-topbar{display:flex;padding:0 20px}.auth-back{display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;color:var(--t-fff);background:var(--s-222);box-shadow:0 8px 16px #0000003b}.auth-card{padding:30px 24px 34px;border-radius:26px;background:#fffffff0;box-shadow:0 13px 23px #352b1d1c}.auth-card h1{margin:0 0 8px;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.9rem;line-height:1.1}.auth-subtitle{margin:0 0 26px;color:var(--t-615e5b);font-size:.9rem;line-height:1.5}.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:8px}.auth-field span{color:var(--t-898582);font-size:.78rem;font-weight:600;letter-spacing:.03em}.auth-input-wrap{display:flex;align-items:center;gap:11px;padding:13px 16px;border:1px solid var(--b-eee9e4);border-radius:12px;background:var(--s-fdfbf8);color:var(--t-898582)}.auth-input-wrap input,.auth-input-wrap select{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:.92rem;font-family:inherit}.auth-field span em{color:var(--t-99918a);font-size:.78rem;font-style:normal;font-weight:500}.auth-password-toggle{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;margin:-8px -10px -8px 0;padding:0;border:0;border-radius:50%;color:var(--t-898582);background:transparent}.auth-password-toggle:active{color:var(--t-a57c3c)}.auth-password-toggle:disabled{opacity:.5}.auth-forgot{justify-self:end;margin-top:-6px;padding:2px;border:0;color:var(--t-a57c3c);background:transparent;font-size:.82rem;font-weight:600}.auth-submit{width:100%;margin-top:6px;padding:15px 16px;border:0;border-radius:8px;color:var(--t-e1bc78);background:var(--s-131313);font-size:.8rem;font-weight:600;letter-spacing:.06em}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0 20px;color:var(--t-99918a);font-size:.72rem}.auth-divider:before,.auth-divider:after{flex:1;height:1px;background:var(--b-eee8e1);content:""}.auth-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 16px;border:1px solid var(--b-ddd5cc);border-radius:8px;color:var(--ink);background:var(--s-fff);font:inherit;font-size:.82rem;font-weight:600}.auth-google:hover{border-color:var(--b-aaa198)}.auth-google:disabled{opacity:.6}.auth-google svg{flex:0 0 auto}.auth-submit:disabled{cursor:wait;opacity:.72}.auth-create-prompt{margin:-4px 0 0;color:var(--t-777477);font-size:.8rem;text-align:center}.auth-create-prompt button{padding:2px;border:0;color:var(--t-a57c3c);background:transparent;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-create-prompt button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}.auth-message{margin:0;color:var(--t-9e7b45);font-size:.82rem;text-align:center}.auth-success{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:14px 15px;border:1px solid var(--b-d9c49d);border-radius:10px;color:var(--t-72552c);background:var(--s-fbf5e9)}.auth-success p{margin:0;font-size:.84rem;line-height:1.45}.auth-switch{width:100%;margin-top:22px;padding:6px;border:0;color:var(--t-a57c3c);background:transparent;font-size:.78rem;font-weight:600;letter-spacing:.04em}:root.keyboard-open .brand-header{margin:8px 0 14px}:root.keyboard-open .brand-mark{width:74px;height:74px}:root.keyboard-open .brand-rule{width:132px;margin-top:9px}:root.keyboard-open .brand-diamond{display:none}:root.keyboard-open .auth-card{margin-bottom:var(--keyboard-inset, 0px)}@media(max-width:390px){.auth-topbar{padding-inline:15px}.auth-card{padding-inline:19px}}.auth-confirm-card{text-align:center}.auth-confirm-icon{display:inline-grid;place-items:center;width:56px;height:56px;margin:0 auto 16px;border-radius:50%;color:var(--t-8a6a34);background:var(--s-f4e7d0)}.auth-confirm-card .auth-subtitle{overflow-wrap:anywhere}.auth-confirm-note{margin:14px 0 22px;color:var(--t-837d76);font-size:.82rem;line-height:1.5}.auth-confirm-resent{margin:14px 0 0;color:var(--t-47664d);font-size:.82rem;font-weight:700}.admin-topbar{position:relative;min-height:58px}.admin-settings{flex:0 0 auto}.admin-bell{position:relative;flex:0 0 auto}.admin-bell-badge{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:50%;color:var(--t-131313);background:var(--gold);font-size:.68rem;font-weight:700}.admin-header{padding:24px 20px 0;margin-top:8px}.admin-eyebrow{margin:0 0 6px;color:var(--t-9e7b45);font-size:.78rem;font-weight:700;letter-spacing:.12em}.admin-header h1{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.9rem;color:var(--ink)}.revenue-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 20px 0;padding:26px 24px;border-radius:26px;background:var(--s-131313);box-shadow:0 13px 26px #140f0a47}.revenue-card strong{display:block;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:2rem;color:var(--gold);line-height:1}.revenue-card strong span{font-size:1.1rem;font-weight:500}.revenue-card>div:first-child p{margin:8px 0 0;color:var(--t-cdc7bd);font-size:.74rem;font-weight:600;letter-spacing:.08em}.revenue-trend{display:grid;justify-items:center;gap:4px;padding-left:16px;border-left:1px solid rgba(255,255,255,.18);color:var(--gold);text-align:center}.revenue-trend span{color:var(--t-cdc7bd);font-size:.72rem}.revenue-trend strong{color:var(--gold);font-size:1rem;font-weight:700}.admin-stat-row{display:flex;gap:14px;margin:16px 20px 0}.admin-stat-card{flex:1;padding:18px 16px;border-radius:22px;background:#fffffff0;box-shadow:0 10px 20px #352b1d17}.admin-stat-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:10px;border:1.5px solid var(--gold);border-radius:50%;color:var(--t-a67938)}.admin-stat-card strong{display:block;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.7rem;color:var(--ink);line-height:1}.admin-stat-card p{margin:6px 0 0;color:var(--t-777477);font-size:.7rem;font-weight:600;letter-spacing:.05em}.admin-card-title{margin:0 0 18px;color:var(--ink);font-size:.82rem;font-weight:700;letter-spacing:.08em}.studio-performance-card{margin:24px 20px 0;padding:26px 22px}.admin-dashboard-filters{display:grid;gap:12px;margin:18px 20px 0}.admin-period-filter{display:flex;gap:6px}.admin-period-filter button{flex:1 1 0;min-width:0;padding:9px 6px;border:1px solid var(--b-ded5ca);border-radius:12px;color:var(--t-6f6962);background:var(--s-fff);font:inherit;font-size:clamp(.6rem,2.5vw,.7rem);font-weight:700;white-space:nowrap}.admin-period-filter button.active{border-color:var(--gold);color:var(--t-8a6a34);background:var(--s-fffaf0);box-shadow:0 0 0 1px #cda45f40}.admin-dashboard-error{margin:14px 20px 0;color:var(--t-984f44);font-size:.74rem}.admin-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.admin-card-heading .admin-card-title{margin:0}.admin-card-note{color:var(--t-918d89);font-size:.68rem;font-weight:600}.admin-chart-toggle{display:flex;flex:0 0 auto;gap:4px;padding:3px;border-radius:11px;background:var(--s-f4efe8)}.admin-chart-toggle button{padding:6px 10px;border:0;border-radius:9px;color:var(--t-77716b);background:transparent;font:inherit;font-size:.66rem;font-weight:700;white-space:nowrap}.admin-chart-toggle button.active{color:var(--t-8a6a34);background:var(--s-fff);box-shadow:0 1px 3px #352b1d1f}.admin-stat-card small{display:block;margin-top:7px;color:var(--t-918d89);font-size:.68rem;line-height:1.35}.revenue-trend.negative,.revenue-trend.negative strong{color:var(--t-e0a79a)}.admin-chart-bars{gap:clamp(4px,2vw,16px)}.admin-chart-value{font-size:clamp(.6rem,2.4vw,.78rem)}.admin-chart-label{font-size:clamp(.56rem,2.2vw,.7rem)}.admin-filter-row{display:flex;gap:10px;margin-bottom:22px}.admin-filter{position:relative;flex:1;display:flex;align-items:center;padding:10px 14px;border:1px solid var(--b-e6dfd8);border-radius:12px;color:var(--t-57534f)}.admin-filter select{flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;font-size:.78rem;font-weight:600;appearance:none}.admin-filter svg{flex:0 0 auto;margin-left:6px;color:var(--t-a67938)}.admin-kpi h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:2.1rem;color:var(--ink);line-height:1}.admin-kpi p{margin:6px 0 0;color:var(--ink);font-size:.85rem;font-weight:700;letter-spacing:.04em}.admin-kpi small{display:block;margin-top:2px;color:var(--t-918d89);font-size:.74rem}.admin-chart{display:flex;gap:10px;margin:22px 0 6px}.admin-chart-axis{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:22px;color:var(--t-b7b2ac);font-size:.68rem;font-weight:600}.admin-chart-bars{display:flex;flex:1;align-items:flex-end;gap:16px;height:130px}.admin-chart-bar{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;padding-bottom:22px}.admin-chart-value{margin-bottom:6px;color:var(--t-8a6a34);font-size:.78rem;font-weight:700}.admin-chart-fill{display:block;width:60%;min-height:4px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--s-e1bd7f),var(--s-cda45f))}.admin-chart-label{position:absolute;bottom:0;color:var(--t-918d89);font-size:.7rem;font-weight:600}.admin-kpi-row{display:flex;gap:20px;margin-top:22px;padding-top:20px;border-top:1px solid var(--b-ece4d9)}.admin-kpi-row>div{position:relative;flex:1}.admin-kpi-row>div:first-child:after{content:"";position:absolute;top:2px;right:-10px;bottom:2px;width:1px;background:var(--s-ece4d9)}.admin-kpi-row h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.7rem;color:var(--ink)}.admin-kpi-row p{margin:4px 0 0;color:var(--t-918d89);font-size:.7rem;font-weight:600;letter-spacing:.04em}.instructor-performance-card{margin:20px 20px 0;padding:24px 22px}.instructor-performance-list{display:grid;gap:18px}.instructor-performance-row{display:flex;align-items:center;gap:14px}.instructor-performance-photo{flex:0 0 auto;width:46px;height:46px;border-radius:50%;object-fit:cover}.instructor-performance-info{flex:1;min-width:0}.instructor-performance-info strong{display:block;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.05rem;color:var(--ink)}.instructor-performance-info small{display:block;margin:2px 0 8px;color:var(--t-918d89);font-size:.76rem}.instructor-performance-bar{height:6px;border-radius:6px;background:var(--s-ece4d9);overflow:hidden}.instructor-performance-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--s-d6ae69),var(--s-e1bd7f))}.instructor-performance-amount{flex:0 0 auto;color:var(--ink);font-size:.88rem;font-weight:700;white-space:nowrap}@media(max-width:390px){.admin-header{padding-inline:15px}.revenue-card,.admin-stat-row,.studio-performance-card,.instructor-performance-card{margin-inline:15px}.revenue-card{padding:22px 18px}.revenue-card strong{font-size:1.7rem}.studio-performance-card,.instructor-performance-card{padding-inline:18px}}.package-progress-note{display:flex;align-items:center;gap:7px;margin:-4px 0 14px;padding:9px 11px;border:1px solid var(--b-eadfce);border-radius:8px;color:var(--t-766c63);background:var(--s-fcf7ee);font-size:.72rem;font-weight:600}.package-progress-note svg{flex-shrink:0}.package-progress-remaining{border-color:var(--b-cda45f);color:var(--t-393532);background:var(--s-fcf7ee)}.package-progress-complete{border-color:var(--b-9fb7a3);color:var(--t-4c7a52);background:var(--s-eef5ea)}.package-progress-extra{border-color:var(--b-b56f63);color:var(--t-985c52);background:var(--s-efdcd6)}.admin-today-header{margin:32px 0 18px}.admin-today-header h1{margin:4px 0 0;font-family:Bodoni Moda,Georgia,serif;font-size:1.75rem;font-weight:500;line-height:1.1}.admin-today-card{margin-bottom:15px;padding:18px 18px 20px;border-radius:22px;background:var(--s-fff);box-shadow:0 10px 24px #322a2112}.admin-today-heading{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--t-9e7438)}.admin-today-heading h2{flex:1;margin:0;color:var(--ink);font-family:Bodoni Moda,Georgia,serif;font-size:1.16rem;font-weight:500}.admin-today-heading span{flex:0 0 auto;padding:3px 10px;border-radius:999px;color:var(--t-79572a);background:var(--s-fbf0dd);font-size:.7rem;font-weight:700}.admin-today-heading span.admin-today-count-warn{color:var(--t-fff);background:var(--s-1f1e1c)}.admin-today-list{display:grid;gap:11px}.admin-today-empty{margin:0;color:var(--t-817d79);font-size:.87rem;line-height:1.45}.admin-today-lead{margin:0 0 12px;color:var(--t-79572a);font-size:.82rem;font-weight:600}.admin-today-gaps{display:grid;gap:9px}.admin-today-gap{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--b-eee8e0);border-radius:15px;background:var(--s-fffaf0);text-align:left}.admin-today-gap.waiting{border-color:var(--b-d6b983);background:var(--s-fbf0dd)}.admin-today-holds{display:grid;gap:9px;margin-bottom:14px}.admin-today-gap.held{border-style:dashed;border-color:var(--b-d6b983)}.admin-today-gap-name{display:grid;gap:3px;min-width:0}.admin-today-gap-name strong{overflow:hidden;color:var(--ink);font-size:.95rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-today-gap-flag{color:var(--t-79572a);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-today-gap-figures{display:grid;flex:0 0 auto;gap:3px;justify-items:end}.admin-today-gap-figures small{display:inline-flex;align-items:center;gap:5px;color:var(--t-625f5d);font-size:.74rem;font-weight:500;white-space:nowrap}.admin-hold-list{display:grid;gap:10px;margin-bottom:14px}.admin-hold-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px dashed var(--b-d6b983);border-radius:18px;background:var(--s-fffaf0)}.admin-hold-card.conflict{border-color:var(--b-984f44);background:var(--s-fbf0dd)}.admin-hold-copy{display:grid;gap:3px;min-width:0}.admin-hold-copy p{margin:0;color:var(--t-9e7438);font-size:.62rem;font-weight:700;letter-spacing:.1em}.admin-hold-copy strong{overflow:hidden;color:var(--ink);font-size:.95rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-hold-copy span{color:var(--t-625f5d);font-size:.8rem}.admin-hold-copy small{color:var(--t-817d79);font-size:.74rem}.admin-hold-actions{display:grid;flex:0 0 auto;gap:6px}.admin-hold-actions button{padding:6px 10px;border:1px solid var(--b-d6b983);border-radius:7px;color:var(--t-79572a);background:var(--s-fff);font-size:.68rem;font-weight:700}.admin-hold-actions button.primary{border-color:var(--b-1f1e1c);color:var(--t-e5c481);background:var(--s-1f1e1c)}.admin-hold-actions button.danger{border-color:var(--b-984f44);color:var(--t-fff);background:var(--s-984f44)}.admin-hold-explainer{margin:0 0 14px;color:var(--t-817d79);font-size:.8rem;line-height:1.45}.admin-hold-confirm h2{margin:0 0 8px;font-family:Bodoni Moda,Georgia,serif;font-size:1.3rem;font-weight:500}.admin-hold-confirm p{margin:0 0 18px;color:var(--t-625f5d);font-size:.87rem;line-height:1.5}.hold-conflict{display:grid;gap:8px;margin:4px 0 12px;padding:13px 15px;border:1px solid var(--b-984f44);border-radius:14px;background:var(--s-fbf0dd)}.hold-conflict-lead{display:flex;align-items:center;gap:7px;margin:0;color:var(--t-79572a);font-size:.8rem;font-weight:700}.hold-conflict-details{margin:0;color:var(--ink);font-size:.85rem;font-weight:600}.hold-conflict-error{margin:0;color:var(--t-79572a);font-size:.78rem}.hold-conflict-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hold-conflict-actions span{flex:1 1 100%;color:var(--t-625f5d);font-size:.8rem}.hold-conflict-actions button{padding:7px 11px;border:1px solid var(--b-d6b983);border-radius:8px;color:var(--t-79572a);background:var(--s-fff);font-size:.72rem;font-weight:700}.hold-conflict-actions button.danger{border-color:var(--b-984f44);color:var(--t-fff);background:var(--s-984f44)}.hold-conflict-actions button:disabled{opacity:.55}.admin-wedding-list{display:grid;gap:8px}.admin-wedding-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--b-eee8e0);border-radius:15px;background:var(--s-fffaf0);text-align:left}.admin-wedding-row.today{border-color:var(--b-1f1e1c);color:var(--t-e5c481);background:var(--s-1f1e1c)}.admin-wedding-name{display:grid;gap:2px;min-width:0}.admin-wedding-name strong{overflow:hidden;font-size:.95rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-wedding-row:not(.today) .admin-wedding-name strong{color:var(--ink)}.admin-wedding-name small{color:var(--t-817d79);font-size:.74rem}.admin-wedding-row.today .admin-wedding-name small{color:var(--t-e5c481);opacity:.8}.admin-wedding-when{flex:0 0 auto;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.admin-wedding-row:not(.today) .admin-wedding-when{color:var(--t-79572a)}.instructor-performance-given{display:block;margin-top:3px;color:var(--t-47664d);font-size:.68rem;font-weight:700}.instructor-performance-given-total{display:flex;align-items:center;gap:7px;margin:4px 0 0;padding-top:12px;border-top:1px solid var(--b-eee8e1);color:var(--t-47664d);font-size:.74rem;font-weight:600}.instructor-performance-given-total strong{margin-left:auto;font-size:.82rem;font-weight:700}.instructor-performance-given-total svg{flex:0 0 auto}.admin-clients-header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:20px 20px 0}.admin-clients-header p{margin:0 0 4px;color:var(--t-9e7b45);font-size:.72rem;font-weight:700;letter-spacing:.12em}.admin-clients-header h1{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:2rem;font-weight:500}.admin-clients-header>span{color:var(--t-777477);font-size:.82rem;font-weight:600}.admin-client-tools{margin:20px 20px 14px}.admin-client-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.admin-client-tools label{display:block}.admin-client-tools input{width:100%;padding:13px 15px;border:1px solid var(--b-e5ddd4);border-radius:12px;outline:0;color:var(--ink);background:#fffffff0;font:inherit;font-size:.84rem}.admin-client-tools input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #cda45f1f}.admin-create-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:96px;padding:0 15px;border:0;border-radius:12px;color:var(--t-e5c481);background:var(--s-1f1e1c);font-size:.78rem;font-weight:700}.admin-client-filters{display:flex;gap:7px;margin-top:10px}.admin-client-tools .instructor-filter{margin-top:10px}.admin-unassigned-hint{display:block;width:100%;margin-top:10px;padding:9px 12px;border:1px dashed var(--b-ddd5cc);border-radius:10px;color:var(--t-8a6a34);background:var(--s-fffaf0);font:inherit;font-size:.74rem;font-weight:600;text-align:left;cursor:pointer}.admin-unassigned-hint:hover{border-style:solid}.admin-unassigned-hint:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.admin-client-filters button{padding:7px 14px;border:1px solid var(--b-e5ddd4);border-radius:18px;color:var(--t-777477);background:var(--s-fff);font-size:.74rem;font-weight:700}.admin-client-filters button.active{border-color:var(--b-171615);color:var(--t-e1bc78);background:var(--s-171615)}.admin-clients-list{overflow:hidden;margin:0 20px 20px;border-radius:20px;background:#fffffff0;box-shadow:0 10px 22px #352b1d17}.admin-client-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:11px;width:100%;min-height:68px;padding:11px 14px;border:0;border-bottom:1px solid var(--b-eee8e1);color:var(--ink);background:transparent;text-align:left}.admin-client-row.admin-person-row{grid-template-columns:40px minmax(0,1fr) 18px}.admin-client-row:last-child{border-bottom:0}.admin-client-row:hover,.admin-client-row:focus-visible{background:var(--s-fdf9f2)}.admin-client-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--t-fff);background:var(--s-232220);font-family:Bodoni Moda,Georgia,serif;font-size:.82rem;font-weight:600}.admin-client-avatar.large{width:68px;height:68px;margin:auto;border:2px solid var(--gold);font-size:1.15rem}.admin-client-row-copy{min-width:0}.admin-client-row-copy strong,.admin-client-row-copy small,.admin-client-row-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-client-row-copy strong{font-size:.87rem}.admin-client-row-copy small{margin-top:2px;color:var(--t-817d79);font-size:.7rem}.admin-client-has-photos{margin-left:6px;color:var(--t-9e7b45);vertical-align:-2px}.admin-client-login-status{color:var(--t-9a938b)!important;font-size:.64rem!important}.admin-client-row-copy em{margin-top:3px;color:var(--t-9e7b45);font-size:.67rem;font-style:normal}.admin-client-type{padding:4px 7px;border-radius:5px;color:var(--t-6f6a65);background:var(--s-f2efeb);font-size:.62rem;font-weight:700}.admin-client-type.couple,.admin-client-type.group{color:var(--t-8d6630);background:var(--s-f4e7d0)}.admin-client-status{padding:3px 7px;border-radius:999px;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.admin-client-status.active{color:var(--t-47664d);background:var(--s-eaf3eb)}.admin-client-status.inactive{color:var(--t-746e67);background:var(--s-e7e1dc)}.admin-client-row.inactive .admin-client-avatar{color:var(--t-8d8179);background:var(--s-e7e1dc)}.admin-client-row.inactive .admin-client-row-copy strong{color:var(--t-817d79);font-weight:600}.admin-client-chevron{color:var(--t-aaa39c)}.admin-clients-state{margin:0;padding:42px 20px;color:var(--t-777477);text-align:center;font-size:.86rem}.admin-clients-state.error{color:var(--t-985c52)}.admin-create-success{margin:0 20px 14px;padding:11px 14px;border:1px solid var(--b-d9c49d);border-radius:8px;color:var(--t-72552c);background:var(--s-fbf2e2);font-size:.78rem;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.admin-create-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:grid;place-items:center;padding:20px;background:#1716157a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-create-sheet,.admin-create-dialog{width:min(100%,480px);color:var(--ink);background:var(--cream);box-shadow:0 24px 60px #1a16113d}.admin-create-sheet{align-self:end;padding:10px 18px calc(20px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 8px 8px}.admin-create-sheet-handle{width:38px;height:4px;margin:0 auto 12px;border-radius:2px;background:var(--s-d3cbc2)}.admin-create-sheet header,.admin-create-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-create-sheet header{margin-bottom:8px}.admin-create-sheet h2,.admin-create-dialog h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500}.admin-create-sheet h2{font-size:1.4rem}.admin-create-sheet header button,.admin-create-dialog header button{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border:0;border-radius:50%;color:var(--t-fff);background:var(--s-222)}.admin-create-sheet>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 5px;border:0;border-top:1px solid var(--b-e6ded5);color:var(--ink);background:transparent;text-align:left}.admin-create-sheet>button span{min-width:0}.admin-create-sheet>button strong,.admin-create-sheet>button small{display:block}.admin-create-sheet>button strong{font-size:.88rem}.admin-create-sheet>button small{margin-top:3px;color:var(--t-777477);font-size:.7rem}.admin-create-dialog{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;max-height:min(760px,calc(100dvh - 40px));padding:20px;border-radius:8px}.admin-create-dialog header{margin-bottom:16px}.admin-create-dialog header p{margin:0 0 3px;color:var(--t-9e7b45);font-size:.66rem;font-weight:700;letter-spacing:.1em}.admin-create-dialog h2{font-size:1.55rem}.admin-create-dialog header button:disabled{opacity:.5}.admin-new-client-dialog{max-width:410px}.admin-new-client-intro{margin:-4px 0 15px;color:var(--t-746f69);font-size:.78rem;line-height:1.45}.admin-new-client-invitation{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:10px;margin-top:4px;padding:12px;border:1px solid var(--b-e5ddd4);border-radius:8px;background:var(--s-fcf7ee);cursor:pointer}.admin-new-client-invitation input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--t-a98043)}.admin-new-client-invitation strong,.admin-new-client-invitation small{display:block}.admin-new-client-invitation strong{color:var(--t-3d3935);font-size:.77rem}.admin-new-client-invitation small{margin-top:3px;color:var(--t-7c766f);font-size:.68rem;line-height:1.35}.admin-new-client-invitation:has(input:disabled){cursor:not-allowed;opacity:.58}.admin-new-client-success{margin:10px 0 0;padding:10px 11px;border:1px solid var(--b-d9c49d);border-radius:8px;color:var(--t-72552c);background:var(--s-fbf2e2);font-size:.74rem;font-weight:700;line-height:1.4}.admin-new-client-technical-details{margin-top:8px;color:var(--t-6e6660);font-size:.68rem}.admin-new-client-technical-details summary{cursor:pointer;color:var(--t-8d6a35);font-weight:700}.admin-new-client-technical-details p{margin:6px 0 0;overflow-wrap:anywhere}.admin-create-field{display:grid!important;gap:6px;margin-bottom:10px}.admin-create-field>span,.admin-create-field>label{color:var(--t-5f5b57);font-size:.72rem;font-weight:700}.admin-create-field>label{justify-self:start;cursor:pointer}.admin-create-field input,.admin-create-field select,.admin-create-field textarea,.admin-create-search input{width:100%;min-width:0;max-width:100%;padding:12px 13px;border:1px solid var(--b-ddd5cc);border-radius:8px;outline:0;color:var(--ink);background:var(--s-fff);font:inherit;font-size:.8rem}.admin-create-field textarea{resize:vertical}.admin-create-field.readonly input{color:var(--t-8a837c);background:var(--s-f6f2ec);cursor:not-allowed}.admin-create-field.readonly small{color:var(--t-8a837c);font-size:.72rem;font-weight:500;line-height:1.4}.admin-create-field input:focus,.admin-create-field select:focus,.admin-create-field textarea:focus,.admin-create-search input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #cda45f1f}.admin-create-field>span em,.admin-create-field>label em{color:var(--t-99918a);font-size:.64rem;font-style:normal;font-weight:500}.admin-payment-amount-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;border:1px solid var(--b-ddd5cc);border-radius:8px;background:var(--s-fff)}.admin-payment-amount-input:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #cda45f1f}.admin-payment-amount-input input{border:0;box-shadow:none!important}.admin-payment-amount-input strong{padding:0 12px;color:var(--t-8d6a35);font-size:.68rem;letter-spacing:.05em}.admin-payment-amount-help{margin:-4px 0 2px;color:var(--t-777477);font-size:.67rem;line-height:1.4}.admin-payment-amount-help.fully-paid{color:var(--t-47664d);font-weight:700}.admin-payment-date{min-height:42px;color-scheme:light;text-align:left}.admin-payment-diagnostic{margin-top:8px;padding:9px 10px;border:1px solid var(--b-ded5cc);border-radius:7px;color:var(--t-625d58);background:var(--s-f8f5f1);font-size:.67rem}.admin-payment-diagnostic summary{color:var(--t-5a5148);cursor:pointer;font-weight:700}.admin-payment-diagnostic dl{display:grid;gap:7px;margin:9px 0 0;padding-top:8px;border-top:1px solid var(--b-e5ddd5)}.admin-payment-diagnostic dl div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:7px}.admin-payment-diagnostic dt{color:var(--t-8d6a35);font-weight:700}.admin-payment-diagnostic dd{min-width:0;margin:0;overflow-wrap:anywhere}.admin-create-selection-summary{display:flex;justify-content:space-between;gap:10px;margin:11px 1px 8px}.admin-create-selection-summary strong{font-size:.74rem}.admin-create-selection-summary span{color:var(--t-8c847d);font-size:.68rem}.admin-create-client-list{overflow-y:auto;min-height:120px;border-block:1px solid var(--b-e5ddd4)}.admin-create-client-list>p{margin:0;padding:34px 12px;color:var(--t-777477);text-align:center;font-size:.78rem}.admin-create-client-list>label{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:62px;padding:10px 8px;border-bottom:1px solid var(--b-ede7e0);cursor:pointer}.admin-create-client-list>label:last-child{border-bottom:0}.admin-create-client-list>label.selected{background:var(--s-fbf3e5)}.admin-create-client-list>label.unavailable{cursor:not-allowed;opacity:.58}.admin-create-client-list input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.admin-create-client-list label>span:nth-of-type(2){min-width:0}.admin-create-client-list strong,.admin-create-client-list small,.admin-create-client-list em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-create-client-list strong{font-size:.8rem}.admin-create-client-list small{margin-top:2px;color:var(--t-7d7873);font-size:.68rem}.admin-create-client-list em{margin-top:3px;color:var(--t-9e7438);font-size:.64rem;font-style:normal;font-weight:700}.admin-create-client-list label.unavailable em{color:var(--t-985c52)}.admin-create-checkbox{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--b-cfc6bd);border-radius:4px;color:var(--t-9e7438);background:var(--s-fff)}.admin-create-client-list label.selected .admin-create-checkbox{border-color:var(--b-bf9658);background:var(--s-f7e8ce)}.admin-create-error{margin:10px 0 0;color:var(--t-985c52);font-size:.74rem;line-height:1.4}.admin-song-hint{margin:4px 0 0;color:var(--t-8a837c);font-size:.72rem;line-height:1.4}.admin-song-hint.warning{color:var(--t-985c52)}.admin-song-preview{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;margin-top:8px;padding:7px;border-radius:10px;background:var(--s-f6f2ec)}.admin-song-preview img{width:76px;height:43px;border-radius:6px;object-fit:cover;background:var(--b-ddd5cc)}.admin-song-preview>div{display:grid;min-width:0;gap:5px}.admin-song-preview strong{color:var(--ink);font-size:.76rem;font-weight:600;line-height:1.3}.admin-song-preview button{justify-self:start;padding:5px 9px;border:1px solid var(--b-ddd5cc);border-radius:6px;color:var(--t-5f5b57);background:var(--s-fff);font:inherit;font-size:.7rem;font-weight:700}.admin-song-card{margin-top:14px;background:var(--s-f6f2ec)}.admin-create-dialog footer{display:grid;flex:0 0 auto;grid-template-columns:1fr 1.5fr;gap:9px;margin-top:14px}.admin-create-dialog footer button{min-height:43px;padding:10px 12px;border-radius:8px;font-size:.76rem;font-weight:700}.admin-create-dialog footer .secondary{border:1px solid var(--b-d9d1c8);color:var(--t-514d49);background:transparent}.admin-create-dialog footer .primary{border:0;color:var(--t-e5c481);background:var(--s-1f1e1c)}.admin-create-dialog footer button:disabled{cursor:not-allowed;opacity:.45}.admin-notification-dialog{max-width:460px}.admin-notification-summary{margin:-4px 0 12px;padding:12px 13px;border:1px solid var(--b-e9dfd5);border-radius:10px;background:var(--s-faf4ea)}.admin-notification-recipient-list{display:grid;gap:8px}.admin-notification-recipient-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px}.admin-notification-recipient-item.single{grid-template-columns:32px minmax(0,1fr)}.admin-notification-recipient-item strong,.admin-notification-recipient-item small{display:block;overflow-wrap:anywhere}.admin-notification-recipient-item strong{font-size:.77rem}.admin-notification-recipient-item small{margin-top:2px;color:var(--t-777477);font-size:.67rem}.admin-notification-summary p{margin:10px 0 0;color:var(--t-8e6d45);font-size:.71rem;font-weight:700}.admin-client-avatar.tiny{width:32px;height:32px;font-size:.7rem}.admin-notification-form{display:grid;gap:12px}.admin-notification-methods{display:grid;gap:8px}.admin-notification-method{display:flex;align-items:center;gap:10px;padding:12px 11px;border:1px solid var(--b-e8ddd0);border-radius:10px;background:var(--s-fefcf9)}.admin-notification-method.selected{border-color:var(--b-d8b87d);background:var(--s-faf4ea)}.admin-notification-method.disabled{opacity:.66}.admin-notification-method input{width:18px;height:18px;margin:0;accent-color:var(--t-a98043)}.admin-notification-method strong,.admin-notification-method small{display:block}.admin-notification-method strong{font-size:.76rem}.admin-notification-method small{margin-top:2px;color:var(--t-777477);font-size:.68rem}.admin-couple-setup{max-width:440px}.admin-couple-setup>header,.admin-couple-setup>footer{flex:0 0 auto}.admin-couple-setup-body{display:flex;flex:1 1 auto;flex-direction:column;overflow-y:auto;min-height:0;margin-inline:-4px;padding-inline:4px}.admin-couple-setup-body>*{flex:0 0 auto}.admin-couple-setup .admin-create-field{margin-bottom:14px}.admin-couple-setup .admin-create-field input,.admin-couple-setup .admin-create-field select{min-height:46px}.admin-couple-setup-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:15px}.admin-couple-setup-members>span{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:9px;border:1px solid var(--b-eadfce);border-radius:8px;background:var(--s-fcf7ee)}.admin-couple-setup-members .admin-client-avatar{width:36px;height:36px;font-size:.72rem;font-style:normal}.admin-couple-setup-members strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.admin-couple-setup-state{margin:4px 0 0;color:var(--t-7e7770);font-size:.7rem;text-align:center}.admin-client-detail-overlay{position:fixed;inset:0;z-index:var(--layer-page);overflow-y:auto;background:var(--s-ece8e2)}.admin-client-detail{width:min(100%,520px);min-height:100%;margin:auto;padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(30px + env(safe-area-inset-bottom,0px));background:var(--cream)}.admin-client-detail-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:22px}.admin-client-detail-header button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;color:var(--t-fff);background:var(--s-222)}.admin-client-detail-header>span{color:var(--t-9e7b45);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-align:center}.admin-client-identity{margin-bottom:20px;text-align:center}.admin-client-identity h1{margin:10px 0 3px;font-family:Bodoni Moda,Georgia,serif;font-size:1.75rem;font-weight:500}.admin-client-identity p{margin:0;color:var(--t-777477);font-size:.8rem}.admin-client-detail-card{margin-top:14px;padding:19px;border-radius:20px;background:var(--s-fff);box-shadow:0 9px 20px #352b1d14}.admin-client-detail-card h2{margin:0 0 14px;font-family:Bodoni Moda,Georgia,serif;font-size:1.25rem;font-weight:500}.admin-client-detail-card dl{display:grid;gap:10px;margin:0}.admin-client-detail-card dl div{display:flex;justify-content:space-between;gap:14px}.admin-client-detail-card dt{color:var(--t-777477);font-size:.78rem}.admin-client-detail-card dd{margin:0;color:var(--ink);font-size:.79rem;font-weight:600;text-align:right;overflow-wrap:anywhere}.admin-detail-instructor{display:inline-flex;align-items:center;gap:7px}.admin-detail-instructor .instructor-filter-avatar{width:28px;height:28px}.admin-detail-instructor .instructor-filter-avatar.fallback{font-size:.58rem}.admin-client-empty-copy{margin:0;color:var(--t-777477);font-size:.84rem}.admin-group-members{display:grid;gap:9px}.admin-group-members article{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--s-f5ead8)}.admin-group-members article div{min-width:0}.admin-group-members strong,.admin-group-members small{display:block;overflow-wrap:anywhere}.admin-group-members strong{color:var(--t-393633);font-size:.78rem}.admin-group-members small{margin-top:2px;color:var(--t-777477);font-size:.69rem}.admin-group-members .admin-client-login-status,.admin-manage-members .admin-client-login-status{color:var(--t-918981);font-size:.64rem}.admin-couple-member-list{display:grid;gap:8px}.admin-couple-member-row{display:grid;grid-template-columns:40px minmax(0,1fr) 17px;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid var(--b-eadfce);border-radius:12px;color:var(--ink);background:var(--s-f5ead8);text-align:left}.admin-couple-member-row:hover,.admin-couple-member-row:focus-visible{border-color:var(--b-d6b983);background:var(--s-fff9ed);outline:0}.admin-couple-member-row>span:nth-child(2){min-width:0}.admin-couple-member-row strong,.admin-couple-member-row small{display:block;overflow-wrap:anywhere}.admin-couple-member-row strong{color:var(--t-393633);font-size:.78rem}.admin-couple-member-row small{margin-top:2px;color:var(--t-777477);font-size:.69rem}.admin-couple-member-row svg{color:var(--t-a58c68)}.admin-profile-memberships{display:grid;gap:8px}.admin-profile-memberships button{display:grid;grid-template-columns:auto minmax(0,1fr) auto 17px;align-items:center;gap:8px;width:100%;padding:10px;border:1px solid var(--b-eadfce);border-radius:9px;color:var(--ink);background:var(--s-fcf7ee);text-align:left}.admin-profile-memberships button:hover,.admin-profile-memberships button:focus-visible{border-color:var(--b-d6b983);background:var(--s-fff9ed)}.admin-profile-memberships strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.admin-profile-memberships small{color:var(--t-817a73);font-size:.64rem}.admin-profile-memberships svg{color:var(--t-a58c68)}.admin-manage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-manage-heading h2{margin:0}.admin-manage-heading button{display:inline-flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid var(--b-d4b77f);border-radius:7px;color:var(--t-79572a);background:var(--s-fbf0dd);font-size:.68rem;font-weight:700}.admin-manage-members{display:grid;gap:8px}.admin-manage-members article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:10px;background:var(--s-f5f1eb)}.admin-manage-members article div{min-width:0}.admin-manage-members strong,.admin-manage-members small{display:block;overflow-wrap:anywhere}.admin-manage-members strong{font-size:.76rem}.admin-manage-members small{margin-top:2px;color:var(--t-777477);font-size:.66rem}.admin-manage-members article>button{padding:6px 7px;border:0;color:var(--t-985c52);background:transparent;font-size:.66rem;font-weight:700}.admin-manage-members article>button:disabled{opacity:.45}.admin-shared-details{margin-top:16px!important;padding-top:14px;border-top:1px solid var(--b-eee8e1)}.admin-shared-details.standalone{margin-top:0!important;padding-top:0;border-top:0}.admin-session-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.admin-session-summary div,.admin-session-summary button{min-width:0;padding:12px 6px;border:0;border-radius:8px;color:var(--ink);background:var(--s-f5f1eb);text-align:center}.admin-session-summary button{border:1px solid transparent;font:inherit}.admin-session-summary button:hover,.admin-session-summary button:focus-visible{border-color:var(--b-d6b983);outline:0}.admin-session-summary button.active{border-color:var(--b-1f1e1c);color:var(--t-e5c481);background:var(--s-1f1e1c);box-shadow:0 5px 12px #1f1e1c29}.admin-session-summary strong,.admin-session-summary span{display:block}.admin-session-summary strong{font-family:Bodoni Moda,Georgia,serif;font-size:1.35rem;font-weight:500}.admin-session-summary span{margin-top:2px;color:var(--t-777477);font-size:.64rem}.admin-session-summary button.active span{color:var(--t-e5c481)}.admin-package-session-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:13px}.admin-package-session-breakdown>button{min-width:0;padding:9px 6px;border:1px solid var(--b-e4ddd5);border-radius:7px;color:var(--ink);background:var(--s-f8f5f1);font:inherit;text-align:center}.admin-package-session-breakdown>button:hover,.admin-package-session-breakdown>button:focus-visible{outline:0;box-shadow:inset 0 0 0 1px #1f1e1c29}.admin-package-session-breakdown>button.active{border-color:var(--b-1f1e1c);box-shadow:0 4px 10px #1f1e1c1f,inset 0 0 0 1px #1f1e1c}.admin-package-session-breakdown span,.admin-package-session-breakdown strong{display:block}.admin-package-session-breakdown span{overflow:hidden;color:var(--t-746d66);font-size:.59rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-package-session-breakdown strong{margin-top:4px;font-family:Bodoni Moda,Georgia,serif;font-size:1.08rem;font-weight:600}.admin-package-session-breakdown .purchased{border-color:var(--b-d8d0c8);background:var(--s-f5f2ee)}.admin-package-session-breakdown .purchased span{color:var(--t-4d4843)}.admin-package-session-breakdown .completed{border-color:var(--b-aac0ad);background:var(--s-edf5ee)}.admin-package-session-breakdown .completed span{color:var(--t-4f7255)}.admin-package-session-breakdown .scheduled{border-color:var(--b-d6b779);background:var(--s-fff8e9)}.admin-package-session-breakdown .scheduled span{color:var(--t-7c5b26)}.admin-package-session-breakdown .to-schedule{border-style:dashed;border-color:var(--b-c9c1b8);background:var(--s-fcfaf7)}.admin-package-session-breakdown .to-schedule span{color:var(--t-7c756e)}.admin-session-empty{margin:12px 0 0;padding:24px 12px;border-top:1px solid var(--b-eee8e1);color:var(--t-777477);text-align:center;font-size:.74rem}.admin-couple-session-list{display:grid;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid var(--b-eee8e1)}.admin-next-lesson{display:grid;gap:3px;margin:14px 0 0;padding-top:13px;border-top:1px solid var(--b-eee8e1)}.admin-next-lesson span{color:var(--t-9e7b45);font-size:.68rem;font-weight:700;letter-spacing:.05em}.admin-next-lesson strong{font-size:.78rem}.admin-finance-section{margin-top:22px}.admin-finance-title{padding:0 3px 2px}.admin-finance-title p{margin:0 0 4px;color:var(--t-9e7b45);font-size:.64rem;font-weight:700;letter-spacing:.11em}.admin-finance-title h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:1.48rem;font-weight:500}.admin-finance-state{margin:12px 0 0;padding:26px 18px;border-radius:12px;color:var(--t-777477);background:var(--s-fff);text-align:center;font-size:.78rem}.admin-package-card,.admin-payments-card{border:1px solid var(--b-eee5d9);border-radius:12px;box-shadow:0 8px 18px #352b1d12}.admin-payment-type-tag{color:var(--t-9e7438);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.6rem}.admin-package-card.payment-status-unpaid{border-color:var(--b-d8d0c6);background:var(--s-fcfaf7)}.admin-package-card.payment-status-partial{border-color:var(--b-d3b276);background:var(--s-fffaf0)}.admin-package-card.payment-status-paid,.admin-package-card.payment-status-overpaid,.admin-package-card.payment-status-settled{border-color:var(--b-9fb7a3);background:var(--s-f5faf5)}.admin-finance-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-finance-card-heading>div{min-width:0}.admin-finance-card-heading-actions{display:flex;flex:0 0 auto;gap:8px}.admin-finance-card-heading-actions button{display:inline-flex;align-items:center;gap:5px}.admin-finance-card-heading h3{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:1.18rem;font-weight:500}.admin-inline-adjust{margin-left:9px;padding:0;border:0;color:var(--t-79572a);background:transparent;font-size:.68rem;font-weight:700;text-decoration:underline}.admin-dialog-remove{justify-self:start;margin-top:2px;padding:8px 0;border:0;color:var(--t-984f44);background:transparent;font-size:.72rem;font-weight:700;text-decoration:underline}.admin-dialog-remove:disabled{opacity:.45}.admin-finance-dialog footer .danger{border:1px solid var(--b-984f44);color:var(--t-fff);background:var(--s-984f44)}.admin-finance-dialog footer .danger:disabled{opacity:.5}.admin-package-purchases{display:grid;gap:7px;margin-bottom:13px}.admin-package-purchases button{display:grid;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;padding:9px 10px;border:1px solid var(--b-eee8e1);border-radius:9px;color:var(--ink);background:var(--s-fff);text-align:left}.admin-package-purchases button:hover:not(:disabled),.admin-package-purchases button:focus-visible:not(:disabled){border-color:var(--b-d4b77f)}.admin-package-purchases button:disabled{cursor:default}.admin-package-purchase-index{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:var(--t-8d6630);background:var(--s-f4e7d0);font-size:.64rem;font-weight:700}.admin-package-purchase-copy{min-width:0}.admin-package-purchase-copy strong,.admin-package-purchase-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-package-purchase-copy strong{font-size:.78rem}.admin-package-purchase-copy small{margin-top:2px;color:var(--t-817d79);font-size:.67rem}.admin-payment-status-label{display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:var(--t-6f6962);font-size:.65rem;font-weight:700}.payment-status-partial .admin-payment-status-label{color:var(--t-775722)}.payment-status-paid .admin-payment-status-label,.payment-status-overpaid .admin-payment-status-label,.payment-status-settled .admin-payment-status-label,.admin-payment-status-label.settled{color:var(--t-47664d)}.admin-finance-card-heading button{padding:7px 9px;border:1px solid var(--b-d6b983);border-radius:7px;color:var(--t-79572a);background:var(--s-fbf0dd);font-size:.67rem;font-weight:700}.admin-finance-card-heading button.primary{padding:9px 11px;border-color:var(--b-1f1e1c);color:var(--t-e5c481);background:var(--s-1f1e1c)}.admin-finance-card-heading button:disabled{opacity:.45}.admin-payment-totals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;padding-top:14px;border-top:1px solid var(--b-eee6dd)}.admin-payment-totals div{padding:11px;border-radius:8px;background:var(--s-f7eedf)}.payment-status-unpaid .admin-payment-totals div{background:var(--s-f3f0ec)}.payment-status-partial .admin-payment-totals div{background:var(--s-f8ecd7)}.payment-status-paid .admin-payment-totals div,.payment-status-overpaid .admin-payment-totals div,.payment-status-settled .admin-payment-totals div{background:var(--s-eaf3eb)}.admin-payment-totals span,.admin-payment-totals strong{display:block}.admin-payment-totals span{color:var(--t-8b7658);font-size:.65rem;font-weight:700}.payment-status-unpaid .admin-payment-totals span{color:var(--t-706a64)}.payment-status-paid .admin-payment-totals span,.payment-status-overpaid .admin-payment-totals span,.payment-status-settled .admin-payment-totals span{color:var(--t-54705a)}.admin-payment-totals strong{margin-top:4px;font-family:Bodoni Moda,Georgia,serif;font-size:1rem;font-weight:600}.admin-payment-history{display:grid}.admin-payment-history>article{padding:11px 0;border-top:1px solid var(--b-eee8e1)}.admin-payment-history>article:first-child{padding-top:0;border-top:0}.admin-payment-history>article:last-child{padding-bottom:0}.admin-payment-history article>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-payment-history .admin-payment-row-heading{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:8px}.admin-payment-row-heading button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;color:var(--t-aaa29b);background:transparent}.admin-payment-row-heading button:hover,.admin-payment-row-heading button:focus-visible{color:var(--t-57514c);background:var(--s-f0ebe5);outline:0}.admin-payment-history article>div+div{margin-top:4px}.admin-payment-history strong{font-size:.8rem}.admin-payment-history span{color:var(--t-79736e);font-size:.66rem}.admin-payment-history article>div+div span:first-child{color:var(--t-9e7438);font-weight:700}.admin-payment-history p{margin:7px 0 0;color:var(--t-625d59);font-size:.69rem;line-height:1.4;overflow-wrap:anywhere}.admin-finance-feedback{margin:10px 0 0}.admin-create-success.admin-finance-feedback{padding:10px 12px}.admin-finance-dialog{max-width:430px}.admin-delete-payment-dialog{max-width:390px}.admin-delete-payment-copy{margin:0;color:var(--t-665f59);font-size:.78rem;line-height:1.5}.admin-delete-payment-dialog footer .danger{border:1px solid var(--b-984f44);color:var(--t-fff);background:var(--s-984f44)}.admin-delete-payment-dialog footer .danger:disabled{opacity:.5}.admin-couple-delete-dialog{max-width:440px}.admin-couple-delete-copy{margin:0;color:var(--t-625a55);font-size:.78rem;line-height:1.55}.admin-couple-delete-dialog footer{grid-template-columns:.8fr 1.7fr}.admin-couple-delete-dialog footer .danger{border:1px solid var(--b-984f44);color:var(--t-fff);background:var(--s-984f44)}.admin-couple-delete-dialog footer .danger:disabled{opacity:.5}.admin-couple-lesson-dialog{max-width:430px}.admin-couple-lesson-group{margin:-4px 0 14px;padding:10px 11px;border:1px solid var(--b-eadfce);border-radius:8px;color:var(--t-766c63);background:var(--s-fcf7ee);font-size:.72rem}.admin-couple-lesson-group strong{color:var(--t-393532)}.admin-couple-lesson-diagnostic{margin:-3px 0 9px;color:var(--t-756c64);font-size:.68rem;font-weight:700}.admin-couple-lesson-diagnostic.error{color:var(--t-985c52)}.admin-client-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.admin-client-actions button{padding:12px 8px;border:1px solid var(--b-ddd6ce);border-radius:10px;color:var(--t-9a9590);background:var(--s-f2efeb);font-size:.72rem;font-weight:700}.admin-client-actions button:disabled{opacity:.72}.admin-client-actions button:not(:disabled){border-color:var(--b-282624);color:var(--t-e5c481);background:var(--s-282624)}.admin-danger-zone{margin-top:16px;padding:17px;border:1px solid var(--b-e5c7c1);border-radius:10px;background:var(--s-fff8f6)}.admin-danger-zone h2{margin:0 0 5px;font-family:Bodoni Moda,Georgia,serif;font-size:1.08rem;font-weight:500}.admin-danger-zone p{margin:0 0 12px;color:var(--t-796d69);font-size:.72rem;line-height:1.45}.admin-danger-zone>button{padding:9px 11px;border:1px solid var(--b-b56f63);border-radius:7px;color:var(--t-984f44);background:var(--s-fff);font-size:.7rem;font-weight:700}.admin-dissolve-confirm{display:grid;gap:4px;padding-top:4px}.admin-dissolve-confirm>strong{color:var(--t-7e3e36);font-size:.78rem}.admin-dissolve-confirm>span{color:var(--t-8a7773);font-size:.68rem}.admin-dissolve-confirm>div{display:flex;gap:8px;margin-top:7px}.admin-dissolve-confirm button{padding:8px 10px;border:1px solid var(--b-d2c2be);border-radius:7px;color:var(--t-5d5552);background:var(--s-fff);font-size:.68rem;font-weight:700}.admin-dissolve-confirm button:last-child{border-color:var(--b-984f44);color:var(--t-fff);background:var(--s-984f44)}.admin-dissolve-confirm button:disabled{opacity:.5}@media(max-width:390px){.admin-clients-header,.admin-client-tools,.admin-clients-list,.admin-create-success{margin-inline:15px}.admin-clients-header{padding-inline:0}.admin-client-filters{overflow-x:auto;padding-bottom:2px}.admin-client-filters button{flex:0 0 auto;padding-inline:12px}.admin-client-row{grid-template-columns:38px minmax(0,1fr) auto 16px;padding-inline:11px;gap:9px}.admin-client-row.admin-person-row{grid-template-columns:38px minmax(0,1fr) 16px}.admin-manage-members article{grid-template-columns:38px minmax(0,1fr) auto;padding-inline:8px}.admin-create-trigger{min-width:88px;padding-inline:12px}.admin-create-overlay{align-items:end;padding:0}.admin-create-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px));padding:18px 15px calc(16px + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0}.admin-couple-setup-members{grid-template-columns:1fr}.admin-couple-setup>footer{grid-template-columns:1fr 1fr}.admin-couple-setup>footer button{min-height:48px}.admin-package-session-breakdown{gap:5px}.admin-package-session-breakdown>div{padding-inline:4px}.admin-package-session-breakdown strong{font-size:1rem}.admin-payment-totals strong{font-size:.92rem}}.admin-client-avatar{overflow:hidden}button.admin-client-avatar{padding:0;border:0}.admin-client-row.inactive .admin-client-avatar-photo{filter:grayscale(1);opacity:.62}.admin-extra-bonus-hours{color:var(--t-8d6a35)}.admin-couple-member{display:flex;align-items:stretch;gap:8px;border:1px solid var(--b-eadfce);border-radius:12px;background:var(--s-f5ead8)}.admin-couple-member:hover{border-color:var(--b-d6b983);background:var(--s-fff9ed)}.admin-couple-member .admin-couple-member-row{flex:1;min-width:0;border:0;border-radius:12px 0 0 12px;background:transparent}.admin-couple-member .admin-couple-member-row:hover,.admin-couple-member .admin-couple-member-row:focus-visible{border:0;background:transparent}.admin-social-links{padding:8px 10px 8px 0}.admin-social-links:before{content:"";align-self:center;width:1px;height:24px;margin-right:10px;background:var(--b-eadfce)}.admin-social-links a,.admin-social-links .social-link-missing{width:28px;height:28px}.admin-person-entry{display:flex;align-items:stretch;border-bottom:1px solid var(--b-eee8e1)}.admin-person-entry:last-child{border-bottom:0}.admin-person-entry:hover{background:var(--s-fdf9f2)}.admin-person-entry .admin-client-row{flex:1;min-width:0;border-bottom:0}.admin-person-entry .admin-client-row:hover,.admin-person-entry .admin-client-row:focus-visible{background:transparent}.admin-person-entry .admin-social-links{padding-right:14px}.admin-detail-social{justify-content:flex-end;gap:4px;margin:-4px 0}.admin-detail-social a,.admin-detail-social .social-link-missing{width:26px;height:26px}.admin-client-avatar-open{padding:0;border:0;cursor:pointer}.admin-client-photo-change{display:inline-block;margin-top:7px;padding:0;border:0;color:var(--t-8a6a34);background:transparent;font:inherit;font-size:.68rem;font-weight:700}.admin-client-photo-change:hover{text-decoration:underline}.admin-client-photo-change:disabled{opacity:.6}.packages-intro{margin:0 4px 28px;text-align:center}.packages-intro>p:first-child{margin:0;color:var(--t-9e7b45);font-size:.74rem;font-weight:700;letter-spacing:.13em}.packages-intro h1{margin:11px auto 16px;max-width:380px;font-family:Bodoni Moda,Georgia,serif;font-size:2.25rem;font-weight:500;line-height:1.08}.packages-intro>span{display:block;width:52px;height:2px;margin:0 auto 17px;background:var(--gold)}.packages-intro>p:last-child{max-width:410px;margin:0 auto;color:var(--t-625f5d);font-size:.92rem;line-height:1.55}.packages-list{display:grid;gap:16px}.package-card{position:relative;padding:25px 24px 22px;border:1px solid var(--b-eee6dc);border-radius:24px;background:#fffffff0;box-shadow:0 11px 22px #352b1d17}.package-card.popular{border-color:#cda45fb8;background:var(--s-fffdf8)}.package-card h2{margin:0 0 8px;font-family:Bodoni Moda,Georgia,serif;font-size:1.48rem;font-weight:500}.package-card h2+.package-sessions{margin:0;color:var(--t-5f5b58);font-size:.88rem;line-height:1.5}.package-price{display:flex;align-items:baseline;gap:10px;margin:12px 0 16px}.package-price strong{font-family:Bodoni Moda,Georgia,serif;font-size:1.5rem;font-weight:500;color:var(--ink);line-height:1}.package-price span{color:var(--t-89837e);font-size:.76rem}.package-card.popular .package-price strong{color:var(--t-8b6630)}.packages-extra-card{margin-top:16px;padding:20px 22px;border:1px dashed var(--b-e0d7ca);border-radius:20px;background:#ffffffa8}.packages-extra-card h2{margin:0 0 6px;font-family:Bodoni Moda,Georgia,serif;font-size:1.12rem;font-weight:500}.packages-extra-card p{margin:0;color:var(--t-625f5d);font-size:.84rem;line-height:1.5}.package-card small{display:block;padding-top:14px;border-top:1px solid var(--b-eee8e0);color:var(--t-89837e);font-size:.76rem;line-height:1.4}.package-badge{position:absolute;top:18px;right:19px;padding:5px 8px;border-radius:5px;color:var(--t-8b6630);background:var(--s-f4e7d0);font-size:.62rem;font-weight:700;letter-spacing:.07em}.packages-contact-card{margin-top:20px;padding:27px 24px 23px;border-radius:24px;color:var(--t-fff);background:var(--s-191817);box-shadow:0 13px 24px #14110e2e}.packages-contact-card h2{margin:0 0 9px;font-family:Bodoni Moda,Georgia,serif;font-size:1.42rem;font-weight:500;line-height:1.22}.packages-contact-card p{margin:0;color:#ffffffab;font-size:.84rem;line-height:1.5}.packages-contact-card button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:20px;padding:15px 17px 15px 20px;border:1px solid rgba(225,188,120,.48);border-radius:12px;color:var(--t-e1bc78);background:var(--s-090909);font-size:.78rem;font-weight:700;letter-spacing:.06em}@media(max-width:390px){.packages-intro h1{font-size:2rem}.package-card{padding-inline:20px}.package-card.popular h2{padding-right:104px}}.notification-bell{position:relative}.notification-bell-badge{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:50%;color:var(--t-131313);background:var(--gold);font-size:.68rem;font-weight:700}.notifications-sheet-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:flex;align-items:flex-end;justify-content:center;padding:0 16px;background:#110f0c8c}.notifications-sheet{display:flex;flex-direction:column;width:min(100%,520px);max-height:min(86vh,720px);padding:10px 22px calc(26px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;background:var(--cream);box-shadow:0 -20px 50px #140f0a59;animation:notifications-sheet-in .22s ease}@keyframes notifications-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.notifications-sheet-handle{display:block;flex:0 0 auto;width:42px;height:4px;margin:6px auto 14px;border-radius:4px;background:var(--s-ddd4c8)}.notifications-sheet-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;margin-bottom:4px}.notifications-sheet-header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.3rem}.notifications-sheet-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;color:var(--t-57534f);background:var(--s-f2ede6)}.notifications-mark-all{justify-self:start;margin:4px 0 12px;padding:0;border:0;background:transparent;color:var(--t-9e7b45);font-size:.78rem;font-weight:700;letter-spacing:.04em}.notifications-mark-all:disabled{color:var(--t-b9b3a9)}.notifications-scroll{display:grid;align-content:start;gap:18px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:4px}.notifications-section{display:grid;gap:10px}.notifications-section-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--t-8a8480);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.notifications-section-title span{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--gold);color:var(--t-131313);font-size:.68rem;letter-spacing:0}.notifications-list{display:grid;gap:10px}.notification-item{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:14px;border:1px solid var(--b-ece4d9);border-radius:18px;background:var(--s-fff);text-align:left;transition:border-color .15s ease,background .15s ease}.notification-item:hover,.notification-item:focus-visible{border-color:var(--gold);background:var(--s-fffaf0)}.notification-item.unread{border-color:var(--b-e6cd9a);background:var(--s-fffaf0)}.notification-item.needs-confirmation{border-color:var(--b-d8b465);background:linear-gradient(180deg,var(--s-fffaf0) 0%,var(--s-fdf3e0) 100%);box-shadow:inset 3px 0 0 var(--gold)}.notification-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--gold)}.notification-item:not(.unread):not(.needs-confirmation) .notification-dot{visibility:hidden}.notification-copy{display:grid;gap:4px;min-width:0}.notification-copy strong{font-size:.93rem;color:var(--ink);font-weight:700}.notification-copy p{margin:0;color:var(--t-615e5b);font-size:.85rem;line-height:1.4;overflow-wrap:anywhere}.notification-copy time{color:var(--t-98938d);font-size:.72rem}.notification-status{justify-self:start;margin-top:3px;padding:3px 9px;border-radius:999px;background:var(--s-f0e0bd);color:var(--t-7a5c1c);font-size:.68rem;font-style:normal;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.notification-row{position:relative;border-radius:18px;overflow:hidden}.notification-row-actions{position:absolute;inset:0 0 0 auto;display:flex}.notification-row-actions button{display:grid;place-items:center;align-content:center;gap:4px;flex:1 1 auto;border:0;background:var(--s-efe5d5);color:var(--t-5b503f);font-size:.68rem;font-weight:700;letter-spacing:.03em}.notification-row-actions button.danger{background:var(--s-efdcd6);color:var(--t-8a3d28)}.notification-row-surface{position:relative;display:flex;align-items:stretch;background:var(--cream);touch-action:pan-y}.notification-row-surface .notification-item{flex:1 1 auto;padding-right:44px}.notification-row-overflow{position:absolute;top:8px;right:6px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--t-8d857c)}.notification-row-overflow:hover,.notification-row-overflow:focus-visible{background:var(--s-f2ede6);color:var(--ink)}.notification-details-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:flex;align-items:flex-end;justify-content:center;background:#110f0c8c}.notification-details-sheet{display:grid;gap:12px;width:min(100%,520px);max-height:88vh;overflow-y:auto;padding:10px 22px calc(24px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;background:var(--cream);box-shadow:0 -20px 50px #140f0a59;animation:notifications-sheet-in .22s ease}.notification-details-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notification-details-sheet header p{margin:0 0 2px;color:var(--t-9c958c);font-size:.66rem;font-weight:700;letter-spacing:.14em}.notification-details-sheet header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.22rem;line-height:1.25}.notification-details-sheet header button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:0;border-radius:50%;color:var(--t-57534f);background:var(--s-f2ede6)}.notification-details-body{margin:0;color:var(--t-4f4b47);font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.notification-details-time{margin:0;color:var(--t-98938d);font-size:.74rem}.notification-details-actions{display:grid;gap:8px}.notification-details-actions button{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--b-ece4d9);border-radius:16px;background:var(--s-fff);color:var(--ink);text-align:left}.notification-details-actions button span{display:grid;gap:2px;min-width:0}.notification-details-actions button strong{font-size:.9rem}.notification-details-actions button small{color:var(--t-837d76);font-size:.74rem}.notification-details-actions .notification-details-delete{color:var(--t-8a3d28);border-color:var(--b-ecd9d2)}.notification-details-actions .notification-details-delete small{color:var(--t-a8705e)}.notification-details-close{width:100%;padding:13px;border:0;border-radius:16px;background:var(--ink);color:var(--cream);font-size:.85rem;font-weight:700;letter-spacing:.06em}.needs-confirmation-reschedule{display:grid;gap:10px;margin-top:4px}.needs-confirmation-reschedule label{display:grid;gap:5px}.needs-confirmation-reschedule label span{color:var(--t-7c766f);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.needs-confirmation-reschedule input{width:100%;padding:11px 12px;border:1px solid var(--b-e3dacd);border-radius:13px;background:var(--s-fff);color:var(--ink);font:inherit;font-size:.9rem}.needs-confirmation-reschedule footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}.needs-confirmation-reschedule footer button{padding:12px;border:0;border-radius:14px;font-size:.85rem;font-weight:700}.needs-confirmation-reschedule footer .secondary{border:1px solid var(--b-e3dacd);background:var(--s-fff);color:var(--ink)}.needs-confirmation-reschedule footer .primary{background:var(--ink);color:var(--cream)}.needs-confirmation-reschedule footer .danger{background:var(--s-8a3d28);color:var(--t-fff)}.notifications-empty-state{display:grid;justify-items:center;gap:8px;padding:46px 10px;color:var(--t-82807d);text-align:center}.notifications-empty-state strong{font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.15rem;color:var(--ink)}@media(max-width:390px){.notifications-sheet,.notification-details-sheet{padding-inline:17px}.notification-row-actions button{font-size:.63rem}}.settings-sheet-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:flex;align-items:flex-end;justify-content:center;background:#110f0c8c}.settings-sheet{display:grid;align-content:start;gap:18px;width:min(100%,520px);max-height:88vh;overflow-y:auto;overscroll-behavior:contain;padding:10px 22px calc(26px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;background:var(--cream);box-shadow:0 -20px 50px #140f0a59;animation:notifications-sheet-in .22s ease}.settings-sheet>header{display:flex;align-items:center;justify-content:space-between}.settings-sheet>header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.3rem;color:var(--ink)}.settings-sheet>header button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;color:var(--t-57534f);background:var(--s-f2ede6)}.settings-group{display:grid;gap:10px}.settings-group-title{margin:0;color:var(--t-8a8480);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.settings-hint{margin:0;color:var(--t-98938d);font-size:.74rem}.settings-theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;border:1px solid var(--b-ece4d9);border-radius:18px;background:var(--s-fff)}.settings-theme-options button{display:grid;justify-items:center;gap:5px;padding:12px 6px;border:1px solid transparent;border-radius:14px;color:var(--t-615e5b);background:transparent;font-size:.76rem;font-weight:600}.settings-theme-options button.selected{border-color:var(--gold);color:var(--ink);background:var(--s-fffaf0)}.settings-row{display:grid;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;padding:14px 15px;border:1px solid var(--b-ece4d9);border-radius:18px;color:var(--ink);background:var(--s-fff);text-align:left}.settings-row span{display:grid;gap:2px;min-width:0}.settings-row strong{font-size:.9rem}.settings-row small{color:var(--t-837d76);font-size:.74rem;overflow-wrap:anywhere}.settings-row-signout{color:var(--t-8a3d28);border-color:var(--b-ecd9d2)}.settings-row-toggle{grid-template-columns:20px minmax(0,1fr) auto}.settings-row-static{grid-template-columns:20px minmax(0,1fr)}.settings-switch{position:relative;flex:0 0 auto;width:44px;height:26px;padding:0;border:1px solid var(--b-ded5ca);border-radius:13px;background:var(--s-f1ece5);transition:background .18s ease,border-color .18s ease}.settings-switch span{position:absolute;top:2px;left:2px;display:block;width:20px;height:20px;border-radius:50%;background:var(--s-fff);box-shadow:0 1px 3px #28211840;transition:transform .18s ease}.settings-switch.on{border-color:var(--gold);background:var(--s-e1bd7f)}.settings-switch.on span{transform:translate(18px)}.settings-switch:disabled{opacity:.55}.settings-row-signout small{color:var(--t-a8705e)}.settings-dialog-overlay{position:fixed;inset:0;z-index:var(--layer-modal);display:grid;align-items:end;padding:16px;background:#110f0c99}.settings-dialog{display:grid;gap:12px;width:min(100%,440px);max-height:calc(100dvh - 32px);overflow-y:auto;margin:0 auto;padding:18px 20px calc(18px + env(safe-area-inset-bottom,0px));border-radius:20px;color:var(--ink);background:var(--cream);box-shadow:0 24px 60px #1a161147}.settings-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-dialog header p{margin:0 0 2px;color:var(--t-9c958c);font-size:.66rem;font-weight:700;letter-spacing:.14em}.settings-dialog header h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-weight:500;font-size:1.2rem}.settings-dialog header button{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:0;border-radius:50%;color:var(--t-57534f);background:var(--s-f2ede6)}.settings-dialog-copy{margin:0;color:var(--t-615e5b);font-size:.87rem;line-height:1.5}.settings-dialog footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.settings-dialog footer button{padding:13px;border:0;border-radius:14px;font-size:.84rem;font-weight:700}.settings-dialog footer .secondary{border:1px solid var(--b-e3dacd);background:transparent;color:var(--ink)}.settings-dialog footer .primary{background:var(--ink);color:var(--cream)}.settings-dialog footer .danger{background:var(--s-8a3d28);color:var(--t-fff)}.settings-dialog footer button:disabled{opacity:.6}.settings-message{display:flex;align-items:center;gap:8px;margin:0;font-size:.82rem;line-height:1.4}.settings-message.error{color:var(--t-984f44)}.settings-message.success{color:var(--t-4c7a52)}@media(max-width:390px){.settings-sheet{padding-inline:17px}.settings-dialog-overlay{padding:0}.settings-dialog{width:100%;border-radius:16px 16px 0 0;padding-inline:16px}.settings-theme-options button{font-size:.72rem}}.settings-build{margin:14px 4px 0;color:var(--t-aaa39c);font-size:.68rem;text-align:center;letter-spacing:.02em}:root{color-scheme:only light;--ink: #111112;--muted: #777477;--gold: #cda45f;--cream: #fbf9f5;--b-131313: #131313;--b-171615: #171615;--b-1f1e1c: #1f1e1c;--b-282624: #282624;--b-984f44: #984f44;--b-9e7438: #9e7438;--b-9fb7a3: #9fb7a3;--b-aaa198: #aaa198;--b-aac0ad: #aac0ad;--b-b56f63: #b56f63;--b-b88b45: #b88b45;--b-b9afa8: #b9afa8;--b-bcb4ac: #bcb4ac;--b-bdb5ad: #bdb5ad;--b-bf9658: #bf9658;--b-c6a46c: #c6a46c;--b-c9c1b8: #c9c1b8;--b-cda45f: #cda45f;--b-cfc6bd: #cfc6bd;--b-d2af70: #d2af70;--b-d2c2be: #d2c2be;--b-d3b276: #d3b276;--b-d4b77f: #d4b77f;--b-d4ccc4: #d4ccc4;--b-d5b06c: #d5b06c;--b-d5b77f: #d5b77f;--b-d6b779: #d6b779;--b-d6b983: #d6b983;--b-d6bd8c: #d6bd8c;--b-d8b465: #d8b465;--b-d8bf93: #d8bf93;--b-d8d0c6: #d8d0c6;--b-d8d0c8: #d8d0c8;--b-d9c49d: #d9c49d;--b-d9d1c8: #d9d1c8;--b-ddd5cc: #ddd5cc;--t-d6cec4: #d6cec4;--b-ddd6ce: #ddd6ce;--b-ded5ca: #ded5ca;--b-ded5cc: #ded5cc;--b-e2cfad: #e2cfad;--b-e3d0ad: #e3d0ad;--b-e3d7c4: #e3d7c4;--b-e3dacd: #e3dacd;--b-e4cfaa: #e4cfaa;--b-e4ddd5: #e4ddd5;--b-e5c7c1: #e5c7c1;--b-e5ddd4: #e5ddd4;--b-e5ddd5: #e5ddd5;--b-e6cd9a: #e6cd9a;--b-e6ddd0: #e6ddd0;--b-e6ded5: #e6ded5;--b-e6dfd8: #e6dfd8;--b-e7dfd7: #e7dfd7;--b-e9e2d9: #e9e2d9;--b-eadfce: #eadfce;--b-ecd9d2: #ecd9d2;--b-ece4d9: #ece4d9;--b-ece4dc: #ece4dc;--b-ece5dd: #ece5dd;--b-ece5de: #ece5de;--b-ede7e0: #ede7e0;--b-eee5d9: #eee5d9;--b-eee5da: #eee5da;--b-eee6dc: #eee6dc;--b-eee6dd: #eee6dd;--b-eee7df: #eee7df;--b-eee8e0: #eee8e0;--b-eee8e1: #eee8e1;--b-eee9e4: #eee9e4;--s-000: #000;--s-090909: #090909;--s-111112: #111112;--s-131313: #131313;--s-171615: #171615;--s-191817: #191817;--s-1f1e1c: #1f1e1c;--s-222: #222;--s-232220: #232220;--s-24211f: #24211f;--s-252321: #252321;--s-262320: #262320;--s-282522: #282522;--s-282624: #282624;--s-8a3d28: #8a3d28;--s-984f44: #984f44;--s-9b4139: #9b4139;--s-cda45f: #cda45f;--s-d3cbc2: #d3cbc2;--s-d6ae69: #d6ae69;--s-d8b878: #d8b878;--s-dbc69e: #dbc69e;--s-ddd4c8: #ddd4c8;--s-e1bd7f: #e1bd7f;--s-e7e1dc: #e7e1dc;--s-e7e6e4: #e7e6e4;--s-e9e5df: #e9e5df;--s-eaf3eb: #eaf3eb;--s-2f6b46: #2f6b46;--s-ebe5df: #ebe5df;--s-ece4d9: #ece4d9;--s-ece8e2: #ece8e2;--s-edf5ee: #edf5ee;--s-eee6d8: #eee6d8;--s-eef5ea: #eef5ea;--s-efdcd6: #efdcd6;--s-efe5d5: #efe5d5;--s-f0e0bd: #f0e0bd;--s-f0ebe5: #f0ebe5;--s-f1e7d5: #f1e7d5;--s-f2ede6: #f2ede6;--s-f2efeb: #f2efeb;--s-f3e8d6: #f3e8d6;--s-f3f0ec: #f3f0ec;--s-f3f0ed: #f3f0ed;--s-f4e7d0: #f4e7d0;--s-f4efe8: #f4efe8;--s-f4f0eb: #f4f0eb;--s-f5e8d2: #f5e8d2;--s-f5ead7: #f5ead7;--s-f5ead8: #f5ead8;--s-f5f1eb: #f5f1eb;--s-f5f2ee: #f5f2ee;--s-f5faf5: #f5faf5;--s-f6f3ef: #f6f3ef;--s-f7e8ce: #f7e8ce;--s-f7eedf: #f7eedf;--s-f7efe0: #f7efe0;--s-f8e7ca: #f8e7ca;--s-f8e9ce: #f8e9ce;--s-f8ecd7: #f8ecd7;--s-f8f5f1: #f8f5f1;--s-fbeceb: #fbeceb;--s-fbf0dd: #fbf0dd;--s-fbf2e2: #fbf2e2;--s-fbf3e5: #fbf3e5;--s-fbf5e9: #fbf5e9;--s-fbf9f5: #fbf9f5;--s-fcf4e7: #fcf4e7;--s-fcf7ee: #fcf7ee;--s-fcfaf7: #fcfaf7;--s-fdf3e0: #fdf3e0;--s-fdf7ee: #fdf7ee;--s-fdf9f2: #fdf9f2;--s-fdfbf8: #fdfbf8;--s-fff: #fff;--s-fff8e9: #fff8e9;--s-fff8eb: #fff8eb;--s-fff8f6: #fff8f6;--s-fff9ed: #fff9ed;--s-fffaf0: #fffaf0;--s-fffdf8: #fffdf8;--t-000: #000;--t-111112: #111112;--t-131313: #131313;--t-2b2825: #2b2825;--t-2d2b2b: #2d2b2b;--t-302d2a: #302d2a;--t-393532: #393532;--t-393633: #393633;--t-3d3935: #3d3935;--t-3e3a36: #3e3a36;--t-47664d: #47664d;--t-4a6b46: #4a6b46;--t-4d4843: #4d4843;--t-4f4b47: #4f4b47;--t-4f7255: #4f7255;--t-514d49: #514d49;--t-54705a: #54705a;--t-57514c: #57514c;--t-57524e: #57524e;--t-57534f: #57534f;--t-5a5148: #5a5148;--t-5b503f: #5b503f;--t-5d5552: #5d5552;--t-5d5956: #5d5956;--t-5e5852: #5e5852;--t-5e5954: #5e5954;--t-5f5b57: #5f5b57;--t-5f5b58: #5f5b58;--t-615952: #615952;--t-615e5b: #615e5b;--t-625a55: #625a55;--t-625d58: #625d58;--t-625d59: #625d59;--t-625f5d: #625f5d;--t-665f59: #665f59;--t-67615d: #67615d;--t-676569: #676569;--t-69635e: #69635e;--t-696666: #696666;--t-6e6660: #6e6660;--t-6f6962: #6f6962;--t-6f6963: #6f6963;--t-6f6a65: #6f6a65;--t-6f8f5f: #6f8f5f;--t-70552d: #70552d;--t-706a64: #706a64;--t-72552c: #72552c;--t-74511f: #74511f;--t-746d66: #746d66;--t-746e67: #746e67;--t-746f69: #746f69;--t-756c64: #756c64;--t-76582b: #76582b;--t-766b64: #766b64;--t-766c63: #766c63;--t-775722: #775722;--t-77716b: #77716b;--t-77716c: #77716c;--t-777477: #777477;--t-79572a: #79572a;--t-796d69: #796d69;--t-79736e: #79736e;--t-7a5c1c: #7a5c1c;--t-7b6a50: #7b6a50;--t-7c5b26: #7c5b26;--t-7c7065: #7c7065;--t-7c756e: #7c756e;--t-7c766f: #7c766f;--t-7d7873: #7d7873;--t-7d7a78: #7d7a78;--t-7e3e36: #7e3e36;--t-7e7770: #7e7770;--t-817a73: #817a73;--t-817d79: #817d79;--t-82807d: #82807d;--t-837d76: #837d76;--t-89837e: #89837e;--t-898582: #898582;--t-8a3d28: #8a3d28;--t-8a6731: #8a6731;--t-8a6a34: #8a6a34;--t-8a7773: #8a7773;--t-8a837c: #8a837c;--t-8a8480: #8a8480;--t-8b6630: #8b6630;--t-8b7658: #8b7658;--t-8b8781: #8b8781;--t-8c847d: #8c847d;--t-8c8783: #8c8783;--t-8c8b8d: #8c8b8d;--t-8d3b34: #8d3b34;--t-8d6630: #8d6630;--t-8d6a35: #8d6a35;--t-8d8179: #8d8179;--t-8d857c: #8d857c;--t-918981: #918981;--t-918a83: #918a83;--t-918d89: #918d89;--t-927548: #927548;--t-984f44: #984f44;--t-985c52: #985c52;--t-98938d: #98938d;--t-99918a: #99918a;--t-9a938b: #9a938b;--t-9a9590: #9a9590;--t-9c958c: #9c958c;--t-9d958d: #9d958d;--t-9e7438: #9e7438;--t-9e7b45: #9e7b45;--t-9f9790: #9f9790;--t-a34f44: #a34f44;--t-a57c3c: #a57c3c;--t-a58c68: #a58c68;--t-a67938: #a67938;--t-a8705e: #a8705e;--t-a98043: #a98043;--t-a9a4a0: #a9a4a0;--t-aaa29b: #aaa29b;--t-aaa39c: #aaa39c;--t-b7b2ac: #b7b2ac;--t-b9b3a9: #b9b3a9;--t-cdc7bd: #cdc7bd;--t-e1bc78: #e1bc78;--t-e2ba73: #e2ba73;--t-e2bd7d: #e2bd7d;--t-e5c481: #e5c481;--t-ebe5df: #ebe5df;--t-fff: #fff}:root[data-theme=dark]{color-scheme:dark;--ink: #f1e9dd;--muted: #a9a29a;--gold: #d8b87c;--cream: #171614;--b-131313: #312d2a;--b-171615: #312d2a;--b-1f1e1c: #312d2a;--b-282624: #312d2a;--b-984f44: #92534a;--b-9e7438: #997645;--b-9fb7a3: #1d201e;--b-aaa198: #36322e;--b-aac0ad: #1f211f;--b-b56f63: #ae7368;--b-b88b45: #b38d54;--b-b9afa8: #221f1d;--b-bcb4ac: #22201d;--b-bdb5ad: #22201d;--b-bf9658: #ba9764;--b-c6a46c: #b69a6b;--b-c9c1b8: #24211f;--b-cda45f: #bb9960;--b-cfc6bd: #24221f;--b-d2af70: #b79a66;--b-d2c2be: #24221f;--b-d3b276: #b69a69;--b-d4b77f: #b39b6d;--b-d4ccc4: #252220;--b-d5b06c: #b89a62;--b-d5b77f: #b49b6d;--b-d6b779: #b49b68;--b-d6b983: #b39b6f;--b-d6bd8c: #b09c74;--b-d8b465: #b89a5a;--b-d8bf93: #b09c78;--b-d8d0c6: #252320;--b-d8d0c8: #262320;--b-d9c49d: #24221f;--b-d9d1c8: #262321;--b-ddd5cc: #262321;--t-d6cec4: #383431;--b-ddd6ce: #262421;--b-ded5ca: #262321;--b-ded5cc: #262421;--b-e2cfad: #252320;--b-e3d0ad: #252320;--b-e3d7c4: #262421;--b-e3dacd: #262421;--b-e4cfaa: #252320;--b-e4ddd5: #272422;--b-e5c7c1: #262221;--b-e5ddd4: #272422;--b-e5ddd5: #272422;--b-e6cd9a: #b09c73;--b-e6ddd0: #272522;--b-e6ded5: #272522;--b-e6dfd8: #272522;--b-e7dfd7: #272522;--b-e9e2d9: #282523;--b-eadfce: #272522;--b-ecd9d2: #282423;--b-ece4d9: #282523;--b-ece4dc: #282523;--b-ece5dd: #282523;--b-ece5de: #282523;--b-ede7e0: #282623;--b-eee5d9: #282523;--b-eee5da: #282523;--b-eee6dc: #282523;--b-eee6dd: #282523;--b-eee7df: #282623;--b-eee8e0: #282623;--b-eee8e1: #282623;--b-eee9e4: #282623;--s-000: #0b0b0b;--s-090909: #0b0b0b;--s-111112: #111112;--s-131313: #131313;--s-171615: #171615;--s-191817: #191817;--s-1f1e1c: #1f1e1c;--s-222: #222222;--s-232220: #232220;--s-24211f: #24211f;--s-252321: #252321;--s-262320: #262320;--s-282522: #282522;--s-282624: #282624;--s-8a3d28: #86402d;--s-984f44: #955147;--s-9b4139: #97453d;--s-cda45f: #caa566;--s-d3cbc2: #0d0a07;--s-d6ae69: #d3af70;--s-d8b878: #d1b379;--s-dbc69e: #0b0906;--s-ddd4c8: #0f0c09;--s-e1bd7f: #d3b27a;--s-e7e1dc: #120f0c;--s-e7e6e4: #13100d;--s-e9e5df: #130f0c;--s-eaf3eb: #15120f;--s-2f6b46: #2f6b46;--s-ebe5df: #13100d;--s-ece4d9: #120f0c;--s-ece8e2: #13100d;--s-edf5ee: #16130f;--s-eee6d8: #12100c;--s-eef5ea: #16120f;--s-efdcd6: #120e0c;--s-efe5d5: #12100c;--s-f0e0bd: #110f0b;--s-f0ebe5: #14110e;--s-f1e7d5: #12100d;--s-f2ede6: #15110e;--s-f2efeb: #15120f;--s-f3e8d6: #13110d;--s-f3f0ec: #15120f;--s-f3f0ed: #15120f;--s-f4e7d0: #13100d;--s-f4efe8: #15120f;--s-f4f0eb: #15120f;--s-f5e8d2: #13110d;--s-f5ead7: #13110e;--s-f5ead8: #13110e;--s-f5f1eb: #15120f;--s-f5f2ee: #16130f;--s-f5faf5: #171411;--s-f6f3ef: #161310;--s-f7e8ce: #13110d;--s-f7eedf: #14120e;--s-f7efe0: #14120f;--s-f8e7ca: #13110d;--s-f8e9ce: #13110d;--s-f8ecd7: #14120e;--s-f8f5f1: #161310;--s-fbeceb: #15120f;--s-fbf0dd: #15130f;--s-fbf2e2: #15130f;--s-fbf3e5: #151310;--s-fbf5e9: #161310;--s-fbf9f5: #171411;--s-fcf4e7: #161310;--s-fcf7ee: #171411;--s-fcfaf7: #181411;--s-fdf3e0: #151310;--s-fdf7ee: #171411;--s-fdf9f2: #171411;--s-fdfbf8: #181512;--s-fff: #191612;--s-fff8e9: #161411;--s-fff8eb: #171411;--s-fff8f6: #171411;--s-fff9ed: #171411;--s-fffaf0: #181411;--s-fffdf8: #181512;--t-000: #efeae6;--t-111112: #d2cec9;--t-131313: #d1ccc8;--t-2b2825: #bfbab6;--t-2d2b2b: #bdb8b4;--t-302d2a: #bbb7b2;--t-393532: #bbb6b2;--t-393633: #bbb6b2;--t-3d3935: #bbb6b2;--t-3e3a36: #b8b5b2;--t-47664d: #a2b6a5;--t-4a6b46: #83a27f;--t-4d4843: #b6b3af;--t-4f4b47: #b5b2af;--t-4f7255: #81a286;--t-514d49: #b5b2af;--t-54705a: #a2b4a5;--t-57514c: #b5b1ad;--t-57524e: #b4b1ae;--t-57534f: #b4b1ae;--t-5a5148: #b7b0aa;--t-5b503f: #b8b1a5;--t-5d5552: #b5b0ad;--t-5d5956: #b2b0ae;--t-5e5852: #b4b0ac;--t-5e5954: #b3b0ac;--t-5f5b57: #b2afad;--t-5f5b58: #b2afad;--t-615952: #b5afaa;--t-615e5b: #b1afad;--t-625a55: #b4afab;--t-625d58: #b2afac;--t-625d59: #b2afac;--t-625f5d: #b1afae;--t-665f59: #b3aeaa;--t-67615d: #b2aeab;--t-676569: #afaeb0;--t-69635e: #b2aeaa;--t-696666: #b0aeae;--t-6e6660: #b2ada9;--t-6f6962: #b1ada8;--t-6f6963: #b1ada9;--t-6f6a65: #b0adaa;--t-6f8f5f: #85a377;--t-70552d: #ae946f;--t-706a64: #b1ada9;--t-72552c: #af936d;--t-74511f: #b49266;--t-746d66: #b1aca8;--t-746e67: #b0aca8;--t-746f69: #afaca8;--t-756c64: #b2aca7;--t-76582b: #b0936a;--t-766b64: #b3aca7;--t-766c63: #b2aca6;--t-775722: #b29364;--t-77716b: #afaca8;--t-77716c: #afaca8;--t-777477: #adabad;--t-79572a: #b39269;--t-796d69: #b3aba8;--t-79736e: #afaba8;--t-7a5c1c: #b1945e;--t-7b6a50: #b7ac9b;--t-7c5b26: #b29364;--t-7c7065: #b3aba4;--t-7c756e: #afaba6;--t-7c766f: #afaba6;--t-7d7873: #aeaba7;--t-7d7a78: #acaaa9;--t-7e3e36: #c6857c;--t-7e7770: #afaaa6;--t-817a73: #aeaaa6;--t-817d79: #acaaa7;--t-82807d: #abaaa8;--t-837d76: #aeaaa5;--t-89837e: #aca9a6;--t-898582: #aba9a7;--t-8a3d28: #ce826d;--t-8a6731: #b39262;--t-8a6a34: #b19363;--t-8a7773: #b4a8a5;--t-8a837c: #ada9a4;--t-8a8480: #aca8a6;--t-8b6630: #b59262;--t-8b7658: #b6a996;--t-8b8781: #aba9a5;--t-8c847d: #ada8a4;--t-8c8783: #aba8a6;--t-8c8b8d: #a9a8a9;--t-8d3b34: #d07f76;--t-8d6630: #b69161;--t-8d6a35: #b39263;--t-8d8179: #b0a8a3;--t-8d857c: #ada8a3;--t-918981: #ada8a3;--t-918a83: #aca8a3;--t-918d89: #aaa7a5;--t-927548: #af946b;--t-984f44: #ca8377;--t-985c52: #c1887e;--t-98938d: #aaa6a3;--t-99918a: #aba6a2;--t-9a938b: #aba6a1;--t-9a9590: #a9a6a3;--t-9c958c: #aaa6a0;--t-9d958d: #aba6a1;--t-9e7438: #b8915c;--t-9e7b45: #b39262;--t-9f9790: #aaa5a1;--t-a34f44: #d07f73;--t-a57c3c: #b79159;--t-a58c68: #b5a590;--t-a67938: #b99057;--t-a8705e: #be8a79;--t-a98043: #b7915b;--t-a9a4a0: #a9a4a0;--t-aaa29b: #a8a49f;--t-aaa39c: #a8a4a0;--t-b7b2ac: #b7b2ac;--t-b9b3a9: #b9b3a9;--t-cdc7bd: #cdc7bd;--t-e1bc78: #debd80;--t-e2ba73: #dfbb7c;--t-e2bd7d: #dfbe85;--t-e5c481: #e2c589;--t-ebe5df: #ebe5df;--t-fff: #fff}:root{--t-4c7a52: #4c7a52}:root[data-theme=dark]{--t-4c7a52: #86b78c}:root[data-theme=dark] .notification-bell-badge,:root[data-theme=dark] .admin-bell-badge,:root[data-theme=dark] .notifications-section-title span{color:#1a1611}.sidebar-brand,.guest-hero-photo{display:none}@media(min-width:900px){:root{--sidebar-width: 246px}.dashboard-page.has-rail{padding-left:var(--sidebar-width)}.mobile-canvas.viewer-client{width:min(100%,780px)}.dashboard-page{background:var(--cream)}.mobile-canvas{background:transparent;width:min(100%,1060px);min-height:100vh;margin:0 auto;padding:34px 40px 72px;border-radius:0;box-shadow:none}.ambient-stripes{display:none}.bottom-navigation{left:0;top:0;bottom:0;width:var(--sidebar-width);height:100vh;transform:none;flex-direction:column;justify-content:flex-start;gap:3px;padding:26px 16px;border-right:1px solid var(--b-ece4d9);border-radius:0;box-shadow:none}.bottom-navigation button{grid-template-columns:26px minmax(0,1fr);justify-items:start;align-items:center;gap:13px;width:100%;min-width:0;padding:11px 13px;border-radius:13px;font-size:.86rem;text-align:left}.bottom-navigation button:hover{background:#cda45f17}.bottom-navigation button.active{background:#cda45f29}.bottom-navigation button.active:after{display:none}.sidebar-brand{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;margin:4px 4px 22px}.sidebar-brand img{width:34px;height:34px;object-fit:contain}.sidebar-brand strong{color:var(--ink);font-size:.74rem;font-weight:700;letter-spacing:.13em;line-height:1.25;text-transform:uppercase}.topbar button,.topbar-direction-button{width:46px;height:46px}.topbar button svg,.topbar-direction-button svg{width:20px;height:20px}.client-topbar{min-height:46px}.view-as-banner{left:calc(var(--sidebar-width) + 50%)}.guest-welcome-card{max-width:560px;margin:4px auto 0;padding:46px 42px 36px}.brand-header{margin:30px 0 8px}.client-topbar,.admin-topbar{justify-content:flex-end;gap:16px}.auth-card{max-width:480px;margin-inline:auto}.brand-header+.auth-card,.auth-topbar~.auth-card{margin-top:0}.packages-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.packages-wide-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.packages-wide-row>*{margin-top:24px}.packages-intro{margin-top:12px}}@media(min-width:1100px){.admin-today-list,.admin-today-gaps,.admin-today-holds,.admin-wedding-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-today-holds>.admin-today-lead{grid-column:1 / -1}.admin-clients-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-client-row:nth-last-child(-n+2){border-bottom:0}.admin-client-row:nth-child(odd):not(:last-child){border-right:1px solid var(--b-eee8e1)}.admin-calendar-layout{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:start;gap:22px;margin:18px 20px 24px}.admin-calendar-layout>.admin-calendar-card,.admin-calendar-layout>.admin-day-schedule{margin:0}}@media(min-width:1200px){.guest-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;min-height:calc(100vh - 190px)}.guest-hero-copy{display:grid;align-content:center}.guest-welcome-card{margin-top:4px}.brand-header{margin:0 0 6px}.brand-mark{width:128px;height:128px}.guest-hero-photo{display:block;align-self:stretch;min-height:460px;border-radius:34px;background-image:url(/images/wedding-hero-wide.webp);background-position:100% 34%;background-size:cover;box-shadow:0 18px 40px #1e191338}}@media(min-width:1240px){.packages-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.pull-refresh-indicator{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:50%;z-index:var(--layer-refresh);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--t-131313);background:var(--cream, var(--s-fbf9f5));box-shadow:0 10px 24px #1e191338,0 0 0 1px #cda45f59;pointer-events:none;will-change:transform,opacity}.pull-refresh-indicator[data-visible=false]{visibility:hidden}.pull-refresh-indicator.refreshing,.pull-refresh-indicator.done,.pull-refresh-indicator.idle{transition:transform .28s ease,opacity .28s ease}.pull-refresh-ring{position:absolute;inset:3px;border:1.5px solid transparent;border-top-color:var(--gold, var(--b-cda45f));border-radius:50%;opacity:.9}.pull-refresh-indicator.ready .pull-refresh-ring{border-color:var(--gold, var(--b-cda45f))}.pull-refresh-indicator.refreshing .pull-refresh-ring{animation:pull-refresh-spin .8s linear infinite}.pull-refresh-indicator.refreshing svg{animation:pull-refresh-spin 1s linear infinite}.pull-refresh-indicator.done{color:var(--t-6f8f5f)}.pull-refresh-indicator.done .pull-refresh-ring{border-color:var(--gold, var(--b-cda45f));animation:pull-refresh-pop .4s ease}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}@keyframes pull-refresh-pop{0%{transform:scale(.8);opacity:.4}60%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:.9}}@media(prefers-reduced-motion:reduce){.pull-refresh-indicator.refreshing .pull-refresh-ring,.pull-refresh-indicator.refreshing svg,.pull-refresh-indicator.done .pull-refresh-ring{animation:none}}.pull-refresh-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip-path:inset(50%);white-space:nowrap}:root{--layer-nav: 10;--layer-refresh: 55;--layer-page: 70;--layer-modal: 100}*{box-sizing:border-box}html{height:100%;background:var(--s-e9e5df)}body,#root{min-width:320px;min-height:100%}body{margin:0;background:var(--s-e9e5df);overscroll-behavior-y:contain;font-family:DM Sans,sans-serif;color:var(--ink)}button{font:inherit;cursor:pointer}.session-number{display:block;color:var(--t-9e7438);font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.calendar-today-button{flex:0 0 auto;padding:6px 11px;border:1px solid var(--b-d5b77f);border-radius:999px;color:var(--t-76582b);background:var(--s-fffaf0);font:inherit;font-size:.68rem;font-weight:700;letter-spacing:.04em}.calendar-today-button:hover{border-color:var(--b-9e7438);background:var(--s-fbf0dd)}.calendar-today-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.session-schedule-hint{display:block;margin-top:5px;color:var(--t-817d79);font-size:.66rem;line-height:1.35}input[type=date]{-webkit-appearance:none;appearance:none;width:100%;min-width:0;padding-right:38px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23817d79" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></svg>');background-repeat:no-repeat;background-position:right 12px center;background-size:18px 18px;text-align:left}input[type=date]::-webkit-calendar-picker-indicator{opacity:0}input[type=date]::-webkit-date-and-time-value{margin:0;text-align:left}.session-schedule-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.session-schedule-label{display:grid;gap:5px;min-width:0;margin-bottom:10px}select.time-field{width:100%;min-width:0}.privacy-sheet{max-height:86vh;overflow-y:auto;overscroll-behavior:contain}.privacy-body h2{margin:0 0 8px;font-family:Bodoni Moda,Georgia,serif;font-size:1.6rem;font-weight:500;line-height:1.15}.privacy-lead{margin:0 0 20px;color:var(--t-625f5d);font-size:.95rem;line-height:1.5}.privacy-body section{padding-top:16px;border-top:1px solid var(--b-eee8e0)}.privacy-body section h3{margin:0 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t-9e7b45)}.privacy-body section p{margin:0;color:var(--t-52504d);font-size:.88rem;line-height:1.6}.marketing-consent-sheet{width:min(100%,460px);padding:26px 24px calc(26px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;background:var(--cream)}.marketing-consent-body{display:grid;justify-items:start;gap:12px}.marketing-consent-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--t-8a6a34);background:var(--s-f4e7d0)}.marketing-consent-body h2{margin:0;font-family:Bodoni Moda,Georgia,serif;font-size:1.55rem;font-weight:500;line-height:1.15}.marketing-consent-body>p{margin:0;color:var(--t-52504d);font-size:.9rem;line-height:1.55}.marketing-consent-privacy{padding:0;border:0;color:var(--t-8a6a34);background:transparent;font:inherit;font-size:.8rem;font-weight:700;text-decoration:underline}.marketing-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:6px}.marketing-consent-actions button{min-height:46px;padding:12px;border:1px solid var(--b-ded5ca);border-radius:12px;color:var(--ink);background:var(--s-fff);font:inherit;font-size:.82rem;font-weight:700}.marketing-consent-actions button:last-child{border-color:var(--gold);color:var(--t-8a6a34);background:var(--s-fffaf0)}.marketing-consent-actions button:disabled{opacity:.55}.marketing-consent-body small{color:var(--t-837d76);font-size:.74rem;line-height:1.4}.package-progress-position{display:block;margin-bottom:3px;font-weight:700}
