:root{font-family:Inter,SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18352f;background:#d8ddd8;font-synthesis:none;text-rendering:optimizeLegibility;--forest-950: #102e29;--forest-900: #173c35;--forest-800: #214b43;--forest-700: #2c5a50;--sage-500: #809b89;--sage-300: #b9c9bd;--sage-200: #d6dfd8;--sage-100: #e9eee9;--ivory-50: #f8f7f2;--ivory-100: #f4f2ec;--ivory-200: #ebe8df;--gold-400: #c8a96d;--ink: #18352f;--muted: #667972;--danger: #a54c42;--shadow: 0 24px 64px rgba(16, 46, 41, .11), 0 2px 10px rgba(16, 46, 41, .05)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{background:#d8ddd8}body{min-width:320px;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.8),transparent 28%),#d8ddd8;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--forest-900)}.brand-symbol{position:relative;display:inline-block;width:29px;height:29px;flex:0 0 29px;border:2px solid currentColor;border-radius:50%}.brand-symbol:before,.brand-symbol:after,.brand-symbol span{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--gold-400);transform:translate(-50%,-50%)}.brand-symbol:before{transform:translate(-50%,-50%) rotate(0) translateY(-10px)}.brand-symbol:after{transform:translate(-50%,-50%) rotate(120deg) translateY(-10px)}.brand-symbol span:first-child{transform:translate(-50%,-50%) rotate(240deg) translateY(-10px)}.brand-symbol span:last-child{width:8px;height:8px;background:currentColor}.brand-name{font-size:20px;font-weight:680;letter-spacing:-.7px}.brand-name span{color:var(--sage-500);font-weight:500}.launch-screen{min-height:100vh;min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:30px;background:var(--ivory-100)}.launch-screen .brand-name{font-size:29px}.launch-screen .brand-symbol{width:38px;height:38px;flex-basis:38px}.launch-pulse{width:32px;height:2px;border-radius:999px;background:var(--sage-200);overflow:hidden}.launch-pulse:after{content:"";display:block;width:55%;height:100%;background:var(--forest-800);animation:launch 1.15s ease-in-out infinite alternate}@keyframes launch{0%{transform:translate(-70%)}to{transform:translate(150%)}}.login-screen{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--forest-950)}.login-ambient{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.login-ambient-one{width:360px;height:360px;top:-230px;right:-130px;border:1px solid rgba(200,169,109,.22);box-shadow:0 0 0 50px #c8a96d06,0 0 0 105px #c8a96d05}.login-ambient-two{width:240px;height:240px;left:-175px;top:24%;background:#809b891a}.login-panel{position:relative;display:flex;flex:1;flex-direction:column;min-height:100vh;min-height:100dvh;padding:max(28px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));color:#fff}.login-brand{display:flex;align-items:center;justify-content:space-between}.login-brand .brand-lockup{color:#fff}.login-brand>span{color:var(--sage-300);font-size:9px;letter-spacing:1.8px;font-weight:650}.login-copy{margin-top:clamp(66px,13vh,120px)}.section-kicker{display:inline-block;color:var(--sage-500);font-size:10px;font-weight:720;letter-spacing:1.55px;line-height:1.4;text-transform:uppercase}.login-copy .section-kicker{color:var(--gold-400)}.login-copy h1,.selection-copy h1,.today-hero h1,.secondary-title h1{margin:10px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,10vw,52px);font-weight:400;line-height:1.02;letter-spacing:-1.7px}.login-copy p{max-width:380px;margin:0;color:#e9eee9b3;font-size:14px;line-height:1.65}.login-form{display:grid;gap:17px;margin-top:36px}.field{display:grid;gap:8px}.field>span{color:#ffffffad;font-size:11px;font-weight:600;letter-spacing:.45px}.field-control{display:flex;align-items:center;min-height:54px;padding:0 14px;color:#fff;border:1px solid rgba(214,223,216,.21);border-radius:14px;background:#ffffff0b;transition:border-color .16s ease,background .16s ease}.field-control:focus-within{border-color:#c8a96db3;background:#ffffff13}.field-control input{width:100%;min-width:0;color:inherit;border:0;outline:0;background:transparent;font-size:15px}.field-control input::placeholder{color:#ffffff54}.field-control>svg{flex:0 0 auto;margin-right:11px;color:var(--sage-300)}.code-control input{letter-spacing:7px;font-size:20px;font-weight:650}.icon-button{display:grid;flex:0 0 36px;width:36px;height:36px;padding:0;place-items:center;color:#ffffff8c;border:0;background:transparent}.form-error{padding:11px 13px;color:#ffd8d1;border:1px solid rgba(255,151,137,.25);border-radius:11px;background:#a54c422e;font-size:12px;line-height:1.5}.primary-button{display:flex;align-items:center;justify-content:space-between;min-height:55px;margin-top:3px;padding:0 17px 0 20px;color:var(--forest-950);border:0;border-radius:14px;background:#dfe8df;box-shadow:0 14px 34px #00000029;font-size:13px;font-weight:720}.primary-button:disabled{cursor:not-allowed;opacity:.48}.login-footnote{margin:auto 0 0;padding-top:36px;color:#fff6;font-size:10px;line-height:1.5;text-align:center}.selection-screen{min-height:100vh;min-height:100dvh;padding:max(30px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom));background:var(--ivory-100)}.selection-copy{margin-top:64px}.selection-copy h1{max-width:400px;color:var(--forest-950);font-size:39px}.selection-copy p{color:var(--muted);font-size:13px;line-height:1.6}.workspace-list{display:grid;gap:10px;margin-top:35px}.workspace-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:15px;color:var(--ink);border:1px solid var(--sage-200);border-radius:16px;background:#ffffffbf;text-align:left}.workspace-icon{display:grid;width:44px;height:44px;place-items:center;color:#fff;border-radius:13px;background:var(--forest-800)}.workspace-card>span:nth-child(2){display:grid;gap:4px}.workspace-card strong{font-size:13px}.workspace-card small{color:var(--sage-500);font-size:10px}.empty-access{margin-top:34px;padding:24px;border:1px solid var(--sage-200);border-radius:17px;background:#fff}.empty-access p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.text-button{display:flex;align-items:center;gap:8px;margin:28px auto 0;padding:10px;color:var(--muted);border:0;background:transparent;font-size:12px}.mobile-frame{position:relative;width:100%;min-height:100vh;min-height:100dvh;margin:0 auto;overflow:hidden;background:var(--ivory-100)}.app-header{position:sticky;z-index:20;top:0;display:flex;min-height:calc(70px + env(safe-area-inset-top));align-items:flex-end;justify-content:space-between;gap:16px;padding:max(13px,env(safe-area-inset-top)) 18px 13px;border-bottom:1px solid rgba(23,60,53,.1);background:#f4f2ecf0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header .brand-name{font-size:18px}.app-header .brand-symbol{width:25px;height:25px;flex-basis:25px}.context-selectors{display:flex;align-items:center;gap:6px}.context-selectors label{position:relative;display:grid;gap:1px;text-align:right}.selector-eyebrow{padding-right:4px;color:var(--sage-500);font-size:7px;font-weight:750;letter-spacing:1px;text-transform:uppercase}.context-selectors select{max-width:130px;min-height:26px;padding:0 20px 0 5px;color:var(--forest-800);border:0;outline:0;background:transparent;font-size:10px;font-weight:650;text-align:right}.app-content{min-height:calc(100dvh - 144px);padding-bottom:calc(88px + env(safe-area-inset-bottom))}.bottom-navigation{position:fixed;z-index:30;right:0;bottom:0;left:0;display:flex;width:100%;min-height:calc(69px + env(safe-area-inset-bottom));margin:0 auto;padding:7px 6px env(safe-area-inset-bottom);border-top:1px solid rgba(23,60,53,.1);background:#faf9f5f5;box-shadow:0 -8px 30px #102e290e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bottom-nav-item{position:relative;display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#89968f;text-decoration:none;font-size:9px;font-weight:560;transition:color .16s ease}.bottom-nav-icon{display:grid;width:34px;height:30px;place-items:center;border-radius:12px;transition:color .16s ease,background .16s ease}.bottom-nav-item.is-active{color:var(--forest-900);font-weight:700}.bottom-nav-item.is-active .bottom-nav-icon{color:#fff;background:var(--forest-800)}.today-page{padding-bottom:20px}.today-hero{position:relative;padding:29px 20px 59px;overflow:hidden;color:#fff;border-radius:0 0 28px 28px;background:radial-gradient(circle at 91% 5%,rgba(200,169,109,.17),transparent 29%),linear-gradient(145deg,var(--forest-950),var(--forest-800));box-shadow:0 18px 35px #102e2921}.today-hero:after{content:"";position:absolute;right:-62px;bottom:-95px;width:210px;height:210px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 32px #ffffff05,0 0 0 70px #ffffff03}.hero-eyebrow{display:flex;align-items:center;gap:7px;color:var(--gold-400);font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.today-hero h1{position:relative;z-index:1;margin-top:13px;font-size:34px;letter-spacing:-1.2px}.today-hero>p{position:relative;z-index:1;max-width:325px;margin:0;color:#e9eee9ad;font-size:12px;line-height:1.55}.date-switcher{position:absolute;z-index:2;right:20px;bottom:-30px;left:20px;display:grid;grid-template-columns:42px 1fr 42px;min-height:67px;align-items:center;border:1px solid rgba(23,60,53,.1);border-radius:17px;background:#fbfaf6;box-shadow:var(--shadow)}.date-switcher button{display:grid;width:34px;height:34px;margin:auto;padding:0;place-items:center;color:var(--sage-500);border:0;border-radius:50%;background:transparent}.date-switcher div{display:grid;gap:3px;color:var(--forest-950);text-align:center}.date-switcher strong{font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:500;text-transform:capitalize}.date-switcher span{color:var(--sage-500);font-size:9px;font-weight:650;letter-spacing:.45px;text-transform:uppercase}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:54px 14px 0}.summary-card{display:flex;min-width:0;min-height:108px;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;border:1px solid rgba(23,60,53,.1);border-radius:15px;background:#ffffffbf}.summary-icon{display:grid;width:30px;height:30px;margin-bottom:7px;place-items:center;color:var(--forest-800);border-radius:10px;background:var(--sage-100)}.summary-card strong{color:var(--forest-950);font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:500;line-height:1}.summary-card>span:last-child{max-width:100%;margin-top:5px;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.agenda-section{padding:31px 16px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.section-heading h2{margin:5px 0 0;color:var(--forest-950);font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;letter-spacing:-.7px}.section-count{display:grid;width:29px;height:29px;place-items:center;color:var(--forest-800);border:1px solid var(--sage-200);border-radius:50%;background:#fff;font-size:10px;font-weight:750}.appointment-list{display:grid;gap:9px}.appointment-card{display:grid;grid-template-columns:52px 3px 1fr;min-height:126px;overflow:hidden;border:1px solid rgba(23,60,53,.1);border-radius:17px;background:#ffffffd1;box-shadow:0 7px 22px #102e2909}.appointment-time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 4px;color:var(--forest-900)}.appointment-time strong{font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:500}.appointment-time span{color:var(--sage-500);font-size:9px}.appointment-accent{width:3px;margin:14px 0;border-radius:99px}.appointment-content{min-width:0;padding:13px 14px}.appointment-topline{display:flex;justify-content:flex-end;min-height:20px}.status-pill{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;color:#657870;border-radius:99px;background:var(--sage-100);font-size:8px;font-weight:720;letter-spacing:.25px;text-transform:uppercase}.status-checked_in{color:#826b38;background:#f4ecd9}.status-in_service,.status-checkout_pending{color:#326055;background:#dce9e2}.status-finished{color:#61716a;background:#eaedeb}.appointment-content h3{margin:1px 0 3px;overflow:hidden;color:var(--forest-950);font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:500;letter-spacing:-.35px;text-overflow:ellipsis;white-space:nowrap}.appointment-content>p{margin:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.appointment-meta{display:flex;min-width:0;flex-wrap:wrap;gap:7px 12px;margin-top:12px}.appointment-meta span{display:flex;min-width:0;align-items:center;gap:5px;color:#7a8983;font-size:9px}.appointment-meta svg{flex:0 0 auto;color:var(--sage-500)}.state-card{margin:54px 16px 0;padding:28px 22px;border:1px solid var(--sage-200);border-radius:18px;background:#ffffffc7;text-align:center}.state-card strong{display:block;color:var(--forest-900);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:500}.state-card p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.error-state button{margin-top:16px;padding:9px 14px;color:#fff;border:0;border-radius:10px;background:var(--forest-800);font-size:11px;font-weight:650}.empty-day{margin:0}.empty-icon{display:grid;width:48px;height:48px;margin:0 auto 13px;place-items:center;color:var(--forest-700);border-radius:15px;background:var(--sage-100)}.skeleton-stack{padding:53px 14px 20px}.skeleton-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.skeleton{border-radius:15px;background:linear-gradient(100deg,#d9ded899 30%,#f5f6f2e6,#d9ded899 70%);background-size:300% 100%;animation:shimmer 1.4s infinite}.summary-skeleton{height:108px}.title-skeleton{width:58%;height:26px;margin:31px 2px 15px}.appointment-skeleton{height:126px;margin-top:9px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.secondary-page{min-height:calc(100dvh - 144px);padding:34px 17px}.secondary-title{padding:0 4px}.secondary-title h1{margin-bottom:8px;color:var(--forest-950);font-size:34px}.secondary-title p{max-width:400px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.coming-card,.settings-card{margin-top:32px;overflow:hidden;border:1px solid var(--sage-200);border-radius:19px;background:#fffc}.coming-card{padding:27px 22px}.coming-card>span{display:grid;width:52px;height:52px;margin-bottom:20px;place-items:center;color:var(--gold-400);border-radius:16px;background:var(--forest-900)}.coming-card strong{display:block;color:var(--forest-950);font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:500}.coming-card p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.profile-row,.settings-row{display:flex;align-items:center;gap:13px;padding:16px;border-bottom:1px solid var(--sage-100)}.profile-avatar{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;color:#fff;border-radius:15px;background:var(--forest-800)}.profile-row>span:last-child,.settings-row>span{display:grid;gap:4px}.profile-row strong,.settings-row strong{color:var(--forest-900);font-size:12px}.profile-row small,.settings-row small{color:var(--muted);font-size:9px}.settings-row>svg{color:var(--sage-500)}.logout-row{display:flex;width:100%;min-height:52px;align-items:center;gap:11px;padding:0 16px;color:var(--danger);border:0;background:transparent;font-size:11px;font-weight:650}@media(min-width:700px){.login-screen,.selection-screen,.launch-screen,.mobile-frame{max-width:430px;margin:0 auto;box-shadow:0 0 0 1px #102e290f,var(--shadow)}.bottom-navigation{max-width:430px}}@media(max-height:690px){.login-copy{margin-top:42px}.login-form{margin-top:25px;gap:12px}.field-control,.primary-button{min-height:49px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.agenda-page{min-height:calc(100dvh - 140px);padding-bottom:22px;background:var(--ivory-100)}.agenda-hero{position:relative;padding:25px 17px 17px;overflow:hidden;color:#fff;border-radius:0 0 26px 26px;background:radial-gradient(circle at 88% 0,rgba(200,169,109,.18),transparent 28%),linear-gradient(148deg,#102e29,#1f4a41);box-shadow:0 16px 34px #102e2924}.agenda-hero:after{content:"";position:absolute;right:-88px;bottom:-125px;width:250px;height:250px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 36px #ffffff05,0 0 0 78px #ffffff03;pointer-events:none}.agenda-title-row,.agenda-month-row,.agenda-date-strip{position:relative;z-index:1}.agenda-title-row{display:flex;align-items:flex-end;justify-content:space-between}.agenda-title-row .section-kicker{color:var(--gold-400)}.agenda-title-row h1{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:400;letter-spacing:-1.2px}.new-appointment-button{display:flex;min-height:38px;align-items:center;gap:6px;padding:0 13px;color:var(--forest-950);border:0;border-radius:12px;background:#e3e9df;font-size:10px;font-weight:760}.agenda-month-row{display:grid;grid-template-columns:32px 1fr 32px auto;align-items:center;gap:3px;margin-top:20px}.agenda-month-row>button:not(.today-shortcut){display:grid;width:31px;height:31px;padding:0;place-items:center;color:#ffffffb8;border:0;border-radius:50%;background:#fff1}.agenda-month-row strong{padding-left:7px;font-size:11px;font-weight:680;text-transform:capitalize}.today-shortcut{min-height:29px;padding:0 10px;color:var(--gold-400);border:1px solid rgba(200,169,109,.25);border-radius:9px;background:#c8a96d12;font-size:9px;font-weight:700}.agenda-date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:15px}.agenda-date-strip button{position:relative;display:flex;min-width:0;min-height:66px;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;color:#ffffff94;border:1px solid transparent;border-radius:13px;background:transparent}.agenda-date-strip button.is-selected{color:var(--forest-950);border-color:#ffffff57;background:#f4f2ec;box-shadow:0 9px 20px #05141126}.agenda-date-strip span{overflow:hidden;font-size:7px;font-weight:650;text-overflow:ellipsis;text-transform:uppercase}.agenda-date-strip strong{margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:500}.agenda-date-strip i{display:grid;min-width:13px;height:13px;margin-top:2px;padding:0 3px;place-items:center;color:#ffffffb3;border-radius:99px;font-size:7px;font-style:normal}.agenda-date-strip button.is-selected i.has-events{color:#fff;background:var(--forest-800)}.agenda-date-strip button:not(.is-selected) i.has-events{background:#ffffff1c}.agenda-controls{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:10px;padding:15px 15px 10px}.agenda-view-toggle{display:flex;padding:3px;border:1px solid var(--sage-200);border-radius:11px;background:#ffffffb3}.agenda-view-toggle button{min-height:30px;padding:0 12px;color:var(--sage-500);border:0;border-radius:8px;background:transparent;font-size:9px;font-weight:680}.agenda-view-toggle button.is-active{color:#fff;background:var(--forest-800);box-shadow:0 5px 12px #102e2921}.professional-filter{display:flex;min-width:0;max-width:190px;min-height:38px;align-items:center;gap:6px;padding:0 8px;color:var(--forest-700);border:1px solid var(--sage-200);border-radius:11px;background:#ffffffb8}.professional-filter select{min-width:0;max-width:145px;color:var(--forest-900);border:0;outline:0;background:transparent;font-size:9px;font-weight:650}.agenda-filter-strip{display:flex;align-items:center;gap:6px;padding:2px 15px 8px;overflow-x:auto;scrollbar-width:none}.agenda-filter-strip::-webkit-scrollbar{display:none}.agenda-filter-strip>svg{flex:0 0 auto;color:var(--sage-500)}.agenda-filter-strip button{flex:0 0 auto;min-height:29px;padding:0 10px;color:#73867e;border:1px solid var(--sage-200);border-radius:99px;background:#ffffff9e;font-size:8px;font-weight:650}.agenda-filter-strip button.is-active{color:var(--forest-900);border-color:#9fb2a5;background:var(--sage-100)}.agenda-day-section,.week-summary{padding:21px 15px 12px}.agenda-day-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.agenda-day-heading .section-kicker{text-transform:capitalize}.agenda-day-heading h2{margin:4px 0 0;color:var(--forest-950);font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;letter-spacing:-.65px;text-transform:capitalize}.agenda-day-heading>span{display:grid;width:30px;height:30px;place-items:center;color:var(--forest-800);border:1px solid var(--sage-200);border-radius:50%;background:#fff;font-size:9px;font-weight:750}.agenda-timeline{display:grid;gap:8px}.agenda-event{display:grid;grid-template-columns:52px 3px minmax(0,1fr);min-height:122px;padding:0;overflow:hidden;color:inherit;border:1px solid rgba(23,60,53,.1);border-radius:17px;background:#ffffffd1;box-shadow:0 7px 22px #102e2909;text-align:left}.agenda-event-time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.agenda-event-time strong{color:var(--forest-900);font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:500;white-space:nowrap}.agenda-event-time small{color:var(--sage-500);font-size:8px}.agenda-event>i{width:3px;margin:14px 0;border-radius:99px}.agenda-event-body{display:flex;min-width:0;flex-direction:column;padding:13px}.agenda-event-status{align-self:flex-end;min-height:19px;padding:4px 8px;color:#60766e;border-radius:99px;background:var(--sage-100);font-size:7px;font-weight:750;letter-spacing:.3px;text-transform:uppercase}.agenda-event-body>strong{margin-top:2px;overflow:hidden;color:var(--forest-950);font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.agenda-event-body>small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.agenda-event-body>em{display:flex;min-width:0;flex-wrap:wrap;gap:7px 10px;margin-top:12px;color:#788b83;font-size:8px;font-style:normal}.agenda-event-body>em span{display:flex;min-width:0;align-items:center;gap:4px}.agenda-empty{padding:34px 22px;border:1px dashed #c7d2c9;border-radius:18px;background:#ffffff80;text-align:center}.agenda-empty>span{display:grid;width:48px;height:48px;margin:0 auto 13px;place-items:center;color:var(--forest-700);border-radius:15px;background:var(--sage-100)}.agenda-empty strong{display:block;color:var(--forest-900);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:500}.agenda-empty p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.agenda-empty button{display:inline-flex;min-height:36px;align-items:center;gap:6px;margin-top:16px;padding:0 13px;color:#fff;border:0;border-radius:11px;background:var(--forest-800);font-size:9px;font-weight:700}.week-summary-list{display:grid;gap:7px}.week-summary-list>button{display:grid;grid-template-columns:76px 1fr 25px auto;min-height:58px;align-items:center;gap:9px;padding:9px 12px;color:inherit;border:1px solid rgba(23,60,53,.1);border-radius:14px;background:#ffffffbf;text-align:left}.week-day-label{display:grid;gap:3px}.week-day-label strong{color:var(--forest-900);font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:500;text-transform:capitalize}.week-day-label small{color:var(--sage-500);font-size:8px}.week-bar{height:5px;overflow:hidden;border-radius:99px;background:var(--sage-100)}.week-bar i{display:block;min-width:2px;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage-500),var(--forest-700))}.week-total{color:var(--forest-800);font-size:10px;font-weight:750;text-align:center}.agenda-skeleton{display:grid;gap:9px;padding:20px 15px}.agenda-filter-skeleton{width:65%;height:31px}.agenda-event-skeleton{height:122px}.agenda-error{margin-top:25px}.agenda-error>svg{margin-bottom:10px;color:var(--sage-500)}.agenda-toast{position:fixed;z-index:95;right:14px;bottom:calc(82px + env(safe-area-inset-bottom));left:14px;display:flex;max-width:402px;min-height:50px;align-items:center;justify-content:space-between;gap:10px;margin:auto;padding:11px 13px;border-radius:13px;box-shadow:var(--shadow);font-size:10px}.agenda-toast.is-error{color:#7e352e;border:1px solid #e9c7c1;background:#fff1ee}.agenda-toast button{color:inherit;border:0;background:transparent;font-size:9px;font-weight:750}.sheet-backdrop{position:fixed;z-index:80;inset:0;background:#081c187a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sheet-fade .18s ease-out}.appointment-sheet,.appointment-form-sheet{position:fixed;z-index:81;right:0;bottom:0;left:0;width:min(100%,430px);max-height:min(88dvh,770px);margin:0 auto;overflow-y:auto;color:var(--ink);border-radius:25px 25px 0 0;background:#f8f7f2;box-shadow:0 -18px 60px #0718153d;animation:sheet-up .22s cubic-bezier(.2,.75,.3,1)}.appointment-sheet{padding:9px 17px calc(22px + env(safe-area-inset-bottom))}.sheet-grabber{width:39px;height:4px;margin:0 auto 11px;border-radius:99px;background:#c8d1ca}.sheet-header,.form-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-header h2,.form-sheet-header h2{margin:4px 0 0;color:var(--forest-950);font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500;letter-spacing:-.6px}.sheet-close{display:grid;width:38px;height:38px;flex:0 0 38px;padding:0;place-items:center;color:var(--forest-700);border:1px solid var(--sage-200);border-radius:50%;background:#ffffffb8}.appointment-sheet-status{display:flex;align-items:center;gap:6px;margin-top:16px;padding:11px 13px;color:var(--sage-500);border:1px solid var(--sage-200);border-radius:12px;background:#ffffffad;font-size:9px}.appointment-sheet-status strong{color:var(--forest-700)}.appointment-sheet-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.appointment-sheet-details>div{display:flex;min-width:0;min-height:70px;align-items:flex-start;gap:9px;padding:12px;border:1px solid rgba(23,60,53,.09);border-radius:13px;background:#ffffffa3}.appointment-sheet-details svg{flex:0 0 auto;color:var(--sage-500)}.appointment-sheet-details span{display:grid;min-width:0;gap:4px}.appointment-sheet-details small,.appointment-notes small{color:var(--sage-500);font-size:7px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.appointment-sheet-details strong{overflow:hidden;color:var(--forest-900);font-size:9px;line-height:1.4;text-overflow:ellipsis}.appointment-notes{margin-top:9px;padding:12px 13px;border-radius:13px;background:var(--ivory-200)}.appointment-notes p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.sheet-actions{display:grid;gap:6px;margin-top:15px}.sheet-action{display:flex;min-height:46px;align-items:center;justify-content:space-between;padding:0 14px;color:var(--forest-800);border:1px solid var(--sage-200);border-radius:12px;background:#ffffffbf;font-size:10px;font-weight:680}.sheet-action.is-primary{color:#fff;border-color:var(--forest-800);background:var(--forest-800)}.sheet-action.is-danger{color:var(--danger)}.sheet-action:disabled{opacity:.5}.sheet-confirmation{margin-top:15px;padding:15px;border:1px solid #e7c7c2;border-radius:14px;background:#fff4f1}.sheet-confirmation>strong{color:#713d36;font-size:11px}.sheet-confirmation>p{margin:7px 0 0;color:#8d645e;font-size:9px;line-height:1.5}.sheet-confirmation textarea{width:100%;min-height:84px;margin-top:10px;padding:10px;resize:vertical;color:var(--forest-900);border:1px solid #e1c1bb;border-radius:10px;outline:0;background:#fff;font-size:10px}.sheet-confirmation>div{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.sheet-confirmation button{min-height:35px;padding:0 11px;color:#75534d;border:1px solid #e2c9c4;border-radius:9px;background:#fff;font-size:8px;font-weight:700}.sheet-confirmation .danger-button{color:#fff;border-color:var(--danger);background:var(--danger)}.sheet-confirmation button:disabled{opacity:.45}.form-backdrop{background:#081c1894}.appointment-form-sheet{display:flex;height:min(92dvh,800px);max-height:none;flex-direction:column;overflow:hidden}.form-sheet-header{flex:0 0 auto;padding:16px 16px 12px}.form-sheet-header>div{flex:1}.form-sheet-header h2{font-size:21px}.form-step-indicator{display:grid;width:38px;height:29px;flex:0 0 38px;place-items:center;color:var(--forest-700);border-radius:99px;background:var(--sage-100);font-size:8px;font-weight:750}.form-progress{display:grid;grid-template-columns:repeat(4,1fr);flex:0 0 auto;gap:4px;padding:0 16px 12px}.form-progress span{height:3px;border-radius:99px;background:var(--sage-200)}.form-progress span.is-active{background:var(--forest-700)}.form-sheet-body{flex:1;min-height:0;padding:5px 16px 20px;overflow-y:auto}.form-step{display:grid;gap:14px}.form-step-copy{display:flex;align-items:flex-start;gap:11px;padding:14px;color:var(--forest-700);border-radius:15px;background:var(--sage-100)}.form-step-copy>svg{flex:0 0 auto}.form-step-copy h3{margin:0;color:var(--forest-900);font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:500}.form-step-copy p{margin:5px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.agenda-search{display:flex;min-height:48px;align-items:center;gap:9px;padding:0 12px;color:var(--sage-500);border:1px solid var(--sage-200);border-radius:12px;background:#fff}.agenda-search input{width:100%;min-width:0;color:var(--forest-900);border:0;outline:0;background:transparent;font-size:11px}.inline-loading,.availability-loading{display:flex;min-height:46px;align-items:center;justify-content:center;gap:8px;color:var(--sage-500);font-size:9px}.spin{animation:agenda-spin .9s linear infinite}.contact-results,.professional-options{display:grid;gap:7px}.contact-results button,.professional-options button{display:grid;grid-template-columns:auto 1fr auto;min-height:58px;align-items:center;gap:10px;padding:9px 11px;color:inherit;border:1px solid var(--sage-200);border-radius:13px;background:#ffffffb8;text-align:left}.contact-results button.is-selected,.professional-options button.is-selected{border-color:var(--forest-700);background:#edf2ed;box-shadow:0 0 0 1px #2c5a501f}.contact-result-avatar{display:grid;width:36px;height:36px;place-items:center;color:#fff;border-radius:12px;background:var(--forest-700);font-family:Georgia,Times New Roman,serif;font-size:15px}.contact-results button>span:nth-child(2),.professional-options button>span:nth-child(2){display:grid;min-width:0;gap:4px}.contact-results strong,.professional-options strong{overflow:hidden;color:var(--forest-900);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.contact-results small,.professional-options small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.contact-results em{padding:4px 7px;color:var(--forest-700);border-radius:99px;background:var(--sage-100);font-size:7px;font-style:normal;font-weight:700}.professional-color{width:10px;height:38px;border-radius:99px}.professional-options svg{color:var(--forest-700)}.agenda-field,.equipment-options{display:grid;gap:7px}.agenda-field>span,.equipment-options>span{color:var(--sage-500);font-size:8px;font-weight:720;letter-spacing:.55px;text-transform:uppercase}.agenda-field select,.agenda-field input,.agenda-field textarea{width:100%;min-height:48px;padding:0 12px;color:var(--forest-900);border:1px solid var(--sage-200);border-radius:12px;outline:0;background:#fff;font-size:10px}.agenda-field textarea{min-height:90px;padding-top:11px;resize:vertical}.agenda-field select:disabled{color:var(--muted);background:var(--sage-100)}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.slot-grid button{min-height:42px;color:var(--forest-800);border:1px solid var(--sage-200);border-radius:11px;background:#fff;font-size:9px;font-weight:680}.slot-grid button.is-selected{color:#fff;border-color:var(--forest-700);background:var(--forest-700)}.no-slots,.inline-error{padding:12px;border-radius:11px;font-size:9px;line-height:1.5}.no-slots{color:var(--muted);background:var(--sage-100);text-align:center}.inline-error{color:#833f37;border:1px solid #eccbc5;background:#fff1ee}.equipment-options label{display:flex;min-height:48px;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--sage-200);border-radius:11px;background:#fff}.equipment-options input{accent-color:var(--forest-700)}.equipment-options label>span{display:grid;gap:3px}.equipment-options strong{color:var(--forest-900);font-size:9px}.equipment-options small{color:var(--muted);font-size:7px}.appointment-review{display:grid;gap:5px;padding:14px;color:var(--muted);border:1px solid #ccd8cf;border-radius:14px;background:#edf2ed}.appointment-review span{font-size:9px}.appointment-review strong{color:var(--forest-900);font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:500}.appointment-review small{color:var(--forest-700);font-size:9px;text-transform:capitalize}.form-sheet-footer{flex:0 0 auto;padding:11px 16px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--sage-200);background:#f8f7f2f5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.agenda-primary-action{display:flex;width:100%;min-height:49px;align-items:center;justify-content:center;gap:8px;color:#fff;border:0;border-radius:13px;background:var(--forest-800);box-shadow:0 10px 22px #102e2926;font-size:10px;font-weight:750}.agenda-primary-action:disabled{opacity:.42}@keyframes sheet-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes agenda-spin{to{transform:rotate(360deg)}}
