.admin-shell{background:#f5f7f5;min-height:100dvh}.admin-top{color:#f6fcf8;background:#122f29;justify-content:space-between;align-items:center;gap:24px;padding:24px max(24px,50% - 600px);display:flex}.admin-top-actions,.admin-top-actions>span,.admin-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.admin-top-actions>span{font-size:13px}.admin-main{max-width:1256px;margin:auto;padding:44px 28px 72px}.admin-heading{margin-bottom:30px}.admin-heading h1{margin:6px 0 12px}.store-login-link{border-top:1px solid #cddbd1;border-bottom:1px solid #cddbd1;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;padding:24px 0;display:flex}.store-login-link>div{min-width:0}.store-login-link a{color:#146653;overflow-wrap:anywhere;margin:8px 0;font-size:15px;display:block}.store-login-link svg,.store-account dd svg{vertical-align:middle;display:inline}.store-login-link small{color:#63746f;display:block}.store-login-link>button{flex-shrink:0}.admin-grid{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;gap:40px;display:grid}.account-form{padding:28px}.account-form>p{margin:10px 0 25px;font-size:14px}.account-form form,.password-panel form{flex-direction:column;gap:20px;display:flex}.account-form select{width:100%;max-width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #cbd7d0;border-radius:6px;padding:11px 12px;font-size:14px}.account-list{min-width:0}.account-list-heading,.store-account-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.account-list-heading{border-bottom:1px solid #cddbd1;padding-bottom:20px}.account-list-heading>span{color:#63746f;font-size:14px}.store-account{overflow-wrap:anywhere;border-bottom:1px solid #dce4df;padding:24px 0}.store-account>.muted{margin-top:8px;font-size:14px}.store-account dl{margin:18px 0 8px;font-size:14px}.store-account dl>div,.issued-details>div{grid-template-columns:140px minmax(0,1fr);gap:14px;margin:8px 0;display:grid}.store-account dt,.issued-details dt{color:#63746f}.store-account dd,.issued-details dd{overflow-wrap:anywhere;margin:0}.store-account a{color:#146653}.store-account .text-button{margin-top:12px}.issued-panel{background:#e7f1e9;border:1px solid #bad1c0;border-radius:10px;margin:0 0 32px;padding:28px}.issued-heading{align-items:flex-start;gap:16px;display:flex}.issued-heading p{margin-top:6px;font-size:14px}.issued-details{padding:18px 0;font-size:15px}.issued-details code{-webkit-user-select:all;user-select:all;font-size:17px}.issued-panel .admin-actions{margin-top:20px}.admin-message{color:#146653;overflow-wrap:anywhere;padding:12px 0}.password-page{place-items:center;min-height:100dvh;padding:36px 20px;display:grid}.password-panel{width:100%;max-width:520px;padding:36px}.password-panel h1{margin:28px 0 14px;font-size:24px}.password-panel>p{margin:12px 0 24px}.password-panel>.text-button{margin-top:20px}@media (max-width:800px){.admin-grid{grid-template-columns:1fr;gap:36px}.admin-main{padding:30px 20px 48px}.admin-top{padding:20px}.admin-top-actions>span{display:none}.store-login-link{flex-direction:column;align-items:stretch;gap:16px}}@media (max-width:480px){.admin-heading h1{font-size:25px}.account-form,.issued-panel,.password-panel{padding:22px}.issued-details>div{grid-template-columns:1fr;gap:3px;margin:16px 0}.store-account dl>div{grid-template-columns:90px minmax(0,1fr)}.issued-heading{gap:10px}.admin-actions>button{width:100%}}
.reservation-public{background:#f8faf8;min-height:100dvh}.reservation-public-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;max-width:1120px;margin:auto;padding:25px 30px;display:flex}.reservation-public-top .wordmark{font-size:23px}.reservation-public-top>span{color:var(--muted-foreground);font-size:13px}.reservation-public-main{max-width:1120px;margin:auto;padding:44px 30px 72px}.reservation-title{margin-bottom:38px}.reservation-title h1{font-size:34px}.reservation-title>p:last-child{color:var(--muted-foreground);align-items:center;gap:7px;margin-top:14px;display:flex}.reservation-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);align-items:start;gap:56px;display:grid}.reservation-layout h2,.reservation-contact h2{align-items:center;gap:12px;margin-bottom:24px;font-size:20px;display:flex}.step-number{color:#39765f;border-bottom:2px solid #39765f;padding:3px 0;font-size:13px}.course-choices{border:0;gap:12px;min-width:0;margin:0 0 25px;padding:0;display:grid}.course-choice{cursor:pointer;background:#fff;border:1px solid #d4dfd6;border-radius:8px;align-items:flex-start;gap:13px;padding:20px;display:flex}.course-choice.selected{border-color:#146653;box-shadow:inset 0 0 0 1px #146653}.course-choice input{accent-color:#146653;flex-shrink:0;margin-top:6px}.course-choice>span{overflow-wrap:anywhere;min-width:0}.course-choice strong{font-size:17px;display:block}.course-choice small{color:#146653;margin-top:10px;font-size:16px;display:block}.course-choice small span{color:var(--muted-foreground);font-size:12px}.reservation-public select,.plain-select{border:1px solid var(--input);width:100%;max-width:100%;min-height:46px;color:var(--foreground);font:inherit;background:#fff;border-radius:6px;padding:10px 12px}.plain-select{width:auto;min-width:0}.reservation-hint{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:32px;padding-top:25px}.reservation-hint p{margin:12px 0}.reservation-calendar{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;min-width:0;padding:20px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-header button{min-width:42px;min-height:42px}.calendar-header h3{font-size:20px}.calendar-week,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-week{text-align:center;color:var(--muted-foreground);margin-bottom:9px;font-size:13px}.calendar-week span:first-child{color:#ad5b50}.calendar-week span:last-child{color:#53799d}.calendar-day{color:#2a3d34;background:#f7f9f7;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:61px;padding:4px 1px;font-size:16px;font-weight:600;display:flex}.calendar-day small{font-size:12px;font-weight:400;line-height:1.3}.calendar-day.available{color:#146653;background:#edf5ee}.calendar-day:hover:not(:disabled){border-color:#146653}.calendar-day.selected{color:#fff;background:#146653;border-color:#146653}.calendar-day:disabled{opacity:1;color:#9ca79f;cursor:default;background:#f8f9f8}.calendar-legend{color:var(--muted-foreground);flex-wrap:wrap;gap:18px;margin-top:20px;font-size:12px;display:flex}.reservation-time-section{margin-top:26px}.reservation-time-section h3{margin-bottom:15px}.time-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.time-choice{border:1px solid var(--border);background:#fff;border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:13px 9px;display:flex}.time-choice strong{font-size:18px}.time-choice span{color:#146653;font-size:12px}.time-choice.selected{background:#edf5ee;border-color:#146653;box-shadow:inset 0 0 0 1px #146653}.time-choice:disabled{opacity:.55;cursor:default}.reservation-contact{border-top:1px solid var(--border);margin-top:38px;padding-top:30px}.reservation-contact form{flex-direction:column;gap:20px;display:flex}.selected-summary{color:#146653;margin:-6px 0 22px;font-size:14px}.reservation-consent{align-items:flex-start;gap:10px;font-size:13px;line-height:1.8;display:flex}.reservation-consent input{accent-color:#146653;flex-shrink:0;width:18px;height:18px;margin-top:3px}.reservation-review,.reservation-confirmation{max-width:650px;margin:auto;padding:34px}.reservation-review>.muted{margin-top:10px}.reservation-review>button,.reservation-confirmation>button{margin-top:22px}.reservation-review .reservation-details dd,.reservation-confirmation .reservation-details dd{overflow-wrap:anywhere;min-width:0}.reservation-confirmation{text-align:center}.reservation-confirmation>svg{color:#146653;margin:0 auto 18px}.reservation-confirmation h1{margin-bottom:20px;font-size:26px}.reservation-confirmation h2{margin-bottom:12px}.reservation-confirmation .form-help{margin-top:18px}.reservation-confirmation>a{margin-top:24px}.reservation-share{background:#e9f2ed;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:18px 22px;display:flex}.reservation-share a{color:#146653;overflow-wrap:anywhere;margin-top:5px;display:block}.reservation-share svg{vertical-align:middle;display:inline}.setup-guide{padding:18px 0 25px;font-size:14px}.setup-guide span{color:var(--muted-foreground);margin-top:8px;display:block}.reservation-list-filter{align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.reservation-list-filter .field{max-width:240px}.reservation-booking{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:23px 0}.reservation-booking h3>span{font-size:14px;font-weight:400}.reservation-booking>p{margin-top:12px}.reservation-contact-line{color:var(--muted-foreground);flex-wrap:wrap;gap:8px 20px;margin:12px 0;font-size:14px;display:flex}.management-calendar-layout,.course-management{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:36px;display:grid}.management-calendar-layout>div>.form-help{margin-top:18px}.slot-editor h2{margin-bottom:20px}.slot-row{border:1px solid var(--border);background:#fff;border-radius:8px;margin-bottom:14px;padding:20px}.slot-row>p{color:var(--muted-foreground);margin:8px 0 15px;font-size:13px}.slot-row form{align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.slot-row .field{flex:1;min-width:0}.slot-add-form{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:20px;margin-top:22px;padding:24px;display:flex}.slot-add-form h3{align-items:center;gap:8px;display:flex}.course-management .account-form form{margin-top:24px}.account-list .text-button{margin-right:15px}@media (max-width:1050px){.management-calendar-layout,.course-management{grid-template-columns:1fr}}@media (max-width:760px){.reservation-workspace{grid-template-columns:1fr}.reservation-workspace .rail{flex-flow:wrap;gap:8px;padding:18px;display:flex}.reservation-workspace .rail .wordmark{flex:100%;margin-bottom:10px}.reservation-workspace .rail .rail-item{flex:auto;justify-content:center;width:auto;padding:10px;font-size:12px;display:flex}.reservation-workspace .rail .rail-item svg{width:16px}.reservation-workspace .rail .rail-bottom{width:100%;margin:0;padding-top:8px;display:flex}.reservation-workspace .topbar{flex-wrap:wrap;padding:12px 0}.reservation-workspace .store-select{max-width:100%}.reservation-public-top{padding:20px}.reservation-public-main{padding:30px 20px 45px}.reservation-layout{grid-template-columns:1fr;gap:32px}.reservation-title h1{font-size:28px}.reservation-hint{display:none}.course-choices{gap:10px}.course-choice{padding:18px}.reservation-share{flex-direction:column;align-items:stretch;gap:12px}.reservation-review,.reservation-confirmation{padding:24px}.reservation-public-top>span{font-size:12px}}@media (max-width:420px){.reservation-calendar{padding:13px}.calendar-week,.calendar-days{gap:3px}.calendar-day{min-height:53px;font-size:15px}.calendar-legend{gap:12px}.calendar-header{margin-bottom:12px}.reservation-layout h2,.reservation-contact h2{font-size:18px}.slot-row form{flex-wrap:wrap}.reservation-review .reservation-details>div{gap:12px}}
:root{--background:#fff;--foreground:#242424;--card:#fff;--card-foreground:#242424;--popover:#fff;--popover-foreground:#242424;--primary:#242424;--primary-foreground:#fff;--secondary:#f5f5f5;--secondary-foreground:#242424;--muted:#f5f5f5;--muted-foreground:#666;--accent:#eee;--accent-foreground:#242424;--border:#e2e2e2;--input:#bfbfbf;--ring:#242424}.reservation-public,.admin-shell{background:var(--background)}.button.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.button.primary:hover:not(:disabled){filter:none;background:#404040}button:focus-visible,a:focus-visible{outline-color:var(--ring)}.field input{color:var(--foreground)}.field input:focus{outline-color:var(--ring)}.eyebrow,.form-help,.guest-footer,.stat>span,.stat small,.empty>svg,.icon-button,.text-button.subtle,.reservation-details dt,.reservation-details dd small,.store-login-link small,.account-list-heading>span,.store-account dt,.issued-details dt{color:var(--muted-foreground)}.text-button:not(.danger-text),.auth-form>svg,.store-login-link a,.store-account a,.admin-message,.course-choice small,.time-choice span,.selected-summary,.reservation-confirmation>svg,.reservation-share a{color:var(--foreground)}.icon-button:hover{background:var(--secondary)}.notice{background:var(--secondary);color:var(--muted-foreground)}.auth-brand{background:var(--secondary);color:var(--foreground)}.auth-brand .eyebrow,.auth-brand>small,.auth-copy>p:not(.eyebrow){color:var(--muted-foreground)}.rail{color:var(--foreground);border-right:1px solid var(--border);background:#fafafa}.rail-label,.rail-item,.rail-bottom{color:var(--muted-foreground)}.rail-item.active{background:var(--primary);color:var(--primary-foreground)}.rail-item:hover:not(.active){background:var(--accent);color:var(--foreground)}.admin-top{background:var(--background);color:var(--foreground);border-bottom:1px solid var(--border)}.store-login-link,.account-list-heading,.store-account{border-color:var(--border)}.account-form select{border-color:var(--input)}.issued-panel,.reservation-share{background:var(--secondary);border-color:var(--border)}.status,.status.cancelled{background:var(--secondary);color:var(--muted-foreground)}.status.confirmed{background:var(--primary);color:var(--primary-foreground)}.step-number{color:var(--foreground);border-color:var(--foreground)}.course-choice{border-color:var(--border)}.course-choice.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.course-choice input,.reservation-consent input{accent-color:var(--primary)}.calendar-week span:first-child,.calendar-week span:last-child{color:var(--muted-foreground)}.calendar-day{color:var(--foreground);background:#fafafa}.calendar-day.available{color:var(--foreground);background:#f2f2f2;border-color:#ccc}.calendar-day:hover:not(:disabled){border-color:var(--primary);background:#e8e8e8}.calendar-day.selected,.calendar-day.selected:hover:not(:disabled){background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.calendar-day:disabled{color:#999;background:#fafafa;border-color:#0000}.time-choice.selected{background:var(--secondary);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}@media (max-width:760px){.reservation-workspace .rail{border-right:0;border-bottom:1px solid var(--border)}}
