/* Upper Performance skin for the reused UW provider and commerce workflows. */
.upper-commerce-shell { background: var(--frost); color: var(--slate); font-family: 'DM Sans', sans-serif; }
.upper-commerce-shell #wrapper { min-height: 100vh; padding-top: var(--nav-height); }
.upper-commerce-shell .site-nav button { font-family: inherit; }
.upper-commerce-shell .nav-logout-form { display: inline-flex; margin: 0; }
.upper-commerce-shell .nav-logout-form .nav-cta { border: 0; cursor: pointer; }
.upper-commerce-shell .upper-cart-link { display: inline-flex; gap: 6px; align-items: center; }
.upper-commerce-shell #cart-count { min-width: 20px; height: 20px; display: inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--accent); color:var(--slate); font-size:11px; }
.upper-commerce-shell .page { padding-top: 0; }

.upper-commerce-shell .breadcrubmd,
.upper-commerce-shell .inner-banner { background: var(--slate) !important; border-bottom: 3px solid var(--electric); color: #fff; padding: 48px 30px !important; text-align:center; }
.upper-commerce-shell .breadcrubmd h1,
.upper-commerce-shell .inner-banner h1 { color:#fff !important; font-family:'DM Serif Display',serif; font-size:clamp(32px,5vw,50px); }
.upper-commerce-shell .about-page-upgrade,
.upper-commerce-shell .product-page-upgrade,
.upper-commerce-shell .pagecontent { padding: 55px 0 !important; background:var(--frost); }
.upper-commerce-shell .card,
.upper-commerce-shell .check_left,
.upper-commerce-shell .order_table,
.upper-commerce-shell .table_desc,
.upper-commerce-shell .coupon_code { border:1px solid #dfe5ed !important; border-radius:14px !important; background:#fff; box-shadow:0 8px 30px rgba(26,43,60,.08) !important; }
.upper-commerce-shell .card-body,
.upper-commerce-shell .check_left,
.upper-commerce-shell .order_table { padding:28px !important; }
.upper-commerce-shell .nav-tabs { border-bottom:2px solid var(--royal); justify-content:center; }
.upper-commerce-shell .nav-tabs .nav-link { color:var(--royal); border:1px solid var(--royal); border-bottom:0; padding:14px 20px; font-weight:600; }
.upper-commerce-shell .nav-tabs .nav-link.active { background:linear-gradient(135deg,var(--royal),var(--electric)); color:#fff; }
.upper-commerce-shell label { color:var(--slate); font-weight:600; }
.upper-commerce-shell .form-control,
.upper-commerce-shell .form-select,
.upper-commerce-shell select { min-height:46px; border:1px solid var(--mid-gray); border-radius:7px; background:#fff; color:var(--slate); }
.upper-commerce-shell .form-control:focus,
.upper-commerce-shell .form-select:focus { border-color:var(--electric); box-shadow:0 0 0 3px rgba(55,138,221,.14); }
.upper-commerce-shell .btn-primary,
.upper-commerce-shell .checkout_btn .btn,
.upper-commerce-shell button.btn-primary { border:0 !important; border-radius:999px !important; background:linear-gradient(135deg,var(--royal),var(--electric)) !important; color:#fff !important; padding:12px 24px !important; font-weight:700; }
.upper-commerce-shell .btn-primary:hover { background:var(--slate) !important; }
.upper-commerce-shell table { width:100%; background:#fff; }
.upper-commerce-shell table th { background:var(--slate) !important; color:#fff !important; padding:15px !important; }
.upper-commerce-shell table td { padding:14px !important; border-bottom:1px solid #e8edf3 !important; }
.upper-commerce-shell .coupon_code h3 { background:var(--slate) !important; color:#fff !important; border-radius:13px 13px 0 0; }
.upper-commerce-shell footer { margin-top:0; }

.upper-commerce-shell .upper-shop-page { background:var(--frost); }
.upper-commerce-shell .catalog-card-cta { border:0; width:100%; cursor:pointer; }
.upper-commerce-shell .catalog-card-cta:disabled { opacity:.55; cursor:not-allowed; }
.catalog-shop-message { position:fixed; z-index:1100; top:84px; right:24px; max-width:360px; padding:14px 18px; border-radius:9px; color:#fff; box-shadow:0 8px 25px rgba(26,43,60,.2); opacity:0; transform:translateY(-8px); pointer-events:none; transition:.2s ease; }
.catalog-shop-message.show { opacity:1; transform:translateY(0); }
.catalog-shop-message.success { background:#087d68; }
.catalog-shop-message.error { background:#b42318; }

.upper-commerce-shell .contract-wrapper,
.upper-commerce-shell .contract-container { max-width:1000px; margin:45px auto; padding:35px; border-radius:14px; background:#fff; box-shadow:0 8px 30px rgba(26,43,60,.08); }

@media (max-width: 991px) {
  .upper-commerce-shell .nav-logout-form { width:100%; }
  .upper-commerce-shell .card-body, .upper-commerce-shell .check_left, .upper-commerce-shell .order_table { padding:20px !important; }
}
@media (max-width: 575px) {
  .upper-commerce-shell .breadcrubmd, .upper-commerce-shell .inner-banner { padding:35px 18px !important; }
  .catalog-shop-message { left:16px; right:16px; max-width:none; }
}

/* Provider access */
.provider-access-page { background:var(--frost); min-height:calc(100vh - var(--nav-height)); }
.provider-access-hero { position:relative; overflow:hidden; padding:58px 24px 54px; background:linear-gradient(125deg,#14283b 0%,#1a3650 64%,#185fa5 150%); border-bottom:3px solid var(--electric); text-align:center; }
.provider-access-hero::before { content:""; position:absolute; width:360px; height:360px; top:-220px; right:8%; border:1px solid rgba(55,138,221,.26); border-radius:50%; box-shadow:0 0 0 65px rgba(55,138,221,.035),0 0 0 130px rgba(55,138,221,.025); }
.provider-access-hero__content { position:relative; z-index:1; max-width:720px; margin:auto; }
.provider-access-eyebrow { display:block; margin-bottom:10px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:2.2px; }
.provider-access-hero h1 { margin:0 0 10px; color:#fff; font:400 clamp(38px,5vw,58px)/1.05 'DM Serif Display',serif; }
.provider-access-hero p { max-width:620px; margin:auto; color:rgba(255,255,255,.68); font-size:15px; line-height:1.7; }
.provider-access-section { padding:54px 24px 74px; }
.provider-access-shell { display:grid; grid-template-columns:minmax(285px,.8fr) minmax(500px,1.5fr); max-width:1120px; margin:auto; overflow:hidden; border:1px solid #dce5ef; border-radius:18px; background:#fff; box-shadow:0 20px 55px rgba(26,43,60,.11); }
.provider-access-aside { position:relative; padding:48px 40px; overflow:hidden; background:linear-gradient(155deg,#1a2b3c 0%,#173c5d 100%); color:#fff; }
.provider-access-aside::after { content:""; position:absolute; width:240px; height:240px; right:-125px; bottom:-110px; border:40px solid rgba(55,138,221,.12); border-radius:50%; }
.provider-access-aside__mark { display:grid; place-items:center; width:48px; height:48px; margin-bottom:30px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(55,138,221,.18); color:#73b8fa; font-size:21px; }
.provider-access-aside h2 { margin:0 0 14px; color:#fff; font:400 31px/1.15 'DM Serif Display',serif; }
.provider-access-aside > p { margin:0; color:rgba(255,255,255,.66); font-size:14px; line-height:1.75; }
.provider-product-interest { display:flex; flex-direction:column; gap:3px; margin-top:22px; padding:13px 15px; border:1px solid rgba(55,138,221,.32); border-radius:9px; background:rgba(55,138,221,.12); }
.provider-product-interest span { color:rgba(255,255,255,.55); font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.provider-product-interest strong { color:#fff; font-size:15px; }
.provider-access-benefits { display:grid; gap:14px; margin:29px 0 38px; padding:0; list-style:none; }
.provider-access-benefits li { display:flex; gap:10px; align-items:center; color:rgba(255,255,255,.82); font-size:13px; }
.provider-access-benefits i { color:var(--accent); font-size:14px; }
.provider-access-help { position:relative; z-index:1; display:flex; gap:12px; align-items:center; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.provider-access-help > i { color:#73b8fa; font-size:18px; }
.provider-access-help div { display:flex; flex-direction:column; }
.provider-access-help span { color:rgba(255,255,255,.45); font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.provider-access-help a { color:#fff; font-size:13px; text-decoration:none; }
.provider-access-card { min-width:0; padding:36px 44px 40px; }
.upper-commerce-shell .provider-access-tabs.nav-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 35px; padding:5px; border:0; border-radius:10px; background:#edf3f8; }
.upper-commerce-shell .provider-access-tabs.nav-tabs .nav-link { display:flex; gap:8px; align-items:center; justify-content:center; min-height:46px; margin:0; padding:10px 14px; border:0 !important; border-radius:7px; background:transparent; color:#5a7188; font-size:13px; font-weight:700; }
.upper-commerce-shell .provider-access-tabs.nav-tabs .nav-link.active { background:#fff !important; color:var(--royal) !important; box-shadow:0 3px 12px rgba(26,43,60,.1); }
.provider-form-heading { margin-bottom:27px; }
.provider-form-heading > span { display:block; margin-bottom:7px; color:var(--electric); font-size:10px; font-weight:800; letter-spacing:1.8px; }
.provider-form-heading h2 { margin:0 0 8px; color:var(--slate); font:400 29px/1.2 'DM Serif Display',serif; }
.provider-form-heading p { margin:0; color:#6c8194; font-size:13px; line-height:1.6; }
.provider-login-form { display:grid; gap:20px; }
.provider-field label,.provider-request-pane .default-form-box label { display:block; margin:0 0 7px; color:#2a4156; font-size:12px; font-weight:700; }
.provider-field label span,.provider-request-pane .default-form-box label span { color:#e14848; }
.provider-label-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.provider-label-row a { color:var(--royal); font-size:12px; font-weight:600; text-decoration:none; }
.provider-input-wrap { position:relative; }
.provider-input-wrap > i { position:absolute; z-index:2; top:50%; left:15px; color:#8aa0b3; transform:translateY(-50%); }
.upper-commerce-shell .provider-input-wrap .form-control { height:50px; padding:0 48px 0 43px; border-color:#d7e0e9; background:#fbfcfe; }
.provider-password-toggle { position:absolute; top:50%; right:11px; width:34px; height:34px; border:0; background:transparent; color:#71889d; transform:translateY(-50%); }
.provider-primary-button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:51px; margin-top:4px; padding:7px 8px 7px 21px; border:0; border-radius:8px; background:linear-gradient(135deg,var(--royal),var(--electric)); color:#fff; font-size:13px; font-weight:800; letter-spacing:.4px; cursor:pointer; box-shadow:0 8px 20px rgba(24,95,165,.22); }
.provider-primary-button i { display:grid; place-items:center; width:36px; height:36px; border-radius:7px; background:rgba(255,255,255,.16); }
.provider-primary-button:hover { background:var(--slate); }
.provider-switch-copy { margin:2px 0 0; color:#7b8fa1; text-align:center; font-size:12px; }
.provider-switch-copy button { padding:0; border:0; background:transparent; color:var(--royal); font-weight:700; cursor:pointer; }
.provider-request-pane #catalogForm > .row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0; }
.provider-request-pane #catalogForm > .row > [class*="col-"] { width:auto; margin:0; padding:0; }
.provider-request-pane #catalogForm > .row > [class*="col-"]:nth-last-child(-n+2) { grid-column:1/-1; }
.upper-commerce-shell .provider-request-pane .form-control,.upper-commerce-shell .provider-request-pane .form-select { height:46px; min-height:46px; padding:9px 12px; border-color:#d7e0e9; background:#fbfcfe; font-size:13px; }
.provider-request-pane #how_did_you_hear_box_text { margin-top:10px !important; }
.provider-request-pane .provider-captcha-field { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.provider-request-pane .provider-captcha-error { color:#c93636; font-size:12px; }
.provider-request-pane .provider-captcha-error[hidden] { display:none !important; }
.upper-commerce-shell .provider-request-pane .btn-primary { display:flex; gap:10px; align-items:center; justify-content:center; width:100%; min-height:50px; padding:12px 22px !important; border-radius:8px !important; text-transform:none; }
.upper-commerce-shell .provider-request-pane .btn-primary .ico { display:none; }
.provider-privacy-note { display:flex; gap:7px; justify-content:center; margin:18px 0 0; color:#8495a5; font-size:10px; line-height:1.5; text-align:center; }
.provider-privacy-note i { margin-top:2px; color:var(--royal); }

@media (max-width: 900px) {
  .provider-access-shell { grid-template-columns:1fr; max-width:680px; }
  .provider-access-aside { padding:34px 36px; }
  .provider-access-aside__mark { margin-bottom:20px; }
  .provider-access-benefits { grid-template-columns:1fr 1fr; margin-bottom:26px; }
}
@media (max-width: 600px) {
  .provider-access-hero { padding:43px 20px 40px; }
  .provider-access-section { padding:28px 14px 48px; }
  .provider-access-shell { border-radius:13px; }
  .provider-access-aside { padding:28px 24px; }
  .provider-access-aside h2 { font-size:27px; }
  .provider-access-benefits { grid-template-columns:1fr; gap:11px; }
  .provider-access-card { padding:24px 18px 30px; }
  .upper-commerce-shell .provider-access-tabs.nav-tabs .nav-link { min-height:48px; padding:8px; font-size:11px; }
  .upper-commerce-shell .provider-access-tabs.nav-tabs .nav-link i { display:none; }
  .provider-form-heading h2 { font-size:26px; }
  .provider-request-pane #catalogForm > .row { grid-template-columns:1fr; gap:15px; }
  .provider-request-pane #catalogForm > .row > [class*="col-"]:nth-last-child(-n+2) { grid-column:auto; }
}

/* Provider order dashboard */
.orders-page { min-height:calc(100vh - var(--nav-height)); background:#f4f7fa; }
.orders-hero { position:relative; overflow:hidden; padding:48px 24px; border-bottom:3px solid var(--electric); background:linear-gradient(120deg,#172b3e 0%,#1a344d 68%,#1768ae 145%); }
.orders-hero::before { position:absolute; top:-190px; right:8%; width:370px; height:370px; border:1px solid rgba(90,170,244,.18); border-radius:50%; box-shadow:0 0 0 62px rgba(90,170,244,.035),0 0 0 124px rgba(90,170,244,.025); content:""; }
.orders-hero__inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:45px; width:min(1180px,100%); margin:auto; }
.orders-eyebrow { display:block; margin-bottom:9px; color:#67b2f8; font-size:10px; font-weight:800; letter-spacing:2.2px; }
.orders-hero h1 { margin:0 0 9px; color:#fff; font:400 clamp(36px,4vw,52px)/1.05 'DM Serif Display',serif; }
.orders-hero p { max-width:670px; margin:0; color:rgba(255,255,255,.67); font-size:14px; line-height:1.7; }
.orders-hero__mark { display:grid; flex:0 0 68px; place-items:center; width:68px; height:68px; border:1px solid rgba(255,255,255,.15); border-radius:17px; background:rgba(55,138,221,.15); color:#71b9fb; font-size:27px; box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.orders-content { padding:52px 24px 72px; }
.orders-container { width:min(1180px,100%); margin:auto; }

.orders-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-bottom:48px; }
.orders-stat { display:flex; gap:14px; align-items:center; padding:18px 20px; border:1px solid #dce5ee; border-radius:12px; background:#fff; box-shadow:0 8px 25px rgba(26,43,60,.055); }
.orders-stat__icon { display:grid; flex:0 0 43px; place-items:center; width:43px; height:43px; border-radius:10px; background:#e9f3fc; color:var(--royal); font-size:16px; }
.orders-stat div { display:flex; flex-direction:column; min-width:0; }
.orders-stat strong { overflow:hidden; color:var(--slate); font-size:20px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.orders-stat span:last-child { margin-top:3px; color:#7b8ea1; font-size:11px; }

.orders-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:18px; }
.orders-section-heading > div > span { display:block; margin-bottom:5px; color:var(--electric); font-size:9px; font-weight:800; letter-spacing:1.8px; }
.orders-section-heading h2 { margin:0; color:var(--slate); font:400 30px/1.15 'DM Serif Display',serif; }
.orders-text-link { display:inline-flex; gap:8px; align-items:center; color:var(--royal); font-size:12px; font-weight:700; text-decoration:none; transition:color .2s ease; }
.orders-text-link:hover { color:var(--electric); }
.orders-text-link i { font-size:10px; transition:transform .2s ease; }
.orders-text-link:hover i { transform:translateX(3px); }

.orders-list { display:grid; gap:20px; }
.orders-card { overflow:hidden; border:1px solid #dce5ee; border-radius:15px; background:#fff; box-shadow:0 10px 32px rgba(26,43,60,.065); }
.orders-card__header { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:20px 24px; border-bottom:1px solid #e5ebf1; background:#fbfcfe; }
.orders-card__label { display:block; margin-bottom:3px; color:#8093a5; font-size:8px; font-weight:800; letter-spacing:1.5px; }
.orders-card__identity h3 { margin:0 0 4px; color:var(--slate); font-size:17px; font-weight:700; }
.orders-card__identity p { display:flex; gap:7px; margin:0; color:#7b8ea1; font-size:11px; }
.orders-card__meta { display:flex; flex-wrap:wrap; gap:9px; align-items:center; justify-content:flex-end; }
.orders-location { display:inline-flex; gap:6px; align-items:center; padding:6px 9px; border-radius:6px; background:#eaf3fb; color:#376684; font-size:10px; font-weight:700; }
.orders-status { display:inline-flex; gap:7px; align-items:center; padding:7px 11px; border:1px solid #d7e1ea; border-radius:999px; background:#edf2f6; color:#5e7387; font-size:9px; font-weight:800; letter-spacing:.45px; text-transform:uppercase; }
.orders-status i { width:6px; height:6px; border-radius:50%; background:currentColor; }
.orders-status--pending,.orders-status--processing { border-color:#f1dc9c; background:#fff8e4; color:#98700b; }
.orders-status--shipped,.orders-status--partially-shipped { border-color:#b9dcfa; background:#eaf5ff; color:#1766a9; }
.orders-status--delivered,.orders-status--completed,.orders-status--partially-delivered { border-color:#bce6da; background:#eaf8f3; color:#087d68; }
.orders-status--canceled,.orders-status--cancelled { border-color:#f0c5c5; background:#fff0f0; color:#b42318; }
.orders-card__body { padding:0 24px; }
.orders-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:35px; }
.orders-item { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:13px; align-items:center; min-width:0; padding:19px 0; border-bottom:1px solid #edf1f5; }
.orders-item__visual { display:grid; place-items:center; width:52px; height:56px; border:1px solid #d9e6f1; border-radius:9px; background:linear-gradient(145deg,#f7fbff,#e8f2fb); color:var(--royal); font-size:19px; }
.orders-item__details { min-width:0; }
.orders-item__details h4 { overflow:hidden; margin:0 0 6px; color:#263e54; font-size:13px; font-weight:700; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.orders-item__facts { display:flex; flex-wrap:wrap; gap:5px; }
.orders-item__facts span { padding-right:6px; border-right:1px solid #cbd5df; color:#75899c; font-size:10px; line-height:1; }
.orders-item__facts span:last-child { padding-right:0; border-right:0; }
.orders-item__price { align-self:start; padding-top:2px; color:var(--slate); font-size:12px; white-space:nowrap; }
.orders-fulfillment { display:inline-flex; gap:5px; align-items:center; margin-top:7px; color:#1766a9; font-size:9px; font-weight:700; text-transform:uppercase; }
.orders-fulfillment--complete { color:#087d68; }
.orders-card__footer { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:18px 0 21px; }
.orders-total { display:flex; flex-direction:column; }
.orders-total span { color:#8092a2; font-size:9px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; }
.orders-total strong { margin-top:2px; color:var(--slate); font-size:19px; }
.orders-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.orders-button { display:inline-flex; gap:8px; align-items:center; justify-content:center; min-height:40px; padding:9px 15px; border:1px solid transparent; border-radius:7px; font-family:'DM Sans',sans-serif; font-size:11px; font-weight:800; line-height:1; text-decoration:none; cursor:pointer; transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }
.orders-button:hover { transform:translateY(-1px); }
.orders-button--primary { border-color:var(--royal); background:linear-gradient(135deg,var(--royal),var(--electric)); color:#fff; box-shadow:0 7px 17px rgba(24,95,165,.18); }
.orders-button--primary:hover { border-color:var(--slate); background:var(--slate); color:#fff; }
.orders-button--secondary { border-color:#cfdae4; background:#fff; color:#38536b; }
.orders-button--secondary:hover { border-color:var(--royal); color:var(--royal); }
.orders-button--payment { border-color:#e3c66e; background:#fff8dd; color:#80600a; }
.orders-button--payment:hover { background:#f8e8af; color:#6b5005; }

.orders-empty { position:relative; overflow:hidden; max-width:790px; margin:4px auto 58px; padding:47px 32px 44px; border:1px solid #dce6ef; border-radius:17px; background:#fff; text-align:center; box-shadow:0 17px 45px rgba(26,43,60,.075); }
.orders-empty::after { position:absolute; right:-85px; bottom:-110px; width:225px; height:225px; border:35px solid rgba(55,138,221,.055); border-radius:50%; content:""; }
.orders-empty__icon { display:grid; width:66px; height:66px; margin:0 auto 20px; place-items:center; border:1px solid #cbe0f2; border-radius:17px; background:#edf7ff; color:var(--royal); font-size:25px; }
.orders-empty > span { color:var(--electric); font-size:9px; font-weight:800; letter-spacing:1.8px; }
.orders-empty h2 { margin:7px 0 10px; color:var(--slate); font:400 32px/1.1 'DM Serif Display',serif; }
.orders-empty p { max-width:510px; margin:0 auto; color:#71869a; font-size:13px; line-height:1.7; }
.orders-empty__actions { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:20px; margin-top:24px; }

.orders-recommendations { margin-top:56px; }
.orders-recommendations__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.orders-recommendation-card { overflow:hidden; min-width:0; border:1px solid #dce5ee; border-radius:13px; background:#fff; box-shadow:0 8px 25px rgba(26,43,60,.055); transition:transform .2s ease,box-shadow .2s ease; }
.orders-recommendation-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(26,43,60,.11); }
.orders-recommendation-card__visual { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; height:145px; overflow:hidden; border-bottom:1px solid #d9e4ed; background:linear-gradient(145deg,#152a3e,#1b486d); color:#fff; text-decoration:none; }
.orders-recommendation-card__visual > .fa-flask-vial { position:relative; z-index:2; margin-bottom:13px; color:#70bafa; font-size:31px; filter:drop-shadow(0 6px 10px rgba(0,0,0,.18)); }
.orders-recommendation-card__visual > span:last-child { position:relative; z-index:2; color:rgba(255,255,255,.82); font-size:8px; font-weight:800; letter-spacing:1.7px; }
.orders-recommendation-card__molecule { position:absolute; top:18px; left:22px; display:flex; align-items:center; transform:rotate(-35deg); }
.orders-recommendation-card__molecule::before { position:absolute; left:3px; width:61px; height:1px; background:rgba(88,169,242,.35); content:""; }
.orders-recommendation-card__molecule i { position:relative; z-index:1; display:block; width:7px; height:7px; margin-right:9px; border-radius:50%; background:#378add; box-shadow:0 0 0 3px rgba(55,138,221,.12); }
.orders-recommendation-card__body { padding:18px 18px 19px; }
.orders-recommendation-card__type { display:block; margin-bottom:6px; color:#7990a4; font-size:8px; font-weight:800; letter-spacing:1.25px; }
.orders-recommendation-card h3 { min-height:38px; margin:0 0 14px; color:var(--slate); font-size:14px; font-weight:700; line-height:1.35; }
.orders-recommendation-card__link { display:flex; align-items:center; justify-content:space-between; padding-top:13px; border-top:1px solid #e9eef3; color:var(--royal); font-size:10px; font-weight:800; text-decoration:none; }
.orders-recommendation-card__link:hover { color:var(--electric); }
.orders-disclaimer { margin-top:42px; }

.orders-tracking-modal .modal-content { overflow:hidden; border:0; border-radius:15px; box-shadow:0 25px 65px rgba(10,29,46,.24); }
.orders-tracking-modal .modal-header { padding:21px 24px; border-bottom:1px solid #e3eaf0; background:#f8fafc; }
.orders-tracking-modal .modal-header span { color:var(--electric); font-size:8px; font-weight:800; letter-spacing:1.5px; }
.orders-tracking-modal .modal-title { margin-top:3px; color:var(--slate); font:400 25px/1.1 'DM Serif Display',serif; }
.orders-tracking-modal .modal-body { padding:24px; }
.orders-tracking-list { margin:0; padding:0; list-style:none; }
.orders-tracking-entry { position:relative; display:grid; grid-template-columns:15px 1fr; gap:15px; padding-bottom:24px; }
.orders-tracking-entry:not(:last-child)::before { position:absolute; top:13px; bottom:0; left:5px; width:1px; background:#cfdae4; content:""; }
.orders-tracking-entry__dot { position:relative; z-index:1; width:11px; height:11px; margin-top:4px; border:3px solid #b9daf7; border-radius:50%; background:var(--royal); box-sizing:border-box; }
.orders-tracking-entry__content > div { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.orders-tracking-entry__content strong { color:var(--slate); font-size:12px; text-transform:capitalize; }
.orders-tracking-entry__content time { color:#8293a3; font-size:10px; }
.orders-tracking-entry__content p { margin:6px 0 0; color:#6b8093; font-size:11px; line-height:1.6; }
.orders-tracking-entry__content ul { margin:8px 0 0; padding-left:16px; color:#6b8093; font-size:10px; }
.orders-tracking-state { display:flex; flex-direction:column; gap:10px; align-items:center; padding:35px; color:#6e8295; font-size:12px; text-align:center; }
.orders-tracking-state i { color:var(--royal); font-size:20px; }
.orders-tracking-state--error i { color:#b42318; }

@media (max-width: 900px) {
  .orders-stats { grid-template-columns:1fr 1fr; }
  .orders-stat:last-child { grid-column:1/-1; }
  .orders-items { grid-template-columns:1fr; }
  .orders-recommendations__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 650px) {
  .orders-hero { padding:40px 20px; }
  .orders-hero__mark { display:none; }
  .orders-content { padding:32px 14px 52px; }
  .orders-stats { grid-template-columns:1fr; gap:10px; margin-bottom:36px; }
  .orders-stat:last-child { grid-column:auto; }
  .orders-section-heading { align-items:flex-start; }
  .orders-section-heading h2 { font-size:27px; }
  .orders-card__header { align-items:flex-start; padding:18px; }
  .orders-card__meta { flex-direction:column; align-items:flex-end; }
  .orders-card__body { padding:0 18px; }
  .orders-item { grid-template-columns:46px minmax(0,1fr); }
  .orders-item__visual { width:46px; height:50px; }
  .orders-item__price { grid-column:2; justify-self:start; padding:0; }
  .orders-card__footer { align-items:flex-start; flex-direction:column; }
  .orders-actions { width:100%; justify-content:flex-start; }
  .orders-button { flex:1 1 auto; }
  .orders-empty { padding:38px 22px; }
  .orders-empty__actions { flex-direction:column; }
  .orders-empty__actions .orders-button { width:100%; }
  .orders-recommendations { margin-top:44px; }
  .orders-recommendations__grid { grid-template-columns:1fr 1fr; gap:10px; }
  .orders-recommendation-card__visual { height:122px; }
  .orders-recommendation-card__body { padding:15px; }
  .orders-tracking-entry__content > div { align-items:flex-start; flex-direction:column; gap:3px; }
}

@media (max-width: 420px) {
  .orders-card__header { flex-direction:column; }
  .orders-card__meta { align-items:flex-start; }
  .orders-recommendations__grid { grid-template-columns:1fr; }
}

/* Provider cart */
.upper-cart-page { min-height:calc(100vh - var(--nav-height)); background:#f4f7fa; }
.upper-cart-hero { position:relative; overflow:hidden; padding:43px 24px; border-bottom:3px solid var(--electric); background:linear-gradient(120deg,#172b3e 0%,#1a344d 68%,#1768ae 145%); }
.upper-cart-hero::after { position:absolute; top:-170px; right:9%; width:330px; height:330px; border:1px solid rgba(90,170,244,.18); border-radius:50%; box-shadow:0 0 0 58px rgba(90,170,244,.035),0 0 0 116px rgba(90,170,244,.025); content:""; }
.upper-cart-hero__inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:40px; width:min(1180px,100%); margin:auto; }
.upper-cart-eyebrow { display:block; margin-bottom:7px; color:#67b2f8; font-size:10px; font-weight:800; letter-spacing:2.1px; }
.upper-cart-hero h1 { margin:0 0 7px; color:#fff; font:400 clamp(36px,4vw,50px)/1.05 'DM Serif Display',serif; }
.upper-cart-hero p { max-width:650px; margin:0; color:rgba(255,255,255,.67); font-size:14px; line-height:1.65; }
.upper-cart-hero__count { display:flex; flex:0 0 auto; gap:13px; align-items:center; min-width:142px; padding:13px 17px; border:1px solid rgba(255,255,255,.14); border-radius:13px; background:rgba(55,138,221,.14); }
.upper-cart-hero__count > i { color:#70bafa; font-size:21px; }
.upper-cart-hero__count div { display:flex; flex-direction:column; }
.upper-cart-hero__count strong { color:#fff; font-size:19px; line-height:1; }
.upper-cart-hero__count span { margin-top:3px; color:rgba(255,255,255,.55); font-size:9px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
.upper-cart-content { padding:46px 24px 70px; }
.upper-cart-container { width:min(1180px,100%); margin:auto; }
.upper-cart-alert { display:flex; gap:10px; align-items:center; margin-bottom:18px; padding:13px 15px; border:1px solid; border-radius:9px; font-size:12px; }
.upper-cart-alert--success { border-color:#bce6da; background:#eaf8f3; color:#087d68; }
.upper-cart-alert--error { border-color:#f0c5c5; background:#fff0f0; color:#b42318; }
.upper-cart-shipping { display:flex; gap:13px; align-items:center; margin-bottom:24px; padding:15px 18px; border:1px solid #c8dcf0; border-radius:11px; background:#edf6ff; color:#245d8f; }
.upper-cart-shipping.is-qualified { border-color:#bce6da; background:#eaf8f3; color:#087d68; }
.upper-cart-shipping__icon { display:grid; flex:0 0 38px; place-items:center; width:38px; height:38px; border-radius:9px; background:rgba(24,95,165,.09); font-size:15px; }
.upper-cart-shipping div { display:flex; flex-direction:column; }
.upper-cart-shipping strong { font-size:12px; }
.upper-cart-shipping div span { margin-top:2px; color:#668098; font-size:10px; }
.upper-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:25px; align-items:start; }
.upper-cart-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.upper-cart-section-heading > div > span { display:block; margin-bottom:5px; color:var(--electric); font-size:9px; font-weight:800; letter-spacing:1.7px; }
.upper-cart-section-heading h2 { margin:0; color:var(--slate); font:400 28px/1.15 'DM Serif Display',serif; }
.upper-cart-text-link { display:inline-flex; gap:7px; align-items:center; color:var(--royal); font-size:11px; font-weight:700; text-decoration:none; }
.upper-cart-text-link:hover { color:var(--electric); }
.upper-cart-items { overflow:hidden; border:1px solid #dce5ee; border-radius:14px; background:#fff; box-shadow:0 10px 32px rgba(26,43,60,.06); }
.upper-cart-item { position:relative; display:grid; grid-template-columns:76px minmax(165px,1.5fr) minmax(78px,.65fr) 112px minmax(80px,.65fr) 34px; gap:16px; align-items:center; padding:20px; }
.upper-cart-item + .upper-cart-item { border-top:1px solid #e7edf2; }
.upper-cart-item__visual { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:76px; height:82px; overflow:hidden; border:1px solid #d7e5f1; border-radius:10px; background:linear-gradient(145deg,#173048,#1b527c); color:#fff; }
.upper-cart-item__visual > .fa-flask-vial { position:relative; z-index:2; color:#70bafa; font-size:24px; }
.upper-cart-item__visual small { position:relative; z-index:2; margin-top:6px; color:rgba(255,255,255,.7); font-size:7px; font-weight:800; letter-spacing:1.2px; }
.upper-cart-item__molecule { position:absolute; top:12px; left:11px; display:flex; transform:rotate(-35deg); }
.upper-cart-item__molecule::before { position:absolute; top:3px; left:2px; width:36px; height:1px; background:rgba(85,170,247,.35); content:""; }
.upper-cart-item__molecule i { position:relative; z-index:1; width:5px; height:5px; margin-right:7px; border-radius:50%; background:#378add; }
.upper-cart-item__info { min-width:0; }
.upper-cart-item__type { display:block; margin-bottom:5px; color:#8496a7; font-size:7px; font-weight:800; letter-spacing:1.25px; }
.upper-cart-item__info h3 { margin:0 0 8px; color:#273f55; font-size:14px; font-weight:700; line-height:1.35; }
.upper-cart-item__meta { display:flex; flex-wrap:wrap; gap:6px; }
.upper-cart-item__meta > span { display:inline-flex; gap:5px; align-items:center; padding:4px 7px; border-radius:5px; background:#edf3f8; color:#5f7589; font-size:8px; font-weight:700; }
.upper-cart-item__meta .upper-cart-item__preorder { background:#fff1e8; color:#a14b14; }
.upper-cart-item__pricing,.upper-cart-item__subtotal,.upper-cart-item__quantity { display:flex; flex-direction:column; }
.upper-cart-item__pricing > span,.upper-cart-item__subtotal > span,.upper-cart-item__quantity > span { margin-bottom:7px; color:#8394a4; font-size:8px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; }
.upper-cart-item__pricing del { margin-bottom:2px; color:#9aabb9; font-size:10px; }
.upper-cart-item__pricing strong,.upper-cart-item__subtotal strong { color:var(--slate); font-size:14px; }
.upper-cart-item__pricing del + strong { color:#087d68; }
.upper-cart-qty { display:grid; grid-template-columns:30px 38px 30px; width:max-content; height:34px; overflow:hidden; border:1px solid #cbd7e1; border-radius:7px; background:#fff; transition:opacity .2s ease; }
.upper-cart-qty.is-loading { opacity:.5; }
.upper-cart-qty__button { display:grid; place-items:center; border:0; background:#edf3f7; color:#405b72; font-size:9px; cursor:pointer; }
.upper-cart-qty__button:hover { background:#dbeaf6; color:var(--royal); }
.upper-cart-qty__button:disabled { cursor:wait; }
.upper-cart-qty__input { width:38px; border:0; border-right:1px solid #d8e1e9; border-left:1px solid #d8e1e9; color:var(--slate); font-size:11px; font-weight:800; text-align:center; appearance:textfield; }
.upper-cart-qty__input::-webkit-inner-spin-button,.upper-cart-qty__input::-webkit-outer-spin-button { margin:0; appearance:none; }
.upper-cart-remove-form { margin:0; }
.upper-cart-remove { display:grid; place-items:center; width:32px; height:32px; border:1px solid #efcaca; border-radius:7px; background:#fff6f6; color:#c3362c; cursor:pointer; transition:.2s ease; }
.upper-cart-remove:hover { border-color:#c3362c; background:#c3362c; color:#fff; }
.upper-cart-assurance { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.upper-cart-assurance > div { display:flex; gap:10px; align-items:center; padding:13px 15px; border:1px solid #dce5ee; border-radius:9px; background:#fff; }
.upper-cart-assurance > div > i { color:var(--royal); font-size:16px; }
.upper-cart-assurance span { display:flex; flex-direction:column; color:#7c8e9f; font-size:9px; }
.upper-cart-assurance strong { margin-bottom:2px; color:#344e65; font-size:10px; }
.upper-cart-assurance a { color:var(--royal); text-decoration:none; }
.upper-cart-summary { position:sticky; top:calc(var(--nav-height) + 20px); overflow:hidden; border:1px solid #dce5ee; border-radius:14px; background:#fff; box-shadow:0 13px 36px rgba(26,43,60,.085); }
.upper-cart-summary header { padding:21px 22px 18px; border-bottom:1px solid #dfe7ee; background:linear-gradient(145deg,#182d41,#1a405f); }
.upper-cart-summary header span { color:#69b4f7; font-size:8px; font-weight:800; letter-spacing:1.6px; }
.upper-cart-summary header h2 { margin:4px 0 0; color:#fff; font:400 26px/1.1 'DM Serif Display',serif; }
.upper-cart-summary__body { padding:21px 22px 22px; }
.upper-cart-summary__row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:9px 0; color:#718599; font-size:11px; }
.upper-cart-summary__row strong { color:#344c61; font-size:11px; }
.upper-cart-summary__row--discount,.upper-cart-summary__row--discount strong { color:#087d68; }
.upper-cart-summary__total { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-top:9px; padding:17px 0; border-top:1px solid #dfe7ee; }
.upper-cart-summary__total > span { display:flex; flex-direction:column; color:var(--slate); font-size:12px; font-weight:800; }
.upper-cart-summary__total small { max-width:160px; margin-top:4px; color:#8a9aa9; font-size:8px; font-weight:400; line-height:1.45; }
.upper-cart-summary__total > strong { color:var(--royal); font-size:20px; line-height:1; white-space:nowrap; }
.upper-cart-minimum { margin:3px 0 16px; padding:13px; border:1px solid #f0d59b; border-radius:8px; background:#fffaec; }
.upper-cart-minimum__heading { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#7e5b08; font-size:9px; font-weight:800; text-transform:uppercase; }
.upper-cart-minimum__heading span { display:flex; gap:6px; align-items:center; }
.upper-cart-minimum__track { height:5px; margin:11px 0 9px; overflow:hidden; border-radius:999px; background:#efdfbb; }
.upper-cart-minimum__track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#d79d18,#f0bd42); }
.upper-cart-minimum p { margin:0 0 9px; color:#856a2b; font-size:9px; line-height:1.5; }
.upper-cart-code-link { display:inline-flex; gap:6px; align-items:center; padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:#72520b; font-size:9px; font-weight:800; cursor:pointer; }
.upper-cart-button { display:flex; gap:10px; align-items:center; justify-content:center; width:100%; min-height:46px; padding:11px 16px; border:1px solid transparent; border-radius:8px; font-size:11px; font-weight:800; text-decoration:none; transition:.2s ease; }
.upper-cart-button--primary { border-color:var(--royal); background:linear-gradient(135deg,var(--royal),var(--electric)); color:#fff; box-shadow:0 8px 19px rgba(24,95,165,.18); }
.upper-cart-button--primary:hover { border-color:var(--slate); background:var(--slate); color:#fff; transform:translateY(-1px); }
.upper-cart-summary__note { display:flex; gap:6px; align-items:center; justify-content:center; margin:13px 0 0; color:#8a9aaa; font-size:8px; }
.upper-cart-empty { position:relative; max-width:730px; margin:10px auto 30px; padding:52px 35px; overflow:hidden; border:1px solid #dce5ee; border-radius:17px; background:#fff; text-align:center; box-shadow:0 17px 45px rgba(26,43,60,.075); }
.upper-cart-empty__icon { display:grid; width:67px; height:67px; margin:0 auto 20px; place-items:center; border:1px solid #cbe0f2; border-radius:17px; background:#edf7ff; color:var(--royal); font-size:24px; }
.upper-cart-empty > span { color:var(--electric); font-size:9px; font-weight:800; letter-spacing:1.8px; }
.upper-cart-empty h2 { margin:7px 0 10px; color:var(--slate); font:400 32px/1.1 'DM Serif Display',serif; }
.upper-cart-empty p { max-width:480px; margin:0 auto 24px; color:#71869a; font-size:13px; line-height:1.7; }
.upper-cart-empty .upper-cart-button { width:max-content; min-width:190px; margin:auto; }
.upper-cart-disclaimer { margin-top:40px; }
.swal2-popup { font-family:'DM Sans',sans-serif; }
.swal2-styled.swal2-confirm { background:var(--royal) !important; }

@media (max-width: 1050px) {
  .upper-cart-layout { grid-template-columns:1fr; }
  .upper-cart-summary { position:static; width:100%; }
}

@media (max-width: 760px) {
  .upper-cart-content { padding:34px 14px 52px; }
  .upper-cart-item { grid-template-columns:68px minmax(0,1fr) auto; gap:13px; padding:17px; }
  .upper-cart-item__visual { grid-row:1/4; width:68px; height:75px; }
  .upper-cart-item__info { grid-column:2/4; padding-right:40px; }
  .upper-cart-item__pricing { grid-column:2; align-items:flex-start; }
  .upper-cart-item__quantity { grid-column:2; }
  .upper-cart-item__subtotal { grid-column:3; grid-row:3; align-items:flex-end; }
  .upper-cart-remove-form { position:absolute; top:17px; right:17px; }
}

@media (max-width: 560px) {
  .upper-cart-hero { padding:37px 20px; }
  .upper-cart-hero__count { display:none; }
  .upper-cart-section-heading { align-items:flex-start; flex-direction:column; }
  .upper-cart-item { grid-template-columns:58px minmax(0,1fr); }
  .upper-cart-item__visual { width:58px; height:67px; }
  .upper-cart-item__info { grid-column:2; }
  .upper-cart-item__pricing { grid-column:2; align-items:flex-start; }
  .upper-cart-item__quantity { grid-column:2; }
  .upper-cart-item__subtotal { grid-column:2; grid-row:auto; align-items:flex-start; }
  .upper-cart-remove-form { top:17px; right:15px; transform:none; }
  .upper-cart-item__info { padding-right:36px; }
  .upper-cart-assurance { grid-template-columns:1fr; }
  .upper-cart-summary__body { padding:19px; }
}

/* Provider checkout */
.upper-checkout-page { min-height:calc(100vh - var(--nav-height)); background:#f4f7fa; }
.upper-checkout-hero { position:relative; overflow:hidden; padding:43px 24px; border-bottom:3px solid var(--electric); background:linear-gradient(120deg,#172b3e 0%,#1a344d 68%,#1768ae 145%); }
.upper-checkout-hero::after { position:absolute; top:-175px; right:7%; width:345px; height:345px; border:1px solid rgba(90,170,244,.18); border-radius:50%; box-shadow:0 0 0 60px rgba(90,170,244,.035),0 0 0 120px rgba(90,170,244,.025); content:""; }
.upper-checkout-hero__inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:45px; width:min(1180px,100%); margin:auto; }
.upper-checkout-eyebrow { display:block; margin-bottom:7px; color:#67b2f8; font-size:10px; font-weight:800; letter-spacing:2.1px; }
.upper-checkout-hero h1 { margin:0 0 7px; color:#fff; font:400 clamp(36px,4vw,50px)/1.05 'DM Serif Display',serif; }
.upper-checkout-hero p { max-width:650px; margin:0; color:rgba(255,255,255,.67); font-size:14px; line-height:1.65; }
.upper-checkout-steps { display:flex; flex:0 0 auto; align-items:flex-start; }
.upper-checkout-steps > span { display:flex; flex-direction:column; gap:5px; align-items:center; min-width:45px; color:rgba(255,255,255,.42); }
.upper-checkout-steps span > i { display:grid; place-items:center; width:29px; height:29px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:inherit; font-size:10px; font-style:normal; font-weight:800; }
.upper-checkout-steps span > small { font-size:8px; font-weight:700; }
.upper-checkout-steps > b { width:30px; height:1px; margin-top:14px; background:rgba(255,255,255,.18); }
.upper-checkout-steps .is-complete,.upper-checkout-steps .is-current { color:#fff; }
.upper-checkout-steps .is-complete > i { border-color:var(--accent); background:var(--accent); color:#15394a; }
.upper-checkout-steps .is-current > i { border-color:#62adf2; background:rgba(55,138,221,.32); }
.upper-checkout-content { padding:46px 24px 70px; }
.upper-checkout-container { width:min(1180px,100%); margin:auto; }
.upper-checkout-layout { --bs-gutter-x:24px; align-items:flex-start; }
.upper-commerce-shell .upper-checkout-panel { padding:30px !important; border:1px solid #dce5ee !important; border-radius:15px !important; background:#fff; box-shadow:0 11px 34px rgba(26,43,60,.065) !important; }
.upper-checkout-section-title { margin-bottom:25px; }
.upper-checkout-section-title > span,.upper-checkout-summary__title > span { display:block; margin-bottom:5px; color:var(--electric); font-size:9px; font-weight:800; letter-spacing:1.7px; }
.upper-checkout-section-title h2,.upper-checkout-summary__title h2 { margin:0; color:var(--slate); font:400 28px/1.15 'DM Serif Display',serif; }
.upper-checkout-section-title p { margin:7px 0 0; color:#768a9d; font-size:11px; line-height:1.6; }
.upper-checkout-order-reference { margin:0 0 28px; padding:16px 18px; border:1px solid #cfe0ee; border-radius:9px; background:#f2f8fd; color:#405d74; font-size:11px; }
.upper-checkout-order-reference .mb-3:last-child { margin-bottom:0 !important; }
.upper-checkout-panel > .row,.upper-checkout-panel #shipping_address_wrapper,.upper-checkout-panel #dropship_details_container > .row { --bs-gutter-x:16px; }
.upper-checkout-panel .mb-20 { margin-bottom:17px; }
.upper-checkout-panel .default-form-box > label:first-child { display:block; margin:0 0 7px; color:#304a61; font-size:10px; font-weight:800; letter-spacing:.15px; }
.upper-checkout-panel .default-form-box > label span { color:#d93838; }
.upper-commerce-shell .upper-checkout-panel .form-control,.upper-commerce-shell .upper-checkout-panel .form-select,.upper-checkout-panel .select2-container .select2-selection--single,.upper-checkout-panel .select2-container .select2-selection--multiple { min-height:46px; border:1px solid #d5e0e9 !important; border-radius:7px !important; background:#fbfcfe; color:#2c455b; font-size:12px; box-shadow:none; }
.upper-commerce-shell .upper-checkout-panel .form-control { padding:10px 13px; }
.upper-commerce-shell .upper-checkout-panel textarea.form-control { min-height:100px; resize:vertical; }
.upper-commerce-shell .upper-checkout-panel .form-control[readonly] { background:#f1f5f8; color:#718598; }
.upper-checkout-panel .select2-container { width:100% !important; }
.upper-checkout-panel .select2-container .select2-selection--single .select2-selection__rendered { padding:8px 13px; line-height:28px; }
.upper-checkout-panel .select2-container .select2-selection--single .select2-selection__arrow { top:10px; right:7px; }
.upper-checkout-panel .select2-container .select2-selection--multiple { padding:4px 7px; }
.upper-checkout-panel .invalid-feedback { margin-top:5px; font-size:9px; }
.upper-checkout-panel #shipping_selection_container { margin-top:7px; padding-top:23px; border-top:1px solid #e4ebf1; }
.upper-checkout-panel #shipping_selection_container > .default-form-box > label:first-child { margin-bottom:11px; color:var(--electric); font-size:9px; letter-spacing:1.5px; text-transform:uppercase; }
.upper-checkout-panel #shipping_selection_container .form-check { position:relative; display:flex; gap:12px; align-items:center; width:100%; margin:0 0 9px; padding:13px 15px; border:1px solid #dce5ee; border-radius:8px; background:#fff; }
.upper-checkout-panel #shipping_selection_container .form-check:has(input:checked) { border-color:#7bb6ea; background:#f0f7fe; box-shadow:0 0 0 2px rgba(55,138,221,.07); }
.upper-checkout-panel #shipping_selection_container .upper-shipping-radio { position:absolute !important; z-index:2; top:50%; left:15px; width:20px !important; height:20px !important; margin:0 !important; padding:0 !important; opacity:0 !important; cursor:pointer; transform:translateY(-50%); }
.upper-checkout-panel #shipping_selection_container .upper-shipping-radio-mark { display:block; flex:0 0 20px; width:20px; height:20px; border:2px solid #8497a8; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 4px #fff; transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease; }
.upper-checkout-panel #shipping_selection_container .upper-shipping-radio:checked + .upper-shipping-radio-mark { border-color:#185fa5 !important; background-color:#185fa5 !important; box-shadow:inset 0 0 0 4px #fff,0 0 0 1px #185fa5 !important; }
.upper-checkout-panel #shipping_selection_container .upper-shipping-radio:focus-visible + .upper-shipping-radio-mark { outline:3px solid rgba(55,138,221,.25); outline-offset:2px; }
.upper-checkout-panel #shipping_selection_container .form-check-label { margin:0; color:#405970; font-size:10px; line-height:1.5; cursor:pointer; }
.upper-checkout-panel .freeship_code_box { margin-top:10px !important; }
.upper-checkout-panel .freeship_code_box .btn { min-height:46px; border-radius:0 7px 7px 0 !important; padding:9px 16px !important; font-size:10px; }
.upper-checkout-panel #franchise_payment_mode_wrapper .default-form-box,.upper-checkout-panel #dropship_details_container > .row { padding:17px !important; border:1px solid #dbe6ee; border-radius:9px !important; background:#f7fafc !important; }

.upper-commerce-shell .upper-checkout-summary { position:sticky; top:calc(var(--nav-height) + 20px); padding:27px !important; border:1px solid #dce5ee; border-radius:15px; background:#fff; box-shadow:0 13px 38px rgba(26,43,60,.085); }
.upper-checkout-summary__title { margin-bottom:20px; }
.upper-checkout-product { display:grid !important; grid-template-columns:58px minmax(0,1fr); gap:13px; align-items:center; margin:0 !important; padding:14px 0; border-bottom:1px solid #e7edf2; }
.upper-checkout-product__visual { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:58px; height:64px; border:1px solid #d6e4ef; border-radius:9px; background:linear-gradient(145deg,#173048,#1b527c); color:#70bafa; }
.upper-checkout-product__visual > .fa-flask-vial { font-size:20px; }
.upper-checkout-product__visual > small { margin-top:4px; color:rgba(255,255,255,.72); font-size:6px; font-weight:800; letter-spacing:1px; }
.upper-checkout-product__visual .cart-count { position:absolute; top:-7px; right:-7px; display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border:2px solid #fff; border-radius:999px; background:var(--accent); color:#15394a; font-size:8px; font-weight:800; }
.upper-checkout-product__body { min-width:0; padding:0 !important; }
.upper-checkout-product__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.upper-checkout-product__heading .post-title { margin:0; color:#2c455b; font-size:11px; font-weight:700; line-height:1.4; }
.upper-checkout-product__heading h3 { margin:0; color:var(--slate); font-size:12px; white-space:nowrap; }
.upper-checkout-product .recent-post-meta { margin-top:6px; color:#7c8fa1; font-size:9px; }
.upper-checkout-totals { margin:19px 0 23px; padding:0; overflow:hidden; border:1px solid #dce5ee; border-radius:10px; background:#f9fbfd; }
.upper-checkout-totals .cart-checkout-title { margin:0; padding:13px 16px; background:#1a344d; color:#fff; font-size:11px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.upper-checkout-totals .cart-totals-wrap { padding:9px 16px 12px; }
.upper-checkout-totals ul { margin:0; padding:0; list-style:none; }
.upper-checkout-totals li { display:flex !important; align-items:center; justify-content:space-between; gap:15px; padding:8px 0 !important; border-bottom:1px solid #e5ebf0; color:#708497; font-size:10px; }
.upper-checkout-totals li[style*="none"] { display:none !important; }
.upper-checkout-totals li:last-child { border:0; color:var(--slate); font-size:12px; }
.upper-checkout-totals li span { margin-left:auto; color:#334c62; }
.upper-checkout-payment { margin-top:4px; }
.upper-payment-options { display:grid; gap:9px; margin:0 0 13px; }
.upper-payment-option { --payment-radio-left:65px; position:relative; display:grid; grid-template-columns:37px 20px minmax(0,1fr) auto; gap:8px; align-items:center; margin:0; padding:12px 20px; border:1px solid #d7e2eb; border-radius:9px; background:#fff; cursor:pointer; transition:.2s ease; }
.upper-payment-option:has(input:checked) { border-color:#71afe7; background:#eff7ff; box-shadow:0 0 0 2px rgba(55,138,221,.08); }
.upper-payment-option.is-unavailable { opacity:.62; cursor:not-allowed; }
.upper-payment-option .upper-payment-radio { position:absolute; z-index:2; top:50%; left:var(--payment-radio-left); width:20px; height:20px; margin:0; opacity:0; cursor:pointer; transform:translateY(-50%); }
.upper-payment-option .upper-payment-radio-mark { display:block; width:20px; height:20px; border:2px solid #9aaab8; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 4px #fff; }
.upper-payment-option:has(.upper-payment-radio:checked) .upper-payment-radio-mark { border-color:#185fa5; background:#185fa5; box-shadow:inset 0 0 0 4px #fff,0 0 0 1px #185fa5; }
.upper-payment-option:has(.upper-payment-radio:focus-visible) .upper-payment-radio-mark { outline:3px solid rgba(55,138,221,.25); outline-offset:2px; }
.upper-payment-option__icon { display:grid; place-items:center; width:37px; height:37px; border-radius:8px; background:#eaf3fb; color:var(--royal); font-size:14px; }
.upper-payment-option__copy { display:flex; min-width:0; flex-direction:column; }
.upper-payment-option__copy strong { color:#2d475d; font-size:10px; }
.upper-payment-option__copy small { margin-top:2px; color:#7f91a2; font-size:8px; line-height:1.45; }
.upper-payment-option em { padding:4px 6px; border-radius:4px; background:#edf1f4; color:#778999; font-size:7px; font-style:normal; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
.upper-square-card { margin:10px 0 14px; padding:14px; border:1px solid #d6e2eb; border-radius:9px; background:#fafcfe; }
.upper-payment-status { margin-bottom:12px; color:#b42318; font-size:10px; }
.upper-zelle-note { display:flex; gap:10px; align-items:flex-start; margin:10px 0 14px; padding:12px 20px; border:1px solid #c8ddef; border-radius:8px; background:#f0f7fd; color:#48657e; }
.upper-zelle-note i { display:grid; flex:0 0 20px; place-items:center; width:20px; height:20px; color:var(--royal); }
.upper-zelle-note p { margin:0; font-size:9px; line-height:1.6; }
.upper-checkout-agreement { position:relative; display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; align-items:flex-start; margin:15px 0 0 !important; padding:15px 20px !important; border:1px solid #dce4eb; border-radius:8px; background:#f8fafc; }
.upper-checkout-agreement .upper-agreement-checkbox { position:absolute !important; z-index:2; top:15px; left:20px; width:20px !important; height:20px !important; margin:0 !important; opacity:0 !important; cursor:pointer; }
.upper-checkout-agreement .upper-agreement-checkbox-mark { display:grid; place-items:center; width:20px; height:20px; border:2px solid #8fa2b2; border-radius:4px; background:#fff; color:#fff; font-size:12px; font-weight:900; line-height:1; }
.upper-checkout-agreement .upper-agreement-checkbox-mark::after { content:'\2713'; opacity:0; transform:scale(.7); transition:opacity .15s ease,transform .15s ease; }
.upper-checkout-agreement .upper-agreement-checkbox:checked + .upper-agreement-checkbox-mark { border-color:#185fa5 !important; background:#185fa5 !important; }
.upper-checkout-agreement .upper-agreement-checkbox:checked + .upper-agreement-checkbox-mark::after { opacity:1; transform:scale(1); }
.upper-checkout-agreement .upper-agreement-checkbox:focus-visible + .upper-agreement-checkbox-mark { outline:3px solid rgba(55,138,221,.25); outline-offset:2px; }
.upper-checkout-agreement .form-check-label { color:#60768a; font-size:9px; font-weight:500 !important; line-height:1.55; }
.upper-checkout-submit { margin-top:15px; }
.upper-checkout-submit__button { display:flex; gap:10px; align-items:center; justify-content:center; width:100%; min-height:48px; padding:11px 17px; border:0; border-radius:8px; background:linear-gradient(135deg,var(--royal),var(--electric)); color:#fff; font-family:'DM Sans',sans-serif; font-size:11px; font-weight:800; cursor:pointer; box-shadow:0 8px 19px rgba(24,95,165,.2); transition:.2s ease; }
.upper-checkout-submit__button:not(:disabled):hover { background:var(--slate); transform:translateY(-1px); }
.upper-checkout-submit__button:disabled { opacity:.48; cursor:not-allowed; box-shadow:none; }
.upper-checkout-submit > p { display:flex; gap:6px; align-items:center; justify-content:center; margin:11px 0 0; color:#8a9baa; font-size:8px; }
.upper-checkout-disclaimer { margin-top:38px; }

@media (max-width: 991px) {
  .upper-checkout-right-column { margin-top:22px; }
  .upper-commerce-shell .upper-checkout-summary { position:static; }
}

@media (max-width: 650px) {
  .upper-checkout-hero { padding:37px 20px; }
  .upper-checkout-steps { display:none; }
  .upper-checkout-content { padding:32px 14px 52px; }
  .upper-commerce-shell .upper-checkout-panel,.upper-commerce-shell .upper-checkout-summary { padding:21px !important; border-radius:12px; }
  .upper-checkout-section-title h2,.upper-checkout-summary__title h2 { font-size:25px; }
  .upper-payment-option { --payment-radio-left:62px; grid-template-columns:34px 20px minmax(0,1fr); padding-right:15px; padding-left:20px; }
  .upper-payment-option em { display:none; }
}

/* Checkout isolation from legacy UW commerce rules */
.upper-checkout-steps .is-complete > i { border-color:#62adf2; background:var(--electric); color:#fff; }
.upper-checkout-product .upper-checkout-product__visual { width:58px; min-width:58px; height:64px; margin:0; padding:0; background:linear-gradient(145deg,#173048,#1b527c); }
.upper-checkout-product .upper-checkout-product__body { position:relative; z-index:2; width:auto; min-width:0; margin:0; padding:0 !important; background:#fff; }
.upper-checkout-product .upper-checkout-product__heading { width:100%; min-width:0; }
.upper-checkout-product .upper-checkout-product__heading .post-title { position:static; display:block; flex:1 1 auto; min-width:0; margin:0; padding:0; overflow:visible; color:#2c455b; font-size:11px; line-height:1.4; white-space:normal; text-overflow:clip; }
.upper-checkout-product .upper-checkout-product__heading h3 { position:static; flex:0 0 auto; margin:0 0 0 8px; color:var(--slate); font-size:12px; }
.upper-checkout-product__visual .cart-count { background:var(--electric); color:#fff; }
.upper-checkout-page input[type="radio"],.upper-checkout-page input[type="checkbox"],#checkout-form .check_right .payment_method_selection input[type="radio"],#checkout-form .check_left .form-check .form-check-input,.checkout_section .check_right .form-check .form-check-input { accent-color:var(--electric) !important; }
.upper-checkout-page .form-check-input:checked,#checkout-form .check_left .form-check .form-check-input:checked,#checkout-form .check_right .form-check .form-check-input:checked { border-color:var(--electric) !important; background-color:var(--electric) !important; }
.upper-checkout-panel .text-success { color:var(--royal) !important; }
#checkout-form .upper-checkout-submit { justify-self:stretch; padding:0; text-align:initial; }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button { position:relative; display:flex; min-height:52px; padding:8px 9px 8px 19px; border:1px solid #1765aa !important; border-radius:10px; background:linear-gradient(135deg,#185fa5 0%,#378add 100%) !important; color:#fff !important; opacity:1 !important; box-shadow:0 9px 22px rgba(24,95,165,.23); }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button .txt { flex:1; padding:0; color:#fff !important; font-size:11px; font-weight:800; letter-spacing:.45px; text-align:left; text-transform:uppercase; }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button > i { display:grid; flex:0 0 34px; place-items:center; width:34px; height:34px; border-radius:7px; background:rgba(255,255,255,.17); color:#fff; font-size:11px; transition:transform .2s ease,background .2s ease; }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button:not(:disabled):hover { border-color:#132b40 !important; background:#172f45 !important; color:#fff !important; transform:translateY(-1px); }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button:not(:disabled):hover .txt { color:#fff !important; }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button:not(:disabled):hover > i { background:rgba(255,255,255,.24); transform:translateX(2px); }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button:disabled { border-color:#b8c7d5 !important; background:#dfe7ee !important; color:#778b9e !important; opacity:1 !important; box-shadow:none; cursor:not-allowed; }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button:disabled .txt { color:#778b9e !important; }
#checkout-form .upper-checkout-submit .upper-checkout-submit__button:disabled > i { background:#cbd7e1; color:#71879a; }

/* Checkout validation dialog */
.upper-checkout-swal { width:min(460px,calc(100vw - 32px)) !important; padding:28px 30px 30px !important; border:1px solid #d8e5f0 !important; border-radius:18px !important; background:#fff !important; box-shadow:0 24px 70px rgba(19,43,64,.2) !important; }
.upper-checkout-swal .swal2-icon.swal2-info { border-color:#8dc3f2 !important; color:#185fa5 !important; }
.upper-checkout-swal .swal2-title { padding:6px 0 0 !important; color:#172f45 !important; font:400 29px/1.18 'DM Serif Display',serif !important; }
.upper-checkout-swal .swal2-html-container { margin:15px 0 0 !important; color:#526b81 !important; }
.upper-checkout-alert-copy { margin:0 0 12px; color:#6c8194; font-size:13px; text-align:left; }
.upper-checkout-alert-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; text-align:left; }
.upper-checkout-alert-list li { display:flex; gap:12px; align-items:center; padding:12px 13px; border:1px solid #dce7f0; border-radius:10px; background:#f6faff; }
.upper-checkout-alert-list li > i { display:grid; flex:0 0 36px; place-items:center; width:36px; height:36px; border-radius:9px; background:#e5f2fd; color:#185fa5; font-size:14px; }
.upper-checkout-alert-list li > span { display:flex; min-width:0; flex-direction:column; }
.upper-checkout-alert-list strong { color:#263f55; font-size:12px; line-height:1.35; }
.upper-checkout-alert-list small { margin-top:2px; color:#7b8fa1; font-size:10px; line-height:1.45; }
.upper-checkout-swal__button { min-width:170px !important; min-height:44px !important; margin-top:8px !important; border-radius:9px !important; background:linear-gradient(135deg,#185fa5,#378add) !important; font-size:12px !important; font-weight:800 !important; box-shadow:0 8px 20px rgba(24,95,165,.22) !important; }
.upper-checkout-swal__button:hover { background:#172f45 !important; }

/* Catalog add-to-cart confirmation */
.upper-cart-success-swal { width:min(430px,calc(100vw - 30px)) !important; padding:29px 30px 30px !important; border:1px solid #d7e5f0 !important; border-radius:18px !important; box-shadow:0 24px 70px rgba(19,43,64,.22) !important; }
.upper-cart-success-swal .swal2-icon.swal2-success { border-color:#8ec4f1 !important; color:#185fa5 !important; }
.upper-cart-success-swal .swal2-success-ring { border-color:rgba(55,138,221,.28) !important; }
.upper-cart-success-swal .swal2-success-line-tip,.upper-cart-success-swal .swal2-success-line-long { background-color:#185fa5 !important; }
.upper-cart-success-swal .swal2-title { padding-top:7px !important; color:#172f45 !important; font:400 30px/1.15 'DM Serif Display',serif !important; }
.upper-cart-success-swal .swal2-html-container { margin-top:11px !important; color:#687f92 !important; font-size:12px !important; line-height:1.6 !important; }
.upper-cart-success-swal .swal2-timer-progress-bar { background:#378add !important; }

.upper-upsell-swal { width:min(460px,calc(100vw - 30px)) !important; padding:0 30px 30px !important; overflow:hidden !important; border:1px solid #d7e5f0 !important; border-radius:20px !important; background:#fff !important; box-shadow:0 28px 80px rgba(19,43,64,.25) !important; }
.upper-upsell-swal::before { content:''; display:block; height:5px; margin:0 -30px 27px; background:linear-gradient(90deg,#185fa5,#378add); }
.upper-upsell-swal .swal2-html-container { margin:0 !important; padding:0 !important; overflow:visible !important; }
.upper-upsell-content { color:#172f45; text-align:center; }
.upper-upsell-eyebrow { display:block; margin-bottom:7px; color:#2d84d4; font-size:9px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; }
.upper-upsell-content h2 { margin:0 0 19px; color:#172f45; font:400 31px/1.12 'DM Serif Display',serif; }
.upper-upsell-image { display:grid; place-items:center; width:100%; height:178px; margin-bottom:18px; overflow:hidden; border:1px solid #dce8f2; border-radius:13px; background:linear-gradient(145deg,#f8fbfe,#edf5fb); }
.upper-upsell-image img { display:block; width:100%; height:100%; padding:10px; object-fit:contain; }
.upper-upsell-image--empty { color:#77aeda; font-size:42px; }
.upper-upsell-product-row { display:flex; align-items:center; justify-content:center; gap:12px; }
.upper-upsell-product-row h3 { margin:0; color:#1b344b; font:700 18px/1.3 'DM Sans',sans-serif; }
.upper-upsell-price { flex:0 0 auto; padding:4px 8px; border-radius:999px; background:#e9f3fc; color:#185fa5; font-size:11px; font-weight:800; }
.upper-upsell-content p { max-width:345px; margin:8px auto 0; color:#6a8093; font-size:13px; line-height:1.6; }
.upper-upsell-swal .upper-upsell-actions { display:flex !important; width:100% !important; gap:10px !important; margin:23px 0 0 !important; }
.upper-upsell-confirm,.upper-upsell-cancel { min-height:46px; flex:1; margin:0 !important; padding:11px 16px; border-radius:9px; font-family:'DM Sans',sans-serif; font-size:12px; font-weight:800; cursor:pointer; }
.upper-upsell-confirm { border:1px solid #185fa5; background:linear-gradient(135deg,#185fa5,#378add); color:#fff; box-shadow:0 8px 18px rgba(24,95,165,.2); }
.upper-upsell-confirm:hover { background:#173d5e; border-color:#173d5e; }
.upper-upsell-cancel { border:1px solid #cddbe7; background:#fff; color:#526b80; }
.upper-upsell-cancel:hover { border-color:#9fb6c9; background:#f5f9fc; color:#243f56; }

@media (max-width:575px) {
  .upper-upsell-swal { padding:0 20px 22px !important; }
  .upper-upsell-swal::before { margin-right:-20px; margin-left:-20px; }
  .upper-upsell-image { height:150px; }
  .upper-upsell-swal .upper-upsell-actions { flex-direction:column-reverse; }
  .upper-upsell-confirm,.upper-upsell-cancel { width:100%; flex:auto; }
}

/* Order confirmation / thank-you page */
.upper-thankyou-page { min-height:100vh; background:#f3f7fb; color:#263f55; }
.upper-thankyou-hero { position:relative; overflow:hidden; padding:62px 24px 58px; border-bottom:3px solid #378add; background:linear-gradient(125deg,#13283b 0%,#1a344d 62%,#185fa5 145%); text-align:center; }
.upper-thankyou-hero__glow { position:absolute; top:-210px; left:50%; width:620px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(75,158,232,.28),transparent 67%); transform:translateX(-50%); pointer-events:none; }
.upper-thankyou-hero__content { position:relative; z-index:1; display:flex; align-items:center; flex-direction:column; width:min(760px,100%); margin:auto; }
.upper-thankyou-success-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:16px; border:1px solid rgba(129,193,249,.65); border-radius:50%; background:rgba(55,138,221,.2); color:#fff; font-size:21px; box-shadow:0 0 0 7px rgba(55,138,221,.08); }
.upper-thankyou-eyebrow { margin-bottom:8px; color:#75bafa; font-size:10px; font-weight:800; letter-spacing:2px; }
.upper-thankyou-hero h1 { margin:0; color:#fff; font:400 clamp(34px,5vw,52px)/1.08 'DM Serif Display',serif; }
.upper-thankyou-hero p { margin:12px 0 21px; color:#bdcada; font-size:13px; line-height:1.65; }
.upper-thankyou-reference { display:inline-flex; gap:10px; align-items:center; padding:9px 14px; border:1px solid rgba(126,187,241,.35); border-radius:8px; background:rgba(8,25,41,.28); color:#fff; font-size:13px; font-weight:800; letter-spacing:.5px; }
.upper-thankyou-reference small { color:#78bdf8; font-size:8px; letter-spacing:1.2px; }
.upper-thankyou-content { padding:45px 22px 70px; }
.upper-thankyou-container { width:min(1120px,100%); margin:auto; }
.upper-thankyou-notice { display:flex; gap:10px; align-items:center; margin-bottom:18px; padding:13px 16px; border:1px solid #bfdcf5; border-radius:10px; background:#edf7ff; color:#285878; font-size:11px; }
.upper-thankyou-notice i { color:#185fa5; }
.upper-thankyou-payment-callout { display:grid; grid-template-columns:54px minmax(260px,1fr) minmax(190px,auto) minmax(150px,auto); gap:18px; align-items:center; margin-bottom:24px; padding:22px 24px 17px; border:1px solid #bcd9f1; border-radius:14px; background:linear-gradient(135deg,#f3f9ff,#e9f4fd); box-shadow:0 10px 28px rgba(24,95,165,.07); }
.upper-thankyou-payment-callout__icon { display:grid; place-items:center; width:54px; height:54px; border-radius:12px; background:#185fa5; color:#fff; font-size:20px; box-shadow:0 8px 18px rgba(24,95,165,.2); }
.upper-thankyou-payment-callout__copy > span,.upper-thankyou-card__heading > div > span { display:block; margin-bottom:5px; color:#378add; font-size:8px; font-weight:800; letter-spacing:1.5px; }
.upper-thankyou-payment-callout__copy h2,.upper-thankyou-card__heading h2 { margin:0; color:#172f45; font:400 25px/1.15 'DM Serif Display',serif; }
.upper-thankyou-payment-callout__copy p { margin:7px 0 0; color:#627a8e; font-size:10px; line-height:1.55; }
.upper-thankyou-payment-detail { min-width:0; padding:11px 13px; border:1px solid #d0e2f0; border-radius:9px; background:rgba(255,255,255,.75); }
.upper-thankyou-payment-detail small { display:block; margin-bottom:3px; color:#7890a4; font-size:7px; font-weight:800; letter-spacing:1px; }
.upper-thankyou-payment-detail strong { display:block; overflow:hidden; color:#185fa5; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.upper-thankyou-payment-warning { grid-column:2/-1; display:flex; gap:7px; align-items:center; margin:0; color:#526d83; font-size:9px; }
.upper-thankyou-payment-warning i { color:#185fa5; }
.upper-thankyou-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr); gap:24px; align-items:stretch; }
.upper-thankyou-card { overflow:hidden; border:1px solid #dbe5ed; border-radius:14px; background:#fff; box-shadow:0 10px 30px rgba(22,48,72,.06); }
.upper-thankyou-card__heading { display:flex; gap:15px; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid #e5ebf1; }
.upper-thankyou-card__heading > i { display:grid; place-items:center; width:40px; height:40px; border-radius:9px; background:#eaf4fd; color:#185fa5; font-size:15px; }
.upper-thankyou-card__heading > strong { color:#61788d; font-size:10px; font-weight:700; }
.upper-thankyou-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.upper-thankyou-detail-grid > div { min-width:0; padding:16px 24px; border-right:1px solid #e8edf2; border-bottom:1px solid #e8edf2; }
.upper-thankyou-detail-grid > div:nth-child(even) { border-right:0; }
.upper-thankyou-detail-grid > div:nth-last-child(-n+2) { border-bottom:0; }
.upper-thankyou-detail-grid > .upper-thankyou-detail-grid__wide { grid-column:1/-1; border-right:0; }
.upper-thankyou-detail-grid dt { margin-bottom:5px; color:#8192a2; font-size:8px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.upper-thankyou-detail-grid dd { margin:0; overflow-wrap:anywhere; color:#2c455b; font-size:11px; font-weight:600; line-height:1.5; }
.upper-thankyou-payment-badge { flex:0 0 auto; padding:6px 8px; border-radius:6px; background:#e9f3fc; color:#185fa5; font-size:7px; font-weight:800; letter-spacing:.55px; text-transform:uppercase; }
.upper-thankyou-payment-badge.is-paid { background:#e9f3fc; color:#185fa5; }
.upper-thankyou-totals { margin:0; padding:11px 24px 0; list-style:none; }
.upper-thankyou-totals li { display:flex; gap:15px; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid #e8edf2; color:#72869a; font-size:10px; }
.upper-thankyou-totals li strong { color:#2a4359; }
.upper-thankyou-totals .upper-thankyou-totals__grand { margin-top:5px; padding:15px 0; border:0; color:#172f45; font-size:13px; }
.upper-thankyou-totals__grand strong { color:#185fa5 !important; font-size:18px; }
.upper-thankyou-payment-method { margin:0 24px 22px; padding:11px 12px; border-radius:8px; background:#f2f6f9; color:#708499; font-size:9px; }
.upper-thankyou-payment-method i { margin-right:6px; color:#185fa5; }
.upper-thankyou-payment-method strong { color:#304b62; }
.upper-thankyou-items { margin-top:24px; }
.upper-thankyou-items__table-wrap { overflow-x:auto; }
.upper-thankyou-items__table { width:100%; border-collapse:collapse; }
.upper-thankyou-items__table th { padding:12px 18px; background:#f4f8fb; color:#758a9d; font-size:8px; font-weight:800; letter-spacing:.7px; text-align:left; text-transform:uppercase; }
.upper-thankyou-items__table th:not(:first-child),.upper-thankyou-items__table td:not(:first-child) { text-align:right; }
.upper-thankyou-items__table td { padding:15px 18px; border-top:1px solid #e7edf2; color:#405970; font-size:10px; vertical-align:middle; }
.upper-thankyou-items__table td > strong { color:#1f3a51; }
.upper-thankyou-product { display:flex; gap:11px; align-items:center; }
.upper-thankyou-product > span { display:grid; flex:0 0 40px; place-items:center; width:40px; height:43px; border-radius:8px; background:linear-gradient(145deg,#183249,#1b527c); color:#72baf8; }
.upper-thankyou-product > div { display:flex; min-width:0; flex-direction:column; }
.upper-thankyou-product strong { color:#2a4359; font-size:10px; }
.upper-thankyou-product small { margin-top:3px; color:#8495a5; font-size:8px; }
.upper-thankyou-actions { display:flex; gap:11px; align-items:center; justify-content:center; margin-top:28px; }
.upper-thankyou-button { display:inline-flex; gap:9px; align-items:center; justify-content:center; min-height:46px; padding:10px 18px; border:1px solid #c8d7e3; border-radius:9px; color:#31516b; font-size:10px; font-weight:800; text-decoration:none; transition:.2s ease; }
.upper-thankyou-button:hover { border-color:#185fa5; color:#185fa5; transform:translateY(-1px); }
.upper-thankyou-button--primary { min-width:165px; border-color:#185fa5; background:linear-gradient(135deg,#185fa5,#378add); color:#fff; box-shadow:0 8px 20px rgba(24,95,165,.2); }
.upper-thankyou-button--primary:hover { border-color:#172f45; background:#172f45; color:#fff; }
.upper-thankyou-disclaimer { margin-top:40px; }

@media (max-width: 900px) {
  .upper-thankyou-payment-callout { grid-template-columns:54px minmax(0,1fr) minmax(170px,auto); }
  .upper-thankyou-payment-detail:last-of-type { grid-column:2; }
  .upper-thankyou-payment-warning { grid-column:2/-1; }
  .upper-thankyou-grid { grid-template-columns:1fr; }
}

@media (max-width: 650px) {
  .upper-thankyou-hero { padding:48px 18px 44px; }
  .upper-thankyou-hero p { font-size:11px; }
  .upper-thankyou-content { padding:30px 14px 52px; }
  .upper-thankyou-payment-callout { grid-template-columns:44px minmax(0,1fr); gap:13px; padding:18px; }
  .upper-thankyou-payment-callout__icon { width:44px; height:44px; }
  .upper-thankyou-payment-detail,.upper-thankyou-payment-warning { grid-column:1/-1 !important; }
  .upper-thankyou-detail-grid { grid-template-columns:1fr; }
  .upper-thankyou-detail-grid > div,.upper-thankyou-detail-grid > div:nth-child(even),.upper-thankyou-detail-grid > div:nth-last-child(-n+2) { grid-column:auto; border-right:0; border-bottom:1px solid #e8edf2; }
  .upper-thankyou-detail-grid > div:last-child { border-bottom:0; }
  .upper-thankyou-card__heading { padding:19px; }
  .upper-thankyou-detail-grid > div { padding:14px 19px; }
  .upper-thankyou-items__table thead { display:none; }
  .upper-thankyou-items__table,.upper-thankyou-items__table tbody,.upper-thankyou-items__table tr,.upper-thankyou-items__table td { display:block; width:100%; }
  .upper-thankyou-items__table tr { padding:11px 18px; border-top:1px solid #e5ebf0; }
  .upper-thankyou-items__table td { display:flex; align-items:center; justify-content:space-between; padding:7px 0; border:0; text-align:right !important; }
  .upper-thankyou-items__table td::before { content:attr(data-label); margin-right:14px; color:#8294a4; font-size:8px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
  .upper-thankyou-items__table td:first-child { align-items:flex-start; flex-direction:column; text-align:left !important; }
  .upper-thankyou-items__table td:first-child::before { margin-bottom:8px; }
  .upper-thankyou-actions { align-items:stretch; flex-direction:column; }
  .upper-thankyou-button { width:100%; }
}

/* Provider activation and profile completion */
.upper-onboarding-shell,.upper-verification-shell { min-height:calc(100vh - 86px); background:#f3f7fb; color:#1b3043; }
.upper-onboarding-hero { position:relative; overflow:hidden; padding:66px 24px 82px; border-bottom:3px solid #378add; background:radial-gradient(circle at 82% 22%,rgba(55,138,221,.22),transparent 28%),linear-gradient(135deg,#13283a,#1b3e5d); color:#fff; }
.upper-onboarding-hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:74px 74px; }
.upper-onboarding-hero__inner { position:relative; z-index:1; width:min(1080px,100%); margin:0 auto; text-align:center; }
.upper-onboarding-eyebrow { display:inline-flex; gap:8px; align-items:center; margin-bottom:14px; color:#58aaf1; font-size:11px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; }
.upper-onboarding-hero h1,.upper-verification-card h1 { margin:0; color:inherit; font:400 clamp(36px,4vw,56px)/1.1 'DM Serif Display',serif; }
.upper-onboarding-hero p { width:min(650px,100%); margin:16px auto 30px; color:#bbcad7; font-size:15px; line-height:1.7; }
.upper-onboarding-steps { display:flex; align-items:center; justify-content:center; }
.upper-onboarding-steps span { position:relative; display:flex; gap:8px; align-items:center; color:#8fa6b9; font-size:11px; font-weight:700; }
.upper-onboarding-steps span:not(:last-child)::after { content:""; width:72px; height:1px; margin:0 14px; background:#476277; }
.upper-onboarding-steps b,.upper-onboarding-steps i { display:grid; place-items:center; width:24px; height:24px; border:1px solid #587085; border-radius:50%; color:#9eb0bf; font-size:9px; }
.upper-onboarding-steps .is-complete,.upper-onboarding-steps .is-current { color:#fff; }
.upper-onboarding-steps .is-complete i,.upper-onboarding-steps .is-current b { border-color:#378add; background:#378add; color:#fff; }
.upper-onboarding-content { position:relative; z-index:2; width:min(1040px,calc(100% - 32px)); margin:-38px auto 0; padding-bottom:78px; }
.upper-account-card { overflow:hidden; border:1px solid #dbe5ee; border-radius:18px; background:#fff; box-shadow:0 22px 60px rgba(20,51,78,.12); }
.upper-account-card__intro { display:flex; gap:25px; align-items:center; justify-content:space-between; padding:30px 36px; border-bottom:1px solid #e3ebf2; }
.upper-account-card__intro span { display:block; margin-bottom:5px; color:#378add; font-size:9px; font-weight:800; letter-spacing:1.5px; }
.upper-account-card__intro h2 { margin:0; color:#1b3043; font:400 28px/1.15 'DM Serif Display',serif; }
.upper-account-card__intro p { margin:6px 0 0; color:#7a8fa1; font-size:11px; }
.upper-account-secure { display:flex; flex:0 0 auto; gap:8px; align-items:center; padding:9px 12px; border-radius:8px; background:#edf6fe; color:#226cb0; font-size:9px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; }
.upper-form-alert { display:flex; gap:13px; align-items:flex-start; margin:24px 36px 0; padding:14px 16px; border:1px solid #f1c9cd; border-radius:10px; background:#fff5f6; color:#a93e48; font-size:11px; }
.upper-form-alert > i { margin-top:2px; font-size:15px; }
.upper-form-alert strong,.upper-form-alert span { display:block; }
.upper-form-alert span { margin-top:3px; color:#7d5257; }
.upper-account-form { padding:2px 36px 36px; }
.upper-account-section { padding:32px 0; border-bottom:1px solid #e5edf3; }
.upper-account-section__heading { display:flex; gap:13px; align-items:center; margin-bottom:23px; }
.upper-account-section__heading > i { display:grid; flex:0 0 40px; place-items:center; width:40px; height:40px; border-radius:9px; background:#e9f4fd; color:#226cb0; font-size:15px; }
.upper-account-section__heading h3 { margin:0; color:#20394e; font-size:15px; font-weight:800; }
.upper-account-section__heading p { margin:4px 0 0; color:#8496a5; font-size:10px; }
.upper-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; }
.upper-account-field--full { grid-column:1/-1; }
.upper-account-field label,.upper-verification-form label { display:flex; align-items:center; margin-bottom:8px; color:#344e64; font-size:10px; font-weight:800; }
.upper-account-field label span { margin-left:3px; color:#e04a58; }
.upper-account-field label small { margin-left:auto; color:#91a1af; font-size:8px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
.upper-account-field input.form-control { width:100%; height:54px; padding:0 16px; border:1px solid #cfdae4; border-radius:9px; background:#fbfdff; color:#263f55; font-size:11px; box-shadow:none; transition:.2s ease; }
.upper-account-field input.form-control:focus { border-color:#378add; background:#fff; box-shadow:0 0 0 3px rgba(55,138,221,.12); }
.upper-account-field input::placeholder { color:#a2afba; }
.upper-readonly-input { position:relative; }
.upper-readonly-input input { width:100%; height:54px; padding:0 42px 0 16px; border:1px solid #dbe4eb; border-radius:9px; background:#f1f5f8; color:#647b8e; font-size:11px; }
.upper-readonly-input i { position:absolute; top:50%; right:16px; color:#378add; font-size:12px; transform:translateY(-50%); }
.upper-account-field .invalid-feedback { margin-top:6px; color:#cf3d4b; font-size:9px; }
.upper-account-actions { display:flex; gap:24px; align-items:center; justify-content:space-between; padding-top:30px; }
.upper-account-actions p { display:flex; gap:8px; align-items:flex-start; max-width:480px; margin:0; color:#7d90a1; font-size:9px; line-height:1.55; }
.upper-account-actions p i { margin-top:2px; color:#378add; }
.upper-onboarding-submit { display:inline-flex; gap:22px; align-items:center; justify-content:space-between; min-width:205px; min-height:50px; padding:8px 9px 8px 20px; border:0; border-radius:10px; background:linear-gradient(135deg,#1968ae,#378add); color:#fff; font-size:10px; font-weight:800; letter-spacing:.35px; text-transform:uppercase; box-shadow:0 10px 24px rgba(31,112,184,.23); transition:.2s ease; }
.upper-onboarding-submit i { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,.18); }
.upper-onboarding-submit:hover { background:linear-gradient(135deg,#155990,#287ec8); color:#fff; transform:translateY(-1px); box-shadow:0 13px 28px rgba(31,112,184,.28); }
.upper-onboarding-submit:focus { outline:3px solid rgba(55,138,221,.25); outline-offset:3px; }

.upper-verification-shell { display:grid; place-items:center; padding:72px 20px; background:radial-gradient(circle at 78% 14%,rgba(55,138,221,.13),transparent 25%),linear-gradient(180deg,#edf4fa,#f7f9fb); }
.upper-verification-card { width:min(520px,100%); padding:44px 48px 36px; border:1px solid #d9e5ef; border-radius:18px; background:#fff; color:#1b3043; text-align:center; box-shadow:0 24px 65px rgba(20,51,78,.12); }
.upper-verification-icon { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 22px; border-radius:16px; background:linear-gradient(145deg,#185fa5,#378add); color:#fff; font-size:24px; box-shadow:0 12px 28px rgba(24,95,165,.23); }
.upper-verification-card .upper-onboarding-eyebrow { margin-bottom:10px; }
.upper-verification-card h1 { font-size:38px; }
.upper-verification-card > p { margin:13px auto 27px; color:#718699; font-size:11px; line-height:1.65; }
.upper-verification-card .upper-form-alert { margin:0 0 20px; text-align:left; }
.upper-verification-form { text-align:left; }
.upper-code-input { position:relative; display:flex; align-items:center; margin-bottom:16px; }
.upper-code-input > i { position:absolute; left:16px; z-index:1; color:#378add; font-size:12px; }
.upper-code-input input { width:100%; height:56px; padding:0 48px 0 42px; border:1px solid #cad9e5; border-radius:10px; background:#fbfdff; color:#253f55; font-size:13px; letter-spacing:2px; outline:0; transition:.2s ease; }
.upper-code-input input:focus { border-color:#378add; background:#fff; box-shadow:0 0 0 3px rgba(55,138,221,.12); }
.upper-code-toggle { position:absolute; right:9px; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:8px; background:transparent; color:#7990a3; }
.upper-code-toggle:hover { background:#edf5fc; color:#185fa5; }
.upper-onboarding-submit--wide { width:100%; }
.upper-verification-note { display:flex; gap:9px; align-items:center; margin:24px 0 18px; padding:12px 13px; border-radius:9px; background:#f2f7fb; color:#6c8295; font-size:9px; line-height:1.5; text-align:left; }
.upper-verification-note i { color:#378add; }
.upper-verification-back { display:inline-flex; gap:7px; align-items:center; color:#526d84; font-size:9px; font-weight:700; text-decoration:none; }
.upper-verification-back:hover { color:#185fa5; }

@media (max-width: 700px) {
  .upper-onboarding-hero { padding:48px 18px 72px; }
  .upper-onboarding-hero p { font-size:12px; }
  .upper-onboarding-steps span { font-size:0; }
  .upper-onboarding-steps span:not(:last-child)::after { width:38px; margin:0 9px; }
  .upper-account-card__intro,.upper-account-form { padding-left:20px; padding-right:20px; }
  .upper-account-card__intro { align-items:flex-start; flex-direction:column; }
  .upper-account-grid { grid-template-columns:1fr; gap:18px; }
  .upper-account-field--full { grid-column:auto; }
  .upper-account-actions { align-items:stretch; flex-direction:column; }
  .upper-onboarding-submit { width:100%; }
  .upper-verification-shell { padding:45px 14px; }
  .upper-verification-card { padding:36px 22px 30px; }
}
