/* The bulk-invoice guide uses the same upload handoff as the homepage. */
.bulk-invoice-page .hero h1 {
  max-width: 20ch;
  font-size: clamp(2.1rem, 3.6vw, 3.5rem);
}
.bulk-invoice-page .csvlink-hero-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
}
.bulk-start { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; margin-top: 24px; }
.bulk-upload { display: grid; place-items: center; position: relative; min-height: 48px; padding: 12px 18px; color: white; background: #087f68; border-radius: 12px; font-weight: 700; cursor: pointer; text-align: center; }
.bulk-upload input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.bulk-upload:hover, .bulk-upload.is-dragover { background: #05614f; }
.bulk-upload:focus-within { outline: 3px solid #087f68; outline-offset: 4px; }
.bulk-upload.is-loading { opacity: .65; pointer-events: none; }
.bulk-start .btn { font: inherit; font-weight: 650; padding-inline: 18px; cursor: pointer; }
.bulk-start button:disabled { opacity: .65; cursor: progress; }
.bulk-invoice-page .bulk-start p { grid-column: 1 / -1; font-size: 13px; margin: 0; }
.bulk-start a { color: #086c58; text-decoration: underline; text-underline-offset: 3px; }
.bulk-invoice-page .bulk-free-note { color: #294f48; }
.bulk-start #heroExcelStatus, .bulk-start noscript { grid-column: 1 / -1; font-size: 14px; }
.bulk-start #heroExcelStatus:empty { display: none; }
.bulk-start #heroExcelStatus.error { color: #a32318; }
.bulk-invoice-page .article-content, .bulk-invoice-page .article-section { min-width: 0; }
.bulk-invoice-page .article-content a { color: #08715e; text-decoration: underline; text-underline-offset: 3px; }
.bulk-steps { margin: 22px 0 0; padding-left: 24px; }
.bulk-steps li { padding: 0 0 16px 6px; }
.bulk-steps li::marker { color: #087f68; font-weight: 750; }
.bulk-invoice-page .bulk-steps h3 { margin: 0 0 6px; }
.bulk-invoice-page .example-table { min-width: 550px; }
.bulk-invoice-page .example-table caption { padding-bottom: 12px; color: #53637d; text-align: left; font-size: 14px; line-height: 1.6; }
.bulk-invoice-page .faq-grid { align-items: start; }
.bulk-invoice-page .faq-question { cursor: pointer; line-height: 1.6; margin: 0; min-height: 44px; }
.bulk-invoice-page .faq-answer { margin: 14px 0 0; }
.bulk-invoice-page .updated-note { font-size: 13px; margin-top: 16px; }
@media (max-width: 900px) {
  .bulk-invoice-page > nav { position: static; grid-template-columns: minmax(0, 1fr) auto; padding: 14px 18px; gap: 14px; }
  .bulk-invoice-page > nav .logo { justify-self: start; }
  .bulk-invoice-page .invoice-page-nav { grid-column: 1 / -1; grid-row: 2; }
  .bulk-invoice-page .nav-links { grid-column: 2; grid-row: 1; }
  .bulk-invoice-page .nav-links a[href="/store"] { display: none; }
  .bulk-invoice-page .container { padding-top: 24px; }
  .bulk-invoice-page .csvlink-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .bulk-invoice-page .hero h1 { max-width: 24ch; }
}
@media (max-width: 480px) {
  .bulk-start { grid-template-columns: minmax(0, 1fr); }
  .bulk-invoice-page .hero h1 { font-size: 2.1rem; }
  .bulk-invoice-page .article-section { padding: 20px 16px; }
  .bulk-invoice-page .panel.article-layout { padding: 20px 12px; }
}
