/* 고객 화면 공통 크기: 소개/계정/신청/충전/내역을 같은 폭과 글꼴로 관리. */
.customer-ui .tax-info-modal .modal-box {
  width: min(960px, calc(100vw - 48px)); max-width: 960px;
  padding: 40px; max-height: 90dvh; overflow-y: auto;
}
.customer-ui .tax-info-modal .modal-box h3 { font-size: 28px; padding-right: 44px; margin-bottom: 18px; }
.customer-ui .tax-modal-desc { font-size: 18px; margin-bottom: 24px; }
.customer-ui .tax-info-grid { gap: 22px 28px; margin: 20px 0 28px; }
.customer-ui .tax-info-grid label { display: block; font-size: 17px; line-height: 1.5; }
.customer-ui .tax-info-grid input { display: block; min-height: 64px; margin-top: 10px; padding: 16px 18px; font-size: 18px; }
.customer-ui .tax-modal-note { font-size: 15px; margin-top: 20px; line-height: 1.7; }
.customer-ui .tax-info-modal .modal-close { width: 44px; height: 44px; font-size: 26px; display: flex; align-items: center; justify-content: center; }
@media (max-width: 640px) {
  .customer-ui .tax-info-modal .modal-box { width: calc(100vw - 24px); padding: 28px 20px; max-height: 90dvh; }
  .customer-ui .tax-info-modal .modal-box h3 { font-size: 22px; }
  .customer-ui .tax-modal-desc, .customer-ui .tax-info-grid label { font-size: 16px; }
  .customer-ui .tax-info-grid { gap: 20px; }
  .customer-ui .tax-info-grid input { min-height: 56px; font-size: 16px; padding: 14px; }
  .customer-ui .tax-modal-note { font-size: 14px; }
}
.customer-ui { font-family: var(--font-ui); font-size: 18px; }
.customer-ui .wrap { width: 100%; max-width: 1480px; padding: 40px 40px 100px; }
/* 신청 화면만 좁게. 한 줄짜리 입력칸이 대부분이라 1480px 에서는 오른쪽이 텅 빈다.
   (2026-09-17 대표님 지적: "실제 사용하는 칸에 비해서 공백이 너무 많아")
   **글자 크기는 그대로 둔다** — 폭만 줄인다. 모바일은 원래 화면폭을 따라가므로 영향 없다. */
.customer-ui .wrap.apply-wrap { max-width: 960px; }
.customer-ui .card.narrow { width: 100%; max-width: none; margin: 24px auto; }
.customer-ui .signup-card { max-width: none; }
.customer-ui .brand { font-size: 28px; }
.customer-ui .topnav { padding: 20px 32px; }
.customer-ui .nav-right a, .customer-ui .nav-logout button, .customer-ui .credit-badge { font-size: 16px; }
.customer-ui .nav-right a { padding: 10px 16px; }
.customer-ui .theme-toggle { width: 44px; height: 44px; }
.customer-ui .public-hero .public-eyebrow { font-size: 32px; margin-bottom: 24px; }
.customer-ui .card { padding: 40px; }
.customer-ui .card h1, .customer-ui .page-head h1 { font-size: 30px; }
.customer-ui .list-section h2 { font-size: 26px; }
.customer-ui .sub, .customer-ui .note, .customer-ui .field label,
.customer-ui .field-label, .customer-ui .recovery-description, .customer-ui .recovery-feedback,
.customer-ui .section-hint, .customer-ui .empty, .customer-ui .record-meta,
.customer-ui .action-desc, .customer-ui .discord-desc { font-size: 17px; line-height: 1.7; }
.customer-ui .field { margin-bottom: 26px; }
.customer-ui .field input, .customer-ui .field select, .customer-ui .field textarea,
.customer-ui .history-filters input, .customer-ui .history-filters select {
  font-family: inherit; font-size: 18px; min-height: 64px; padding: 16px 18px;
}
.customer-ui .btn-primary, .customer-ui .ui-secondary { min-height: 64px; padding: 16px 24px; font-size: 19px; }
.customer-ui .field-hint, .customer-ui .tag, .customer-ui .status { font-size: 15px; }
.customer-ui .credit-hero { padding: 36px 40px; }
.customer-ui .credit-label { font-size: 18px; }
.customer-ui .credit-value { font-size: 56px; }
.customer-ui .action-grid { gap: 24px; margin-top: 24px; }
.customer-ui .action-card { padding: 32px; min-height: 180px; }
.customer-ui .action-card .action-title, .customer-ui .record-title { font-size: 22px; }
.customer-ui .action-emoji { font-size: 30px; }
.customer-ui .discord-banner, .customer-ui .record { padding: 26px; }
.customer-ui .discord-title, .customer-ui .past-summary { font-size: 20px; }
.customer-ui .discord-join, .customer-ui .ledger-tab { font-size: 17px; padding: 12px 18px; }
.customer-ui .ledger-amt { font-size: 20px; }
.customer-ui .detail-grid { gap: 20px; }
.customer-ui .detail-grid span, .customer-ui .detail-grid b,
.customer-ui .customer-progress, .customer-ui .support-box, .customer-ui .history-result { font-size: 17px; }
.customer-ui .record-list { gap: 20px; }
.customer-ui .list-section { margin-top: 36px; }
.customer-ui .account-recovery .field { margin-bottom: 28px; }
.customer-ui .account-recovery .recovery-description { margin-bottom: 32px; }
.customer-ui .signup-grid .field { margin-bottom: 0; }
.customer-ui .info-box, .customer-ui .pkg-card, .customer-ui .refund-notice { padding: 28px; }
.customer-ui .info-title, .customer-ui .info-note, .customer-ui .info-amt-rows > div,
.customer-ui .refund-notice > b, .customer-ui .refund-notice p, .customer-ui .pkg-save,
.customer-ui .pkg-badge, .customer-ui .pay-toggle label { font-size: 17px; line-height: 1.7; }
.customer-ui .info-bank, .customer-ui .pkg-price { font-size: 24px; }
.customer-ui .pkg-count { font-size: 52px; }
.customer-ui .kakao-fab-label { display: none; }
@media (max-width: 760px) {
  .customer-ui { font-size: 16px; }
  .customer-ui .wrap { padding: 24px 20px 90px; }
  .customer-ui .topnav { padding: 14px 16px; }
  .customer-ui .brand { font-size: 21px; }
  .customer-ui .nav-right a { font-size: 14px; padding: 8px 10px; }
  .customer-ui.public-visitor .nav-right a { font-size: 12px; padding: 7px 8px; }
  .customer-ui .theme-toggle { width: 34px; height: 34px; }
  .customer-ui .public-hero .public-eyebrow { font-size: 24px; }
  .customer-ui .card, .customer-ui .auth-layout .auth-card { padding: 28px 20px; }
  .customer-ui .card h1, .customer-ui .page-head h1, .customer-ui .list-section h2 { font-size: 24px; }
  .customer-ui .field input, .customer-ui .field select, .customer-ui .field textarea,
  .customer-ui .history-filters input, .customer-ui .history-filters select { min-height: 56px; font-size: 16px; padding: 14px; }
  .customer-ui .btn-primary, .customer-ui .ui-secondary { min-height: 56px; font-size: 16px; padding: 14px 18px; }
  .customer-ui .sub, .customer-ui .note, .customer-ui .field label, .customer-ui .recovery-description,
  .customer-ui .section-hint, .customer-ui .record-meta, .customer-ui .action-desc, .customer-ui .discord-desc { font-size: 15px; }
  .customer-ui .credit-hero { padding: 28px 24px; }
  .customer-ui .action-grid { gap: 14px; }
  .customer-ui .action-card { padding: 20px; min-height: 150px; }
  .customer-ui .action-card .action-title, .customer-ui .record-title { font-size: 18px; }
  .customer-ui .discord-banner, .customer-ui .record { padding: 20px; }
  .customer-ui .credit-value { font-size: 44px; }
  .customer-ui .info-box, .customer-ui .pkg-card, .customer-ui .refund-notice { padding: 20px; }
  .customer-ui .info-title, .customer-ui .info-note, .customer-ui .info-amt-rows > div,
  .customer-ui .refund-notice > b, .customer-ui .refund-notice p { font-size: 15px; }
}
