:root{--gf-accent:#6366f1;--gf-accent-foreground:#fff;--gf-text:#111827;--gf-text-muted:#6b7280;--gf-border:#e5e7eb;--gf-border-focus:var(--gf-accent);--gf-background:#f9fafb;--gf-surface:#fff;--gf-danger:#dc2626;--gf-radius:12px;--gf-radius-sm:6px;--gf-cal-day-hover:#e5e7eb;--gf-cal-available-bg:var(--gf-background);--gf-cal-slot-border:var(--gf-accent);--gf-cal-slot-text:var(--gf-accent);--gf-cal-slot-hover-bg:color-mix(in srgb, var(--gf-accent) 8%, transparent);--gf-cal-slot-selected-bg:var(--gf-accent)}*,:before,:after{box-sizing:border-box}html,body{color:var(--gf-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}.embed-root{justify-content:center;align-items:flex-start;padding:24px 16px;display:flex}.embed-shell{flex-direction:column;gap:24px;width:100%;max-width:640px;display:flex}.embed-card{background:var(--gf-surface);border-radius:var(--gf-radius);flex-direction:column;gap:20px;width:100%;max-width:640px;margin-left:auto;margin-right:auto;padding:32px 28px;display:flex;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}.embed-header{flex-direction:column;gap:6px;display:flex}.embed-title{color:var(--gf-text);margin:0;font-size:22px;font-weight:600;line-height:1.3}.embed-description{color:var(--gf-text-muted);margin:0;font-size:14px;line-height:1.5}.embed-field{flex-direction:column;gap:6px;display:flex}.embed-field-label{color:var(--gf-text);font-size:13px;font-weight:500}.embed-field-required-marker{color:var(--gf-danger);margin-left:2px}.embed-input,.embed-textarea,.embed-select{width:100%;font:inherit;color:var(--gf-text);background:var(--gf-surface);border:1px solid var(--gf-border);border-radius:var(--gf-radius-sm);outline:none;padding:10px 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.embed-input:focus,.embed-textarea:focus,.embed-select:focus{border-color:var(--gf-border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--gf-accent) 18%, transparent)}.embed-textarea{resize:vertical;min-height:96px;font-family:inherit}.embed-field-error{color:var(--gf-danger);font-size:12px}.embed-checkbox-row{color:var(--gf-text);align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.embed-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--gf-accent);flex-shrink:0;margin-top:2px}.embed-submit{width:100%;font:inherit;color:#fff;background:var(--gf-accent);border-radius:var(--gf-radius-sm);cursor:pointer;border:0;padding:12px 16px;font-size:14px;font-weight:600;transition:background-color .12s,transform 80ms}.embed-submit:hover:not(:disabled){filter:brightness(.95)}.embed-submit:active:not(:disabled){transform:translateY(1px)}.embed-submit:disabled{opacity:.6;cursor:not-allowed}.embed-error-banner{border-radius:var(--gf-radius-sm);background:color-mix(in srgb, var(--gf-danger) 10%, transparent);color:var(--gf-danger);padding:10px 12px;font-size:13px;line-height:1.4}.embed-consent-block{border-top:1px solid var(--gf-border);flex-direction:column;gap:10px;padding-top:8px;display:flex}.embed-footer{text-align:center;color:var(--gf-text-muted);padding:12px 0 8px;font-size:11px}.embed-footer a{color:var(--gf-accent);font-weight:600;text-decoration:underline}@keyframes embed-success-enter{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes embed-check-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.embed-success{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px 24px 24px;animation:.4s ease-out both embed-success-enter;display:flex}.embed-success-icon{animation:.5s cubic-bezier(.34,1.56,.64,1) .15s both embed-check-pop}.embed-success-title{color:var(--gf-text);margin:0;font-size:22px;font-weight:600;line-height:1.3}.embed-success-host{color:var(--gf-text);margin:-4px 0 0;font-size:15px;font-weight:500;line-height:1.4}.embed-success-subtitle{color:var(--gf-text-muted);margin:-4px 0 0;font-size:14px;line-height:1.5}.embed-success-calendar{background:color-mix(in srgb, var(--gf-accent) 5%, transparent);border:1px solid color-mix(in srgb, var(--gf-accent) 18%, transparent);border-radius:var(--gf-radius);flex-direction:column;align-items:center;gap:12px;width:100%;margin-top:12px;padding:18px 16px 16px;animation:.5s ease-out .2s both embed-success-enter;display:flex}.embed-success-calendar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--gf-text-muted);margin:0;font-size:12px;font-weight:600}.embed-success-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.embed-success-action{border-radius:var(--gf-radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s,filter .15s;display:inline-flex}.embed-success-action:hover{transform:translateY(-1px)}.embed-success-action:active{transform:translateY(0)}.embed-success-action svg{flex-shrink:0}.embed-success-action-primary{color:var(--gf-accent-foreground);background:var(--gf-accent);border:1px solid var(--gf-accent);box-shadow:0 1px 2px #00000014, 0 4px 12px color-mix(in srgb, var(--gf-accent) 22%, transparent)}.embed-success-action-primary:hover{filter:brightness(1.06);box-shadow:0 2px 4px #0000001a, 0 8px 20px color-mix(in srgb, var(--gf-accent) 38%, transparent)}.embed-success-action-secondary{color:var(--gf-text);background:color-mix(in srgb, var(--gf-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--gf-accent) 35%, transparent)}.embed-success-action-secondary:hover{background:color-mix(in srgb, var(--gf-accent) 16%, transparent);border-color:var(--gf-accent)}.embed-notfound{text-align:center;color:var(--gf-text-muted);padding:32px 20px;font-size:14px}.embed-legal-content{color:var(--gf-text);font-size:14px;line-height:1.6}.embed-legal-content h1,.embed-legal-content h2,.embed-legal-content h3{color:var(--gf-text);margin:24px 0 12px;line-height:1.3}.embed-legal-content h1{font-size:22px;font-weight:600}.embed-legal-content h2{font-size:18px;font-weight:600}.embed-legal-content h3{font-size:16px;font-weight:600}.embed-legal-content h1:first-child,.embed-legal-content h2:first-child,.embed-legal-content h3:first-child{margin-top:0}.embed-legal-content p{margin:0 0 12px}.embed-legal-content ul,.embed-legal-content ol{margin:0 0 12px;padding-left:24px}.embed-legal-content li{margin:4px 0}.embed-legal-content a{color:var(--gf-accent);text-decoration:underline}.embed-legal-content strong{font-weight:600}.embed-legal-content em{font-style:italic}.embed-legal-content blockquote{border-left:3px solid var(--gf-border);color:var(--gf-text-muted);margin:12px 0;padding:8px 16px}.embed-legal-content code{background:var(--gf-background);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.embed-loading{text-align:center;color:var(--gf-text-muted);padding:48px 20px;font-size:14px}.embed-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:-9999px;left:-9999px}.flex{display:flex}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.cursor-pointer{cursor:pointer}.cal-layout{gap:24px;min-height:340px;display:flex}.cal-left{flex-direction:column;flex:none;gap:12px;width:280px;display:flex}.cal-right{flex-direction:column;flex:1;min-width:200px;display:flex}.cal-duration-pills{flex-wrap:wrap;gap:6px;display:flex}.cal-duration-pill{border:1px solid var(--gf-border);font:inherit;cursor:pointer;background:var(--gf-surface);color:var(--gf-text);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;transition:background .12s,color .12s}.cal-duration-pill--active{background:var(--gf-cal-selected-bg);color:var(--gf-cal-selected-text);border-color:#0000}.cal-month-nav{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.cal-month-label{color:var(--gf-text);font-size:15px;font-weight:600}.cal-nav-btn{cursor:pointer;width:28px;height:28px;color:var(--gf-text);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;font-size:18px;transition:background .12s;display:flex}.cal-nav-btn:hover{opacity:.6}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day-header{text-align:center;color:var(--gf-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 0 8px;font-size:11px;font-weight:600}.cal-day{aspect-ratio:1;border-radius:var(--gf-radius-sm);color:var(--gf-text-muted);cursor:default;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.cal-day--empty{visibility:hidden}.cal-day--available{color:var(--gf-text);cursor:pointer;background:var(--gf-cal-available-bg);font-weight:600;transition:background .12s,color .12s,transform .15s}.cal-day--available:hover{background:var(--gf-cal-day-hover);transform:scale(1.08)}.cal-day--today:not(.cal-day--selected){border:1px solid var(--gf-border)}.cal-day--selected{background:var(--gf-cal-selected-bg);color:var(--gf-cal-selected-text);font-weight:600}.cal-loading-bar{opacity:.5;border-radius:2px;height:2px;animation:1.2s ease-in-out infinite cal-pulse}@keyframes cal-pulse{0%,to{opacity:.3}50%{opacity:.7}}.cal-timezone{color:var(--gf-text-muted);text-align:center;padding-top:12px;font-size:11px}.cal-placeholder{height:100%;color:var(--gf-text-muted);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex}.cal-slots-panel{flex-direction:column;gap:12px;display:flex}.cal-slots-header{color:var(--gf-text);border-bottom:1px solid var(--gf-border);padding-bottom:4px;font-size:15px;font-weight:600}.cal-slots-loading,.cal-no-slots{color:var(--gf-text-muted);text-align:center;padding:16px 0;font-size:13px}.cal-slots-list{flex-direction:column;gap:8px;max-height:320px;padding-right:10px;display:flex;overflow-y:auto}.cal-slot-btn{border:1.5px solid var(--gf-cal-slot-border);border-radius:var(--gf-radius-sm);background:var(--gf-surface);color:var(--gf-cal-slot-text);font:inherit;cursor:pointer;text-align:center;padding:10px 16px;font-size:14px;font-weight:500;transition:background .12s,color .12s,border-color .12s,box-shadow .15s}.cal-slot-btn:hover{background:var(--gf-cal-slot-hover-bg);box-shadow:0 1px 4px #0000000f}.cal-slot-btn--selected{background:var(--gf-cal-selected-bg);border-color:var(--gf-cal-selected-bg);color:var(--gf-cal-selected-text);font-weight:600}.embed-cal-layout{align-items:flex-start;gap:24px;display:flex}.embed-cal-side{flex:0 0 220px;min-width:0}.embed-form-side{flex:auto;min-width:0}@media (width<=640px){.embed-cal-layout{flex-direction:column;align-items:stretch}.embed-cal-side{flex:none;width:100%}}@keyframes cal-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cal-fade-in{animation:.25s ease-out cal-fade-in}.cal-picker{flex-direction:column;gap:12px;display:flex}.cal-picker-layout{align-items:flex-start;gap:24px;display:flex}.cal-picker-calendar{flex:auto;min-width:0;max-width:400px}.cal-picker-slots{flex:0 0 196px}@media (width<=540px){.cal-picker-layout{flex-direction:column;align-items:stretch}.cal-picker-calendar{width:100%;max-width:100%}.cal-picker-slots{flex:none;max-height:none}}.cal-summary-card{border-radius:var(--gf-radius-sm,8px);background:var(--gf-surface,#f9fafb);border:1px solid var(--gf-border,#e5e7eb);flex-direction:column;gap:14px;padding:20px;display:flex}.cal-summary-title{color:var(--gf-text,#1f2937);font-size:18px;font-weight:600}.cal-summary-row{color:var(--gf-text,#374151);align-items:center;gap:10px;font-size:14px;display:flex}.cal-summary-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.cal-summary-date{font-weight:500}.cal-summary-time{color:var(--gf-secondary-text,#6b7280);font-size:13px}.cal-change-btn{font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin-top:4px;padding:0;font-size:13px;font-weight:500}.cal-change-btn:hover{text-decoration:underline}.cal-selected-summary{border-radius:var(--gf-radius-sm);color:var(--gf-text);border:1.5px solid;flex-direction:column;gap:4px;margin-top:12px;padding:12px 16px;font-size:13px;display:flex}.cal-booking-form{flex-direction:column;gap:16px;display:flex}.cal-booking-header{flex-direction:column;gap:8px;display:flex}.cal-back-btn{font:inherit;color:var(--gf-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:13px}.cal-back-btn:hover{color:var(--gf-text)}.cal-booking-summary{color:var(--gf-text);background:var(--gf-background);border-radius:var(--gf-radius-sm);flex-direction:column;gap:2px;padding:8px 12px;font-size:13px;display:flex}.cal-booking-summary strong{font-size:14px}.cal-fields{flex-direction:column;gap:12px;display:flex}@media (width<=560px){.cal-layout{flex-direction:column}.cal-left{width:100%}.cal-right{min-width:0}.cal-slots-list{max-height:none}}.public-page{background:color-mix(in srgb, var(--gf-surface), black 40%);flex-direction:column;min-height:100vh;display:flex}.public-nav{background:var(--gf-surface);border-bottom:1px solid var(--gf-border);z-index:10;position:sticky;top:0}.public-nav-inner{align-items:center;gap:12px;max-width:1240px;margin:0 auto;padding:12px 20px;display:flex}.public-nav-brand{color:var(--gf-text);align-items:center;gap:8px;text-decoration:none;transition:opacity .15s;display:flex}.public-nav-brand:hover{opacity:.8}.public-nav-brand-text{letter-spacing:-.01em;font-size:16px;font-weight:600}.public-nav-org{align-items:center;gap:12px;display:flex}.public-nav-separator{background:var(--gf-border);width:1px;height:18px}.public-nav-org-name{color:var(--gf-text-muted);font-size:14px;font-weight:500}@keyframes public-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes public-card-enter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.public-content{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 16px 48px;animation:.4s ease-out public-fade-in;display:flex}.public-content .form-container{animation:.5s ease-out .1s both public-card-enter}.public-content .embed-root{width:100%;padding:0}.public-content .embed-shell{max-width:none}.public-footer{border-top:1px solid var(--gf-border);background:var(--gf-surface)}.public-footer-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1240px;margin:0 auto;padding:16px 20px;display:flex}.public-footer-brand{color:var(--gf-text-muted);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.public-footer-copy{color:var(--gf-text-muted);font-size:12px}.public-footer-copy a{text-decoration:none}.public-footer-copy a:hover{text-decoration:underline}@media (width<=480px){.public-footer-inner{text-align:center;flex-direction:column}}.public-cal-3panel{--cal-meta-width:240px;--cal-main-width:480px;--cal-slots-width:240px;grid-template-areas:"meta main";grid-template-columns:var(--cal-meta-width) 1fr;width:calc(var(--cal-meta-width) + var(--cal-main-width) + var(--cal-slots-width));border-radius:var(--gf-radius);background:var(--gf-surface);grid-template-rows:1fr;max-width:100%;max-height:500px;margin:0 auto;animation:.5s ease-out both public-card-enter;display:grid;overflow:hidden;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}@media (width>=1024px){.public-cal-3panel{--cal-meta-width:280px;--cal-slots-width:280px}}.public-cal-sidebar{border-right:1px solid var(--gf-border);flex-direction:column;grid-area:meta;gap:20px;padding:24px;display:flex;overflow:hidden}.public-cal-sidebar-title{color:var(--gf-text);font-size:1.25rem;font-weight:700;line-height:1.3}.public-cal-sidebar-desc{color:var(--gf-text-muted);font-size:.875rem;line-height:1.5}.public-cal-sidebar-meta{flex-direction:column;gap:10px;padding-top:4px;display:flex}.public-cal-sidebar-row{color:var(--gf-text-muted);align-items:center;gap:10px;font-size:.875rem;display:flex}.public-cal-sidebar-row .cal-duration-pills{border:1px solid var(--gf-border);border-radius:8px;flex-shrink:0;gap:0;overflow:hidden}.public-cal-sidebar-row .cal-duration-pill{border:none;border-right:1px solid var(--gf-border);white-space:nowrap;border-radius:0;padding:4px 8px;font-size:.75rem}.public-cal-sidebar-row .cal-duration-pill:last-child{border-right:none}.public-cal-sidebar-icon{opacity:.7;width:16px;height:16px;color:var(--gf-text);flex-shrink:0}.public-cal-main{flex-direction:column;grid-area:main;min-width:0;min-height:0;padding:20px 24px;display:flex;overflow:hidden}.public-cal-main .cal-fade-in,.public-cal-main .cal-picker{flex-direction:column;flex:1;min-height:0;display:flex}.public-cal-main .cal-picker-calendar{flex:auto;max-width:420px}.public-cal-main .cal-picker-layout{flex:1;align-items:stretch;min-height:0}.public-cal-main .cal-picker-slots{border-left:1px solid var(--gf-border);flex-direction:column;flex:0 0 220px;min-height:0;padding-left:24px;display:flex;overflow:hidden}@media (width>=1024px){.public-cal-main .cal-picker-slots{flex:0 0 260px}}.public-cal-main .cal-slots-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.public-cal-main .cal-slots-list{flex:1;min-height:0;max-height:none;overflow-y:auto}@media (width<=768px){.public-cal-3panel{grid-template:"meta""main"1fr/1fr;width:100%;min-height:0;max-height:none}.public-cal-sidebar{border-right:none;border-bottom:1px solid var(--gf-border)}.public-cal-main{overflow:visible}.public-cal-main .cal-picker-layout{flex-direction:column}.public-cal-main .cal-picker-calendar{width:100%;max-width:100%}.public-cal-main .cal-picker-slots{border-left:none;border-top:1px solid var(--gf-border);flex:none;margin-top:16px;padding-top:16px;padding-left:0;overflow:visible}.public-cal-main .cal-slots-panel,.public-cal-main .cal-slots-list{max-height:none;overflow:visible}}.gf-step-progress{align-items:center;gap:8px;margin-bottom:16px;display:flex}.gf-step-progress-compact{margin-bottom:12px;display:none}@media (width<=480px){.gf-step-progress{display:none}.gf-step-progress-compact{display:block}}.gf-step-nav{align-items:center;gap:12px;display:flex}
