:root{--brand-yellow: #F2C12E;--brand-yellow-dark: #D9A820;--brand-yellow-light: #FDF0B0;--brand-yellow-bg: #FEF9E7;--brand-navy: #1E3A6E;--brand-navy-light: #2a4f96;--brand-navy-pale: #e8edf7;--white: #ffffff;--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #999999;--border: rgba(0,0,0,.12);--border-strong: rgba(0,0,0,.22);--bg-secondary: #f5f5f3;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f0f0ee;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:0}#root{width:100%;max-width:520px;min-height:100vh;background:#fff}.hero{background:var(--brand-yellow);padding:1.5rem 1.25rem 1.25rem;text-align:center}.hero-logo{font-size:11px;letter-spacing:3px;color:var(--brand-navy);text-transform:uppercase;margin-bottom:.3rem;font-weight:500;opacity:.7}.hero h1{font-size:20px;font-weight:700;color:var(--brand-navy)}.hero p{font-size:12px;color:var(--brand-navy);opacity:.7;margin-top:.2rem}.steps{display:flex;background:#fff;border-bottom:.5px solid var(--border)}.step{flex:1;padding:.55rem .2rem;text-align:center;font-size:11px;color:#aaa;border-bottom:2px solid transparent;transition:.15s}.step.active{color:var(--brand-navy);border-bottom-color:var(--brand-yellow);font-weight:500}.step.done{color:#3b7a3b}.body{padding:1rem}.sec{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.btn{width:100%;padding:.7rem;background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;margin-top:.5rem;transition:.15s;font-family:inherit}.btn:hover{background:var(--brand-navy-light)}.btn:disabled{background:#ccc;cursor:default}.btn-back{background:none;border:.5px solid var(--border-strong);border-radius:var(--radius-sm);padding:.3rem .75rem;font-size:12px;cursor:pointer;color:var(--text-secondary);margin-bottom:.85rem;display:inline-block;font-family:inherit}.btn-back:hover{background:var(--bg-secondary)}.entry-primary{border:1.5px solid var(--brand-navy);border-radius:var(--radius-xl);padding:1rem 1.1rem;cursor:pointer;display:flex;align-items:center;gap:.85rem;margin-bottom:.75rem;background:var(--brand-navy);transition:.15s;position:relative}.entry-primary:hover{background:var(--brand-navy-light)}.entry-primary .ei{font-size:22px;width:36px;text-align:center;flex-shrink:0}.entry-primary .et{font-size:14px;font-weight:500;color:#fff}.entry-primary .es{font-size:12px;color:#ffffffb3;margin-top:.1rem}.entry-primary .ea{margin-left:auto;color:#ffffff80;font-size:18px}.punta-badge{position:absolute;top:-1px;right:-1px;background:var(--brand-yellow);color:var(--brand-navy);font-size:10px;font-weight:500;padding:.2rem .6rem;border-radius:0 var(--radius-xl) 0 6px}.divider{display:flex;align-items:center;gap:.75rem;margin:.1rem 0 .65rem;font-size:11px;color:var(--text-tertiary)}.divider:before,.divider:after{content:"";flex:1;height:.5px;background:var(--border)}.entry-card{border:.5px solid var(--border);border-radius:var(--radius-lg);padding:.85rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem;background:#fff;transition:.15s}.entry-card:hover{border-color:var(--brand-navy);background:var(--brand-navy-pale)}.entry-card .ei{font-size:20px;width:30px;text-align:center;flex-shrink:0}.entry-card .et{font-size:14px;font-weight:500;color:var(--text-primary)}.entry-card .es{font-size:12px;color:var(--text-secondary);margin-top:.1rem}.entry-card .ea{margin-left:auto;color:var(--text-tertiary)}.pkg-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem}.pkg-card{border:.5px solid var(--border);border-radius:var(--radius-lg);padding:.9rem;cursor:pointer;transition:.15s;background:#fff;position:relative}.pkg-card:hover{border-color:var(--brand-navy)}.pkg-card.selected{border:1.5px solid var(--brand-navy);background:var(--brand-navy-pale)}.pkg-pop{position:absolute;top:-1px;right:-1px;background:var(--brand-yellow);color:var(--brand-navy);font-size:10px;font-weight:500;padding:.2rem .5rem;border-radius:0 var(--radius-md) 0 6px}.pkg-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:.2rem}.pkg-price{font-size:17px;font-weight:500;color:var(--brand-navy);margin-bottom:.35rem}.pkg-per{font-size:11px;color:var(--text-tertiary)}.pkg-feats{list-style:none;font-size:12px;color:var(--text-secondary);line-height:1.9}.pkg-feats li:before{content:"✓ ";color:#3b7a3b}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.cal-nav button{background:none;border:.5px solid var(--border);border-radius:var(--radius-sm);padding:.2rem .65rem;cursor:pointer;font-size:15px;color:var(--text-primary);font-family:inherit}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:.65rem}.cal-day-header{font-size:10px;color:var(--text-secondary);text-align:center;padding:.2rem 0}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:5px;font-size:12px;cursor:default;color:var(--text-primary)}.cal-day.available{color:var(--brand-navy);font-weight:500;cursor:pointer;border:.5px solid transparent;background:var(--brand-yellow-bg)}.cal-day.available:hover{background:var(--brand-yellow-light);border-color:var(--brand-yellow-dark)}.cal-day.selected{background:var(--brand-navy);color:#fff}.cal-day.past{color:var(--text-tertiary)}.cal-day.full{color:#ccc;text-decoration:line-through}.sess-info{background:var(--brand-yellow-bg);border:.5px solid #d4c060;border-radius:var(--radius-md);padding:.65rem .85rem;margin-bottom:.85rem;font-size:13px;color:var(--brand-navy)}.spots{display:flex;gap:3px;margin-top:.3rem}.spot{width:10px;height:10px;border-radius:2px}.spot.taken{background:var(--brand-navy)}.spot.free{background:var(--border)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:.75rem}.form-group{margin-bottom:.75rem}.form-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:.3rem}.form-input{width:100%;padding:.45rem .7rem;border:.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13px;background:#fff;color:var(--text-primary);font-family:inherit}.form-input:focus{outline:none;border-color:var(--brand-navy)}.mini-bar{background:var(--brand-navy-pale);border-radius:var(--radius-sm);padding:.4rem .75rem;margin-bottom:.85rem;font-size:12px;color:var(--brand-navy);display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:.85rem}.pay-opt{border:.5px solid var(--border);border-radius:var(--radius-lg);padding:.75rem;cursor:pointer;text-align:center;transition:.15s}.pay-opt:hover{border-color:var(--brand-navy)}.pay-opt.selected{border:1.5px solid var(--brand-navy);background:var(--brand-navy-pale)}.pay-opt-icon{font-size:20px;margin-bottom:.2rem}.pay-opt-name{font-size:13px;font-weight:500;color:var(--text-primary)}.pay-opt-sub{font-size:11px;color:var(--text-secondary)}.stripe-box{border:.5px solid var(--border);border-radius:var(--radius-lg);padding:.9rem;margin-bottom:.85rem}.card-row{display:grid;grid-template-columns:1fr 72px 56px;gap:8px}.bonif-box{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:.85rem 1rem;margin-bottom:.85rem}.bonif-row{display:flex;justify-content:space-between;font-size:13px;padding:.25rem 0;border-bottom:.5px solid var(--border);color:var(--text-secondary)}.bonif-row:last-child{border:none;font-weight:500;color:var(--text-primary)}.gc-box{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1rem;margin-bottom:.85rem}.gc-row{display:flex;gap:8px}.gc-input{flex:1;padding:.4rem .65rem;border:.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13px;text-transform:uppercase;font-family:inherit}.gc-btn{padding:.4rem .85rem;background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap}.msg-ok{font-size:12px;color:#085041;background:#e1f5ee;border:.5px solid #9fe1cb;padding:.35rem .65rem;border-radius:var(--radius-sm);margin-top:.5rem}.msg-err{font-size:12px;color:#993c1d;background:#faece7;border:.5px solid #f0997b;padding:.35rem .65rem;border-radius:var(--radius-sm);margin-top:.5rem}.ok-screen{text-align:center;padding:1.75rem 1rem}.ok-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .85rem;font-size:24px}.ok-title{font-size:18px;font-weight:500;margin-bottom:.4rem;color:var(--brand-navy)}.ok-body{font-size:13px;color:var(--text-secondary);margin-bottom:1rem}.badge{display:inline-block;font-size:11px;padding:.2rem .55rem;border-radius:20px;background:var(--brand-yellow-bg);color:var(--brand-navy);border:.5px solid #d4c060;margin:.15rem}.note{font-size:11px;color:var(--text-tertiary);text-align:center;margin-top:.65rem}.loading{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:14px}.error-msg{background:#fcebeb;border:.5px solid #f09595;border-radius:var(--radius-md);padding:.75rem 1rem;font-size:13px;color:#a32d2d;margin-bottom:1rem}
