:root{color-scheme:dark;font-family:var(--font-body);line-height:1.5;color:var(--color-fg);background:var(--color-bg);--color-fg: #F8FAFC;--color-bg: #0B1220;--color-surface: #1E293B;--color-surface-elevated: #334155;--color-muted: #94A3B8;--color-border: #334155;--color-border-subtle: #1E293B;--color-danger: #DC2626;--color-danger-bg: #450A0A;--color-success: #10B981;--color-primary: #0EA5E9;--color-primary-contrast: #FFFFFF;--color-secondary: #10B981;--color-accent: #F59E0B;--color-focus: #0EA5E9;--font-display: "Poppins", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius-control: .5rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem}html[data-theme=light]{color-scheme:light;--color-fg: #0F172A;--color-bg: #F8FAFC;--color-muted: #64748B;--color-border: #E2E8F0;--color-border-subtle: #F1F5F9;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-danger-bg: #FEE2E2}body{margin:0;min-height:100vh;font-family:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.skip-to-content{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content:focus,.skip-to-content:focus-visible{position:fixed;top:.5rem;left:.5rem;z-index:100;width:auto;height:auto;margin:0;padding:.5rem .85rem;overflow:visible;clip:auto;white-space:normal;background:var(--color-surface-elevated);color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-control);text-decoration:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app{--app-max-width-ops: 56rem;max-width:40rem;margin:0 auto;padding:2rem 1.5rem 3rem}.app.app--ops-wide{max-width:var(--app-max-width-ops)}.shell-header{margin-bottom:1.5rem}.brand-lockup{display:flex;align-items:center;gap:.65rem;margin:0 0 .75rem}.brand-mark{display:block;width:2rem;height:2rem;object-fit:contain}.brand-name{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-fg)}h1{margin:0 0 .5rem;font-size:1.75rem;font-family:var(--font-display)}p{margin:.5rem 0}.muted{color:var(--color-muted);font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.auth-form input{width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit;font-size:1rem}.auth-form button,.home-summary button{padding:.6rem 1rem;border:none;border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-primary-contrast);font:inherit;cursor:pointer}.auth-form button:disabled,.home-summary button:disabled{opacity:.6;cursor:not-allowed}.password-toggle{align-self:flex-start;padding:0;border:none;background:none;color:var(--color-muted);font-size:.8rem;text-decoration:underline;cursor:pointer}.error{color:var(--color-danger);font-size:.9rem}.success{color:var(--color-success);font-size:.9rem}.shell-nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:1.5rem;font-size:.9rem}.shell-nav a{color:var(--color-fg)}.membership-list{margin:.75rem 0;padding-left:1.25rem}.home-summary{display:flex;flex-direction:column;gap:.75rem}.platform-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(900px 620px at 82% 8%,color-mix(in srgb,var(--color-primary) 28%,transparent),transparent 62%),radial-gradient(820px 580px at 8% 92%,color-mix(in srgb,var(--color-secondary) 20%,transparent),transparent 64%),radial-gradient(420px 280px at 46% 28%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 70%)}.platform-atmosphere--quiet{background:radial-gradient(640px 420px at 100% -10%,color-mix(in srgb,var(--color-primary) 16%,transparent),transparent 58%),radial-gradient(560px 380px at -8% 110%,color-mix(in srgb,var(--color-secondary) 10%,transparent),transparent 60%)}.platform-atmosphere-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.atmosphere-slot{fill:color-mix(in srgb,var(--color-primary) 4%,transparent);stroke:color-mix(in srgb,var(--color-fg) 14%,transparent);stroke-width:1.15}.atmosphere-slot.is-open{fill:color-mix(in srgb,var(--color-primary) 10%,transparent);stroke:color-mix(in srgb,var(--color-primary) 55%,transparent)}.atmosphere-slot.is-live{fill:color-mix(in srgb,var(--color-accent) 10%,transparent);stroke:color-mix(in srgb,var(--color-accent) 70%,transparent)}.atmosphere-dot{fill:var(--color-primary)}.atmosphere-dot--breeze{fill:var(--color-secondary)}.atmosphere-dot--live{fill:var(--color-accent)}.atmosphere-ring{fill:none;stroke:color-mix(in srgb,var(--color-primary) 55%,transparent);stroke-width:1.25}.atmosphere-ring--soft{stroke:color-mix(in srgb,var(--color-fg) 14%,transparent)}.atmosphere-tick{stroke:color-mix(in srgb,var(--color-primary) 55%,transparent);stroke-width:1.35;stroke-linecap:round}.atmosphere-tick--minute{stroke-width:.9;opacity:.55}.atmosphere-hand{stroke:var(--color-primary);stroke-width:1.8;stroke-linecap:round}.atmosphere-hand--hour{stroke:color-mix(in srgb,var(--color-fg) 72%,transparent);stroke-width:2.6}.atmosphere-hand--minute{stroke:var(--color-primary);stroke-width:1.7}.atmosphere-hand--second{stroke:var(--color-accent);stroke-width:1.15;filter:url(#atmosphere-glow)}.atmosphere-sweep{fill:none;stroke:color-mix(in srgb,var(--color-accent) 58%,transparent);stroke-width:1.45;stroke-linecap:round}.atmosphere-tz{fill:var(--color-muted);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.16em}.atmosphere-graph{fill:none;stroke:color-mix(in srgb,var(--color-primary) 55%,transparent);stroke-width:1.15}.atmosphere-hair{fill:none;stroke:color-mix(in srgb,var(--color-fg) 14%,transparent);stroke-width:.9}.atmosphere-ribbon{fill:none;stroke:color-mix(in srgb,var(--color-secondary) 78%,transparent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:url(#atmosphere-glow)}.atmosphere-ribbon--thin{stroke-width:1.5;opacity:.85}.atmosphere-ribbon--sky{stroke:color-mix(in srgb,var(--color-primary) 70%,transparent);stroke-width:1.7}.platform-atmosphere--quiet .atmosphere-slots,.platform-atmosphere--quiet .atmosphere-graph{opacity:.12}.platform-atmosphere--quiet .atmosphere-engine{transform:translate(-80px,-40px) scale(.62);opacity:.4}.platform-atmosphere--quiet .atmosphere-ribbon{opacity:.35}@keyframes atmosphere-drift{0%{transform:translate(0)}to{transform:translate(18px)}}@keyframes atmosphere-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes atmosphere-clock-oscillate{0%,to{transform:rotate(-20deg)}50%{transform:rotate(0)}}.atmosphere-breeze{animation:atmosphere-drift 14s ease-in-out infinite alternate}.atmosphere-dot.is-open{animation:atmosphere-pulse 4.8s ease-in-out infinite}.atmosphere-engine{transform-origin:318px 458px;animation:atmosphere-clock-oscillate 45s ease-in-out infinite}.app.app--auth{position:relative;overflow:hidden;box-sizing:border-box;max-width:none;min-height:100vh;margin:0;padding:0}.auth-stage{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,26.5rem);align-items:center;gap:3rem;box-sizing:border-box;min-height:100vh;padding:3.2rem 5vw 3.5rem 6vw}.auth-story{max-width:28rem;padding-top:4rem}.auth-story .brand-lockup{margin-bottom:1.4rem}.auth-tagline{margin:0 0 .7rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.1rem);font-weight:700;letter-spacing:-.035em;line-height:1.05}.auth-story .muted{margin:0;max-width:22rem;font-size:1rem;line-height:1.55}.auth-panel{width:100%;padding:1.7rem 1.55rem 1.4rem;border:1px solid var(--color-border);border-radius:.9rem;background:color-mix(in srgb,var(--color-surface) 86%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 10%,transparent),0 28px 70px color-mix(in srgb,var(--color-bg) 55%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-panel .shell-header{margin-bottom:1rem}.auth-panel h1{font-size:1.55rem;letter-spacing:-.02em}.signed-in-app{position:relative;overflow-x:hidden}.signed-in-app>.app-header,.signed-in-app>.dashboard-app,.signed-in-app>.app{position:relative;z-index:1}@media(max-width:960px){.auth-stage{grid-template-columns:1fr;align-content:start;gap:1.5rem;padding:1.75rem max(1.25rem,env(safe-area-inset-right)) 2.5rem max(1.25rem,env(safe-area-inset-left))}.auth-story{padding-top:0;max-width:22rem}.auth-tagline{font-size:clamp(1.85rem,9vw,2.4rem)}.auth-panel{max-width:26.5rem}.app.app--auth .atmosphere-engine{transform:translate(-60px,-210px) scale(.72);transform-origin:318px 458px}.app.app--auth .atmosphere-slots{opacity:.42;transform:translate(-40px,460px) scale(.92)}.app.app--auth .atmosphere-graph{opacity:.2}}@media(max-width:560px){.auth-stage{min-height:calc(100dvh - 1rem);padding-top:1.15rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.auth-story .brand-lockup{margin-bottom:.75rem}.auth-panel{padding:1.25rem 1.1rem 1.1rem}.auth-panel h1{font-size:1.3rem}}.shell-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.shell-legal-nav{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.shell-legal-nav a{color:var(--color-muted);text-decoration:none}.shell-legal-nav a:hover{color:var(--color-fg)}.signed-in-app{min-height:100vh}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:72rem;margin:0 auto;padding:.75rem 1.25rem}.app-header-home{display:flex;align-items:center;gap:.65rem;min-width:0;color:inherit;text-decoration:none}.app-header-sep{color:var(--color-muted)}.app-header-context{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:1rem;font-weight:600}.app-header-end{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.app-header-links{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.app-header-links a{color:var(--color-muted);text-decoration:none}.app-header-links a:hover,.app-header-links a:focus-visible{color:var(--color-fg)}.booking-app{max-width:42rem;font-family:var(--brand-font-family, var(--font-body))}.booking-logo{display:block;max-height:2.5rem;width:auto;margin-bottom:.75rem}.booking-header{margin-bottom:1.25rem}.booking-tenant{margin:0;font-size:1.85rem;color:var(--color-fg)}.booking-subtitle{margin-top:.35rem}.booking-app--embed .booking-subtitle{display:none}.booking-app--embed .booking-tenant{font-size:1.25rem}.booking-app--embed .booking-header{margin-bottom:.75rem}.booking-progress{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 1.5rem;padding:0;list-style:none}.booking-progress-step{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-muted)}.booking-progress-step.is-active{color:var(--brand-primary, var(--color-fg));font-weight:600}.booking-progress-step.is-complete{color:var(--color-fg)}.booking-progress-back{margin:0;padding:0;border:none;background:none;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.booking-progress-density{margin:0 0 .5rem;font-size:.85rem}.booking-progress-index{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;border:1px solid currentColor;font-size:.75rem}.booking-content h2{margin:0 0 .75rem;font-size:1.25rem}.booking-step{display:flex;flex-direction:column;gap:.85rem}.booking-card-list,.booking-slot-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}.booking-card,.booking-slot{width:100%;text-align:left;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.25rem}.booking-card:hover,.booking-slot:hover{border-color:var(--brand-secondary, var(--color-muted))}.booking-card:disabled,.booking-slot:disabled{opacity:.6;cursor:not-allowed}.booking-card-title{font-weight:600}.booking-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.booking-field input,.booking-field select{padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit}.booking-week-nav{display:grid;grid-template-columns:auto 1fr auto;gap:.35rem;align-items:center;margin-bottom:.15rem}.booking-week-shift{width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit;cursor:pointer}.booking-week-shift:disabled{opacity:.5;cursor:not-allowed}.booking-week-strip{display:flex;gap:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.15rem}.booking-week-day{flex:1 0 3.25rem;min-height:3.25rem;padding:.45rem .35rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit;font-size:.8rem;cursor:pointer}.booking-week-day.has-openings{border-color:var(--brand-primary, var(--color-primary));font-weight:600}.booking-week-day.is-empty{opacity:.55}.booking-week-day.is-selected{box-shadow:0 0 0 2px var(--brand-primary, var(--color-primary))}.booking-trust-block{display:flex;flex-direction:column;gap:.3rem;padding:.75rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.booking-trust-block p{margin:0}.booking-hold-remaining{font-weight:600}.booking-hold-banner{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;border-radius:var(--radius-control);border:1px solid var(--color-border);background:var(--color-surface);font-size:.85rem}.booking-alert{padding:.65rem .75rem;border-radius:var(--radius-control);background:var(--color-danger-bg, #fee2e2);color:var(--color-danger, #dc2626);font-size:.9rem}.booking-pay-summary{margin:0 0 1rem}.booking-pay-summary dt{color:var(--color-muted);font-size:.8rem;margin-top:.55rem}.booking-pay-summary dd{margin:0;font-weight:600}.booking-app--embed .booking-trust-block{font-size:.9rem;padding:.5rem .65rem;flex:0 0 auto}.booking-actions{display:flex;flex-wrap:wrap;gap:.65rem}.booking-app .booking-actions button[type=submit]{padding:.6rem 1rem;border:1px solid var(--brand-primary, var(--color-primary));border-radius:var(--radius-control);background:var(--brand-primary, var(--color-primary));color:var(--color-primary-contrast);font:inherit;cursor:pointer}.booking-app .booking-actions button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.booking-secondary{padding:.6rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit;cursor:pointer}.booking-secondary:hover,.booking-secondary:focus-visible{border-color:var(--brand-secondary, var(--color-muted))}.booking-secondary:disabled{opacity:.6;cursor:not-allowed}.booking-footer{margin-top:2rem;font-size:.8rem;text-align:center}.booking-footer a{color:inherit;text-decoration:none}.booking-footer a:hover{text-decoration:underline}.booking-legal-separator{display:inline}.site-page{max-width:42rem;font-family:var(--brand-font-family, var(--font-body))}.site-header{margin-bottom:1.25rem}.site-header h1{margin:0;font-size:1.85rem;color:var(--color-fg)}.site-about,.site-services{margin-bottom:1.5rem}.site-service-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}.site-service-list li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:.85rem 1rem;display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.site-service-list p{margin:0;color:var(--color-muted);font-size:.9rem}.site-page .button-link{display:inline-block;padding:.6rem 1rem;border-radius:var(--radius-control);background:var(--brand-primary, var(--color-primary));color:var(--color-primary-contrast);text-decoration:none;font:inherit;border:1px solid var(--brand-primary, var(--color-primary))}.skeleton{display:block;height:.85rem;margin-bottom:.5rem;border-radius:var(--radius-control);background:color-mix(in srgb,var(--color-muted) 22%,var(--color-border));animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-title{height:1.5rem;width:70%}.skeleton-line{width:100%}.skeleton-line--w-80{width:80%}.skeleton-line--w-55{width:55%}.skeleton-row{height:3rem;width:100%;margin-bottom:.65rem;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-muted) 12%,var(--color-surface))}.skeleton-cta{height:2.4rem;width:12rem;margin-top:.75rem}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.surface-label{margin:0 0 .25rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.account-menu{position:relative}.account-menu-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .35rem .25rem .25rem;border:none;border-radius:var(--radius-control);background:transparent;color:var(--color-fg);font:inherit;cursor:pointer}.account-menu-trigger:hover,.account-menu-trigger:focus-visible{background:var(--color-border-subtle)}.account-menu-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-primary);color:var(--color-primary-contrast);font-size:.7rem;font-weight:600;letter-spacing:.02em}.account-menu-trigger-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.account-menu-chevron{display:inline-flex;color:var(--color-muted);line-height:1;transition:transform .15s ease}.account-menu-trigger[aria-expanded=true] .account-menu-chevron{transform:rotate(180deg)}@media(max-width:640px){.account-menu-trigger-name{display:none}}.account-menu-panel{position:absolute;top:calc(100% + .35rem);right:0;z-index:100;min-width:14rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-elevated);box-shadow:0 .35rem 1rem #00000014}.account-menu-identity{display:flex;flex-direction:column;gap:.15rem;margin:0 0 .5rem}.account-menu-note{margin:0 0 .5rem}.account-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .35rem;border:none;border-radius:.25rem;background:transparent;color:var(--color-fg);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.account-menu-item:hover,.account-menu-item:focus-visible{background:var(--color-border-subtle)}.account-menu-item-disabled{opacity:.55;cursor:not-allowed}.account-menu-separator{margin:.5rem 0;border-top:1px solid color-mix(in srgb,var(--color-fg) 20%,transparent)}.ops-console{padding-left:1rem}.ops-console--admin{border-left:4px solid var(--color-accent)}.ops-console--admin section{margin-bottom:1.25rem}.ops-console--admin ul{margin:.35rem 0}.ops-console--webmaster{border-left:4px solid var(--color-secondary)}.ops-console--webmaster section{margin-bottom:1.75rem}.impersonation-banner,.staff-access-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;padding:.75rem 1rem;border-radius:var(--radius-control)}.impersonation-banner{border:1px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 18%,var(--color-bg))}.staff-access-banner{border:1px solid var(--color-border);background:var(--color-border-subtle)}.impersonation-banner p,.staff-access-banner p{margin:0}.ops-table-wrap{overflow-x:auto}.ops-table-wrap table{width:100%;border-collapse:collapse;font-size:.9rem}.ops-table-wrap th,.ops-table-wrap td{padding:.55rem .65rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border)}.ops-table-wrap th{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.ops-table-wrap th:last-child,.ops-table-wrap td:last-child{width:1%;white-space:nowrap;text-align:right}.ops-tenant-name{font-weight:600}.ops-tenant-slug{margin:.15rem 0 0}.status-chip{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-chip--active{background:color-mix(in srgb,var(--color-success) 18%,var(--color-bg));color:var(--color-success)}.status-chip--suspended{background:var(--color-danger-bg);color:var(--color-danger)}.ops-health-summary{margin:0 0 .75rem}.ops-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ops-health-tile{padding:.75rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.ops-health-tile__label{margin:0 0 .35rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.ops-health-tile__value{margin:0;font-size:1.15rem;font-weight:600}.ops-health-tile--ok .ops-health-tile__value{color:var(--color-success)}.ops-health-tile--degraded .ops-health-tile__value{color:var(--color-danger)}.gate-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.totp-qr{display:inline-block;margin:.5rem 0;padding:.65rem;background:var(--color-surface);border-radius:var(--radius-control)}.totp-qr svg{display:block;width:10rem;height:10rem;background:var(--color-surface)}.ops-key-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.ops-copy-once{margin:.75rem 0;padding:.75rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.ops-copy-once p{margin:.35rem 0}.ops-key-prefix{font-size:.85rem}.dashboard-app{max-width:72rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}.dashboard-logout,.calendar-toolbar button,.button-row button,.form-stack button,.form-inline button,.data-row button{padding:.5rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit;cursor:pointer}.dashboard-logout{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.dashboard-nav{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-subtle)}.dashboard-nav a{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:var(--radius-control);color:var(--color-muted);text-decoration:none;font-size:.9rem}.dashboard-nav a.is-active{background:var(--color-primary);color:var(--color-primary-contrast)}.dashboard-link{display:inline-block;margin:.5rem 0;color:var(--color-fg)}.calendar-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.calendar-toolbar-group{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.calendar-toolbar button.is-active{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.calendar-date,.calendar-filter,.form-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.calendar-filter{margin-bottom:1rem}.form-stack{display:flex;flex-direction:column;gap:.85rem;max-width:28rem;margin-bottom:1.5rem}.form-inline{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-bottom:1rem}.form-field input,.form-field select,.form-field textarea,.calendar-date input,.calendar-filter select{padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit}.form-field.checkbox{flex-direction:row;align-items:center}.checkbox-group{display:flex;flex-direction:column;gap:.35rem}.form-stack button[type=submit],.button-row button,.data-row button{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.form-stack button.danger,button.danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-primary-contrast)}.error-banner{padding:.75rem 1rem;border-radius:.35rem;background:var(--color-danger-bg);color:var(--color-danger);margin:.75rem 0}.warning-panel{padding:.85rem 1rem;border:1px solid var(--color-accent);border-radius:.35rem;background:color-mix(in srgb,var(--color-accent) 12%,var(--color-bg));margin:1rem 0}.data-list,.appointment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.data-row,.appointment-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.75rem 1rem;border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-surface);text-decoration:none;color:inherit}.appointment-row:hover,.calendar-event:hover{border-color:var(--color-muted)}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.calendar-week-day{min-height:8rem;border:1px solid var(--color-border-subtle);border-radius:.35rem;padding:.5rem;background:var(--color-surface)}.calendar-week-day h3{margin:0 0 .5rem;font-size:.85rem}.calendar-week-day.is-today{border-color:var(--color-primary)}.calendar-event{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border:1px solid var(--color-border-subtle);border-left-width:4px;border-radius:var(--radius-control);text-decoration:none;color:inherit;font-size:.85rem}.calendar-week-narrow{display:none}.calendar-week-strip{display:flex;gap:.4rem;overflow-x:auto;margin-bottom:.75rem}.calendar-week-chip{flex:1 0 3.25rem;min-height:3.25rem;padding:.45rem .35rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit;font-size:.8rem;cursor:pointer}.calendar-week-chip.is-selected{box-shadow:0 0 0 2px var(--color-primary);font-weight:600}.calendar-event .status-pill,.appointment-row .status-pill{text-transform:none}.appointment-list.compact{gap:.35rem}.status-pill{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--color-border-subtle);font-size:.8rem;text-transform:capitalize}.color-swatch{width:1rem;height:1rem;border-radius:999px;border:1px solid var(--color-border)}.detail-page h3{margin:1.25rem 0 .5rem;font-size:1rem}.button-row{display:flex;flex-wrap:wrap;gap:.5rem}.override-panel{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-subtle)}.settings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.settings-list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;border:1px solid var(--color-border-subtle);border-radius:var(--radius-control)}.settings-list-actions{display:flex;flex-wrap:wrap;gap:.5rem}.status-ok{color:var(--color-success)}.status-pending{color:var(--color-accent)}.copy-once-panel,.verification-panel{margin-top:1.25rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg)}.first-run-sitting{max-width:32rem}.first-run-sitting .copy-once-panel{margin-top:0}.first-run-templates{display:grid;gap:.5rem;margin:0 0 1rem;padding:0;border:0}.first-run-templates label{display:flex;gap:.75rem;align-items:center;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer}.first-run-templates label.is-selected{border-color:var(--color-primary);background:var(--color-border-subtle)}.first-run-sitting .form-actions,.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.first-run-sitting a.ui-button{text-decoration:none;background:var(--color-surface)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.calendar-week{display:none}.calendar-week-narrow{display:block}}@media(max-width:640px){.calendar-toolbar{flex-direction:column;align-items:stretch}}.hub-page h2{margin-top:0}.hub-section{margin-top:1.5rem}.hub-section-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.hub-section-intro{margin:-.35rem 0 .75rem}.wallet-kicker{margin:0 0 .15rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.related-wallet{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-subtle)}.related-label{margin:0 0 .35rem;font-size:.8rem;font-weight:600}.related-wallet .ui-button{display:inline-flex;margin:.35rem 0}.hub-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.hub-list-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control)}.hub-list-link{display:flex;flex-direction:row;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;color:inherit;text-decoration:none}.hub-list-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.hub-list-link:hover,.hub-list-link:focus-visible{background:var(--color-border-subtle)}.setup-checklist-banner{margin-bottom:1.25rem;padding:1rem 1.25rem;border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-bg)}.setup-checklist-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.setup-checklist-header h2{margin:0;font-size:1.1rem}.setup-checklist-steps{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.35rem}.setup-checklist-steps li.is-done a{color:var(--color-muted)}.calendar-empty-state{margin-top:1rem;padding:1rem;border:1px dashed var(--color-border);border-radius:var(--radius-control)}.calendar-toolbar-create{margin-left:auto}.calendar-toolbar-filter{margin-bottom:1rem}.calendar-primary-action{display:inline-block;padding:.35rem .75rem;border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-primary-contrast);text-decoration:none;font-size:.9rem;border:1px solid var(--color-primary)}.calendar-primary-action:disabled{opacity:.5;cursor:not-allowed}.calendar-primary-action:hover,.calendar-primary-action:focus-visible{filter:brightness(.95);background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.ui-page-header h2{margin:0 0 .5rem}.ui-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.ui-back-link{display:inline-flex;align-items:center;gap:.35rem;color:inherit}.ui-alert{display:flex;align-items:flex-start;gap:.5rem;margin:var(--space-sm) 0;padding:.65rem .75rem;border-radius:var(--radius-control);font-size:.9rem}.ui-alert--error{background:var(--color-danger-bg);color:var(--color-danger)}.ui-alert--success{background:color-mix(in srgb,var(--color-success) 12%,var(--color-bg));color:var(--color-success)}.ui-alert--info{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg));color:var(--color-primary)}.ui-alert--warning{background:color-mix(in srgb,var(--color-accent) 14%,var(--color-bg));color:var(--color-accent);flex-wrap:wrap}.ui-alert__body{flex:1;min-width:0}.ui-alert__body .button-row{margin-top:.5rem}.error-banner{background:var(--color-danger-bg);color:var(--color-danger);padding:.65rem .75rem;border-radius:var(--radius-control);font-size:.9rem}.ui-button{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit;cursor:pointer}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button--primary{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.ui-button--danger{background:var(--color-danger);color:var(--color-primary-contrast);border-color:var(--color-danger)}.ui-field{display:flex;flex-direction:column;gap:.35rem}.ui-empty-state__icon{color:var(--color-muted);margin-bottom:.35rem}.ui-empty-state__actions{margin-top:var(--space-sm)}.ui-confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:0;max-width:28rem}.ui-confirm-dialog::backdrop{background:#00000059}.ui-confirm-dialog__panel{margin:0;padding:var(--space-lg)}.ui-confirm-dialog__actions{margin-top:var(--space-md)}.toggle-wrapper{display:flex;align-items:center;gap:.5rem}.toggle{position:relative;display:inline-flex;align-items:center;padding:0;border:none;background:none;cursor:pointer}.toggle:disabled{opacity:.5;cursor:not-allowed}.toggle:focus-visible .toggle-track{outline:2px solid var(--color-focus);outline-offset:2px}.toggle-track{position:relative;display:block;width:2.5rem;height:1.25rem;border-radius:999px;background:var(--color-border);transition:background .2s ease}.toggle--checked .toggle-track{background:var(--color-primary)}.toggle-thumb{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle--checked .toggle-thumb{transform:translate(1.25rem)}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none}.legal-page{display:flex;flex-direction:column;min-height:100vh}.legal-container{max-width:50rem;margin:0 auto;padding:2rem 1.5rem;width:100%;display:flex;flex-direction:column;flex:1}.legal-header{margin-bottom:3rem}.legal-header .brand-lockup{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-text-primary);transition:opacity .2s}.legal-header .brand-lockup:hover{opacity:.7}.legal-header .brand-mark{width:2rem;height:2rem;object-fit:contain}.legal-header .brand-name{font-size:1.25rem;font-weight:600}.legal-content{flex:1;line-height:1.7}.legal-content h1{font-size:2rem;margin-bottom:1.5rem;line-height:1.2}.legal-content h2{font-size:1.5rem;margin-top:2.5rem;margin-bottom:1rem;line-height:1.3}.legal-content h3{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem;line-height:1.4}.legal-content p{margin-bottom:1rem}.legal-content ul,.legal-content ol{margin-bottom:1rem;padding-left:2rem}.legal-content li{margin-bottom:.5rem}.legal-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:.25rem solid var(--color-border-muted);background:var(--color-background-secondary)}.legal-content blockquote p{margin:0}.legal-content hr{margin:2.5rem 0;border:none;border-top:1px solid var(--color-border-muted)}.legal-content a{color:var(--color-text-link);text-decoration:underline}.legal-content a:hover{color:var(--color-text-link-hover)}.legal-content code{background:var(--color-background-secondary);padding:.125rem .375rem;border-radius:.25rem;font-family:monospace;font-size:.875em}.legal-content table{width:100%;margin:1.5rem 0;border-collapse:collapse}.legal-content table th,.legal-content table td{padding:.75rem 1rem;text-align:left;border:1px solid var(--color-border-muted)}.legal-content table th{background:var(--color-background-secondary);font-weight:600}.legal-content strong{font-weight:600}.legal-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--color-border-muted)}.legal-nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.legal-nav a{color:var(--color-text-muted);text-decoration:none}.legal-nav a:hover{color:var(--color-text-primary)}.legal-footer .muted{font-size:.875rem}
