/* Company account: one balance, clear receipt states, short next steps. */
#panel-company-detail { --account-border: #dce7eb; }
#panel-company-detail > .panel-card { padding: 24px; }
#panel-company-detail .panel-header { padding: 0 0 20px; }
.company-account-header-actions { display: flex; flex-wrap: wrap; gap: 10px; }
#panel-company-detail .company-detail-tabs { margin: 22px 0; gap: 8px; flex-wrap: wrap; }
#panel-company-detail .company-detail-tab-pill { border-radius: 10px; padding: 12px 16px; min-height: 44px; }
#panel-company-detail .cari-summary-grid { gap: 14px; margin: 0; }
#panel-company-detail .cari-balance-card { box-shadow: 0 4px 14px rgba(9, 44, 61, .1); border-radius: 14px; background: linear-gradient(120deg, #092c3d, #0d5961); color: white; border: 1px solid #226374; }
#panel-company-detail .cari-balance-card strong { color: #fff; font-size: clamp(24px, 2.3vw, 32px); }
#panel-company-detail .cari-balance-card small, #panel-company-detail .cari-balance-card span { color: #d4edf0; }
#panel-company-detail .cari-summary-card { box-shadow: none; border: 1px solid var(--account-border); border-radius: 14px; }
#panel-company-detail .cari-summary-card:not(.collected) { background: linear-gradient(120deg, #e4f5f3, #edf3fa); border-color: #badbdc; border-top: 3px solid #0ca89b; }
#panel-company-detail .cari-summary-card:not(.collected) > span { color: #28636c; }
#panel-company-detail .cari-summary-card:not(.collected) strong { color: #103d52; }
#panel-company-detail .cari-summary-card:not(.collected) small { color: #527383; }
.company-next-step { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 16px 0; padding: 16px 18px; background: #fff8e9; border: 1px solid #f2dfb0; border-radius: 12px; }
.company-next-step[hidden] { display: none; }
.company-next-step strong, .company-next-step small { display: block; }
.company-next-step strong { color: #624517; font-size: 14px; }
.company-next-step small { color: #796548; margin-top: 5px; font-size: 12px; }
.company-next-step button { flex-shrink: 0; }
#panel-company-detail .company-account-toolbar { background: #f6f9fa; border: 1px solid var(--account-border); box-shadow: none; border-radius: 12px; padding: 16px 18px; }
#panel-company-detail .company-account-toolbar h3 { font-size: 15px; margin: 0 0 5px; }
#panel-company-detail .company-account-toolbar p { font-size: 12px; margin: 0; }
#panel-company-detail .cari-primary-actions { gap: 8px; }
#panel-company-detail .cari-ledger-heading { min-height: 0; padding: 18px; background: #fff; }
#panel-company-detail .cari-ledger-title-icon { display: none; }
#panel-company-detail .cari-ledger-heading h3 { font-size: 16px; }
#panel-company-detail .cari-ledger-heading p { font-size: 12px; margin-top: 5px; }
#panel-company-detail .cari-ledger-shell { box-shadow: none; border: 1px solid var(--account-border); border-radius: 12px; }
#panel-company-detail .cari-ledger-table { min-width: 900px; table-layout: auto; }
#panel-company-detail .cari-ledger-table :is(th, td) { font-size: 12px; padding: 14px 12px; }
#panel-company-detail .cari-ledger-table :is(th, td):nth-child(1) { width: 110px; }
#panel-company-detail .cari-ledger-table :is(th, td):nth-child(3),
#panel-company-detail .cari-ledger-table :is(th, td):nth-child(4),
#panel-company-detail .cari-ledger-table :is(th, td):nth-child(5) { width: 140px; }
#panel-company-detail .cari-ledger-table :is(th, td):nth-child(6) { width: 145px; }
#panel-company-detail .cari-ledger-description { gap: 0; }
#panel-company-detail .cari-ledger-kind-icon { display: none; }
#panel-company-detail .cari-money-chip { padding: 0; background: transparent; box-shadow: none; border: 0; font-size: 13px; }
#panel-company-detail .cari-money-chip .material-icons { display: none; }
#panel-company-detail .cari-ledger-balance b { font-size: 13px; }
.company-receipts-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 6px 0 16px; }
.company-receipts-heading h3 { margin: 0 0 7px; font-size: 18px; }
.company-receipts-heading p { margin: 0; color: #597281; font-size: 13px; line-height: 1.6; }
.company-receipt-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.company-receipt-filter { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #cadde3; color: #34515d; border-radius: 9px; padding: 10px 12px; font-size: 12px; font-weight: 600; cursor: pointer; }
.company-receipt-filter.active { background: #e6f5f2; color: #06685d; border-color: #22a99b; }
.company-receipt-filter span { border-radius: 6px; background: #edf2f4; min-width: 22px; padding: 2px 5px; }
.company-receipts-table { width: 100%; min-width: 820px; }
.company-receipts-table th { font-size: 11px; }
.company-receipts-table td { vertical-align: middle; font-size: 13px; padding: 16px 12px; }
.company-receipts-table td:nth-child(3) { max-width: 340px; white-space: normal; overflow-wrap: anywhere; line-height: 1.6; }
.company-receipt-amount { font-weight: 700; white-space: nowrap; }
.company-receipt-status { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.company-receipt-status button { min-height: 36px; font-size: 12px; }
.cari-status-pill.posted { background: #e6f5f2; color: #0a7867; border: 1px solid #bde7d8; }
.company-receipt-empty { text-align: center; padding: 40px !important; color: #597281; }

/* Red denotes debt; green denotes collected money and paid receipts. */
#panel-company-detail { --account-debt: #b42318; --account-paid: #087443; }
#panel-company-detail .cari-balance-card.has-debt { border-left: 4px solid #ee9199; }
#panel-company-detail .cari-balance-card.has-debt strong { color: #ffccd0; }
#panel-company-detail .cari-balance-card.is-clear { border-left: 4px solid #39d5b2; }
#panel-company-detail .cari-balance-card > div > small { align-self: flex-start; margin-top: 4px; padding: 4px 8px; border-radius: 6px; line-height: 1.4; }
#panel-company-detail .cari-balance-card.has-debt small { color: #ffe3e5; background: #5b353e; }
#panel-company-detail .cari-balance-card.is-clear small { color: #bbf4dc; background: #0c5654; }
#panel-company-detail .cari-balance-card > .material-icons { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: rgba(167, 235, 224, .1); color: #9ce6dc; font-size: 30px; opacity: 1; }
#panel-company-detail .cari-summary-card.collected { background: #f4fbf7; border-color: #cce8d7; }
#panel-company-detail .cari-summary-card.collected strong,
#panel-company-detail .cari-money-chip.credit,
#panel-company-detail .cari-ledger-balance:is(.clear, .credit) b { color: var(--account-paid); }
#panel-company-detail .cari-money-chip.debit,
#panel-company-detail .cari-ledger-balance.debit b { color: var(--account-debt); }
#panel-company-detail tr.account-debt > td:first-child { border-left: 3px solid #dc625b; }
#panel-company-detail tr.account-paid > td:first-child { border-left: 3px solid #42a873; }
#panel-company-detail .account-debt .company-receipt-amount { color: var(--account-debt); }
#panel-company-detail .account-paid .company-receipt-amount { color: var(--account-paid); }
#panel-company-detail .account-debt .cari-status-pill.posted { background: #f1f5f7; color: #506674; border-color: #dce7eb; }
#panel-company-detail .cari-ledger-status-badge.danger { background: #fff1f0; color: var(--account-debt); border-color: #f5c4c0; }
#panel-company-detail .cari-ledger-status-badge.success { background: #edf9f2; color: var(--account-paid); border-color: #bde4cd; }
.company-payment-general-badge { color: #087443; font-weight: 600; font-size: 12px; }
.company-payment-general-badge + small { color: #617885; font-size: 11px; }
.company-payment-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.company-payment-mode-switch[hidden], .company-payment-general-help[hidden] { display: none; }
.company-payment-mode-switch button { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 14px; border: 1px solid #cbdbe0; border-radius: 10px; background: #fff; color: #3f5968; cursor: pointer; font: inherit; font-size: 13px; }
.company-payment-mode-switch button small { font-size: 11px; }
.company-payment-mode-switch button[aria-pressed="true"] { background: #edf9f2; border-color: #319265; color: #08633b; box-shadow: inset 0 0 0 1px #319265; }
.company-payment-mode-switch button:focus-visible { outline: 3px solid #0e7490; outline-offset: 2px; }
.company-payment-general-help { margin: 0 0 18px; color: #567060; font-size: 12px; line-height: 1.65; }
.is-general-payment .company-payment-modal-content { width: min(640px, 96%); }
.company-payment-extra-fields { border-top: 1px solid #dce7eb; padding-top: 12px; }
.company-payment-extra-fields summary { cursor: pointer; color: #527080; font-size: 12px; font-weight: 600; }
.company-payment-extra-fields[open] summary { margin-bottom: 14px; }
#companyPaymentModal #cpayAmount:not([readonly]) { color: #087443; background: #f4fbf7; border-color: #82bea0; font-weight: 700; }
#companyPaymentModal #companyPaymentSaveBtn { background: #138453; color: #fff; }

@media (max-width: 900px) {
  #panel-company-detail > .panel-card { padding: 16px; }
  #panel-company-detail .company-account-toolbar { align-items: flex-start; flex-direction: column; gap: 14px; }
  #panel-company-detail .cari-summary-grid { grid-template-columns: 1fr 1fr; }
  #panel-company-detail .cari-balance-card { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  #panel-company-detail > .panel-card { padding: 12px; }
  #panel-company-detail .panel-header > div { flex-wrap: wrap; }
  .company-account-header-actions { width: 100%; }
  .company-account-header-actions > button { flex: 1; }
  #panel-company-detail .cari-summary-card { padding: 15px; }
  #panel-company-detail .cari-summary-card strong { font-size: 19px; overflow-wrap: anywhere; }
  .company-next-step { align-items: flex-start; flex-direction: column; gap: 12px; }
  #panel-company-detail .company-detail-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  #panel-company-detail .company-detail-tab-pill { padding: 10px 6px; font-size: 12px; }
  .company-receipt-filters { gap: 6px; }
  .company-receipt-filter { font-size: 11px; padding: 8px; }
  #panel-company-detail .company-receipts-table-wrap { overflow: visible; border: 0; }
  #panel-company-detail .company-receipts-table { display: block; width: 100%; min-width: 0; }
  #panel-company-detail .company-receipts-table thead { display: none; }
  #panel-company-detail .company-receipts-table tbody { display: grid; gap: 14px; }
  #panel-company-detail .company-receipts-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border: 1px solid var(--account-border); border-radius: 12px; padding: 14px; gap: 16px 12px; background: #fff; }
  #panel-company-detail .company-receipts-table td { display: block; width: auto; height: auto; min-width: 0; max-width: none; padding: 0; border: 0; background: transparent; }
  #panel-company-detail .company-receipts-table td::before { content: attr(data-label); display: block; font-size: 10px; color: #718494; margin-bottom: 5px; }
  #panel-company-detail .company-receipts-table td:nth-child(3) { grid-column: 1 / -1; }
  #panel-company-detail .company-receipts-table td:last-child { grid-column: 1 / -1; border-top: 1px solid var(--account-border); padding-top: 12px; }
  #panel-company-detail .company-receipts-table td[colspan] { grid-column: 1 / -1; }
}
