:root {
    --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --color-text-primary: #1a1a18;
    --color-text-secondary: #4a4a46;
    --color-text-tertiary: #888880;
    --color-background-primary: #ffffff;
    --color-background-secondary: #f8f7f4;
    --color-border-primary: #c8c7c0;
    --color-border-secondary: #a8a79e;
    --color-border-tertiary: #e0dfd8;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:var(--font-sans);background:#f4f2ec;min-height:100vh;padding:32px 16px;}
  .page-header{text-align:center;margin-bottom:32px}
  .page-header h1{font-size:26px;font-weight:500;color:var(--color-text-primary);margin-bottom:6px;letter-spacing:-.02em}
  .page-header p{font-size:14px;color:var(--color-text-tertiary)}
  .form-card{background:#fff;border-radius:16px;padding:32px;max-width:620px;margin:0 auto;box-shadow:0 2px 16px rgba(0,0,0,.08)}
  .wrap{max-width:580px;margin:0 auto;font-family:var(--font-sans)}
  h2{font-size:20px;font-weight:500;color:var(--color-text-primary);margin-bottom:6px}
  h3{font-size:15px;font-weight:500;color:var(--color-text-primary);margin-bottom:6px}
  .sub{font-size:14px;color:var(--color-text-secondary);margin-bottom:22px;line-height:1.5}
  .progress{display:flex;gap:6px;margin-bottom:8px}
  .pip{height:4px;flex:1;border-radius:2px;background:var(--color-border-tertiary);transition:background .3s}
  .pip.done{background:#1D9E75}.pip.active{background:#7F77DD}
  .progress-label{font-size:11px;color:var(--color-text-tertiary);margin-bottom:22px}
  .step{display:none}.step.active{display:block}
  .type-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;margin-bottom:18px}
  .type-corporate{background:#E6F1FB;color:#0C447C}
  .type-family{background:#EEEDFE;color:#3C3489}
  .type-hens{background:#FBEAF0;color:#72243E}
  .type-special{background:#FAEEDA;color:#633806}
  .type-facilitator{background:#E1F5EE;color:#085041}
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
  .card{border:1.5px solid var(--color-border-tertiary);border-radius:12px;padding:14px 12px;cursor:pointer;transition:all .2s;text-align:center}
  .card:hover{border-color:var(--color-border-secondary)}
  .card.sel{border-color:#534AB7;background:#EEEDFE}
  .card-icon{font-size:20px;margin-bottom:6px}
  .card-label{font-size:13px;font-weight:500;color:var(--color-text-primary);line-height:1.3}
  .card-desc{font-size:11px;color:var(--color-text-tertiary);margin-top:3px;line-height:1.3}
  .field{margin-bottom:16px}
  label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}
  input,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--color-border-tertiary);border-radius:8px;font-size:14px;color:var(--color-text-primary);background:var(--color-background-primary);font-family:var(--font-sans);transition:border-color .2s;outline:none}
  input:focus,textarea:focus{border-color:#534AB7}
  textarea{resize:vertical;min-height:80px}
  .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
  .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
  .chip{padding:6px 14px;border:1.5px solid var(--color-border-tertiary);border-radius:20px;font-size:13px;cursor:pointer;color:var(--color-text-secondary);transition:all .2s;background:transparent;font-family:var(--font-sans)}
  .chip:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary)}
  .chip.sel{border-color:#534AB7;background:#EEEDFE;color:#3C3489}
  .hint{font-size:12px;color:var(--color-text-tertiary);margin-top:5px;line-height:1.4}
  .divider{border:none;border-top:1px solid var(--color-border-tertiary);margin:20px 0}
  .section-heading{font-size:13px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
  .info-band{border:1.5px solid var(--color-border-tertiary);border-radius:10px;padding:14px 16px;margin-bottom:16px;background:var(--color-background-secondary)}
  .info-band p{font-size:13px;color:var(--color-text-secondary);line-height:1.5}
  .info-band strong{color:var(--color-text-primary)}
  .notice{border-radius:8px;padding:11px 14px;font-size:13px;line-height:1.5;margin-bottom:10px}
  .notice-amber{background:#FAEEDA;color:#633806;border:1px solid #FAC775}
  .notice-blue{background:#E6F1FB;color:#0C447C;border:1px solid #B5D4F4}
  .notice-green{background:#E1F5EE;color:#085041;border:1px solid #9FE1CB}
  .notice-purple{background:#EEEDFE;color:#3C3489;border:1px solid #C4C1F0}
  .bed-option{border:1.5px solid var(--color-border-tertiary);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .2s;margin-bottom:8px}
  .bed-option:hover{border-color:var(--color-border-secondary)}
  .bed-option.sel{border-color:#534AB7;background:#EEEDFE}
  .bed-option-title{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:3px}
  .bed-option-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.4}
  .toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:12px 14px;border:1.5px solid var(--color-border-tertiary);border-radius:10px;background:var(--color-background-secondary);cursor:pointer;transition:all .2s}
  .toggle-row:hover{border-color:var(--color-border-secondary)}
  .toggle-row.on{border-color:#1D9E75;background:#E1F5EE}
  .toggle-row.on .toggle-label{color:#085041}
  .toggle-row.on .toggle-price{color:#0F6E56}
  .toggle-label{font-size:13px;font-weight:500;color:var(--color-text-primary);flex:1}
  .toggle-sub{font-size:11px;color:var(--color-text-tertiary);display:block;margin-top:2px}
  .toggle-price{font-size:13px;font-weight:500;color:var(--color-text-tertiary);margin-right:10px;flex-shrink:0}
  .toggle-switch{width:36px;height:20px;border-radius:10px;background:var(--color-border-tertiary);position:relative;transition:background .2s;flex-shrink:0}
  .toggle-switch.on{background:#1D9E75}
  .toggle-switch::after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .2s}
  .toggle-switch.on::after{left:19px}
  .ctrl-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:12px 14px;border:1.5px solid var(--color-border-tertiary);border-radius:10px;background:var(--color-background-secondary)}
  .ctrl-row label{font-size:13px;color:var(--color-text-primary);font-weight:500;flex:1;margin-bottom:0}
  .ctrl-btns{display:flex;align-items:center;gap:10px;flex-shrink:0}
  .g-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--color-border-tertiary);background:var(--color-background-primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s;font-family:var(--font-sans);line-height:1}
  .g-btn:hover{border-color:#534AB7;color:#534AB7}
  .g-count{font-size:16px;font-weight:500;color:var(--color-text-primary);min-width:28px;text-align:center}
  .days-nav{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
  .day-tab{padding:7px 14px;border-radius:20px;border:1.5px solid var(--color-border-tertiary);font-size:13px;font-weight:500;cursor:pointer;color:var(--color-text-secondary);transition:all .2s;background:transparent;font-family:var(--font-sans)}
  .day-tab.active{border-color:#534AB7;background:#EEEDFE;color:#3C3489}
  .day-tab.complete{border-color:#1D9E75;background:#E1F5EE;color:#085041}
  .meal-section{margin-bottom:24px}
  .meal-heading{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:3px}
  .meal-sub{font-size:12px;color:var(--color-text-tertiary);margin-bottom:10px}
  .tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
  .tier{border:1.5px solid var(--color-border-tertiary);border-radius:10px;padding:11px 9px;cursor:pointer;transition:all .2s}
  .tier:hover{border-color:var(--color-border-secondary)}
  .tier.sel-b{border-color:#854F0B;background:#FAEEDA}
  .tier.sel-l{border-color:#0F6E56;background:#E1F5EE}
  .tier.sel-d{border-color:#534AB7;background:#EEEDFE}
  .self-tier{border:1.5px dashed var(--color-border-tertiary);border-radius:10px;padding:11px 9px;cursor:pointer;transition:all .2s}
  .self-tier:hover{border-color:var(--color-border-secondary)}
  .self-tier.sel-self{border-color:#888780;background:#F1EFE8;border-style:solid}
  .tier-label{font-size:9px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
  .tier-price{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:3px}
  .tier-name{font-size:11px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px;line-height:1.3}
  .tier-desc{font-size:10px;color:var(--color-text-tertiary);line-height:1.3}
  .tier.sel-b .tier-name,.tier.sel-b .tier-price,.tier.sel-b .tier-label{color:#633806}
  .tier.sel-b .tier-desc{color:#854F0B}
  .tier.sel-l .tier-name,.tier.sel-l .tier-price,.tier.sel-l .tier-label{color:#085041}
  .tier.sel-l .tier-desc{color:#0F6E56}
  .tier.sel-d .tier-name,.tier.sel-d .tier-price,.tier.sel-d .tier-label{color:#3C3489}
  .tier.sel-d .tier-desc{color:#534AB7}
  .self-tier .tier-name{color:var(--color-text-secondary);font-size:11px;font-weight:500}
  .self-tier.sel-self .tier-name{color:#444441}
  .self-tier .tier-desc{color:var(--color-text-tertiary);font-size:10px}
  .na-band{padding:12px;border-radius:8px;background:var(--color-background-secondary);border:1.5px solid var(--color-border-tertiary);font-size:12px;color:var(--color-text-tertiary);text-align:center}
  .meal-total-bar{background:var(--color-background-secondary);border:1.5px solid var(--color-border-tertiary);border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .meal-total-bar span{font-size:13px;color:var(--color-text-secondary)}
  .meal-total-bar strong{font-size:15px;font-weight:500;color:var(--color-text-primary)}
  .activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .act-card{border:1.5px solid var(--color-border-tertiary);border-radius:10px;padding:11px 12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:10px}
  .act-card:hover{border-color:var(--color-border-secondary)}
  .act-card.sel{border-color:#534AB7;background:#EEEDFE}
  .act-icon{font-size:16px;flex-shrink:0}
  .act-name{font-size:12px;font-weight:500;color:var(--color-text-primary)}
  .act-price{font-size:11px;color:var(--color-text-tertiary);margin-top:1px}
  .act-card.sel .act-name{color:#3C3489}
  .strat-card{border:1.5px solid #B5D4F4;border-radius:12px;overflow:hidden;margin-bottom:16px}
  .strat-card-header{background:#185FA5;padding:12px 16px}
  .strat-card-header-title{font-size:13px;font-weight:500;color:#E6F1FB;margin-bottom:2px}
  .strat-card-header-sub{font-size:11px;color:#85B7EB}
  .strat-card-body{padding:14px 16px;background:var(--color-background-secondary)}
  .strat-card-body p{font-size:13px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:10px}
  .strat-cred{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
  .strat-cred-pill{padding:3px 10px;border-radius:20px;font-size:11px;background:#E6F1FB;color:#0C447C;border:1px solid #B5D4F4}
  .strat-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .strat-option{border:1.5px solid var(--color-border-tertiary);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s;text-align:center}
  .strat-option:hover{border-color:var(--color-border-secondary)}
  .strat-option.sel{border-color:#185FA5;background:#E6F1FB}
  .strat-option-title{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:3px}
  .strat-option-desc{font-size:11px;color:var(--color-text-tertiary)}
  .express-card{border:1.5px solid #5DCAA5;border-radius:12px;padding:16px;background:#E1F5EE;margin-bottom:16px}
  .express-card p{font-size:14px;color:#085041;line-height:1.6}
  .estimate-box{border:1.5px solid var(--color-border-tertiary);border-radius:14px;overflow:hidden;margin-bottom:16px}
  .estimate-header{background:#534AB7;padding:14px 16px}
  .estimate-header h3{font-size:14px;font-weight:500;color:#fff;margin-bottom:2px}
  .estimate-header p{font-size:11px;color:#C4C1F0}
  .estimate-body{padding:14px 16px}
  .line-group{margin-bottom:12px}
  .line-group-title{font-size:10px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
  .line{display:flex;justify-content:space-between;align-items:flex-start;font-size:12px;padding:5px 0;border-bottom:1px solid var(--color-border-tertiary);gap:10px}
  .line:last-child{border-bottom:none}
  .line-label{color:var(--color-text-secondary);flex:1;line-height:1.4}
  .line-val{font-weight:500;color:var(--color-text-primary);flex-shrink:0}
  .subtotal-line,.gst-line{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px}
  .subtotal-line{border-top:1px solid var(--color-border-tertiary)}
  .total-line{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-background-secondary);border-top:1.5px solid var(--color-border-tertiary)}
  .total-line-label{font-size:14px;font-weight:500;color:var(--color-text-primary)}
  .total-line-amount{font-size:20px;font-weight:500;color:#534AB7}
  .pp-line{display:flex;justify-content:flex-end;padding:5px 16px 12px;background:var(--color-background-secondary)}
  .pp-line span{font-size:11px;color:var(--color-text-tertiary)}
  .inclusions-band{background:#F7F5EE;border-top:1.5px solid #E0DAC8;padding:12px 16px}
  .inclusions-band-title{font-size:10px;font-weight:500;color:#5F5344;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
  .inclusions-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
  .inclusion-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#5F5344}
  .inclusion-dot{width:5px;height:5px;border-radius:50%;background:#B5956A;flex-shrink:0}
  .inclusions-pill{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
  .incl-pill{padding:4px 12px;border-radius:20px;font-size:12px;background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);color:var(--color-text-secondary)}
  .confirm{text-align:center;padding:8px 0}
  .confirm-icon{width:52px;height:52px;border-radius:50%;background:#E1F5EE;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
  .tick{width:26px;height:26px;stroke:#0F6E56;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .next-steps{border:1.5px solid var(--color-border-tertiary);border-radius:12px;padding:16px;text-align:left;max-width:400px;margin:0 auto 16px}
  .btns{display:flex;gap:10px;margin-top:12px}
  .btn{padding:11px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;font-family:var(--font-sans);transition:opacity .15s}
  .btn-primary{background:#534AB7;color:#fff}.btn-primary:hover{opacity:.88}
  .btn-ghost{background:transparent;border:1.5px solid var(--color-border-tertiary);color:var(--color-text-secondary)}
  .btn-ghost:hover{border-color:var(--color-border-secondary)}
  .info-note{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:10px;font-size:13px;line-height:1.5;margin-bottom:10px}
  .info-note-chef{background:#E6F1FB;border:1px solid #B5D4F4;color:#0C447C}
  .info-note-diet{background:#E1F5EE;border:1px solid #9FE1CB;color:#085041}
  .info-note-icon{font-size:14px;flex-shrink:0;margin-top:1px}
  .summary-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 10px;border-radius:7px;background:var(--color-background-secondary);margin-bottom:5px}
  .none-pill{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;background:var(--color-background-secondary);color:var(--color-text-tertiary);border:1px solid var(--color-border-tertiary)}
  .self-pill{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;background:#F1EFE8;color:#5F5E5A;border:1px solid #D3D1C7}
  .review-banner{background:#FFF8E6;border:1px solid #F5D87A;border-radius:10px;padding:12px 16px;margin-bottom:24px;font-size:13px;color:#7A5500;text-align:center}
  .sharing-card{border:1.5px solid var(--color-border-tertiary);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s}
  .sharing-card:hover{border-color:var(--color-border-secondary)}
  .sharing-card.sel{border-color:#534AB7}
  .sharing-card-hdr{padding:9px 13px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:7px;background:var(--color-background-secondary);color:var(--color-text-secondary)}
  .sharing-card.sel .sharing-card-hdr{background:#EEEDFE;color:#3C3489}
  .sharing-card-body{padding:9px 13px;border-top:1px solid var(--color-border-tertiary)}
  .sharing-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
  .sharing-row:last-child{margin-bottom:0}
  .sharing-lbl{font-size:11px;color:var(--color-text-secondary)}
  .sharing-val{font-size:12px;font-weight:500;color:var(--color-text-primary)}
  .sharing-card.sel .sharing-val{color:#3C3489}
  .capacity-pill{display:inline-flex;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;background:#E1F5EE;color:#085041;border:1px solid #9FE1CB;margin-bottom:6px}
  .budget-chip{border:1.5px solid var(--color-border-tertiary);border-radius:10px;padding:11px 14px;cursor:pointer;font-size:13px;font-weight:500;color:var(--color-text-secondary);transition:all .2s;text-align:center;background:var(--color-background-secondary)}
  .budget-chip:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary)}
  .budget-chip.sel{border-color:#534AB7;background:#EEEDFE;color:#3C3489}
  .budget-feedback-over{border-radius:10px;padding:13px 15px;background:#E1F5EE;border:1.5px solid #9FE1CB;font-size:13px;color:#085041;line-height:1.6}
  .budget-feedback-under{border-radius:10px;padding:13px 15px;background:#FAEEDA;border:1.5px solid #FAC775;font-size:13px;color:#633806;line-height:1.6}
  .budget-feedback-match{border-radius:10px;padding:13px 15px;background:#EEEDFE;border:1.5px solid #C4C1F0;font-size:13px;color:#3C3489;line-height:1.6}
  .dial-preset{padding:6px 14px;border-radius:20px;border:1.5px solid var(--color-border-tertiary);background:transparent;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);transition:all .2s}
  .dial-preset:hover{border-color:#534AB7;color:#534AB7}
  .dial-preset.active{border-color:#534AB7;background:#EEEDFE;color:#3C3489}
  .room-block{border-radius:8px;padding:9px 11px}
  .room-block-kings{background:#EEEDFE;border:1px solid #C4C1F0}
  .room-block-tepees{background:#FAEEDA;border:1px solid #FAC775}
  .room-block-none{background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary)}
  .room-block-title{font-size:12px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px}
  .room-block-detail{font-size:11px;color:var(--color-text-secondary);line-height:1.4}
  .room-block-none .room-block-title,.room-block-none .room-block-detail{color:var(--color-text-tertiary)}