/* Screenshot-matched SecurePaymentBar, shared across existing payment flows. */
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar {
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(max-content,.75fr) minmax(150px,1fr)!important;
  align-items:center!important;
  gap:22px!important;
  box-sizing:border-box;
  width:100%;min-width:0;
  margin:22px 0 12px!important;
  padding:16px 18px!important;
  border:1px solid #e0eafb!important;
  border-radius:16px!important;
  background:linear-gradient(110deg,#f3f8ff 0%,#f8fbff 55%,#f0f6ff 100%)!important;
  color:#10254b!important;
  box-shadow:0 2px 8px rgb(37 94 165 / 4%)!important;
}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-intro {display:flex;align-items:center;gap:12px;min-width:0;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock {
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;
  border-radius:12px;background:#dbeaff;color:#0961dc;
}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock::before {
  content:"";display:block;width:23px;height:23px;background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 10V7a6 6 0 0 1 12 0v3h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1zm3 0h6V7a3 3 0 0 0-6 0v3z'/%3E%3C/svg%3E") center/contain no-repeat;
}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy {min-width:0;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy strong {display:block;margin:0 0 4px;font-size:13px;line-height:1.25;font-weight:700;color:#102044;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy p {margin:0!important;font-size:11px!important;line-height:1.45!important;color:#63799e!important;max-width:230px;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total {min-width:0;border-left:1px solid #bdd4f8;padding-left:22px;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total-label {display:block;font-size:12px;line-height:1.3;font-weight:600;color:#142347;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount,
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount > .ifcs-payment-total {
  display:block!important;min-width:0;width:auto!important;margin:3px 0 0!important;padding:0!important;
  border:0!important;background:none!important;color:#081633!important;
  font-size:clamp(24px,2.3vw,32px)!important;font-weight:800!important;line-height:1.15!important;
  text-align:left!important;letter-spacing:-.04em;font-variant-numeric:tabular-nums;
}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount > .ifcs-payment-total {margin:0!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-action {display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;}
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button {
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  box-sizing:border-box;width:100%!important;min-width:0!important;min-height:46px!important;
  margin:0!important;padding:10px 14px!important;border:1px solid #1764de!important;border-radius:13px!important;
  background:linear-gradient(180deg,#176ff0 0%,#0c52c4 100%)!important;color:#fff!important;
  font-family:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1.25!important;
  text-align:center!important;text-shadow:none!important;white-space:nowrap;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 23%),0 2px 4px rgb(14 80 170 / 10%)!important;
  cursor:pointer;transition:filter .15s ease;
}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::before,
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::after {content:"";display:block;flex:0 0 18px;width:18px;height:18px;background:currentColor;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::before {mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h18a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm0 2v3h18V5H3zm0 7v7h18v-7H3z'/%3E%3C/svg%3E") center/contain no-repeat;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::after {margin-left:auto;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13 5-1.4 1.4 4.6 4.6H3v2h13.2l-4.6 4.6L13 19l7-7-7-7z'/%3E%3C/svg%3E") center/contain no-repeat;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::before {margin-left:auto;}
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button:hover:not(:disabled) {filter:brightness(1.06);}
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button:focus-visible {outline:3px solid #164795!important;outline-offset:3px!important;}
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button:disabled {background:linear-gradient(180deg,#648ecb,#537ab4)!important;border-color:#6485b6!important;color:#fff!important;opacity:1!important;box-shadow:none!important;cursor:not-allowed;}
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button[hidden] {display:none!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-methods {display:flex;justify-content:center;align-items:center;gap:8px;min-height:24px;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-methods img {display:block;width:38px;height:24px;object-fit:contain;}
div:has(> div.flex-1.ml-4 > .ifcs-secure-payment-bar) {flex-wrap:wrap;gap:12px;}
div.flex-1.ml-4:has(> .ifcs-secure-payment-bar) {flex-basis:100%;order:-1;margin-left:0!important;min-width:0;}
@media(min-width:1100px) {
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy strong {font-size:14px;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy p {font-size:12px!important;}
}
.ifcs-payment-details,.dup-application,div.flex-1.ml-4:has(> .ifcs-secure-payment-bar) {container-type:inline-size;container-name:ifcs-payment-action;}
@container ifcs-payment-action (max-width:660px) and (min-width:430px) {
  html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar {gap:14px!important;padding:12px!important;grid-template-columns:minmax(0,1.4fr) minmax(max-content,.65fr) minmax(136px,1fr)!important;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-intro {gap:8px;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock {flex-basis:30px;width:30px;height:30px;border-radius:9px;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock::before {width:17px;height:17px;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy strong {font-size:11.5px;margin-bottom:3px;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy p {font-size:9.5px!important;line-height:1.4!important;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total {padding-left:14px;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total-label {font-size:10px;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount,
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount > .ifcs-payment-total {font-size:24px!important;}
  html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button {min-height:38px!important;padding:9px 11px!important;border-radius:10px!important;font-size:12px!important;gap:7px!important;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::before,
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::after {flex-basis:14px;width:14px;height:14px;}
}
@media(max-width:640px) {
  html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar {grid-template-columns:minmax(0,1fr)!important;gap:16px!important;padding:18px!important;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy p {max-width:none;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total {border-left:0;border-top:1px solid #d9e6fa;padding:14px 0 0;}
  html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount {font-size:30px!important;}
  html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button {min-height:48px!important;font-size:16px!important;}
}
@media(prefers-reduced-motion:reduce) {html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button {transition:none;}}

/* The legacy application reset uses #root + :is(#services), a two-ID selector.
   Match that specificity so the checkout's colors, weights and borders survive. */
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar {grid-template-columns:minmax(0,40fr) minmax(0,29fr) minmax(0,31fr)!important;gap:0!important;min-height:120px!important;padding:12px 18px!important;border-color:#e3efff!important;border-radius:18px!important;background:linear-gradient(110deg,#f0f7ff 0%,#f8fbff 53%,#f0f6ff 100%)!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-intro {gap:16px!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock {flex:0 0 70px!important;width:70px!important;height:70px!important;border-radius:18px!important;color:#1158cc!important;background:linear-gradient(135deg,#d7e8ff,#deecff)!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock::before {width:32px!important;height:32px!important;background:linear-gradient(#176de1,#0646b5)!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy strong {font-size:16px!important;line-height:22px!important;font-weight:700!important;color:#0b153b!important;margin-bottom:2px!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy p {max-width:290px!important;font-size:14px!important;line-height:21px!important;font-weight:400!important;color:#697ea6!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total {border-left:1px solid #a9c6f2!important;padding-left:54px!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total-label {font-size:16px!important;line-height:20px!important;font-weight:650!important;color:#0b153b!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount,
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount>.ifcs-payment-total {font-size:38px!important;line-height:44px!important;font-weight:800!important;letter-spacing:-1px!important;color:#080f29!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-action {min-height:92px!important;justify-content:flex-start!important;gap:12px!important;}
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button {min-height:54px!important;padding:12px 20px!important;font-size:20px!important;line-height:26px!important;font-weight:650!important;border:1px solid #1a67e0!important;border-radius:17px!important;background:linear-gradient(180deg,#1769e8 0%,#1455c9 55%,#0c43ac 100%)!important;box-shadow:inset 0 1px 0 #ffffff26,0 1px 2px #1252a51a!important;gap:14px!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::before {width:22px!important;height:22px!important;flex-basis:22px!important;margin-left:0!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::after {width:20px!important;height:20px!important;flex-basis:20px!important;margin-left:0!important;}
html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button:disabled {background:linear-gradient(180deg,#377adc,#255fba)!important;border-color:#4c83cd!important;box-shadow:none!important;cursor:not-allowed!important;}
html body #root#root .ifcs-secure-payment-bar .ifcs-secure-methods {min-height:24px!important;gap:10px!important;}
html body #root#root div:has(>div.flex-1.ml-4>.ifcs-secure-payment-bar) {justify-content:flex-start!important;gap:12px!important;}
html body #root#root div:has(>div.flex-1.ml-4>.ifcs-secure-payment-bar)>button {display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;height:52px!important;padding:12px 22px!important;border:1px solid #d5def0!important;border-radius:17px!important;background:linear-gradient(#fff,#fdfdff)!important;color:#0b153b!important;font-size:16px!important;font-weight:650!important;line-height:22px!important;box-shadow:0 1px 2px #233e6c08!important;}
html body #root#root div:has(>div.flex-1.ml-4>.ifcs-secure-payment-bar)>.ifcs-save-draft {min-width:172px!important;}
html body #root#root div:has(>div.flex-1.ml-4>.ifcs-secure-payment-bar)>.ifcs-save-draft::before {content:'';display:block;width:21px;height:21px;background:#0b153b;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 2h3l1 3h16l-3 10H8l1 2h10v2H7L3 4H2V2zm6 5 2 6h7l2-6H8zM8 20a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E") center/contain no-repeat;}
html body #root#root div:has(>div.flex-1.ml-4>.ifcs-secure-payment-bar)>button:not(.ifcs-save-draft) {min-width:134px!important;}
@container ifcs-payment-action (max-width:760px) and (min-width:500px) {
 html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar {min-height:94px!important;padding:12px!important;grid-template-columns:minmax(0,1.3fr) minmax(max-content,.65fr) minmax(140px,1fr)!important;gap:12px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-intro {gap:8px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock {width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:11px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-lock::before {width:21px!important;height:21px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy strong {font-size:12px!important;line-height:16px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-copy p {font-size:10px!important;line-height:15px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total {padding-left:12px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total-label {font-size:11px!important;line-height:16px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount,html body #root#root .ifcs-secure-payment-bar .ifcs-secure-amount>.ifcs-payment-total {font-size:25px!important;line-height:32px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-action {min-height:68px!important;}
 html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar .ifcs-secure-pay-button {font-size:12px!important;line-height:18px!important;min-height:40px!important;padding:10px 8px!important;gap:7px!important;border-radius:12px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::before,html body #root#root .ifcs-secure-payment-bar .ifcs-secure-pay-button::after {width:16px!important;height:16px!important;flex-basis:16px!important;}
}
@container ifcs-payment-action (max-width:499px) {
 html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar {grid-template-columns:1fr!important;gap:18px!important;padding:18px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total {border-left:0!important;border-top:1px solid #d5e4f9!important;padding:14px 0 0!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-action {min-height:0!important;}
}
@media(max-width:640px) {
 html body #root#root .ifcs-payment-bar.ifcs-secure-payment-bar {grid-template-columns:1fr!important;gap:18px!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-total {border-left:0!important;border-top:1px solid #d5e4f9!important;padding:14px 0 0!important;}
 html body #root#root .ifcs-secure-payment-bar .ifcs-secure-action {min-height:0!important;}
 html body #root#root div:has(>div.flex-1.ml-4>.ifcs-secure-payment-bar)::after {flex-basis:100%;margin:4px 0 0;}
}

/* Native draft controls share the original navigation/payment footer. */
html body #root#root [data-ifcs-application-footer] {display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;}
html body #root#root [data-ifcs-application-footer]>[data-ifcs-native-cart],html body #root#root [data-ifcs-native-cart-actions] {display:contents!important;}
html body #root#root [data-ifcs-native-payment-block] {order:-1!important;flex:0 0 100%!important;width:100%!important;margin:0!important;}
html body #root#root [data-ifcs-application-footer] .ifcs-native-save-button,html body #root#root [data-ifcs-application-footer] .ifcs-native-back-button {display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;height:52px!important;padding:12px 22px!important;border:1px solid #d5def0!important;border-radius:17px!important;background:linear-gradient(#fff,#fdfdff)!important;color:#0b153b!important;font-size:16px!important;font-weight:650!important;line-height:22px!important;box-shadow:0 1px 2px #233e6c08!important;}
html body #root#root [data-ifcs-application-footer] .ifcs-native-save-button {order:1!important;min-width:172px!important;}
html body #root#root [data-ifcs-application-footer] .ifcs-native-back-button {order:2!important;min-width:134px!important;}
html body #root#root [data-ifcs-native-cart-link] {order:3!important;font-size:13px!important;color:#366195!important;}
html body #root#root [data-ifcs-native-cart-notice] {order:10!important;flex:0 0 100%!important;margin:4px 0 0!important;font-size:12px!important;line-height:18px!important;color:#60749b!important;}
html body #root#root [data-ifcs-application-footer]:has([data-ifcs-native-payment-block])::after {order:4!important;}
html body #root#root [data-ifcs-application-footer] .ifcs-native-save-button::before {content:'';display:block;width:21px;height:21px;background:#0b153b;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 2h3l1 4h15l-3 10H9l.7 2H20v2H8L4.4 4H3V2zm5 6 1.5 6h8L19 8H8z'/%3E%3Ccircle cx='10' cy='22' r='2'/%3E%3Ccircle cx='19' cy='22' r='2'/%3E%3C/svg%3E") center/contain no-repeat;}

html body #root#root .ifcs-payment-requirements {margin:12px 0!important;padding:12px 16px!important;border:1px solid #c9def9!important;border-radius:10px!important;background:#edf5ff!important;color:#143967!important;font-size:14px!important;line-height:1.5!important;font-weight:500!important;}
html body #root#root .ifcs-payment-requirements:empty {display:none!important;}

html body #root#root .ifcs-secure-payment-bar a.ifcs-existing-payment-link {text-decoration:none!important;}

/* Application navigation only: shared payment bar and handlers are unchanged. */
html body #root#root [data-ifcs-application-footer] {
  justify-content:flex-start!important;
  align-items:center!important;
  gap:16px!important;
  padding-top:24px!important;
  border-top:1px solid #e2e7ef!important;
}
html body #root#root [data-ifcs-application-footer] :is(.ifcs-native-continue-button,.ifcs-native-save-button,.ifcs-native-back-button) {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:54px!important;
  height:auto!important;
  padding:14px 25px!important;
  border-radius:16px!important;
  font-size:16px!important;
  line-height:24px!important;
  font-weight:650!important;
  white-space:normal!important;
  transform:none!important;
  text-decoration:none!important;
}
html body #root#root [data-ifcs-application-footer] .ifcs-native-continue-button {
  order:0!important;
  min-width:210px!important;
  margin:0 8px 0 0!important;
  border:1px solid #1763d5!important;
  color:#fff!important;
  background:linear-gradient(180deg,#2273eb 0%,#1557cc 65%,#1049b5 100%)!important;
  box-shadow:inset 0 1px 0 #ffffff38,0 2px 5px #1554ae20!important;
}
html body #root#root [data-ifcs-application-footer] :is(.ifcs-native-save-button,.ifcs-native-back-button) {
  color:#192b45!important;
  border:1px solid #dbe2ec!important;
  background:#fff!important;
  box-shadow:0 1px 3px #122b4b09!important;
}
html body #root#root [data-ifcs-application-footer] .ifcs-native-save-button {order:1!important;min-width:169px!important;}
html body #root#root [data-ifcs-application-footer] .ifcs-native-back-button {order:2!important;min-width:122px!important;}
html body #root#root [data-ifcs-application-footer] :is(.ifcs-native-continue-button,.ifcs-native-save-button,.ifcs-native-back-button):focus-visible {
  outline:2px solid #1557cc!important;
  outline-offset:3px!important;
}
html body #root#root [data-ifcs-application-footer] :is(.ifcs-native-continue-button,.ifcs-native-save-button,.ifcs-native-back-button):disabled {opacity:.6!important;cursor:not-allowed!important;}
html body #root#root [data-ifcs-native-cart-notice][hidden] {display:none!important;}
@media(max-width:540px) {
  html body #root#root [data-ifcs-application-footer] {gap:12px!important;}
  html body #root#root [data-ifcs-application-footer] :is(.ifcs-native-continue-button,.ifcs-native-save-button,.ifcs-native-back-button) {
    width:100%!important;
    flex:0 0 100%!important;
    min-width:0!important;
    margin:0!important;
  }
}
