/* NextSure v71: rate-first travel flow, commission permissions and dashboard typography. */
.commission-field.hidden{display:none!important}
.commission-field small{display:block;margin-top:5px;color:#64748b;font-size:11px;line-height:1.45}
.ns-internal-commission{border-color:#c4b5fd!important;background:#f5f3ff!important}
.ns-internal-commission span,.ns-internal-commission b{color:#5b21b6!important}

.ns-rate-dob-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.85fr);align-items:center;gap:18px;background:linear-gradient(145deg,#fff,#f7fbff)}
.ns-rate-dob-card h3{margin:4px 0;font-size:17px;color:#14213d}
.ns-rate-dob-card p{margin:0;color:#64748b;font-size:12px}
.ns-rate-dob-card>div>span{color:#0f8a73;font-size:10px;font-weight:800;letter-spacing:.08em}
.ns-wizard-panel[data-panel="1"]>.ns-trip-grid{grid-template-columns:minmax(220px,420px)}
.ns-post-rate-dates{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0 4px}
.ns-post-rate-dates input[readonly]{cursor:not-allowed;background:#f1f5f9;color:#334155}
.ns-post-rate-dates .ns-field-group small{display:block;margin-top:6px;color:#64748b;font-size:11px;line-height:1.4}

/* Use a familiar proportional UI font with normal, readable weights. */
.ns-dashboard-page,
.ns-dashboard-page button,
.ns-dashboard-page input,
.ns-dashboard-page select,
.ns-dashboard-page textarea,
.ns-dashboard-page table{
  font-family:"Segoe UI",Roboto,Arial,Helvetica,sans-serif!important;
  font-weight:400;
  letter-spacing:normal;
}
.ns-dashboard-page{font-size:15px!important;line-height:1.45}
.ns-dashboard-page h1{font-size:clamp(27px,3vw,36px)!important;font-weight:700!important;line-height:1.18}
.ns-dashboard-page h2{font-size:22px!important;font-weight:650!important;line-height:1.25}
.ns-dashboard-page h3,.ns-dashboard-page h4{font-weight:650!important;line-height:1.3}
.ns-dashboard-page button,.ns-dashboard-page a,.ns-dashboard-page label,.ns-dashboard-page th{font-weight:600!important}
.ns-dashboard-page td{font-weight:400!important}
.ns-dashboard-page .desktop-side .ns-nav-main{font-size:14px!important;font-weight:600!important}
.ns-dashboard-page .desktop-side .ns-nav-sub{font-size:13px!important;font-weight:500!important}
.ns-dashboard-page .ns-dashboard-eyebrow,.ns-dashboard-page .ns-section-kicker,.ns-dashboard-page .ns-billing-kicker{font-weight:600!important;letter-spacing:.06em!important}
.ns-dashboard-page .dash-card{font-size:14px!important}
.ns-dashboard-page .dash-card b,.ns-dashboard-page .ns-metric-copy b{font-weight:700!important}
.ns-dashboard-page .orders-table-wrap table,.ns-dashboard-page #billsView table{font-size:14px!important}
.ns-dashboard-page .orders-table-wrap th,.ns-dashboard-page .orders-table-wrap td{padding:9px 10px!important}

@media(max-width:820px){
  .ns-rate-dob-card{grid-template-columns:1fr}
  .ns-dashboard-page{font-size:14px!important}
  .ns-dashboard-page .orders-table-wrap table{font-size:12px!important}
}

/* v76: purpose-first, four-step Travel Order flow. */
#quoteStepper{grid-template-columns:auto 1fr auto 1fr auto 1fr auto}
.ns-purpose-step-active #quoteStepper{display:none}
.ns-purpose-step-active .ns-wizard-panel[data-panel="1"]{padding-top:12px}
.ns-purpose-step-active .ns-wizard-panel[data-panel="1"] .ns-panel-heading>span{display:none}
.ns-selected-purpose-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-8px 0 22px;padding:15px 17px;border:1px solid #bfe7dd;border-radius:17px;background:linear-gradient(145deg,#f1fcf8,#f7fbff)}
.ns-selected-purpose-banner span{display:block;color:#087a65;font-size:10px;font-weight:900;letter-spacing:.08em}
.ns-selected-purpose-banner b{display:block;margin-top:4px;color:#10203a;font-size:18px;font-weight:900}
.ns-selected-purpose-banner small{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:700}
.ns-selected-purpose-banner button{border:1px solid #b9d7d0;border-radius:11px;padding:9px 13px;background:#fff;color:#075f51;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
#purposeDurationHint{display:block;margin-top:7px;color:#64748b;font-size:11px;font-weight:700;line-height:1.45}
.ns-payable-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:6px 0 24px;
  padding:18px 20px;
  border:1px solid #8bd8c7;
  border-radius:18px;
  background:linear-gradient(135deg,#eafbf6,#f5fbff);
  box-shadow:0 12px 28px rgba(8,122,101,.08);
}
.ns-wizard-panel[data-panel="3"] #planCards{margin-bottom:24px}
.ns-wizard-panel[data-panel="3"] .ns-quote-summary{margin-top:0}
.ns-wizard-panel[data-panel="3"] .ns-quote-summary small{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:700;line-height:1.35}
.ns-payable-banner span{display:block;color:#087a65;font-size:11px;font-weight:900;letter-spacing:.08em}
.ns-payable-banner small{display:block;margin-top:5px;color:#64748b;font-size:12px;font-weight:700}
.ns-payable-banner>b{color:#075f51;font-size:clamp(24px,3vw,34px);font-weight:900;white-space:nowrap}
.ns-company-select button{border:0;border-radius:12px;padding:11px 14px;background:#07977f;color:#fff;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap}
.ns-company-select{text-align:right}.ns-company-select small{display:block;color:#64748b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ns-company-select b{display:block;margin:3px 0 8px;color:#123d63;font-size:18px;font-weight:900;white-space:nowrap}
.ns-plan-card.is-selected .ns-company-select button{background:#075f51}
.ns-step3-dob-note{padding:12px 14px;border:1px solid #cfe3ee;border-radius:13px;background:#f4f9fc;color:#52677c;font-size:12px;line-height:1.5}
.ns-step3-dob-note b{color:#243f5a}
.ns-passport-manual-grid input,.ns-passport-manual-grid textarea{background:#fff!important;color:#10203a!important;border-color:#b9cddd!important;font-size:16px!important;font-weight:600!important;line-height:1.45!important}
.ns-passport-manual-grid input:focus,.ns-passport-manual-grid textarea:focus{border-color:#0b8a75!important;box-shadow:0 0 0 4px rgba(11,138,117,.12)!important}

@media(max-width:820px){
  #quoteStepper{grid-template-columns:repeat(4,1fr)}
  .ns-wizard-panel[data-panel="3"] .ns-quote-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ns-selected-purpose-banner{align-items:flex-start}
  .ns-post-rate-dates{grid-template-columns:1fr}
  .ns-payable-banner{align-items:flex-start;flex-direction:column}
  .ns-plan-card{grid-template-columns:90px 1fr}
  .ns-company-select{grid-column:1/-1;text-align:left}
  .ns-company-select button{width:100%}
}

@media(max-width:560px){
  .ns-wizard-panel[data-panel="3"] .ns-quote-summary{grid-template-columns:1fr}
  .ns-wizard-panel[data-panel="3"] .ns-quote-summary>div{padding:12px 13px}
  .ns-selected-purpose-banner{flex-direction:column}
  .ns-selected-purpose-banner button{width:100%}
  .ns-purpose-step-active .ns-wizard-panel[data-panel="1"] .ns-panel-heading h2{font-size:clamp(28px,9vw,36px)}
  .ns-payable-banner{gap:12px;padding:16px;margin-bottom:20px}
  .ns-payable-banner>b{max-width:100%;font-size:28px;white-space:normal;overflow-wrap:anywhere}
  .ns-plan-card{grid-template-columns:1fr;padding:18px;gap:13px}
  .ns-plan-logo{height:68px}
  .ns-plan-body{min-width:0}
  .ns-plan-body h3{overflow-wrap:anywhere}
  .ns-company-select{grid-column:auto}
  .ns-plan-heading .ns-edit-trip-btn{width:100%;margin-top:12px}
  .ns-selected-plan-banner b{font-size:20px;overflow-wrap:anywhere}
  .ns-passport-first-card{padding:16px}
  .ns-post-rate-dates{gap:14px}
}
