.calendar-legacy-home{display:none!important}
.calendar-page{max-width:1080px;margin:auto;color:var(--mere-text, #f5f5f7)}
.calendar-page button,.calendar-coach button{cursor:pointer}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}
.calendar-heading h2{font-size:30px;margin:3px 0}
.calendar-heading p{margin:0;color:var(--mere-muted, #a1a1ad);font-size:14px}
.calendar-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.calendar-tools button,.calendar-days button,.calendar-icon{border:1px solid var(--mere-border, rgba(255,255,255,.1));background:#111318;border-radius:12px;min-height:44px;padding:10px 14px;color:var(--mere-text, #f5f5f7)}
.calendar-tools .calendar-add{background:var(--mere-blue, #4ea2ff);color:white;border-color:var(--mere-blue, #4ea2ff)}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:12px 0}
.calendar-days button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;font-size:11px}
.calendar-days b{font-size:18px}
.calendar-days .selected{background:var(--mere-blue, #4ea2ff);color:#fff}
.calendar-days .is-today{box-shadow:inset 0 0 0 2px var(--mere-violet, #7357ff)}
.calendar-notice{font-size:13px;padding:12px 14px;background:#111318;border-radius:12px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.calendar-notice button{border:0;background:none;color:var(--mere-blue, #4ea2ff);font-weight:600;text-decoration:underline;min-height:44px}
.calendar-grid-scroll{height:min(65vh,700px);min-height:360px;overflow:auto;border:1px solid var(--mere-border, rgba(255,255,255,.1));border-radius:18px;background:#111318;overscroll-behavior-y:contain}
.calendar-grid{position:relative;height:1920px;margin:20px 12px 20px 58px;touch-action:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.calendar-hour{position:absolute;height:80px;left:0;right:0;border-top:1px solid rgba(255,255,255,.065);pointer-events:none}
.calendar-hour span{position:absolute;right:calc(100% + 10px);top:-9px;font-size:11px;color:var(--mere-muted, #a1a1ad);white-space:nowrap}
.calendar-block{position:absolute;left:5px;right:5px;overflow:hidden;border-radius:10px;background:#1b1e26;min-height:20px}
.calendar-block-face{position:absolute;inset:0;padding:5px 12px;border:0;border-left:4px solid #777d8d;background:#1b1e26;text-align:left;color:var(--mere-text, #f5f5f7);display:flex;flex-direction:column;gap:2px;transition:transform .15s;touch-action:pan-y;overflow:hidden}
.calendar-block.intentional .calendar-block-face{background:#24213d;border-left-color:var(--mere-violet, #7357ff)}
.calendar-block-face strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-block-face small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-block-actions{position:absolute;inset:0;display:flex;justify-content:flex-end;background:var(--mere-blue, #4ea2ff)}
.calendar-block-actions button{border:0;color:#fff;background:transparent;min-width:70px;font-size:12px}
.calendar-block.revealed .calendar-block-face{transform:translateX(-150px)}
.calendar-selection{position:absolute;left:0;right:0;background:rgba(78,162,255,.18);border:2px solid var(--mere-blue, #4ea2ff);border-radius:10px;pointer-events:none;padding:5px 12px;font-size:12px}
.calendar-now{position:absolute;left:0;right:0;border-top:1px solid var(--mere-blue, #4ea2ff);pointer-events:none;z-index:2}
.calendar-now:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:var(--mere-blue, #4ea2ff);top:-4px;left:-4px}
.calendar-footer{display:flex;justify-content:space-between;gap:8px;padding-top:12px;color:var(--mere-muted, #a1a1ad);font-size:12px}
.calendar-footer button{border:0;background:none;color:var(--mere-blue, #4ea2ff);text-decoration:underline}
.calendar-coach{position:relative}
.calendar-coach-toggle{border:1px solid var(--mere-border, rgba(255,255,255,.1));background:#1b1e26;border-radius:50%;width:44px;height:44px;color:var(--mere-blue, #4ea2ff);font-weight:600;overflow:hidden;padding:0}
.calendar-coach-toggle img{width:100%;height:100%;object-fit:cover}
.calendar-coach-menu{position:absolute;right:0;top:52px;z-index:50;min-width:230px;padding:16px;background:#111318;border:1px solid var(--mere-border, rgba(255,255,255,.1));border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.4)}
.calendar-coach-menu strong{display:block;margin-bottom:8px}
.calendar-coach-menu button{display:block;width:100%;border:0;background:#1a1d24;text-align:left;margin-top:6px;padding:12px;border-radius:9px}
.calendar-dialog{border:0;border-radius:22px;padding:0;width:min(480px,calc(100vw - 24px));max-height:90dvh;box-shadow:0 20px 70px rgba(0,0,0,.48);color:var(--mere-text, #f5f5f7)}
.calendar-dialog::backdrop{background:rgba(0,0,0,.72)}
.calendar-dialog form{padding:24px;overflow:auto;max-height:90dvh;box-sizing:border-box}
.calendar-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.calendar-dialog-head h2{margin:6px 0 16px;font-size:25px}
.calendar-dialog-head button{border:0;background:#1a1d24;border-radius:50%;width:36px;height:36px;font-size:23px}
.calendar-step-label{color:var(--mere-muted, #a1a1ad);font-size:12px}
.calendar-form-fields label{display:block;font-size:13px;font-weight:600;margin:15px 0 6px}
.calendar-form-fields input,.calendar-form-fields textarea,.calendar-form-fields select{width:100%;box-sizing:border-box;min-height:46px;border:1px solid var(--mere-border, rgba(255,255,255,.1));border-radius:10px;padding:11px;background:#111318;color:var(--mere-text, #f5f5f7);font:inherit}
.calendar-form-fields textarea{min-height:100px}
.calendar-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calendar-checkboxes{display:flex;flex-wrap:wrap;gap:5px}
.calendar-checkboxes label{margin:0;border:1px solid var(--mere-border, rgba(255,255,255,.1));border-radius:10px;padding:9px;font-size:12px}
.calendar-checkboxes input{width:16px;min-height:auto;margin-right:4px}
.calendar-form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.calendar-form-actions button{border:1px solid var(--mere-border, rgba(255,255,255,.1));border-radius:12px;padding:12px 18px;background:#111318;color:var(--mere-blue, #4ea2ff)}
.calendar-form-actions .primary{background:var(--mere-blue, #4ea2ff);color:#fff}
.calendar-error{color:#ff9a9a;margin-top:12px;font-size:13px}
.calendar-detail-list{display:grid;gap:14px;margin:14px 0}
.calendar-detail-list dt{font-size:11px;color:var(--mere-muted, #a1a1ad)}
.calendar-detail-list dd{margin:3px 0;font-size:14px;white-space:pre-wrap}
.calendar-rhythm-progress{font-size:13px;color:var(--mere-muted, #a1a1ad);margin:8px 0}
.calendar-empty-note{font-size:13px;color:var(--mere-muted, #a1a1ad)}
.calendar-block.short .calendar-block-face{padding:2px 8px}
.calendar-block.short small{display:none}
@media(max-width:600px){#clientHomeView .calendar-heading h2{font-size:25px}
.calendar-heading{align-items:start;flex-direction:column;margin-bottom:10px}
.calendar-tools{width:100%;justify-content:space-between}
.calendar-tools button{padding:9px 12px}
.calendar-grid-scroll{height:60dvh;border-radius:14px}
.calendar-grid{margin-left:56px;margin-right:7px}
.calendar-hour span{font-size:10px;right:calc(100% + 6px)}
.calendar-notice{font-size:12px;padding:9px 11px}
.calendar-footer{flex-wrap:wrap}
.calendar-dialog form{padding:20px}
.calendar-days{gap:4px}
.calendar-page{min-width:0}
.client-cloud-main:has(.calendar-page){padding:14px}
.calendar-block-face strong{font-size:12px}}
/* Calendar shares the dark Mere application surfaces and brand accents. */
.client-cloud-main:has(#clientHomeView.active){background:transparent;min-height:calc(100dvh - 84px)}
#clientHomeView .calendar-heading h2{color:var(--mere-text, #f5f5f7)}
.calendar-form-fields input.calendar-inline-check{width:18px;min-height:18px;margin-right:8px;vertical-align:middle}
.calendar-fruit-note{font-size:13px;color:var(--mere-muted, #a1a1ad)}
.calendar-rule-choice{border:1px solid var(--mere-border, rgba(255,255,255,.1));border-radius:12px;padding:14px;text-align:left;background:#15181e;color:var(--mere-blue, #4ea2ff);width:100%}
.calendar-coach-entry{padding:12px 0;border-bottom:1px solid var(--mere-border, rgba(255,255,255,.1))}
.calendar-coach-entry p{font-size:13px;margin:4px 0}
.calendar-coach-entry strong{color:inherit}
.calendar-gap{display:block;border:1px solid var(--mere-border, rgba(255,255,255,.1));border-radius:8px;min-height:44px;padding:8px;margin-top:6px;background:#15181e;color:var(--mere-blue, #4ea2ff)}

/* Keep controls consistent with the app's shared blue-to-violet primary action. */
.calendar-page,.calendar-dialog,.calendar-coach{color:var(--mere-text,#f5f5f7);font-family:inherit;color-scheme:dark}
.calendar-page button,.calendar-dialog button,.calendar-coach button{font-family:inherit;font-weight:650}
.calendar-tools .calendar-add,.calendar-form-actions .primary{background:linear-gradient(110deg,var(--mere-blue,#4ea2ff),var(--mere-violet,#7357ff));border-color:transparent;color:#fff;box-shadow:0 8px 24px rgba(76,156,255,.16)}
.calendar-days .selected{background:#625bff;border-color:#625bff;color:#fff}
.calendar-days button span{text-transform:uppercase;letter-spacing:.08em}
.calendar-notice{border:1px solid var(--mere-border,rgba(255,255,255,.1));background:rgba(255,255,255,.025);padding:10px 14px}
.calendar-notice>span:last-child{display:flex;align-items:center;gap:6px;flex-shrink:0}
.calendar-notice button{padding:8px 10px;text-decoration:none;border-radius:10px;color:#b9b5ff}
.calendar-notice button:hover{background:rgba(115,87,255,.1)}
.calendar-coach-toggle{background:#15181e;color:#b9b5ff;border-color:rgba(255,255,255,.13)}
.calendar-coach-menu{background:#121419;color:var(--mere-text,#f5f5f7)}
.calendar-coach-menu small{color:var(--mere-muted,#a1a1ad)}
.calendar-coach-menu button{color:var(--mere-text,#f5f5f7)}
.calendar-dialog{background:#111318;border:1px solid var(--mere-border,rgba(255,255,255,.1))}
.calendar-dialog::backdrop{backdrop-filter:blur(7px)}
.calendar-dialog-head button{color:#d7d7e1;min-width:44px;width:44px;height:44px}
.calendar-form-actions button{min-height:44px}
.calendar-checkboxes input,.calendar-inline-check{accent-color:#7357ff}
.calendar-checkboxes label:has(input:checked){background:rgba(115,87,255,.16);border-color:rgba(115,87,255,.5)}
.calendar-page button:focus-visible,.calendar-dialog button:focus-visible,.calendar-coach button:focus-visible{outline:2px solid var(--mere-blue,#4ea2ff);outline-offset:3px}
.calendar-tools button:hover,.calendar-days button:hover{border-color:rgba(115,87,255,.6)}
.calendar-hour span{font-variant-numeric:tabular-nums}
.calendar-footer{align-items:center;line-height:1.5}
.calendar-block-actions{background:#39306a}
@media(max-width:600px){.calendar-notice{align-items:center;gap:6px}.calendar-notice>span:first-child{max-width:58%;line-height:1.5}.calendar-notice button{padding:8px 6px;font-size:12px}.calendar-heading p{font-size:13px}.calendar-footer>span{max-width:240px}}
.calendar-repeat-days{border:0;margin:16px 0 0;padding:0;min-width:0}.calendar-repeat-days[hidden]{display:none!important}.calendar-repeat-days legend{font-size:13px;font-weight:600;margin-bottom:10px;color:#f0f0f6}.calendar-day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day-picker label{position:relative;display:grid!important;place-items:center;margin:0!important;cursor:pointer}.calendar-day-picker input{position:absolute;opacity:0;width:100%;height:100%;margin:0;min-height:0}.calendar-day-picker span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#22252e;color:#b7bbc7;font-size:13px;border:1px solid rgba(255,255,255,.12)}.calendar-day-picker input:checked+span{background:#625bff;color:#fff;border-color:#625bff}.calendar-day-picker input:focus-visible+span{outline:2px solid #4ea2ff;outline-offset:3px}

/* Compact calendar home: one app toolbar, an optional month, and the day grid. */
.calendar-header-controls{display:none}
#clientShell:has(#clientHomeView.active) .client-cloud-topbar{display:flex!important;gap:8px!important;padding:calc(10px + env(safe-area-inset-top)) 14px 10px 66px!important;min-height:64px;box-sizing:border-box}
#clientShell:has(#clientHomeView.active) .client-cloud-topbar>div:first-child:not(.calendar-header-controls),#clientShell:has(#clientHomeView.active) .client-cloud-topbar>.workspace-switch{display:none!important}
#clientShell:has(#clientHomeView.active) .calendar-header-controls{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
#clientShell:has(#clientHomeView.active) .client-topbar-actions{gap:6px!important;flex-shrink:0}
#clientShell:has(#clientHomeView.active) #clientMenuButton{position:absolute;left:12px;top:calc(10px + env(safe-area-inset-top));width:44px!important;height:44px!important;min-height:44px!important}
.calendar-header-controls button,.calendar-day-heading button{border:0;background:transparent;color:var(--mere-text,#f5f5f7);font:inherit;cursor:pointer;min-height:44px;min-width:44px;border-radius:12px}
.calendar-header-controls .calendar-month-toggle{display:flex;align-items:center;gap:8px;text-align:left;flex:1;padding:0 4px;font-size:22px;font-weight:600;min-width:0}
.calendar-month-toggle span{color:#a1a1ad;font-size:14px}
.calendar-header-controls svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
.calendar-today-toggle span{display:grid;place-items:center;border:1.5px solid #a1a1ad;border-radius:5px;width:23px;height:25px;margin:auto;font-size:13px;font-weight:700}
#clientShell:has(#clientHomeView.active) .client-cloud-main{max-width:1080px!important;width:100%!important;height:calc(100dvh - var(--calendar-toolbar-height,65px));min-height:0!important;padding:0!important;box-sizing:border-box;overflow:hidden}
#clientHomeView.active,#personalCalendar{height:100%}
#clientHomeView .calendar-page{position:relative;height:100%;display:flex;flex-direction:column;min-height:0;max-width:none}
.calendar-day-heading{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 14px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:#111318}
.calendar-selected-day{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:40px}
.calendar-selected-day span{color:#aaa5ff;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.calendar-selected-day b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#625bff;color:#fff;font-size:19px}
.calendar-day-navigation{display:flex;gap:0;margin-left:8px}
.calendar-day-heading button{font-size:22px;color:#a1a1ad}
.calendar-day-heading>[data-cal-more]{margin-left:auto;font-size:15px;letter-spacing:2px}
#clientHomeView .calendar-grid-scroll{flex:1;min-height:100px;height:auto;border:0;border-radius:0;overscroll-behavior-y:contain}
#clientHomeView .calendar-grid{margin-top:16px;margin-bottom:16px}
.calendar-floating-add{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom));right:22px;z-index:4;width:58px;height:58px;border-radius:18px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(110deg,var(--mere-blue,#4ea2ff),var(--mere-violet,#7357ff));color:#fff;font-size:36px!important;font-weight:400!important;box-shadow:0 8px 28px rgba(0,0,0,.4)}
.calendar-month-picker{flex-shrink:0;background:#15151e;border-bottom:1px solid rgba(255,255,255,.1);padding:8px 16px 10px;max-height:52dvh;overflow:auto}
.calendar-month-caption{text-align:center;font-size:12px;color:#a1a1ad;margin:2px 0 8px}
.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;max-width:600px;margin:auto;text-align:center}
.calendar-weekday{font-size:12px;color:#a1a1ad;padding:4px 0}
.calendar-month-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:transparent;border:0;min-height:44px;min-width:0;color:#e9e9f0;border-radius:12px;cursor:pointer}
.calendar-month-grid b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:500}
.calendar-month-grid .selected b{background:#625bff;color:#fff}
.calendar-month-grid .is-today:not(.selected) b{box-shadow:inset 0 0 0 1px #8c84ff;color:#b9b5ff}
.calendar-event-dots{height:5px;display:flex;gap:3px}.calendar-event-dots i{width:4px;height:4px;border-radius:50%;background:#777d8d}.calendar-event-dots i.intentional{background:#8c84ff}.calendar-event-dots i.appointment{background:#66b9dc}
.calendar-month-shortcuts{display:flex;align-items:center;gap:8px;overflow-x:auto;margin-top:10px;padding:2px;scrollbar-width:none}
.calendar-month-shortcuts button{border:1px solid #393945;border-radius:24px;background:transparent;color:#d4d4df;min-height:40px;min-width:64px;cursor:pointer}
.calendar-month-shortcuts .selected{background:#35304f;border-color:#625bff;color:#fff}.calendar-month-shortcuts>span{font-size:13px;color:#aaaabd}
.calendar-option-list,.calendar-search-results{display:grid;gap:6px;margin:18px 0}
.calendar-option-list button,.calendar-search-results button{border:1px solid rgba(255,255,255,.09);border-radius:12px;min-height:48px;padding:12px;background:#191923;color:#eee;text-align:left}
.calendar-search-results strong,.calendar-search-results small{display:block}.calendar-search-results small{margin-top:4px;color:#a1a1ad}
.calendar-header-controls button:focus-visible{outline:2px solid #4ea2ff;outline-offset:1px}
@media(max-width:400px){.calendar-header-controls .calendar-month-toggle{font-size:18px;gap:4px}.calendar-header-controls{gap:0!important}.calendar-header-controls button{min-width:36px}.calendar-header-controls .calendar-month-toggle{min-width:0}#clientShell:has(#clientHomeView.active) .client-cloud-topbar{padding-right:8px!important;padding-left:60px!important;gap:2px!important}#clientShell:has(#clientHomeView.active) .client-topbar-actions{gap:3px!important}}
body:has(#clientShell:not(.hidden) #clientHomeView.active) .local-test-launcher{right:auto!important;left:10px!important;font-size:11px!important;padding:6px 9px!important}
/* Safari date/time controls must be allowed to shrink inside their grid tracks. */
.calendar-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.calendar-inline>div,.calendar-form-fields{min-width:0}
.calendar-form-fields input[type=date],.calendar-form-fields input[type=time]{display:block;min-width:0;max-width:100%;width:100%;min-height:48px;-webkit-appearance:none;appearance:none;font-size:16px;text-align:left}
.calendar-form-fields input::-webkit-date-and-time-value{text-align:left;min-width:0;margin:0}
.calendar-dialog-head>div{min-width:0;flex:1}.calendar-dialog-head h2{font-size:23px;line-height:1.25;margin:6px 0 12px;outline:none}.calendar-dialog-head>button{flex-shrink:0}
.calendar-time-summary{font-size:12px;color:#aaa5ff;margin:10px 0 0;min-height:18px}
.calendar-map-toggle,[data-pin-center],[data-clear-pin]{border:1px solid #393945;background:#191923;color:#b9b5ff;border-radius:10px;min-height:44px;padding:10px 14px;margin-top:10px}
.calendar-location-map{height:230px;min-width:0;border-radius:12px;overflow:hidden;color:#111;color-scheme:light}
.calendar-location-map .leaflet-control-attribution{font:10px Arial,sans-serif!important;color:#333!important;background:rgba(255,255,255,.9)!important}.calendar-location-map .leaflet-control-attribution a{color:#075aa5!important}
.calendar-location-map .leaflet-control-zoom a{color:#111!important;background:#fff!important}
.calendar-dialog form{max-height:85dvh;overflow:auto}.calendar-form-fields input,.calendar-form-fields textarea,.calendar-form-fields select{font-size:16px}
@media(max-width:430px){.calendar-dialog form{padding:20px 16px}.calendar-dialog-head h2{font-size:22px}.calendar-form-fields input[type=time]{padding:10px 8px}.calendar-inline{gap:10px}}
.calendar-place-search{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.calendar-place-search label,.calendar-place-search input{grid-column:1/-1}.calendar-place-search label{margin:0}.calendar-place-search button{border:1px solid #393945;background:#191923;color:#b9b5ff;min-height:44px;border-radius:10px;padding:8px;font:inherit;font-size:13px}
.calendar-place-results{display:grid;gap:6px;max-height:200px;overflow:auto}.calendar-place-results button{border:1px solid #393945;border-radius:10px;background:#191923;color:#eee;text-align:left;padding:10px;min-height:48px}.calendar-place-results strong,.calendar-place-results small{display:block}.calendar-place-results small{color:#aaaabd;margin-top:4px;line-height:1.4;font-size:11px}
[data-location-map]{display:none!important}
.calendar-location-field{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;text-align:left;border:1px solid #393945;background:#191923;border-radius:12px;padding:12px;color:#f0f0f6;font:inherit}.calendar-location-field>[data-location-label]{flex:1;min-width:0;overflow-wrap:anywhere}.calendar-location-field>span:first-child{color:#aaa5ff;font-size:23px}.calendar-clear-location{border:0;background:none;color:#aaa5ff;padding:12px 0;min-height:44px}
.location-picker-dialog{padding:0;border:1px solid #30303d;border-radius:22px;width:min(680px,calc(100vw - 24px));height:min(760px,90dvh);max-height:90dvh;color:#f0f0f6;background:#111318;color-scheme:dark;box-shadow:0 24px 80px #0008;overflow:hidden}
.location-picker-dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}
.location-picker-shell{height:100%;display:flex;flex-direction:column;min-height:0;font-family:inherit}
.location-picker-header{display:flex;align-items:center;gap:8px;padding:12px;flex-shrink:0;background:#15151e;z-index:3}
.location-picker-header>button{border:0;background:transparent;color:#e9e9ef;width:44px;height:44px;font-size:32px;flex-shrink:0;border-radius:50%;cursor:pointer}
.location-picker-search{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:1px solid #393945;border-radius:28px;background:#24242f;padding:0 12px}
.location-picker-search>span{font-size:25px;color:#a1a1ad}.location-picker-search input{width:100%;min-width:0;background:transparent;color:#fff;border:0;min-height:48px;font:inherit;font-size:16px;outline:none}.location-picker-search:focus-within{border-color:#8c84ff}.location-picker-search button{border:0;background:transparent;color:#b9b5ff;font-size:26px;min-width:36px;min-height:44px;cursor:pointer}
.location-picker-status{padding:8px 16px;font-size:12px;color:#aaaabd;flex-shrink:0;background:#15151e;line-height:1.4}
.location-picker-body{position:relative;flex:1;min-height:100px;overflow:hidden}.location-picker-map{height:100%;width:100%;color-scheme:light;color:#111}
.location-picker-map .leaflet-control-attribution{font:10px Arial!important;background:#fffd!important;color:#222!important}.location-picker-map .leaflet-control-attribution a{color:#075aa5!important}.location-picker-map .leaflet-control-zoom a{background:#fff!important;color:#111!important}
.location-picker-results{position:absolute;top:0;left:0;right:0;max-height:100%;overflow:auto;background:#191923;z-index:500;border-bottom:1px solid #393945;box-shadow:0 10px 20px #0004}.location-picker-results[hidden]{display:none!important}.location-picker-results button{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #30303d;background:transparent;padding:14px 18px;color:#eee;text-align:left;min-height:64px;cursor:pointer}.location-picker-results button>span:nth-child(2){flex:1;min-width:0}.location-picker-results strong,.location-picker-results small{display:block}.location-picker-results small{font-size:12px;line-height:1.4;color:#aaaabd;margin-top:4px}.location-picker-results .location-result-icon{width:32px;height:32px;background:#2a293b;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#b9b5ff}.location-picker-results p{padding:18px;font-size:13px}
.location-picker-map-tools{position:absolute;right:12px;bottom:30px;z-index:450;display:grid;gap:8px}.location-picker-map-tools button{border:1px solid #393945;background:#191923;color:#eee;width:48px;height:48px;border-radius:50%;font-size:26px;box-shadow:0 3px 10px #0004;cursor:pointer}
.location-picker-selection{flex-shrink:0;padding:16px;background:#15151e;border-top:1px solid #393945;display:grid;gap:10px}.location-picker-selection strong,.location-picker-selection span{display:block}.location-picker-selection span{font-size:12px;color:#aaaabd;margin-top:4px;line-height:1.4}.location-picker-confirm{width:100%;min-height:46px;border:0;border-radius:24px;background:linear-gradient(110deg,#4ea2ff,#7357ff);color:white;font:inherit;font-weight:650;cursor:pointer}.location-picker-confirm:disabled{opacity:.4;cursor:default}.location-picker-custom{border:0;background:transparent;color:#b9b5ff;min-height:40px;font:inherit;font-size:12px;cursor:pointer;overflow-wrap:anywhere}.location-picker-selection small{font-size:10px;color:#888898;text-align:center}.location-picker-dialog button:focus-visible{outline:2px solid #4ea2ff;outline-offset:2px}
@media(max-width:600px){.location-picker-dialog{width:100vw;max-width:100vw;height:var(--location-picker-height,100dvh);max-height:var(--location-picker-height,100dvh);border:0;border-radius:0;margin:0;padding:0;top:var(--location-picker-top,0px)}.location-picker-header{padding-top:calc(10px + env(safe-area-inset-top))}.location-picker-selection{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}

.calendar-serving{border:0;padding:0;margin:0}.calendar-serving legend{font-weight:600;margin-bottom:12px}.calendar-serving>div{display:flex;gap:8px}.calendar-serving label{position:relative;flex:1;margin:0}.calendar-serving input{position:absolute;opacity:0;width:1px;height:1px}.calendar-serving span{display:grid;place-items:center;min-height:48px;border:1px solid #393945;border-radius:12px;background:#191923}.calendar-serving input:checked+span{border-color:#8c84ff;background:#35304f;color:#fff}.calendar-serving input:focus-visible+span{outline:2px solid #4ea2ff;outline-offset:2px}
.calendar-location-shortcuts{display:flex;gap:8px;margin-top:12px}.calendar-location-shortcuts button,.calendar-location-recents button,.calendar-practice-summary button{border:1px solid #393945;background:#191923;color:#b9b5ff;border-radius:10px;padding:8px 12px;min-height:44px;font:inherit;font-size:13px}.calendar-location-shortcuts button{flex:1}.calendar-location-recents{display:grid;gap:6px;margin-top:8px}.calendar-location-recents button{text-align:left;overflow-wrap:anywhere}
.calendar-practice-summary{display:grid;gap:6px;padding:12px;margin:14px 0;border:1px solid #30303d;border-radius:12px;font-size:12px;color:#aaaabd}.calendar-practice-summary strong{color:#eee;font-size:14px;overflow-wrap:anywhere}.calendar-practice-summary>div{display:flex;flex-wrap:wrap;gap:6px}.calendar-practice-summary button{padding:6px 10px}.calendar-saved-notice{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 32px);padding:14px 20px;background:#252239;border:1px solid #8c84ff;border-radius:14px;color:#fff;box-shadow:0 8px 30px #0008;overflow-wrap:anywhere}

.location-result-row{display:flex;align-items:stretch}.location-result-row>[data-result]{flex:1;min-width:0}.location-result-row>.location-result-preview{width:auto;flex:0 0 auto;color:#b9b5ff;padding:12px;min-width:52px}

.calendar-event-sheet{padding:0;width:min(640px,calc(100vw - 24px));border-radius:24px;background:#111318}.calendar-event-sheet form{padding:0!important;display:flex;flex-direction:column;max-height:90dvh;overflow:hidden}.calendar-sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #30303d;flex-shrink:0;background:#191923}.calendar-sheet-toolbar>button{min-height:44px;border:1px solid #393945;border-radius:24px;padding:8px 18px;background:transparent;color:#eee;font:inherit}.calendar-sheet-toolbar>button:first-child{width:44px;padding:0;font-size:27px}.calendar-sheet-toolbar>button.primary{border:0;background:linear-gradient(110deg,#4ea2ff,#7357ff);color:#fff;font-weight:650}.calendar-sheet-toolbar strong{font-size:15px}.calendar-sheet-body{overflow:auto;padding-bottom:24px}.calendar-event-section{border-bottom:1px solid #30303d}.calendar-event-section>summary{display:flex;align-items:center;gap:14px;padding:20px 18px;min-height:64px;list-style:none;cursor:pointer;font-weight:550}.calendar-event-section>summary::-webkit-details-marker{display:none}.calendar-event-section>summary>span:nth-child(2){flex:1}.calendar-event-section[open]>summary>span:last-child{transform:rotate(180deg)}.calendar-event-icon{width:24px;color:#aaa5ff;font-size:23px;text-align:center}.calendar-event-section>.calendar-form-fields{padding:0 18px 20px 56px}.calendar-event-section[data-section=What] input{font-size:24px;background:transparent;border:0;border-bottom:1px solid #393945;border-radius:0;padding:12px 0}.calendar-event-section[data-section=What] label{display:none}.calendar-sheet-body>.calendar-error,.calendar-sheet-body>.calendar-form-actions,.calendar-sheet-body>.calendar-empty-note{margin:18px}.calendar-event-title{padding:26px 22px 12px}.calendar-event-title h2{font-size:27px;margin:8px 0}.calendar-event-title small{color:#aaa5ff}.calendar-event-sheet .calendar-detail-list{margin:0;padding:0 22px}.calendar-event-sheet .calendar-detail-list>div{padding:18px 0;border-bottom:1px solid #30303d}.calendar-event-sheet .calendar-detail-list dd{margin:8px 0 0;overflow-wrap:anywhere}
@media(max-width:600px){.calendar-event-sheet{width:100vw;max-width:100vw;margin:0;top:auto;bottom:0;border-radius:24px 24px 0 0;border-bottom:0;max-height:94dvh}.calendar-event-sheet form{max-height:94dvh}.calendar-sheet-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.calendar-event-section>.calendar-form-fields{padding-left:48px}.calendar-sheet-toolbar{padding:14px 16px}}

.calendar-event-section summary small{display:block;color:#aaaabd;font-size:12px;font-weight:400;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.calendar-event-section[open] summary small,.calendar-event-section summary small:empty{display:none}.calendar-event-section summary>span:nth-child(2){min-width:0}.calendar-event-section input#calTitle{background:transparent!important;border-radius:0!important;border:0!important;border-bottom:1px solid #393945!important}
