.batch-page { max-width: 850px; padding-top: 28px; padding-bottom: 28px; }
.public-page .batch-page { padding-top: 28px; padding-bottom: 28px; }
.batch-page .page-wrap { min-height: 0; padding: 28px 36px; }
.batch-page h1 { margin: 0 0 18px; font-size: 28px; line-height: 1.2; text-align: left; text-transform: none; }
.batch-page .page-wrap p { margin-bottom: 14px; font-size: 16px; line-height: 1.5; }
.batch-page .batch-intro { color: #526076; }
.batch-page .batch-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0 0 24px; padding: 0; list-style: none; counter-reset: batch-step; }
.batch-page .batch-steps li { position: relative; padding-left: 32px; counter-increment: batch-step; }
.batch-page .batch-steps li::before { content: counter(batch-step); position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%; background: #e8f5ec; color: #146c43; text-align: center; line-height: 24px; font-size: 14px; font-weight: 600; }
.batch-page .batch-steps strong { display: block; margin-bottom: 3px; font-size: 16px; }
.batch-page .batch-steps span { display: block; color: #526076; font-size: 14px; line-height: 1.45; }
.batch-page .batch-file-guide { max-width: 560px; margin: 10px 0 14px; }
.batch-page .batch-file-guide p { margin-bottom: 6px; color: #526076; font-size: 14px; line-height: 1.45; }
.batch-page .batch-consent { margin: 14px 0 6px; }
.batch-page .batch-consent label { display: flex; align-items: flex-start; gap: 9px; max-width: 620px; margin: 8px 0; font-size: 14px; font-weight: 400; line-height: 1.4; }
.batch-page .batch-consent input { flex: none; margin: 3px 0 0; }
.batch-page label { display: block; margin: 12px 0 5px; font-size: 15px; }
.batch-page .form-control { max-width: 560px; height: auto; min-height: 40px; font-size: 16px; }
.batch-page fieldset { margin: 18px 0; padding: 0; border: 0; }
.batch-page legend { width: 100%; margin-bottom: 8px; padding-bottom: 5px; border-bottom: 1px solid #ddd; font-size: 18px; font-weight: 600; }
.batch-page .batch-choice { display: flex; align-items: flex-start; gap: 9px; max-width: 560px; margin: 0; padding: 7px 2px; font-weight: 500; cursor: pointer; }
.batch-page .batch-choice input[type=radio] { flex: none; margin: 3px 0 0; }
.batch-page .batch-choice small { display: block; color: #526076; font-size: 13px; font-weight: 400; line-height: 1.4; }
.batch-page .batch-country-picker { max-width: 600px; margin: 2px 0 8px 24px; padding: 8px 12px; border: 1px solid #dce5df; border-radius: 4px; }
.batch-page .batch-country-picker summary { cursor: pointer; color: #146c43; font-size: 14px; }
.batch-page .batch-country-shortcut { margin: 10px 0; padding: 5px 10px; border: 1px solid #b4cdbd; border-radius: 3px; background: #f3f8f5; color: #146c43; font-size: 13px; }
.batch-page .batch-country-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 14px; max-height: 240px; overflow-y: auto; }
.batch-page .batch-country-list label { display: flex; align-items: flex-start; gap: 7px; margin: 0; padding: 4px 0; font-size: 14px; font-weight: 400; line-height: 1.3; }
.batch-page .batch-country-list input { flex: none; margin: 2px 0 0; }
.batch-page .batch-button { margin: 12px 8px 4px 0; padding: 9px 16px; border: 1px solid #157347; background: #198754; color: white; font-size: 16px; white-space: normal; }
.batch-page .batch-button:hover, .batch-page .batch-button:focus { background: #146c43; color: white; }
.batch-page .batch-secondary { background: white; color: #146c43; }
.batch-page .batch-secondary:hover, .batch-page .batch-secondary:focus { color: white; }
.batch-page .page-wrap .batch-help { margin: 7px 0 10px; color: #526076; font-size: 14px; line-height: 1.45; }
.batch-page .batch-format-help { margin: 4px 0 10px; color: #526076; font-size: 14px; }
.batch-page .batch-format-help summary { width: fit-content; cursor: pointer; color: #146c43; }
.batch-page .page-wrap .batch-format-help p { margin: 6px 0 0; font-size: 14px; }
.batch-page .batch-pricing-note { padding-top: 10px; border-top: 1px solid #e2e7e9; }
.batch-page .page-wrap .batch-security-note { max-width: 620px; margin: 10px 0 14px; }
.batch-page .batch-count { margin-top: 4px; }
.batch-page .batch-quote { max-width: 560px; margin: 18px 0 12px; padding: 12px 14px; border-left: 3px solid #198754; background: #f3f8f5; }
.batch-page .batch-quote span { display: block; color: #526076; font-size: 14px; }
.batch-page .batch-quote strong { display: block; margin: 2px 0; font-size: 22px; }
.batch-page .batch-quote small { display: block; color: #526076; font-size: 13px; line-height: 1.4; }
.batch-page .batch-message { padding: 10px 12px; background: #e8f5ec; }
.batch-page .batch-error { background: #fce8e8; color: #8d1616; }
.batch-page #batch-upload-progress.batch-upload-error { margin-top: 14px; padding: 12px 14px; border: 1px solid #e2aaaa; border-left: 4px solid #a12626; border-radius: 4px; background: #fce8e8; color: #8d1616; font-weight: 600; overflow-wrap: anywhere; }
.batch-page .batch-code-form { max-width: 300px; margin-top: 8px; }
.batch-page .batch-filename { overflow-wrap: anywhere; }
.batch-page .batch-upload-page h1 { margin-bottom: 8px; }
.batch-page .page-wrap .batch-upload-intro { margin: 0 0 22px; color: #526076; font-size: 14px; line-height: 1.5; }
.batch-page .batch-upload-page .batch-steps { padding-bottom: 22px; border-bottom: 1px solid #e2e7e9; }
.batch-page .batch-upload-page .batch-steps li:not([aria-current])::before { background: #f0f3f4; color: #526076; }
.batch-page .batch-file-panel { padding: 18px 20px; border: 1px solid #cbded2; border-radius: 6px; background: #f6faf7; }
.batch-page .batch-file-label { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-size: 18px; font-weight: 600; }
.batch-page .batch-icon { flex: none; width: 28px; height: 32px; color: #146c43; }
.batch-page .batch-file-label small { display: block; margin-top: 4px; color: #526076; font-size: 14px; font-weight: 400; line-height: 1.45; }
.batch-page .batch-file-panel .form-control { max-width: none; width: 100%; padding: 6px; background: white; }
.batch-page .batch-file-security { display: flex; gap: 9px; margin-top: 14px; color: #526076; }
.batch-page .batch-file-security svg { flex: none; margin-top: 2px; color: #146c43; }
.batch-page .page-wrap .batch-file-security p { margin: 0; font-size: 13px; line-height: 1.5; }
.batch-page .batch-file-security-heading { display: flex; align-items: center; gap: 6px; margin: 0 0 2px; min-height: 20px; line-height: 20px; }
.batch-page .batch-file-security strong { color: #333; font-size: 13px; font-weight: 600; }
.batch-page .batch-file-help-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0 12px; }
.batch-page .batch-help-button, .batch-page .batch-info-button { border: 0; background: transparent; color: #146c43; cursor: pointer; }
.batch-page .batch-help-button { min-height: 32px; margin-top: 2px; padding: 6px 0; font-size: 13px; line-height: 1.5; }
.batch-page .batch-help-button:hover { text-decoration: underline; }
.batch-page .batch-info-button { position: relative; display: inline-flex; flex: none; align-items: center; justify-content: center; width: 20px; height: 20px; padding: 0; line-height: 1; }
.batch-page .batch-info-button::before { content: ""; position: absolute; inset: -6px; }
.batch-page .batch-file-security .batch-info-button svg { margin: 0; }
.batch-page .batch-help-modal .modal-title { margin: 0; padding-top: 5px; color: #333; font-size: 18px; font-weight: 600; line-height: 1.4; }
.batch-page .batch-help-modal .modal-body { color: #526076; font-size: 14px; line-height: 1.6; }
.batch-page .batch-help-modal .modal-body p { margin: 0; }
.batch-page .batch-help-modal ul { margin: 0; padding-left: 20px; }
.batch-page .batch-help-modal li + li { margin-top: 8px; }
.batch-page .batch-help-modal .close { width: 44px; height: 44px; margin-top: -4px; opacity: .7; }
.batch-page .batch-help-modal .btn-default { min-height: 44px; font-size: 14px; }
.batch-page .batch-help-modal button:focus-visible { outline: 2px solid #146c43; outline-offset: 3px; }
.batch-page .batch-file-panel input::file-selector-button { margin-right: 10px; padding: 6px 12px; border: 1px solid #b4cdbd; border-radius: 4px; background: #e8f5ec; color: #146c43; font: inherit; cursor: pointer; }
.batch-page .page-wrap #batch-file-limits { margin: 9px 0 0; color: #526076; font-size: 13px; line-height: 1.5; }
.batch-page #batch-file-limits > span { margin: 0 6px; }
.batch-page .batch-file-benefits { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 16px 0 12px; padding: 0; list-style: none; color: #526076; font-size: 14px; }
.batch-page .batch-file-benefits li { display: flex; gap: 7px; font-size: 13px; line-height: 1.45; }
.batch-page .batch-file-benefits span { color: #146c43; }
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help { margin: 8px 0; }
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help summary,
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help li,
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help p { font-size: 13px; line-height: 1.5; }
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help summary { display: flex; align-items: center; gap: 8px; min-height: 32px; list-style: none; }
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help summary::-webkit-details-marker { display: none; }
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help summary::before { content: ""; flex: none; width: 6px; height: 6px; margin-left: 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }
.batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help[open] summary::before { transform: rotate(45deg); }
.batch-page :is(.batch-upload-page, .batch-contact-page) :is(summary, input, button, a):focus-visible { outline: 2px solid #146c43; outline-offset: 3px; }
.batch-page .batch-upload-page .batch-consent label { min-height: 28px; cursor: pointer; }
.batch-page .batch-format-help ul { margin: 8px 0 12px; padding-left: 20px; line-height: 1.6; }
.batch-page .batch-upload-page .batch-consent { margin-top: 22px; padding-top: 14px; border-top: 1px solid #e2e7e9; }
.batch-page .batch-next-hint { display: inline-block; margin: 6px 0; color: #526076; font-size: 13px; }
.batch-page .batch-upload-pricing { margin: 0 0 20px; padding-bottom: 16px; border-bottom: 1px solid #e2e7e9; }
.batch-page .batch-pricing-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 10px; }
.batch-page .batch-pricing-heading h2 { margin: 0; font-size: 16px; font-weight: 600; }
.batch-page .batch-pricing-heading > span { color: #526076; font-size: 13px; }
.batch-page .batch-upload-pricing dl { margin: 0; font-size: 14px; }
.batch-page .batch-upload-pricing dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; }
.batch-page .batch-upload-pricing dt { font-weight: 400; }
.batch-page .batch-upload-pricing dd { flex: none; margin: 0; font-weight: 600; }
.batch-page .batch-upload-pricing dd span { color: #526076; font-weight: 400; }
.batch-page .batch-volume-tier { margin: 12px 0; }
.batch-page .batch-volume-tier h3 { margin: 0 0 4px; font-size: 13px; font-weight: 600; line-height: 1.5; }
.batch-page .batch-volume-tier dl { font-size: 13px; }
.batch-page .batch-volume-tier dd small { margin-left: 5px; color: #526076; font-size: 11px; font-weight: 400; }
.batch-page .page-wrap .batch-custom-import { margin: 18px 0 0; font-size: 13px; }
.batch-page .batch-lookup-page h1 { margin-bottom: 8px; }
.batch-page .page-wrap .batch-lookup-intro { margin: 0 0 18px; color: #526076; font-size: 14px; }
.batch-page .page-wrap .batch-file-summary { margin: 0 0 22px; padding: 12px 0; border-top: 1px solid #e2e7e9; border-bottom: 1px solid #e2e7e9; color: #526076; font-size: 14px; overflow-wrap: anywhere; }
.batch-page .batch-file-summary strong { color: #333; }
.batch-page .batch-lookup-page fieldset { margin: 22px 0; }
.batch-page .batch-lookup-page legend { margin-bottom: 10px; border: 0; font-size: 16px; }
.batch-page .batch-lookup-page .batch-choice { max-width: none; margin: 6px 0; padding: 12px 14px; border: 1px solid #dce2e5; border-radius: 4px; }
.batch-page .batch-lookup-page .batch-choice:has(input:checked) { border-color: #99bfa8; background: #f6faf7; }
.batch-page .batch-lookup-page .batch-choice small { margin-top: 3px; }
.batch-page .batch-lookup-page .batch-choice .batch-choice-rate { font-size: 12px; }
.batch-page .batch-lookup-page .batch-quote { max-width: none; }
.batch-page .batch-lookup-page :is(summary, input, button, a):focus-visible { outline: 2px solid #146c43; outline-offset: 3px; }
.batch-page .batch-lookup-page .batch-country-picker summary { min-height: 32px; display: list-item; list-style: disclosure-closed inside; }
.batch-page .batch-lookup-page .batch-country-picker[open] summary { list-style-type: disclosure-open; }
.batch-page .batch-contact-summary { margin: 14px 0; font-size: 15px; overflow-wrap: anywhere; }
.batch-page .batch-contact-page h1 { margin-bottom: 8px; }
.batch-page .page-wrap .batch-contact-intro { margin: 0 0 18px; color: #526076; font-size: 14px; }
.batch-page .batch-contact-page .batch-quote { max-width: none; margin: 14px 0 8px; }
.batch-page .batch-contact-page .batch-contact-form { max-width: 560px; margin: 22px 0 0; }
.batch-page .batch-contact-page .batch-contact-form .form-control { width: 100%; }
.batch-page .batch-optional { color: #526076; font-size: 13px; font-weight: 400; }
.batch-page .page-wrap #batch-business-name-help { margin: 6px 0 0; font-size: 13px; }
.batch-page .page-wrap #batch-contact-email-help { margin: 6px 0 0; font-size: 13px; }
.batch-page .batch-contact-page .batch-verified-mark { color: #146c43; }
.batch-page .batch-contact-page .batch-contact-edit { margin-top: 18px; }
.batch-page .batch-contact-page .batch-contact-edit .batch-contact-form { margin-top: 8px; }
.batch-page .batch-contact-page .batch-contact-privacy { margin-top: 24px; padding-top: 12px; border-top: 1px solid #e2e7e9; }
.batch-page .batch-contact-page > p:not(.batch-message):not(.batch-file-summary) { font-size: 14px; }
.batch-page .batch-checkout-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; margin-top: 24px; }
.batch-page .batch-checkout-grid > section { min-width: 0; }
.batch-page .batch-checkout-page h2 { margin: 0 0 12px; font-size: 16px; font-weight: 600; line-height: 1.4; }
.batch-page .page-wrap .batch-checkout-file { margin-bottom: 18px; color: #526076; font-size: 14px; overflow-wrap: anywhere; }
.batch-page .batch-checkout-file strong { color: #333; }
.batch-page .batch-checkout-details { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 10px 14px; margin: 0 0 14px; font-size: 14px; line-height: 1.45; }
.batch-page .batch-checkout-details dt { color: #526076; font-weight: 400; }
.batch-page .batch-checkout-details dd { margin: 0; overflow-wrap: anywhere; }
.batch-page .batch-checkout-details .batch-checkout-countries { margin: 0; }
.batch-page .batch-checkout-details .batch-checkout-countries summary { min-height: 0; }
.batch-page .batch-checkout-results { margin-top: 24px; padding-top: 18px; border-top: 1px solid #e2e7e9; }
.batch-page .batch-checkout-benefits { display: grid; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.batch-page .batch-checkout-benefits li { display: flex; gap: 8px; color: #526076; font-size: 13px; line-height: 1.5; }
.batch-page .batch-checkout-benefits li > span:first-child { flex: none; color: #146c43; }
.batch-page .page-wrap .batch-checkout-results .batch-help { font-size: 13px; }
.batch-page .batch-checkout-payment { padding: 18px; border: 1px solid #cbded2; border-radius: 6px; background: #f6faf7; }
.batch-page .page-wrap .batch-checkout-total { margin: 0 0 8px; line-height: 1.2; }
.batch-page .batch-checkout-total strong { font-size: 30px; }
.batch-page .batch-checkout-total > span { color: #526076; font-size: 14px; }
.batch-page .page-wrap .batch-checkout-payment .batch-help { font-size: 13px; }
.batch-page .batch-checkout-payment .batch-payment { margin-top: 16px; }
.batch-page .batch-checkout-payment .batch-button { display: block; width: 100%; min-height: 44px; margin: 8px 0; font-size: 15px; }
.batch-page .batch-checkout-trust { display: flex; gap: 9px; margin-top: 16px; color: #526076; }
.batch-page .batch-checkout-trust svg { flex: none; margin-top: 2px; color: #146c43; }
.batch-page .page-wrap .batch-checkout-trust p { margin: 0; font-size: 13px; line-height: 1.5; }
.batch-page .batch-checkout-trust strong { display: block; margin-bottom: 2px; color: #333; font-weight: 600; }
.batch-page .page-wrap .batch-checkout-contact { margin: 22px 0 0; padding-top: 16px; border-top: 1px solid #e2e7e9; font-size: 13px; }
@media (max-width: 760px) {
  .batch-page .batch-checkout-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}
.batch-page .batch-next-step { margin-top: 24px; padding-top: 16px; border-top: 1px solid #e2e7e9; }
.batch-page .batch-next-step h2 { margin: 0 0 8px; font-size: 20px; }
.batch-page .batch-delete { max-width: 560px; margin-top: 26px; padding-top: 16px; border-top: 1px solid #e2e7e9; }
.batch-page .batch-delete h2 { margin: 0 0 8px; font-size: 18px; }
.batch-page .batch-confirm { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0 4px; font-size: 14px; font-weight: 400; line-height: 1.4; }
.batch-page .batch-confirm input { flex: none; margin: 3px 0 0; }
.batch-page .batch-delete-button { border-color: #9d3a35; background: #fff; color: #9d3a35; }
.batch-page .batch-delete-button:hover, .batch-page .batch-delete-button:focus { border-color: #872c28; background: #872c28; color: #fff; }
.batch-page .batch-status { display: flex; align-items: flex-start; gap: 12px; margin-top: 14px; }
.batch-page .batch-status strong, .batch-page .batch-status span:not(.batch-spinner) { display: block; }
.batch-page .batch-status span:not(.batch-spinner) { margin-top: 2px; color: #526076; font-size: 14px; }
.batch-page .batch-spinner { width: 19px; height: 19px; margin-top: 2px; border: 2px solid #d6e9dd; border-top-color: #198754; border-radius: 50%; animation: batch-spin .9s linear infinite; }
@keyframes batch-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .batch-page .batch-spinner { animation: none; } }
@media (max-width: 600px) {
  .batch-page { padding: 18px 12px; }
  .public-page .batch-page { padding-top: 18px; padding-bottom: 18px; }
  .batch-page .page-wrap { padding: 20px 18px; }
  .batch-page h1 { font-size: 24px; }
  .batch-page .batch-steps { grid-template-columns: 1fr; gap: 12px; margin-bottom: 20px; }
  .batch-page .batch-country-picker { margin-left: 0; }
  .batch-page .batch-country-list { grid-template-columns: 1fr; }
  .batch-page .batch-payment .batch-button { display: block; width: 100%; }
  .batch-page .batch-file-panel { padding: 14px; }
  .batch-page .batch-help-button { min-height: 44px; }
  .batch-page .batch-info-button::before { inset: -12px; }
  .batch-page .batch-upload-page .batch-button { display: block; width: 100%; margin-right: 0; }
  .batch-page .batch-upload-pricing dl > div { flex-wrap: wrap; gap: 2px 12px; }
  .batch-page :is(.batch-upload-page, .batch-contact-page) .batch-format-help summary { min-height: 44px; }
  .batch-page .batch-upload-page .batch-consent label { min-height: 44px; align-items: center; }
  .batch-page .batch-upload-page .batch-consent input { margin-top: 0; }
  .batch-page .batch-lookup-page .batch-button { display: block; width: 100%; margin-right: 0; }
  .batch-page .batch-lookup-page .batch-country-list label { min-height: 44px; align-items: center; }
  .batch-page .batch-lookup-page .batch-country-list input { margin-top: 0; }
  .batch-page .batch-lookup-page .batch-country-picker summary { min-height: 44px; }
  .batch-page .batch-contact-page .batch-button { display: block; width: 100%; margin-right: 0; }
}
