.app-root{--shell-page:#f9f8fa;--shell-surface:#fff;--shell-warm:#fcfafc;--shell-teal-soft:#f7f3f9;--shell-gold-soft:#f7f2fa;--shell-navy:#29222c;--shell-muted:#7f6a8c;--shell-border:#eae6ec;--shell-divider:#f2eff3;background:var(--shell-page);min-inline-size:0;max-inline-size:100%}.app-main,.app-content,.app-content>*{min-inline-size:0;max-inline-size:100%}.app-content :where(section,article,aside,header,footer,nav,form,fieldset,div){min-inline-size:0}.app-content :where(img,video,canvas,iframe),.app-content :where(input,select,textarea){max-inline-size:100%}.app-content :where(h1,h2,h3,h4,p,li,dd,dt,small,strong,code){overflow-wrap:anywhere}.app-content .privacy-pill,.app-content .badge{white-space:normal;max-inline-size:100%}.app-sidebar{background:var(--shell-navy);border-right:1px solid #ffffff14}.app-sidebar .brand{color:#fff}.workspace-label,.sidebar-group{color:#b59cc4}.app-sidebar nav button,.sidebar-footer button{color:#dacde1;min-height:44px}.app-sidebar nav button:hover,.sidebar-footer button:hover{color:#fff;background:#ffffff12}.app-sidebar nav button.active{color:#fff;background:#9e5dc447;box-shadow:inset 2px 0 #dccae6}.app-sidebar nav button i{color:#fff;background:#9e5dc4}.privacy-shortcut{color:#fff;background:#bb99ce1a;border-color:#dccae652}.privacy-shortcut small{color:#c5b1d0}.sidebar-footer{border-top-color:#ffffff1a}.app-chrome{z-index:30;position:sticky;top:0}.app-chrome .app-topbar{border-bottom-color:var(--shell-border);height:60px;box-shadow:none;-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#fffffff5;position:relative;top:auto}.demo-mode-strip{color:#764194;background:#faf6fc;border-bottom:1px solid #e8dcef;gap:7px;min-height:44px;padding:0 16px;font-size:.78rem;line-height:1.25}.demo-mode-strip>span{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.demo-mode-info{color:#7d469e;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;margin:0 -10px 0 -6px;display:inline-flex}.demo-mode-info:hover{background:#9955c114}.demo-mode-info svg{width:17px;height:17px}.top-search,.role-switch select{border-color:var(--shell-border);background:var(--shell-surface);min-height:44px}.icon-button,.top-avatar,.mobile-menu-button{border-color:var(--shell-border);width:44px;height:44px;box-shadow:none}.icon-button i{background:#9c454b;width:7px;height:7px;top:7px;right:7px}.top-avatar{color:#fff;background:var(--shell-navy)}.app-content{width:min(100% - 64px,1320px);padding-top:clamp(40px,4vw,58px)}.app-content .appointment-hero{color:var(--shell-navy);background:linear-gradient(145deg,#fff 0%,#faf7fb 100%);border-color:#eae2ee;box-shadow:0 12px 34px #29222c0d}.app-content .appointment-hero .card-kicker,.app-content .appointment-hero p,.app-content .appointment-hero small{color:var(--shell-muted)}.app-content .appointment-hero .prep-progress{background:#f7f3f9c7;border:1px solid #ece5ef}.app-content .appointment-hero .prep-progress strong{color:var(--shell-navy)}.app-content .appointment-hero .prep-progress .progress-track{background:#eae2ee}.app-content .appointment-hero .prep-progress .progress-track span{background:#9e5dc4}.app-content .appointment-hero .button{color:#fff;background:#9e5dc4}.app-content .appointment-hero .button:hover{background:#893fb3}.shell-dialog-backdrop{z-index:2200;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#29222c61;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shell-demo-dialog{width:min(100%,520px);max-height:min(680px,100dvh - 48px);color:var(--shell-navy);background:#fff;border:1px solid #ffffffc7;border-radius:24px;padding:28px;overflow-y:auto;box-shadow:0 28px 78px #29222c33}.shell-demo-dialog>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.shell-demo-dialog .eyebrow{margin:2px 0 7px}.shell-demo-dialog h2{margin:0;font-size:clamp(1.45rem,4vw,2rem)}.shell-demo-dialog>p{margin:22px 0 14px;font-size:1rem}.shell-demo-dialog ul{color:var(--shell-muted);margin:0 0 24px;padding-left:22px;line-height:1.65}.shell-dialog-icon{color:#893fb3;background:var(--shell-teal-soft);border-radius:13px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.shell-dialog-icon svg{width:20px;height:20px}.shell-dialog-close{border:1px solid var(--shell-border);width:44px;height:44px;color:var(--shell-navy);background:#fff;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.shell-dialog-close svg{width:19px;height:19px}.toast-region{z-index:2100;right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));pointer-events:none;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed}.toast-region .toast{width:100%;max-width:none;min-height:52px;color:var(--shell-navy);pointer-events:auto;background:#fffffffa;border:1px solid #e5ddea;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 7px 7px 14px;font-size:.82rem;font-weight:650;line-height:1.35;display:grid;position:relative;inset:auto;box-shadow:0 14px 38px #29222c21}.toast-region .toast>svg{color:#8657a2}.toast-region .toast>span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.toast-region .toast>button{width:44px;height:44px;color:var(--shell-muted);background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.toast-region .toast>button:hover{color:var(--shell-navy);background:#f6f3f8}.toast-region .toast>button svg{width:17px;height:17px}@media (width<=1080px){.app-content{width:min(100% - 40px,1230px)}}@media (width<=860px){.app-root{min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom));overflow-x:clip}.app-root:not([data-role=member]){padding-bottom:0}.app-chrome{box-shadow:none}.app-chrome .app-topbar{height:calc(54px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));gap:4px}.demo-mode-strip{min-height:44px;padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left));font-size:.75rem}.mobile-menu-button,.mobile-brand,.icon-button,.top-avatar{width:44px;min-width:44px;height:44px}.mobile-menu-button{background:0 0;border:0}.mobile-menu-button:hover,.mobile-brand:hover,.icon-button:hover,.top-avatar:hover{background-color:var(--shell-teal-soft)}.mobile-brand{border-radius:12px;justify-content:center;align-items:center;height:44px;padding:0 5px;position:absolute;left:50%;transform:translate(-50%)}.mobile-brand .brand{gap:0}.mobile-brand .brand-mark{width:36px;height:36px}.top-actions{gap:2px;margin-left:auto}.icon-button{background:0 0;border:0}.top-avatar:hover{color:#fff;background:#893fb3}.mobile-menu-panel{z-index:29;top:calc(98px + env(safe-area-inset-top));padding:14px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overscroll-behavior:contain;box-shadow:none;-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:#fcfafcfa;border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.app-root[data-role=member] .mobile-menu-panel{bottom:calc(64px + env(safe-area-inset-bottom));padding-bottom:18px}.mobile-menu-panel button{border-color:var(--shell-border);min-width:0;min-height:52px;color:var(--shell-navy);overflow-wrap:anywhere;background:#fff;border-radius:13px;padding:7px 13px;font-size:.78rem;line-height:1.3}.mobile-menu-panel button:hover{background:var(--shell-teal-soft);border-color:#dfd4e5}.mobile-menu-panel svg{color:#9e5dc4;width:18px;height:18px}.mobile-bottom-nav{height:calc(64px + env(safe-area-inset-bottom));padding:5px max(6px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));border-top-color:var(--shell-border);box-shadow:none;-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#fffffff5}.mobile-bottom-nav button{color:#644675;border-radius:12px;gap:3px;min-width:0;min-height:50px;padding:3px 2px;font-size:.64rem;font-weight:630;line-height:1.1}.mobile-bottom-nav button.active{color:#893fb3;background:var(--shell-teal-soft)}.mobile-bottom-nav svg{stroke-width:1.9px;width:20px;height:20px}.app-content{width:min(100% - 24px,780px);padding:28px 0 calc(64px + env(safe-area-inset-bottom))}.app-content :where(table){overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;max-inline-size:100%;display:block;overflow-x:auto}.app-content .appointment-hero{padding:clamp(20px,5vw,26px)}.app-content .appointment-hero .prep-progress{margin:20px 0;padding:14px}.toast-region{right:max(12px, env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));width:min(380px, calc(100vw - max(24px, env(safe-area-inset-left) + env(safe-area-inset-right))))}.toast-region .toast{min-height:52px;padding-left:12px;font-size:.78rem}}@media (width<=520px){.mobile-menu-panel{grid-template-columns:1fr}.app-content{width:calc(100% - 20px)}.shell-dialog-backdrop{padding:max(12px, env(safe-area-inset-top)) 0 0;align-items:flex-end}.shell-demo-dialog{width:100%;max-height:min(78dvh,660px);padding:22px max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));border-bottom:0;border-left:0;border-right:0;border-radius:24px 24px 0 0}.shell-demo-dialog>header{grid-template-columns:minmax(0,1fr) auto}.shell-dialog-icon{display:none}.shell-demo-dialog .button{width:100%}}@media (width<=350px){.demo-mode-strip{justify-content:flex-start}.demo-mode-strip>svg{display:none}.mobile-bottom-nav button{font-size:.58rem}.mobile-bottom-nav svg{width:19px;height:19px}}@media (width>=1600px){.app-content{width:min(100% - 96px,1320px)}}@media (prefers-reduced-motion:reduce){.toast-region .toast{animation:none}}@media print{.app-chrome,.toast-region,.shell-dialog-backdrop{display:none!important}}
