@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--bg: #fcf9f9;--paper: rgba(255, 255, 255, .84);--paper-solid: #ffffff;--ink: #16211b;--muted: #526058;--line: rgba(22, 33, 27, .08);--accent: #00ef9c;--accent-dark: #00ca84;--accent-soft: rgba(0, 239, 156, .14);--mint: #00ef9c;--mint-soft: rgba(0, 239, 156, .12);--shadow: 0 24px 60px rgba(0, 239, 156, .08);--radius-lg: 12px;--radius-md: 12px;--radius-sm: 12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;color:var(--ink);background:radial-gradient(120% 100% at 50% -20%,rgba(0,239,156,.15) 0%,transparent 60%),radial-gradient(80% 80% at 100% 100%,rgba(0,239,156,.08) 0%,transparent 50%),var(--bg);background-attachment:fixed;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-shell{width:min(1200px,calc(100vw - 32px));margin:0 auto;padding-bottom:48px}.topbar{position:sticky;top:16px;z-index:40;margin:16px 0 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fcf9f9d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(22,33,27,.06);border-radius:12px;padding:10px 16px 10px 20px;box-shadow:0 4px 24px #16211b0f}.topbar .brand{display:flex;align-items:center;flex-shrink:0}.topbar .topnav{display:flex;align-items:center;gap:4px}.topnav a{padding:8px 14px;border-radius:12px;font-size:.9rem;font-weight:600;color:var(--muted);transition:color .15s ease,background .15s ease}.topnav a:hover,.topnav a.active{color:var(--ink);background:#16211b0d}.nav-btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--mint);color:var(--ink);font-weight:700;font-size:.9rem;padding:10px 20px;border-radius:12px;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 10px #00ef9c40}.faq-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.faq-col{display:flex;flex-direction:column;gap:16px}.faq-accordion{background:#fff;border:1px solid rgba(22,33,27,.06);border-radius:20px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.faq-accordion[open]{border-color:#00ef9c4d;box-shadow:0 8px 32px #00ef9c12}.faq-accordion summary{padding:24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;gap:12px}.faq-accordion summary::-webkit-details-marker{display:none}.faq-summary-inner{display:flex;align-items:flex-start;gap:16px;flex:1}.faq-num{background:var(--accent-soft);color:var(--accent-dark);width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;flex-shrink:0;margin-top:1px}.faq-accordion summary h3{margin:0;font-size:1rem;font-weight:700;color:var(--ink);line-height:1.4}.accordion-icon{font-size:1.4rem;font-weight:300;color:var(--mint);transition:transform .3s ease;flex-shrink:0;line-height:1}.faq-accordion[open] .accordion-icon{transform:rotate(45deg)}.accordion-content{padding:0 24px 24px 68px;color:#4b5563;line-height:1.65}.accordion-content p{margin:0;font-size:.95rem}.nav-link-plain{color:#4b5563;font-weight:600;font-size:.95rem;transition:color .15s ease}.nav-link-plain:hover{color:var(--ink)}.nav-btn-primary{background:var(--accent);color:var(--ink);font-weight:800;font-size:.95rem;padding:12px 28px;border-radius:12px;transition:transform .16s ease,box-shadow .16s ease;box-shadow:0 4px 12px #00ef9c33}.nav-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00ef9c59}.hero,.page-grid,.admin-page{display:grid;gap:24px}.hero{grid-template-columns:1.2fr .8fr;align-items:stretch;padding:28px 0 16px}.hero-copy,.hero-panel,.content-card,.cta-banner{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.hero-copy{background:linear-gradient(145deg,#fffffff5,#fffc);padding:40px}.eyebrow,.section-title span{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark)}.eyebrow{margin-left:6px}h1,h2,h3,h4{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}.hero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.96;margin:18px 0;max-width:11ch}.h1-accent{color:var(--mint)}.content-card h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.05;margin:18px 0}.hero p,.section-title p,.content-card p,.feature-card p,.step-card p,.faq-card p{color:var(--muted);line-height:1.65}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.primary-button,.secondary-button,.ghost-button{border-radius:12px;border:none;padding:14px 20px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.primary-button{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--ink);font-weight:800;box-shadow:0 8px 24px #00ef9c40}.secondary-button{background:var(--paper-solid);border:1px solid var(--line);color:var(--ink)}.ghost-button{background:transparent;border:1px dashed var(--line);color:var(--muted)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.hero-stats,.currency-legend,.result-grid,.admin-grid,.feature-grid,.steps-grid,.faq-list,.hero-grid{display:grid;gap:16px}.hero-stats{margin-top:28px;grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stats article,.currency-legend article,.hero-card,.feature-card,.step-card,.faq-card,.result-panel{background:#ffffffad;border:1px solid var(--line);border-radius:var(--radius-md);padding:18px}.hero-stats strong,.currency-legend strong,.hero-card strong,.result-panel strong{display:block;font-size:1.2rem}.hero-panel{background:linear-gradient(180deg,#16211bfa,#16211bf2);padding:24px;color:#fcf9f9}.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.hero-card{background:#ffffff12;border-color:#ffffff14}.hero-card span,.hero-card p{color:#ffffffc7}.highlight-card{min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at top right,rgba(0,239,156,.36),transparent 40%),#ffffff12}.card-tag{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:12px;font-size:.75rem;background:#ffffff1f}.hero-card.wide{grid-column:span 2}.payment-card{display:flex;flex-direction:column;gap:10px;justify-content:space-between}.payment-logo{max-height:36px;width:auto;max-width:100%;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.9}.payment-card:first-child .payment-logo{max-height:52px}.trust-strip{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 24px;border-radius:12px;background:#16211b0a;border:1px solid rgba(22,33,27,.06);font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:32px;flex-wrap:wrap}.trust-item{display:flex;align-items:center;gap:6px}.trust-item svg{flex-shrink:0;color:var(--accent-dark)}.trust-sep{color:var(--line);font-size:1.1rem;line-height:1;-webkit-user-select:none;user-select:none}.content-section,.single-column-page{padding-top:24px}.section-title{max-width:720px;margin-bottom:20px}.section-title h2,.content-card h2{margin:8px 0 10px;font-size:clamp(1.6rem,4vw,2.6rem)}.feature-grid,.faq-list{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.faq-card{min-height:150px}.steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.step-card span{font-family:Red Hat Display,sans-serif;font-weight:900;font-size:2rem;color:var(--accent)}.cta-banner{margin-top:64px}.cta-banner.giant-card{min-height:520px;padding:48px;background:linear-gradient(135deg,#ffffff 0%,#e0fbf0 60%,var(--mint) 100%);border-radius:32px;color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;box-shadow:0 24px 60px #00ef9c26}.cta-banner.giant-card .cta-banner-content{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:600px}.cta-banner.giant-card .eyebrow{color:#16211b99;letter-spacing:.15em;font-size:.75rem;font-weight:700;text-transform:uppercase}.cta-banner.giant-card h2{margin:0;font-size:clamp(2.5rem,5vw,4rem);line-height:1.05;font-weight:900;color:var(--ink);letter-spacing:-.02em}.cta-banner.giant-card .primary-button{background:#fff;color:var(--ink);padding:16px 32px;font-size:1rem;font-weight:800;border-radius:8px;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px #0000000d;transition:all .2s ease;margin-top:8px;display:inline-flex;align-items:center;gap:8px}.cta-banner.giant-card .primary-button:after{content:"→";font-family:monospace;font-size:1.2rem}.cta-banner.giant-card .primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.content-card{background:var(--paper);padding:28px}.page-grid{grid-template-columns:1fr}.booking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.slot-browser,.booking-form,.auth-card,.result-card,.admin-table-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.slot-day+.slot-day{margin-top:24px}.slot-browser{overflow:hidden}.booking-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.booking-cal-month{font-weight:600;font-size:1.05rem;text-transform:capitalize}.booking-cal-nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#ffffffb3;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;padding:0}.booking-cal-nav:hover{background:#0000000a}.booking-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:4px}.booking-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.booking-cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s;position:relative}.booking-cal-cell:disabled{cursor:default;opacity:.3}.booking-cal-cell.is-outside{opacity:.2}.booking-cal-cell.is-today>span:first-child{background:#111;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.booking-cal-cell.has-slots:not(:disabled){font-weight:600}.booking-cal-cell.has-slots:not(:disabled):hover{background:#00ef9c14;border-color:#00ef9c4d}.booking-cal-cell.is-selected{background:#00ef9c26;border-color:#00ef9c99}.booking-cal-dot{font-size:.6rem;color:#00ef9c;font-weight:700}.booking-time-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.booking-time-label{font-weight:600;text-transform:capitalize;margin-bottom:10px;font-size:.95rem}.time-slot-grid{display:flex;flex-direction:column;gap:6px}.time-slot-chip{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffa6;cursor:pointer;transition:border-color .15s,background .15s}.time-slot-chip:hover{border-color:#00ef9c80;background:#00ef9c0a}.time-slot-chip.is-selected{border-color:#00ef9ccc;background:#00ef9c1f}.time-slot-chip strong{font-size:.95rem}.time-slot-chip small{font-size:.7rem;color:var(--muted)}.selected-slot-summary{margin-top:12px;padding:12px;border-radius:var(--radius-md);background:#00ef9c14;border:1px solid rgba(0,239,156,.3);display:flex;justify-content:space-between;align-items:center}.selected-slot-summary span{font-size:.85rem;color:var(--muted)}.phone-input-row{display:flex;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .15s}.phone-input-row:focus-within{border-color:var(--accent)}.phone-select-wrapper{display:grid;grid-template-columns:1fr;flex-shrink:0}.phone-prefix-select{grid-column:1;grid-row:1;width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;padding:10px 28px 10px 12px;font-size:.9rem;font-weight:500;color:#6b7280;cursor:pointer;border-right:1px solid var(--line);border-radius:12px 0 0 12px}.phone-prefix-select:focus{outline:none}.phone-select-chevron{grid-column:1;grid-row:1;pointer-events:none;width:16px;height:16px;align-self:center;justify-self:end;margin-right:8px;color:#9ca3af}.phone-number-input{border:none!important;flex:1;min-width:0;padding:10px 14px 10px 10px;font-size:.95rem;border-radius:0 12px 12px 0!important;background:transparent}.phone-number-input:focus{outline:none;box-shadow:none!important}.coupon-input-row{display:flex;gap:8px}.coupon-input-row input{flex:1}.coupon-applied{display:flex;align-items:center;gap:12px}.coupon-badge{padding:4px 12px;border-radius:var(--radius-md);background:#00ef9c1f;border:1px solid rgba(0,239,156,.4);color:#059669;font-weight:600;font-size:.85rem}.wizard-page{max-width:560px;margin:0 auto;padding:24px 16px 80px;display:flex;flex-direction:column;gap:24px}.wizard-progress{display:flex;align-items:center;justify-content:space-between;position:relative;padding:0 8px}.wizard-progress-bar{position:absolute;left:32px;right:32px;top:16px;height:3px;background:var(--line);border-radius:2px;z-index:0}.wizard-progress-fill{height:100%;background:#00ef9c;border-radius:2px;transition:width .4s ease}.wizard-step-dot{display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1}.wizard-step-dot>span{width:32px;height:32px;border-radius:50%;background:var(--bg);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;transition:background .3s,color .3s,transform .3s;box-shadow:0 0 0 4px #c0eede33}.wizard-step-dot.is-done>span{background:#00ef9c;color:var(--bg)}.wizard-step-dot.is-active>span{transform:scale(1.15);box-shadow:0 0 0 4px #00ef9c33}.wizard-step-dot>small{font-size:.7rem;color:var(--muted);font-weight:500}.wizard-step-dot.is-active>small{color:#111;font-weight:600}.wizard-card{background:#fffc;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wizard-card h2{margin:4px 0 8px}.wizard-card p{color:var(--muted);margin-bottom:16px}@keyframes wizardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wizard-animate{animation:wizardFadeIn .35s ease-out}.wizard-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;margin-bottom:16px;padding:4px 0;transition:color .15s}.wizard-back:hover{color:#111}.wizard-selected-day{font-weight:600;text-transform:capitalize;color:#111!important;font-size:1.05rem;margin-bottom:16px!important}.wizard-slot-recap{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#00ef9c14;border:1px solid rgba(0,239,156,.3);border-radius:var(--radius-md);margin-bottom:20px}.wizard-slot-recap strong{font-size:.95rem}.wizard-slot-recap span{color:var(--muted);font-size:.85rem}.wizard-form{display:flex;flex-direction:column;gap:16px}.wizard-form label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:.9rem}.field-error{color:#e53e3e;font-size:.8rem;font-weight:400;margin-top:2px}.wizard-total{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;background:#00ef9c0f;border-radius:var(--radius-md);border:1px solid rgba(0,239,156,.2);text-align:center}.wizard-total>span{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.wizard-total>strong{font-size:1.5rem}.wizard-total>small{color:var(--muted);font-size:.8rem}.wizard-submit{font-size:1.1rem;padding:16px}.wizard-paying{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;text-align:center}.wizard-paying h2,.wizard-paying p{margin:0}@keyframes wizardSpin{to{transform:rotate(360deg)}}.wizard-spinner{width:48px;height:48px;border:4px solid var(--line);border-top-color:#00ef9c;border-radius:50%;animation:wizardSpin .8s linear infinite}.slot-list{display:grid;gap:12px;margin-top:12px}.slot-card{text-align:left;width:100%;padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffa6;display:grid;gap:6px}.slot-card.is-selected{border-color:#00ef9ccc;background:#00ef9c1a;box-shadow:inset 0 0 0 1px #00ef9c3d}.slot-card strong{font-size:1rem}.slot-card small,.slot-card em,.selected-slot span,.payment-summary span,.table-wrapper small,.footer p{color:var(--muted)}.booking-form,.auth-form,.admin-form-grid{display:grid;gap:16px}.booking-form-header,.section-heading,.admin-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.selected-slot,.payment-summary{padding:14px 16px;border-radius:var(--radius-md);background:var(--mint-soft);border:1px solid rgba(15,139,115,.16);display:grid;gap:4px}label,fieldset{display:grid;gap:8px;color:var(--ink);font-weight:700}input,select,textarea{width:100%;border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffffe6;padding:14px 16px;color:var(--ink)}textarea{resize:vertical}.currency-picker{border:1px solid var(--line);padding:14px;border-radius:var(--radius-md)}.currency-picker label{font-weight:600;display:flex;align-items:center;gap:10px}.currency-picker input{width:auto}.inline-error{color:#b42318;background:#b4231814;border:1px solid rgba(180,35,24,.14);padding:14px 16px;border-radius:var(--radius-sm)}.single-column-page{display:grid;justify-items:center}.auth-card,.result-card{width:min(760px,100%)}.result-grid{margin:24px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.result-panel.wide{grid-column:span 2}.retry-panel{background:#fffbeb;border-color:#f59e0b;text-align:center}.retry-message{color:#92400e;font-size:.9rem;margin-bottom:12px}.retry-panel .hero-actions{justify-content:center}.meet-panel{display:flex;flex-direction:column;gap:12px}.meet-schedule{margin:0;font-size:.92rem;color:var(--muted);line-height:1.5}.meet-actions{display:flex;gap:10px;flex-wrap:wrap}.meet-link-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start}.result-label{margin:0 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.status-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:12px;font-size:.8rem;font-weight:800;letter-spacing:.04em;border:1px solid transparent}.tone-neutral{color:var(--ink);background:#16211b14}.tone-success{color:#0d835e;background:#00ef9c1f;border-color:#00ef9c2e}.tone-warning{color:#8e5300;background:#fbbb2829;border-color:#fbbb282e}.tone-danger{color:#b42318;background:#b423181f;border-color:#b4231829}.admin-page{gap:20px}.admin-header{padding:8px 4px 0}.compact-admin{gap:18px}.admin-header.compact h1{margin:8px 0 6px;font-size:clamp(2rem,4vw,3.2rem)}.admin-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-summary-card,.rule-card,.slot-list-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffb8}.admin-summary-card{padding:16px 18px;display:grid;gap:4px}.admin-summary-card span,.admin-summary-card small,.rule-card small,.slot-list-card small,.month-cell.is-muted{color:var(--muted)}.admin-summary-card strong{font-family:Red Hat Display,sans-serif;font-weight:800;font-size:1.8rem}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid.compact{gap:18px}.admin-table-card{grid-column:span 2}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid .wide{grid-column:span 2}.admin-panel{display:grid;gap:10px}.compact-admin input,.compact-admin select,.compact-admin textarea{padding:7px 10px;font-size:.84rem;line-height:1.4}.compact-admin legend,.compact-admin fieldset legend{font-size:.8rem;font-weight:600}.compact-admin label{font-size:.8rem;font-weight:600;gap:3px}.compact-admin .primary-button,.compact-admin .secondary-button,.compact-admin .ghost-button{padding:8px 14px;font-size:.82rem}.compact-admin .primary-button{box-shadow:0 4px 12px #00ef9c33}.compact-admin h2{font-size:1.15rem}.compact-admin .section-heading h2{font-size:1.05rem}.compact-admin .section-heading p,.compact-admin .section-heading small{font-size:.78rem}.compact-admin .eyebrow{font-size:.65rem}.admin-form-compact,.rule-card-grid,.slot-list-fields{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.admin-form-compact .wide,.slot-list-fields .wide{grid-column:1 / -1}.admin-form-hint{display:block;margin-top:8px;color:var(--muted);font-size:.84rem;line-height:1.5}.admin-form-compact>.primary-button{grid-column:1 / -1;width:min(180px,100%);justify-self:start}.admin-calendar-card,.admin-calendar-shell{display:grid;gap:18px}.calendar-template-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.calendar-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}.calendar-shell-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-view-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:12px;background:#eef2f7;border:1px solid #dbe1ea}.calendar-view-switch button{border:none;border-radius:12px;background:transparent;color:#64748b;padding:9px 14px;font-weight:800}.calendar-view-switch button.is-active{background:#0f172a;color:#fff;box-shadow:0 10px 22px #0f172a29}.admin-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.calendar-view-panel,.selected-day-panel{border:none;border-radius:0;background:transparent;box-shadow:none}@keyframes admin-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.admin-toast{position:fixed;top:20px;right:20px;z-index:9999;padding:10px 20px;background:#111827;color:#fff;border-radius:12px;font-size:.85rem;font-weight:600;box-shadow:0 8px 24px #0003;animation:toast-slide-in .25s ease-out}.calendar-view-panel{display:grid;gap:16px;padding:0;min-width:0}.calendar-view-panel>*{animation:admin-fade-in .2s ease-out}.timeline-panel{animation:admin-fade-in .25s ease-out}.month-calendar-heading h3{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.month-calendar-heading p{margin:6px 0 0;color:var(--muted)}.timeline-panel{display:grid;gap:16px;min-width:0}.timeline-week-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-left:70px;padding-right:15px}.timeline-day-chip,.selected-period-chip{border:1px solid #dbe1ea;border-radius:18px;background:#f8fafc;padding:12px 10px;display:grid;gap:4px;text-align:left}.timeline-day-chip span,.selected-period-chip span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.timeline-day-chip strong,.selected-period-chip strong{font-size:1.1rem}.timeline-day-chip small{color:#64748b}.timeline-day-chip.is-today,.selected-period-chip.is-selected{border-color:#0ea5e942}.timeline-day-chip.is-selected,.selected-period-chip.is-selected{background:#eef2ff;border-color:#4f46e540;box-shadow:inset 0 0 0 1px #4f46e524}.timeline-shell{--timeline-height: 640px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;min-width:0}.timeline-shell.week{overflow-x:auto;max-height:600px;overflow-y:auto}.timeline-axis{position:relative;height:var(--timeline-height)}.timeline-axis span{position:absolute;right:0;transform:translateY(-50%);font-size:.72rem;font-weight:700;color:#94a3b8}.timeline-week-columns{position:relative;display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:6px;min-width:910px;height:var(--timeline-height)}.timeline-day-column{position:relative;height:var(--timeline-height);border:1px solid #dbe1ea;border-radius:8px;background:linear-gradient(180deg,#f8fafcf0,#fffffffa);overflow:hidden}.timeline-single-column{position:relative;height:var(--timeline-height);border:1px solid #dbe1ea;border-radius:18px;background:linear-gradient(180deg,#f8fafcf0,#fffffffa);overflow:hidden}.timeline-day-column.is-selected,.timeline-single-column{box-shadow:inset 0 0 0 1px #4f46e51f}.timeline-hour-line{position:absolute;left:0;right:0;height:1px;background:#94a3b83d}.timeline-slot-card{position:absolute;left:3px;right:3px;display:grid;gap:1px;padding:4px 6px;border-radius:6px;border:1px solid rgba(148,163,184,.24);border-left:3px solid #00ef9c;background:#fffffff5;box-shadow:0 2px 6px #0f172a0f;text-align:left;overflow:hidden}button.timeline-slot-card{cursor:pointer}.timeline-slot-card strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-slot-card span,.timeline-slot-card small{color:#64748b;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-slot-card[data-tone=warning]{border-left-color:#f1a208}.timeline-slot-card[data-tone=danger]{border-left-color:#d64545}.timeline-slot-card[data-tone=neutral]{border-left-color:#64748b}.timeline-slot-card[data-tone=success]{border-left-color:#00ef9c;background:#00ef9c0f}.slot-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;color:#1a1a2e;padding:10px 14px;border-radius:10px;border:1px solid var(--line);font-size:.78rem;line-height:1.5;white-space:nowrap;z-index:20;pointer-events:none;box-shadow:0 6px 20px #0000001f}.slot-tooltip:after{content:"";position:absolute;top:100%;left:16px;border:6px solid transparent;border-top-color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.timeline-slot-card:hover{overflow:visible;z-index:10}.timeline-slot-card:hover .slot-tooltip{display:block}.slot-tooltip strong{display:block;font-size:.82rem;margin-bottom:2px;color:#0f172a}.slot-tooltip .tip-row{display:flex;gap:6px;color:#334155}.slot-tooltip .tip-label{color:#94a3b8;font-size:.72rem}.slot-booking-name{font-weight:600;color:#059669}.timeline-slot-card.is-detailed{left:8px;right:8px;padding:0;overflow:hidden;border-radius:10px;gap:0}.timeline-slot-card.is-detailed strong{font-size:.9rem}.timeline-slot-card.is-detailed span{font-size:.8rem;color:#475569;font-weight:600}.timeline-slot-card.is-detailed small{font-size:.75rem}.timeline-slot-card.is-detailed.is-selected{box-shadow:inset 0 0 0 1px #4f46e52e,0 16px 30px #0f172a14}.timeline-slot-main{border:none;background:transparent;width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:8px 42px 8px 12px;cursor:pointer}.timeline-slot-main strong{white-space:nowrap}.slot-meta-inline{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#64748b;font-weight:500;white-space:nowrap}.slot-meta-sep{color:#cbd5e1;font-weight:700}.timeline-slot-action{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-width:28px;min-height:28px;width:28px;height:28px;border-radius:14px;font-size:1.05rem;font-weight:800;display:grid;place-items:center;line-height:1;cursor:pointer;transition:background .15s;padding:0;flex-shrink:0}.timeline-slot-action.remove{border:1px solid rgba(214,69,69,.22);background:#fff1f1;color:#c0392b}.timeline-slot-action.remove:hover{background:#ffe3e3}.timeline-slot-action.enable{border:1px solid rgba(0,200,120,.3);background:#ecfdf5;color:#059669}.timeline-slot-action.enable:hover{background:#d1fae5}.timeline-day-focus{padding:16px 18px;border-radius:18px;border:1px solid #dbe1ea;background:radial-gradient(circle at top left,rgba(0,239,156,.12),transparent 42%),linear-gradient(135deg,#f8fafcfa,#ffffffeb)}.timeline-day-focus h3{margin:6px 0 0}.timeline-day-focus p{margin:6px 0 0;color:#64748b}.timeline-empty-state{position:absolute;top:22px;right:22px;bottom:22px;left:22px;display:grid;place-items:center;border-radius:18px;border:1px dashed #cbd5e1;background:#f8fafcf2;color:#64748b}.month-calendar-weekdays,.month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dbe1ea;border:1px solid #dbe1ea;border-radius:16px;overflow:hidden}.month-calendar-weekdays span{text-align:center;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;background:#f8fafc;padding:10px 6px}.month-cell{min-height:108px;border:none;border-radius:0;padding:10px;background:#fff;display:grid;align-content:start;gap:12px;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.month-cell:hover{transform:translateY(-1px);background:#f8fafc}.month-cell.is-muted{background:#f8fafc}.month-cell.is-today{box-shadow:inset 0 0 0 1px #0ea5e947}.month-cell.is-selected{background:#eef2ff;box-shadow:inset 0 0 0 1px #4f46e533}.month-cell-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.month-cell-top time{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:12px;font-weight:800}.month-cell.is-today .month-cell-top time{background:#4f46e51f;color:#4338ca}.month-cell.is-selected .month-cell-top time{background:#4f46e5;color:#fff}.month-cell-count{min-width:28px;padding:4px 8px;border-radius:12px;background:#f1f5f9;font-size:.75rem;font-weight:800;color:#334155}.month-cell-events,.month-cell-dots{display:flex}.month-cell-events{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.month-cell-event,.month-cell-more,.month-cell-empty{font-size:.8rem;color:#64748b}.month-cell-event{display:flex;align-items:center;gap:8px}.month-cell-more{padding-left:16px}.month-cell-empty{align-self:end}.month-cell-dots{gap:6px}.calendar-event-dot{width:8px;height:8px;border-radius:12px;flex:none;background:#16211b33}.calendar-event-dot[data-tone=success]{background:#00ef9c}.calendar-event-dot[data-tone=warning]{background:#f1a208}.calendar-event-dot[data-tone=danger]{background:#d64545}.selected-day-panel{display:grid;gap:14px;padding:18px;max-height:920px;overflow:auto}.selected-day-panel.is-below{max-height:none;overflow:visible}.selected-period-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.selected-period-chip{min-width:86px;flex:none}.selected-slot-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.selected-slot-chip{flex:none;min-width:96px;border:1px solid #dbe1ea;border-radius:12px;background:#f8fafc;padding:10px 14px;color:#64748b;font-weight:800}.selected-slot-chip.is-selected{background:#eef2ff;border-color:#4f46e540;color:#312e81}.selected-day-list{display:grid;gap:12px}.selected-day-card{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:14px;display:grid;gap:12px}.selected-day-panel.is-below .selected-day-card{max-width:420px;width:100%;justify-self:start}.selected-day-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.selected-day-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selected-day-card-grid div{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.selected-day-card-grid span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-bottom:4px}.selected-day-card-actions{display:flex;justify-content:flex-end}.admin-empty-state{margin:0;padding:16px;border-radius:var(--radius-md);background:#16211b0a;color:var(--muted)}.rule-stack{display:grid;gap:12px}.weekday-selector-field{margin:0;padding:0;border:none;grid-column:1 / -1}.weekday-selector-field legend{margin-bottom:6px;font-size:.8rem;font-weight:600}.weekday-chip-group{display:flex;flex-wrap:wrap;gap:8px}.weekday-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:6px 8px;border:1px solid var(--line);border-radius:12px;background:#ffffffbd;color:var(--muted);font-weight:700;font-size:.8rem;cursor:pointer}.weekday-chip input{position:absolute;opacity:0;pointer-events:none}.weekday-chip.is-selected{border-color:#00ef9c80;background:#00ef9c1f;color:var(--ink)}.slot-list-card,.rule-card{padding:16px}.slot-list-head,.rule-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.slot-list-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.compact-table th,.compact-table td{padding:12px 8px}.bookings-toolbar{display:flex;gap:8px;padding:0 0 12px;align-items:center}.bookings-search{flex:1;min-width:200px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;font-size:.85rem}.bookings-filter-select{padding:7px 12px;border:1px solid var(--line);border-radius:8px;font-size:.85rem;background:#fff;cursor:pointer}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:#059669}.bookings-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 4px;font-size:.85rem;color:var(--muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-card{background:#fff;border-radius:16px;padding:28px;max-width:460px;width:100%;box-shadow:0 8px 32px #00000026}.modal-card h3{margin:0 0 8px;font-size:1.15rem}.modal-card>p{color:var(--muted);font-size:.88rem;margin:0 0 16px}.cleanup-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.cleanup-form label{font-size:.82rem;font-weight:600;display:flex;flex-direction:column;gap:4px}.cleanup-form input{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:.85rem}.cleanup-states{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 16px}.cleanup-states legend{font-size:.82rem;font-weight:600;padding:0 4px}.cleanup-states label{display:flex;align-items:center;gap:8px;font-size:.85rem;padding:4px 0;cursor:pointer}.modal-actions{display:flex;gap:8px}.primary-button.danger{background:#d64545}.primary-button.danger:hover{background:#b93c3c}.danger-text{color:#d64545!important}.cleanup-confirm{margin-top:8px}.cleanup-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;font-size:.85rem;color:#991b1b;margin:0 0 12px}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}td strong,td small{display:block}.action-cell,.stacked-cell,.inline-fields{display:grid;gap:8px}.footer{padding:18px 0 0}@media(max-width:980px){.hero,.booking-layout,.feature-grid,.steps-grid,.faq-list,.admin-grid,.admin-summary-strip,.hero-stats,.result-grid{grid-template-columns:1fr}.hero-card.wide,.result-panel.wide,.admin-table-card{grid-column:span 1}.admin-form-grid,.admin-form-compact,.rule-card-grid,.slot-list-fields{grid-template-columns:1fr}.admin-form-compact .wide,.slot-list-fields .wide{grid-column:span 1}.admin-calendar-layout{grid-template-columns:1fr}.calendar-template-header,.calendar-toolbar{flex-direction:column;align-items:stretch}.selected-day-panel{max-height:none}.selected-day-card-grid{grid-template-columns:1fr}}.floating-chat-btn{position:fixed;bottom:32px;right:32px;background:var(--mint);color:var(--ink);width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #00ef9c66;z-index:50;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.floating-chat-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px #00ef9c99;background:#0fa}@media(max-width:720px){.site-shell{width:min(100vw - 24px,100%)}.topbar{flex-direction:row;flex-wrap:wrap;gap:12px;margin:12px 0 20px;top:12px}.nav-center{display:none}.nav-right{margin-left:auto}.hero{grid-template-columns:1fr;padding:16px 0 24px;gap:20px}.hero-copy{text-align:center;padding:32px 24px}.hero h1{max-width:none;font-size:clamp(2rem,8vw,3rem);line-height:1.05;margin:12px 0}.eyebrow{justify-content:center}.hero p{font-size:1.05rem}.hero-actions{flex-direction:column;align-items:center;gap:10px;margin-top:20px}.hero-actions a,.hero-actions button{width:100%;text-align:center;justify-content:center}.hero-panel{padding:12px;border-radius:20px}.hero-grid{grid-template-columns:1fr 1fr;gap:10px}.hero-card.wide{grid-column:1 / -1}.cta-banner.giant-card{min-height:320px;padding:32px 24px;border-radius:20px}.cta-banner.giant-card h2{font-size:clamp(1.8rem,6vw,2.4rem)}.cta-banner.giant-card .primary-button{width:100%;text-align:center;justify-content:center}.faq-header-wrapper{text-align:center;margin-bottom:28px}.faq-header-wrapper h2{font-size:clamp(1.6rem,6vw,2.4rem)}.faq-columns{grid-template-columns:1fr;gap:12px}.accordion-content{padding:0 20px 20px}.hero-copy,.hero-panel,.content-card{padding:24px}.content-card h1{font-size:clamp(1.8rem,7vw,2.8rem);line-height:1.1}.booking-form-header,.section-heading,.admin-header,.slot-list-head,.rule-card-head{flex-direction:column;align-items:stretch;gap:10px}.booking-layout,.admin-form-compact,.rule-card-grid,.slot-list-fields{grid-template-columns:1fr}.admin-form-compact .wide,.slot-list-fields .wide{grid-column:span 1}.admin-calendar-layout{grid-template-columns:1fr}.calendar-template-header,.calendar-toolbar{flex-direction:column;align-items:stretch}.selected-day-panel{max-height:none}.selected-day-card-grid{grid-template-columns:1fr}.floating-chat-btn{bottom:20px;right:20px;width:52px;height:52px}.month-calendar-weekdays,.month-calendar-grid{gap:1px}.month-cell{min-height:92px;padding:8px}.month-cell-events{display:none}.timeline-week-header{grid-template-columns:repeat(3,minmax(0,1fr));margin-left:54px}.timeline-shell{grid-template-columns:42px minmax(0,1fr)}.timeline-week-columns{min-width:700px}.timeline-day-chip,.selected-period-chip{padding:10px 8px}.admin-summary-strip{grid-template-columns:repeat(2,1fr);gap:8px}.admin-summary-card{padding:12px 14px}.admin-summary-card strong{font-size:1.4rem}.compact-admin .content-card{padding:18px}.compact-admin h1{font-size:1.5rem!important}.compact-admin .hero-actions{gap:6px}.compact-admin .hero-actions button{padding:8px 14px;font-size:.82rem}.calendar-shell-actions{justify-content:center;width:100%}.calendar-view-switch{width:100%}.calendar-view-switch button{flex:1;padding:7px 10px;font-size:.82rem}.bookings-toolbar{flex-wrap:wrap}.bookings-search{flex-basis:100%}.bookings-filter-select{flex:1}.compact-table th:nth-child(5),.compact-table td:nth-child(5),.compact-table th:nth-child(6),.compact-table td:nth-child(6){display:none}.compact-table th,.compact-table td{padding:8px 6px;font-size:.78rem}.section-heading.compact{gap:4px}.admin-form-compact button[type=submit]{width:100%}.modal-card{padding:20px}.cleanup-form{grid-template-columns:1fr}.slot-tooltip{left:0;transform:none;white-space:normal;min-width:200px}.slot-tooltip:after{left:20px;transform:none}.timeline-slot-card.is-detailed .slot-meta-inline{flex-wrap:wrap}.bookings-pagination{font-size:.8rem;gap:8px}}@media(max-width:480px){.admin-summary-strip{grid-template-columns:repeat(2,1fr);gap:6px}.admin-summary-card{padding:10px 12px}.admin-summary-card strong{font-size:1.2rem}.admin-summary-card small{font-size:.68rem}.compact-admin .content-card{padding:14px}.calendar-shell-actions{flex-wrap:wrap;gap:6px}.calendar-shell-actions button{flex:1;min-width:0;padding:7px 10px;font-size:.8rem}.modal-card{padding:16px}.modal-card h3{font-size:1rem}.compact-table th,.compact-table td{padding:6px 4px;font-size:.75rem}}
