body.booking-wizard-premium{
  --wizard-blue:#3563e9;--wizard-navy:#0a1f44;--wizard-soft:#eef4ff;--wizard-green:#12b76a;
  --wizard-warn:#f79009;--wizard-danger:#f04438;--wizard-bg:#f4f6fa;--wizard-line:#e7eaf0;
  font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--wizard-bg)
}
body.booking-wizard-premium main>header{position:sticky;top:0;z-index:80;padding:18px 28px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
body.booking-wizard-premium main>header h1{font:700 26px/1.2 Manrope,Inter,sans-serif}
body.booking-wizard-premium #app{padding:20px 28px 100px;max-width:1800px}
body.booking-wizard-premium input,body.booking-wizard-premium select{
  min-height:46px;border:1px solid #d9dfe9;border-radius:10px;padding:11px 13px;background:#fff;
  color:#15213d;font-size:14px;box-shadow:0 1px 2px rgba(16,24,40,.025);transition:border .15s,box-shadow .15s
}
body.booking-wizard-premium textarea{border:1px solid #d9dfe9;border-radius:10px;padding:12px 13px;line-height:1.5}
body.booking-wizard-premium input:focus,body.booking-wizard-premium select:focus,body.booking-wizard-premium textarea:focus{
  border-color:#3563e9;outline:0;box-shadow:0 0 0 3px rgba(53,99,233,.13)
}
body.booking-wizard-premium input:disabled,body.booking-wizard-premium select:disabled{background:#f2f4f7;color:#98a2b3}
body.booking-wizard-premium .field label,body.booking-wizard-premium .issuance-fields label{
  margin-bottom:7px;color:#667085;font-size:12px;font-weight:600
}
body.booking-wizard-premium button{min-height:42px;border-radius:9px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s}
body.booking-wizard-premium button:hover{transform:translateY(-1px)}
body.booking-wizard-premium button:focus-visible{outline:3px solid rgba(53,99,233,.22);outline-offset:2px}

.wizard-context{
  position:sticky;top:77px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-bottom:14px;padding:11px 16px;border:1px solid #dfe5ef;border-radius:12px;background:rgba(255,255,255,.96);
  box-shadow:0 7px 20px rgba(16,24,40,.05);backdrop-filter:blur(10px)
}
.wizard-context-main{display:flex;align-items:center;gap:14px;min-width:0}
.wizard-context-mark{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:9px;background:#eef4ff;color:#3563e9;font-weight:800}
.wizard-context-copy{min-width:0}.wizard-context-copy b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wizard-context-copy small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wizard-context-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.wizard-context-pill{padding:6px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:600}
.wizard-context-pill.status{background:#e8f8f0;color:#087443}.wizard-context-pill.payment{background:#fff4df;color:#9b5800}
.autosave-indicator{display:flex;align-items:center;gap:7px;min-width:142px;background:#f8fafc!important;color:#667085!important;border:1px solid #e4e7ec!important;box-shadow:none!important;font-size:11px}
.autosave-dot{width:8px;height:8px;border-radius:50%;background:#98a2b3}.autosave-indicator.pending .autosave-dot,.autosave-indicator.saving .autosave-dot{background:#f79009}
.autosave-indicator.saving .autosave-dot{animation:wizard-pulse .9s infinite}.autosave-indicator.saved .autosave-dot{background:#12b76a}.autosave-indicator.failed{color:#b42318!important;cursor:pointer}.autosave-indicator.failed .autosave-dot{background:#f04438}
@keyframes wizard-pulse{50%{opacity:.35}}

.wizard-progress-card{margin-bottom:16px;padding:18px 20px;border:1px solid #e7eaf0;border-radius:14px;background:#fff}
.wizard-progress-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:13px}
.wizard-progress-top b{font-size:14px}.wizard-progress-top span{color:#667085;font-size:12px}
.wizard-progress-track{height:7px;border-radius:999px;background:#edf0f5;overflow:hidden}
.wizard-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3563e9,#12b76a);transition:width .2s}
.wizard-progress-card .steps{position:relative;display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:6px;margin-top:16px;overflow-x:auto;padding:2px}
.wizard-progress-card .step{
  position:relative;display:flex;align-items:center;gap:8px;min-width:0;min-height:48px;padding:8px 10px;
  background:transparent;color:#98a2b3;text-align:left;border:1px solid transparent;border-radius:10px
}
.wizard-step-number{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:50%;background:#eef0f4;color:#667085;font-size:11px;font-weight:700}
.wizard-step-copy{min-width:0}.wizard-step-copy b{display:block;white-space:nowrap;font-size:11px}.wizard-step-copy small{font-size:9px}
.wizard-progress-card .step>*{pointer-events:none}
.wizard-progress-card .step.active{background:#eef4ff;color:#2454da;border-color:#cad9ff}
.wizard-progress-card .step.active .wizard-step-number{background:#3563e9;color:#fff}
.wizard-progress-card .step.completed{color:#087443}.wizard-progress-card .step.completed .wizard-step-number{background:#e8f8f0;color:#087443}

.booking-wizard-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
body.booking-wizard-premium #bookingForm{
  min-width:0;margin:0;padding:24px;border:1px solid #e7eaf0;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.04)
}
body.booking-wizard-premium #bookingForm>.booking-contact{
  position:relative;padding:54px 18px 18px;border:1px solid #e7eaf0;border-radius:13px;background:#fff
}
body.booking-wizard-premium #bookingForm>.booking-contact::before{
  content:"Booking Information";position:absolute;left:18px;top:18px;color:#15213d;font:700 16px Manrope,Inter,sans-serif
}
body.booking-wizard-premium #bookingForm>.section{
  margin:22px 0 12px;padding:16px 18px;border:1px solid #e7eaf0;border-radius:13px;background:#f9fafb
}
body.booking-wizard-premium #bookingForm>.section h3{margin:0;font:700 16px Manrope,Inter,sans-serif}
body.booking-wizard-premium #bookingForm>.totals{
  max-width:none;margin:18px 0;padding:16px 18px;border:1px solid #dfe6f1;border-radius:13px;background:#f8faff
}
body.booking-wizard-premium #bookingForm>.totals .grand{color:#2454da}

.wizard-accordion-tools{display:flex;justify-content:flex-end;gap:7px;margin:10px 0}
.wizard-accordion-tools button{min-height:34px;padding:6px 10px;background:#fff;color:#475467;border:1px solid #dfe4ec;font-size:11px}
.wizard-accordion{
  margin:10px 0;border:1px solid #e2e7ef!important;border-radius:13px!important;background:#fff!important;
  overflow:visible;box-shadow:0 4px 14px rgba(16,24,40,.035);transition:box-shadow .15s
}
.wizard-accordion:hover{box-shadow:0 7px 20px rgba(16,24,40,.06)}
.wizard-accordion-head{
  display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:11px 14px;border:0;border-radius:12px;
  background:#fff;color:#15213d;text-align:left
}
.wizard-accordion-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:9px;background:#eef4ff;color:#3563e9;font-weight:700}
.wizard-accordion-title{flex:1;min-width:0}.wizard-accordion-title b,.wizard-accordion-title small{display:block}
.wizard-accordion-title small{margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.wizard-accordion-chevron{color:#667085;transition:transform .2s}.wizard-accordion.open .wizard-accordion-chevron{transform:rotate(180deg)}
.wizard-accordion-body{display:none;padding:16px;border-top:1px solid #edf0f4;animation:wizard-reveal .2s}
.wizard-accordion.open>.wizard-accordion-body{display:grid}
@keyframes wizard-reveal{from{opacity:.4;transform:translateY(-3px)}}
.wizard-accordion-body.passenger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.wizard-accordion-body .passenger-remove{grid-column:auto;justify-self:start}
.wizard-accordion .flight-group-title{margin:0;border:0}
.wizard-accordion .flight-segment-table{margin:0;overflow-x:auto}
.wizard-add-card{
  width:100%;min-height:54px!important;margin:10px 0;padding:13px!important;background:#fff!important;color:#2454da!important;
  border:1px dashed #9db7fa!important;box-shadow:none!important
}

.booking-summary{
  display:block;position:fixed;z-index:110;right:20px;top:104px;width:320px;max-height:calc(100vh - 124px);height:auto;padding:0;color:#15213d;border:1px solid #d9e1ed;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(10,31,68,.18);overflow:auto;transition:width .2s,box-shadow .2s
}
.booking-summary-toggle{display:flex;align-items:center;width:100%;padding:16px 18px;background:#0a1f44;color:#fff;border-radius:0;text-align:left}
.booking-summary-toggle b{flex:1;font:700 15px Manrope,Inter,sans-serif}.booking-summary-toggle span{font-size:22px;line-height:1;transition:transform .2s}.booking-summary:not(.collapsed) .booking-summary-toggle span{transform:rotate(180deg)}
.booking-summary-content{padding:12px 16px 16px;background:#fff!important;color:#15213d!important}.booking-summary.collapsed .booking-summary-content{display:none}
.booking-summary.collapsed{right:0;top:50%;width:48px;max-height:none;border-right:0;border-radius:14px 0 0 14px;overflow:hidden;transform:translateY(-50%);box-shadow:0 10px 28px rgba(10,31,68,.2)}
.booking-summary.collapsed .booking-summary-toggle{display:flex;flex-direction:column;justify-content:center;gap:9px;width:48px;min-height:178px;padding:14px 8px;border-radius:14px 0 0 14px}
.booking-summary.collapsed .booking-summary-toggle b{flex:0;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:13px;letter-spacing:.02em}
.booking-summary.collapsed .booking-summary-toggle span{transform:none;font-size:20px}
.booking-summary-group{padding:11px 0;border-bottom:1px solid #edf0f4}.booking-summary-group:last-child{border:0}
.booking-summary-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;color:#667085!important;font-size:11px}
.booking-summary-line b{color:#15213d!important;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
.booking-summary-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px 0}
.booking-summary-kpi{padding:10px;border-radius:10px;background:#f5f7fb!important;color:#15213d!important}.booking-summary-kpi small,.booking-summary-kpi b{display:block;color:inherit!important}
.booking-summary-kpi b{margin-top:5px;font-size:13px;font-variant-numeric:tabular-nums}.booking-summary-kpi.margin{background:#fff9e5}.booking-summary-kpi.margin b{color:#876b08}

body.booking-wizard-premium #bookingForm>.actions{
  position:sticky;bottom:0;z-index:45;display:flex;justify-content:space-between;align-items:center;gap:9px;
  margin:24px -24px -24px;padding:14px 24px;border-top:1px solid #e7eaf0;border-radius:0 0 14px 14px;
  background:rgba(255,255,255,.97);box-shadow:0 -8px 20px rgba(16,24,40,.055);backdrop-filter:blur(8px)
}
.wizard-action-right{display:flex;gap:9px;margin-left:auto}.wizard-save-draft{background:#fff!important;color:#2454da!important;border:1px solid #cad7f4!important}
body.booking-wizard-premium .issuance-page-intro{border-radius:13px;background:linear-gradient(135deg,#0a1f44,#132c57)}
body.booking-wizard-premium .issuance-request-form{border-radius:13px}

@media(max-width:1150px){
  .wizard-progress-card .steps{grid-template-columns:repeat(6,130px)}
}
@media(max-width:900px){
  .booking-wizard-layout{grid-template-columns:1fr}
  .booking-summary{right:10px;top:80px;width:min(320px,calc(100vw - 28px));max-height:calc(100vh - 96px)}
  .booking-summary.collapsed{right:0;top:50%;width:44px}
  .booking-summary.collapsed .booking-summary-toggle{width:44px}
  .wizard-context{top:0}
}
@media(max-width:650px){
  body.booking-wizard-premium main>header{padding:16px 14px 16px 62px}
  body.booking-wizard-premium main>header>div:last-child{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
  body.booking-wizard-premium #app{padding:12px 12px 90px}
  .wizard-context{align-items:flex-start;flex-direction:column}.wizard-context-meta{justify-content:flex-start}
  .wizard-progress-card{padding:14px}.wizard-progress-card .steps{grid-template-columns:repeat(6,126px)}
  body.booking-wizard-premium #bookingForm{padding:14px}
  body.booking-wizard-premium #bookingForm>.booking-contact{grid-template-columns:1fr;padding:52px 14px 14px}
  .wizard-accordion-body.passenger-grid,.wizard-accordion-body.grid{grid-template-columns:1fr}
  body.booking-wizard-premium #bookingForm>.actions{margin:20px -14px -14px;padding:12px 14px;align-items:stretch;flex-direction:column}
  .wizard-action-right{display:grid;grid-template-columns:1fr;width:100%;margin:0}.wizard-action-right button,body.booking-wizard-premium #bookingForm>.actions>[data-back]{width:100%}
}
