:root{--font-main: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-lime-green: #d6f072;--color-hunter-green: #184d38;--color-tea-green: #b8e6a1;--color-mist-green: #eaf7e4;--color-pure-white: #ffffff;--color-bg-login: var(--color-mist-green);--color-bg-dashboard: var(--color-mist-green);--color-card-bg: var(--color-pure-white);--color-sidebar-bg: var(--color-hunter-green);--color-sidebar-hover: #20624a;--color-sidebar-active: #235a42;--color-sidebar-text: #cfe6d7;--color-sidebar-text-hover: var(--color-pure-white);--color-accent-lime: var(--color-lime-green);--color-accent-lime-hover: #c4e64f;--color-accent-lime-text: var(--color-hunter-green);--color-dark-green: var(--color-hunter-green);--color-text-primary: #12231b;--color-text-secondary: #5a6e63;--color-border: #d9ebdf;--color-input-bg: #f2f9ee;--color-positive: #10b981;--color-negative: #ef4444;--color-warning-bg: #fdf8ea;--color-warning-border: #f6e8cc;--color-warning-text: #b45309;--color-static: #9333ea;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 2px 4px rgba(24, 77, 56, .04);--shadow-md: 0 8px 16px rgba(24, 77, 56, .05);--shadow-lg: 0 12px 32px rgba(24, 77, 56, .07);--transition-fast: .15s ease;--transition-normal: .25s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);font-optical-sizing:auto;background-color:var(--color-bg-dashboard);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}button,input,select,textarea{font-family:inherit}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-content:center;flex-shrink:0;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;border:1.5px solid var(--color-dark-green);border-radius:5px;background:var(--color-card-bg);color:var(--color-dark-green);vertical-align:middle;cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=checkbox]:before{content:"";width:5px;height:9px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg) scale(0)}input[type=checkbox]:checked,input[type=checkbox]:indeterminate{background:var(--color-accent-lime)}input[type=checkbox]:checked:before{transform:translateY(-1px) rotate(45deg)}input[type=checkbox]:indeterminate:before{width:9px;height:2px;border:0;background:currentColor;transform:none}input[type=checkbox]:focus-visible{outline:2px solid var(--color-dark-green);outline-offset:3px;box-shadow:0 0 0 4px var(--color-accent-lime)}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed!important}@media (forced-colors: active){input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}input[type=checkbox]:before{display:none}}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-dashboard)}::-webkit-scrollbar-thumb{background:#cbdcd0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a9c2b0}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg-login);padding:20px}.login-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.login-logo{width:150px;height:auto;margin-bottom:8px}.login-title{font-size:1.5rem;font-weight:700;color:var(--color-dark-green);margin:0 0 4px}.login-subtitle{font-size:.9rem;color:var(--color-text-secondary)}.login-card{background:var(--color-card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:440px;padding:32px;border:1px solid var(--color-border)}.login-tabs{display:flex;background-color:var(--color-input-bg);padding:4px;border-radius:var(--radius-md);margin-bottom:28px}.login-tab{flex:1;border:none;background:transparent;padding:10px;font-size:.95rem;font-weight:600;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.login-tab.active{background-color:var(--color-card-bg);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.input-container{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;color:var(--color-text-secondary);pointer-events:none}.form-input{width:100%;padding:14px 14px 14px 44px;font-size:.95rem;background-color:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-dark-green);background-color:var(--color-card-bg);box-shadow:0 0 0 3px #113f2a14}.btn-primary{width:100%;background-color:var(--color-accent-lime);color:var(--color-accent-lime-text);border:none;border-radius:var(--radius-md);padding:14px;font-size:1rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px #c5f05133;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.btn-primary:hover{background-color:var(--color-accent-lime-hover);box-shadow:0 6px 16px #c5f0514d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.login-footer{margin-top:24px;text-align:center}.login-footer-link{font-size:.85rem;font-weight:600;color:#7b9e38;display:inline-flex;align-items:center;gap:6px;transition:color var(--transition-fast)}.login-footer-link:hover{color:var(--color-dark-green)}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--color-bg-dashboard)}.sidebar{width:260px;background-color:var(--color-sidebar-bg);color:var(--color-sidebar-text);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:100;padding:24px 16px;overflow-y:auto;overflow-x:hidden;border-right:1px solid rgba(255,255,255,.05);transition:width var(--transition-normal),padding var(--transition-normal)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin-bottom:32px}.sidebar-brand{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer;position:relative}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--color-sidebar-text);cursor:pointer;transition:all var(--transition-fast)}.sidebar-collapse-btn:hover{background-color:var(--color-sidebar-hover);color:#fff}.sidebar-brand-toggle{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background-color:#0f3925e0;color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:1}.sidebar-logo-circle{width:40px;height:40px;border-radius:50%;background-color:var(--color-accent-lime);display:flex;align-items:center;justify-content:center;color:var(--color-dark-green);flex-shrink:0}.sidebar-brand-name{font-weight:700;font-size:1.15rem;color:#fff;line-height:1.2}.sidebar-brand-subtitle{font-size:.75rem;color:var(--color-sidebar-text);opacity:.8}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav-section{display:flex;flex-direction:column;margin-bottom:12px}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);color:var(--color-sidebar-text);width:100%;border:none;background:transparent;text-align:left}.nav-item-content{display:flex;align-items:center;gap:12px}.nav-item:hover{background-color:var(--color-sidebar-hover);color:var(--color-sidebar-text-hover)}.nav-item.active{background-color:var(--color-sidebar-active);color:var(--color-sidebar-text-hover);font-weight:600}.nav-chevron{transition:transform var(--transition-normal)}.nav-chevron.open{transform:rotate(180deg)}.nav-submenu{display:none;flex-direction:column;gap:2px;padding-left:36px;margin-top:2px}.submenu-item{padding:8px 12px;font-size:.9rem;border-radius:var(--radius-sm);color:var(--color-sidebar-text);transition:all var(--transition-fast);font-weight:500;display:block}.submenu-item:hover{color:var(--color-sidebar-text-hover);background-color:#ffffff08}.submenu-item.active{color:var(--color-accent-lime);font-weight:600;background-color:#ffffff0d}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:16px;padding-top:20px}.client-switcher-panel,.admin-client-summary{position:relative;width:100%;background-color:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:12px;display:flex;align-items:flex-start;gap:10px;transition:background var(--transition-fast)}.client-switcher-panel:focus-within{background-color:#ffffff14;border-color:#d5f28257}.client-switcher-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.client-switcher-label,.admin-client-label,.admin-location-label{color:var(--color-sidebar-text);font-size:.62rem;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;opacity:.72}.client-switcher-panel .sidebar-client-dropdown.dd-trigger[data-variant=filter],.admin-client-summary .sidebar-location-dropdown.dd-trigger[data-variant=filter]{width:100%;min-width:0;min-height:22px;padding:0;gap:4px;color:#fff;font:inherit;font-size:.82rem;font-weight:650;line-height:1.35;background:transparent;border:0;border-radius:0;box-shadow:none;outline:0}.client-switcher-panel .sidebar-client-dropdown.dd-trigger[data-variant=filter]:hover:not(:disabled),.client-switcher-panel .sidebar-client-dropdown.dd-trigger[data-variant=filter][data-open=true],.client-switcher-panel .sidebar-client-dropdown.dd-trigger[data-variant=filter]:focus-visible,.admin-client-summary .sidebar-location-dropdown.dd-trigger[data-variant=filter]:hover:not(:disabled),.admin-client-summary .sidebar-location-dropdown.dd-trigger[data-variant=filter][data-open=true],.admin-client-summary .sidebar-location-dropdown.dd-trigger[data-variant=filter]:focus-visible{color:#fff;background:transparent;border:0;box-shadow:none}.client-switcher-panel .sidebar-client-dropdown:disabled,.admin-client-summary .sidebar-location-dropdown:disabled{cursor:wait;opacity:.72}.client-switcher-panel .sidebar-client-dropdown .dd-chevron,.admin-client-summary .sidebar-location-dropdown .dd-chevron{color:var(--color-sidebar-text)}.client-switcher-panel .sidebar-client-dropdown .dd-chevron svg,.admin-client-summary .sidebar-location-dropdown .dd-chevron svg{width:14px;height:14px}.client-switcher-help{color:var(--color-sidebar-text);font-size:.67rem;line-height:1.3;opacity:.8}.client-switcher-error{color:inherit;font:inherit;text-align:left;cursor:pointer}.client-switcher-error:active{transform:translateY(1px)}.admin-client-summary .studio-details{width:100%;gap:3px}.admin-location-list{max-height:108px;margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;border-top:1px solid rgba(255,255,255,.08)}.admin-location-item,.admin-location-empty{display:flex;align-items:center;gap:7px;color:var(--color-sidebar-text);font-size:.7rem;line-height:1.25}.admin-location-dot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--color-accent-lime)}.studio-icon-circle{width:28px;height:28px;border-radius:50%;background-color:var(--color-sidebar-active);color:var(--color-accent-lime);display:flex;align-items:center;justify-content:center;flex-shrink:0}.studio-details{display:flex;flex-direction:column;min-width:0}.studio-name{color:#fff;font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-subtext{font-size:.7rem;color:var(--color-sidebar-text);opacity:.8}.sign-out-btn{display:flex;align-items:center;gap:10px;padding:8px 12px;color:var(--color-sidebar-text);font-size:.9rem;font-weight:500;border:none;background:transparent;cursor:pointer;transition:color var(--transition-fast);align-self:flex-start}.sign-out-btn:hover{color:#fff}.classes-calendar-shell{overflow-y:auto}.main-content{flex:1;min-width:0;margin-left:260px;padding:32px 40px;min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--transition-normal)}.tenant-view-state{min-height:280px;display:grid;place-items:center;color:var(--color-text-secondary);font-size:.9rem;text-align:center}.client-selection-modal{display:flex;flex-direction:column;gap:20px}.client-selection-intro{display:flex;align-items:flex-start;gap:12px}.client-selection-intro p{margin:1px 0 0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.55}.client-selection-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;color:var(--color-dark-green);background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.client-selection-field{margin:0}.client-selection-status{display:flex;flex-direction:column;gap:4px;padding:14px 16px;color:var(--color-text-primary);background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.86rem;line-height:1.45}.client-selection-status span{color:var(--color-text-secondary)}.client-selection-actions{display:flex;justify-content:flex-end}.client-selection-continue{width:auto;min-width:120px;margin-top:0;padding:11px 22px}.client-selection-continue:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.client-selection-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;color:var(--color-dark-green);background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;font-weight:700;cursor:pointer}.client-selection-secondary:hover{border-color:var(--color-dark-green)}.dashboard-layout.collapsed .sidebar{width:72px;padding:24px 8px;overflow:visible}.dashboard-layout.collapsed .sidebar-header{flex-direction:column;gap:16px}.dashboard-layout.collapsed .sidebar-brand{justify-content:center;width:40px;height:40px}.dashboard-layout.collapsed .sidebar-logo-circle{margin:0 auto}.dashboard-layout.collapsed .sidebar-brand:hover .sidebar-brand-toggle,.dashboard-layout.collapsed .sidebar-brand:focus-within .sidebar-brand-toggle{opacity:1;pointer-events:auto}.dashboard-layout.collapsed .sidebar-brand-text,.dashboard-layout.collapsed .nav-item-text,.dashboard-layout.collapsed .nav-chevron,.dashboard-layout.collapsed .studio-details,.dashboard-layout.collapsed .sign-out-btn span{display:none}.dashboard-layout.collapsed .client-switcher-panel,.dashboard-layout.collapsed .admin-client-summary{padding:8px;align-items:center;justify-content:center}.dashboard-layout.collapsed .client-switcher-content{position:absolute;top:0;right:0;bottom:0;left:0}.dashboard-layout.collapsed .client-switcher-label,.dashboard-layout.collapsed .client-switcher-help{display:none}.dashboard-layout.collapsed .client-switcher-panel .sidebar-client-dropdown.dd-trigger[data-variant=filter]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;padding:0;opacity:0}.dashboard-layout.collapsed .client-switcher-error .client-switcher-content{display:none}.dashboard-layout.collapsed .sign-out-btn{align-self:center;padding:8px 0}.dashboard-layout.collapsed .main-content{margin-left:72px}.dashboard-layout.collapsed .nav-section{position:relative}.dashboard-layout.collapsed .nav-submenu{display:flex;position:absolute;left:100%;top:0;min-width:188px;padding:8px;margin-top:0;background-color:var(--color-sidebar-bg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-6px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.dashboard-layout.collapsed .nav-section:hover .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.dashboard-layout.collapsed .nav-submenu .submenu-item{white-space:nowrap}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:28px}.welcome-section{display:flex;flex-direction:column;gap:4px}.welcome-title{font-size:2.1rem;font-weight:800;color:var(--color-text-primary);letter-spacing:-.5px}.welcome-subtitle{font-size:.95rem;color:var(--color-text-secondary);font-weight:500}.header-actions{display:flex;align-items:center;gap:12px}.btn-dark{background-color:var(--color-dark-green);color:#fff;border:none;border-radius:var(--radius-md);padding:10px 18px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background var(--transition-fast)}.btn-dark:hover{background-color:var(--color-sidebar-hover)}.filter-select-container{position:relative;display:flex;align-items:center}.filter-select{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 36px 10px 16px;font-size:.95rem;font-weight:600;color:var(--color-text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;transition:all var(--transition-fast)}.filter-select:focus{border-color:var(--color-dark-green)}.select-arrow-icon{position:absolute;right:14px;color:var(--color-text-secondary);pointer-events:none}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.kpi-grid{grid-template-columns:1fr}.classes-calendar-shell{max-height:calc(100dvh - 250px);-webkit-overflow-scrolling:touch}}.kpi-card{background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;min-height:140px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.kpi-card-title{font-size:.9rem;font-weight:600;color:var(--color-text-secondary)}.kpi-icon-wrapper{width:36px;height:36px;border-radius:50%;background-color:#edf5ef;display:flex;align-items:center;justify-content:center;color:var(--color-dark-green)}.kpi-card-body{display:flex;flex-direction:column;gap:8px}.kpi-card-value{font-size:2rem;font-weight:700;color:var(--color-text-primary);line-height:1}.kpi-card-subtext{font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:4px}.kpi-sub-positive{color:var(--color-positive)}.kpi-sub-negative{color:var(--color-negative);background-color:#fdf2f2;padding:2px 6px;border-radius:4px;display:inline-flex}.kpi-sub-neutral{color:var(--color-text-secondary)}.kpi-card.warning-variant{background-color:var(--color-warning-bg);border-color:var(--color-warning-border)}.kpi-card.warning-variant .kpi-card-title{color:var(--color-warning-text)}.kpi-card.warning-variant .kpi-icon-wrapper{background-color:#d977061a;color:var(--color-warning-text)}.kpi-card.warning-variant .kpi-card-subtext{color:var(--color-warning-text);font-weight:500;line-height:1.4}.kpi-card.static-variant .kpi-icon-wrapper{color:var(--color-static);background-color:color-mix(in srgb,var(--color-static) 10%,white)}.widgets-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media (max-width: 1024px){.widgets-grid{grid-template-columns:1fr}}.widget-card{background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.widget-title{font-size:1.1rem;font-weight:700;color:var(--color-text-primary)}.widget-badge{font-size:.75rem;font-weight:600;color:var(--color-dark-green);background-color:var(--color-input-bg);padding:4px 10px;border-radius:20px}.revenue-chart-mock{display:flex;flex-direction:column;justify-content:flex-end;height:200px;padding-top:10px;border-bottom:1px dashed var(--color-border);position:relative;margin-bottom:12px}.chart-bars-container{display:flex;justify-content:space-around;align-items:flex-end;height:100%;width:100%}.chart-bar-group{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;justify-content:flex-end;gap:8px}.chart-bar{width:32px;background-color:var(--color-input-bg);border-radius:4px 4px 0 0;transition:height .5s ease;position:relative}.chart-bar.filled{background-color:var(--color-accent-lime)}.chart-bar.static-bar{background-color:color-mix(in srgb,var(--color-static) 24%,white)}.chart-bar.static-bar.filled,.chart-bar-group:hover .chart-bar.static-bar.filled{background-color:var(--color-static)}.chart-bar-group:hover .chart-bar.filled{background-color:var(--color-accent-lime-hover)}.chart-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:600}.chart-axis-labels{display:flex;justify-content:space-around;margin-top:8px;padding-top:8px}.classes-list{display:flex;flex-direction:column;gap:14px}.dashboard-widget-state{color:var(--color-text-secondary);font-size:.9rem;padding:20px 0;text-align:center}.class-item{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.class-item-link{margin-inline:-8px;padding-inline:8px;border-radius:var(--radius-sm);color:inherit;text-decoration:none;transition:background-color var(--transition-fast),transform var(--transition-fast)}.class-item-link:hover{background-color:var(--color-input-bg);transform:translate(2px)}.class-item-link:active{transform:translate(2px) scale(.99)}.class-item-link:focus-visible{outline:2px solid var(--color-dark-green);outline-offset:2px}.class-item:last-child{border-bottom:none;padding-bottom:0}.class-item-link:last-child{padding-bottom:8px}.class-info{display:flex;flex-direction:column;gap:2px}.class-name{font-weight:600;font-size:.95rem;color:var(--color-text-primary)}.class-instructor{font-size:.8rem;color:var(--color-text-secondary)}.class-stats{text-align:right;display:flex;flex-direction:column;gap:2px}.class-item-action{display:flex;align-items:center;gap:10px;margin-left:16px}.class-item-chevron{flex:0 0 auto;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.class-item-link:hover .class-item-chevron{transform:translate(2px)}.class-occupancy{font-weight:700;font-size:.95rem;color:var(--color-dark-green)}.class-bookings{font-size:.8rem;color:var(--color-text-secondary)}.dashboard-secondary-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);grid-template-areas:"tasks staff" "recent snapshot";gap:20px;margin-top:28px;align-items:stretch}.dashboard-ops-card,.dashboard-snapshot-card{border-radius:var(--radius-lg);min-width:0;padding:24px}.dashboard-ops-card{background:var(--color-card-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.dashboard-tasks-card{grid-area:tasks}.dashboard-staff-card{grid-area:staff}.dashboard-recent-card{grid-area:recent}.dashboard-snapshot-card{grid-area:snapshot;background:var(--color-sidebar-bg);color:#fff}.dashboard-ops-heading,.dashboard-snapshot-heading{display:flex;align-items:center}.dashboard-ops-heading{justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-ops-heading h2,.dashboard-snapshot-heading h2{font-size:1.08rem;line-height:1.25;margin:0}.dashboard-ops-heading h2{display:inline-flex;align-items:center;gap:9px;color:var(--color-dark-green)}.dashboard-open-count{border:1px solid var(--color-border);border-radius:999px;color:var(--color-dark-green);flex:0 0 auto;font-size:.78rem;font-weight:700;padding:5px 12px}.dashboard-task-list,.dashboard-staff-list{display:grid;gap:12px}.dashboard-task-row,.dashboard-staff-row{align-items:center;background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;min-width:0}.dashboard-task-row{grid-template-columns:42px minmax(0,1fr) auto;gap:12px;min-height:72px;padding:10px 14px}.dashboard-task-row.is-static .dashboard-task-icon{border-color:color-mix(in srgb,var(--color-static) 35%,white);color:var(--color-static)}.dashboard-task-icon{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:50%;color:var(--color-dark-green);display:inline-flex;height:42px;justify-content:center;width:42px}.dashboard-task-copy,.dashboard-staff-copy,.dashboard-booking-copy{display:flex;flex-direction:column;min-width:0}.dashboard-task-copy{gap:3px}.dashboard-task-copy strong,.dashboard-staff-copy strong,.dashboard-booking-copy strong{color:var(--color-text-primary);font-size:.93rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-task-copy>span,.dashboard-staff-copy>span,.dashboard-booking-copy>span{color:var(--color-text-secondary);font-size:.79rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-row-action{align-items:center;background:transparent;border:1px solid var(--color-border);border-radius:999px;color:var(--color-dark-green);display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;min-width:66px;padding:9px 13px;text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast)}a.dashboard-row-action:hover{background:#fff;border-color:var(--color-dark-green)}.dashboard-staff-row{color:inherit;gap:11px;grid-template-columns:42px minmax(0,1fr) auto;min-height:72px;padding:11px 13px;text-decoration:none;transition:border-color var(--transition-fast),transform var(--transition-fast)}.dashboard-staff-row:hover{border-color:color-mix(in srgb,var(--color-dark-green) 35%,var(--color-border));transform:translateY(-1px)}.dashboard-avatar{align-items:center;background:#edf6e5;border-radius:50%;color:var(--color-dark-green);display:inline-flex;flex:0 0 auto;font-size:.75rem;font-weight:800;height:42px;justify-content:center;width:42px}.dashboard-staff-copy,.dashboard-booking-copy{gap:4px}.dashboard-assignment,.dashboard-booking-status{border-radius:999px;font-size:.72rem;font-weight:700;padding:5px 10px;white-space:nowrap}.dashboard-assignment{background:#def3d2;color:#285b3d}.dashboard-assignment.is-unassigned{background:#f3f4f1;color:var(--color-text-secondary)}.dashboard-more-link,.dashboard-view-all{color:var(--color-dark-green);font-size:.78rem;font-weight:700;text-decoration:none}.dashboard-more-link{justify-self:center;padding-top:2px}.dashboard-view-all:hover,.dashboard-more-link:hover{text-decoration:underline}.dashboard-recent-list{display:flex;flex-direction:column}.dashboard-booking-row{align-items:center;border-bottom:1px solid var(--color-border);color:inherit;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr) auto;min-height:68px;padding:10px 0;text-decoration:none}.dashboard-booking-row:last-child{border-bottom:0}.dashboard-booking-row:hover .dashboard-booking-copy strong{color:#236443}.dashboard-booking-status.is-pending{background:#fff1dc;color:#b96800}.dashboard-booking-status.is-attended{background:#e4f4de;color:#245c3a}.dashboard-booking-status.is-no-show{background:#fdf0f0;color:#b42318}.dashboard-panel-state{color:var(--color-text-secondary);font-size:.86rem;padding:28px 6px;text-align:center}.dashboard-snapshot-heading{color:var(--color-accent-lime);gap:9px;margin-bottom:20px}.dashboard-snapshot-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-snapshot-item{background:#ffffff0e;border:1px solid rgba(224,236,227,.18);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px;min-height:104px;padding:18px}.dashboard-snapshot-item strong{color:var(--color-accent-lime);font-size:1.85rem;line-height:1}.dashboard-snapshot-item span,.dashboard-snapshot-note{color:#ffffffad;font-size:.79rem}.dashboard-snapshot-note{display:block;margin-top:14px}@media (max-width: 1100px){.dashboard-secondary-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr)}}@media (max-width: 880px){.dashboard-secondary-grid{grid-template-areas:"tasks" "staff" "recent" "snapshot";grid-template-columns:minmax(0,1fr)}}@media (max-width: 560px){.dashboard-ops-card,.dashboard-snapshot-card{padding:18px}.dashboard-task-row,.dashboard-staff-row{grid-template-columns:38px minmax(0,1fr)}.dashboard-task-icon,.dashboard-avatar{height:38px;width:38px}.dashboard-row-action,.dashboard-assignment{grid-column:2;justify-self:start}.dashboard-booking-row{grid-template-columns:38px minmax(0,1fr) auto}.dashboard-snapshot-grid{gap:10px}.dashboard-snapshot-item{min-height:92px;padding:14px}}.dashboard-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px;align-items:stretch}.dashboard-insight-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;padding:24px}.dashboard-booking-mix-card,.dashboard-checkins-card{min-height:370px}.dashboard-risk-card,.dashboard-membership-insights-card{min-height:430px}.dashboard-insight-heading{display:flex;justify-content:space-between;gap:18px;margin-bottom:22px}.dashboard-insight-heading>div:first-child{display:flex;flex-direction:column;gap:7px;min-width:0}.dashboard-insight-heading h2{align-items:center;color:var(--color-dark-green);display:inline-flex;font-size:1.08rem;gap:9px;line-height:1.25;margin:0}.dashboard-insight-heading>div:first-child>span,.dashboard-top-fill span{color:var(--color-text-secondary);font-size:.78rem}.dashboard-booking-type-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:34px 0 28px}.dashboard-booking-type{align-items:center;border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:7px;min-width:0;padding:0 10px;text-align:center}.dashboard-booking-type:last-child{border-right:0}.dashboard-booking-type>span{color:var(--color-text-primary);font-size:.79rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dashboard-booking-type strong{color:var(--color-dark-green);font-size:1.65rem;line-height:1}.dashboard-booking-type small{color:var(--color-text-secondary);font-size:.72rem}.dashboard-booking-distribution{background:var(--color-input-bg);border-radius:6px;display:flex;gap:4px;height:24px;overflow:hidden;padding:3px}.dashboard-booking-distribution span{border-radius:4px;min-width:0}.dashboard-booking-distribution .is-membership{background:var(--color-sidebar-bg)}.dashboard-booking-distribution .is-drop-in{background:#f0b85b}.dashboard-booking-distribution .is-static{background:var(--color-static);opacity:.72}.dashboard-booking-distribution .is-trial{opacity:.42}.dashboard-booking-distribution .is-unclassified{background:color-mix(in srgb,var(--color-static) 18%,white);border:1px solid var(--color-static)}.dashboard-booking-mix-footer{align-items:center;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.76rem;gap:8px 16px;justify-content:space-between;margin-top:18px}.dashboard-checkins-heading{align-items:flex-start}.dashboard-top-fill{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:5px;max-width:46%;text-align:right}.dashboard-top-fill strong{color:var(--color-dark-green);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.dashboard-checkins-chart{height:290px;min-height:290px;width:100%}.dashboard-risk-card .dashboard-insight-heading h2{color:var(--color-dark-green)}.dashboard-risk-card .dashboard-insight-heading h2 svg{color:var(--color-negative)}.dashboard-risk-list{display:grid;gap:10px}.dashboard-risk-row{align-items:center;background:#fff8f7;border:1px solid #f5d5d2;border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:minmax(0,1fr);min-height:72px;padding:10px 12px}.dashboard-risk-member{align-items:center;color:inherit;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr);min-width:0;text-decoration:none}.dashboard-risk-member:hover .dashboard-risk-copy>strong{color:#236443}.dashboard-risk-avatar{align-items:center;background:#ffe4e4;border-radius:50%;color:var(--color-negative);display:inline-flex;height:42px;justify-content:center;width:42px}.dashboard-risk-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.dashboard-risk-copy>strong{color:var(--color-text-primary);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-risk-tags{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.dashboard-risk-mobile{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:.78rem;gap:6px;line-height:1.2}.dashboard-risk-mobile svg{flex:0 0 auto}.dashboard-risk-copy small{background:#edf5e8;border-radius:999px;color:#366247;font-size:.68rem;font-weight:700;padding:4px 8px}.dashboard-risk-copy small.risk-high{background:#fee6e4;color:#b42318}.dashboard-risk-copy small.risk-medium{background:#fff0d8;color:#b96800}.dashboard-risk-copy small.risk-low{background:#e6f3df;color:#2f6a43}.dashboard-risk-last-seen{color:var(--color-text-secondary);font-size:.7rem;text-align:right;white-space:nowrap}.dashboard-nudge-button{align-items:center;background:#faf5ff;border:1px solid color-mix(in srgb,var(--color-static) 28%,white);border-radius:999px;cursor:not-allowed;display:inline-flex;font:inherit;font-size:.73rem;font-weight:700;gap:7px;justify-content:center;min-width:88px;opacity:1;padding:8px 12px}.dashboard-membership-metrics{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-membership-metric{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-dark-green);display:flex;gap:14px;min-height:100px;padding:18px}.dashboard-membership-metric.is-active,.dashboard-membership-metric.is-expiring{background:#edf6e7;border-color:#d4e5ca}.dashboard-membership-metric.is-paused{background:#fff8ee;border-color:#f2d8ae}.dashboard-membership-metric.is-cancelled{background:#fff7f6;border-color:#f3d2cf}.dashboard-membership-metric>span,.dashboard-popular-plan>span{display:flex;flex-direction:column;gap:5px;min-width:0}.dashboard-membership-metric strong{color:var(--color-text-primary);font-size:1.65rem;line-height:1}.dashboard-membership-metric small,.dashboard-popular-plan small{color:var(--color-text-secondary);font-size:.76rem}.dashboard-popular-plan{align-items:center;background:#edf6e7;border:1px solid #d4e5ca;border-radius:var(--radius-md);color:var(--color-dark-green);display:flex;gap:14px;margin-top:16px;min-height:82px;padding:16px 20px;text-decoration:none;transition:border-color var(--transition-fast),transform var(--transition-fast)}.dashboard-popular-plan:hover{border-color:color-mix(in srgb,var(--color-dark-green) 35%,var(--color-border));transform:translateY(-1px)}.dashboard-popular-plan strong{color:var(--color-text-primary);font-size:1rem}@media (max-width: 1100px){.dashboard-risk-member{grid-template-columns:38px minmax(0,1fr)}.dashboard-risk-last-seen{grid-column:2;text-align:left}}@media (max-width: 880px){.dashboard-insights-grid{grid-template-columns:minmax(0,1fr)}.dashboard-booking-mix-card,.dashboard-checkins-card,.dashboard-risk-card,.dashboard-membership-insights-card{min-height:0}}@media (max-width: 560px){.dashboard-insight-card{padding:18px}.dashboard-booking-type-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:26px 0 22px;row-gap:22px}.dashboard-booking-type:nth-child(2){border-right:0}.dashboard-booking-type strong{font-size:1.45rem}.dashboard-checkins-heading{align-items:flex-start}.dashboard-top-fill{max-width:44%}.dashboard-risk-row{align-items:stretch;grid-template-columns:minmax(0,1fr)}.dashboard-nudge-button{justify-self:end}.dashboard-membership-metrics{gap:10px}.dashboard-membership-metric{align-items:flex-start;flex-direction:column;gap:10px;min-height:118px;padding:15px}}.dummy-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:48px;text-align:center;box-shadow:var(--shadow-sm);margin-top:20px}.dummy-icon-container{width:64px;height:64px;border-radius:50%;background-color:var(--color-input-bg);display:flex;align-items:center;justify-content:center;color:var(--color-dark-green);margin-bottom:20px}.dummy-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.dummy-description{font-size:.95rem;color:var(--color-text-secondary);max-width:400px;margin-bottom:24px}@media (max-width: 900px){.sidebar{width:72px;padding:24px 8px;overflow:visible}.sidebar-header{flex-direction:column;gap:16px}.sidebar-brand{justify-content:center}.sidebar-logo-circle{margin:0 auto}.sidebar-brand-text,.nav-item-text,.nav-chevron,.studio-details,.sign-out-btn span{display:none}.nav-item,.nav-item-content{justify-content:center}.client-switcher-panel,.admin-client-summary{padding:8px;align-items:center;justify-content:center}.client-switcher-content{position:absolute;top:0;right:0;bottom:0;left:0}.client-switcher-label,.client-switcher-help{display:none}.client-switcher-panel .sidebar-client-dropdown.dd-trigger[data-variant=filter]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;padding:0;opacity:0}.client-switcher-error .client-switcher-content{display:none}.sign-out-btn{align-self:center;padding:8px 0}.main-content{margin-left:72px;padding:24px}.nav-section{position:relative}.nav-submenu,.nav-submenu.open{display:flex;position:absolute;left:100%;top:0;min-width:188px;padding:8px;margin-top:0;background-color:var(--color-sidebar-bg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-6px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.nav-section:hover .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.nav-submenu .submenu-item{white-space:nowrap}}.ff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}@media (max-width: 560px){.ff-grid{grid-template-columns:1fr}}.ff-stack{display:grid;gap:16px}.ff-field{display:grid;gap:8px;min-width:0}.ff-label{font-size:.9rem;font-weight:700;color:var(--color-dark-green)}.ff-required{color:var(--color-negative)}.ff-hint{font-size:.78rem;color:var(--color-text-secondary)}.ff-error{font-size:.85rem;color:var(--color-negative)}.plan-app-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.plan-app-badge--in-app{background:#ecfdf5;color:#0b7a4b}.plan-app-badge--staff-only{background:var(--color-warning-bg);color:var(--color-warning-text);box-shadow:inset 0 0 0 1px var(--color-warning-border)}.app-table tr.plan-row--staff-only{background:var(--color-warning-bg)}.app-table tr.plan-row--staff-only td:first-child{box-shadow:inset 4px 0 0 var(--color-warning-text)}.plan-category-access{display:grid;gap:16px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-xl)}.plan-category-access__header{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--color-dark-green);font-size:1rem;font-weight:700}.plan-category-access__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;row-gap:14px}.plan-category-access__option{display:inline-flex;align-items:center;gap:12px;min-width:0;color:var(--color-dark-green);font-size:.95rem;font-weight:600;cursor:pointer}.classes-filter-row{display:flex;flex:1 0 100%;align-items:center;gap:8px;padding-top:2px;flex-wrap:wrap}.classes-filter-row .dd-trigger[data-variant=filter]{min-height:38px;padding:8px 12px;border-radius:12px;font-size:.82rem}.classes-filter-clear{min-height:38px;padding:7px 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.classes-filter-clear:hover{background:var(--color-input-bg);color:var(--color-dark-green)}.classes-filter-clear:focus-visible{outline:2px solid var(--color-dark-green);outline-offset:2px}.plan-category-access__message{margin:0;color:var(--color-text-secondary);font-size:.85rem}.plan-category-access__message--error{color:var(--color-negative)}@media (max-width: 560px){.plan-category-access__grid{grid-template-columns:1fr}}.ff-note{font-size:.85rem;color:var(--color-warning-text)}.ff-control{width:100%;min-height:50px;padding:14px 16px;font-size:.95rem;font-family:inherit;color:var(--color-text-primary);background-color:var(--color-input-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);outline:none;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.ff-control::placeholder{color:var(--color-text-secondary);opacity:.7}.ff-control:focus{border-color:var(--color-accent-lime);background-color:var(--color-card-bg);box-shadow:0 0 0 4px #c5f05140}.ff-control:disabled{opacity:.55;cursor:not-allowed}.ff-select-wrap{position:relative;display:block}select.ff-control{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:42px;cursor:pointer}.ff-control::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.ff-control::-webkit-datetime-edit{line-height:1.2}.static-data{color:var(--color-static)!important;text-decoration:underline dotted rgba(147,51,234,.55);text-underline-offset:3px}.ff-select-chevron{position:absolute;top:50%;right:16px;transform:translateY(-50%);display:flex;pointer-events:none;color:var(--color-text-secondary)}.dd-trigger{display:inline-flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:14px 16px;font-size:.95rem;font-family:inherit;font-weight:500;text-align:left;color:var(--color-text-primary);background-color:var(--color-input-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;outline:none;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.dd-trigger:hover:not(:disabled){border-color:#cfe0d5}.dd-trigger[data-open=true],.dd-trigger:focus-visible{border-color:var(--color-accent-lime);background-color:var(--color-card-bg);box-shadow:0 0 0 4px #c5f05140}.dd-trigger:disabled{opacity:.55;cursor:not-allowed}.dd-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-value[data-placeholder=true]{color:var(--color-text-secondary);opacity:.85;font-weight:400}.dd-chevron{flex-shrink:0;display:flex;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.dd-trigger[data-open=true] .dd-chevron{transform:rotate(180deg)}.dd-trigger[data-variant=filter]{width:auto;padding:10px 14px;font-size:.9rem;font-weight:600;border-width:1px;border-radius:var(--radius-md);background-color:var(--color-card-bg)}.dd-trigger[data-variant=filter][data-open=true],.dd-trigger[data-variant=filter]:focus-visible{border-color:var(--color-dark-green);box-shadow:0 0 0 3px #113f2a14}.dd-popup{position:fixed;z-index:1100;display:flex;flex-direction:column;min-width:160px;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 6px 16px #113f2a14;overflow:hidden;box-sizing:border-box;animation:dd-pop var(--transition-fast)}.dd-popup[data-placement=above]{transform-origin:bottom}@keyframes dd-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dd-search-wrap{position:relative;padding:8px 8px 4px}.dd-search{width:100%;padding:9px 12px 9px 34px;font-size:.9rem;font-family:inherit;color:var(--color-text-primary);background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;box-sizing:border-box}.dd-search:focus{border-color:var(--color-accent-lime);background:var(--color-card-bg);box-shadow:0 0 0 3px #c5f05133}.dd-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);display:flex;color:var(--color-text-secondary);pointer-events:none}.dd-list{list-style:none;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain}.dd-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;font-size:.92rem;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.dd-option[data-active=true]{background:var(--color-input-bg)}.dd-option[aria-selected=true]{background:var(--color-sidebar-active);color:#fff;font-weight:600}.dd-option[aria-selected=true][data-active=true]{background:var(--color-dark-green)}.dd-option[aria-disabled=true]{opacity:.4;cursor:not-allowed}.dd-list[aria-multiselectable=true]>.dd-option:not(.dd-option-multi){border-radius:0}.dd-list[aria-multiselectable=true]>.dd-option:not(.dd-option-multi)+.dd-option{margin-top:4px}.dd-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dd-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-option-desc{font-size:.78rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-option-aside{margin-left:auto;flex-shrink:0}.dd-option[aria-selected=true] .dd-option-desc{color:#ffffffbf}.dd-option-check{flex-shrink:0}.dd-empty{padding:18px 12px;text-align:center;font-size:.88rem;color:var(--color-text-secondary)}.dd-multi-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;margin:2px 6px 0;border-bottom:1px solid var(--color-border);font-size:.78rem;color:var(--color-text-secondary)}.dd-option-multi{justify-content:flex-start;gap:10px}.dd-option-multi[aria-selected=true]{background:transparent;color:var(--color-text-primary);font-weight:500}.dd-option-multi[data-active=true],.dd-option-multi[aria-selected=true][data-active=true]{background:var(--color-input-bg)}.dd-check{flex-shrink:0;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--color-dark-green);background:var(--color-card-bg);display:inline-flex;align-items:center;justify-content:center;color:var(--color-dark-green);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.dd-check[data-checked=true]{background:var(--color-accent-lime);border-color:var(--color-dark-green)}.ff-divider{border:0;border-top:1px solid var(--color-border);margin:2px 0}.ff-submit{width:100%;padding:16px;border:none;border-radius:var(--radius-lg);background-color:var(--color-accent-lime);color:var(--color-accent-lime-text);font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #c5f05147;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.ff-submit:hover:not(:disabled){background-color:var(--color-accent-lime-hover);transform:translateY(-1px)}.ff-submit:active:not(:disabled){transform:translateY(0)}.ff-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.ff-day{padding:8px 14px;border-radius:999px;font-size:.75rem;font-weight:600;cursor:pointer;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text-secondary);transition:all var(--transition-fast)}.ff-day.on{background:var(--color-accent-lime);border-color:var(--color-accent-lime);color:var(--color-accent-lime-text)}.live-dot{animation:live-pulse 1.4s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.65)}}.tenant-dashboard{padding-bottom:48px}.tenant-dashboard .dashboard-header{align-items:flex-end;margin-bottom:52px}.tenant-dashboard .welcome-section{gap:10px}.tenant-dashboard .welcome-title{color:#105c3d;font-size:clamp(2.25rem,3.4vw,3.45rem);font-weight:700;letter-spacing:0;line-height:1.05}.tenant-dashboard .welcome-subtitle{color:#587264;font-size:1.1rem;font-weight:500}.tenant-dashboard .header-actions{gap:14px}.dashboard-add-member{align-items:center;background:#105c3d;border:1px solid #105c3d;border-radius:16px;box-shadow:0 5px 12px #105c3d21;color:#e3f788;cursor:pointer;display:inline-flex;font:inherit;font-size:1rem;font-weight:650;gap:10px;justify-content:center;min-height:52px;padding:0 26px;transition:background-color var(--transition-fast),transform var(--transition-fast)}.dashboard-add-member:hover{background:#0c4d33;transform:translateY(-1px)}.tenant-dashboard .header-actions .dd-trigger[data-variant=filter]{border-color:#e0e6dc;border-radius:16px;font-size:1rem;min-height:52px;min-width:170px;padding:0 18px}.tenant-dashboard .kpi-grid{gap:18px;margin-bottom:36px}.tenant-dashboard .kpi-card{border-color:#e3e9df;border-radius:20px;box-shadow:0 4px 9px #14372606;min-height:136px;padding:20px 22px}.tenant-dashboard .kpi-card:hover{box-shadow:0 7px 16px #1437260f;transform:translateY(-1px)}.tenant-dashboard .kpi-card-title{color:#577063;font-size:.9rem;font-weight:500}.tenant-dashboard .kpi-icon-wrapper{background:#f0f1e9;border-radius:13px;height:40px;width:40px}.tenant-dashboard .kpi-card-value{color:#0c3b28;font-size:2rem;font-weight:650}.tenant-dashboard .kpi-card.warning-variant{background:#fff;border-color:#ffd9bd}.tenant-dashboard .kpi-card.warning-variant .kpi-card-title,.tenant-dashboard .kpi-card.warning-variant .kpi-icon-wrapper{color:#ff7a1a}.tenant-dashboard .kpi-card.warning-variant .kpi-icon-wrapper{background:#fff2e9}.tenant-dashboard .kpi-card.featured-variant{background:linear-gradient(145deg,#126342,#073923);border-color:transparent;box-shadow:0 12px 24px #083a2429}.tenant-dashboard .kpi-card.featured-variant .kpi-card-title{color:#ffffffab}.tenant-dashboard .kpi-card.featured-variant .kpi-icon-wrapper{background:#d3f25b21;color:#d8f15d}.tenant-dashboard .kpi-card.featured-variant .kpi-card-value{color:#fff}.tenant-dashboard .dashboard-revenue-grid{grid-template-columns:minmax(0,1fr)}.tenant-dashboard .widget-card,.tenant-dashboard .dashboard-ops-card,.tenant-dashboard .dashboard-snapshot-card,.tenant-dashboard .dashboard-insight-card{border-color:#e3e9df;border-radius:24px;box-shadow:0 4px 9px #14372606}.tenant-dashboard .dashboard-revenue-card{min-height:400px;padding:26px 28px 22px}.tenant-dashboard .widget-header{align-items:flex-start;margin-bottom:6px}.tenant-dashboard .widget-header>div{display:flex;flex-direction:column;gap:8px}.tenant-dashboard .widget-title{color:#105c3d;font-size:1.2rem;font-weight:650}.widget-subtitle{color:#5b7266;font-size:.92rem}.tenant-dashboard .widget-badge{background:#eff8d7;color:#19573b;font-size:.84rem;padding:5px 13px}.revenue-line-chart{height:290px;min-height:290px;width:100%}.dashboard-line-chart .recharts-cartesian-grid line{stroke:#dce6d8;stroke-dasharray:5 7;stroke-width:1}.dashboard-line-chart text{fill:#5d7468;font-size:13px}.dashboard-line-chart .recharts-tooltip-wrapper{outline:none}.tenant-dashboard .dashboard-secondary-grid{gap:24px;margin-top:36px}.tenant-dashboard .dashboard-ops-card,.tenant-dashboard .dashboard-snapshot-card{border-radius:20px;padding:24px}.tenant-dashboard .dashboard-tasks-card,.tenant-dashboard .dashboard-staff-card{min-height:360px}.tenant-dashboard .dashboard-recent-card,.tenant-dashboard .dashboard-snapshot-card{min-height:430px}.tenant-dashboard .dashboard-ops-heading{margin-bottom:18px}.tenant-dashboard .dashboard-ops-heading h2,.tenant-dashboard .dashboard-snapshot-heading h2,.tenant-dashboard .dashboard-insight-heading h2{font-size:1.22rem;font-weight:650}.tenant-dashboard .dashboard-open-count{background:#fff;border-color:#dfe6d9;font-size:.78rem;padding:5px 12px}.tenant-dashboard .dashboard-task-list{gap:10px}.tenant-dashboard .dashboard-task-row{background:#f6f8f3;border-color:#e4e9df;border-radius:15px;min-height:70px;padding:10px 14px}.tenant-dashboard .dashboard-task-icon{height:38px;width:38px}.tenant-dashboard .dashboard-task-copy strong,.tenant-dashboard .dashboard-staff-copy strong,.tenant-dashboard .dashboard-booking-copy strong{font-size:.94rem;font-weight:550}.tenant-dashboard .dashboard-task-copy>span,.tenant-dashboard .dashboard-staff-copy>span,.tenant-dashboard .dashboard-booking-copy>span{font-size:.84rem}.tenant-dashboard .dashboard-row-action,.dashboard-risk-action{background:#fbfdf9;border:1px solid #dce6d8;border-radius:999px;color:#123f2c;font-size:.84rem;font-weight:650;min-width:108px;padding:9px 14px}.dashboard-staff-section-label{color:#5d7468;font-size:.78rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase}.tenant-dashboard .dashboard-staff-list{gap:8px}.tenant-dashboard .dashboard-staff-row{background:#f6f8f3;border:0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;min-height:62px;padding:10px 13px}.dashboard-staff-divider{border-top:1px solid #e4eadf;margin:7px 0 5px}.dashboard-staff-empty{color:#60766b;font-size:.94rem;margin:4px 0 0}.tenant-dashboard .dashboard-assignment{background:#eff8cf;color:#2c6445}.tenant-dashboard .dashboard-booking-row{grid-template-columns:40px minmax(0,1fr) auto auto;min-height:66px;padding:8px 0}.tenant-dashboard .dashboard-avatar{background:#f0f2e8;height:40px;width:40px}.dashboard-booking-status.is-recent,.dashboard-booking-status.is-source{background:#f0f2e8;color:#295d42}.tenant-dashboard .dashboard-snapshot-card{background:linear-gradient(155deg,#115f40,#073722);border-color:transparent;box-shadow:0 14px 28px #083a2421}.tenant-dashboard .dashboard-snapshot-grid{gap:12px}.tenant-dashboard .dashboard-snapshot-item{border-radius:14px;min-height:88px;padding:15px}.tenant-dashboard .dashboard-snapshot-item strong{font-size:1.65rem}.tenant-dashboard .dashboard-insights-grid{gap:56px;grid-template-columns:minmax(0,1fr);margin-top:56px}.tenant-dashboard .dashboard-insight-card{padding:34px}.tenant-dashboard .dashboard-checkins-card{min-height:430px}.tenant-dashboard .dashboard-risk-card{min-height:0}.tenant-dashboard .dashboard-checkins-chart{height:290px;min-height:290px}.tenant-dashboard .dashboard-insight-heading{margin-bottom:12px}.tenant-dashboard .dashboard-risk-card .dashboard-insight-heading{margin-bottom:18px}.tenant-dashboard .dashboard-risk-list{gap:12px}.tenant-dashboard .dashboard-risk-row{background:#fff7f6;border-color:#ffd7d4;border-radius:18px;gap:10px;grid-template-columns:minmax(0,1fr);min-height:88px;padding:12px 16px}.tenant-dashboard .dashboard-risk-member{gap:13px;grid-template-columns:48px minmax(0,1fr)}.tenant-dashboard .dashboard-risk-avatar{height:48px;width:48px}.tenant-dashboard .dashboard-risk-copy>strong{font-size:.98rem;font-weight:550}.tenant-dashboard .dashboard-risk-copy small{font-size:.72rem;padding:4px 10px}.dashboard-risk-action{align-items:center;display:inline-flex;justify-content:center;min-width:auto;white-space:nowrap}.dashboard-risk-action:hover{background:#fff;border-color:#bfcfba}.dashboard-risk-message{cursor:not-allowed;gap:8px;opacity:1}@media (max-width: 1280px){.tenant-dashboard .dashboard-risk-row{grid-template-columns:minmax(0,1fr)}.tenant-dashboard .dashboard-risk-message{grid-column:2 / -1;justify-self:end}}@media (max-width: 880px){.tenant-dashboard .dashboard-header{align-items:flex-start;flex-direction:column;gap:24px}.tenant-dashboard .header-actions{width:100%}.tenant-dashboard .header-actions>*{flex:1}.tenant-dashboard .dashboard-revenue-card{min-height:350px;padding:22px}.revenue-line-chart,.dashboard-checkins-chart{height:260px;min-height:260px}.tenant-dashboard .dashboard-task-row,.tenant-dashboard .dashboard-staff-row{grid-template-columns:42px minmax(0,1fr) auto}.tenant-dashboard .dashboard-staff-row{grid-template-columns:minmax(0,1fr) auto}.tenant-dashboard .dashboard-risk-row{grid-template-columns:minmax(0,1fr)}.tenant-dashboard .dashboard-tasks-card,.tenant-dashboard .dashboard-staff-card,.tenant-dashboard .dashboard-recent-card,.tenant-dashboard .dashboard-snapshot-card{min-height:0}}@media (max-width: 620px){.tenant-dashboard .welcome-title{font-size:2rem}.tenant-dashboard .header-actions{align-items:stretch;flex-direction:column}.tenant-dashboard .header-actions .dd-trigger[data-variant=filter]{width:100%}.tenant-dashboard .dashboard-booking-row{grid-template-columns:42px minmax(0,1fr)}.tenant-dashboard .dashboard-risk-row{grid-template-columns:minmax(0,1fr)}.tenant-dashboard .dashboard-booking-status.is-recent,.tenant-dashboard .dashboard-booking-status.is-source{grid-column:2;justify-self:start}.tenant-dashboard .dashboard-risk-member{grid-column:1 / -1}.tenant-dashboard .dashboard-risk-action{grid-column:1 / -1;justify-self:stretch}}.sidebar{width:288px;padding:28px 16px 0;overflow:hidden;background:var(--color-sidebar-bg)}.sidebar-header{flex:0 0 auto;gap:10px;padding:2px 8px;margin-bottom:38px}.sidebar-brand{min-width:0;gap:14px;padding:0;color:inherit;text-align:left;background:transparent;border:0}.sidebar-collapse-btn{width:26px;height:26px;border:0;opacity:0}.sidebar-header:hover .sidebar-collapse-btn,.sidebar-collapse-btn:focus-visible{opacity:1}.sidebar-logo-circle{width:48px;height:48px;border-radius:15px;color:#133d2c;background:#fff;padding:6px;box-sizing:border-box}.sidebar-logo-img{width:100%;height:100%;object-fit:contain;display:block}.sidebar-brand-text{display:flex;flex-direction:column;gap:2px}.sidebar-brand-header-row{display:flex;align-items:center;gap:6px}.sidebar-brand-name{color:#e8f69e;font-size:1.25rem;font-weight:700;line-height:1.15;letter-spacing:-.03em}.sidebar-brand-tag{font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:1px 6px;border-radius:4px;background:#d2f65333;color:#d2f653;text-transform:uppercase;line-height:1.3}.sidebar-client-pill{display:flex;align-items:center;gap:6px;margin-top:2px;padding:2px 8px 2px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:12px;max-width:145px;transition:all var(--transition-fast)}.sidebar-brand:hover .sidebar-client-pill{background:#d2f65324;border-color:#d2f65359}.sidebar-client-dot{width:6px;height:6px;border-radius:50%;background:#d2f653;box-shadow:0 0 6px #d2f653cc;flex-shrink:0}.sidebar-client-name{font-size:.76rem;font-weight:600;color:#ffffffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;min-height:0;gap:10px;padding:0 0 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{gap:4px;margin:0}.nav-item{min-height:46px;padding:10px 14px;color:var(--color-sidebar-text);font-size:1rem;font-weight:500;border-radius:14px}.nav-item-content{min-width:0;gap:14px}.nav-item-content>svg{width:21px;height:21px;flex:0 0 21px;stroke-width:1.85}.nav-item:hover{color:#e7f58e;background:var(--color-sidebar-hover)}.nav-item.active,.nav-item.active:hover{color:#133d2c;font-weight:500;background:#d2f653}.nav-item.active-parent{color:var(--color-sidebar-text)}.nav-item.active-parent:hover{color:#e7f58e}.nav-item.nav-item-disabled,.nav-item.nav-item-disabled:hover,.submenu-item.submenu-item-disabled,.submenu-item.submenu-item-disabled:hover{color:var(--color-sidebar-text);background:transparent;cursor:not-allowed;opacity:.45}.nav-chevron{width:18px;height:18px;flex:0 0 18px;opacity:.68}.nav-submenu{display:none;gap:3px;padding:2px 0 2px 24px;margin:0 0 0 24px;border-left:1px solid rgba(213,242,130,.08)}.nav-submenu.open{display:flex}.submenu-item{min-height:39px;gap:14px;padding:9px 12px;color:var(--color-sidebar-text);font-size:.98rem;font-weight:500;border-radius:13px;display:flex;align-items:center}.submenu-item>svg{width:19px;height:19px;flex:0 0 19px;stroke-width:1.85}.submenu-item:hover,.submenu-item.active{color:#e7f58e;font-weight:500;background:var(--color-sidebar-hover)}.sidebar-footer{flex:0 0 auto;gap:20px;padding:0 16px;margin:0 -16px;background:var(--color-sidebar-bg)}.studio-switcher-card{position:relative;display:flex;align-items:center;width:100%;min-height:70px;gap:12px;padding:11px 12px;color:inherit;font:inherit;text-align:left;background:#0d5e3d5c;border:1px solid rgba(255,255,255,.035);border-radius:17px;transition:background var(--transition-fast),border-color var(--transition-fast)}.studio-switcher-card:hover,.studio-switcher-card:focus-within{background:#0d654180;border-color:#d5f2822e}.studio-switcher-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:1px}.studio-switcher-copy strong{overflow:hidden;color:#e8f69e;font-size:.98rem;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.studio-switcher-copy span{overflow:hidden;color:var(--color-sidebar-text);font-size:.78rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;opacity:.76}.studio-switcher-error{cursor:pointer}.studio-switcher-error:active{transform:translateY(1px)}.studio-icon-circle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;color:#133d2c;background:#d2f653;border-radius:50%}.studio-icon-circle svg{width:20px;height:20px;stroke-width:2.2}.studio-switcher-chevron{width:18px;height:18px;flex:0 0 18px;color:var(--color-sidebar-text);opacity:.7}.studio-switcher-card .studio-switcher-control.dd-trigger[data-variant=filter]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:inherit;opacity:0;cursor:pointer}.sign-out-btn{align-self:stretch;width:calc(100% + 32px);min-height:72px;gap:13px;padding:20px 28px;margin-left:-16px;color:var(--color-sidebar-text);font-size:1rem;font-weight:500;text-align:left;background:transparent;border:0;border-top:1px solid rgba(255,255,255,.055)}.sign-out-btn svg{width:21px;height:21px;stroke-width:1.8}.sign-out-btn:hover{color:#e7f58e;background:#00000009}.main-content{margin-left:288px}.dashboard-layout.collapsed .sidebar{width:76px;padding:24px 10px 0;overflow:visible}.dashboard-layout.collapsed .sidebar-header{flex-direction:column;padding:0;margin-bottom:30px}.dashboard-layout.collapsed .sidebar-brand{width:48px;height:48px}.dashboard-layout.collapsed .sidebar-brand-text,.dashboard-layout.collapsed .nav-item-text,.dashboard-layout.collapsed .nav-chevron,.dashboard-layout.collapsed .studio-switcher-copy,.dashboard-layout.collapsed .studio-switcher-chevron,.dashboard-layout.collapsed .sign-out-btn span{display:none}.dashboard-layout.collapsed .sidebar-nav{overflow:visible}.dashboard-layout.collapsed .nav-item,.dashboard-layout.collapsed .nav-item-content{justify-content:center}.dashboard-layout.collapsed .nav-item{padding-inline:10px}.dashboard-layout.collapsed .studio-switcher-card{min-height:56px;justify-content:center;padding:7px}.dashboard-layout.collapsed .sidebar-footer{margin-inline:-10px;padding-inline:10px}.dashboard-layout.collapsed .sign-out-btn{width:calc(100% + 20px);justify-content:center;padding-inline:0;margin-left:-10px}.dashboard-layout.collapsed .main-content{margin-left:76px}.dashboard-layout.collapsed .nav-submenu{left:calc(100% + 10px);min-width:220px;padding:8px;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:14px}@media (max-width: 900px){.sidebar{width:76px;padding:24px 10px 0;overflow:visible}.sidebar-header{flex-direction:column;padding:0;margin-bottom:30px}.sidebar-brand{width:48px;height:48px}.sidebar-brand-text,.nav-item-text,.nav-chevron,.studio-switcher-copy,.studio-switcher-chevron,.sign-out-btn span{display:none}.sidebar-nav{overflow:visible}.nav-item,.nav-item-content{justify-content:center}.nav-item{padding-inline:10px}.studio-switcher-card{min-height:56px;justify-content:center;padding:7px}.sidebar-footer{margin-inline:-10px;padding-inline:10px}.sign-out-btn{width:calc(100% + 20px);justify-content:center;padding-inline:0;margin-left:-10px}.main-content{margin-left:76px}.nav-submenu,.nav-submenu.open{left:calc(100% + 10px);min-width:220px;padding:8px;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:14px}}.app-table th,.app-table td{padding:14px 16px}.mobile-topbar,.sidebar-backdrop{display:none}@media (max-width: 640px){.welcome-title{font-size:1.5rem}.app-table th,.app-table td{padding:10px}.main-content{margin-left:0;padding:16px}.dashboard-layout.collapsed .main-content{margin-left:0}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,85vw);transform:translate(-100%);transition:transform .25s ease;z-index:1000;padding:24px 16px 0;overflow:hidden;display:flex;flex-direction:column}.sidebar-header{flex-direction:row;flex:0 0 auto}.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar-footer{flex:0 0 auto}.nav-item-text,.nav-chevron,.studio-switcher-chevron,.sign-out-btn span{display:inline}.sidebar-brand-text,.studio-switcher-copy{display:flex}.nav-item,.nav-item-content{justify-content:flex-start}.nav-submenu,.nav-submenu.open{position:static;left:auto;border:none;padding:0 0 0 12px;transform:none}.nav-submenu.open{opacity:1;visibility:visible;pointer-events:auto}.sign-out-btn{width:100%;justify-content:flex-start;padding-inline:14px;margin-left:0}.sidebar-collapse-btn{display:none}.dashboard-layout.mobile-nav-open .sidebar{transform:translate(0);width:min(280px,85vw);box-shadow:var(--shadow-lg, 0 20px 40px rgba(0, 0, 0, .25))}.dashboard-layout.mobile-nav-open .sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:999}.mobile-topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:40;margin:-16px -16px 16px;padding:14px 16px;background:var(--color-sidebar-bg);border-bottom:1px solid var(--color-border)}.mobile-topbar-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-sm, 8px);background:#ffffff14;color:#e8f69e;cursor:pointer}.mobile-topbar-brand{display:inline-flex;align-items:center;gap:8px;color:#e8f69e;font-weight:700;font-size:1rem}}[data-no-permission=true]{opacity:.5!important;cursor:not-allowed!important;filter:grayscale(1);box-shadow:none!important}[data-no-permission=true]:hover{opacity:.7!important;outline:1px dashed var(--color-border);outline-offset:2px}.dashboard-date-range-filter{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.dashboard-custom-range{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.dashboard-custom-range label{color:#587264;display:flex;flex-direction:column;font-size:.72rem;font-weight:650;gap:5px;letter-spacing:.02em}.dashboard-custom-range input{background:#fff;border:1px solid #e0e6dc;border-radius:12px;color:#173f2d;font:inherit;font-size:.86rem;min-height:40px;padding:0 10px}.dashboard-custom-range input:focus-visible{border-color:#89a97b;box-shadow:0 0 0 3px #89a97b29;outline:none}@media (max-width: 620px){.dashboard-date-range-filter,.dashboard-custom-range{align-items:stretch;width:100%}.dashboard-custom-range label,.dashboard-custom-range input{min-width:0;width:100%}}.platform-dashboard{--platform-ink: #123c2d;--platform-muted: #668077;--platform-line: #dce8d8;--platform-soft: #f4f9f0;display:grid;gap:22px;max-width:1440px;margin:0 auto}.platform-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.platform-dashboard-header h1,.platform-dashboard-error h1{margin:4px 0 7px;color:var(--platform-ink);font-size:clamp(1.9rem,3vw,2.65rem);line-height:1;letter-spacing:-.045em}.platform-dashboard-header p,.platform-dashboard-error p{max-width:650px;margin:0;color:var(--platform-muted);font-size:.94rem;line-height:1.55}.platform-eyebrow,.platform-panel-label{color:#6c8f7f;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.platform-overview-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.65fr);gap:18px}.platform-network-panel,.platform-activity-panel,.platform-recent-panel,.platform-health-panel,.platform-dashboard-error{border:1px solid var(--platform-line);border-radius:22px;background:#fff;box-shadow:0 16px 38px -30px #14433180}.platform-network-panel{display:flex;min-height:292px;flex-direction:column;padding:26px;overflow:hidden;color:#f5fbf2;background:#154c38;border-color:#154c38}.platform-network-heading,.platform-panel-heading,.platform-rate-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.platform-network-panel .platform-panel-label{color:#b8d8c1}.platform-live-status{display:inline-flex;align-items:center;gap:7px;color:#d9eccd;font-size:.72rem;font-weight:700}.platform-live-status>span{width:7px;height:7px;border-radius:999px;background:#cde77f;box-shadow:0 0 0 4px #cde77f1f;animation:platform-status-pulse 2.4s ease-in-out infinite}.platform-network-total{display:flex;align-items:baseline;gap:12px;margin-top:34px}.platform-network-total strong{font-size:clamp(3.6rem,6vw,5.3rem);line-height:.82;letter-spacing:-.07em}.platform-network-total span{max-width:84px;color:#c7ddd0;font-size:.84rem;font-weight:700;line-height:1.2}.platform-network-panel>p{margin:15px 0 28px;color:#b9d0c3;font-size:.83rem;line-height:1.5}.platform-network-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:auto;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff1f}.platform-network-stats>div{display:grid;gap:5px;padding:15px;background:#ffffff0e}.platform-network-stats span{color:#a9c5b5;font-size:.7rem;font-weight:700}.platform-network-stats strong{color:#f4fadf;font-size:1.35rem}.platform-activity-panel,.platform-recent-panel,.platform-health-panel{padding:26px}.platform-panel-heading h2{margin:4px 0 0;color:var(--platform-ink);font-size:1.12rem;letter-spacing:-.02em}.platform-activity-caption{color:var(--platform-muted);font-size:.75rem;font-weight:650}.platform-activity-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border-block:1px solid var(--platform-line)}.platform-activity-metrics>div{display:grid;gap:8px;padding:28px 18px;border-right:1px solid var(--platform-line)}.platform-activity-metrics>div:first-child{padding-left:0}.platform-activity-metrics>div:last-child{border-right:0}.platform-activity-metrics strong{color:var(--platform-ink);font-size:clamp(1.65rem,3vw,2.45rem);line-height:1;letter-spacing:-.045em}.platform-activity-metrics span,.platform-rate-row>span{color:var(--platform-muted);font-size:.72rem;font-weight:700}.platform-rate-row{margin-top:24px}.platform-rate-track{height:7px;flex:1;overflow:hidden;border-radius:999px;background:#e9f0e6}.platform-rate-track>span{display:block;width:100%;height:100%;border-radius:inherit;background:#5f8f74;transform-origin:left center;transition:transform .5s cubic-bezier(.16,1,.3,1)}.platform-rate-row>strong{min-width:45px;color:var(--platform-ink);font-size:.8rem;text-align:right}.platform-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.72fr);gap:18px;align-items:stretch}.platform-text-link{color:#2f684f;font-size:.78rem;font-weight:750;text-decoration:none}.platform-text-link:hover{text-decoration:underline;text-underline-offset:3px}.platform-client-list{display:grid;margin-top:18px}.platform-client-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--platform-line);animation:platform-row-enter .42s both cubic-bezier(.16,1,.3,1)}.platform-client-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#285945;background:#e8f2e2;font-size:.72rem;font-weight:850;letter-spacing:.03em}.platform-client-copy{display:grid;min-width:0;gap:4px}.platform-client-copy strong{overflow:hidden;color:var(--platform-ink);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.platform-client-copy span{overflow:hidden;color:var(--platform-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.platform-client-status{padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800}.platform-client-status.is-active{color:#2e674e;background:#e8f3e1}.platform-client-status.is-inactive{color:#8a5a35;background:#fbefe1}.platform-client-action,.platform-retry-button{border:1px solid #bfd4c3;border-radius:11px;color:#24533f;background:#f6faf2;font-size:.72rem;font-weight:800;cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,background-color .18s ease}.platform-client-action{padding:8px 11px}.platform-client-action:hover,.platform-retry-button:hover{border-color:#7da38a;background:#edf6e8}.platform-client-action:active,.platform-retry-button:active{transform:translateY(1px)}.platform-client-action:disabled{cursor:wait;opacity:.58}.platform-client-action-placeholder{min-width:96px;color:#94a39c;font-size:.7rem;font-weight:700;text-align:center}.platform-health-panel{display:flex;flex-direction:column}.platform-health-total{display:grid;gap:5px;margin:26px 0 17px}.platform-health-total strong{color:var(--platform-ink);font-size:clamp(2.8rem,5vw,4.2rem);line-height:.9;letter-spacing:-.06em}.platform-health-total span{color:var(--platform-muted);font-size:.8rem;font-weight:700}.platform-client-rate{flex:initial;width:100%}.platform-health-list{display:grid;gap:0;margin:25px 0 0}.platform-health-list>div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--platform-line)}.platform-health-list dt{color:var(--platform-muted);font-size:.76rem;font-weight:700}.platform-health-list dd{margin:0;color:var(--platform-ink);font-size:.9rem;font-weight:850}.platform-data-note{margin:auto 0 0;padding-top:22px;color:#7b8e86;font-size:.72rem;line-height:1.55}.platform-empty-state{display:grid;place-items:start;min-height:220px;align-content:center;margin-top:18px;padding:28px;border:1px dashed #cbdcc9;border-radius:16px;background:var(--platform-soft)}.platform-empty-state strong{color:var(--platform-ink)}.platform-empty-state p{margin:6px 0 16px;color:var(--platform-muted);font-size:.82rem}.platform-empty-state a{color:#2d624b;font-size:.78rem;font-weight:800}.platform-dashboard-error{display:grid;max-width:680px;padding:34px}.platform-retry-button{width:fit-content;margin-top:22px;padding:10px 15px}.platform-skeleton{position:relative;overflow:hidden;border-radius:20px;background:#e9f0e6}.platform-skeleton:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.65) 48%,transparent 76%);transform:translate(-100%);animation:platform-skeleton-shimmer 1.35s infinite}.platform-skeleton-title{width:min(440px,70%);height:72px}.platform-skeleton-filter{width:132px;height:42px}.platform-skeleton-network,.platform-skeleton-activity{min-height:292px}.platform-skeleton-detail{min-height:340px}@keyframes platform-status-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.78);opacity:.68}}@keyframes platform-row-enter{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes platform-skeleton-shimmer{to{transform:translate(100%)}}@media (max-width: 1050px){.platform-overview-grid,.platform-detail-grid{grid-template-columns:1fr}.platform-network-panel{min-height:260px}}@media (max-width: 760px){.platform-dashboard{gap:16px}.platform-dashboard-header{flex-direction:column;gap:16px}.platform-activity-metrics{grid-template-columns:repeat(2,1fr)}.platform-activity-metrics>div{padding:20px 14px}.platform-activity-metrics>div:nth-child(2){border-right:0}.platform-activity-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--platform-line)}.platform-activity-metrics>div:nth-child(3){padding-left:0}.platform-client-row{grid-template-columns:42px minmax(0,1fr) auto}.platform-client-status{display:none}.platform-client-action,.platform-client-action-placeholder{grid-column:2 / -1;width:fit-content;min-width:0}}@media (max-width: 480px){.platform-network-panel,.platform-activity-panel,.platform-recent-panel,.platform-health-panel,.platform-dashboard-error{padding:20px;border-radius:18px}.platform-network-stats{grid-template-columns:1fr}.platform-panel-heading{align-items:flex-start}.platform-text-link{max-width:90px;text-align:right}.platform-rate-row{display:grid;grid-template-columns:1fr auto}.platform-rate-track{grid-column:1 / -1;grid-row:2}}@media (prefers-reduced-motion: reduce){.platform-live-status>span,.platform-client-row,.platform-skeleton:after{animation:none}.platform-rate-track>span,.platform-client-action,.platform-retry-button{transition:none}}:root{--PhoneInput-color--focus: #03b2cb;--PhoneInputInternationalIconPhone-opacity: .8;--PhoneInputInternationalIconGlobe-opacity: .65;--PhoneInputCountrySelect-marginRight: .35em;--PhoneInputCountrySelectArrow-width: .3em;--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);--PhoneInputCountrySelectArrow-borderWidth: 1px;--PhoneInputCountrySelectArrow-opacity: .45;--PhoneInputCountrySelectArrow-color: currentColor;--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);--PhoneInputCountrySelectArrow-transform: rotate(45deg);--PhoneInputCountryFlag-aspectRatio: 1.5;--PhoneInputCountryFlag-height: 1em;--PhoneInputCountryFlag-borderWidth: 1px;--PhoneInputCountryFlag-borderColor: rgba(0,0,0,.5);--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,.1)}.PhoneInput{display:flex;align-items:center}.PhoneInputInput{flex:1;min-width:0}.PhoneInputCountryIcon{width:calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));height:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--square{width:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--border{background-color:var(--PhoneInputCountryFlag-backgroundColor--loading);box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor)}.PhoneInputCountryIconImg{display:block;width:100%;height:100%}.PhoneInputInternationalIconPhone{opacity:var(--PhoneInputInternationalIconPhone-opacity)}.PhoneInputInternationalIconGlobe{opacity:var(--PhoneInputInternationalIconGlobe-opacity)}.PhoneInputCountry{position:relative;align-self:stretch;display:flex;align-items:center;margin-right:var(--PhoneInputCountrySelect-marginRight)}.PhoneInputCountrySelect{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;border:0;opacity:0;cursor:pointer}.PhoneInputCountrySelect[disabled],.PhoneInputCountrySelect[readonly]{cursor:default}.PhoneInputCountrySelectArrow{display:block;content:"";width:var(--PhoneInputCountrySelectArrow-width);height:var(--PhoneInputCountrySelectArrow-width);margin-left:var(--PhoneInputCountrySelectArrow-marginLeft);border-style:solid;border-color:var(--PhoneInputCountrySelectArrow-color);border-top-width:0;border-bottom-width:var(--PhoneInputCountrySelectArrow-borderWidth);border-left-width:0;border-right-width:var(--PhoneInputCountrySelectArrow-borderWidth);transform:var(--PhoneInputCountrySelectArrow-transform);opacity:var(--PhoneInputCountrySelectArrow-opacity)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon+.PhoneInputCountrySelectArrow{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon--border{box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon .PhoneInputInternationalIconGlobe{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.member-phone-input{min-width:0;gap:8px;--PhoneInput-color--focus: var(--color-text-primary);--PhoneInputCountryFlag-height: 20px}.member-phone-input .PhoneInputCountry{margin:-6px 0 -6px -6px;padding:6px;border-right:1px solid var(--color-border)}.member-phone-input .PhoneInputCountryIcon--border{box-shadow:none}.member-phone-input .PhoneInputCountrySelectArrow{margin-left:4px}.member-phone-input .PhoneInputInput{border:0;outline:none;padding:0;background:transparent;color:inherit;font:inherit}.member-phone-input .PhoneInputCountrySelect option{color:var(--color-text-primary);background:var(--color-card-bg)}.member-phone-country{display:grid;place-items:center;width:30px;height:20px;overflow:hidden;border-radius:3px;background:var(--color-card-bg);box-shadow:0 0 0 1px var(--color-border);font-size:.75rem;font-weight:700;letter-spacing:.04em;line-height:1}.member-phone-country img{display:block;width:100%;height:100%;object-fit:cover}.member-phone-input:focus-within{border-color:var(--color-accent-lime);background-color:var(--color-card-bg);box-shadow:0 0 0 4px #c5f05140}.member-phone-input.PhoneInput--disabled{opacity:.55}.member-phone-input:has([aria-invalid=true]){border-color:#dc2626}.dashboard-view-shell{display:grid;gap:22px}.dashboard-view-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-height:42px}.dashboard-view-copy{display:grid;gap:2px;text-align:right}.dashboard-view-copy span{color:var(--color-text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-view-copy strong{max-width:240px;overflow:hidden;color:var(--color-text-primary);font-size:.78rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.dashboard-view-toggle{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:3px;padding:4px;border:1px solid #d7e4d3;border-radius:13px;background:#edf4e9}.dashboard-view-toggle button{min-height:34px;padding:7px 14px;border:0;border-radius:9px;color:#61766d;background:transparent;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.dashboard-view-toggle button:hover:not(:disabled):not(.is-active){color:#285943;background:#ffffff94}.dashboard-view-toggle button.is-active{color:#174d38;background:#fff;box-shadow:0 5px 14px -10px #1443319e}.dashboard-view-toggle button:active:not(:disabled){transform:translateY(1px)}.dashboard-view-toggle button:focus-visible{outline:2px solid #477b63;outline-offset:2px}@media (max-width: 560px){.dashboard-view-toolbar{align-items:stretch;flex-direction:column}.dashboard-view-copy{text-align:left}.dashboard-view-copy strong{max-width:100%}.dashboard-view-toggle{width:100%}}@media (prefers-reduced-motion: reduce){.dashboard-view-toggle button{transition:none}}.settings-page{display:grid;gap:20px}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.settings-header h1{margin:0 0 6px;color:var(--color-text-primary);font-size:1.8rem}.settings-header p{margin:0;color:var(--color-text-secondary)}.settings-save,.settings-secondary,.settings-copy{border:0;border-radius:999px;cursor:pointer;font:inherit;font-weight:700}.settings-save{padding:11px 20px;background:var(--color-accent-lime);color:var(--color-accent-lime-text);white-space:nowrap}.settings-save:disabled{cursor:not-allowed;opacity:.55}.settings-body{display:flex;gap:20px;align-items:flex-start}.settings-tabs{flex:0 0 212px;display:flex;flex-direction:column;gap:4px;position:sticky;top:16px}.settings-tabs button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;border-radius:var(--radius-md);padding:10px 12px;color:var(--color-text-secondary);background:transparent;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;transition:background .12s,color .12s}.settings-tabs button svg{flex:0 0 auto;opacity:.75}.settings-tabs button:hover{background:var(--color-input-bg);color:var(--color-text-primary)}.settings-tabs button.active{color:var(--color-dark-green);border-color:var(--color-border);background:color-mix(in srgb,var(--color-accent-lime) 20%,var(--color-card-bg));font-weight:800}.settings-tabs button.active svg{opacity:1}.settings-card{flex:1 1 auto;min-width:0;max-width:980px;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-card-bg);box-shadow:var(--shadow-sm)}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-location-picker{max-width:420px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.settings-textarea{min-height:100px;resize:vertical}.settings-secondary{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-dark-green)}.settings-hours{display:grid;gap:12px}.settings-hours-head,.settings-hour-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr .8fr;gap:12px;align-items:center}.settings-hours-head{padding:0 8px;color:var(--color-text-secondary);font-size:.76rem;font-weight:800;text-transform:uppercase}.settings-hour-row{padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-input-bg)}.settings-copy{padding:9px 11px;color:var(--color-dark-green);background:transparent;border:1px solid var(--color-border);font-size:.78rem}.settings-subsection{margin-top:18px;padding-top:24px;border-top:1px solid var(--color-border)}.settings-subsection h3{margin:0 0 16px;color:var(--color-text-primary)}.settings-closure-form{align-items:end}.settings-add{align-self:end}.settings-closure{display:flex;justify-content:space-between;gap:16px;margin-top:12px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.settings-closure span,.settings-closure small{display:block}.settings-closure small{margin-top:5px;color:var(--color-text-secondary)}.settings-closure button{border:0;background:transparent;color:var(--color-negative);cursor:pointer}.settings-checks{display:flex;flex-wrap:wrap;gap:10px 16px;min-height:50px;align-items:center;padding:12px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-input-bg)}.settings-checks label{color:var(--color-text-primary);font-size:.9rem}.settings-error{margin-top:18px;padding:12px 14px;border-radius:var(--radius-md);color:var(--color-negative);background:#fef2f2;border:1px solid #fee2e2}.settings-empty,.settings-note{padding:28px;color:var(--color-text-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}@media (max-width: 780px){.settings-header{flex-direction:column}.settings-save{width:100%}.settings-body{flex-direction:column}.settings-tabs{flex-direction:row;flex-basis:auto;overflow-x:auto;position:static;gap:8px;padding-bottom:4px;scrollbar-width:thin}.settings-tabs button{width:auto;flex:0 0 auto;white-space:nowrap;border-color:var(--color-border);border-radius:999px;padding:8px 14px}.settings-form-grid{grid-template-columns:1fr}.settings-hours-head{display:none}.settings-hour-row{grid-template-columns:1fr 1fr}.settings-hour-row strong,.settings-copy{grid-column:1 / -1}}.table-export-toolbar{display:flex;justify-content:flex-end;padding-top:6px}.table-export-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:.78rem;font-weight:600;cursor:pointer}.table-export-button:hover:not(:disabled){background:var(--color-input-bg);color:var(--color-dark-green)}.table-export-button.is-bar{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.8rem}.table-export-button:focus-visible{outline:2px solid var(--color-dark-green);outline-offset:2px}.table-export-button:disabled{opacity:.5;cursor:not-allowed}.staff-page{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.staff-page .card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.staff-page-header{display:flex;align-items:flex-start;gap:14px}.staff-page-header-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border-radius:var(--radius-lg);background:var(--color-accent-lime);color:var(--color-accent-lime-text)}.staff-page-header h1{margin:0;font-size:1.9rem;font-weight:800;color:var(--color-dark-green)}.staff-page-header p{margin:4px 0 0;color:var(--color-text-secondary)}.staff-tabs-scroll{overflow-x:auto}.staff-tabs{display:inline-flex;align-items:center;gap:2px;padding:4px;background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:999px;white-space:nowrap}.staff-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;color:var(--color-text-secondary);background:transparent;border:0;border-radius:999px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.staff-tabs button:hover{color:var(--color-dark-green)}.staff-tabs button.active{color:var(--color-dark-green);background:var(--color-card-bg);box-shadow:var(--shadow-sm)}.staff-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.staff-stat-label{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:6px}.staff-stat-value{font-size:1.6rem;font-weight:800;color:var(--color-dark-green)}.staff-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.staff-section-title{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin:0 0 2px}.staff-section-subtitle{font-size:.8rem;color:var(--color-text-secondary);margin:0 0 14px}.staff-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--color-border)}.staff-list-row:first-of-type{border-top:none}.staff-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--color-accent-lime);color:var(--color-accent-lime-text);font-size:.78rem;font-weight:700;text-transform:uppercase}.staff-person{display:flex;align-items:center;gap:10px;min-width:0}.staff-person-name{font-weight:650;color:var(--color-text-primary);font-size:.86rem}.staff-person-role{font-size:.74rem;color:var(--color-text-secondary)}.staff-table-wrap{overflow-x:auto}.staff-table{width:100%;border-collapse:collapse}.staff-table th{text-align:left;padding:10px 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.staff-table td{padding:12px 14px;font-size:.85rem;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);white-space:nowrap}.staff-table tr:last-child td{border-bottom:none}.staff-roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.staff-empty{padding:40px;text-align:center;color:var(--color-text-secondary)}.staff-static-panel{position:relative}.staff-static-note{display:inline-flex;align-items:center;gap:7px;color:#715381;font-size:.72rem;font-weight:600;margin-bottom:14px}.staff-static-note i{width:7px;height:7px;flex:0 0 7px;background:var(--reports-purple, #9333ea);border-radius:50%;box-shadow:0 0 0 3px #9333ea17}@media (max-width: 900px){.staff-grid-2{grid-template-columns:1fr}}.staff-icon-spin{animation:staff-spin 1s linear infinite}@keyframes staff-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.staff-roster-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.staff-roster-controls{display:inline-flex;align-items:center;gap:10px}.staff-segmented{display:inline-flex;padding:3px;background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:999px}.staff-segmented button{min-height:30px;padding:0 14px;border:none;border-radius:999px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.staff-segmented button.active{color:var(--color-dark-green);background:var(--color-card-bg);box-shadow:var(--shadow-sm)}.staff-ghost-btn{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card-bg);color:var(--color-text-primary);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap}.staff-ghost-btn:hover:not(:disabled){border-color:var(--color-dark-green)}.staff-ghost-btn:disabled{opacity:.7;cursor:default}.staff-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-card-bg);color:var(--color-text-secondary);cursor:pointer}.staff-icon-btn:hover{color:var(--color-dark-green);border-color:var(--color-dark-green)}.staff-roster-summary{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.staff-roster-summary-toggle{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:0;border:0;background:none;color:var(--color-text-secondary);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.staff-roster-summary-toggle:hover{color:var(--color-dark-green)}.staff-roster-filter-note{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--color-accent-lime);color:var(--color-accent-lime-text)}.staff-roster-summary .staff-roster-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.staff-roster-card{display:block;width:100%;padding:12px;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card-bg);font:inherit;color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.staff-roster-card:hover{border-color:var(--color-dark-green)}.staff-roster-card.active{border-color:var(--color-dark-green);box-shadow:0 0 0 1px var(--color-dark-green)}.staff-roster-card .staff-avatar{width:30px;height:30px;flex-basis:30px}.staff-roster-card-next{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:10px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--color-input-bg);font-size:.76rem}.staff-roster-card-next strong{font-weight:650}.staff-roster-card-next-label{color:var(--color-text-secondary)}.staff-section-card{padding:0;overflow:hidden}.staff-section-head{display:flex;align-items:center;gap:8px;padding:12px 18px;background:var(--color-bg-dashboard);border-bottom:1px solid var(--color-border);color:var(--color-dark-green)}.staff-section-head h3{margin:0;font-size:.95rem;font-weight:700;color:var(--color-dark-green)}.staff-count-pill{padding:2px 10px;border-radius:999px;background:var(--color-card-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.72rem;font-weight:600;white-space:nowrap}.staff-roster-table{table-layout:fixed;min-width:780px}.staff-roster-table th,.staff-roster-table td{vertical-align:middle}.staff-roster-table td{white-space:normal}.staff-roster-table .col-when{width:130px;white-space:nowrap}.staff-roster-table.with-date .col-when{width:200px}.staff-roster-table .col-person{width:150px}.staff-roster-table .col-studio{width:170px}.staff-roster-table .col-num{width:90px;text-align:right;white-space:nowrap}.staff-roster-table .col-actions{width:160px;text-align:right;white-space:nowrap}.staff-when{display:flex;align-items:baseline;gap:6px;font-weight:650}.staff-when-date{color:var(--color-dark-green)}.staff-when-dur{font-size:.74rem;font-weight:500;color:var(--color-text-secondary)}.staff-class-name{display:flex;align-items:center;gap:8px;font-weight:600}.staff-unassigned{color:var(--color-text-secondary);font-style:italic}.staff-row-actions{display:inline-flex;align-items:center;gap:6px}@media (max-width: 700px){.staff-roster-head{flex-direction:column}}.class-list-stack{display:grid;gap:18px}.class-list-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.class-list-intro,.class-form-note{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.55}.class-list-intro{max-width:720px}.class-list-new,.class-list-schedule,.class-list-edit,.class-list-pagination button{border:0;font-family:inherit;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.class-list-new{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 16px;border-radius:14px;background:var(--color-accent-lime);color:var(--color-accent-lime-text);font-size:.85rem;font-weight:700}.class-list-new:hover{background:var(--color-accent-lime-hover);transform:translateY(-1px)}.class-list-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card-bg)}.class-list-table{width:100%;table-layout:fixed;border-collapse:collapse;color:var(--color-text-primary);font-size:.86rem}.class-list-table th{padding:13px 10px;border-bottom:1px solid var(--color-border);background:#f7f8f2;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;text-align:left;white-space:normal}.class-list-table td{overflow:hidden;padding:15px 10px;border-bottom:1px solid var(--color-border);font-weight:500;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis}.class-list-table th:nth-child(1){width:16%}.class-list-table th:nth-child(2){width:13%}.class-list-table th:nth-child(3){width:13%}.class-list-table th:nth-child(4),.class-list-table th:nth-child(5),.class-list-table th:nth-child(6),.class-list-table th:nth-child(7){width:8%}.class-list-table th:nth-child(8){width:17%}.class-list-table th:nth-child(9){width:9%}.class-list-table tbody tr:last-child td{border-bottom:0}.class-list-row{cursor:pointer}.class-list-row:hover{background:#f4faefa6}.class-list-row:focus-visible{position:relative;z-index:1;outline:2px solid var(--color-dark-green);outline-offset:-2px}.class-list-table td:nth-child(8),.class-list-table td:nth-child(9){overflow:visible}.class-list-name{font-weight:700!important}.class-list-category{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eaf3e2;color:var(--color-dark-green);font-size:.76rem;font-weight:700}.class-list-availability,.class-list-actions{display:flex;align-items:center}.class-list-availability{gap:9px}.class-list-switch{position:relative;width:44px;height:24px;flex:0 0 auto;padding:0;border:0;border-radius:999px;background:#cdd8d0;cursor:pointer;transition:background-color var(--transition-fast)}.class-list-switch span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #113f2a38;transition:transform var(--transition-fast)}.class-list-switch[data-checked=true]{background:var(--color-accent-lime)}.class-list-switch[data-checked=true] span{transform:translate(20px)}.class-list-switch:disabled{cursor:wait;opacity:.65}.class-list-actions{justify-content:flex-end;gap:8px}.class-list-actions-heading{text-align:right!important}.class-list-schedule{padding:8px 6px;background:transparent;color:var(--color-dark-green);font-size:.78rem;font-weight:700}.class-list-schedule:hover:not(:disabled){color:var(--color-sidebar-active);text-decoration:underline;text-underline-offset:3px}.class-list-schedule:disabled{cursor:not-allowed;opacity:.4}.class-list-edit{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:10px;background:var(--color-card-bg);color:var(--color-dark-green)}.class-list-edit:hover{background:var(--color-input-bg)}.class-list-empty,.class-list-error{padding:54px 20px;border:1px dashed var(--color-border);border-radius:16px;text-align:center;color:var(--color-text-secondary)}.class-list-error{color:var(--color-negative)}.class-list-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--color-text-secondary);font-size:.82rem}.class-list-pagination>div{display:flex;gap:8px}.class-list-pagination button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card-bg);color:var(--color-dark-green)}.class-list-pagination button:disabled{cursor:not-allowed;opacity:.4}.class-form-readonly{min-height:50px;display:flex;align-items:center;padding:14px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffff8c;color:var(--color-text-secondary);font-size:.95rem}.class-edit-availability{display:flex;align-items:center;gap:10px;color:var(--color-dark-green);font-size:.9rem;font-weight:700;cursor:pointer}.class-edit-availability input{width:18px;height:18px;accent-color:var(--color-dark-green)}.class-schedule-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--color-border);border-radius:16px;background:#ffffff8f}.class-schedule-summary div{display:grid;gap:4px;min-width:0}.class-schedule-summary span{color:var(--color-text-secondary);font-size:.72rem}.class-schedule-summary strong{overflow:hidden;color:var(--color-dark-green);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.class-schedule-weekdays{display:flex;flex-wrap:wrap;gap:6px}@media (max-width: 760px){.class-list-toolbar{align-items:stretch;flex-direction:column;gap:14px}.class-list-new{width:100%}.class-list-table-wrap{overflow:visible;border:0;background:transparent}.class-list-table{min-width:0}.class-list-table thead{display:none}.class-list-table,.class-list-table tbody,.class-list-table tr,.class-list-table td{display:block;width:100%}.class-list-table tbody{display:grid;gap:12px}.class-list-table tr{padding:14px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card-bg)}.class-list-table td{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding:8px 0;border-bottom:1px solid var(--color-border);white-space:normal;text-align:right}.class-list-table td:before{content:attr(data-label);color:var(--color-text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.02em;text-align:left;text-transform:uppercase}.class-list-table td:last-child{border-bottom:0}.class-list-actions{flex:1}.class-list-schedule{flex:1;justify-content:center}.class-schedule-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 440px){.class-list-pagination{align-items:flex-start;flex-direction:column}.class-schedule-summary{grid-template-columns:1fr}}.class-detail-page{display:grid;gap:20px}.class-detail-header,.class-detail-heading,.class-detail-title-row,.class-detail-panel-header,.class-detail-metric,.class-detail-fact,.class-detail-session{display:flex;align-items:center}.class-detail-header{justify-content:space-between;gap:18px;flex-wrap:wrap}.class-detail-heading{align-items:flex-start;gap:14px;min-width:0}.class-detail-title-row{gap:10px;flex-wrap:wrap}.class-detail-title-row h1{margin:0;color:var(--color-dark-green);font-size:clamp(1.6rem,3vw,2rem);line-height:1.15}.class-detail-heading p{margin:5px 0 0;color:var(--color-text-secondary)}.class-detail-status,.class-detail-session-count{border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700}.class-detail-status.is-active{color:#0b7a4b;background:#ecfdf5}.class-detail-status.is-inactive{color:#b91c1c;background:#fef2f2}.class-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.class-detail-metric,.class-detail-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card-bg);box-shadow:var(--shadow-sm)}.class-detail-metric{gap:12px;padding:16px}.class-detail-metric-icon,.class-detail-fact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--color-dark-green);background:var(--color-input-bg)}.class-detail-metric-icon{width:38px;height:38px;border-radius:11px}.class-detail-metric div,.class-detail-fact div,.class-detail-session-date,.class-detail-session-occupancy{display:grid;gap:3px;min-width:0}.class-detail-metric span:not(.class-detail-metric-icon),.class-detail-fact span,.class-detail-session span,.class-detail-audit{color:var(--color-text-secondary);font-size:.78rem}.class-detail-metric strong{color:var(--color-text-primary);font-size:.98rem}.class-detail-content-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:20px;align-items:start}.class-detail-panel{padding:20px}.class-detail-panel-header{justify-content:space-between;gap:12px;margin-bottom:18px}.class-detail-eyebrow{margin:0 0 4px;color:var(--color-text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.class-detail-panel h2{margin:0;color:var(--color-dark-green);font-size:1.05rem}.class-detail-session-count{min-width:28px;text-align:center;color:var(--color-accent-lime-text);background:var(--color-accent-lime)}.class-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.class-detail-fact{gap:10px;padding:14px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.class-detail-fact-icon{width:32px;height:32px;border-radius:9px}.class-detail-fact strong{overflow:hidden;color:var(--color-text-primary);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.class-detail-audit{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap}.class-detail-session-list,.class-detail-session-loading{display:grid}.class-detail-session{gap:14px;min-height:66px;padding:11px 4px;border-top:1px solid var(--color-border);color:inherit;text-decoration:none;transition:background-color var(--transition-fast),transform var(--transition-fast)}.class-detail-session:hover{background:var(--color-input-bg);transform:translate(2px)}.class-detail-session:active{transform:translate(2px) scale(.99)}.class-detail-session:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-dark-green);outline-offset:2px}.class-detail-session-date{flex:1 1 auto}.class-detail-session-date strong,.class-detail-session-occupancy strong{color:var(--color-text-primary);font-size:.86rem}.class-detail-session-occupancy{flex:0 0 auto;text-align:right}.class-detail-session-chevron{flex:0 0 auto;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.class-detail-session:hover .class-detail-session-chevron{transform:translate(2px)}.class-detail-empty,.class-detail-inline-error,.class-detail-error{border-radius:var(--radius-md);padding:24px}.class-detail-empty{display:grid;justify-items:center;gap:6px;color:var(--color-text-secondary);text-align:center;background:var(--color-input-bg)}.class-detail-empty strong{color:var(--color-text-primary)}.class-detail-empty span{font-size:.82rem}.class-detail-inline-error,.class-detail-error{border:1px solid #fee2e2;color:#b91c1c;background:#fef2f2}.class-detail-skeleton{overflow:hidden;position:relative;background:var(--color-input-bg)}.class-detail-skeleton:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);content:"";transform:translate(-100%);animation:class-detail-shimmer 1.4s infinite}.class-detail-skeleton-title{width:min(360px,70%);height:42px;border-radius:var(--radius-sm)}.class-detail-skeleton-card{height:72px;border-radius:var(--radius-md)}.class-detail-skeleton-panel{height:280px;border-radius:var(--radius-md)}.class-detail-skeleton-session{height:66px;border-top:1px solid var(--color-border)}@keyframes class-detail-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.class-detail-skeleton:after{animation:none}.class-detail-session,.class-detail-session-chevron{transition:none}}@media (max-width: 900px){.class-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.class-detail-content-grid{grid-template-columns:1fr}}@media (max-width: 560px){.class-detail-header{align-items:stretch}.class-detail-header>a{justify-content:center}.class-detail-metrics,.class-detail-facts{grid-template-columns:1fr}.class-detail-session{align-items:flex-start;flex-wrap:wrap}.class-detail-session-occupancy{margin-left:0;text-align:left}.class-detail-session-chevron{margin-left:auto}}.bookings-page{display:grid;gap:22px;min-width:0}.bookings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.bookings-header h1{margin:0;color:var(--color-dark-green);font-size:2rem;font-weight:800;letter-spacing:-.03em}.bookings-header p{margin:5px 0 0;color:var(--color-text-secondary);font-size:.95rem}.bookings-header-actions,.booking-modal-actions{display:flex;align-items:center;gap:10px}.booking-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:14px;font-family:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast),opacity var(--transition-fast)}.booking-btn:hover:not(:disabled){transform:translateY(-1px)}.booking-btn:disabled{cursor:not-allowed;opacity:.5}.booking-btn.primary{background:var(--color-accent-lime);color:var(--color-accent-lime-text)}.booking-btn.primary:hover:not(:disabled){background:var(--color-accent-lime-hover)}.booking-btn.secondary{border-color:var(--color-border);background:var(--color-card-bg);color:var(--color-dark-green)}.bookings-filters{display:grid;gap:12px;padding:16px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-card-bg);box-shadow:var(--shadow-sm)}.bookings-search,.booking-session-search{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid var(--color-border);border-radius:13px;background:var(--color-input-bg);color:var(--color-text-secondary)}.bookings-search{min-height:43px;padding:0 13px}.bookings-search input,.booking-session-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--color-text-primary);font:inherit}.bookings-filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));align-items:center;gap:9px}.bookings-result-count{justify-self:end;color:var(--color-text-secondary);font-size:.78rem;white-space:nowrap}.bookings-custom-range{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bookings-custom-range label{display:flex;align-items:center;gap:7px;color:var(--color-text-secondary);font-size:.78rem;font-weight:700}.bookings-custom-range input{padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-input-bg);color:var(--color-text-primary);font:inherit}.bookings-table-shell{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:18px;background:var(--color-card-bg);box-shadow:var(--shadow-sm)}.bookings-table{width:100%;min-width:1040px;border-collapse:collapse;color:var(--color-text-primary);font-size:.84rem}.bookings-table th{padding:15px 16px;border-bottom:1px solid var(--color-border);background:#f7f8f2;color:var(--color-text-secondary);font-size:.76rem;font-weight:600;text-align:left;white-space:nowrap}.bookings-table td{padding:16px;border-bottom:1px solid var(--color-border);vertical-align:middle}.bookings-table tbody tr:last-child td{border-bottom:0}.bookings-table tbody tr{transition:background-color var(--transition-fast)}.bookings-table tbody tr:hover{background:#f4faefa8}.bookings-table td:nth-child(1),.bookings-table td:nth-child(2){min-width:160px}.booking-session-datetime{min-width:180px;white-space:nowrap}.bookings-table td small{display:block;margin-top:4px;color:var(--color-text-secondary);font-size:.74rem}.booking-member-link{padding:0;border:0;background:transparent;color:var(--color-dark-green);font:inherit;font-weight:700;cursor:pointer}.booking-member-link:hover{text-decoration:underline;text-underline-offset:3px}.booking-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.status-confirmed{background:#edf5fb;color:#39708d}.status-attended{background:#eaf4e8;color:#3b754f}.status-cancelled,.status-no-show{background:#fff0ef;color:#b94742}.source-member,.source-walk-in,.source-trial{background:#f2f8d7;color:#42652e}.source-trial{background:#f4effd;color:#6d4ba0}.payment-untracked{background:#f1f2ef;color:#717a72}.payment-status-paid{background-color:#eaf4e8;color:#3b754f}.payment-status-pending{background-color:#fff0ef;color:#b94742}.payment-status-membership,.payment-status-paid{background-color:#e2f2e5;color:#2b6138}.payment-status-free{background-color:#f1f2ef;color:#717a72}.booking-attend{display:inline-flex;align-items:center;gap:7px;padding:7px 8px;border:0;background:transparent;color:var(--color-dark-green);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.booking-attend:hover:not(:disabled){color:#2e754c;text-decoration:underline;text-underline-offset:3px}.booking-attend:disabled{cursor:wait;opacity:.5}.bookings-state{padding:52px 20px;color:var(--color-text-secondary);text-align:center}.bookings-state.error{border:1px solid #f1c6c3;border-radius:16px;background:#fff5f4;color:var(--color-negative)}.booking-create-stack{display:grid;gap:18px}.booking-create-fields{min-width:0;margin:0;padding:0;border:0}.booking-bulk-toggle{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--color-dark-green)}.booking-bulk-members{display:grid;gap:8px;color:var(--color-text-secondary)}.booking-bulk-members ul,.booking-bulk-results ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.booking-bulk-members li{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--color-border);border-radius:8px;font-size:.8rem}.booking-bulk-members li button{display:inline-flex;padding:2px;border:0;background:transparent;color:inherit;cursor:pointer}.booking-bulk-results{display:grid;gap:12px;font-size:.85rem}.booking-bulk-results li{display:grid;flex:1 1 240px;gap:4px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card-bg)}.booking-bulk-results li[data-status=failed],.booking-bulk-results li[data-status=uncertain],.booking-bulk-results li[data-status=warning]{border-color:#e1b5a3}.booking-bulk-results small{color:var(--color-text-secondary)}.booking-bulk-review{display:grid;gap:12px;font-size:.85rem}.booking-bulk-review p,.booking-bulk-results p{margin:0}.booking-bulk-capacity{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card-bg)}.booking-bulk-capacity[data-full=true]{border-color:#e1b5a3;background:#fff5ec;color:#873800}.booking-bulk-coverage{display:grid;gap:8px;max-height:280px;overflow-y:auto;margin:0;padding:0;list-style:none}.booking-bulk-coverage li{display:grid;gap:5px;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card-bg)}.booking-bulk-coverage li>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.booking-bulk-coverage li>div>span{font-size:.78rem;color:var(--color-dark-green);font-weight:600}.booking-bulk-coverage li[data-status=walk-in]{border-color:#e1b5a3;background:#fff9ef}.booking-bulk-coverage li[data-status=walk-in]>div>span{color:#873800}.booking-bulk-coverage small{color:var(--color-text-secondary);line-height:1.4}.booking-bulk-approval{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border:1px solid #e1b5a3;border-radius:10px;background:#fff9ef;color:#873800;line-height:1.4}.booking-bulk-approval input{flex-shrink:0;margin-top:3px}.booking-create-tabs-scroll{overflow-x:auto}.booking-create-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:13px;background:#eef2e8;white-space:nowrap}.booking-create-tabs button{flex:1 1 auto;min-height:38px;padding:8px 16px;border:0;border-radius:10px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap}.booking-create-tabs button.active{background:var(--color-card-bg);color:var(--color-dark-green);box-shadow:0 1px 3px #113f2a14}.booking-create-grid{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(320px,1.3fr);gap:18px;min-height:410px}.booking-create-details{display:grid;align-content:start;gap:15px}.booking-field{display:grid;gap:7px;color:var(--color-dark-green);font-size:.8rem;font-weight:700}.booking-field .PhoneInputInput{font-weight:400}.booking-field>input{min-height:43px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;outline:none;background:var(--color-card-bg);color:var(--color-text-primary);font:inherit}.booking-field>input:focus,.booking-session-search:focus-within{border-color:var(--color-dark-green);box-shadow:0 0 0 3px #113f2a14}.booking-schema-note{padding:11px 12px;border:1px solid #d9ddd4;border-radius:12px;background:#f1f2ef;color:#6c746c;font-size:.74rem;line-height:1.45}.booking-session-picker{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;min-height:0}.booking-session-label{color:var(--color-dark-green);font-size:.8rem;font-weight:700}.booking-session-search{min-height:41px;padding:0 11px;background:var(--color-card-bg)}.booking-session-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-session-list{display:grid;align-content:start;gap:8px;max-height:320px;overflow-y:auto;padding:9px;border:1px solid var(--color-border);border-radius:14px;background:#ffffff73}.booking-session-card{display:grid;gap:7px;width:100%;padding:12px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-card-bg);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.booking-session-card:hover,.booking-session-card.selected{border-color:#adc987;background:#f7fce9}.booking-session-card.selected{box-shadow:0 0 0 2px #b5dd5b47}.booking-session-card-top,.booking-session-card-top>span,.booking-session-meta,.booking-session-meta>span{display:flex;align-items:center}.booking-session-card-top{justify-content:space-between;gap:10px}.booking-session-card-top>span{gap:7px;min-width:0}.booking-session-card-top small{padding:3px 6px;border-radius:999px;background:#f2f8d7;color:#4a6d32;font-size:.66rem}.booking-session-meta{gap:11px;color:var(--color-text-secondary);font-size:.7rem;flex-wrap:wrap}.booking-session-meta>span{gap:4px}.booking-session-state{padding:38px 12px;color:var(--color-text-secondary);font-size:.78rem;text-align:center}.booking-form-error{padding:10px 12px;border-radius:11px;background:#fff0ef;color:var(--color-negative);font-size:.8rem}.booking-modal-actions{justify-content:flex-end}@media (max-width: 1120px){.bookings-result-count{grid-column:1 / -1}}@media (max-width: 760px){.bookings-page{gap:16px}.bookings-header{display:grid;grid-template-columns:minmax(0,1fr)}.bookings-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-btn{width:100%}.bookings-result-count{grid-column:1 / -1}.booking-create-grid{grid-template-columns:1fr;min-height:0}.booking-session-list{max-height:310px}}@media (max-width: 480px){.bookings-header h1{font-size:1.7rem}.bookings-header-actions,.bookings-filter-row,.booking-session-filters{grid-template-columns:1fr}.booking-create-tabs button{padding-inline:6px;font-size:.74rem}.booking-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-lookup-note{margin-top:8px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.85rem}.booking-lookup-note p{margin:0 0 10px}.booking-lookup-note>label{display:flex;align-items:center;gap:8px}.booking-lookup-note>.booking-field{display:grid;margin-top:12px}.class-plan-richtext{line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.class-plan-richtext p{margin:0 0 .7em}.class-plan-richtext h2{font-size:1.5em;margin:1em 0 .5em;line-height:1.25}.class-plan-richtext h3{font-size:1.2em;margin:.9em 0 .5em;line-height:1.3}.class-plan-richtext ul,.class-plan-richtext ol{padding-left:1.6em;margin:.5em 0 .9em}.class-plan-richtext ul{list-style:disc}.class-plan-richtext ol{list-style:decimal}.class-plan-richtext li{margin:.25em 0}.class-plan-richtext li>p{margin-bottom:.25em}.class-plan-richtext>:first-child{margin-top:0}.class-plan-richtext>:last-child{margin-bottom:0}.class-plan-editor{border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:var(--color-card-bg)}.class-plan-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid var(--color-border)}.class-plan-toolbar button{display:inline-flex;justify-content:center;align-items:center;min-width:34px;min-height:34px;border:1px solid transparent;border-radius:6px;color:var(--color-text-primary);background:transparent;cursor:pointer}.class-plan-toolbar button[aria-pressed=true]{background:var(--color-accent-lime);color:var(--color-accent-lime-text)}.class-plan-toolbar button:hover:not(:disabled){border-color:var(--color-border)}.class-plan-toolbar button:disabled{opacity:.4;cursor:default}.class-plan-toolbar button:focus-visible,.class-plan-tv button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.class-plan-editor .tiptap{min-height:180px;max-height:380px;overflow-y:auto;padding:16px;outline:none;color:var(--color-text-primary)}.class-plan-editor .tiptap:focus{box-shadow:inset 0 0 0 2px var(--color-dark-green, #113f2a)}.class-plan-editor[aria-disabled=true]{opacity:.65}.class-plan-tv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#102319;color:#f5f8ee;display:flex;flex-direction:column;padding:clamp(20px,4vw,72px)}.class-plan-tv header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-shrink:0;padding-bottom:24px;border-bottom:1px solid #ffffff30}.class-plan-tv h1{margin:0;font-size:clamp(28px,3vw,64px);line-height:1.15}.class-plan-tv-subtitle{color:#d0ddc5;font-size:clamp(16px,1.3vw,28px);margin:10px 0 0}.class-plan-tv-scroll-status{color:#d0ddc5;font-size:clamp(14px,1vw,22px);margin:10px 0 0}.class-plan-tv-actions{display:flex;gap:10px;flex-shrink:0}.class-plan-tv button{border:1px solid #ffffff60;color:inherit;background:#ffffff10;min-width:44px;min-height:44px;border-radius:8px;padding:8px 12px;cursor:pointer}.class-plan-tv-body{flex:1;overflow-y:auto;min-height:0;padding-top:28px;font-size:clamp(24px,2.6vw,56px)}.class-plan-tv-body:focus-visible{outline:2px solid #d5ed91;outline-offset:6px}@media (max-width: 600px){.class-plan-tv header{gap:12px}.class-plan-tv-actions{flex-direction:column}.class-plan-tv button{padding:6px 8px}}.imp{display:grid;gap:18px;font-size:.875rem;color:var(--color-text-primary)}.imp-steps{display:flex;align-items:center;gap:10px;margin:-4px 0 2px;padding:0;list-style:none}.imp-step{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-weight:600;font-size:.8rem}.imp-step+.imp-step:before{content:"";width:28px;height:1px;margin-right:2px;background:var(--color-border)}.imp-step-dot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-card-bg);font-size:.72rem}.imp-step[aria-current=step]{color:var(--color-dark-green)}.imp-step[aria-current=step] .imp-step-dot{border-color:var(--color-accent-lime);background:var(--color-accent-lime);color:var(--color-accent-lime-text)}.imp-step.is-done .imp-step-dot{border-color:var(--color-dark-green);background:var(--color-dark-green);color:var(--color-pure-white)}.imp-question{margin:0 0 8px;font-weight:700;color:var(--color-dark-green)}.imp-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.imp-mode{position:relative;display:grid;align-content:start;gap:4px;padding:12px 14px 12px 40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card-bg);cursor:pointer;transition:border-color .15s,box-shadow .15s}.imp-mode input{position:absolute;top:14px;left:14px;width:16px;height:16px;margin:0;accent-color:var(--color-dark-green)}.imp-mode:has(input:checked){border-color:var(--color-dark-green);box-shadow:0 0 0 1px var(--color-dark-green)}.imp-mode:has(input:focus-visible){outline:2px solid var(--color-accent-lime);outline-offset:2px}.imp-mode strong{color:var(--color-text-primary)}.imp-mode span{color:var(--color-text-secondary);font-size:.8rem;line-height:1.4}.imp-drop{display:grid;justify-items:center;gap:6px;padding:30px 16px;text-align:center;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-card-bg);cursor:pointer;transition:border-color .15s,background-color .15s}.imp-drop:hover,.imp-drop.is-dragging{border-color:var(--color-accent-lime);background:var(--color-input-bg)}.imp-drop:has(input:focus-visible){outline:2px solid var(--color-accent-lime);outline-offset:2px}.imp-vh{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.imp-drop{position:relative}.imp-drop.is-disabled{cursor:not-allowed;opacity:.55}.imp-drop-title{font-weight:700;color:var(--color-dark-green)}.imp-drop-hint{color:var(--color-text-secondary);font-size:.8rem}.imp-guide{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 14px;font-size:.82rem}.imp-guide summary{cursor:pointer;font-weight:700;color:var(--color-dark-green)}.imp-guide-body{display:grid;gap:12px;margin-top:10px}.imp-guide table{width:100%;border-collapse:collapse}.imp-guide th,.imp-guide td{padding:5px 8px;border-top:1px solid var(--color-border);text-align:left;vertical-align:top}.imp-guide thead th{border-top:none;padding-top:8px}.imp-guide-note{font-weight:400;color:var(--color-text-secondary)}.imp-guide .is-muted{opacity:.55}.imp-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;color:var(--color-dark-green);font-weight:600;text-decoration:underline;cursor:pointer}.imp-link:disabled{opacity:.6;cursor:default}.imp-alert{padding:10px 12px;border:1px solid var(--color-negative);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-negative) 7%,transparent);color:var(--color-negative)}.imp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.imp-file{display:flex;align-items:baseline;gap:8px;min-width:0}.imp-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-filters{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card-bg)}.imp-filter{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:none;border-radius:999px;background:none;color:var(--color-text-secondary);font-weight:600;font-size:.8rem;cursor:pointer}.imp-filter:disabled{opacity:.45;cursor:default}.imp-filter[aria-pressed=true]{background:var(--color-dark-green);color:var(--color-pure-white)}.imp-count{min-width:18px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent);font-size:.72rem;text-align:center}.imp-mode-switch{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:.8rem}.imp-mode-switch select{padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text-primary);font:inherit}.imp-table-wrap{overflow:auto;max-block-size:min(56vh,560px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card-bg)}.imp-table-wrap.is-busy{opacity:.6;pointer-events:none}.imp-table{border-collapse:separate;border-spacing:0;min-inline-size:100%;font-size:.8rem}.imp-table th,.imp-table td{padding:7px 8px;border-bottom:1px solid var(--color-border);background:var(--color-card-bg);text-align:left;vertical-align:top}.imp-table thead{position:sticky;inset-block-start:0;z-index:2}.imp-table thead th{white-space:nowrap;font-weight:700;color:var(--color-text-secondary)}.imp-table thead .imp-group-row th{padding-block:6px 2px;border-bottom:none;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.imp-table .imp-group-start{border-left:1px solid var(--color-border)}.imp-table .imp-sticky{position:sticky;inset-inline-start:0;z-index:1;box-sizing:border-box;inline-size:92px;min-inline-size:92px}.imp-table .imp-sticky-2{position:sticky;inset-inline-start:92px;z-index:1;min-inline-size:230px;max-inline-size:260px;border-right:1px solid var(--color-border);box-shadow:6px 0 8px -8px #00000040}.imp-table thead .imp-sticky,.imp-table thead .imp-sticky-2{z-index:3}.imp-table tbody th{font-weight:400}.imp-table tr.has-error>*{background:color-mix(in srgb,var(--color-negative) 5%,var(--color-card-bg))}.imp-rownum{display:block;color:var(--color-text-secondary);font-size:.72rem}.imp-badge{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-weight:700;font-size:.72rem}.imp-badge.is-ready{color:var(--color-positive)}.imp-badge.is-error{color:var(--color-negative)}.imp-badge.is-edited,.imp-badge.is-warning{color:var(--color-warning-text)}.imp-outcome{display:grid;gap:2px;line-height:1.35}.imp-outcome-meta{color:var(--color-text-secondary)}.imp-outcome-warning{color:var(--color-warning-text)}.imp-outcome-error{color:var(--color-negative)}.imp-outcome-edited{color:var(--color-text-secondary);font-style:italic}.imp-status{justify-self:start;padding:1px 8px;border-radius:999px;font-size:.7rem;font-weight:700}.imp-status.is-active{background:color-mix(in srgb,var(--color-positive) 14%,transparent);color:var(--color-positive)}.imp-status.is-upcoming{background:#eff6ff;color:#1d4ed8}.imp-status.is-expired{background:color-mix(in srgb,var(--color-text-secondary) 14%,transparent);color:var(--color-text-secondary)}.imp-cell{padding:5px 7px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-input-bg);color:var(--color-text-primary);font:inherit}.imp-cell:focus-visible{outline:2px solid var(--color-accent-lime);outline-offset:0;border-color:transparent}.imp-cell[aria-invalid=true]{border-color:var(--color-negative);box-shadow:0 0 0 1px var(--color-negative)}.imp-cell.is-edited,.imp-phone-cell.is-edited{border-color:var(--color-warning-border)}.imp-remove{display:grid;place-items:center;padding:5px;border:none;border-radius:6px;background:none;color:var(--color-text-secondary);cursor:pointer}.imp-remove:hover{background:color-mix(in srgb,var(--color-negative) 10%,transparent);color:var(--color-negative)}.imp-empty{position:sticky;inset-inline-start:0;margin:0;padding:28px 12px;text-align:center;color:var(--color-text-secondary)}.imp-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-top:14px;border-top:1px solid var(--color-border)}.imp-footer-note{color:var(--color-text-secondary);font-size:.8rem}.imp-footer-note.is-warning{color:var(--color-warning-text);font-weight:600}.imp-actions{display:flex;gap:10px;margin-left:auto}.imp-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card-bg);color:var(--color-text-primary);font-weight:600;font-size:.875rem;cursor:pointer}.imp-btn.is-primary{border-color:transparent;background:var(--color-accent-lime);color:var(--color-accent-lime-text);font-weight:700;box-shadow:0 6px 16px #c5f05147}.imp-btn:disabled{opacity:.55;cursor:default;box-shadow:none}.imp-done{display:grid;justify-items:center;gap:6px;text-align:center}.imp-done-icon.is-ok{color:var(--color-positive)}.imp-done-icon.is-partial{color:var(--color-warning-text)}.imp-done h3{margin:4px 0 0;font-size:1.15rem;color:var(--color-dark-green)}.imp-done p{margin:0;color:var(--color-text-secondary)}.imp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.imp-stat{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.imp-stat strong{display:block;font-size:1.3rem}.imp-stat span{color:var(--color-text-secondary);font-size:.78rem}.imp-stat.is-ok strong{color:var(--color-positive)}.imp-stat.is-bad strong{color:var(--color-negative)}.imp-failures{display:grid;gap:6px;max-block-size:220px;overflow:auto;margin:0;padding:10px 12px 10px 28px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.82rem}.imp-failures li::marker{color:var(--color-negative)}@media (max-width: 640px){.imp-table .imp-sticky-2{position:static;box-shadow:none}.imp-stats{grid-template-columns:1fr}}.imp-summary,.imp-only-adds{margin:0;font-size:.82rem;line-height:1.45}.imp-summary{color:var(--color-text-primary)}.imp-only-adds{color:var(--color-text-secondary)}.payments-container{padding:0;width:100%;box-sizing:border-box}.payments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.payments-title{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.25rem;font-family:Outfit,sans-serif}.payments-subtitle{font-size:.875rem;color:#6b7280}.filter-dropdown-container{position:relative}.filter-dropdown-btn{display:flex;align-items:center;gap:.5rem;background-color:#fff;border:1px solid #e5e7eb;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.filter-dropdown-btn:hover{background-color:#f9fafb;border-color:#d1d5db}.filter-dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:10;width:200px;padding:.25rem}.filter-dropdown-item{display:block;width:100%;text-align:left;padding:.625rem .75rem;font-size:.875rem;color:#374151;background:none;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease}.filter-dropdown-item:hover{background-color:#f3f4f6}.filter-dropdown-item.active{background-color:#e6f4ea;color:#0b7a4b;font-weight:500}.payments-table-wrapper{background-color:#fff;border-radius:.75rem;border:1px solid #e5e7eb;overflow-x:auto;max-width:100%;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #0000000f}.payments-table{width:100%;border-collapse:collapse;text-align:left}.payments-table th{background-color:#f9fafb;padding:1rem 1.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#4b5563;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.payments-table td{padding:1rem 1.5rem;font-size:.875rem;color:#374151;border-bottom:1px solid #e5e7eb;vertical-align:middle}.payments-table tr:last-child td{border-bottom:none}.member-cell{display:flex;align-items:center;gap:.75rem}.member-avatar{width:2.25rem;height:2.25rem;border-radius:50%;background-color:#e6f4ea;color:#0b7a4b;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.member-name{font-weight:500;color:#111827}.member-email{font-size:.75rem;color:#6b7280}.class-name{font-weight:500;color:#1f2937}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500}.plan-badge{background-color:#ecfdf5;color:#065f46}.walkin-badge{background-color:#fffbeb;color:#92400e}.source-badge{background-color:#f3f4f6;color:#374151}.status-badge{font-weight:600}.status-paid{background-color:#ecfdf5;color:#047857}.status-pending{background-color:#fff5f5;color:#c53030}.status-pending.clickable{cursor:pointer;transition:all .15s ease;border:1px dashed #feb2b2}.status-pending.clickable:hover{background-color:#ffe4e4;color:#9b2c2c;transform:translateY(-1px);box-shadow:0 2px 4px #c530300d}.method-label{font-weight:500;color:#4b5563}.amount-col,.amount-cell{text-align:right;font-weight:600;color:#111827}.action-col,.action-cell{text-align:right}.collect-btn{background-color:#0b7a4b;color:#fff;border:none;padding:.375rem .875rem;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.collect-btn:hover{background-color:#09633c}.payments-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280;gap:1rem}.payments-spinner{animation:spin 1s linear infinite;color:#0b7a4b}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.payments-empty{text-align:center;padding:4rem 2rem;color:#6b7280}.payments-empty svg{margin:0 auto 1rem;color:#d1d5db}.payments-empty h3{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:.5rem}.payments-empty p{font-size:.875rem;max-width:400px;margin:0 auto}.payments-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background-color:#fff}.pagination-btn{background:none;border:1px solid #e5e7eb;border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:#374151;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:#f9fafb}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:#4b5563}.collect-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#11182759;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.collect-modal{background-color:#fff;border-radius:1.25rem;width:100%;max-width:500px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000014;overflow:hidden;border:1px solid rgba(229,231,235,.5);font-family:var(--font-main),"Outfit",sans-serif}.collect-modal-header{display:flex;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem 1rem}.collect-modal-header h2{font-size:1.35rem;font-weight:700;color:#1c2b21;margin:0 0 .25rem}.collect-modal-subtitle{font-size:.85rem;color:#6b7280;margin:0;line-height:1.4}.close-modal-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;transition:color .15s ease;margin-top:-2px}.close-modal-btn:hover{color:#4b5563}.collect-modal-form{padding:0 1.75rem 1.75rem;min-height:0;overflow-y:auto;overscroll-behavior:contain}.collect-summary-box{background-color:#f7f8f6;border:1px solid #e2e4df;border-radius:.875rem;padding:1.125rem 1.25rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.collect-summary-left{display:flex;align-items:center;gap:.75rem}.collect-checked-circle{width:1.5rem;height:1.5rem;border-radius:50%;background-color:#d9f99d;color:#3f6212;display:flex;align-items:center;justify-content:center}.collect-checkmark{font-size:.875rem;font-weight:800}.collect-summary-text{font-size:.925rem;font-weight:600;color:#1c2b21}.collect-summary-right{font-size:1.1rem;font-weight:700;color:#1c2b21}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:600;color:#1c2b21;margin-bottom:.5rem}.collect-select-wrapper{position:relative;width:100%}.collect-select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:#f7f8f6;border:2px solid var(--color-accent-lime);border-radius:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;color:#1c2b21;outline:none;cursor:pointer;transition:border-color .15s ease}.collect-select-chevron{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#1c2b21;pointer-events:none}.collect-gst-box{padding:.25rem 1.25rem .75rem;display:flex;flex-direction:column;gap:.35rem}.collect-gst-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-secondary)}.collect-total-box{background-color:var(--color-mist-green);border-radius:.75rem;padding:.875rem 1.25rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.collect-total-label{font-size:.875rem;color:#4b5563;font-weight:500}.collect-total-amount{font-size:1.1rem;font-weight:700;color:#1c2b21}.collect-optional-section{margin-bottom:1.5rem;border-top:1px solid #f3f4f6;padding-top:1rem}.collect-optional-toggle{background:none;border:none;font-size:.825rem;font-weight:600;color:#0b7a4b;cursor:pointer;padding:0;display:flex;align-items:center;transition:color .15s ease}.collect-optional-toggle:hover{color:#09633c;text-decoration:underline}.collect-modal .form-input{width:100%;padding:.75rem 1rem;border:1px solid #dcded9;border-radius:.75rem;font-size:.9rem;color:#1c2b21;outline:none;background-color:#f7f8f6;transition:border-color .15s ease}.collect-modal .form-input:focus{border-color:#0b7a4b}.collect-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem}.btn-cancel{background:none;border:1px solid #dcded9;padding:.625rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:600;color:#1c2b21;cursor:pointer;transition:all .15s ease}.btn-cancel:hover{background-color:#f4f5f2}.btn-confirm{background-color:var(--color-accent-lime);color:var(--color-accent-lime-text);border:none;padding:.625rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:700;cursor:pointer;transition:opacity .15s ease;box-shadow:0 4px 12px #c5f05133}.btn-confirm:hover:not(:disabled){opacity:.9}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.collect-link-box{padding:16px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e40af}.collect-link-title{display:flex;align-items:center;gap:8px;font-weight:600}.collect-link-box p{margin:8px 0 12px;font-size:.875rem;line-height:1.5}.reports-page{--reports-purple: #9333ea;width:100%;max-width:100%;min-width:0;padding-bottom:36px;color:var(--color-text-primary)}.reports-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.reports-page-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;color:#507062;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.reports-page-header h1{margin:0 0 3px;color:var(--color-dark-green);font-size:1.55rem;font-weight:750;letter-spacing:-.045em;line-height:1.12}.reports-page-header p{margin:0;color:var(--color-text-secondary);font-size:.94rem;font-weight:450}.reports-filter-card{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-height:58px;padding:10px 12px;margin-bottom:18px;background:#ffffffe0;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 2px 8px #113f2a05}.reports-filter-label{display:inline-flex;align-items:center;gap:6px;padding:0 2px;color:var(--color-text-secondary);font-size:.78rem;font-weight:600;white-space:nowrap}.reports-preset-group,.reports-granularity{display:inline-flex;align-items:center;padding:3px;background:#f2f5ef;border:1px solid #e9eee7;border-radius:999px}.reports-preset-group button,.reports-granularity button{min-height:28px;padding:0 13px;color:#53675d;background:transparent;border:0;border-radius:999px;font:inherit;font-size:.74rem;font-weight:550;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.reports-preset-group button:hover,.reports-granularity button:hover{color:var(--color-dark-green)}.reports-preset-group button.active,.reports-granularity button.active{color:var(--color-dark-green);background:#fff;box-shadow:0 1px 4px #113f2a1a}.reports-filter-card .dd-trigger[data-variant=filter]{min-width:154px;min-height:36px;padding:8px 12px;color:var(--color-text-primary);background:#f7f8f4;border-color:#e4e9e1;border-radius:999px;font-size:.75rem;font-weight:550}.reports-custom-range{display:flex;align-items:center;gap:8px;margin-left:auto}.reports-custom-range label{display:flex;align-items:center;gap:6px;color:var(--color-text-secondary);font-size:.68rem;font-weight:700;text-transform:uppercase}.reports-custom-range input{min-height:36px;padding:7px 10px;color:var(--color-text-primary);background:#f7f8f4;border:1px solid #e4e9e1;border-radius:999px;outline:none}.reports-custom-range input:focus-visible,.reports-preset-group button:focus-visible,.reports-granularity button:focus-visible,.reports-tabs button:focus-visible,.reports-export-button:focus-visible,.reports-icon-button:focus-visible{outline:3px solid rgba(213,242,130,.62);outline-offset:2px}.reports-tabs-scroll{width:100%}.reports-tabs{display:flex;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid #dbe5dd}.reports-tabs button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:50px;padding:0 17px;color:#4e6458;background:transparent;border:0;font:inherit;font-size:.82rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.reports-tabs button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--color-accent-lime);content:"";opacity:0;transform:scaleX(.45);transition:opacity var(--transition-normal),transform var(--transition-normal)}.reports-tabs button:hover{color:var(--color-dark-green);background:#ffffff6b}.reports-tabs button:disabled{color:#849389;cursor:not-allowed;opacity:.5}.reports-tabs button:disabled:hover{color:#849389;background:transparent}.reports-tabs button.active{color:var(--color-dark-green);font-weight:650}.reports-tabs button.active:after{opacity:1;transform:scaleX(1)}.reports-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:16px}.reports-toolbar-context,.reports-toolbar-actions{display:flex;align-items:center;gap:8px}.reports-toolbar-context{min-width:0}.reports-source-note{display:inline-flex;align-items:center;gap:7px;color:#715381;font-size:.7rem;font-weight:600;line-height:1.35}.reports-source-note i{width:7px;height:7px;flex:0 0 7px;background:var(--reports-purple);border-radius:50%;box-shadow:0 0 0 3px #9333ea17}.reports-export-button,.reports-icon-button,.report-state-card button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;color:var(--color-dark-green);background:#ffffffd1;border:1px solid var(--color-border);border-radius:999px;font:inherit;font-size:.73rem;font-weight:650;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.reports-icon-button{width:36px;padding:0}.reports-export-button:hover:not(:disabled),.reports-icon-button:hover:not(:disabled),.report-state-card button:hover{background:#fff;border-color:#c6d6ca;transform:translateY(-1px)}.reports-export-button:disabled{cursor:not-allowed;opacity:.45}.reports-icon-spin{animation:reports-spin 1s linear infinite}@keyframes reports-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reports-last-updated{font-size:.72rem;font-weight:550;color:var(--color-text-secondary, #64748b);white-space:nowrap}.reports-pending-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#fef3c7;color:#b45309;font-size:.7rem;font-weight:650;white-space:nowrap}.reports-pending-badge i{width:6px;height:6px;flex:0 0 6px;background:#b45309;border-radius:50%}.reports-icon-button--pending{border-color:#f6d38a;background:#fffaf0}.reports-panel,.report-panel-stack{width:100%;min-width:0}.report-panel-stack{display:flex;flex-direction:column;gap:20px}.reports-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.reports-kpi-grid.dense{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-kpi-grid .kpi-card{min-height:136px;padding:22px 24px;border-color:#e0e8e1;border-radius:18px;box-shadow:0 2px 8px #113f2a06}.reports-kpi-grid .kpi-card:hover{box-shadow:0 8px 18px #113f2a0d}.reports-kpi-grid .kpi-card-title{color:#52665b;font-size:.81rem;font-weight:520}.reports-kpi-grid .kpi-icon-wrapper{width:34px;height:34px;background:#f0f4ed;border-radius:10px}.reports-kpi-grid .kpi-card-value{font-size:clamp(1.55rem,2.2vw,1.9rem);letter-spacing:-.045em;overflow-wrap:anywhere}.reports-kpi-grid .kpi-card.static-variant{background:linear-gradient(135deg,rgba(147,51,234,.035),transparent 58%),#fff;border-color:color-mix(in srgb,var(--reports-purple) 20%,#e0e8e1)}.report-grid{display:grid;gap:20px}.report-grid-even{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid-wide{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr)}.report-card{min-width:0;overflow:hidden;background:var(--color-card-bg);border:1px solid #dce6de;border-radius:18px;box-shadow:0 2px 8px #113f2a06}.report-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 0}.report-card-header h3{margin:0;color:var(--color-dark-green);font-size:.94rem;font-weight:680;letter-spacing:-.025em}.report-card-eyebrow{display:block;margin-bottom:3px;color:var(--color-text-secondary);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.report-card-body{min-width:0;padding:20px 22px 22px}.report-table-card .report-card-body{padding:14px 0 0}.report-table-card .report-card-body>div{border:0!important;border-top:1px solid var(--color-border)!important;border-radius:0!important;box-shadow:none!important}.report-table-card table th{padding:12px 18px!important;color:#718077!important;background:#fafbf8;font-size:.67rem!important;font-weight:700!important}.report-table-card table td{padding:14px 18px!important;color:#243a2e!important;font-size:.78rem}.report-table-card table tbody tr:last-child{border-bottom:0!important}.report-table-primary{display:flex;flex-direction:column;gap:3px;min-width:120px}.report-table-primary strong{color:var(--color-dark-green);font-size:.8rem}.report-table-primary span{color:var(--color-text-secondary);font-size:.69rem}.report-score,.report-risk,.report-status{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;color:#11643f;background:#eaf8ef;border-radius:999px;font-size:.69rem;font-weight:700;white-space:nowrap}.report-score.low,.report-risk.at_risk,.report-status.pending{color:#a34c20;background:#fff2e8}.report-risk.medium_risk{color:#776217;background:#fbf6d9}.report-status.active,.report-status.paid{color:#11643f;background:#eaf8ef}.report-status.completed{color:#51635a;background:#eef2ee}.report-bar-chart{position:relative;display:flex;align-items:stretch;gap:12px;min-height:246px;padding:28px 6px 30px;border-bottom:1px solid #edf1ec;overflow-x:auto}.report-bar-column{display:grid;grid-template-rows:18px 1fr 28px;flex:1;min-width:28px;gap:6px;text-align:center}.report-bar-value{color:#60736a;font-size:.63rem;font-weight:650;white-space:nowrap}.report-bar-track{display:flex;align-items:flex-end;justify-content:center;gap:3px;min-height:150px;padding:0 4px;background-image:linear-gradient(to top,transparent calc(25% - 1px),#edf1ec 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),#edf1ec 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),#edf1ec 75%,transparent calc(75% + 1px))}.report-bar{width:min(18px,42%);min-height:3px;border-radius:6px 6px 2px 2px;transition:height .35s ease}.report-bar-label{overflow:hidden;color:#6b7d73;font-size:.64rem;line-height:1.15;text-overflow:ellipsis}.report-chart-legend{position:absolute;right:4px;bottom:-26px;display:flex;align-items:center;gap:12px;color:var(--color-text-secondary);font-size:.66rem}.report-chart-legend span{display:inline-flex;align-items:center;gap:5px}.report-chart-legend i{width:8px;height:8px;border-radius:2px}.report-line-chart{min-height:240px}.report-revenue-trend-chart{height:260px;min-height:260px;width:100%}.report-line-chart svg{display:block;width:100%;min-height:205px;overflow:visible}.report-chart-gridline{stroke:#e9eeea;stroke-width:1;stroke-dasharray:4 5}.report-chart-axis{display:grid;gap:4px;margin:-5px 23px 0;color:#697a70;font-size:.65rem;text-align:center}.report-chart-axis span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-progress-list{display:flex;flex-direction:column;gap:17px;min-height:210px}.report-progress-row{display:grid;gap:7px}.report-progress-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#3d5548;font-size:.78rem}.report-progress-copy strong{color:var(--color-dark-green);font-size:.75rem}.report-progress-track{height:7px;overflow:hidden;background:#edf2ed;border-radius:999px}.report-progress-track span{display:block;height:100%;border-radius:inherit;transition:width .35s ease}.report-progress-row small{margin-top:-3px;color:#7a8a81;font-size:.64rem}.report-donut-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px;min-height:230px}.report-donut{display:grid;place-items:center;width:min(180px,100%);aspect-ratio:1;margin:auto;border-radius:50%}.report-donut>div{display:flex;align-items:center;justify-content:center;flex-direction:column;width:65%;aspect-ratio:1;color:var(--color-dark-green);background:#fff;border-radius:50%;box-shadow:0 0 0 1px #113f2a08}.report-donut strong{font-size:1.35rem;letter-spacing:-.04em}.report-donut span{color:var(--color-text-secondary);font-size:.62rem}.report-donut-legend{display:flex;flex:1 1 145px;flex-direction:column;min-width:0;gap:13px}.report-donut-legend>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#4d6156;font-size:.72rem}.report-donut-legend span{display:inline-flex;align-items:center;gap:7px}.report-donut-legend i{width:9px;height:9px;border-radius:3px}.report-donut-legend strong{color:var(--color-dark-green)}.report-static-chart .report-bar-value,.report-static-chart .report-progress-row small{color:#7d608a}.report-heatmap-scroll{width:100%;overflow-x:auto}.report-heatmap{display:grid;align-items:center;gap:6px;min-width:620px}.report-heatmap>strong{overflow:hidden;color:#6f8077;font-size:.63rem;font-weight:650;text-align:center;text-overflow:ellipsis;white-space:nowrap}.report-heatmap>span:not(:first-child){display:grid;place-items:center;min-height:38px;color:#fff;border-radius:8px;font-size:.65rem;font-weight:700}.report-state-card,.report-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:300px;padding:30px;color:var(--color-text-secondary);text-align:center;background:#ffffffd1;border:1px solid var(--color-border);border-radius:18px}.report-state-card strong,.report-empty strong{color:var(--color-dark-green);font-size:.95rem}.report-state-card span,.report-empty span{max-width:420px;font-size:.76rem;line-height:1.5}.report-state-card button{margin-top:6px}.report-empty.compact{min-height:210px;padding:20px;background:transparent;border:0}.report-skeleton{display:flex;flex-direction:column;gap:20px}.report-skeleton-grid,.report-skeleton-panels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.report-skeleton-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.report-skeleton span{display:block;min-height:136px;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.72) 45%,transparent 70%),#e8eee8;background-size:220% 100%;border-radius:18px;animation:reports-shimmer 1.2s ease-in-out infinite}.report-skeleton-panels span{min-height:330px}@keyframes reports-shimmer{to{background-position-x:-220%}}@media (max-width: 1260px){.reports-custom-range{width:100%;margin-left:0}.reports-kpi-grid,.reports-kpi-grid.dense{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1000px){.report-grid-wide,.report-grid-even,.report-skeleton-panels{grid-template-columns:1fr}}@media (max-width: 900px){.reports-page,.dashboard-layout.collapsed .reports-page{max-width:calc(100vw - 120px)}}@media (max-width: 720px){.reports-page,.dashboard-layout.collapsed .reports-page{max-width:calc(100vw - 120px)}.reports-page-header{margin-bottom:18px}.reports-filter-card{align-items:stretch;padding:12px}.reports-filter-label,.reports-preset-group{width:100%}.reports-preset-group button{flex:1;padding:0 8px}.reports-filter-card .dd-trigger[data-variant=filter]{width:100%}.reports-custom-range{align-items:stretch;flex-direction:column}.reports-custom-range label,.reports-custom-range input{width:100%}.reports-toolbar{align-items:flex-start;flex-direction:column;padding:12px 0 16px}.reports-toolbar-context,.reports-toolbar-actions{width:100%}.reports-toolbar-actions{justify-content:flex-end}.reports-source-note{max-width:280px}.reports-kpi-grid,.reports-kpi-grid.dense,.report-skeleton-grid{grid-template-columns:1fr}.reports-kpi-grid .kpi-card{min-height:126px}.report-card-header{padding:18px 18px 0}.report-card-body{padding:18px}.report-bar-chart{gap:5px}.report-bar-value{visibility:hidden}}@media (prefers-reduced-motion: reduce){.report-bar,.report-progress-track span,.reports-tabs button:after,.report-skeleton span{animation:none;transition:none}}.tr-app,.tr-boot{--tr-bg: #f8f6f0;--tr-ink: #12231b;--tr-muted: #5f7067;--tr-card: #ffffff;--tr-line: #ebe7dd;--tr-brand: var(--color-hunter-green);--tr-brand-deep: #0f3a26;--tr-tea: #c6e8ad;--tr-tea-ink: #1d4a2f;--tr-lavender: #ede6fa;--tr-lavender-ink: #5b3f8c;--tr-danger: #b91c1c;--tr-radius: 22px;--tr-shadow: 0 6px 20px rgba(32, 46, 30, .07);min-height:100dvh;background:var(--tr-bg);color:var(--tr-ink);font-family:var(--font-main)}.tr-boot{display:grid;place-items:center;font-weight:700;color:var(--tr-brand)}.tr-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;max-width:520px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 12px) 16px 10px;background:color-mix(in srgb,var(--tr-bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tr-logo{display:block;height:50px;aspect-ratio:1055 / 545;overflow:hidden}.tr-logo img{display:block;width:145.5%;max-width:none;margin:-23.41% 0 0 -22.27%}.tr-main{max-width:520px;margin:0 auto;padding:4px 16px calc(env(safe-area-inset-bottom) + 104px)}.tr-tabbar{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);max-width:520px;margin:0 auto;padding:8px 8px calc(env(safe-area-inset-bottom) + 8px);background:color-mix(in srgb,var(--tr-bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--tr-line)}.tr-tab{display:grid;justify-items:center;gap:4px;min-height:52px;font-size:.72rem;font-weight:700;color:var(--tr-muted);text-decoration:none}.tr-tab__icon{display:grid;place-items:center;width:52px;height:30px;border-radius:999px}.tr-tab.is-active{color:var(--tr-ink)}.tr-tab.is-active .tr-tab__icon{background:var(--tr-brand-deep);color:#fff}.tr-tab--scan .tr-tab__icon{width:60px;height:60px;margin-top:-28px;background:var(--tr-tea);color:var(--tr-brand-deep);border:4px solid var(--tr-bg);box-shadow:0 8px 20px #184d3840}.tr-tab--scan.is-active .tr-tab__icon{background:var(--tr-brand-deep);color:var(--tr-tea)}.tr-stack{display:grid;gap:16px}.tr-muted{color:var(--tr-muted);font-size:.86rem}.tr-eyebrow{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tr-muted)}.tr-section-head{margin:4px 0 10px}.tr-row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.tr-empty{margin:0;padding:18px;text-align:center;color:var(--tr-muted);background:var(--tr-card);border:1px dashed var(--tr-line);border-radius:18px}.tr-head{display:flex;align-items:center;gap:12px;padding-top:6px}.tr-head__text{flex:1;min-width:0}.tr-head h1{margin:0;font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.tr-head p{margin:2px 0 0;color:var(--tr-muted);font-size:.88rem}.tr-greeting h1{margin:0;font-size:2.1rem;font-weight:800;letter-spacing:-.03em;color:var(--tr-brand-deep)}.tr-greeting p{margin:4px 0 0}.tr-card{display:grid;gap:8px;padding:18px;background:var(--tr-card);border-radius:var(--tr-radius);box-shadow:var(--tr-shadow)}.tr-card--lavender{background:var(--tr-lavender);box-shadow:none}.tr-card--lavender .tr-eyebrow{color:var(--tr-lavender-ink)}.tr-card--brand{background:var(--tr-brand-deep);color:#fff}.tr-card__title{font-size:1.15rem;font-weight:800}.tr-card__heading{margin:0;font-size:1.1rem;font-weight:800}.tr-pill{padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#ffffffbf;color:var(--tr-muted)}.tr-pill--ok,.tr-pill--approved{background:#dcf5d0;color:var(--tr-tea-ink)}.tr-pill--pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.tr-pill--rejected{background:#fde8e8;color:var(--tr-danger)}.tr-pill--lavender{background:var(--tr-lavender);color:var(--tr-lavender-ink)}.tr-badge{display:inline-block;margin-right:6px;padding:3px 9px;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#dcf1cf;color:var(--tr-tea-ink)}.tr-badge--live{background:#d1fae5;color:#047857}.tr-badge--danger{background:#fde8e8;color:var(--tr-danger)}.tr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 12px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:.88rem;font-weight:800;white-space:nowrap;cursor:pointer}.tr-btn:disabled{opacity:.5;cursor:not-allowed}.tr-btn--block{width:100%}.tr-btn--dark{background:var(--tr-brand-deep);color:#fff}.tr-btn--outline{background:var(--tr-card);border-color:var(--tr-line);color:var(--tr-ink)}.tr-btn--light{background:#fff;color:var(--tr-brand-deep)}.tr-btn--tea{background:var(--tr-tea);color:var(--tr-brand-deep)}.tr-btn--danger{background:var(--tr-card);border-color:#f3caca;color:var(--tr-danger)}.tr-btn-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.tr-icon-btn{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:999px;border:1px solid var(--tr-line);background:var(--tr-card);color:var(--tr-ink);cursor:pointer}.tr-avatar{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:999px;background:var(--tr-brand-deep);color:#fff;font-size:.85rem;font-weight:800;text-decoration:none}.tr-avatar--soft{background:var(--tr-lavender);color:var(--tr-lavender-ink)}.tr-avatar--onbrand{width:52px;height:52px;border-radius:16px;background:#ffffff24}.tr-avatar--lg{width:60px;height:60px;font-size:1.1rem}.tr-location{position:relative;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--tr-card);border:1px solid var(--tr-line);border-radius:999px}.tr-location select{flex:1;min-height:48px;border:0;background:transparent;font:inherit;font-weight:700;color:var(--tr-ink)}.tr-chip-dark,.tr-chip-tea{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tr-chip-dark{background:#ffffff1f;color:#fff}.tr-chip-tea{background:var(--tr-tea);color:var(--tr-brand-deep);text-transform:none;letter-spacing:0}.tr-nextup__time,.tr-nextup__where{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:#ffffffd1}.tr-nextup__time{margin-top:8px}.tr-nextup__name{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.tr-card--brand .tr-btn-row{margin-top:8px}.tr-list{display:grid;gap:10px}.tr-session{display:flex;gap:14px;width:100%;padding:14px 16px;text-align:left;font:inherit;color:inherit;background:var(--tr-card);border:1px solid var(--tr-line);border-radius:18px;cursor:pointer}.tr-session.is-cancelled{opacity:.6}.tr-session__time{display:grid;align-content:start;gap:2px;min-width:76px;padding-right:12px;border-right:1px solid var(--tr-line);font-size:.95rem;white-space:nowrap}.tr-session__time span{font-size:.75rem;color:var(--tr-muted)}.tr-session__body{display:grid;gap:4px;min-width:0}.tr-session__body strong{font-size:1.02rem}.tr-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}.tr-actions button{display:grid;justify-items:center;gap:8px;padding:16px 8px;font:inherit;font-size:.8rem;font-weight:800;color:var(--tr-ink);background:var(--tr-card);border:1px solid var(--tr-line);border-radius:18px;cursor:pointer}.tr-actions svg{color:var(--tr-brand)}.tr-week-nav{display:flex;align-items:center;justify-content:space-between}.tr-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.tr-day{position:relative;display:grid;justify-items:center;gap:2px;padding:10px 0;font:inherit;font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--tr-muted);background:var(--tr-card);border:1px solid var(--tr-line);border-radius:14px;cursor:pointer}.tr-day strong{font-size:1rem;color:var(--tr-ink)}.tr-day.is-today{border-color:var(--tr-brand)}.tr-day.is-selected{background:var(--tr-brand-deep);border-color:var(--tr-brand-deep);color:#ffffffbf}.tr-day.is-selected strong{color:#fff}.tr-day i{position:absolute;bottom:4px;width:5px;height:5px;border-radius:999px;background:var(--tr-brand)}.tr-day.is-selected i{background:var(--tr-tea)}.tr-day-title{margin:0}.tr-class-name{margin:8px 0 0;font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.tr-occupancy{display:grid;justify-items:end;font-size:1.6rem}.tr-occupancy span{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tr-muted)}.tr-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 0}.tr-facts--stacked{grid-template-columns:1fr}.tr-facts dt{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tr-muted)}.tr-facts dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}.tr-plan{padding:14px 16px;background:#f4f1e8;border-radius:16px}.tr-members,.tr-leave{display:grid;gap:8px;margin:0;padding:0;list-style:none}.tr-members li{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--tr-card);border:1px solid var(--tr-line);border-radius:16px}.tr-members strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-status{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--tr-line);background:var(--tr-bg);font:inherit;font-size:.78rem;font-weight:800;color:var(--tr-muted);white-space:nowrap}button.tr-status{cursor:pointer}.tr-status.is-on{background:#dcf5d0;border-color:#bfe6a8;color:var(--tr-tea-ink)}.tr-profile-card{display:flex;align-items:center;gap:14px}.tr-profile-card>span:last-child{display:grid;gap:2px}.tr-profile-card>span:last-child span{font-size:.86rem;color:#ffffffbf}.tr-profile-head{display:flex;align-items:center;gap:14px}.tr-profile-head>span:last-child{display:grid;gap:2px}.tr-menu{display:grid;background:var(--tr-card);border-radius:var(--tr-radius);box-shadow:var(--tr-shadow);overflow:hidden}.tr-menu__item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;font:inherit;text-align:left;color:var(--tr-ink);background:none;border:0;border-bottom:1px solid var(--tr-line);cursor:pointer}.tr-menu__item:last-child{border-bottom:0}.tr-menu__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--tr-bg);color:var(--tr-brand)}.tr-menu__text{display:grid;flex:1;gap:2px}.tr-leave li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--tr-card);border:1px solid var(--tr-line);border-radius:16px}.tr-leave li>span:first-child{display:grid;gap:2px}.tr-balance{display:flex;align-items:baseline;justify-content:space-between}.tr-balance strong{font-size:1.5rem}.tr-main video{border-radius:var(--tr-radius)}.tr-topbar__actions{display:flex;align-items:center;gap:8px}.tr-segment{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#efebe1;border-radius:999px}.tr-segment button{min-height:40px;border:0;border-radius:999px;background:transparent;font:inherit;font-weight:800;color:var(--tr-muted);cursor:pointer}.tr-segment button.is-active{background:var(--tr-card);color:var(--tr-ink);box-shadow:var(--tr-shadow)}.tr-soon{flex:none;padding:3px 9px;border-radius:999px;font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.tr-preview-note{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;font-size:.86rem;line-height:1.4;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:16px}.tr-preview-note svg{flex:none;margin-top:2px}.tr-card.tr-preview,.tr-stats.tr-preview>div,.tr-leave.tr-preview li{border:1px dashed #d9d3c4;box-shadow:none}.tr-empty--icon{display:grid;justify-items:center;gap:8px;padding:32px 18px}.tr-avail{display:grid;margin:4px 0 8px;padding:0;list-style:none}.tr-avail li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--tr-line)}.tr-avail li:last-child{border-bottom:0}.tr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tr-stats>div{display:grid;gap:2px;padding:14px 12px;background:var(--tr-card);border-radius:16px}.tr-stats strong{font-size:1.3rem}.tr-stats span{font-size:.72rem;font-weight:700;color:var(--tr-muted)}.tr-switch-row{display:flex;align-items:center;gap:10px}.tr-switch-row>span:first-child{display:grid;flex:1;gap:2px}.tr-switch-row input{width:22px;height:22px}.tr-icon-btn:disabled{opacity:.4;cursor:not-allowed}.tr-switch-row input:disabled{opacity:.45;cursor:not-allowed}
