:root{color-scheme:light;--bg: light-dark(#f4f6f1, #131711);--ink: light-dark(#17211b, #e7ece4);--muted: light-dark(#6d756e, #98a294);--line: light-dark(#dfe5d8, #2e372b);--surface: light-dark(#ffffff, #1c231b);--surface-strong: light-dark(#eef3e7, #26301f);--green: light-dark(#286345, #2f7a53);--green-deep: light-dark(#173f2b, #a5d2b6);--lime: light-dark(#cce15f, #cce15f);--danger: light-dark(#a13232, #e5867b);--staging-surface: light-dark(#fff1bf, #3b2d08);--staging-line: light-dark(#d4a92f, #a98120);--staging-ink: light-dark(#694812, #ffe49a);--environment-banner-height: 36px;--shadow: 0 24px 70px light-dark(rgba(23, 33, 27, .13), rgba(0, 0, 0, .55));--font-sans: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-size-2xs: .75rem;--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-md: .9375rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.625rem;--font-size-4xl: 1.75rem;--font-size-5xl: 2rem;--font-size-page-title: 2.375rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.15;--line-height-snug: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.55;--letter-spacing-tight: 0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal)}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=system]{color-scheme:light dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}html:has(.mobile-app),body:has(.mobile-app){overscroll-behavior-y:none}html,body,#root{min-height:100%}button,input,select,textarea{font:inherit}button{color:inherit;touch-action:manipulation}form{display:grid;gap:18px}label{display:grid;gap:8px;color:light-dark(#39433b,#b6c1b8);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 15px;background:light-dark(#fbfcf8,#242520);color:var(--ink);outline:none;font-weight:var(--font-weight-medium)}textarea{resize:vertical}input::placeholder{color:light-dark(#7d867e,#778078);font-weight:var(--font-weight-medium)}input:read-only{color:light-dark(#5a635b,#97a098);background:light-dark(#eef3e8,#2a3220)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px light-dark(rgba(40,99,69,.12),rgba(148,212,179,.12))}.check-row{display:flex;align-items:center;gap:10px;font-weight:var(--font-weight-medium)}.check-row input{width:18px;height:18px}.primary-button,.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;cursor:pointer;font-weight:var(--font-weight-semibold)}.primary-button{min-height:50px;background:var(--green);color:#fff}.primary-button:disabled{cursor:wait;opacity:.72}.status-line{margin:0;border-radius:12px;padding:12px 14px;background:var(--surface-strong);color:var(--green-deep);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.status-line.error{background:light-dark(#fae8e6,#371b18);color:var(--danger)}.status-line.warning{background:light-dark(#fff4d5,#4e3c08);color:light-dark(#805513,#ebbc75)}.submission-notice-layer{position:fixed;z-index:120;top:18px;right:20px;width:min(390px,calc(100vw - 32px));pointer-events:none}body:has(.staging-environment) .submission-notice-layer{top:calc(var(--environment-banner-height) + 14px)}.submission-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;border:1px solid light-dark(rgba(40,99,69,.18),rgba(148,212,179,.2));border-radius:15px;padding:13px 12px 13px 14px;background:light-dark(rgba(255,255,255,.98),rgba(31,36,30,.98));box-shadow:0 20px 52px light-dark(rgba(23,33,27,.2),rgba(0,0,0,.52)),0 2px 10px light-dark(rgba(23,33,27,.08),rgba(0,0,0,.24));pointer-events:auto}.submission-notice.error{border-color:light-dark(rgba(161,50,50,.24),rgba(203,87,87,.28))}.submission-notice-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:light-dark(#e9f4e7,#263724);color:var(--green)}.submission-notice.error .submission-notice-icon{background:light-dark(#fae8e6,#3a211e);color:var(--danger)}.submission-notice-copy{display:grid;gap:3px;min-width:0;padding-top:1px}.submission-notice-copy strong{color:var(--ink);font-size:var(--font-size-sm);line-height:1.3}.submission-notice-copy small{color:var(--muted);font-size:var(--font-size-xs);line-height:1.4}.submission-notice>button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:9px;padding:0;background:transparent;color:var(--muted);cursor:pointer}.submission-notice>button:hover{background:light-dark(#f1f4ee,#2b3029);color:var(--ink)}.button-spinner{animation:button-spinner .8s linear infinite}@media(prefers-reduced-motion:no-preference){.submission-notice{animation:submission-notice-in .22s cubic-bezier(.2,0,0,1)}}@keyframes submission-notice-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes button-spinner{to{transform:rotate(360deg)}}@media(max-width:560px){.submission-notice-layer{top:calc(12px + env(safe-area-inset-top));right:12px;left:12px;width:auto}body:has(.staging-environment) .submission-notice-layer{top:calc(var(--environment-banner-height) + 10px)}}.sidebar-brand{display:flex;align-items:center;gap:12px;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.brand-mark{display:grid;width:46px;height:46px;place-items:center;border:2px solid currentColor;border-radius:12px;background:light-dark(rgba(255,255,255,.12),rgba(33,33,33,.12))}.brand-mark{width:38px;height:38px;border-radius:10px;color:var(--green)}.nav-group p,.handoff-grid span{margin:0 0 10px;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.panel-shell{display:grid;grid-template-columns:240px 1fr;height:100vh;overflow:hidden}.environment-banner{position:sticky;top:0;z-index:60;display:flex;height:var(--environment-banner-height);align-items:center;justify-content:center;gap:7px;border-bottom:1px solid var(--staging-line);background:var(--staging-surface);color:var(--staging-ink);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.environment-banner strong{font-weight:var(--font-weight-bold);text-transform:uppercase}.environment-banner svg{flex:0 0 auto}.staging-environment>.panel-shell{height:calc(100vh - var(--environment-banner-height))}.sidebar{display:flex;flex-direction:column;padding:20px 16px;border-right:1px solid var(--line);background:light-dark(#fbfcf8,#242520)}.sidebar-brand{margin-bottom:28px}.sidebar-brand div{display:grid}.sidebar-brand span{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-regular)}.sidebar-brand .brand-mark.staging{border-color:var(--staging-line);background:var(--staging-surface);color:var(--staging-ink)}.sidebar-brand .brand-environment-label{width:fit-content;margin-top:3px;border:1px solid var(--staging-line);border-radius:999px;padding:1px 7px;background:var(--staging-surface);color:var(--staging-ink);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.nav-group{display:grid;gap:7px;margin-bottom:18px}.nav-group p{color:light-dark(#99a093,#666d60)}.nav-group button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:10px;padding:10px 12px;background:transparent;color:light-dark(#4d584f,#a1ada3);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:left}.nav-group button.active,.nav-group button:hover:not(:disabled){background:var(--surface-strong);color:var(--green)}.nav-group button:disabled,.mobile-bottom-nav button:disabled{opacity:.55}.nav-upcoming-badge{margin-left:auto;border-radius:999px;padding:2px 7px;background:light-dark(rgba(40,99,69,.1),rgba(165,210,182,.14));color:light-dark(#4d7a5e,#9dc4ac);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.nav-group button.active{font-weight:var(--font-weight-semibold)}.sidebar nav{flex:1;min-height:0;overflow-y:auto}.sidebar-mini-month{padding:14px 4px 4px;border-top:1px solid var(--line)}.mini-month-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mini-month-nav strong{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.mini-month-nav-buttons{display:flex;gap:2px}.mini-month-nav-buttons button{display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.mini-month-nav-buttons button:hover{background:var(--surface-strong);color:var(--green)}.mini-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}@media(prefers-reduced-motion:no-preference){.mini-month-grid{animation:mini-month-in .22s cubic-bezier(.2,0,0,1)}.mini-month-nav-buttons button:active{transform:scale(.9)}.mini-month-grid button:active{transform:scale(.86)}}@keyframes mini-month-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.mini-month-grid>span{padding:2px 0 4px;color:light-dark(#99a093,#666d60);font-size:var(--font-size-3xs, var(--font-size-2xs));font-weight:var(--font-weight-bold);text-align:center}.mini-month-grid button{display:grid;aspect-ratio:1;place-items:center;border:0;border-radius:50%;background:transparent;color:light-dark(#4d584f,#a1ada3);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);transition:background .14s ease,color .14s ease,transform .14s ease}.mini-month-grid button:hover{background:var(--surface-strong);color:var(--green)}.mini-month-grid button.outside{color:light-dark(#c0c6bc,#4f584c)}.mini-month-grid button.today{color:var(--green);font-weight:var(--font-weight-bold)}.mini-month-grid button.selected,.mini-month-grid button.selected:hover{background:var(--green);color:#fff;font-weight:var(--font-weight-semibold)}.sidebar-build{display:grid;gap:2px;margin-top:auto;padding:16px 2px 2px;color:light-dark(#9aa395,#626b5d);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);line-height:1.35}.content{height:100vh;overflow-y:auto;padding:22px 26px 26px;min-width:0}.staging-environment .content{height:calc(100vh - var(--environment-banner-height))}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.topbar h1{margin:0;font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight)}.logout-button{min-height:42px;padding:0 16px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.handoff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.handoff-grid article{min-height:190px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.handoff-grid span{color:var(--green)}.handoff-grid strong{display:block;font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-tight)}.login-page{display:grid;place-items:center;min-height:100vh;padding:32px;background:radial-gradient(circle at 50% 0%,light-dark(rgba(204,225,95,.22),rgba(141,163,31,.22)),transparent 34%),linear-gradient(180deg,light-dark(#f8faf4,#252820),var(--bg))}.staging-environment>.login-page{min-height:calc(100vh - var(--environment-banner-height))}.login-panel{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,430px);gap:54px;align-items:center;width:min(100%,1040px);min-width:0}.login-brand{display:grid;gap:24px;max-width:460px}.login-brand-lockup{display:flex;align-items:center;gap:18px}.login-brand-lockup>div{min-width:0}.login-brand-icon{width:68px;height:68px;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 38px light-dark(rgba(23,33,27,.12),rgba(0,0,0,.38))}.login-eyebrow{margin:0 0 6px;color:var(--green-deep);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.login-brand h1{margin:0;color:var(--ink);font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);overflow-wrap:break-word}.login-brand-copy{max-width:410px;margin:0;color:var(--muted);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-relaxed)}.login-scope-grid{display:flex;flex-wrap:wrap;gap:10px;max-width:430px}.login-scope-grid span{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid light-dark(rgba(40,99,69,.16),rgba(165,210,182,.16));border-radius:999px;padding:0 13px;background:light-dark(rgba(255,255,255,.62),rgba(28,35,27,.62));color:var(--green-deep);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.login-card{width:100%;min-width:0;max-width:430px;padding:34px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);justify-self:end}.form-heading{display:flex;gap:16px;align-items:center;margin-bottom:28px}.icon-bubble{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;background:var(--surface-strong);color:var(--green)}.form-heading h2{margin:0;font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.form-heading p,.topbar p,.handoff-grid p{margin:6px 0 0;color:var(--muted);line-height:var(--line-height-relaxed)}.form-field{display:grid;gap:8px}.password-field{position:relative}.password-field input{padding-right:50px}.password-toggle{position:absolute;top:50%;right:8px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{background:var(--surface-strong);color:var(--green-deep)}.password-toggle:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media(max-width:840px){.login-panel{grid-template-columns:1fr;gap:26px;width:min(100%,430px)}.login-card{justify-self:stretch}.login-brand{gap:16px}.login-brand-icon{width:58px;height:58px;border-radius:16px}.login-brand h1{font-size:var(--font-size-5xl)}.login-brand-copy{font-size:var(--font-size-md)}}@media(max-width:560px){.login-brand,.login-brand-lockup{gap:14px}.login-brand h1{font-size:var(--font-size-4xl)}.login-brand-copy,.login-scope-grid{display:none}}.settings-page{max-width:1180px}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px;align-items:start}.settings-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.settings-filter-row label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:light-dark(#39433b,#b6c1b8)}.settings-filter-row select{min-height:36px;min-width:200px}.settings-filter-hint{color:var(--muted);font-size:var(--font-size-xs)}.settings-panel{min-width:0;border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--surface)}.settings-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.settings-panel h2{margin:4px 0 0;font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tight)}.compact-button{min-height:40px;padding:0 14px}.virtual-user-list,.virtual-user-group{display:grid;gap:10px}.virtual-user-group+.virtual-user-group{margin-top:6px}.virtual-user-group-header{display:flex;align-items:center;gap:8px}.virtual-user-group-header .panel-label{margin:0}.virtual-user-group-header.unassigned .panel-label{color:light-dark(#8a6d1a,#edcf7f)}.virtual-user-group-count{display:inline-grid;min-width:20px;height:20px;place-items:center;padding:0 6px;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.virtual-user-group-note{margin:-2px 0 0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.virtual-session-section{display:grid;gap:10px;margin-top:24px}.compact-heading{margin-bottom:0}.virtual-user-card{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(180px,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:14px;background:light-dark(#fbfcf8,#242520)}.virtual-user-card strong,.virtual-user-card span{display:block}.virtual-user-card strong{font-size:var(--font-size-md)}.virtual-user-card>div:first-child span{margin-top:4px;color:var(--muted);font-size:var(--font-size-xs)}.virtual-user-activity{display:block;margin-top:6px;color:light-dark(#4d7a5e,#86b198);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.virtual-user-activity.muted{color:var(--muted);font-weight:var(--font-weight-regular)}.upstream-note{margin:0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.upstream-account-list{display:grid;gap:10px}.upstream-account-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:light-dark(#fbfcf8,#242520)}.upstream-account-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:14px}.upstream-account-pills{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.upstream-account-card>header div:first-child{min-width:0}.upstream-account-card>header strong{display:block;overflow-wrap:anywhere;font-size:var(--font-size-md)}.upstream-account-card>header div:first-child span{display:block;margin-top:4px;color:var(--muted);font-size:var(--font-size-xs)}.upstream-session-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.upstream-session-list li{display:grid;grid-template-columns:minmax(0,1fr) 156px 108px auto;align-items:center;gap:16px;padding:11px 14px}.upstream-session-info{min-width:0}.upstream-session-expiry{text-align:right}.upstream-session-flags{display:flex;justify-content:flex-end}.upstream-session-list li+li{border-top:1px solid var(--line)}.upstream-session-list li strong,.upstream-session-list li span{display:block}.upstream-session-list li>div:first-child strong{overflow-wrap:anywhere;font-size:var(--font-size-base)}.upstream-session-list li>div:first-child{min-width:0}.upstream-session-list li>div span{margin-top:3px;color:var(--muted);font-size:var(--font-size-xs);overflow-wrap:anywhere}.upstream-session-list li .upstream-session-device{color:var(--text);font-weight:var(--font-weight-medium)}.upstream-session-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.upstream-session-actions .state-pill{margin-top:0}.upstream-session-actions button{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:1px solid light-dark(#f0c6c0,#571d15);border-radius:9px;padding:0 10px;background:var(--surface);color:var(--danger);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.upstream-session-actions button:disabled{opacity:.5;cursor:not-allowed}.upstream-session-empty{margin:0;border-top:1px solid var(--line);padding:12px 14px;color:var(--muted);font-size:var(--font-size-xs)}.virtual-user-permissions{display:flex;gap:6px;flex-wrap:wrap}.virtual-user-permissions span,.state-pill{border-radius:999px;padding:5px 9px;background:var(--surface-strong);color:light-dark(#526052,#99a899);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.state-pill.active{background:light-dark(#e4f2d7,#2d4517);color:var(--green-deep)}.state-pill.inactive{background:light-dark(#f4e4df,#3d2219);color:var(--danger)}.state-pill.fresh{background:light-dark(#e4f2d7,#2d4517);color:var(--green-deep)}.state-pill.expiring{background:light-dark(#fff0ce,#583e02);color:light-dark(#765b11,#edcf7f)}.state-pill.expired,.state-pill.missing{background:light-dark(#f4e4df,#3d2219);color:var(--danger)}.state-pill.remember{background:light-dark(#e3edf6,#1d3245);color:light-dark(#31597d,#a3c6e4)}.state-pill.unassigned{background:light-dark(#fff0ce,#583e02);color:light-dark(#765b11,#edcf7f)}.virtual-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.virtual-user-actions button{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.virtual-user-actions .danger-action{border-color:light-dark(#f0c6c0,#571d15);color:var(--danger)}.settings-side{display:grid;gap:16px;min-width:0}.community-template-panel{grid-column:1 / -1}.community-template-list{display:grid;gap:10px;margin-top:14px}.community-template-card{align-items:center;border:1px solid var(--line);border-radius:12px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;padding:12px}.community-template-card span{display:grid;gap:3px;min-width:0}.community-template-card small{color:var(--muted)}.community-template-card>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:border-color .16s ease,background .16s ease,color .16s ease}.community-template-card>button:not(.danger-action):hover,.community-template-card>button:not(.danger-action):focus-visible{border-color:light-dark(rgba(40,99,69,.3),rgba(148,212,179,.3));background:light-dark(#f1f6ec,#2a3027);color:var(--green)}.community-template-card>.danger-action{width:34px;padding:0;border-color:light-dark(#f0c6c0,#571d15);color:var(--danger)}.community-template-card>.danger-action:hover,.community-template-card>.danger-action:focus-visible{border-color:light-dark(#e3aaa2,#743126);background:light-dark(#fff3f1,#321f1b)}.placeholder-editor.action-dialog.community-template-dialog{width:min(100%,640px);overflow:hidden}.action-dialog.community-template-dialog .community-template-editor{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;overflow:hidden}.action-dialog.community-template-dialog .placeholder-editor-fields{min-height:0;overflow:auto;padding-bottom:4px}.action-dialog.community-template-dialog .editor-footer{background:var(--surface);border-top:1px solid var(--line)}.community-template-dialog-title{display:grid;gap:5px;min-width:0}.community-template-dialog-title p{margin:0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.45}.community-template-editor label{display:grid;gap:6px;font-weight:var(--font-weight-bold)}.community-template-fieldset{display:grid;gap:12px;min-width:0;margin:0;border:1px solid var(--line);border-radius:14px;padding:14px;background:light-dark(#fbfcf8,#20261e)}.community-template-fieldset legend{padding:0 7px;color:var(--green);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.community-template-fieldset>small{margin-top:-3px;color:var(--muted);font-size:var(--font-size-2xs);line-height:1.4}.reclub-setup-flow{display:grid;gap:14px;max-width:920px}.reclub-connection-panel .settings-panel-heading{align-items:flex-start}.reclub-connection-panel .state-pill{display:inline-flex;align-items:center;gap:5px}.reclub-owner-connection,.reclub-owner-empty{display:grid;gap:16px;margin-top:18px}.reclub-owner-empty p,.reclub-template-step-label p{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.55}.reclub-owner-empty .primary-button{justify-self:start}.reclub-owner-identity{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--surface-strong);color:var(--green)}.reclub-owner-identity span{display:grid;gap:3px}.reclub-owner-identity small{color:var(--muted)}.reclub-owner-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}.reclub-owner-details div{display:grid;gap:4px;padding:13px 14px}.reclub-owner-details div+div{border-left:1px solid var(--line)}.reclub-owner-details dt{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.reclub-owner-details dd{margin:0;overflow-wrap:anywhere;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.reclub-owner-actions{display:flex;flex-wrap:wrap;gap:9px}.reclub-owner-actions button{display:inline-flex;align-items:center;gap:7px}.reclub-flow-arrow{justify-self:center;color:var(--muted);font-size:var(--font-size-xl)}.reclub-template-step-label{display:grid;gap:5px;margin:0 4px 10px}.reclub-template-step-label .panel-label{margin:0}@media(max-width:720px){.reclub-owner-details{grid-template-columns:1fr}.reclub-owner-details div+div{border-top:1px solid var(--line);border-left:0}.reclub-owner-actions{display:grid}}.version-panel{margin-top:16px}.refresh-app-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--line);border-radius:11px;padding:0 13px;background:light-dark(#fbfcf8,#242520);color:var(--green);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.refresh-app-button:disabled{cursor:wait;opacity:.72}.version-refresh-status{margin-top:12px}.version-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:light-dark(#fbfcf8,#242520)}.version-card{display:grid;gap:14px;min-width:0;padding:16px}.version-card+.version-card{border-left:1px solid var(--line)}.version-card>div:first-child{display:grid;gap:3px}.version-card>div:first-child span{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.version-card>div:first-child strong{font-size:var(--font-size-base)}.version-card dl{display:grid;gap:10px;margin:0}.version-card dl div{display:flex;align-items:center;justify-content:space-between;gap:14px}.version-card dt{flex:0 0 auto;color:var(--muted);font-size:var(--font-size-xs)}.version-card dd{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px;margin:0;color:light-dark(#39433b,#c1cbbf);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-align:right}.version-card dd span{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.version-card .monospace-value span{font-family:var(--font-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-tight)}.version-copy-button{display:inline-grid;flex:0 0 auto;width:28px;min-height:28px;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--green);cursor:pointer}.theme-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}.theme-picker button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid var(--line);border-radius:11px;background:light-dark(#fbfcf8,#242520);color:light-dark(#526052,#99a899);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.theme-picker button.selected{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:light-dark(#edf4e5,#2a361d);color:var(--green)}.theme-picker-note{margin:12px 0 0;color:var(--muted);font-size:var(--font-size-2xs);line-height:1.45}.settings-info dl{display:grid;gap:10px;margin:16px 0}.settings-info dl div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:10px}.settings-info dt{color:var(--muted);font-size:var(--font-size-xs)}.settings-info dd{margin:0;font-weight:var(--font-weight-bold);text-align:right}.settings-info p,.empty-state{margin:0;color:var(--muted);line-height:1.55}.empty-state{border:1px dashed var(--line);border-radius:14px;padding:18px;background:light-dark(#fbfcf8,#242520)}.virtual-user-editor{width:min(100%,780px)}.mitra-list{display:grid;gap:12px}.mitra-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:light-dark(#fbfcf8,#242520)}.mitra-card>header{display:grid;gap:6px;padding:14px}.mitra-card-title{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.mitra-card-title strong{font-size:var(--font-size-md);overflow-wrap:anywhere}.mitra-meta{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:var(--font-size-xs)}.mitra-id{overflow:hidden;min-width:0;max-width:320px;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--font-size-2xs)}.mitra-icon-button{display:inline-grid;flex:0 0 auto;width:26px;min-height:26px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green);cursor:pointer}.mitra-rename-form{display:flex;align-items:center;gap:6px;min-width:0}.mitra-rename-form input{min-width:0;width:min(100%,260px)}.mitra-rename-form button{display:inline-grid;flex:0 0 auto;width:30px;min-height:30px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green);cursor:pointer}.mitra-account-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.mitra-account-list li{display:grid;grid-template-columns:minmax(170px,1fr) max-content max-content;gap:12px;align-items:center;padding:11px 14px}.mitra-account-list li+li{border-top:1px solid var(--line)}.mitra-account-list li>div:first-child{min-width:0}.mitra-account-list li strong{display:block;overflow-wrap:anywhere;font-size:var(--font-size-base)}.mitra-account-list li>div:first-child span{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-xs)}.mitra-account-pills{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.mitra-account-pills .state-pill{display:inline-flex;align-items:center;gap:4px}.state-pill.master{background:light-dark(#e3edf6,#1d3245);color:light-dark(#31597d,#a3c6e4)}.mitra-account-empty{margin:0;border-top:1px solid var(--line);padding:12px 14px;color:var(--danger);font-size:var(--font-size-xs)}.mitra-claim-row{border-top:1px solid var(--line);padding:11px 14px}.mitra-claim-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface);color:var(--green);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.mitra-claim-note{display:flex;align-items:center;gap:7px;margin:0 0 12px;border:1px dashed var(--line);border-radius:11px;padding:10px 12px;color:var(--muted);font-size:var(--font-size-xs)}.mitra-register-note{margin:0;color:var(--muted);font-size:var(--font-size-xs);line-height:1.5}.mitra-reclub-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:13px 14px;background:var(--surface-strong)}.mitra-reclub-row>div{display:grid;gap:3px;min-width:0}.mitra-reclub-row .panel-label{margin:0 0 2px}.mitra-reclub-row strong,.mitra-reclub-row small{overflow-wrap:anywhere}.mitra-reclub-row>.mitra-reclub-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.mitra-reclub-actions .danger-action{border-color:light-dark(#f0c6c0,#571d15);color:var(--danger)}.mitra-feature-toggle{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:999px;padding:0 10px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.mitra-feature-toggle>span{width:9px;height:9px;border-radius:50%;background:var(--muted)}.mitra-feature-toggle.enabled{border-color:light-dark(#bad7c2,#315840);background:light-dark(#edf6ee,#20362a);color:var(--green)}.mitra-feature-toggle.enabled>span{background:var(--green)}.mitra-reclub-row strong{font-size:var(--font-size-base)}.mitra-reclub-row small{color:var(--muted);font-size:var(--font-size-xs)}.reclub-credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reclub-verify-button{justify-self:start}.reclub-verified-user{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--surface-strong);color:var(--green);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.reclub-club-picker{display:grid;gap:9px;margin:0;border:0;padding:0}.reclub-club-picker legend{margin-bottom:7px;padding:0;color:var(--ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.reclub-club-picker label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--surface);cursor:pointer}.reclub-club-picker label:has(input:checked){border-color:var(--green);background:var(--surface-strong)}.reclub-club-picker label.disabled{opacity:.58;cursor:not-allowed}.reclub-club-picker input{width:auto;margin-top:3px}.reclub-club-picker span{display:grid;gap:3px}.reclub-club-picker strong{font-size:var(--font-size-sm)}.reclub-club-picker small{color:var(--muted);font-size:var(--font-size-xs)}@media(max-width:640px){.mitra-account-list li{grid-template-columns:minmax(0,1fr)}.mitra-account-pills,.mitra-account-list li .virtual-user-actions{justify-content:flex-start}.mitra-reclub-row{align-items:flex-start;flex-direction:column}.mitra-reclub-row>.mitra-reclub-actions{justify-content:flex-start}.reclub-credential-grid{grid-template-columns:minmax(0,1fr)}}.permission-picker{display:grid;gap:16px}.permission-panel{display:grid;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;background:light-dark(#fbfcf8,#242520)}.permission-panel-heading{display:grid;gap:5px}.permission-panel-heading>span{color:light-dark(#39433b,#b6c1b8);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.permission-panel-heading>p{color:var(--muted);font-size:var(--font-size-xs);line-height:1.45;margin:0}.screen-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-permission-panel{gap:14px}.calendar-permission-map{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:light-dark(#fffef9,#20221d)}.calendar-permission-group{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);gap:16px;padding:14px;border-top:1px solid var(--line)}.calendar-permission-group:first-child{border-top:0}.calendar-permission-group-heading{display:grid;align-content:flex-start;gap:5px}.calendar-permission-group-heading strong{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.calendar-permission-group-heading small{color:var(--muted);font-size:var(--font-size-xs);line-height:1.4}.calendar-permission-options{display:grid;gap:10px}.calendar-permission-options.multi{grid-template-columns:minmax(0,1fr)}.permission-check-row{align-items:flex-start;min-width:0;border:1px solid var(--line);border-radius:12px;padding:10px;background:light-dark(#fffef9,#20221d)}.calendar-permission-option{background:light-dark(#fbfcf8,#242520)}.permission-check-row input{flex:0 0 auto;margin-top:2px}.permission-check-row span{display:grid;gap:3px;min-width:0}.permission-check-row strong{color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.25}.permission-check-row small{color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:1.35}@media(max-width:760px){.screen-permission-grid,.calendar-permission-group,.calendar-permission-options.multi{grid-template-columns:minmax(0,1fr)}.calendar-permission-group{gap:12px}}@media(max-width:520px){.version-panel .settings-panel-heading{align-items:stretch;flex-direction:column}.refresh-app-button{width:100%}}.schedule-active{display:flex;align-items:center;gap:10px;margin:6px 0 16px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--muted)}.schedule-active input{width:18px;height:18px;flex:none}.schedule-editor{display:flex;flex-direction:column;gap:10px}.schedule-day{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--surface);transition:border-color .15s ease}.schedule-day.is-managed{border-color:light-dark(#c7d6bd,#3c4a35);box-shadow:inset 3px 0 0 var(--green)}.schedule-day-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.schedule-day-toggle{display:flex;align-items:center;gap:10px;min-width:128px;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--ink);cursor:pointer}.schedule-day-toggle input{width:18px;height:18px;flex:none}.schedule-day-toggle span{font-weight:var(--font-weight-semibold)}.schedule-hours{display:flex;align-items:center;gap:10px}.schedule-hours input{width:7.5rem;padding:9px 12px}.schedule-dash,.schedule-muted{color:var(--muted);font-size:var(--font-size-sm)}.schedule-copy{margin-left:auto;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--green-deep);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer}.schedule-copy:hover{border-color:var(--green)}.schedule-bands{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;padding-left:28px;border-top:1px solid var(--line)}.schedule-band{display:grid;grid-template-columns:7rem 7rem 11rem minmax(9rem,13rem) 2.25rem;gap:10px;align-items:center}.schedule-band input,.schedule-band select{padding:9px 12px}.schedule-band-head{padding-bottom:2px;color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.03em}.price-field{display:flex;align-items:center;gap:6px;padding-left:12px;border:1px solid var(--line);border-radius:12px;background:light-dark(#fbfcf8,#242520)}.price-field:focus-within{border-color:var(--green);box-shadow:0 0 0 4px light-dark(rgba(40,99,69,.12),rgba(148,212,179,.12))}.price-field span{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.price-field input{border:0;background:transparent;padding:9px 12px 9px 0}.price-field input:focus{box-shadow:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer}.icon-button:hover{border-color:var(--danger);color:var(--danger)}.schedule-add-band{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--green-deep);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.schedule-add-band:hover{border-color:var(--green)}.schedule-exceptions{margin-top:24px}.schedule-exceptions h2{margin:0 0 4px;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.schedule-exceptions .schedule-muted{margin:0 0 12px}.schedule-exception{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:var(--font-size-sm)}.schedule-exception input[type=date]{width:auto;padding:9px 12px}.schedule-exception>span:first-child{min-width:6.5rem;font-weight:var(--font-weight-semibold)}.schedule-exception button:not(.icon-button){padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);color:var(--green-deep);font-weight:var(--font-weight-semibold);cursor:pointer}.schedule-exception .icon-button{width:32px;height:32px}.schedule-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.schedule-actions button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:var(--font-weight-semibold);cursor:pointer;transition:border-color .15s ease,opacity .15s ease}.schedule-actions button:hover:not(:disabled){border-color:var(--green)}.schedule-actions button:disabled{opacity:.5;cursor:not-allowed}.schedule-actions button.is-primary{background:var(--green);border-color:var(--green);color:#fff}.schedule-actions .schedule-delete{margin-left:auto;color:var(--danger)}.schedule-actions .schedule-delete:hover:not(:disabled){border-color:var(--danger)}.schedule-save-status{display:inline-flex;align-items:center;gap:6px;align-self:center;min-width:8rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--muted)}.schedule-save-status.is-saved{color:var(--green-deep)}.schedule-save-status.is-error{color:var(--danger)}.schedule-review-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:light-dark(rgba(20,26,20,.34),rgba(0,0,0,.5));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.schedule-review-dialog{width:min(560px,100%);max-height:88vh;overflow-y:auto;padding:20px 22px 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 24px 60px #00000047}.schedule-review-dialog h2{margin:10px 0 4px;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.schedule-review-summary{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;padding:0}.schedule-review-summary li{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-strong);font-size:var(--font-size-sm);color:var(--muted)}.schedule-review-summary li strong{display:block;font-size:var(--font-size-md);color:var(--ink)}.schedule-review-summary li.has-conflicts{border-color:var(--danger)}.schedule-review-summary li.has-conflicts strong{color:var(--danger)}.schedule-review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.schedule-review-actions button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:var(--font-weight-semibold);cursor:pointer}.schedule-review-actions button:disabled{opacity:.5;cursor:not-allowed}.schedule-review-actions button.is-primary{background:var(--green);border-color:var(--green);color:#fff}.schedule-issues{margin:8px 0 0;padding-left:20px}.schedule-issues li{margin:2px 0;font-weight:var(--font-weight-medium)}.schedule-result{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.schedule-result p{margin:4px 0}.schedule-conflict{color:var(--danger);font-weight:var(--font-weight-medium)}.schedule-plan{margin:12px 0 0;padding-left:18px;font-size:var(--font-size-sm);max-height:340px;overflow-y:auto}.schedule-plan li{margin:4px 0}.schedule-plan-band{color:var(--muted)}@media(max-width:720px){.schedule-band{grid-template-columns:1fr 1fr}.schedule-band-head{display:none}.schedule-band .price-field,.schedule-band select{grid-column:1 / -1}}.calendar-page{display:grid;gap:12px;height:100%;min-height:0;grid-template-rows:auto auto minmax(0,1fr)}.calendar-page.has-feedback{grid-template-rows:auto auto auto minmax(0,1fr)}.calendar-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.calendar-topbar h1{margin:0;font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.calendar-topbar p{max-width:520px;margin:5px 0 0;color:var(--muted);line-height:1.5}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.user-chip{border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:var(--surface);color:light-dark(#516052,#99a99a);font-size:var(--font-size-xs)}.desktop-view-toggle-button{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:999px;padding:0;background:var(--surface);color:var(--green);cursor:pointer}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:light-dark(rgba(255,255,255,.74),rgba(33,33,33,.74))}.toolbar-nav,.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.toolbar-actions{margin-left:auto}.calendar-create-menu-root{position:relative}.calendar-create-menu-trigger{display:inline-flex;min-height:38px;align-items:center;gap:7px;border:1px solid transparent;border-radius:11px;padding:0 13px;background:var(--green);color:light-dark(#fff,#fff);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.calendar-create-menu{position:absolute;z-index:20;top:calc(100% + 8px);right:0;display:grid;gap:5px;width:240px;border:1px solid var(--line);border-radius:14px;padding:7px;background:var(--surface);box-shadow:light-dark(0 18px 42px rgba(23,33,27,.18),0 18px 42px rgba(0,0,0,.42))}.calendar-create-menu button{display:flex;align-items:flex-start;gap:10px;width:100%;border:0;border-radius:10px;padding:10px;background:transparent;color:var(--green);text-align:left;cursor:pointer}.calendar-create-menu button:hover{background:light-dark(#f1f6ec,#272f1f)}.calendar-create-menu button span{display:grid;gap:2px}.calendar-create-menu strong{color:var(--ink);font-size:var(--font-size-xs)}.calendar-create-menu small{color:var(--muted);font-size:var(--font-size-2xs);line-height:1.3}.segmented-control,.date-controls{display:inline-flex;align-items:center;gap:6px}.segmented-control{padding:4px;border:1px solid var(--line);border-radius:12px;background:light-dark(#f7f9f3,#262920)}.segmented-control button,.date-controls>button{min-height:36px;border:0;border-radius:9px;padding:0 12px;background:transparent;color:light-dark(#526052,#99a899);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer}.segmented-control button.selected{background:var(--green);color:#fff}.date-controls{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:4px}.date-select{position:relative}.date-select-trigger{display:inline-flex;align-items:center;gap:8px;min-width:158px;min-height:36px;border:0;border-radius:8px;padding:0 10px;background:transparent;color:var(--ink);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);white-space:nowrap}.date-select-trigger svg{flex:0 0 auto;color:var(--green)}.date-select-trigger:hover,.date-select-trigger.is-open{background:light-dark(#f1f6ec,#272f1f)}.date-select-popover{position:absolute;z-index:40;top:calc(100% + 10px);left:50%;display:grid;gap:10px;width:278px;border:1px solid var(--line);border-radius:16px;padding:12px;background:light-dark(#fbfcf8,#242520);box-shadow:0 18px 42px light-dark(rgba(23,33,27,.18),rgba(0,0,0,.42)),0 2px 8px light-dark(rgba(23,33,27,.08),rgba(0,0,0,.24));transform:translate(-50%)}@media(prefers-reduced-motion:no-preference){.date-select-popover{animation:date-select-in .16s cubic-bezier(.2,0,0,1)}}@keyframes date-select-in{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.date-select-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.date-select-nav strong{color:var(--ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.date-select-nav button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:9px;padding:0;background:light-dark(#fff,#212121);color:var(--green);cursor:pointer}.date-select-nav button:hover{border-color:light-dark(rgba(40,99,69,.3),rgba(148,212,179,.3));background:light-dark(#edf4e5,#2a361d)}.date-select-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.date-select-grid>span{padding-bottom:2px;color:light-dark(#97a298,#5e695f);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-align:center;text-transform:uppercase}.date-select-grid button{display:grid;aspect-ratio:1;min-height:32px;place-items:center;border:1px solid transparent;border-radius:9px;padding:0;background:light-dark(#fff,#212121);color:light-dark(#39433b,#b6c1b8);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.date-select-grid button:hover{border-color:light-dark(rgba(40,99,69,.3),rgba(148,212,179,.3));background:light-dark(#edf4e5,#2a361d)}.date-select-grid button.outside{color:light-dark(#b8c0b8,#464f46);background:transparent}.date-select-grid button.today{border-color:light-dark(rgba(40,99,69,.35),rgba(148,212,179,.35))}.date-select-grid button.selected,.date-select-grid button.selected:hover{border-color:var(--green);background:var(--green);color:#fff}.today-button{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:11px;padding:0;background:var(--surface);color:var(--green);cursor:pointer}.today-button:hover{background:light-dark(#f1f6ec,#272f1f);border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28))}.toolbar-icon-button{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:light-dark(#526052,#99a899);cursor:pointer}.toolbar-icon-button:hover{background:light-dark(#f1f6ec,#272f1f);color:var(--green)}.placeholder-create-button,.real-booking-create-button,.community-meet-create-button,.revenue-visibility-button,.summary-toggle-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:0 14px;background:var(--surface);color:light-dark(#526052,#99a899);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.revenue-visibility-button,.summary-toggle-button{width:38px;gap:0;padding:0}.real-booking-create-button{border-color:transparent;background:var(--green);color:#fff}.real-booking-create-button:hover{background:light-dark(#173f2b,#245c41)}.placeholder-create-button{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));color:var(--green)}.placeholder-create-button:hover{background:light-dark(#f1f6ec,#272f1f)}.community-meet-create-button{border-color:light-dark(rgba(183,119,22,.35),rgba(232,165,64,.35));background:light-dark(#fff9e9,#352e16);color:light-dark(#805513,#ebbc75)}.community-meet-create-button:hover{background:light-dark(#fff2cb,#41350f)}.revenue-visibility-button.selected,.summary-toggle-button.selected{border-color:light-dark(rgba(40,99,69,.2),rgba(148,212,179,.2));background:light-dark(#edf4e5,#2a361d);color:var(--green)}.calendar-layout{position:relative;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;height:100%;min-height:0}.calendar-page.has-feedback .calendar-layout{grid-row:4}.calendar-layout.summary-collapsed{grid-template-columns:minmax(0,1fr)}.calendar-main-panel,.calendar-detail,.calendar-error,.calendar-loading{border:1px solid var(--line);border-radius:18px;background:var(--surface)}.calendar-main-panel{position:relative;height:100%;max-height:none;min-width:0;overflow:hidden}.calendar-scroll-area{height:100%;min-width:0;overflow:auto}.calendar-main-panel:after{position:absolute;right:0;bottom:0;left:0;z-index:4;display:block;height:42px;pointer-events:none;content:"";background:linear-gradient(180deg,light-dark(rgba(255,255,255,0),rgba(33,33,33,0)),light-dark(rgba(244,246,241,.92),rgba(38,41,34,.92)))}.calendar-loading,.calendar-error{padding:24px;color:var(--muted)}.calendar-error{background:light-dark(#fff4f2,#2c1d1a);color:var(--danger)}.calendar-feedback{display:grid;gap:8px}.calendar-status-message{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:14px;margin:0;border:1px solid light-dark(rgba(40,99,69,.12),rgba(148,212,179,.12));border-radius:14px;padding:9px 10px 9px 14px;background:light-dark(#edf4e5,#2a361d);color:var(--green);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.calendar-status-message span{min-width:0;line-height:1.35}.calendar-status-message button{display:inline-grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border:1px solid light-dark(rgba(40,99,69,.14),rgba(148,212,179,.14));border-radius:999px;background:light-dark(rgba(255,255,255,.62),rgba(33,33,33,.62));color:currentColor;cursor:pointer}.calendar-status-message button:hover,.calendar-status-message button:focus-visible{background:light-dark(rgba(255,255,255,.92),rgba(33,33,33,.92))}.calendar-status-message.error{border-color:light-dark(rgba(161,50,50,.2),rgba(203,87,87,.2));background:light-dark(#fae8e6,#371b18);color:var(--danger)}.calendar-status-message.warning{border-color:light-dark(rgba(183,119,22,.24),rgba(232,165,64,.24));background:light-dark(#fff4d5,#4e3c08);color:light-dark(#805513,#ebbc75)}.scroll-more-indicator{position:absolute;right:18px;z-index:5;display:flex;width:max-content;align-items:center;gap:8px;margin:0;border:1px solid light-dark(rgba(40,99,69,.22),rgba(148,212,179,.22));border-radius:999px;padding:9px 12px;background:light-dark(rgba(255,255,255,.96),rgba(33,33,33,.96));box-shadow:0 8px 20px #17211b14;color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);pointer-events:none}.scroll-more-indicator.below{bottom:14px}.scroll-more-indicator.above{top:78px}.scroll-more-indicator.below svg{transform:rotate(90deg)}.scroll-more-indicator.above svg{transform:rotate(-90deg)}.day-calendar{min-width:850px}.day-calendar-header{display:grid;grid-template-columns:132px repeat(var(--court-count, 2),minmax(220px,1fr));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3;background:var(--surface)}.day-calendar-header>div{padding:16px;border-right:1px solid var(--line);color:light-dark(#435044,#a9b7aa);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.day-calendar-header>div:first-child{display:grid;gap:4px;align-content:center;color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.day-calendar-header strong{color:var(--ink);font-size:var(--font-size-base);line-height:1.15}.day-calendar-summary strong{font-size:var(--font-size-xs);white-space:nowrap}.day-hold-metric{color:light-dark(#8d6b32,#bca36d);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.day-hold-metric.empty{visibility:hidden}.day-calendar-grid{display:grid;grid-template-columns:132px repeat(var(--court-count, 2),minmax(220px,1fr));min-height:1180px;overflow:hidden}.time-axis{position:relative;border-right:1px solid var(--line);background:light-dark(#f8faf5,#252720)}.time-axis span{position:absolute;left:0;width:100%;padding:0 12px;transform:translateY(-50%);color:light-dark(#899187,#6f776d);font-size:var(--font-size-2xs);line-height:1}.time-axis span:first-child{transform:translateY(6px)}.time-axis span:last-child{transform:translateY(-100%)}.court-lane{position:relative;border-right:1px solid var(--line);background:light-dark(#fff,#212121)}.day-slot-button{position:absolute;left:8px;right:8px;z-index:0;display:grid;place-items:center;border:1px dashed transparent;border-radius:10px;background:transparent;color:transparent;cursor:pointer}.day-slot-button:hover{border-color:light-dark(rgba(183,119,22,.32),rgba(232,165,64,.32));background:light-dark(rgba(255,247,223,.55),rgba(65,53,15,.55));color:light-dark(#b77716,#e8a540)}.day-slot-button span{display:grid;width:22px;height:22px;place-items:center;border-radius:999px;background:transparent;font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.day-slot-button:hover span,.day-slot-button:focus-visible span{background:light-dark(rgba(183,119,22,.12),rgba(232,165,64,.12))}.hour-line{display:block;height:calc(100% / var(--time-slot-count, 37));border-bottom:1px solid light-dark(rgba(223,229,216,.78),rgba(51,60,40,.78))}.booking-block{position:absolute;left:10px;right:10px;display:flex;flex-direction:column;gap:2px;min-height:64px;border:1px solid var(--booking-border, light-dark(rgba(40, 99, 69, .18), rgba(148, 212, 179, .18)));border-radius:12px;padding:8px 10px 8px 16px;background:var(--booking-bg, light-dark(#eef6e9, #25321e));box-shadow:0 12px 24px #173f2b14;cursor:pointer;overflow:hidden;text-align:left;z-index:1;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.booking-block:before{content:"";position:absolute;top:8px;bottom:8px;left:7px;width:4px;border-radius:999px;background:var(--booking-rail, var(--booking-accent, var(--green)))}.booking-block:hover,.booking-block:focus-visible{box-shadow:0 16px 32px #173f2b24;transform:translateY(-1px)}.booking-block:focus-visible{outline:3px solid light-dark(rgba(204,225,95,.58),rgba(141,163,31,.58))}.booking-block.selected{outline:3px solid light-dark(rgba(204,225,95,.58),rgba(141,163,31,.58))}.booking-block>*{flex:0 0 auto}.booking-block strong{display:-webkit-box;overflow:hidden;color:var(--booking-ink, light-dark(#1f3e2d, #b9dcc9));font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.booking-block span,.booking-block small{color:var(--booking-muted, light-dark(#526052, #99a899));font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.booking-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.booking-block-head strong{min-width:0}.booking-block-flags{display:flex;flex:0 0 auto;align-items:center;gap:5px;color:var(--booking-muted, light-dark(#526052, #99a899))}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(128px,1fr));container:week-grid / inline-size;gap:1px;height:100%;min-height:100%;background:var(--line);overflow-x:auto}@media(prefers-reduced-motion:no-preference){.week-calendar[data-direction=forward]{animation:week-slide-forward .26s cubic-bezier(.2,0,0,1)}.week-calendar[data-direction=back]{animation:week-slide-back .26s cubic-bezier(.2,0,0,1)}.calendar-page.week-mode .calendar-scroll-area{overflow-x:hidden}}@keyframes week-slide-forward{0%{opacity:0;transform:translate(3%)}to{opacity:1;transform:none}}@keyframes week-slide-back{0%{opacity:0;transform:translate(-3%)}to{opacity:1;transform:none}}.week-day{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);container:week-column / inline-size;gap:12px;height:100%;min-height:0;overflow:hidden;padding:14px var(--week-day-pad) 0;background:light-dark(#fff,#212121);--week-day-pad: 14px}.week-day.selected{background:linear-gradient(180deg,light-dark(rgba(40,99,69,.035),rgba(148,212,179,.04)),light-dark(#fff,#212121) 80px)}.week-day.selected:before{position:absolute;top:0;right:0;left:0;height:3px;content:"";background:var(--green)}.week-day-top{display:grid;gap:12px}.week-day-header{display:grid;gap:8px;width:100%;border:0;border-radius:18px;padding:18px 18px 14px;background:light-dark(#f8faf5,#252720);cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.week-day-header:hover{background:light-dark(#f1f6eb,#28301f);box-shadow:inset 0 0 0 1px light-dark(rgba(40,99,69,.14),rgba(148,212,179,.14))}.week-day-header:focus-visible{outline:3px solid light-dark(rgba(40,99,69,.18),rgba(148,212,179,.18));outline-offset:3px;box-shadow:inset 0 0 0 1px light-dark(rgba(40,99,69,.2),rgba(148,212,179,.2))}.week-day-header:active{transform:translateY(1px)}.week-day-weekday{color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.week-day-header strong{color:var(--ink);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.week-day-header small{color:light-dark(#526052,#99a899);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.week-day-counts{display:grid;gap:5px;min-width:0;font-size:var(--font-size-xs)}.week-day-counts span{overflow:hidden;color:inherit;text-overflow:ellipsis}.week-day-counts>span:first-child{white-space:nowrap}.occupancy-bar{position:relative;display:block;overflow:hidden;height:6px;border-radius:999px;background:light-dark(#e5ebdd,#303a22)}.occupancy-bar>span{position:absolute;left:0;display:block;border-radius:inherit}.occupancy-bar-real{top:0;height:100%;background:var(--green)}.week-day-metrics{display:grid;gap:4px;color:light-dark(#6d756e,#868e87);line-height:1.25}.week-day-metrics span,.week-day-metrics em{margin:0;font-size:var(--font-size-2xs);font-style:normal;font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.week-day-counts .week-hold-metric{color:light-dark(#8d6b32,#bca36d);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.week-hold-metric.empty{visibility:hidden}.week-timeline{display:flex;flex-direction:column;flex:1 1 auto;gap:7px;min-height:0;overflow:auto;padding:12px 2px 18px 0;scrollbar-gutter:stable}.week-day-body{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:visible;border-top:1px solid light-dark(rgba(223,229,216,.86),rgba(51,60,40,.86));border-bottom:1px solid light-dark(rgba(223,229,216,.92),rgba(51,60,40,.92))}.week-day-body:before,.week-day-body:after{position:absolute;right:calc(var(--week-day-pad) * -1);left:calc(var(--week-day-pad) * -1);z-index:2;display:block;height:24px;pointer-events:none;opacity:0;content:"";transition:opacity .16s ease}.week-day-body:before{top:0;background:linear-gradient(180deg,light-dark(rgba(23,33,27,.12),rgba(0,0,0,.26)),light-dark(rgba(23,33,27,.035),rgba(0,0,0,.08)) 38%,light-dark(rgba(23,33,27,0),rgba(0,0,0,0)))}.week-day-body:after{bottom:0;height:24px;background:linear-gradient(0deg,light-dark(rgba(23,33,27,.12),rgba(0,0,0,.26)),light-dark(rgba(23,33,27,.035),rgba(0,0,0,.08)) 38%,light-dark(rgba(23,33,27,0),rgba(0,0,0,0)))}.week-day-body.has-hidden-above:before,.week-day-body.has-hidden-below:after{opacity:1}.week-time-group,.week-time-group-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.week-timeline>*{min-width:0}.week-timeline>*+.week-time-group{margin-top:5px}.week-time-heading{margin:0;color:light-dark(#778176,#7c867b);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.week-timeline .week-booking-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;width:100%;border:1px solid var(--booking-border, light-dark(rgba(40, 99, 69, .14), rgba(148, 212, 179, .14)));border-radius:10px;padding:8px 9px 8px 14px;background:var(--booking-bg, light-dark(#eff6ea, #26311e));cursor:pointer;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.week-timeline .week-booking-card:before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:3px;border-radius:999px;background:var(--booking-rail, var(--booking-accent, var(--green)))}.week-scroll-more-indicator{position:absolute;left:50%;z-index:3;display:flex;align-items:center;justify-content:center;width:20px;height:16px;color:light-dark(rgba(40,99,69,.66),rgba(148,212,179,.72));filter:drop-shadow(0 1px 2px light-dark(rgba(255,255,255,.88),rgba(0,0,0,.36)));pointer-events:none;transform:translate(-50%)}.week-scroll-more-indicator.above{top:4px}.week-scroll-more-indicator.below{bottom:6px}.week-scroll-more-indicator.above svg{transform:rotate(-90deg)}.week-scroll-more-indicator.below svg{transform:rotate(90deg)}.week-timeline .week-booking-card:hover,.week-timeline .week-booking-card:focus-visible{box-shadow:0 10px 22px #173f2b1c;transform:translateY(-1px)}.week-timeline .week-booking-card:focus-visible{outline:3px solid light-dark(rgba(204,225,95,.42),rgba(141,163,31,.42))}.week-timeline .week-card-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--booking-muted, light-dark(#687169, #8a938b))}.week-timeline .week-card-court{min-width:0;overflow:hidden;color:var(--booking-muted, inherit);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.week-timeline .week-card-flags{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;color:var(--booking-muted, light-dark(#687169, #8a938b))}.week-timeline .week-booking-card strong{overflow:hidden;color:var(--booking-ink, light-dark(#304433, #b4cab8));font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.week-timeline .availability-gap{display:flex;align-items:center;gap:5px;width:100%;border:1px dashed light-dark(rgba(119,129,118,.32),rgba(124,134,123,.28));border-radius:8px;padding:5px 8px;background:transparent;color:light-dark(#8a9388,#6d766b);cursor:pointer;text-align:left;transition:background .14s ease,border-color .14s ease,color .14s ease}.week-timeline .availability-gap svg{flex:0 0 auto;opacity:.75}.week-timeline .availability-gap span{min-width:0;overflow:hidden;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.week-timeline .availability-gap:hover:not(:disabled),.week-timeline .availability-gap:focus-visible{border-color:light-dark(rgba(40,99,69,.42),rgba(148,212,179,.4));background:light-dark(rgba(40,99,69,.06),rgba(148,212,179,.07));color:var(--green)}.week-timeline .availability-gap:disabled{cursor:default}.week-timeline .availability-gap:focus-visible{outline:3px solid light-dark(rgba(204,225,95,.42),rgba(141,163,31,.42))}@container week-grid (max-width: 1130px){.week-day{--week-day-pad: 9px}}@container week-column (max-width: 200px){.week-timeline .week-card-qualifier{display:none}.week-day-header{padding:14px 12px 12px}.week-day-header .week-day-counts{font-size:var(--font-size-2xs)}}@container week-column (max-width: 160px){.week-timeline .card-note-icon{display:none}.week-timeline .week-booking-card{padding-right:7px}}.tone-green{--booking-bg: light-dark(#eef6e9, #25321e);--booking-border: light-dark(rgba(40, 99, 69, .18), rgba(148, 212, 179, .18));--booking-accent: light-dark(#286345, #94d4b3);--booking-ink: light-dark(#1f3e2d, #b9dcc9);--booking-muted: light-dark(#526052, #99a899);--booking-pill: light-dark(rgba(204, 225, 95, .55), rgba(141, 163, 31, .55))}.tone-blue{--booking-bg: light-dark(#edf5ff, #182331);--booking-border: light-dark(rgba(39, 104, 174, .22), rgba(74, 142, 214, .22));--booking-accent: light-dark(#2768ae, #4a8ed6);--booking-ink: light-dark(#163b66, #90b8e7);--booking-muted: light-dark(#506a85, #7590ac);--booking-pill: light-dark(rgba(138, 191, 255, .44), rgba(0, 61, 136, .44))}.tone-amber{--booking-bg: light-dark(#fff7df, #41350f);--booking-border: light-dark(rgba(172, 116, 25, .24), rgba(229, 170, 75, .24));--booking-accent: light-dark(#b77716, #e8a540);--booking-ink: light-dark(#65470f, #efce90);--booking-muted: light-dark(#7c6b44, #b8a67d);--booking-pill: light-dark(rgba(255, 216, 111, .66), rgba(156, 114, 0, .66))}.tone-sky{--booking-bg: light-dark(#ecfbff, #172d32);--booking-border: light-dark(rgba(29, 131, 158, .22), rgba(88, 196, 224, .22));--booking-accent: light-dark(#1d839e, #58c4e0);--booking-ink: light-dark(#145469, #8cd2e9);--booking-muted: light-dark(#517583, #779cab);--booking-pill: light-dark(rgba(126, 219, 235, .5), rgba(21, 121, 139, .5))}.tone-mint{--booking-bg: light-dark(#eaf8f1, #1c3227);--booking-border: light-dark(rgba(28, 132, 91, .22), rgba(114, 225, 181, .22));--booking-accent: light-dark(#1c845b, #72e1b5);--booking-ink: light-dark(#15533c, #a3e8ce);--booking-muted: light-dark(#4e7163, #88ad9e);--booking-pill: light-dark(rgba(142, 224, 184, .48), rgba(34, 123, 79, .48))}.tone-slate{--booking-bg: light-dark(#f3f5f2, #252823);--booking-border: light-dark(rgba(102, 116, 102, .2), rgba(135, 149, 135, .2));--booking-accent: light-dark(#667466, #879587);--booking-ink: light-dark(#3b453d, #b4bfb6);--booking-muted: light-dark(#687169, #8a938b);--booking-pill: light-dark(rgba(211, 218, 208, .66), rgba(53, 63, 49, .66))}.tone-placeholder{--booking-bg: light-dark(#fdf6e5, #2f2614);--booking-border: light-dark(rgba(154, 79, 0, .24), rgba(255, 175, 90, .22));--booking-accent: light-dark(#9a4f00, #ffaf5a);--booking-ink: light-dark(#4a3208, #f3d2a6);--booking-muted: light-dark(#7d6432, #c5a878);--booking-pill: light-dark(rgba(154, 79, 0, .12), rgba(255, 175, 90, .16));--booking-rail: repeating-linear-gradient(180deg, light-dark(#9a4f00, #ffaf5a) 0 3px, transparent 3px 6px)}.tone-community-meet{--booking-bg: light-dark(#f4f2fd, #232033);--booking-border: light-dark(rgba(86, 71, 158, .22), rgba(163, 148, 232, .22));--booking-accent: light-dark(#56479e, #a394e8);--booking-ink: light-dark(#31285f, #c7bdf4);--booking-muted: light-dark(#6c649a, #9a92bd);--booking-pill: light-dark(rgba(86, 71, 158, .12), rgba(163, 148, 232, .16));--booking-rail: repeating-linear-gradient(180deg, light-dark(#56479e, #a394e8) 0 3px, transparent 3px 6px)}.tone-placeholder-conflict,.tone-placeholder-waitlist{--booking-bg: light-dark(#fdf1ee, #2c1c19);--booking-border: light-dark(rgba(184, 55, 48, .3), rgba(205, 72, 65, .3));--booking-accent: light-dark(#b83730, #cd4841);--booking-ink: light-dark(#54211d, #e0a8a3);--booking-muted: light-dark(#84605b, #ad837e);--booking-pill: light-dark(rgba(184, 55, 48, .12), rgba(205, 72, 65, .18));--booking-rail: repeating-linear-gradient(180deg, light-dark(#b83730, #cd4841) 0 3px, transparent 3px 6px)}.tone-booking-conflict{--booking-bg: light-dark(#fff2ef, #2f1d19);--booking-border: light-dark(rgba(184, 55, 48, .34), rgba(205, 72, 65, .34));--booking-accent: light-dark(#b83730, #cd4841);--booking-ink: light-dark(#56211d, #dfa5a0);--booking-muted: light-dark(#805853, #a97f7a);--booking-pill: light-dark(rgba(184, 55, 48, .13), rgba(205, 72, 65, .13))}.card-badge{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;border-radius:999px;padding:1px 6px;background:var(--booking-pill, transparent);color:var(--booking-accent, var(--green));font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);white-space:nowrap}.card-badge.is-alert{background:light-dark(rgba(184,55,48,.13),rgba(205,72,65,.2));color:light-dark(#b83730,#e59189)}.card-badge.is-warn{background:light-dark(rgba(154,79,0,.12),rgba(232,165,64,.18));color:light-dark(#8a5000,#e8a540)}.card-badge.is-meet{background:light-dark(rgba(86,71,158,.13),rgba(163,148,232,.2));color:light-dark(#56479e,#b3a6ef)}.card-tooltip{position:fixed;z-index:1000;display:grid;gap:8px;width:max-content;max-width:260px;border:1px solid light-dark(rgba(40,99,69,.16),rgba(148,212,179,.16));border-radius:12px;padding:12px 13px;background:light-dark(#ffffff,#212121);box-shadow:0 16px 38px #17211b29;pointer-events:none}.card-tooltip-title{color:light-dark(#1f2d24,#ccdcd1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1.3}.card-tooltip-meta{color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.card-tooltip-rows{display:grid;gap:6px;margin:0;padding-top:8px;border-top:1px solid light-dark(rgba(223,229,216,.9),rgba(51,60,40,.9))}.card-tooltip-rows>div{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:baseline}.card-tooltip-rows dt{margin:0;color:light-dark(#8a9388,#6d766b);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.card-tooltip-rows dd{margin:0;color:light-dark(#304433,#b4cab8);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);line-height:1.35;overflow-wrap:anywhere}.card-tooltip-rows dd.card-tooltip-notes{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.empty-slot{border:1px dashed var(--line);border-radius:10px;padding:9px;color:light-dark(#9ba397,#61695d);font-size:var(--font-size-2xs)}.open-day-link{align-self:end;margin-top:auto;border:0;border-radius:10px;padding:14px 10px 10px;background:light-dark(#f2f6ec,#282f1f);color:var(--green);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.calendar-detail{position:sticky;top:24px;display:grid;align-content:start;gap:16px;padding:18px;height:100%;max-height:100%;overflow:auto}.calendar-detail-modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:32px;background:light-dark(rgba(23,33,27,.26),rgba(0,0,0,.48));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.calendar-detail.calendar-detail-modal{position:static;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;width:min(760px,calc(100vw - 48px));height:auto;max-height:min(880px,calc(100vh - 64px));padding:20px 20px 18px;border-color:light-dark(rgba(40,99,69,.2),rgba(148,212,179,.2));background:light-dark(rgba(255,255,255,.97),rgba(28,32,27,.97));box-shadow:0 28px 72px light-dark(rgba(23,33,27,.22),rgba(0,0,0,.56)),0 4px 14px light-dark(rgba(23,33,27,.1),rgba(0,0,0,.32));overflow:hidden;overscroll-behavior:contain}@media(prefers-reduced-motion:no-preference){.calendar-detail-modal-backdrop{animation:calendar-detail-backdrop-in .16s ease-out}.calendar-detail.calendar-detail-modal{animation:calendar-detail-modal-in .2s cubic-bezier(.2,0,0,1)}}@keyframes calendar-detail-backdrop-in{0%{opacity:0}}@keyframes calendar-detail-modal-in{0%{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:none}}.panel-label{color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.detail-header{display:grid;gap:4px}.calendar-detail h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:1.25}.detail-intro{margin:0;max-width:36rem;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.45}.detail-body{display:grid;gap:12px}.calendar-detail.calendar-detail-modal .detail-body{min-height:0;overflow:auto;padding-right:2px;scrollbar-gutter:stable}.detail-hold-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.detail-section{display:flex;flex-direction:column;gap:14px;min-width:0;border:1px solid var(--line);border-radius:16px;padding:16px 16px 15px;background:light-dark(#fbfcf8,#20261e)}.detail-section-heading{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid light-dark(rgba(40,99,69,.08),rgba(148,212,179,.1))}.detail-section-heading span{color:var(--ink);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.detail-section-heading small{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.detail-facts{display:grid;gap:10px;margin:0}.detail-facts>div{display:grid;gap:3px;border-bottom:1px solid light-dark(rgba(40,99,69,.06),rgba(148,212,179,.08));padding-bottom:9px}.detail-facts>div:last-child{border-bottom:0;padding-bottom:0}.detail-facts dt{color:light-dark(#8a9387,#6e776b);font-size:var(--font-size-2xs)}.detail-facts dd{margin:0;color:light-dark(#344238,#b7c6bb);font-size:var(--font-size-xs);line-height:1.4;overflow-wrap:anywhere}.detail-facts>.detail-fact-notes{gap:5px}.detail-facts dd.detail-notes{white-space:pre-wrap;max-height:12rem;overflow:auto;text-align:left}.detail-status-pill{display:inline-flex;align-items:center;width:fit-content;color:inherit;font-weight:var(--font-weight-semibold)}.detail-status-pill.is-paid{color:light-dark(#2f6b45,#9fd4b2)}.detail-attribution{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;padding:12px 2px 2px;border-top:1px solid light-dark(rgba(40,99,69,.08),rgba(148,212,179,.1))}.detail-attribution>div{display:grid;gap:2px;min-width:0}.detail-attribution span{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.detail-attribution strong{color:var(--ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;line-height:1.35}.detail-conflict-alert{display:grid;gap:5px;border:1px solid light-dark(rgba(184,55,48,.22),rgba(205,72,65,.22));border-radius:12px;padding:11px 12px;background:light-dark(#fff7f4,#2a201b);color:light-dark(#6a2a25,#d7928d)}.detail-conflict-alert strong{color:light-dark(#b83730,#cd4841);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.detail-conflict-alert span{font-size:var(--font-size-2xs);line-height:1.35}.detail-conflict-alert.waitlist{border-color:light-dark(rgba(183,119,22,.22),rgba(232,165,64,.22));background:light-dark(#fff8e5,#3a2f13);color:light-dark(#73520d,#f1cd82)}.detail-conflict-alert.waitlist strong{color:light-dark(#9a4f00,#ffaf5a)}.community-meet-host-recovery{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid light-dark(rgba(161,50,50,.22),rgba(203,87,87,.22));border-radius:13px;padding:11px 12px;background:light-dark(#fff4f2,#2c1d1a);color:var(--danger)}.community-meet-host-recovery>span{display:grid;gap:2px}.community-meet-host-recovery strong{font-size:var(--font-size-xs)}.community-meet-host-recovery small{color:var(--muted);font-size:var(--font-size-2xs);line-height:1.35}.community-meet-host-recovery button{display:inline-flex;min-height:34px;align-items:center;gap:6px;border:1px solid currentColor;border-radius:9px;padding:0 9px;background:transparent;color:var(--danger);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);white-space:nowrap}.community-meet-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 0}.community-meet-quick-actions:has(>:only-child){grid-template-columns:1fr}.community-meet-quick-actions .community-meet-open-reclub{grid-column:1 / -1}.community-meet-quick-actions:has(>:nth-child(2):last-child) .community-meet-open-reclub{grid-column:auto}.community-meet-quick-actions .community-meet-quick-action{align-items:center;background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-2xs);font-weight:700;gap:6px;justify-content:center;min-height:38px;min-width:0;padding:7px 10px;text-align:center;text-decoration:none;white-space:nowrap}.community-meet-quick-actions .community-meet-quick-action span{overflow:hidden;text-overflow:ellipsis}.community-meet-quick-actions .community-meet-quick-action:disabled{cursor:wait;opacity:.55}.community-meet-share-fallback{display:grid;gap:8px;margin:8px 0 0;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-subtle)}.community-meet-share-fallback label{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.community-meet-share-fallback textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:var(--surface);color:var(--text);font:inherit;line-height:1.4}.community-meet-share-fallback-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.community-meet-share-fallback-actions button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-weight:var(--font-weight-bold);cursor:pointer}.community-meet-share-fallback-actions .community-meet-share-fallback-dismiss{background:transparent;color:var(--muted)}.calendar-detail-header-actions{display:flex;align-items:center;gap:8px}.panel-label-row .community-meet-refresh-action{display:inline-flex;width:auto;min-width:0;padding:0 10px;gap:5px;color:var(--green);font-size:var(--font-size-2xs);white-space:nowrap}.panel-label-row .community-meet-refresh-action:disabled{cursor:wait;opacity:.55}.calendar-detail .detail-facts .community-meet-schedule-row{align-items:flex-start;flex-direction:column;gap:4px}.detail-conflict-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.detail-conflict-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-conflict-row button{display:inline-flex;align-items:center;gap:5px;min-height:28px;border:1px solid light-dark(rgba(184,55,48,.18),rgba(205,72,65,.18));border-radius:9px;padding:0 8px;background:light-dark(rgba(255,255,255,.78),rgba(33,33,33,.78));color:var(--danger);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.detail-stack-list{display:grid;gap:8px;border:1px solid light-dark(rgba(154,79,0,.2),rgba(255,175,90,.2));border-radius:12px;padding:11px;background:light-dark(#fffaf0,#2e2719)}.detail-stack-list>strong{color:light-dark(#805513,#ebbc75);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.detail-stack-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;border-top:1px solid light-dark(rgba(154,79,0,.12),rgba(255,175,90,.12));padding-top:8px}.detail-stack-list span{display:grid;min-width:0;gap:2px}.detail-stack-list b{overflow:hidden;color:light-dark(#4f3108,#f6d4a6);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-overflow:ellipsis;white-space:nowrap}.detail-stack-list small{overflow:hidden;color:light-dark(#765d24,#d8be80);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap}.detail-stack-list button{display:inline-flex;align-items:center;gap:5px;min-height:30px;border:1px solid light-dark(rgba(154,79,0,.18),rgba(255,175,90,.18));border-radius:9px;padding:0 8px;background:light-dark(rgba(255,255,255,.78),rgba(33,33,33,.78));color:light-dark(#805513,#ebbc75);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.detail-stack-list button.danger-action{border-color:light-dark(rgba(184,55,48,.18),rgba(205,72,65,.18));color:var(--danger)}.detail-actions{display:grid;gap:8px}.detail-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--line);border-radius:11px;background:light-dark(#f8faf5,#252720);color:var(--green);cursor:pointer;font-weight:var(--font-weight-semibold)}.detail-actions button:disabled{cursor:not-allowed;opacity:.55}.detail-actions .danger-action{background:light-dark(#fff7f5,#2a1f1c);color:var(--danger)}.detail-actions .primary-detail-action{border-color:light-dark(rgba(40,99,69,.24),rgba(148,212,179,.24));background:var(--green);color:#fff}.detail-actions .primary-detail-action:disabled{background:light-dark(#d5dbd2,#3a4138);color:light-dark(#6f776c,#8d9689);opacity:1}.calendar-detail.calendar-detail-modal .detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:2px}.calendar-detail.calendar-detail-modal .detail-actions button{min-width:0;min-height:44px;padding:7px 12px;line-height:1.25}.calendar-detail.calendar-detail-modal .detail-actions button:not(:disabled):hover{border-color:light-dark(rgba(40,99,69,.32),rgba(148,212,179,.32));background:light-dark(#f0f6ef,#2c3028)}.calendar-detail.calendar-detail-modal .detail-actions .primary-detail-action,.calendar-detail.calendar-detail-modal .detail-actions .danger-action,.calendar-detail.calendar-detail-modal .detail-actions .detail-action-wide,.calendar-detail.calendar-detail-modal .detail-actions .detail-action-note{grid-column:1 / -1}.calendar-detail.calendar-detail-modal .detail-actions .primary-detail-action:not(:disabled):hover{background:light-dark(#225c3e,#347f59)}.calendar-detail.calendar-detail-modal .detail-actions .danger-action:not(:disabled):hover{border-color:light-dark(rgba(184,55,48,.28),rgba(205,72,65,.28));background:light-dark(#ffefec,#32211e)}.detail-action-note{margin:0;color:light-dark(#6d756e,#868e87);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:1.35}.detail-action-note.danger{color:var(--danger)}.week-timeline .week-booking-card.multi-selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green),0 10px 22px #173f2b24}.week-timeline .week-booking-card.selected:not(.multi-selected){border-color:light-dark(rgba(40,99,69,.74),rgba(148,212,179,.74));box-shadow:0 0 0 2px light-dark(rgba(40,99,69,.2),rgba(148,212,179,.2))}.placeholder-multiselect-bar{position:absolute;bottom:16px;left:50%;z-index:5;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 16px;background:var(--surface);box-shadow:0 12px 28px #17211b29;transform:translate(-50%)}.placeholder-multiselect-count{color:var(--ink, light-dark(#1f3e2d, #b9dcc9));font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.placeholder-multiselect-delete{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:999px;padding:7px 14px;background:light-dark(#a13232,#b23c35);color:#fff;cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);transition:filter .14s ease}.placeholder-multiselect-delete:hover:not(:disabled),.placeholder-multiselect-delete:focus-visible{filter:brightness(.94)}.placeholder-multiselect-delete:disabled{cursor:progress;opacity:.6}.placeholder-multiselect-clear{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background .14s ease}.placeholder-multiselect-clear:hover,.placeholder-multiselect-clear:focus-visible{background:light-dark(rgba(40,99,69,.1),rgba(148,212,179,.1))}.dashboard-page{display:grid;gap:18px;align-content:start;min-height:100%}.dashboard-topbar{align-items:flex-start}.dashboard-topbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.dashboard-secondary-button,.dashboard-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--green);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.dashboard-secondary-button{padding:0 12px}.dashboard-icon-button{width:38px;padding:0}.dashboard-secondary-button:hover,.dashboard-icon-button:hover{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:light-dark(#f1f6ec,#272f1f)}.dashboard-empty,.dashboard-panel{border:1px solid var(--line);border-radius:18px;background:var(--surface)}.dashboard-empty{display:grid;gap:8px;justify-items:start;padding:28px 24px}.dashboard-empty strong{color:var(--ink);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.dashboard-empty p{margin:0;max-width:36rem;color:var(--muted);font-size:var(--font-size-sm);line-height:1.45}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.9fr);gap:16px;align-items:stretch}.dashboard-panel{display:grid;gap:14px;align-content:start;min-width:0;padding:18px 18px 16px}.dashboard-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-panel-heading>div{display:grid;gap:2px;min-width:0}.dashboard-panel-heading span{color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.dashboard-panel-heading small{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);line-height:1.35}.dashboard-panel-metric{color:var(--ink);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);white-space:nowrap}.dashboard-panel-empty{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.45}.dashboard-court-lanes{display:grid;gap:10px}.dashboard-court-ruler{position:relative;height:16px;margin:0 1px}.dashboard-court-tick{position:absolute;top:0;color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);transform:translate(-50%);white-space:nowrap}.dashboard-court-tick.is-start{transform:translate(0)}.dashboard-court-tick.is-end{transform:translate(-100%)}.dashboard-court-lane-stack{display:grid;gap:12px}.dashboard-court-now{position:absolute;z-index:2;top:0;bottom:0;width:2px;margin-left:-1px;border-radius:999px;background:light-dark(rgba(184,55,48,.78),rgba(232,120,112,.85));box-shadow:0 0 0 1px light-dark(rgba(255,255,255,.35),rgba(0,0,0,.25));pointer-events:none}.dashboard-court-lane{display:grid;gap:7px}.dashboard-court-lane-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dashboard-court-lane-label strong{color:var(--ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.dashboard-court-lane-label small{color:var(--muted);font-size:var(--font-size-2xs)}.dashboard-court-lane-track{position:relative;height:18px;overflow:hidden;border:1px solid light-dark(rgba(40,99,69,.1),rgba(148,212,179,.12));border-radius:999px;background:repeating-linear-gradient(90deg,light-dark(rgba(40,99,69,.05),rgba(148,212,179,.06)) 0,light-dark(rgba(40,99,69,.05),rgba(148,212,179,.06)) 1px,transparent 1px,transparent calc(100% / 12)),light-dark(#f4f7f0,#1c211a)}.dashboard-court-segment{position:absolute;top:2px;bottom:2px;border-radius:999px}.dashboard-court-segment.is-booked{background:light-dark(#286345,#3d8f62)}.dashboard-court-segment.is-hold{background:light-dark(rgba(183,119,22,.72),rgba(232,165,64,.7))}.dashboard-court-segment.is-waitlist{background:light-dark(rgba(184,55,48,.55),rgba(205,72,65,.55))}.dashboard-attention-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.dashboard-attention-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:light-dark(#fbfcf8,#20261e);color:inherit;cursor:pointer;text-align:left}.dashboard-attention-item:hover{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:light-dark(#f1f6ec,#272f1f)}.dashboard-attention-kind{border-radius:999px;padding:3px 8px;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.dashboard-attention-kind.is-unpaid{background:light-dark(#fff1ec,#3a241f);color:light-dark(#b83730,#e08b84)}.dashboard-attention-kind.is-waitlist{background:light-dark(#fff6e5,#3a2f13);color:light-dark(#9a4f00,#ffaf5a)}.dashboard-attention-kind.is-hold{background:light-dark(#edf4e5,#2a361d);color:var(--green)}.dashboard-attention-copy{display:grid;gap:2px;min-width:0}.dashboard-attention-copy strong{overflow:hidden;color:var(--ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.dashboard-attention-copy small{overflow:hidden;color:var(--muted);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap}.dashboard-week-panel{gap:16px}.dashboard-week-pulse{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.dashboard-week-day{display:grid;justify-items:center;gap:6px;min-width:0;border:1px solid transparent;border-radius:14px;padding:10px 6px 8px;background:light-dark(#fbfcf8,#20261e);color:inherit;cursor:pointer}.dashboard-week-day:hover,.dashboard-week-day.is-today{border-color:light-dark(rgba(40,99,69,.24),rgba(148,212,179,.24));background:light-dark(#f1f6ec,#272f1f)}.dashboard-week-day-label{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.dashboard-week-day-bar{display:flex;align-items:flex-end;width:100%;max-width:28px;height:72px;border-radius:999px;background:light-dark(rgba(40,99,69,.08),rgba(148,212,179,.1));overflow:hidden}.dashboard-week-day-bar>span{display:block;width:100%;min-height:0;border-radius:999px;background:light-dark(#286345,#3d8f62)}.dashboard-week-day strong{color:var(--ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.dashboard-week-day small{color:var(--muted);font-size:var(--font-size-2xs)}@media(max-width:980px){.dashboard-main-grid{grid-template-columns:1fr}}@media(max-width:720px){.dashboard-week-pulse{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:560px){.dashboard-topbar-actions{width:100%;justify-content:stretch}.dashboard-secondary-button,.dashboard-icon-button,.dashboard-topbar-actions .logout-button{flex:1 1 auto}.dashboard-week-pulse{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dashboard-week-day{padding:8px 2px 6px}.dashboard-week-day-bar{height:56px;max-width:18px}}.placeholder-editor-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:32px;background:light-dark(rgba(23,33,27,.28),rgba(0,0,0,.5));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.placeholder-editor{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;gap:18px;width:min(100%,470px);height:auto;max-height:calc(100dvh - 64px);overflow:hidden;padding:24px 24px 0;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 28px 72px light-dark(rgba(23,33,27,.22),rgba(0,0,0,.5))}.placeholder-editor.placeholder-hold-editor{width:min(100%,760px);gap:12px}.placeholder-editor.placeholder-hold-editor h2{margin:0;font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tight);line-height:1.2}.placeholder-hold-header{display:grid;gap:10px;padding-bottom:2px}.placeholder-hold-title-block{display:grid;gap:4px}.placeholder-hold-intro{margin:0;max-width:42rem;color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.45}.placeholder-hold-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.placeholder-hold-section{display:flex;flex-direction:column;gap:14px;min-width:0;border:1px solid var(--line);border-radius:16px;padding:16px 16px 15px;background:light-dark(#fbfcf8,#20261e)}.placeholder-hold-section-heading{display:grid;gap:2px;margin-bottom:2px;padding-bottom:10px;border-bottom:1px solid light-dark(rgba(40,99,69,.08),rgba(148,212,179,.1))}.placeholder-hold-section-heading span{color:var(--ink);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.placeholder-hold-section-heading small{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.placeholder-hold-court-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.placeholder-hold-schedule{display:grid;gap:12px;padding-top:2px}.placeholder-hold-duration-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.placeholder-hold-duration-options button{min-height:38px;font-size:var(--font-size-2xs)}.placeholder-hold-guest .placeholder-hold-notes{display:grid;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr);min-height:0}.placeholder-hold-notes textarea{min-height:104px;resize:vertical}.placeholder-hold-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.placeholder-hold-required-badge{color:light-dark(#6b8f74,#8fb89a);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.placeholder-hold-field-pending input{border-color:light-dark(rgba(40,99,69,.34),rgba(148,212,179,.32));background:light-dark(#f7fbf2,#262f20)}.placeholder-hold-field-pending input:focus{border-color:var(--green);box-shadow:0 0 0 3px light-dark(rgba(40,99,69,.12),rgba(148,212,179,.14))}.placeholder-hold-attribution{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;margin-top:auto;padding-top:12px;border-top:1px solid light-dark(rgba(40,99,69,.08),rgba(148,212,179,.1))}.placeholder-hold-attribution>div{display:grid;gap:2px;min-width:0}.placeholder-hold-attribution span{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.placeholder-hold-attribution strong{overflow:hidden;color:var(--ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.placeholder-hold-editor .editor-actions .primary-button:disabled{background:light-dark(#d5dbd2,#3a4138);color:light-dark(#6f776c,#8d9689);cursor:not-allowed;opacity:1}.placeholder-editor.virtual-user-editor{width:min(100%,780px)}.placeholder-editor.community-meet-editor{grid-template-rows:auto auto minmax(0,1fr);width:min(100%,780px)}.placeholder-editor h2{margin:0;font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tight)}.community-meet-intro{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:1.45}.community-meet-mobile-copy{display:none}.community-meet-section{display:flex;flex-direction:column;gap:14px}.form-section-rhythm{gap:20px}.form-field-group{display:grid;gap:9px}.form-control-pair{gap:10px}.community-meet-section-heading{display:grid;gap:2px}.community-meet-section-heading span{color:var(--ink);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.community-meet-section-heading small{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.community-meet-safety{display:flex;align-items:center;gap:7px;margin:0;color:light-dark(#805513,#ebbc75);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.community-meet-section .checkbox-row{display:flex;align-items:center;gap:9px}.community-meet-section .checkbox-row input{width:auto}.community-meet-host-field{position:relative;display:grid;gap:9px;z-index:3}.community-meet-host-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.community-meet-host-heading>span{display:grid;gap:2px}.community-meet-host-heading strong{color:var(--ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.community-meet-host-heading small,.community-meet-host-state{color:var(--muted);font-size:var(--font-size-2xs);line-height:1.4}.community-meet-add-hosts{display:inline-flex;min-height:34px;align-items:center;gap:6px;border:1px solid light-dark(rgba(40,99,69,.22),rgba(148,212,179,.22));border-radius:10px;padding:0 10px;background:light-dark(#f3f8ee,#263020);color:var(--green);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);white-space:nowrap}.community-meet-add-hosts:disabled{border-color:var(--line);background:light-dark(#f5f6f2,#242520);color:var(--muted);cursor:not-allowed}.community-meet-host-chips{display:flex;flex-wrap:wrap;gap:6px}.community-meet-host-chip{display:inline-grid;grid-template-columns:auto minmax(0,auto) auto;align-items:center;gap:6px;max-width:100%;min-height:30px;border:1px solid light-dark(rgba(40,99,69,.18),rgba(148,212,179,.18));border-radius:999px;padding:3px 5px 3px 4px;background:light-dark(#f3f8ee,#263020);color:var(--ink);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.community-meet-host-chip>span:not(.community-meet-host-avatar){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-meet-host-chip button,.community-meet-host-picker-header button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:999px;padding:0;background:transparent;color:var(--muted);cursor:pointer}.community-meet-host-avatar{width:24px;height:24px;border-radius:999px;object-fit:cover}.community-meet-host-avatar.fallback{display:grid;place-items:center;background:var(--green);color:#fff;font-size:9px;font-weight:var(--font-weight-bold)}.community-meet-host-state.error{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--danger)}.community-meet-host-state.error button{border:0;padding:4px 6px;background:transparent;color:var(--danger);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.community-meet-host-picker{position:absolute;top:calc(100% + 7px);right:0;left:0;z-index:12;display:grid;gap:8px;max-height:min(360px,55dvh);border:1px solid var(--line);border-radius:14px;padding:10px;background:light-dark(#ffffff,#1c221b);box-shadow:0 18px 42px light-dark(rgba(23,33,27,.18),rgba(0,0,0,.48)),0 2px 8px light-dark(rgba(23,33,27,.06),rgba(0,0,0,.2))}.community-meet-host-picker-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink);font-size:var(--font-size-xs)}.community-meet-host-search{position:relative}.community-meet-host-search svg{position:absolute;top:50%;left:11px;color:var(--muted);pointer-events:none;transform:translateY(-50%)}.community-meet-host-search input{min-height:38px;padding-left:34px}.community-meet-host-results{display:grid;gap:5px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.community-meet-host-results>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:46px;border:1px solid transparent;border-radius:11px;padding:7px 9px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.community-meet-host-results>button:hover,.community-meet-host-results>button.selected{border-color:light-dark(rgba(40,99,69,.2),rgba(148,212,179,.2));background:light-dark(#f3f8ee,#263020)}.community-meet-host-results>button>span:not(.community-meet-host-avatar){display:grid;min-width:0}.community-meet-host-results strong,.community-meet-host-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-meet-host-results strong{font-size:var(--font-size-xs)}.community-meet-host-results small{color:var(--muted);font-size:var(--font-size-2xs)}.community-meet-host-select-state{display:grid;min-width:26px;place-items:center;color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.community-meet-host-empty{padding:14px 8px;color:var(--muted);font-size:var(--font-size-2xs);text-align:center}.community-meet-host-done{min-height:34px;border:0;border-radius:9px;background:var(--green);color:#fff;cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}@media(min-width:561px){.community-meet-template-field select,.community-meet-court-picker .court-choice{height:48px;min-height:48px}}.community-meet-default-venue,.reclub-default-venue-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid light-dark(rgba(40,99,69,.2),rgba(148,212,179,.2));border-radius:13px;padding:12px 13px;background:light-dark(#f3f8ee,#263020);color:var(--green)}.community-meet-default-venue span,.reclub-default-venue-card span{display:grid;gap:2px;min-width:0}.community-meet-default-venue small,.reclub-default-venue-card small{color:var(--muted);font-size:var(--font-size-2xs)}.community-meet-default-venue strong,.reclub-default-venue-card strong{color:var(--ink);overflow-wrap:anywhere}.community-meet-default-venue button,.reclub-default-venue-card button,.venue-override-cancel{min-height:32px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface);color:var(--green);cursor:pointer;font-weight:var(--font-weight-semibold)}.community-meet-default-venue{grid-template-columns:minmax(0,1fr) auto;gap:8px;border:0;border-radius:0;padding:2px 0;background:transparent;color:var(--muted)}.community-meet-default-venue span{gap:1px}.community-meet-default-venue small{font-weight:var(--font-weight-medium)}.community-meet-default-venue strong{overflow:hidden;color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.community-meet-default-venue button{min-height:30px;border:0;padding:0 6px;background:transparent;font-size:var(--font-size-2xs)}.community-meet-default-venue button:hover,.community-meet-default-venue button:focus-visible{background:light-dark(rgba(40,99,69,.07),rgba(148,212,179,.08))}.community-meet-venue-override{display:grid;gap:10px}.venue-override-cancel{justify-self:start}.reclub-venue-results{display:grid;gap:7px}.reclub-venue-results>span{color:var(--muted);font-size:var(--font-size-xs)}.reclub-venue-results button{display:grid;gap:3px;width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.reclub-venue-results button.selected{border-color:var(--green);background:light-dark(#f3f8ee,#263020)}.reclub-venue-results small{color:var(--muted);font-size:var(--font-size-2xs)}.venue-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.venue-search-row button{display:inline-flex;min-height:44px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:11px;padding:0 14px;background:var(--surface);color:var(--green);font-weight:var(--font-weight-bold)}.conversion-editor{width:min(100%,520px)}.placeholder-editor.booking-write-editor{width:min(100%,780px)}.booking-write-editor .placeholder-hold-guest{overflow:visible;z-index:2}.booking-write-editor .placeholder-hold-layout>.placeholder-hold-section:first-child{z-index:1}.booking-write-editor .registered-player-field.placeholder-hold-field-pending .search-input-wrap input{border-color:light-dark(rgba(40,99,69,.34),rgba(148,212,179,.32));background:light-dark(#f7fbf2,#262f20)}.booking-write-editor .booking-calendar{margin:0;gap:8px;padding:12px}.booking-write-editor .booking-calendar-day{min-height:30px}.booking-write-editor .booking-calendar-hint{display:none}.compact-action-editor{width:min(100%,440px)}.action-dialog-backdrop{background:light-dark(rgba(23,33,27,.38),rgba(0,0,0,.56));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.placeholder-editor.action-dialog{grid-template-rows:auto minmax(0,1fr);gap:18px;width:min(100%,410px);padding:22px;overflow:auto;border-color:light-dark(rgba(40,99,69,.16),rgba(148,212,179,.16));border-radius:18px;box-shadow:0 28px 72px light-dark(rgba(23,33,27,.3),rgba(0,0,0,.62)),0 2px 10px light-dark(rgba(23,33,27,.08),rgba(0,0,0,.28))}.action-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.placeholder-editor.action-dialog h2{font-size:var(--font-size-xl);line-height:1.2}.action-dialog-close{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:999px;padding:0;background:transparent;color:var(--muted);cursor:pointer}.action-dialog-close:hover{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:light-dark(#f1f6ec,#2a3027);color:var(--green)}.action-dialog form{gap:0;overflow:visible}.action-dialog .placeholder-editor-fields{gap:16px;overflow:visible;padding:0}.action-dialog .conversion-summary{gap:3px;padding:12px 13px;border-radius:12px;background:light-dark(#f7f9f4,#242820)}.action-dialog .conversion-summary small{overflow-wrap:anywhere;line-height:1.4}.action-dialog .conversion-warning{align-items:flex-start;padding:11px 12px;font-weight:var(--font-weight-semibold);line-height:1.45}.action-dialog .conversion-warning svg{flex:0 0 auto;margin-top:2px}.action-dialog textarea{min-height:132px}.action-dialog .editor-footer{margin:18px 0 0;padding:16px 0 0;background:transparent}.action-dialog .editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-dialog .editor-actions button{min-width:0;min-height:46px;padding:0 14px;font-size:var(--font-size-sm);line-height:1.2}.action-dialog .editor-actions .logout-button{border:1px solid var(--line);background:transparent;color:var(--ink)}.action-dialog .editor-actions .logout-button:hover{background:light-dark(#f5f7f2,#292c25)}.danger-action-dialog .conversion-summary span{color:var(--danger)}.slot-choice-backdrop{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;padding:24px;background:light-dark(rgba(23,33,27,.28),rgba(0,0,0,.5));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.slot-choice-dialog{display:grid;gap:14px;width:min(100%,440px);padding:22px 22px 24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 30px 80px #17211b38}.slot-choice-dialog h2{margin:0;font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight)}.slot-choice-context{margin:-6px 0 2px;color:var(--muted);font-size:var(--font-size-sm)}.slot-choice-options{display:grid;gap:12px}.slot-choice-option{display:flex;align-items:flex-start;gap:13px;width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .05s ease}.slot-choice-option:hover{border-color:var(--green);background:light-dark(#f4f8ef,#262c1f)}.slot-choice-option:active{transform:translateY(1px)}.slot-choice-option svg{flex-shrink:0;margin-top:2px;color:var(--green)}.slot-choice-option span{display:grid;gap:3px}.slot-choice-option strong{font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-tight)}.slot-choice-option small{color:var(--muted);font-size:var(--font-size-xs);line-height:1.35}.slot-choice-option.primary{border-color:light-dark(rgba(40,99,69,.45),rgba(148,212,179,.45));background:light-dark(#f4f8ef,#262c1f)}.slot-choice-option.community{border-color:light-dark(rgba(183,119,22,.35),rgba(232,165,64,.35));background:light-dark(#fff9e9,#352e16)}.slot-choice-option.community svg{color:light-dark(#805513,#ebbc75)}.slot-choice-option.primary:hover{background:light-dark(#ebf3e2,#2b391c)}.placeholder-editor form{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;min-height:0;overflow:hidden;padding-bottom:0}.placeholder-editor-fields{display:grid;align-content:start;gap:15px;min-height:0;overflow:auto;padding-bottom:16px}.conversion-summary{display:grid;gap:5px;border:1px solid light-dark(rgba(40,99,69,.14),rgba(148,212,179,.14));border-radius:14px;padding:13px 14px;background:light-dark(#f4f8ef,#262c1f)}.conversion-summary span{color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.conversion-summary strong{color:var(--ink);font-size:var(--font-size-md);line-height:1.25}.conversion-summary small{color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.conversion-warning{display:flex;align-items:center;gap:8px;border:1px solid light-dark(rgba(183,119,22,.26),rgba(232,165,64,.26));border-radius:12px;padding:11px 12px;background:light-dark(#fff7df,#41350f);color:light-dark(#805513,#ebbc75);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.conversion-warning.danger{border-color:light-dark(rgba(161,50,50,.22),rgba(203,87,87,.22));background:light-dark(#fff4f2,#2c1d1a);color:var(--danger)}.price-check-card,.reschedule-slot-list{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:light-dark(#fbfcf8,#242520)}.price-check-card>span,.reschedule-slot-list>span{color:light-dark(#39433b,#b6c1b8);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.price-check-card strong{color:var(--ink);font-size:var(--font-size-md)}.price-check-card small,.reschedule-slot-list p{margin:0;color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:1.4}.price-check-card .danger,.reschedule-slot-list .danger{color:var(--danger)}.reschedule-slot-list>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reschedule-slot-list button{min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:light-dark(#526052,#99a899);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.reschedule-slot-list button.selected{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:var(--green);color:#fff}.danger-button{background:light-dark(#a13232,#b23c35)}.conversion-mode-control{display:grid;gap:8px}.conversion-mode-control>span{color:light-dark(#39433b,#b6c1b8);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.conversion-mode-control>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.conversion-mode-control button{min-height:42px;border:1px solid var(--line);border-radius:11px;background:light-dark(#fbfcf8,#242520);color:light-dark(#526052,#99a899);cursor:pointer;font-weight:var(--font-weight-bold)}.conversion-mode-control button.selected{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:var(--green);color:#fff}.registered-player-field{display:grid;gap:9px}.registered-player-search{position:relative;display:grid;gap:9px;z-index:2}.search-input-wrap{position:relative;display:block}.search-input-wrap svg{position:absolute;top:50%;left:13px;color:light-dark(#7b847a,#798278);transform:translateY(-50%)}.search-input-wrap input{padding-left:38px}.selected-player,.player-results button,.player-results>span{border:1px solid var(--line);border-radius:12px;background:light-dark(#fbfcf8,#242520)}.selected-player{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px}.selected-player svg{color:var(--green)}.selected-player span,.player-results button{min-width:0}.selected-player strong,.player-results strong{display:block;overflow:hidden;color:var(--ink);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.selected-player small,.player-results small{display:block;overflow:hidden;color:var(--muted);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap}.selected-player button{border:0;border-radius:999px;padding:7px 10px;background:light-dark(#edf4e5,#2a361d);color:var(--green);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.player-results{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:8;display:grid;gap:6px;max-height:min(240px,36dvh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;padding:7px;background:light-dark(#ffffff,#1c221b);box-shadow:0 18px 40px light-dark(rgba(23,33,27,.16),rgba(0,0,0,.45)),0 2px 8px light-dark(rgba(23,33,27,.06),rgba(0,0,0,.2))}.player-results button{display:grid;gap:2px;width:100%;padding:10px 11px;cursor:pointer;text-align:left}.player-results button:hover,.player-results button:focus-visible{border-color:light-dark(rgba(40,99,69,.24),rgba(148,212,179,.24));background:light-dark(#f4f8ef,#262c1f)}.player-results>span{padding:10px 11px;color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.player-results>span.error{border-color:light-dark(rgba(161,50,50,.2),rgba(203,87,87,.2));background:light-dark(#fff4f2,#2c1d1a);color:var(--danger)}.time-select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:light-dark(#fbfcf8,#242520);color:var(--ink);outline:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.time-select:hover{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28))}.time-select:focus{border-color:var(--green);box-shadow:0 0 0 3px light-dark(rgba(40,99,69,.12),rgba(148,212,179,.14))}.receipt-upload-control{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:light-dark(#fbfcf8,#242520);color:var(--muted);cursor:pointer}.receipt-upload-control:hover{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28))}.receipt-upload-control.has-file{color:var(--ink)}.receipt-upload-control svg{flex:0 0 auto;color:var(--green)}.receipt-upload-name{overflow:hidden;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.receipt-upload-action{color:var(--green);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.receipt-upload-clear{position:relative;z-index:1;border:0;border-radius:999px;padding:5px 9px;background:light-dark(#edf4e5,#2a361d);color:var(--green);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold)}.receipt-upload-control input[type=file]{position:absolute;inset:0;z-index:0;width:100%;height:100%;margin:0;border:0;padding:0;opacity:0;cursor:pointer}.court-picker{display:grid;gap:8px;color:light-dark(#39433b,#b6c1b8);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.court-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.court-choice{display:flex;min-height:42px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:light-dark(#fbfcf8,#242520);color:light-dark(#526052,#99a899);cursor:pointer;font-weight:var(--font-weight-semibold)}.court-choice.selected{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:light-dark(#edf4e5,#2a361d);color:var(--green)}.court-choice input{width:17px;height:17px}.booking-calendar{display:grid;gap:10px;border:1px solid var(--line);border-radius:14px;padding:14px;background:light-dark(#fbfcf8,#242520);color:light-dark(#39433b,#b6c1b8);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.booking-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-calendar-heading strong{border-radius:999px;padding:3px 10px;background:light-dark(#edf4e5,#2a361d);color:var(--green);font-size:var(--font-size-2xs)}.booking-calendar-hint{margin:-4px 0 0;color:light-dark(#6b776c,#849085);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium)}.booking-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.booking-calendar-nav strong{color:var(--green);font-size:var(--font-size-sm)}.booking-calendar-nav button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:9px;padding:0;background:light-dark(#fff,#212121);color:var(--green);cursor:pointer}.booking-calendar-nav button:hover{border-color:light-dark(rgba(40,99,69,.3),rgba(148,212,179,.3));background:light-dark(#edf4e5,#2a361d)}.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-calendar-dow{padding-bottom:2px;color:light-dark(#97a298,#5e695f);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-align:center;text-transform:uppercase}.booking-calendar-day{display:grid;aspect-ratio:1;min-height:34px;place-items:center;border:1px solid transparent;border-radius:9px;padding:0;background:light-dark(#fff,#212121);color:light-dark(#39433b,#b6c1b8);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.booking-calendar-day:hover{border-color:light-dark(rgba(40,99,69,.3),rgba(148,212,179,.3));background:light-dark(#edf4e5,#2a361d)}.booking-calendar-day.muted{color:light-dark(#b8c0b8,#464f46);background:transparent}.booking-calendar-day.today{border-color:light-dark(rgba(40,99,69,.35),rgba(148,212,179,.35))}.booking-calendar-day.selected{border-color:var(--green);background:var(--green);color:#fff}.booking-calendar-day.selected:hover{background:light-dark(#1f5440,#389162)}.booking-calendar-chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;max-height:72px;margin-top:2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.booking-calendar-chips span{display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid light-dark(rgba(40,99,69,.22),rgba(148,212,179,.22));border-radius:999px;padding:4px 6px 4px 11px;background:light-dark(#edf4e5,#2a361d);color:var(--green);font-size:var(--font-size-2xs)}.booking-calendar-chips button{display:grid;width:20px;height:20px;place-items:center;border:0;border-radius:999px;padding:0;background:light-dark(rgba(40,99,69,.14),rgba(148,212,179,.14));color:var(--green);cursor:pointer}.booking-date-single{display:grid;gap:8px}.booking-date-advanced-toggle{display:inline-flex;align-items:center;justify-self:start;gap:7px;border:0;border-radius:9px;padding:4px 2px;background:transparent;color:var(--green);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.booking-date-advanced-toggle:hover{text-decoration:underline}.booking-calendar-collapse{justify-self:start;margin-top:2px;border:0;padding:4px 2px;background:transparent;color:light-dark(#6b776c,#849085);cursor:pointer;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold)}.booking-calendar-collapse:hover{color:var(--green);text-decoration:underline}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.time-grid .duration-control{grid-column:1 / -1}.duration-control{display:grid;gap:8px;color:light-dark(#39433b,#b6c1b8);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.duration-options{display:grid;grid-template-columns:repeat(4,minmax(58px,1fr));gap:6px}.duration-options button{min-height:48px;min-width:0;border:1px solid var(--line);border-radius:11px;padding:0 10px;background:light-dark(#fbfcf8,#242520);color:light-dark(#526052,#99a899);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.duration-options button.selected{border-color:light-dark(rgba(40,99,69,.28),rgba(148,212,179,.28));background:var(--green);color:#fff}.editor-sheet-nav{display:none}.editor-footer{z-index:2;display:grid;gap:10px;margin:0 -24px;padding:14px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.editor-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.panel-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-label-row button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:999px;background:light-dark(#f8faf5,#252720);color:var(--green);cursor:pointer}@supports (font: -apple-system-body){:root:has(.mobile-app){font:-apple-system-body;font-family:var(--font-sans)}}:root:has(.mobile-app){--ios-caption2: .6875rem;--ios-caption: .75rem;--ios-footnote: .8125rem;--ios-subhead: .9375rem;--ios-callout: 1rem;--ios-body: 1.0625rem;--ios-title3: 1.25rem;--ios-title2: 1.375rem;--ios-title1: 1.75rem;--ios-large-title: 2.125rem;--ios-tracking-title: -.02em;--ios-tracking-tight: 0;--r-xs: 10px;--r-sm: 14px;--r-md: 18px;--r-lg: 22px;--r-xl: 28px;--r-pill: 999px;--screen-gutter: 16px;--row-time-col: 3.5rem;--tab-bar-height: 62px;--tab-bar-gap: calc(10px + env(safe-area-inset-bottom)) ;--glass-chrome: light-dark(rgba(249, 251, 245, .72), rgba(28, 34, 26, .68));--glass-thick: light-dark(rgba(248, 250, 244, .91), rgba(29, 35, 27, .88));--glass-control: light-dark(rgba(255, 255, 255, .66), rgba(56, 64, 52, .56));--glass-control-hi: light-dark(rgba(255, 255, 255, .9), rgba(70, 79, 65, .7));--glass-blur: blur(30px) saturate(180%);--glass-blur-thick: blur(44px) saturate(190%);--glass-blur-control: blur(18px) saturate(170%);--glass-rim: inset 0 .5px 0 0 light-dark(rgba(255, 255, 255, .95), rgba(255, 255, 255, .16)), inset 0 0 0 .5px light-dark(rgba(255, 255, 255, .5), rgba(255, 255, 255, .07)), inset 0 -.5px 0 0 light-dark(rgba(23, 33, 27, .06), rgba(0, 0, 0, .32));--lift-1: 0 1px 2px light-dark(rgba(23, 33, 27, .05), rgba(0, 0, 0, .3)), 0 6px 16px -8px light-dark(rgba(23, 33, 27, .14), rgba(0, 0, 0, .5));--lift-2: 0 2px 5px light-dark(rgba(23, 33, 27, .05), rgba(0, 0, 0, .32)), 0 16px 34px -14px light-dark(rgba(23, 33, 27, .2), rgba(0, 0, 0, .62));--lift-3: 0 6px 16px light-dark(rgba(23, 33, 27, .1), rgba(0, 0, 0, .42)), 0 30px 64px -22px light-dark(rgba(23, 33, 27, .3), rgba(0, 0, 0, .72));--card: light-dark(#ffffff, #1e241d);--card-sunken: light-dark(#f7faf2, #191f18);--card-pressed: light-dark(#eef3e6, #262e24);--hairline: light-dark(rgba(23, 33, 27, .08), rgba(231, 236, 228, .09));--card-rim: 0 0 0 .5px light-dark(rgba(23, 33, 27, .05), rgba(231, 236, 228, .06));--accent-fill: linear-gradient( 180deg, light-dark(#2f7050, #37855c), light-dark(#22573c, #276848) );--accent-glow: 0 8px 20px -6px light-dark(rgba(23, 63, 43, .42), rgba(0, 0, 0, .6));--spring: cubic-bezier(.32, .72, 0, 1)}.mobile-app.panel-shell{display:block;min-height:100dvh;height:auto;overflow:visible;padding-bottom:calc(var(--tab-bar-height) + 34px + env(safe-area-inset-bottom));background:var(--bg);isolation:isolate}.mobile-app.panel-shell:before{position:fixed;inset:0;z-index:-1;background:radial-gradient(115% 62% at 100% -4%,light-dark(rgba(204,225,95,.3),rgba(204,225,95,.11)),transparent 62%),radial-gradient(95% 55% at -10% 104%,light-dark(rgba(40,99,69,.13),rgba(47,122,83,.16)),transparent 60%);content:"";pointer-events:none}.staging-environment .mobile-app.panel-shell{min-height:calc(100dvh - var(--environment-banner-height))}.staging-environment .mobile-cal-header{top:var(--environment-banner-height)}.mobile-app button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.mobile-app button:focus-visible,.mobile-app [role=button]:focus-visible{outline:2px solid light-dark(#2f7050,#8cc4a5);outline-offset:-2px}.mobile-app-content{padding:16px var(--screen-gutter) 0}.mobile-app-content:has(.mobile-calendar-page){padding:0}.mobile-app .version-panel{margin-bottom:calc(var(--tab-bar-height) + 30px + env(safe-area-inset-bottom))}@media(prefers-reduced-motion:no-preference){.mobile-app-content{animation:mobile-content-in .3s var(--spring)}}@keyframes mobile-content-in{0%{opacity:0;transform:translateY(10px) scale(.994)}to{opacity:1;transform:none}}.mobile-bottom-nav{position:fixed;right:var(--screen-gutter);bottom:var(--tab-bar-gap);left:var(--screen-gutter);z-index:35;display:flex;align-items:stretch;justify-content:center;gap:2px;height:var(--tab-bar-height);border-radius:var(--r-pill);padding:6px;background:var(--glass-chrome);box-shadow:var(--glass-rim),var(--lift-2);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:right .26s var(--spring)}.mobile-app:has(.mobile-placeholder-fab) .mobile-bottom-nav{right:calc(var(--screen-gutter) + var(--tab-bar-height) + 10px)}.mobile-bottom-nav button{position:relative;display:grid;flex:1 1 0;min-width:0;max-width:116px;place-items:center;align-content:center;gap:2px;border:0;border-radius:var(--r-pill);padding:0 4px;background:transparent;color:light-dark(#5f6b5c,#97a292);cursor:pointer;font-size:var(--ios-caption2);font-weight:var(--font-weight-semibold);letter-spacing:.002em;transition:color .2s ease,background .26s var(--spring)}.mobile-bottom-nav button>span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav button svg{transition:transform .22s var(--spring)}.mobile-bottom-nav button:active{transform:scale(.94)}.mobile-bottom-nav button.active{background:light-dark(rgba(40,99,69,.13),rgba(148,212,179,.15));box-shadow:inset 0 .5px 0 0 light-dark(rgba(255,255,255,.8),rgba(255,255,255,.14)),inset 0 0 0 .5px light-dark(rgba(40,99,69,.14),rgba(148,212,179,.14));color:light-dark(#1d5138,#b6dcc5)}.mobile-bottom-nav button.active svg{transform:translateY(-.5px) scale(1.04)}.mobile-tabs-4 .mobile-bottom-nav button,.mobile-tabs-5 .mobile-bottom-nav button{padding:0 2px;font-size:.625rem;letter-spacing:var(--letter-spacing-tight)}.mobile-placeholder-fab{position:fixed;right:var(--screen-gutter);bottom:var(--tab-bar-gap);z-index:36;display:grid;width:var(--tab-bar-height);height:var(--tab-bar-height);place-items:center;border:0;border-radius:50%;padding:0;background:var(--accent-fill);box-shadow:inset 0 1px #ffffff57,inset 0 0 0 .5px #ffffff3d,inset 0 9px 16px -14px #cce15f99,var(--accent-glow),var(--lift-2);color:#fff;cursor:pointer;transition:transform .22s var(--spring),box-shadow .22s ease}.mobile-placeholder-fab:active{transform:scale(.9);box-shadow:inset 0 1px #ffffff4d,inset 0 0 0 .5px #fff3,var(--lift-1)}.mobile-calendar-page{display:block;height:auto}.mobile-cal-header{position:sticky;top:0;z-index:30;display:grid;gap:12px;padding:calc(10px + env(safe-area-inset-top)) var(--screen-gutter) 12px;background:var(--glass-chrome);box-shadow:var(--glass-rim);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.mobile-cal-header:after{position:absolute;right:0;bottom:0;left:0;height:.5px;background:light-dark(rgba(23,33,27,.14),rgba(231,236,228,.13));content:""}@supports (animation-timeline: scroll()){@media(prefers-reduced-motion:no-preference){.mobile-cal-header:after{animation:mobile-header-hairline linear both;animation-range:0 32px;animation-timeline:scroll()}}}@keyframes mobile-header-hairline{0%{opacity:0}to{opacity:1}}.mobile-cal-titlebar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px}.mobile-month-button{display:inline-flex;align-items:center;gap:6px;min-width:0;border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer;font-size:var(--ios-title1);font-weight:var(--font-weight-bold);letter-spacing:var(--ios-tracking-title);line-height:1.1;white-space:nowrap}.mobile-month-button svg{flex:0 0 auto;margin-top:2px;color:light-dark(#2f7050,#7fb99a);transition:transform .2s var(--spring)}.mobile-month-button:active svg{transform:translateY(2px)}.mobile-cal-titlebar-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.mobile-today-pill{min-height:36px;border:0;border-radius:var(--r-pill);padding:0 14px;background:var(--glass-control);box-shadow:var(--glass-rim),var(--lift-1);color:light-dark(#1d5138,#b6dcc5);cursor:pointer;font-size:var(--ios-subhead);font-weight:var(--font-weight-semibold);letter-spacing:var(--ios-tracking-tight);-webkit-backdrop-filter:var(--glass-blur-control);backdrop-filter:var(--glass-blur-control);transition:transform .18s var(--spring),background .18s ease}.mobile-today-pill:active{background:var(--glass-control-hi);transform:scale(.93)}.mobile-avatar-button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;background:var(--accent-fill);box-shadow:inset 0 .5px #ffffff52,inset 0 0 0 .5px #ffffff2e,var(--lift-1);color:#fff;cursor:pointer;font-size:var(--ios-subhead);font-weight:var(--font-weight-bold);transition:transform .18s var(--spring)}.mobile-avatar-button:active{transform:scale(.9)}.mobile-avatar-button.large{width:46px;height:46px;font-size:var(--ios-title3)}.mobile-day-strip{display:flex;margin:-2px 0 -28px;padding:6px 0 32px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch}.mobile-day-strip::-webkit-scrollbar{display:none}.mobile-day-strip-page{display:grid;flex:0 0 100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;scroll-snap-align:center;scroll-snap-stop:always}.mobile-day-strip button{display:grid;gap:4px;align-content:center;justify-items:center;min-height:58px;border:0;border-radius:var(--r-md);padding:8px 0;background:transparent;cursor:pointer;transition:background .22s var(--spring),transform .18s var(--spring),box-shadow .22s ease}.mobile-day-strip button:active{transform:scale(.9)}.mobile-day-strip span{color:light-dark(#7d887a,#79836f);font-size:var(--ios-caption2);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.mobile-day-strip strong{color:var(--ink);font-size:var(--ios-body);font-weight:var(--font-weight-bold);letter-spacing:var(--ios-tracking-tight);line-height:1}.mobile-day-strip button.today:not(.selected) span,.mobile-day-strip button.today:not(.selected) strong{color:light-dark(#2f7050,#8cc4a5)}.mobile-day-strip button.selected{background:var(--accent-fill);box-shadow:inset 0 1px #ffffff4d,inset 0 0 0 .5px #fff3,var(--accent-glow)}.mobile-day-strip button.selected span{color:#ffffffbd}.mobile-day-strip button.selected strong{color:#fff}.mobile-court-chips{display:flex;align-items:center;gap:6px;margin:0 calc(var(--screen-gutter) * -1);padding:2px var(--screen-gutter);overflow-x:auto;scrollbar-width:none}.mobile-court-chips::-webkit-scrollbar{display:none}.mobile-court-chips button{flex:0 0 auto;min-height:36px;border:0;border-radius:var(--r-pill);padding:0 14px;background:var(--glass-control);box-shadow:var(--glass-rim),var(--lift-1);color:light-dark(#48544a,#adb8ae);cursor:pointer;font-size:var(--ios-subhead);font-weight:var(--font-weight-semibold);letter-spacing:var(--ios-tracking-tight);-webkit-backdrop-filter:var(--glass-blur-control);backdrop-filter:var(--glass-blur-control);transition:background .2s ease,color .2s ease,transform .18s var(--spring)}.mobile-court-chips button:active{transform:scale(.94)}.mobile-court-chips button.selected{background:var(--accent-fill);box-shadow:inset 0 .5px #ffffff47,inset 0 0 0 .5px #ffffff29,var(--accent-glow);color:#fff}.mobile-chip-count{flex:0 0 auto;margin-left:auto;padding-left:10px;color:light-dark(#7d887a,#79836f);font-size:var(--ios-footnote);font-weight:var(--font-weight-semibold);white-space:nowrap}.mobile-pull-indicator{display:grid;place-items:center;overflow:hidden;color:light-dark(#2f7050,#8cc4a5)}.mobile-pull-indicator.refreshing svg{animation:mobile-spin .8s linear infinite}@keyframes mobile-spin{to{transform:rotate(360deg)}}.mobile-calendar-page .calendar-feedback{padding:12px var(--screen-gutter) 0}.mobile-calendar-page .calendar-layout{display:grid;grid-template-columns:1fr;gap:12px;height:auto}.mobile-calendar-page .calendar-main-panel{min-height:60dvh;height:auto;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;display:flex;flex-direction:column}.mobile-calendar-page .calendar-main-panel:after,.mobile-calendar-page .scroll-more-indicator{display:none}.mobile-calendar-page .calendar-scroll-area{height:auto;max-height:none;overflow:visible;flex:1 1 auto;display:flex;flex-direction:column}.mobile-calendar-page .calendar-loading{border:0;background:transparent;padding:56px var(--screen-gutter);color:var(--muted);font-size:var(--ios-subhead);text-align:center}.mobile-day-swiper{position:relative;overflow-x:clip;touch-action:pan-y;flex:1 1 auto}.mobile-day-swiper-track{position:relative}.mobile-day-swiper-track.animating{transition:transform var(--swipe-settle, .24s) cubic-bezier(.22,.61,.36,1)}.mobile-day-swiper-page.side{position:absolute;top:0;width:100%}.mobile-day-swiper-page.prev{left:-100%}.mobile-day-swiper-page.next{left:100%}@media(prefers-reduced-motion:reduce){.mobile-day-swiper-track.animating{transition:none}}.mobile-agenda{display:grid;gap:22px;align-content:start;padding:14px 0 16px}.mobile-court-section{display:grid;gap:8px}.mobile-court-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 var(--screen-gutter)}.mobile-court-heading strong{color:var(--ink);font-size:var(--ios-title3);font-weight:var(--font-weight-bold);letter-spacing:var(--ios-tracking-title)}.mobile-court-heading span{color:light-dark(#7d887a,#79836f);font-size:var(--ios-footnote);font-weight:var(--font-weight-semibold)}.mobile-agenda-list{overflow:hidden;background:var(--card);box-shadow:inset 0 .5px 0 0 var(--hairline),inset 0 -.5px 0 0 var(--hairline)}.mobile-booking-row,.mobile-availability-row{position:relative;display:grid;grid-template-columns:var(--row-time-col) 3px minmax(0,1fr);align-items:center;gap:12px;width:100%;border:0;background:transparent;color:var(--ink);text-align:left}.mobile-availability-row{grid-template-columns:var(--row-time-col) 3px minmax(0,1fr) auto}.mobile-booking-row:after,.mobile-availability-row:after{position:absolute;right:0;bottom:0;left:var(--screen-gutter);height:.5px;background:var(--hairline);content:""}.mobile-booking-row:last-child:after,.mobile-availability-row:last-child:after{display:none}.mobile-booking-row{min-height:64px;padding:10px var(--screen-gutter);cursor:pointer;transition:background .14s ease}.mobile-booking-row:active{background:var(--card-pressed)}.mobile-booking-row.selected{background:light-dark(#f2f7ec,#252d23)}.mobile-booking-time{display:grid;gap:2px}.mobile-booking-time b{color:var(--ink);font-size:var(--ios-subhead);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;letter-spacing:var(--ios-tracking-tight);line-height:1.15;white-space:nowrap}.mobile-booking-time small{color:light-dark(#9aa396,#6e776b);font-size:var(--ios-footnote);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:1.15;white-space:nowrap}.mobile-booking-accent{align-self:stretch;margin:8px 0;border-radius:var(--r-pill);background:var(--booking-accent, var(--green))}.mobile-booking-accent.free{background:transparent}.mobile-booking-main{display:grid;min-width:0;gap:2px}.mobile-booking-main strong{display:-webkit-box;overflow:hidden;color:var(--ink);font-size:var(--ios-body);font-weight:var(--font-weight-semibold);letter-spacing:var(--ios-tracking-tight);line-height:1.25;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.mobile-booking-subline{display:flex;align-items:center;gap:10px;min-width:0}.mobile-booking-main small{overflow:hidden;color:var(--muted);font-size:var(--ios-footnote);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.mobile-row-court{color:var(--booking-accent, var(--green));font-weight:var(--font-weight-semibold)}.mobile-booking-tag{flex:0 0 auto;margin-left:auto;border-radius:var(--r-pill);padding:5px 10px;background:var(--booking-pill, rgba(204, 225, 95, .45));box-shadow:inset 0 0 0 .5px light-dark(rgba(23,33,27,.05),rgba(255,255,255,.06));color:var(--booking-ink, var(--green-deep));font-size:var(--ios-caption2);font-weight:var(--font-weight-bold);letter-spacing:.005em;white-space:nowrap}.mobile-booking-tag.unpaid{background:light-dark(#fff1d2,#3d321a);color:light-dark(#805513,#e3b866)}.mobile-availability-row{min-height:48px;padding:6px var(--screen-gutter);background:var(--card-sunken);cursor:pointer;transition:background .14s ease}.mobile-availability-row:active{background:var(--card-pressed)}.mobile-availability-row .mobile-booking-time b{color:light-dark(#9aa396,#6e776b);font-size:var(--ios-footnote);font-weight:var(--font-weight-bold)}.mobile-availability-main{display:flex;align-items:baseline;gap:7px;min-width:0}.mobile-availability-main strong{color:light-dark(#78826f,#8a948a);font-size:var(--ios-subhead);font-weight:var(--font-weight-semibold)}.mobile-availability-main small{overflow:hidden;color:light-dark(#a4ad9d,#626b5d);font-size:var(--ios-footnote);text-overflow:ellipsis;white-space:nowrap}.mobile-availability-add{display:grid;width:28px;height:28px;place-items:center;border:1px dashed light-dark(#c5cebb,#3a4436);border-radius:50%;color:light-dark(#8a9387,#6e776b)}.mobile-now-line{position:relative;z-index:2;display:flex;align-items:center;gap:8px;height:18px;margin:-9px 0;padding:0 12px 0 8px;pointer-events:none}.mobile-now-line span{display:inline-grid;min-width:var(--row-time-col);place-items:center;border-radius:var(--r-pill);padding:3px 6px;background:light-dark(#d85a30,#e97a52);box-shadow:0 3px 8px -2px light-dark(rgba(216,90,48,.5),rgba(0,0,0,.5));color:light-dark(#fff,#2a1209);font-size:var(--ios-caption2);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;letter-spacing:.005em}.mobile-now-line:first-child{margin-top:0}.mobile-now-line:last-child{margin-bottom:4px}.mobile-now-line:after{content:"";flex:1;height:1.5px;border-radius:var(--r-pill);background:light-dark(#d85a30,#e97a52)}.mobile-sheet-backdrop,.mobile-detail-backdrop{position:fixed;inset:0;z-index:45;display:grid;align-items:end;box-sizing:border-box;padding-top:56px;background:light-dark(rgba(23,33,27,.24),rgba(0,0,0,.44));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-sheet,.mobile-detail-sheet{position:relative;box-sizing:border-box;width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--glass-thick);box-shadow:inset 0 .5px 0 0 light-dark(rgba(255,255,255,.95),rgba(255,255,255,.16)),inset .5px 0 0 0 light-dark(rgba(255,255,255,.5),rgba(255,255,255,.06)),inset -.5px 0 0 0 light-dark(rgba(255,255,255,.5),rgba(255,255,255,.06)),0 -20px 50px -12px light-dark(rgba(23,33,27,.24),rgba(0,0,0,.6));-webkit-backdrop-filter:var(--glass-blur-thick);backdrop-filter:var(--glass-blur-thick);touch-action:pan-y}.mobile-sheet{padding:30px var(--screen-gutter) calc(20px + env(safe-area-inset-bottom))}.mobile-sheet:before,.mobile-detail-sheet:before{position:absolute;top:9px;left:50%;z-index:3;width:40px;height:5px;border-radius:var(--r-pill);background:light-dark(rgba(107,117,104,.32),rgba(180,190,176,.32));content:"";transform:translate(-50%)}@media(prefers-reduced-motion:no-preference){.mobile-sheet-backdrop,.mobile-detail-backdrop{animation:mobile-dialog-backdrop-in .24s ease}.mobile-sheet,.mobile-detail-sheet{animation:mobile-sheet-in .42s var(--spring)}}@keyframes mobile-dialog-backdrop-in{0%{opacity:0}}@keyframes mobile-sheet-in{0%{transform:translateY(100%)}to{transform:none}}.mobile-detail-sheet:after{position:absolute;top:0;right:0;left:0;z-index:2;height:26px;border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(to bottom,var(--glass-thick),transparent);content:"";pointer-events:none}.mobile-detail-sheet .calendar-detail{position:static;width:100%;height:auto;max-height:min(calc(100dvh - 56px),760px);overflow:auto;border:0;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:30px var(--screen-gutter) calc(22px + env(safe-area-inset-bottom));background:transparent;box-shadow:none;overscroll-behavior:contain}.mobile-detail-sheet .calendar-detail h2{font-size:var(--ios-title1);letter-spacing:var(--ios-tracking-title);line-height:1.15}.mobile-detail-sheet .detail-intro{font-size:var(--ios-footnote)}.mobile-detail-sheet .detail-body{gap:12px}.mobile-detail-sheet .detail-section{gap:0;border:0;border-radius:var(--r-lg);padding:14px var(--screen-gutter) 4px;background:var(--card);box-shadow:var(--card-rim),var(--lift-1)}.mobile-detail-sheet .detail-section-heading{padding-bottom:10px}.mobile-detail-sheet .detail-section-heading span{font-size:var(--ios-subhead);font-weight:var(--font-weight-bold);letter-spacing:var(--ios-tracking-tight)}.mobile-detail-sheet .detail-facts{display:grid;gap:0;margin:0}.mobile-detail-sheet .detail-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:.5px solid var(--hairline);padding:11px 0}.mobile-detail-sheet .detail-facts>div:last-child{border-bottom:0}.mobile-detail-sheet .detail-facts dt{flex:0 0 auto;color:light-dark(#7c877c,#8a948a);font-size:var(--ios-subhead)}.mobile-detail-sheet .detail-facts dd{min-width:0;font-size:var(--ios-subhead);font-weight:var(--font-weight-semibold);text-align:right}.mobile-detail-sheet .detail-facts>.detail-fact-notes{display:grid;gap:6px;align-items:stretch;justify-content:stretch}.mobile-detail-sheet .detail-facts>.detail-fact-notes dt{flex:none}.mobile-detail-sheet .detail-facts dd.detail-notes{width:100%;max-width:100%;margin:0;text-align:left;font-weight:var(--font-weight-regular, 400);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:10.5rem;overflow:auto}.mobile-detail-sheet .detail-attribution{margin-top:2px;padding:12px 4px 0}.mobile-detail-sheet .community-meet-quick-actions{gap:7px;margin:0}.mobile-detail-sheet .community-meet-quick-actions .community-meet-quick-action{min-height:40px;border-radius:12px;padding:0 10px;background:var(--glass-control-hi);box-shadow:var(--glass-rim);font-size:var(--ios-footnote);font-weight:var(--font-weight-semibold);letter-spacing:var(--ios-tracking-tight);-webkit-backdrop-filter:var(--glass-blur-control);backdrop-filter:var(--glass-blur-control)}.mobile-detail-sheet .community-meet-quick-actions .community-meet-quick-action:active{filter:brightness(.97)}.mobile-detail-sheet .detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-detail-sheet .detail-actions button{min-height:48px;border:0;border-radius:var(--r-pill);padding:0 12px;background:var(--glass-control-hi);box-shadow:var(--glass-rim),var(--lift-1);color:var(--ink);font-size:var(--ios-subhead);font-weight:var(--font-weight-semibold);letter-spacing:var(--ios-tracking-tight);line-height:1.2;-webkit-backdrop-filter:var(--glass-blur-control);backdrop-filter:var(--glass-blur-control);transition:transform .16s var(--spring),filter .16s ease}.mobile-detail-sheet .detail-actions button:active{transform:scale(.96);filter:brightness(.96)}.mobile-detail-sheet .detail-actions .primary-detail-action{grid-column:1 / -1;min-height:54px;background:var(--accent-fill);box-shadow:inset 0 .5px #ffffff4d,inset 0 0 0 .5px #ffffff29,var(--accent-glow);color:#fff;font-size:var(--ios-body)}.mobile-detail-sheet .detail-actions .danger-action{grid-column:1 / -1;background:light-dark(rgba(250,232,228,.86),rgba(57,36,32,.8));box-shadow:inset 0 0 0 .5px light-dark(rgba(161,50,50,.16),rgba(229,134,123,.18));color:var(--danger)}.mobile-detail-sheet .detail-actions .detail-action-note{grid-column:1 / -1}.mobile-month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.mobile-month-nav strong{font-size:var(--ios-title3);font-weight:var(--font-weight-bold);letter-spacing:var(--ios-tracking-title)}.mobile-month-nav button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:var(--glass-control);box-shadow:var(--glass-rim),var(--lift-1);color:light-dark(#1d5138,#b6dcc5);cursor:pointer;-webkit-backdrop-filter:var(--glass-blur-control);backdrop-filter:var(--glass-blur-control);transition:transform .16s var(--spring)}.mobile-month-nav button:active{transform:scale(.9)}.mobile-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.mobile-month-grid>span{padding:6px 0 8px;color:light-dark(#7d887a,#79836f);font-size:var(--ios-caption2);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-align:center;text-transform:uppercase}.mobile-month-grid button{position:relative;display:grid;aspect-ratio:1;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:var(--ios-callout);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;transition:background .16s ease,transform .16s var(--spring)}.mobile-month-grid button:active{transform:scale(.88)}.mobile-month-grid button.outside{color:light-dark(#b5bcb1,#4f584c)}.mobile-month-grid button.today{color:light-dark(#2f7050,#8cc4a5);font-weight:var(--font-weight-bold)}.mobile-month-grid button.has-bookings:after{position:absolute;bottom:5px;left:50%;width:4px;height:4px;border-radius:50%;background:currentColor;content:"";opacity:.5;transform:translate(-50%)}.mobile-month-grid button.selected{background:var(--accent-fill);box-shadow:inset 0 .5px #ffffff4d,var(--accent-glow);color:#fff}.mobile-account-identity{display:flex;align-items:center;gap:14px;margin-bottom:18px}.mobile-account-identity div{display:grid;gap:1px;min-width:0}.mobile-account-identity strong{overflow:hidden;font-size:var(--ios-title3);font-weight:var(--font-weight-bold);letter-spacing:var(--ios-tracking-title);text-overflow:ellipsis;white-space:nowrap}.mobile-account-identity span:not(.mobile-avatar-button){color:var(--muted);font-size:var(--ios-subhead)}.mobile-account-actions{display:grid;overflow:hidden;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--card-rim),var(--lift-1)}.mobile-account-actions button{position:relative;display:flex;align-items:center;gap:14px;min-height:54px;border:0;padding:0 var(--screen-gutter);background:transparent;color:var(--ink);cursor:pointer;font-size:var(--ios-body);font-weight:var(--font-weight-medium);letter-spacing:var(--ios-tracking-tight);text-align:left;transition:background .14s ease}.mobile-account-actions button+button:after{position:absolute;top:0;right:0;left:calc(var(--screen-gutter) + 17px + 14px);height:.5px;background:var(--hairline);content:""}.mobile-account-actions button:active{background:var(--card-pressed)}.mobile-account-actions button svg{flex:0 0 auto;color:light-dark(#2f7050,#8cc4a5)}.mobile-account-actions button.danger{color:var(--danger)}.mobile-account-actions button.danger svg{color:var(--danger)}.mobile-account-build{margin:16px 0 0;color:light-dark(#9aa395,#626b5d);font-size:var(--ios-caption2);text-align:center}@media(max-width:380px){:root:has(.mobile-app){--screen-gutter: 13px;--row-time-col: 3.1rem}.mobile-booking-row,.mobile-availability-row{gap:10px}.mobile-month-button{font-size:var(--ios-title2)}.mobile-bottom-nav button{font-size:.625rem}}@media(max-width:1280px){.settings-layout{grid-template-columns:1fr}}@media(max-width:900px){.panel-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.handoff-grid,.virtual-user-card{grid-template-columns:1fr}.upstream-session-list li{grid-template-columns:1fr;gap:6px}.upstream-session-expiry{text-align:left}.upstream-session-flags,.upstream-session-actions{justify-content:flex-start}.version-grid{grid-template-columns:1fr}.version-card+.version-card{border-top:1px solid var(--line);border-left:0}.virtual-user-actions{justify-content:flex-start}.calendar-layout{grid-template-columns:1fr}}@media(max-width:1200px){.week-mode .calendar-layout{grid-template-columns:1fr}.week-mode .week-calendar{grid-template-columns:repeat(7,minmax(84px,1fr));overflow-x:visible}.week-mode .week-day{min-height:520px;padding:10px 10px 0}.week-mode .week-day-header,.week-mode .week-timeline .week-booking-card,.week-mode .week-timeline .availability-gap,.week-mode .empty-slot{padding:8px}.week-mode .week-day-header strong{font-size:var(--font-size-base)}.week-mode .week-day-metrics,.week-mode .week-timeline .week-booking-card strong,.week-mode .empty-slot{font-size:var(--font-size-2xs)}}@media(max-width:560px){.login-page,.content{padding:22px}.login-card{padding:24px;border-radius:18px}.topbar{flex-direction:column}.calendar-topbar,.topbar-actions{flex-direction:column;align-items:stretch}.placeholder-editor-backdrop{align-items:flex-end;justify-content:stretch;padding:0}.placeholder-editor{position:relative;width:100%;height:min(88dvh,780px);max-height:none;border:0;border-top:1px solid var(--line);border-radius:26px 26px 0 0}.placeholder-hold-layout,.detail-hold-layout{grid-template-columns:1fr;gap:12px}.placeholder-hold-section,.detail-section{padding:14px;border-radius:14px}.placeholder-hold-notes textarea{min-height:88px}.placeholder-hold-attribution{margin-top:0}.placeholder-editor.placeholder-hold-editor h2{font-size:var(--font-size-3xl)}.placeholder-editor:before{position:absolute;top:10px;left:50%;z-index:3;width:42px;height:4px;border-radius:999px;background:light-dark(rgba(138,147,135,.36),rgba(110,119,107,.36));content:"";transform:translate(-50%)}.slot-choice-backdrop{align-items:flex-end;padding:0}.slot-choice-dialog{position:relative;width:100%;border:0;border-radius:26px 26px 0 0;padding:26px 18px calc(20px + env(safe-area-inset-bottom))}.slot-choice-dialog:before{position:absolute;top:10px;left:50%;width:42px;height:4px;border-radius:999px;background:light-dark(rgba(138,147,135,.36),rgba(110,119,107,.36));content:"";transform:translate(-50%)}@media(prefers-reduced-motion:no-preference){.placeholder-editor,.slot-choice-dialog{animation:mobile-sheet-in .36s cubic-bezier(.32,.72,0,1)}.placeholder-editor-backdrop,.slot-choice-backdrop{animation:mobile-dialog-backdrop-in .22s ease}}.placeholder-editor,.placeholder-editor form,.placeholder-editor-fields{max-width:100vw;max-width:100dvw;overflow-x:hidden}.placeholder-editor input,.placeholder-editor select,.placeholder-editor textarea{font-size:var(--font-size-base)}.placeholder-editor.action-dialog{gap:18px;width:100%;height:auto;max-height:min(88dvh,680px);padding:30px 20px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.action-dialog .editor-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.action-dialog .editor-footer{margin-top:16px;padding-top:14px}.form-grid.two,.time-grid,.editor-actions,.court-choice-grid,.permission-section>div{grid-template-columns:1fr}.placeholder-hold-schedule .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.placeholder-hold-schedule .form-grid.two>label{min-width:0}.placeholder-hold-schedule .time-select{min-height:44px;padding:0 10px;font-size:var(--font-size-xs)}.detail-stack-list>div{grid-template-columns:1fr}.detail-stack-list button{justify-content:center}.placeholder-editor.community-meet-editor{grid-template-rows:auto auto minmax(0,1fr);gap:12px;width:100%;height:min(96dvh,900px);padding:30px 22px 0}.community-meet-editor h2{font-size:var(--font-size-xl);line-height:1.2}.community-meet-editor .community-meet-desktop-copy{display:none}.community-meet-editor .community-meet-mobile-copy{display:inline}.community-meet-editor .community-meet-intro{margin:0;font-size:var(--font-size-sm);line-height:1.45}.community-meet-editor .placeholder-editor-fields{gap:26px;padding:10px 0 18px}.community-meet-editor .community-meet-section{gap:16px;border:0;border-radius:0;padding:0;background:transparent}.community-meet-editor .community-meet-section.form-section-rhythm{gap:20px}.community-meet-editor .community-meet-section+.community-meet-section{border-top:1px solid var(--line);padding-top:24px}.community-meet-editor .community-meet-section-heading small,.community-meet-editor .court-picker>span,.community-meet-editor .community-meet-safety{display:none}.community-meet-editor .court-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.community-meet-editor .form-grid.two,.community-meet-editor .time-grid{grid-template-columns:1fr;gap:16px}.placeholder-editor .form-grid.form-control-pair{gap:12px}.community-meet-editor .court-choice{min-height:56px;padding:10px 12px}.community-meet-editor input:not([type=checkbox]),.community-meet-editor select,.community-meet-editor textarea{min-height:56px}.community-meet-editor .community-meet-host-search input{min-height:44px}.community-meet-host-heading{align-items:start}.community-meet-host-recovery{grid-template-columns:1fr}.community-meet-host-recovery button{justify-self:start}.community-meet-editor .duration-control{gap:10px}.community-meet-editor .duration-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.community-meet-editor .duration-options button{min-height:52px}.community-meet-editor .editor-footer{gap:0;margin:0 -22px;padding:12px 22px calc(14px + env(safe-area-inset-bottom))}.community-meet-editor .editor-actions{grid-template-columns:1fr}.community-meet-editor .editor-actions .logout-button{display:none}.community-meet-editor .editor-actions .primary-button{min-height:52px}}.mobile-app .topbar{display:grid;gap:14px;margin-bottom:20px;padding-top:calc(env(safe-area-inset-top) + 4px)}.mobile-app .topbar>div{min-width:0}.mobile-app .topbar h1{font-size:var(--ios-large-title);font-weight:var(--font-weight-bold);letter-spacing:var(--ios-tracking-title);line-height:1.06;text-wrap:balance}.mobile-app .topbar p{margin-top:7px;color:var(--muted);font-size:var(--ios-subhead);line-height:1.4}.mobile-app .topbar-actions,.mobile-app .dashboard-topbar-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:auto}.mobile-app .logout-button,.mobile-app .dashboard-secondary-button,.mobile-app .dashboard-icon-button,.mobile-app .user-chip{flex:0 0 auto;min-height:40px;border:0;border-radius:var(--r-pill);padding:0 16px;background:var(--glass-control);box-shadow:var(--glass-rim),var(--lift-1);color:light-dark(#1d5138,#b6dcc5);font-size:var(--ios-subhead);font-weight:var(--font-weight-semibold);letter-spacing:var(--ios-tracking-tight);white-space:nowrap;-webkit-backdrop-filter:var(--glass-blur-control);backdrop-filter:var(--glass-blur-control);transition:transform .18s var(--spring),background .18s ease}.mobile-app .dashboard-icon-button{width:40px;padding:0}.mobile-app .topbar .logout-button{color:var(--danger)}.mobile-app .user-chip{display:inline-flex;align-items:center;color:var(--muted);font-weight:var(--font-weight-medium)}.mobile-app .logout-button:active,.mobile-app .dashboard-secondary-button:active,.mobile-app .dashboard-icon-button:active{background:var(--glass-control-hi);transform:scale(.95)}.mobile-app .dashboard-panel,.mobile-app .dashboard-empty,.mobile-app .settings-panel,.mobile-app .handoff-grid article,.mobile-app .version-panel,.mobile-app .schedule-editor,.mobile-app .schedule-exceptions{border:0;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--card-rim),var(--lift-1)}.mobile-app .dashboard-panel,.mobile-app .settings-panel{padding:var(--screen-gutter)}.mobile-app .dashboard-empty,.mobile-app .handoff-grid article{min-height:0;padding:20px var(--screen-gutter)}.mobile-app .dashboard-page{gap:14px}.mobile-app .handoff-grid{gap:12px}.mobile-app .settings-panel-heading{flex-direction:column;align-items:stretch;gap:12px}.mobile-app .settings-panel h2{font-size:var(--ios-title2);letter-spacing:var(--ios-tracking-title)}.mobile-app .dashboard-panel-heading span,.mobile-app .panel-label,.mobile-app .nav-group p,.mobile-app .handoff-grid span{font-size:var(--ios-caption2);font-weight:var(--font-weight-bold);letter-spacing:.045em}.mobile-app .dashboard-panel-heading small{font-size:var(--ios-caption)}.mobile-app .dashboard-panel-metric{font-size:var(--ios-callout);letter-spacing:var(--ios-tracking-tight)}.mobile-app .handoff-grid strong{font-size:var(--ios-title2);letter-spacing:var(--ios-tracking-title)}.mobile-app .dashboard-attention-item,.mobile-app .virtual-user-card,.mobile-app .community-template-card,.mobile-app .upstream-account-card,.mobile-app .conversion-summary,.mobile-app .dashboard-week-day{border:0;border-radius:var(--r-sm);background:var(--card-sunken);box-shadow:inset 0 0 0 .5px var(--hairline)}.mobile-app .dashboard-attention-item{gap:12px;min-height:56px;padding:12px 13px;transition:background .14s ease,transform .16s var(--spring)}.mobile-app .dashboard-attention-item:active{background:var(--card-pressed);transform:scale(.985)}.mobile-app .dashboard-attention-copy strong{font-size:var(--ios-subhead)}.mobile-app .dashboard-attention-copy small{font-size:var(--ios-footnote)}.mobile-app .dashboard-attention-kind,.mobile-app .state-pill,.mobile-app .virtual-user-permissions span,.mobile-app .virtual-user-group-count{font-size:var(--ios-caption2);letter-spacing:.02em}.mobile-app .dashboard-week-day.is-today{background:light-dark(#eaf2e2,#26301f);box-shadow:inset 0 0 0 .5px light-dark(rgba(40,99,69,.24),rgba(148,212,179,.22))}.mobile-app .virtual-user-card{gap:12px;padding:var(--screen-gutter)}.mobile-app .virtual-user-actions button,.mobile-app .community-template-card>button,.mobile-app .upstream-session-actions button{min-height:40px;border-radius:var(--r-pill);font-size:var(--ios-footnote)}.mobile-app input:not([type=checkbox]):not([type=radio]),.mobile-app select,.mobile-app textarea{min-height:50px;border:0;border-radius:var(--r-sm);padding:13px 14px;background:var(--card-sunken);box-shadow:inset 0 0 0 .5px var(--hairline);font-size:var(--ios-callout);font-weight:var(--font-weight-medium)}.mobile-app input:focus,.mobile-app select:focus,.mobile-app textarea:focus{box-shadow:inset 0 0 0 1px light-dark(rgba(40,99,69,.55),rgba(148,212,179,.5)),0 0 0 4px light-dark(rgba(40,99,69,.1),rgba(148,212,179,.12))}.mobile-app label{font-size:var(--ios-footnote);letter-spacing:var(--ios-tracking-tight)}.mobile-app .primary-button{min-height:52px;border-radius:var(--r-pill);background:var(--accent-fill);box-shadow:inset 0 .5px #ffffff4d,inset 0 0 0 .5px #ffffff29,var(--accent-glow);font-size:var(--ios-body);letter-spacing:var(--ios-tracking-tight);transition:transform .18s var(--spring),filter .18s ease}.mobile-app .primary-button:active:not(:disabled){transform:scale(.975);filter:brightness(.96)}.mobile-app .compact-button{min-height:44px;padding:0 16px;font-size:var(--ios-subhead)}.mobile-app .primary-button.danger-button{background:light-dark(#a13232,#b23c35);box-shadow:inset 0 .5px #ffffff42,inset 0 0 0 .5px #ffffff24,0 8px 20px -6px light-dark(rgba(161,50,50,.42),rgba(0,0,0,.6))}.mobile-app .status-line{border-radius:var(--r-sm);padding:13px 14px;font-size:var(--ios-footnote);line-height:1.4}.mobile-app .dashboard-court-lane-track{height:20px;border:0;background-color:var(--card-sunken);box-shadow:inset 0 0 0 .5px light-dark(rgba(40,99,69,.12),rgba(148,212,179,.14))}.mobile-app .dashboard-court-lane-label strong{font-size:var(--ios-subhead)}.mobile-app .dashboard-court-lane-label small,.mobile-app .dashboard-court-tick,.mobile-app .dashboard-week-day small,.mobile-app .dashboard-week-day-label{font-size:var(--ios-caption2)}.mobile-app .dashboard-week-day strong{font-size:var(--ios-footnote)}.mobile-app .settings-layout{gap:14px}.mobile-app .settings-filter-row select{min-width:0;width:100%}.mobile-app .settings-filter-row label{flex:1 1 100%;display:grid;gap:6px}.mobile-app .theme-picker{gap:3px;border-radius:var(--r-sm);padding:3px;background:var(--card-sunken);box-shadow:inset 0 0 0 .5px var(--hairline)}.mobile-app .theme-picker button{min-height:38px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:var(--ios-footnote);transition:background .18s ease,color .18s ease}.mobile-app .theme-picker button.selected{background:var(--card);box-shadow:var(--lift-1);color:light-dark(#1d5138,#b6dcc5)}.mobile-app .placeholder-editor-backdrop,.mobile-app .slot-choice-backdrop,.mobile-app .action-dialog-backdrop,.mobile-app .schedule-review-backdrop{align-items:flex-end;justify-content:stretch;padding:56px 0 0;background:light-dark(rgba(23,33,27,.24),rgba(0,0,0,.46));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-app .placeholder-editor,.mobile-app .slot-choice-dialog,.mobile-app .schedule-review-dialog{position:relative;width:100%;max-width:none;border:0;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--glass-thick);box-shadow:inset 0 .5px 0 0 light-dark(rgba(255,255,255,.95),rgba(255,255,255,.16)),inset .5px 0 0 0 light-dark(rgba(255,255,255,.5),rgba(255,255,255,.06)),inset -.5px 0 0 0 light-dark(rgba(255,255,255,.5),rgba(255,255,255,.06)),0 -20px 50px -12px light-dark(rgba(23,33,27,.24),rgba(0,0,0,.6));-webkit-backdrop-filter:var(--glass-blur-thick);backdrop-filter:var(--glass-blur-thick)}.mobile-app .placeholder-editor:before,.mobile-app .slot-choice-dialog:before,.mobile-app .schedule-review-dialog:before{position:absolute;top:9px;left:50%;z-index:3;width:40px;height:5px;border-radius:var(--r-pill);background:light-dark(rgba(107,117,104,.32),rgba(180,190,176,.32));content:"";transform:translate(-50%)}.mobile-app .placeholder-editor{height:min(88dvh,800px);max-height:none;padding:28px var(--screen-gutter) 0}.mobile-app .placeholder-editor:has(.editor-sheet-nav){grid-template-rows:auto minmax(0,1fr);gap:0;height:min(92dvh,860px);padding:22px 0 0}.mobile-app .placeholder-editor:has(.editor-sheet-nav)>.panel-label-row,.mobile-app .placeholder-editor:has(.editor-sheet-nav)>.placeholder-hold-header,.mobile-app .placeholder-editor:has(.editor-sheet-nav) .editor-actions{display:none}.mobile-app .editor-sheet-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:0 var(--screen-gutter) 12px}.mobile-app .editor-sheet-nav-title{color:var(--ink);font-size:var(--ios-body);font-weight:var(--font-weight-semibold);letter-spacing:var(--ios-tracking-tight);text-align:center;white-space:nowrap}.mobile-app .editor-sheet-nav button{min-height:44px;border:0;padding:0;background:transparent;cursor:pointer;font-size:var(--ios-body);letter-spacing:var(--ios-tracking-tight);transition:opacity .14s ease}.mobile-app .editor-sheet-nav-cancel{justify-self:start;color:light-dark(#2f7050,#8cc4a5);font-weight:var(--font-weight-regular)}.mobile-app .editor-sheet-nav-submit{justify-self:end;color:light-dark(#1d5138,#b6dcc5);font-weight:var(--font-weight-bold)}.mobile-app .editor-sheet-nav button:active:not(:disabled){opacity:.45}.mobile-app .editor-sheet-nav-submit:disabled{color:var(--muted);cursor:default;opacity:.5}.mobile-app .placeholder-editor:has(.editor-sheet-nav) .placeholder-editor-fields{gap:0;padding:0 0 20px}.mobile-app .placeholder-editor:has(.editor-sheet-nav) .placeholder-hold-layout,.mobile-app .placeholder-editor:has(.editor-sheet-nav) .detail-hold-layout{gap:0}.mobile-app .placeholder-editor:has(.editor-sheet-nav) .placeholder-hold-section{border:0;border-radius:0;padding:18px var(--screen-gutter);background:var(--card);box-shadow:inset 0 -.5px 0 0 var(--hairline)}.mobile-app .placeholder-editor:has(.editor-sheet-nav) .placeholder-hold-section+.placeholder-hold-section{box-shadow:inset 0 .5px 0 0 var(--hairline),inset 0 -.5px 0 0 var(--hairline)}.mobile-app .placeholder-editor:has(.editor-sheet-nav) .placeholder-editor-fields>*:not(.placeholder-hold-layout):not(.detail-hold-layout):not(.placeholder-hold-section){margin:14px var(--screen-gutter)}.mobile-app .placeholder-editor:has(.editor-sheet-nav) .editor-footer:not(:has(.status-line)){display:none}.mobile-app .placeholder-editor:not(:has(.editor-sheet-nav)) .editor-footer{margin:0 calc(var(--screen-gutter) * -1)}.mobile-app .placeholder-editor h2,.mobile-app .placeholder-editor.placeholder-hold-editor h2,.mobile-app .slot-choice-dialog h2,.mobile-app .schedule-review-dialog h2{font-size:var(--ios-title1);letter-spacing:var(--ios-tracking-title);line-height:1.15}.mobile-app .placeholder-hold-intro,.mobile-app .slot-choice-context{font-size:var(--ios-footnote);line-height:1.4}.mobile-app .community-meet-section+.community-meet-section{border-top:0}.mobile-app .editor-footer{margin:0;padding:14px var(--screen-gutter) calc(16px + env(safe-area-inset-bottom));border-top:0;background:light-dark(rgba(248,250,244,.84),rgba(29,35,27,.82));box-shadow:inset 0 .5px 0 0 light-dark(rgba(23,33,27,.08),rgba(255,255,255,.08));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.mobile-app .editor-actions{grid-template-columns:1fr;gap:10px}.mobile-app .editor-actions .logout-button,.mobile-app .editor-actions button{min-height:50px;border-radius:var(--r-pill);font-size:var(--ios-body)}.mobile-app .placeholder-editor.action-dialog{gap:18px;height:auto;max-height:min(88dvh,700px);padding:28px var(--screen-gutter) calc(18px + env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0}.mobile-app .placeholder-editor.action-dialog h2{font-size:var(--ios-title2)}.mobile-app .action-dialog-close{width:36px;height:36px;border:0;background:var(--glass-control);box-shadow:var(--glass-rim)}.mobile-app .action-dialog .conversion-summary{border-radius:var(--r-sm);padding:13px 14px}.mobile-app .slot-choice-dialog{gap:14px;padding:30px var(--screen-gutter) calc(20px + env(safe-area-inset-bottom))}.mobile-app .slot-choice-options{display:grid;overflow:hidden;gap:0;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--card-rim),var(--lift-1)}.mobile-app .slot-choice-option{position:relative;min-height:68px;border:0;border-radius:0;padding:14px var(--screen-gutter);background:transparent;transition:background .14s ease}.mobile-app .slot-choice-option+.slot-choice-option:after{position:absolute;top:0;right:0;left:calc(var(--screen-gutter) + 20px + 13px);height:.5px;background:var(--hairline);content:""}.mobile-app .slot-choice-option:hover{background:transparent}.mobile-app .slot-choice-option.primary,.mobile-app .slot-choice-option.primary:hover{background:light-dark(rgba(40,99,69,.06),rgba(148,212,179,.07))}.mobile-app .slot-choice-option.community,.mobile-app .slot-choice-option.community:hover{background:light-dark(rgba(183,119,22,.07),rgba(232,165,64,.08))}.mobile-app .slot-choice-option:active{background:var(--card-pressed);transform:none}.mobile-app .slot-choice-option strong{font-size:var(--ios-body);letter-spacing:var(--ios-tracking-tight)}.mobile-app .slot-choice-option small{font-size:var(--ios-footnote);line-height:1.35}body:has(.mobile-app) .submission-notice{border:0;border-radius:var(--r-md, 18px);padding:13px 13px 13px 14px;background:var(--glass-thick, rgba(248, 250, 244, .86));box-shadow:var(--glass-rim),var(--lift-3);-webkit-backdrop-filter:var(--glass-blur-thick);backdrop-filter:var(--glass-blur-thick)}body:has(.mobile-app) .submission-notice-icon{border-radius:var(--r-xs, 10px)}.mobile-login{padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(115% 52% at 100% -6%,light-dark(rgba(204,225,95,.36),rgba(204,225,95,.13)),transparent 62%),radial-gradient(95% 48% at -10% 104%,light-dark(rgba(40,99,69,.14),rgba(47,122,83,.18)),transparent 60%),var(--bg)}.mobile-login .login-brand h1{font-size:var(--ios-large-title);letter-spacing:var(--ios-tracking-title)}.mobile-login .login-eyebrow{font-size:var(--ios-caption2);letter-spacing:.045em}.mobile-login .login-brand-icon{width:60px;height:60px;border:0;border-radius:var(--r-md);box-shadow:var(--lift-2)}.mobile-login .login-card{padding:26px 20px 24px;border:0;border-radius:var(--r-xl);background:var(--glass-thick);box-shadow:var(--glass-rim),var(--lift-3);-webkit-backdrop-filter:var(--glass-blur-thick);backdrop-filter:var(--glass-blur-thick)}.mobile-login .form-heading{gap:14px;margin-bottom:22px}.mobile-login .form-heading h2{font-size:var(--ios-title1);letter-spacing:var(--ios-tracking-title)}.mobile-login .form-heading p{margin-top:4px;font-size:var(--ios-footnote);line-height:1.4}.mobile-login .icon-bubble{width:50px;height:50px;border-radius:var(--r-sm);background:light-dark(rgba(40,99,69,.1),rgba(148,212,179,.12))}.mobile-login .password-toggle{border-radius:var(--r-xs)}.mobile-login .check-row{font-size:var(--ios-subhead)}
