/* Hallmark · genre: editorial · macrostructure: Catalogue + Narrative Workflow
 * design-system: design.md · designed-as-app · Studio · nav: side rail/mobile bottom bar
 * pre-emit critique: P5 H5 E4 S5 R5 V4 */
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{font-size:16px;scroll-padding-bottom:120px}html.large-text{font-size:19px}body{background:var(--color-app-bg);color:var(--color-ink);font:1rem/1.65 var(--font-app);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation;-webkit-tap-highlight-color:var(--color-tint)}button{color:inherit;cursor:pointer}button,a{white-space:nowrap}button{transition:transform var(--dur-micro) var(--ease-out)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--color-app-focus);outline-offset:3px}main:focus{outline:0}input:disabled,select:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0;word-break:keep-all}h1{font-size:2rem;line-height:1.35;letter-spacing:-.055em;font-weight:750}h2{font-size:1.25rem;line-height:1.45;letter-spacing:-.035em;font-weight:700}h3{font-size:1.125rem;line-height:1.5;letter-spacing:-.03em}p{word-break:keep-all}button .icon,a .icon{flex-shrink:0}.icon{width:24px;height:24px;vertical-align:middle;flex-shrink:0}.muted{color:var(--color-muted)}.boot{min-height:70dvh;display:grid;place-content:center;gap:var(--space-lg)}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-200%);z-index:600;background:var(--color-app-surface);padding:12px}.skip-link:focus{transform:none}.wordmark{font:700 40px/1 var(--font-display);letter-spacing:-2px;display:block}.wordmark>span{color:var(--color-accent)}.wordmark small{display:block;margin-top:var(--space-md);font:400 .875rem/1.6 var(--font-app);color:var(--color-muted);letter-spacing:0}.sidebar{display:none}.app-header{height:80px;padding:0 var(--space-20);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);background:var(--color-app-bg)}.mobile-brand{font-size:36px}.desktop-breadcrumb{display:none}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.icon-button{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-control);background:none;color:var(--color-ink)}.header-user{border:0;background:none;display:flex;align-items:center;gap:var(--space-sm);font-size:.9375rem;font-weight:650;min-height:48px;padding:0 var(--space-sm)}.avatar{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--color-tint);color:var(--color-accent);font-weight:700}.avatar.small{width:36px;height:36px;font-size:.875rem}.desktop-only{display:none!important}.main-content{max-width:1200px;margin:auto;padding:var(--space-sm) var(--space-20) calc(112px + env(safe-area-inset-bottom));}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--space-sm) var(--space-sm) calc(var(--space-sm) + env(safe-area-inset-bottom));background:var(--color-app-surface);border-top:1px solid var(--color-app-line);z-index:200;min-height:76px}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);font-size:.875rem;font-weight:600;color:var(--color-muted);min-height:56px;position:relative}.nav-item .icon{width:23px;height:23px}.nav-item.selected{color:var(--color-accent)}.nav-item.selected:before{content:'';position:absolute;top:-8px;width:28px;height:3px;border-radius:3px;background:var(--color-accent)}.nav-item.selected .icon{stroke-width:2.2}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-12);padding:var(--space-12) var(--space-20);border-radius:var(--radius-control);border:1px solid var(--color-border);font-size:1rem;font-weight:650;line-height:1.4}.button.primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.button.secondary{background:var(--color-app-surface);color:var(--color-ink);border-color:var(--color-app-line)}.button.light{background:var(--color-paper);color:var(--color-accent);border-color:var(--color-paper)}.full-width{width:100%}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:0;background:none;min-height:44px;color:var(--color-muted);font-size:.875rem;padding:0;line-height:1.4}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:44px;color:var(--color-muted);font-size:.875rem}.text-link .icon{width:18px;height:18px}.demo-notice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-12);border-radius:var(--radius-control);background:var(--color-soft);color:var(--color-muted);font-size:.875rem;margin-bottom:var(--space-lg)}.demo-notice>span{display:flex;align-items:center;gap:var(--space-xs)}.demo-notice .icon{width:16px;height:16px}.demo-notice button{border:0;background:none;display:flex;align-items:center;gap:var(--space-xs);padding:0;min-height:32px;color:var(--color-accent);font-size:.875rem;font-weight:650}.home-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xl)}.greeting{font-size:.875rem;color:var(--color-muted);margin-bottom:var(--space-12)}.home-heading h1{font-size:2.125rem}.intro-copy{font-size:.9375rem;color:var(--color-muted);margin-top:var(--space-12)}.today-label{display:none}.home-overview{display:grid;gap:var(--space-xl)}.start-panel{background:var(--color-app-dark);color:var(--color-paper);border-radius:var(--radius-app);padding:var(--space-lg);display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:var(--space-lg)}.panel-icon{display:none}.start-panel h2{font-size:1.625rem;line-height:1.4;letter-spacing:-.045em}.start-panel p{color:var(--color-app-light-ink);font-size:.9375rem;line-height:1.8;margin-top:var(--space-12)}.start-panel p br{display:none}.start-panel .button{justify-content:space-between}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.section-header p{font-size:.875rem;color:var(--color-muted);margin-top:var(--space-xs)}.plan-card{background:var(--color-app-surface);border:1px solid var(--color-app-line);border-radius:var(--radius-app);padding:var(--space-20)}.plan-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:var(--space-xs);border-radius:6px;padding:var(--space-xs) var(--space-sm);font-size:.875rem;font-weight:600;background:var(--color-tint);color:var(--color-accent)}.tag.amber{background:var(--color-warn-bg);color:var(--color-warn)}.tag.neutral{background:var(--color-soft);color:var(--color-muted)}.club-name{font-size:.875rem;font-weight:650}.plan-main{display:flex;gap:var(--space-md);align-items:center;margin:var(--space-lg) 0}.date-square{width:60px;min-width:60px;border:1px solid var(--color-app-line);border-radius:var(--radius-control);text-align:center;padding:var(--space-sm);line-height:1.2}.date-square span{display:block;font-size:.875rem;color:var(--color-muted)}.date-square strong{display:block;font-size:1.875rem;font-weight:650;letter-spacing:-1px;margin-top:var(--space-xs)}.plan-main h3{font-size:1.0625rem}.plan-main p{font-size:.875rem;margin-top:var(--space-xs);color:var(--color-muted)}.dot-separator{padding:0 var(--space-xs)}.plan-open{display:flex;gap:var(--space-sm);font-size:.875rem;color:var(--color-muted);align-items:center;padding-top:var(--space-md);border-top:1px dashed var(--color-app-line)}.plan-open>.icon{width:18px;height:18px}.plan-open strong{display:block;color:var(--color-ink);font-weight:550;margin-top:var(--space-xs)}.plan-detail-link{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;margin-top:var(--space-sm);padding:var(--space-sm) 0 0;border:0;background:none;font-size:.875rem;color:var(--color-accent);font-weight:650}.plan-detail-link .icon{width:20px;height:20px}.home-clubs,.home-discover{margin-top:var(--space-40)}.club-grid{display:grid;gap:var(--space-md)}.club-card{position:relative;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-20);border:1px solid var(--color-app-line);border-radius:var(--radius-app);background:var(--color-app-surface);min-width:0}.club-tile{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;width:76px;min-width:76px;min-height:112px;padding:var(--space-12);border-radius:var(--radius-control);color:var(--color-accent);background:var(--color-app-sage)}.club-tile>.icon{width:23px;height:23px}.club-tile>span{font:400 42px/1 var(--font-display);align-self:flex-end;opacity:.65}.forest{background:var(--color-app-sage);color:var(--color-accent)}.sage{background:var(--color-soft);color:var(--color-accent)}.sand{background:var(--color-app-sand);color:var(--color-warn)}.lake{background:var(--color-app-lake);color:var(--color-ink)}.club-card-content{flex:1;min-width:0}.club-meta{font-size:.875rem;color:var(--color-muted);padding-right:var(--space-lg)}.club-card h3{font-size:1.25rem;letter-spacing:-.04em;margin-top:var(--space-xs);padding-right:var(--space-lg)}.club-card p{font-size:.875rem;color:var(--color-muted);margin-top:var(--space-xs)}.club-action{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);border:0;background:none;padding:var(--space-sm) 0 0;min-height:44px;width:100%;font-size:.875rem;color:var(--color-accent);font-weight:650}.club-action .icon{width:18px;height:18px}.favorite-button{position:absolute;top:var(--space-sm);right:var(--space-sm);width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--color-muted)}.favorite-button .icon{width:21px;height:21px}.favorite-button.is-favorite{color:var(--color-accent)}.favorite-button.is-favorite .icon{fill:var(--color-accent);stroke:var(--color-accent)}.add-club{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg);border:1px dashed var(--color-border);border-radius:var(--radius-app);min-height:112px}.add-club>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-soft);color:var(--color-muted)}.add-club strong{font-size:.9375rem;font-weight:600}.add-club p{font-size:.875rem;color:var(--color-muted);margin-top:var(--space-xs)}.discover-list{display:grid;gap:0;background:var(--color-app-surface);border:1px solid var(--color-app-line);border-radius:var(--radius-app);padding:0 var(--space-md)}.discover-item{display:flex;align-items:center;gap:var(--space-md);min-height:96px;padding:var(--space-md) 0;text-align:left;border:0;border-bottom:1px solid var(--color-app-line);background:none;min-width:0}.discover-item:last-child{border-bottom:0}.mini-tile{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-control);flex-shrink:0}.mini-tile .icon{width:22px;height:22px}.discover-item>span:nth-child(2){flex:1;min-width:0}.discover-item strong{font-size:1rem;display:block;font-weight:650}.discover-item small{font-size:.875rem;display:block;color:var(--color-muted);margin-top:var(--space-xs)}.discover-item>.icon{width:20px;height:20px;color:var(--color-muted)}.home-help{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-xl);color:var(--color-muted);font-size:.875rem}.home-help>span{display:flex;align-items:flex-start;gap:var(--space-sm)}.home-help .icon{width:20px;height:20px}.home-help .text-button{align-self:flex-start;margin-left:28px}.page-title{margin:var(--space-lg) 0 var(--space-xl)}.page-title p{font-size:1rem;color:var(--color-muted);margin-top:var(--space-12)}.search-field{display:flex;align-items:center;gap:var(--space-12);background:var(--color-app-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:0 var(--space-md);height:60px}.search-field>.icon{color:var(--color-muted);width:22px;height:22px}.search-field input{border:0;background:none;min-width:0;flex:1;height:56px;color:var(--color-ink);font-size:1rem}.search-field input:focus-visible{outline-offset:0}.search-field input::placeholder{color:var(--color-muted);font-size:.9375rem}.filter-row{display:flex;gap:var(--space-sm);margin:var(--space-20) 0 var(--space-xl)}.filter-chip{border:1px solid var(--color-app-line);border-radius:var(--radius-pill);background:var(--color-app-surface);color:var(--color-muted);padding:var(--space-sm) var(--space-20);min-height:48px;font-size:.9375rem}.filter-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.list-heading h2{font-size:1.0625rem}.list-heading span{color:var(--color-muted);font-size:.875rem}.integration-note,.page-footnote{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:.875rem;line-height:1.8;color:var(--color-muted);margin-top:var(--space-xl)}.integration-note .icon,.page-footnote .icon{width:20px;height:20px;margin-top:var(--space-xs)}.add-favorite-cta{margin-top:var(--space-lg)}.empty-state{padding:var(--space-xl) var(--space-md);text-align:center;grid-column:1/-1}.empty-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--color-soft);color:var(--color-muted);margin:0 auto var(--space-20)}.empty-icon .icon{width:28px;height:28px}.empty-state h3{font-size:1.125rem}.empty-state p{font-size:.9375rem;color:var(--color-muted);margin:var(--space-sm) auto var(--space-lg);max-width:38ch}.empty-state .button{font-size:.9375rem}.next-panel .empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-app)}.reservation-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.segmented{display:flex;gap:var(--space-xs);padding:var(--space-xs);background:var(--color-soft);border-radius:var(--radius-control);width:100%}.segmented button{border:0;background:none;color:var(--color-muted);padding:var(--space-sm) var(--space-12);flex:1;min-height:48px;border-radius:8px;font-size:.875rem;font-weight:600}.segmented button.active{background:var(--color-app-surface);color:var(--color-ink)}.booking-list{display:grid;gap:var(--space-md)}.plan-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg)}.plan-actions .secondary{min-height:48px;font-size:.875rem}.profile-card{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-app-surface);border-radius:var(--radius-app);border:1px solid var(--color-app-line)}.profile-card>div{flex:1;min-width:180px}.profile-avatar{width:60px;height:60px;font-size:1.375rem}.profile-card h2{font-size:1.25rem}.profile-card p{font-size:.875rem;color:var(--color-muted);overflow-wrap:anywhere;word-break:normal;margin-top:var(--space-xs)}.profile-card>.button{width:100%}.settings-section{margin-top:var(--space-xl)}.settings-section>h2{font-size:.875rem;color:var(--color-muted);margin-bottom:var(--space-12);font-weight:550}.setting-row{width:100%;display:flex;align-items:center;gap:var(--space-12);padding:var(--space-20) 0;border:0;border-bottom:1px solid var(--color-app-line);background:none;text-align:left;min-height:92px;white-space:normal}.setting-row>span:nth-child(2){flex:1;min-width:0}.setting-row strong{display:block;font-weight:600;font-size:1rem}.setting-row small{display:block;font-size:.875rem;color:var(--color-muted);margin-top:var(--space-xs)}.setting-icon{width:40px;flex-shrink:0;color:var(--color-muted)}.row-value{font-size:.875rem;color:var(--color-muted);white-space:nowrap}.setting-row>.icon{width:18px;height:18px;color:var(--color-muted)}.switch-input{appearance:none;width:48px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-soft);position:relative;cursor:pointer;flex-shrink:0}.switch-input:before{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--color-muted)}.switch-input:checked{background:var(--color-accent);border-color:var(--color-accent)}.switch-input:checked:before{left:23px;background:var(--color-accent-ink)}.logout-button{display:flex;gap:var(--space-sm);align-items:center;min-height:56px;background:none;border:0;color:var(--color-muted);font-size:.875rem;padding:0;margin-top:var(--space-lg)}.logout-button .icon{width:20px;height:20px}.version-note{font-size:.875rem;color:var(--color-muted);margin-top:var(--space-lg)}.flow-main{padding-top:0;padding-bottom:calc(132px + env(safe-area-inset-bottom))}.flow-heading{display:flex;align-items:center;justify-content:space-between;font-size:1rem;font-weight:600;gap:var(--space-sm);border-bottom:1px solid var(--color-app-line);padding-bottom:var(--space-sm)}.back-button{border:0;background:none;width:44px;height:48px;display:grid;place-items:center;flex-shrink:0}.steps{list-style:none;padding:0;display:flex;justify-content:space-between;margin:var(--space-lg) 0 var(--space-xl);gap:var(--space-xs)}.steps li{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;color:var(--color-muted);white-space:nowrap}.steps li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--color-soft);font-size:.875rem}.steps li.current{color:var(--color-accent);font-weight:700}.steps li.current>span,.steps li.done>span{background:var(--color-accent);color:var(--color-accent-ink)}.steps li .icon{width:16px;height:16px}.flow-content>h1{font-size:1.875rem}.flow-description{font-size:.9375rem;color:var(--color-muted);margin-top:var(--space-sm);margin-bottom:var(--space-lg)}.calendar-panel{background:var(--color-app-surface);border:1px solid var(--color-app-line);border-radius:var(--radius-app);padding:var(--space-20) var(--space-12)}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding:0 var(--space-xs)}.calendar-head h3{font-size:1.1875rem}.calendar-head>div{display:flex}.weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekdays{font-size:.875rem;color:var(--color-muted);padding-bottom:var(--space-sm)}.date-grid{gap:var(--space-sm) 0}.date-button{background:none;border:0;border-radius:var(--radius-control);height:48px;padding:0;min-width:0;font-size:1rem;position:relative}.date-button.selected{background:var(--color-accent);color:var(--color-accent-ink);font-weight:650}.date-button:disabled{color:var(--color-muted);opacity:.4}.date-button i{position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}.calendar-caption{font-size:.875rem;color:var(--color-muted);margin:var(--space-md) var(--space-xs) 0}.selected-date-note{display:flex;gap:var(--space-12);align-items:center;padding:var(--space-20);background:var(--color-tint);border-radius:var(--radius-control);margin-top:var(--space-lg);color:var(--color-accent)}.selected-date-note span{display:block;font-size:.875rem}.selected-date-note strong{display:block;font-size:.9375rem;font-weight:650;margin-top:var(--space-xs)}.helper-text{font-size:.875rem;color:var(--color-muted);margin-top:var(--space-md);line-height:1.8}.flow-footer{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--color-app-surface);border-top:1px solid var(--color-app-line);padding:var(--space-md) var(--space-20) calc(var(--space-md) + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.flow-footer>div{display:none}.flow-footer>.button{width:100%;justify-content:space-between}.time-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12);margin:var(--space-lg) 0}.period-button{display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:var(--space-md);border:1px solid var(--color-app-line);border-radius:var(--radius-control);background:var(--color-app-surface);text-align:left;min-height:132px}.period-button>.icon{color:var(--color-muted);width:25px;height:25px}.period-button strong{margin-top:var(--space-12);font-size:1rem;font-weight:600}.period-button>span{font-size:.875rem;color:var(--color-muted);margin-top:var(--space-xs)}.period-button.selected{border-color:var(--color-accent);background:var(--color-tint);color:var(--color-accent)}.choice-check{border:1px solid var(--color-border);border-radius:50%;width:24px;height:24px;display:grid;place-items:center;color:var(--color-muted);flex-shrink:0}.choice-check .icon{width:15px;height:15px;visibility:hidden}.period-button>.choice-check{position:absolute;top:var(--space-md);right:var(--space-md)}.selected .choice-check{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.selected .choice-check .icon{visibility:visible}.time-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:var(--space-sm);margin-top:var(--space-lg)}.time-fields>span{height:56px;display:flex;align-items:center;color:var(--color-muted)}.time-fields label{font-size:.875rem}.field-label{display:block;font-weight:550;font-size:.9375rem;margin:var(--space-20) 0 var(--space-sm)}.field-input{width:100%;min-width:0;height:56px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-app-surface);padding:var(--space-12) var(--space-md);color:var(--color-ink);font-size:1rem}.field-input::placeholder{color:var(--color-muted);font-size:.9375rem}.time-fields .field-input{margin-top:var(--space-sm);padding:var(--space-sm)}.field-input[aria-invalid=true]{border-color:var(--color-error)}.checkbox-row{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-md) 0;min-height:56px;font-size:.875rem;cursor:pointer}.checkbox-row input{width:20px;height:20px;margin:4px 0 0;accent-color:var(--color-accent);flex-shrink:0}.quiet-note{display:flex;gap:var(--space-sm);align-items:flex-start;font-size:.875rem;color:var(--color-muted);background:var(--color-soft);padding:var(--space-md);border-radius:var(--radius-control)}.quiet-note .icon{width:20px;height:20px}.form-error{font-size:.875rem;color:var(--color-error);min-height:24px;margin:var(--space-sm) 0}.review-ticket{background:var(--color-app-surface);border:1px solid var(--color-app-line);border-radius:var(--radius-app);padding:var(--space-lg);margin-top:var(--space-lg)}.review-club{display:flex;align-items:center;gap:var(--space-12)}.review-club>div{flex:1}.review-club>div>span{font-size:.875rem;color:var(--color-muted)}.review-club h2{font-size:1.1875rem}.review-date{font-size:1.875rem;letter-spacing:-.045em;margin-top:var(--space-xl)}.review-time{font-size:1.125rem;color:var(--color-muted);margin-top:var(--space-xs)}.summary-list{margin:var(--space-lg) 0 0;border-top:1px dashed var(--color-app-line);padding-top:var(--space-md);font-size:.875rem}.summary-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin:var(--space-12) 0}.summary-list dt{color:var(--color-muted);white-space:nowrap}.summary-list dd{margin:0;text-align:right;font-weight:550;word-break:keep-all}.integration-alert,.inline-alert{display:flex;align-items:flex-start;gap:var(--space-12);background:var(--color-warn-bg);color:var(--color-warn);border-radius:var(--radius-control);padding:var(--space-md);font-size:.875rem;line-height:1.8;margin-top:var(--space-20)}.integration-alert strong{font-weight:650}.integration-alert p{margin-top:var(--space-xs)}.integration-alert .icon,.inline-alert .icon{width:20px;height:20px;margin-top:var(--space-xs)}.complete-page{max-width:520px;margin:var(--space-lg) auto;text-align:center}.success-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--color-tint);color:var(--color-accent);margin:0 auto var(--space-lg)}.success-icon .icon{width:36px;height:36px}.completion-label{font-size:.875rem;color:var(--color-accent);margin-bottom:var(--space-12)}.complete-page>p:not(.completion-label){margin:var(--space-md) 0 var(--space-xl);color:var(--color-muted)}.complete-page .plan-card{text-align:left}.complete-page>.button{margin-top:var(--space-lg)}.complete-page .inline-alert{text-align:left}.complete-page .text-button{margin-top:var(--space-sm)}.auth-layout{max-width:900px;margin:var(--space-lg) auto;display:grid;gap:var(--space-xl)}.auth-intro{display:none}.auth-panel{background:var(--color-app-surface);border:1px solid var(--color-app-line);border-radius:var(--radius-app);padding:var(--space-lg)}.back-link{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.875rem;color:var(--color-muted);min-height:44px;margin-bottom:var(--space-lg)}.back-link .icon{width:16px;height:16px}.auth-panel>h2{font-size:1.625rem}.auth-panel>p{font-size:.9375rem;color:var(--color-muted);margin-top:var(--space-sm)}.auth-panel form{margin-top:var(--space-lg)}.password-field{position:relative}.password-field input{padding-right:64px}.password-field button{position:absolute;right:8px;top:4px;bottom:4px;min-width:48px;background:none;border:0;font-size:.875rem;color:var(--color-muted)}.auth-panel .auth-switch{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-wrap:wrap;font-size:.875rem;margin-top:var(--space-lg)}.auth-switch a{min-height:44px;display:inline-flex;align-items:center;font-weight:650;color:var(--color-accent)}.auth-panel .auth-note{font-size:.875rem;text-align:center;margin-top:var(--space-sm)}.welcome-page{max-width:520px;margin:var(--space-xl) auto;text-align:center}.welcome-page>p{margin-top:var(--space-md);color:var(--color-muted)}.welcome-clubs{display:grid;gap:var(--space-12);margin:var(--space-xl) 0}.welcome-club{display:flex;align-items:center;gap:var(--space-md);text-align:left;padding:var(--space-md);border:1px solid var(--color-app-line);border-radius:var(--radius-control);background:var(--color-app-surface)}.welcome-club>span:nth-child(2){flex:1}.welcome-club strong,.welcome-club small{display:block}.welcome-club strong{font-size:1rem}.welcome-club small{font-size:.875rem;color:var(--color-muted);margin-top:var(--space-xs)}.welcome-club.selected{border-color:var(--color-accent);background:var(--color-tint)}.toast{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom));left:var(--space-20);right:var(--space-20);max-width:560px;margin:auto;padding:var(--space-md) var(--space-20);display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-control);z-index:500;font-size:.875rem}.toast[hidden]{display:none}.toast button{background:none;color:var(--color-paper);border:0;min-height:44px;font-size:.875rem;text-decoration:underline;flex-shrink:0}dialog{position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));max-height:85dvh;height:fit-content;padding:var(--space-lg);background:var(--color-app-surface);color:var(--color-ink);border:1px solid var(--color-app-line);border-radius:var(--radius-app)}dialog::backdrop{background:var(--color-backdrop)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.dialog-heading h2{font-size:1.25rem}.dialog-heading .icon-button{margin-right:-12px;flex-shrink:0}.dialog-body{font-size:.9375rem}.dialog-body>p,.dialog-body>h3{margin-top:var(--space-md)}.dialog-body>.tag{margin-bottom:var(--space-sm)}.dialog-body>.button{margin-top:var(--space-lg);font-size:.9375rem}.dialog-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.help-steps{padding-left:24px}.help-steps li{padding-left:var(--space-xs);margin-bottom:var(--space-lg)}.help-steps p{color:var(--color-muted);font-size:.875rem;margin-top:var(--space-xs)}.connection-list{margin-top:var(--space-lg)}.connection-list>div{display:flex;align-items:center;gap:var(--space-12);border-bottom:1px solid var(--color-app-line);padding:var(--space-12) 0}.connection-list strong{font-size:.875rem;flex:1}.connection-list .tag{font-size:.875rem;white-space:nowrap}.install-platform{margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-soft);border-radius:var(--radius-control)}.install-platform p{font-size:.875rem;margin-top:var(--space-xs)}.offline-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-12) var(--space-20);font-size:.875rem;background:var(--color-warn-bg);color:var(--color-warn)}
@media(hover:hover){button:not(:disabled):hover,a.button:hover{filter:brightness(.96)}.nav-item:hover{color:var(--color-accent)}.date-button:not(:disabled):not(.selected):hover{background:var(--color-tint)}.field-input:hover{background:var(--color-paper)}}
@media(min-width:40rem){.main-content{padding-inline:var(--space-xl)}.app-header{padding-inline:var(--space-xl)}.home-heading h1{font-size:2.5rem}.today-label{display:flex;align-items:center;gap:var(--space-md);font-size:.875rem;color:var(--color-muted);padding-top:var(--space-lg)}.home-overview{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-lg)}.start-panel{padding:var(--space-lg)}.start-panel h2{font-size:1.875rem}.panel-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-app-light-ink);border-radius:50%;margin-bottom:var(--space-lg)}.start-panel p br{display:block}.club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-card{padding:var(--space-md);gap:var(--space-12)}.club-tile{min-width:60px;width:60px}.club-card h3{font-size:1.125rem}.club-meta{padding-right:var(--space-lg)}.add-club{min-height:168px;flex-direction:column;text-align:center;gap:var(--space-sm)}.home-help{flex-direction:row;align-items:center;justify-content:space-between}.home-help .text-button{margin-left:0}.home-help>span{align-items:center}.flow-container{max-width:620px;margin:auto}.flow-content{padding:var(--space-lg) var(--space-lg) 0}.flow-footer>div{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.875rem;white-space:nowrap}.flow-footer>div>span{color:var(--color-muted)}.flow-footer>.button{width:auto;min-width:240px}.flow-footer{justify-content:center;gap:var(--space-3xl)}.calendar-panel{padding:var(--space-lg)}.date-grid{gap:var(--space-sm)}.date-button{height:52px}.flow-content>h1{font-size:2rem}.flow-description{font-size:1rem}.time-periods{gap:var(--space-md)}.period-button{padding:var(--space-20)}.booking-list{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented{width:auto}.segmented button{padding-inline:var(--space-20)}.profile-card>.button{width:auto}.settings-section,.profile-card{max-width:800px}.auth-panel{padding:var(--space-xl)}.demo-notice{font-size:.875rem;padding:var(--space-sm) var(--space-md)}.demo-notice button{font-size:.875rem}.home-clubs,.home-discover{margin-top:var(--space-2xl)}}
@media(min-width:68rem){.sidebar{display:flex;flex-direction:column;width:232px;position:fixed;inset:0 auto 0 0;padding:var(--space-40) var(--space-lg) var(--space-lg);background:var(--color-app-surface);border-right:1px solid var(--color-app-line);z-index:200}.sidebar>.wordmark{padding-left:var(--space-12)}.side-nav{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-3xl)}.side-nav .nav-item{flex-direction:row;justify-content:flex-start;gap:var(--space-12);padding:var(--space-12) var(--space-md);min-height:56px;border-radius:var(--radius-control);font-size:.9375rem}.side-nav .nav-item.selected{background:var(--color-tint)}.side-nav .nav-item:before{display:none}.nav-count{margin-left:auto;display:grid;place-items:center;min-width:24px;height:24px;background:var(--color-app-surface);color:var(--color-accent);border-radius:6px;font-size:.875rem}.side-bottom{margin-top:auto}.side-help{display:flex;align-items:center;gap:var(--space-sm);border:0;background:none;min-height:56px;padding:0;color:var(--color-muted);font-size:.875rem}.side-help .icon{width:20px;height:20px}.side-profile{display:flex;align-items:center;gap:var(--space-12);padding-top:var(--space-lg);border-top:1px solid var(--color-app-line)}.side-profile strong{font-size:.875rem;display:block}.side-profile .text-button{font-size:.875rem;min-height:32px}.app-body{margin-left:232px}.app-header{height:96px;padding:0 var(--space-40);border-bottom:1px solid var(--color-app-line)}.mobile-brand{display:none}.desktop-breadcrumb{display:block;color:var(--color-muted);font-size:.875rem}.desktop-breadcrumb>span{margin:0 var(--space-12);color:var(--color-border)}.desktop-only{display:inline-flex!important}.bottom-nav{display:none}.main-content{padding:var(--space-xl) var(--space-40) var(--space-2xl)}.demo-notice{margin-bottom:var(--space-xl)}.home-heading{margin-bottom:var(--space-xl)}.home-heading h1{font-size:2.5rem}.home-overview{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--space-xl)}.start-panel{padding:var(--space-xl)}.start-panel h2{font-size:1.875rem}.next-panel .section-header{margin-top:var(--space-xs);margin-bottom:var(--space-md)}.plan-card{padding:var(--space-lg)}.plan-main h3{font-size:1.125rem}.plan-main p{font-size:.875rem}.plan-open{font-size:.875rem}.plan-open strong{display:inline;margin-left:var(--space-xs)}.club-grid{gap:var(--space-20)}.club-card{padding:var(--space-20);gap:var(--space-md)}.club-tile{width:76px;min-width:76px}.club-card h3{font-size:1.25rem}.add-club{flex-direction:row;text-align:left;gap:var(--space-md)}.discover-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);padding:var(--space-sm) var(--space-20)}.discover-item{border-bottom:0;gap:var(--space-12)}.discover-item>.icon{display:none}.discover-item strong{font-size:.9375rem}.discover-item small{font-size:.875rem}.home-help{margin-top:var(--space-lg)}.flow-main{padding-top:var(--space-lg);padding-bottom:140px}.flow-footer{left:232px}.flow-heading{padding:0 var(--space-lg) var(--space-sm)}.flow-content{padding-top:var(--space-lg)}.flow-container{max-width:680px}.flow-description{margin-bottom:var(--space-xl)}.steps{padding:0 var(--space-lg);margin-bottom:var(--space-md)}.steps li{font-size:.875rem}.page-title{margin:var(--space-md) 0 var(--space-xl)}.search-field{max-width:680px}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:var(--space-2xl);margin-top:var(--space-xl)}.auth-intro{display:block}.auth-emblem{display:grid;place-items:center;width:72px;height:72px;background:var(--color-tint);color:var(--color-accent);border-radius:var(--radius-app);margin-bottom:var(--space-xl)}.auth-emblem .icon{width:32px;height:32px}.auth-intro h1{font-size:2rem}.auth-intro>p{font-size:1rem;color:var(--color-muted);margin-top:var(--space-lg)}.auth-benefits{margin-top:var(--space-40);display:grid;gap:var(--space-md);font-size:.875rem;color:var(--color-muted)}.auth-benefits p{display:flex;gap:var(--space-12);align-items:center}.auth-benefits .icon{width:20px;height:20px}.toast{left:calc(232px + 20px);bottom:var(--space-xl)}.welcome-page{margin-top:var(--space-lg)}.complete-page{margin-top:var(--space-xl)}}
@media(min-width:90rem){.sidebar{width:260px;padding-inline:var(--space-xl)}.app-body{margin-left:260px}.flow-footer{left:260px}.main-content{padding-inline:var(--space-2xl)}.app-header{padding-inline:var(--space-2xl)}.home-overview{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.start-panel{flex-direction:row;align-items:center;gap:var(--space-xl);flex-wrap:wrap}.start-panel .button{width:100%}.toast{left:280px}}
@media(max-width:359px){.main-content{padding-inline:var(--space-md)}.app-header{padding-inline:var(--space-md)}.home-heading h1{font-size:1.875rem}.demo-notice{padding:var(--space-sm);gap:var(--space-xs)}.demo-notice>span>.icon{display:none}.demo-notice button{font-size:.875rem}.club-card{padding:var(--space-md);gap:var(--space-12)}.club-tile{width:56px;min-width:56px}.club-card h3{font-size:1.125rem}.club-card p{font-size:.875rem}.club-meta{font-size:.875rem}.steps li{gap:var(--space-xs);font-size:.875rem}.flow-heading{font-size:.875rem}.flow-content>h1{font-size:1.5rem}.period-button{padding:var(--space-12)}.period-button>span{font-size:.875rem}.calendar-panel{padding-inline:var(--space-xs)}.calendar-caption{font-size:.875rem}.plan-card{padding:var(--space-md)}.plan-main{gap:var(--space-12)}.plan-main h3{font-size:1rem}.profile-card{padding:var(--space-20)}.auth-panel{padding:var(--space-20)}.row-value{display:none}.setting-icon{width:28px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}button:active{transform:none}}
@media(max-width:359px){.calendar-panel{margin-inline:calc(-1 * var(--space-md));border-radius:0;border-left:0;border-right:0}}

/* Friendly golf-ball brand, shared across phone and desktop. */
.brand-lockup{display:flex;align-items:center;gap:8px;color:var(--color-ink)!important;font-size:34px;white-space:nowrap}.brand-lockup img{flex-shrink:0;width:44px;height:44px}.brand-lockup b{color:var(--color-accent);font:inherit;margin-left:-8px}.mobile-brand .brand-lockup{font-size:30px;gap:6px}.mobile-brand .brand-lockup img{width:38px;height:38px}.auth-emblem:has(img){width:112px;height:112px;background:none}.auth-emblem img{width:112px;height:112px}@media(max-width:359px){.mobile-brand .brand-lockup{font-size:28px}.mobile-brand .brand-lockup img{width:34px;height:34px}.header-actions{gap:0}}

/* Club-specific account management, reusing the locked app design system. */
.account-count{color:var(--color-muted);margin-bottom:var(--space-md)}
.account-list{display:grid;gap:var(--space-md);max-width:800px}
.account-card{padding:var(--space-lg);border:1px solid var(--color-app-line);border-radius:var(--radius-app);background:var(--color-app-surface)}
.account-heading{display:flex;align-items:center;gap:var(--space-md)}.account-heading>div{min-width:0}.account-heading p{color:var(--color-muted);font-size:.9375rem;margin-top:var(--space-xs)}
.account-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap}.account-card-bottom .button{min-height:48px;font-size:.9375rem;padding:var(--space-sm) var(--space-md)}
.account-explanation{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-lg) 0;max-width:800px;margin-top:var(--space-lg)}.account-explanation .icon{color:var(--color-accent)}.account-explanation p{font-size:.9375rem;color:var(--color-muted);margin-top:var(--space-sm)}
.account-form{margin-top:var(--space-lg)}.account-form .field-label{display:block;font-weight:650;margin:var(--space-lg) 0 var(--space-sm)}.account-form input:not([type=checkbox]),.account-form select{display:block;min-height:56px;width:100%;border:1px solid var(--color-app-line);border-radius:var(--radius-control);background:var(--color-app-surface);padding:var(--space-12);color:var(--color-ink);font-size:1rem}.account-form .password-field input{padding-right:64px}.account-form .field-help{margin-top:var(--space-sm)}.field-help{font-size:.875rem;color:var(--color-muted);line-height:1.7}.account-form input[aria-invalid=true]{border-color:var(--color-error)}.account-remove{display:flex;margin:var(--space-lg) auto 0;color:var(--color-error);min-height:48px}
.readiness-panel{padding-top:var(--space-lg);border-top:1px solid var(--color-app-line);margin-top:var(--space-lg)}.readiness-status{font-weight:650;color:var(--color-warn);margin-top:var(--space-sm)}.open-countdown{font-size:1.125rem;font-variant-numeric:tabular-nums;margin-top:var(--space-12)}.readiness-checks{list-style:none;margin:var(--space-lg) 0;padding:0;display:grid;gap:var(--space-md)}.readiness-checks li{display:flex;gap:var(--space-12);align-items:flex-start}.readiness-checks .ready .icon{color:var(--color-accent)}.readiness-checks .pending .icon{color:var(--color-muted)}.readiness-panel .field-help{margin-top:var(--space-md)}
.execution-history{margin-top:var(--space-lg)}.execution-history summary{min-height:48px;cursor:pointer;display:list-item;align-content:center}.execution-history ol{padding-left:var(--space-lg)}.execution-history li{padding-bottom:var(--space-lg)}.execution-history strong{font-size:.875rem;font-weight:500;display:block}.execution-history time{display:block;color:var(--color-muted);font-size:.875rem;margin-top:var(--space-xs)}
@media(hover:hover){.account-card .button:hover{background:var(--color-tint)}.account-form input:not([type=checkbox]):hover,.account-form select:hover{background:var(--color-soft)}}
@media(min-width:68rem){.account-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:359px){.account-card{padding:var(--space-md)}.account-card-bottom{gap:var(--space-sm)}.account-card-bottom .button{width:100%}}

/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 · existing Studio system */
.selection-modes{display:grid;gap:var(--space-sm);margin-bottom:var(--space-lg)}
.selection-mode{display:grid;gap:var(--space-xs);text-align:left;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-app-surface);color:var(--color-ink);min-height:72px}
.selection-mode strong{font-size:1rem;white-space:nowrap}.selection-mode span{font-size:.875rem;color:var(--color-muted)}
.selection-mode.selected,.slot-choice.selected{border-color:var(--color-accent);background:var(--color-tint);box-shadow:inset 0 0 0 1px var(--color-accent)}
.selection-details{margin-top:var(--space-lg);border-block:1px solid var(--color-app-line);padding-bottom:var(--space-md)}
.selection-details summary{padding-block:var(--space-md);cursor:pointer}.selection-details .field-label{display:block;margin-top:var(--space-md)}
.preference-summary{padding:var(--space-md);background:var(--color-soft);border-radius:var(--radius-control);line-height:1.8;margin-top:var(--space-lg)}
.live-slots{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-app-line)}
.slots-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}
.slots-heading h2{font-size:1.125rem}.slots-heading p{font-size:.875rem;color:var(--color-muted);line-height:1.7;margin-top:var(--space-sm)}
.slots-heading .button{flex-shrink:0;white-space:nowrap}.slot-list{display:grid;gap:var(--space-sm);margin-block:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}
.slot-choice{display:grid;text-align:left;gap:var(--space-xs);padding:var(--space-md);min-height:100px;background:var(--color-app-surface);color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-control)}
.slot-choice strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.slot-choice span,.slot-choice small{font-size:.875rem;white-space:nowrap}.slot-choice small{color:var(--color-muted)}
.selection-mode:active,.slot-choice:active{transform:translateY(1px)}
.selection-mode:focus-visible,.slot-choice:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
@media(hover:hover){.selection-mode:hover,.slot-choice:hover{background:var(--color-soft)}}
@media(max-width:414px){.slots-heading{flex-direction:column}.slots-heading .button{width:100%}}
@media(max-width:359px){.slot-list{grid-template-columns:minmax(0,1fr)}.selection-mode{padding:var(--space-12)}}
