.imp-service-concept{display:inline-flex;align-items:baseline;gap:.5rem;min-width:0}.imp-service-info{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;color:#145b96;background:#fff;font-weight:700;cursor:pointer;padding:0}.imp-service-info:focus-visible{outline:3px solid #138448;outline-offset:2px}.imp-service-dialog{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid #cad7e4;border-radius:14px;padding:24px;color:#123252;background:#fff}.imp-service-dialog::backdrop{background:rgba(10,30,50,.55)}.imp-service-dialog p{white-space:pre-line;overflow-wrap:anywhere;line-height:1.6}.imp-payment-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0;padding:16px;background:#fff;border:1px solid #dce4ec;border-radius:10px}.imp-payment-filters label{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:140px;flex:1}.imp-payment-filters input,.imp-payment-filters select{box-sizing:border-box;width:100%;max-width:100%;min-height:38px}.imp-payment-filter-links,.imp-payment-pagination{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.imp-payment-pagination a,.imp-payment-filter-links a{padding:8px 12px;border:1px solid #c9d8e5;border-radius:6px;background:#fff}.imp-payment-pagination [aria-current]{font-weight:bold}.imp-payment-number,table .imp-payment-due{white-space:nowrap;font-variant-numeric:tabular-nums}.imp-payment-filters button{min-height:38px}@media(max-width:480px){.imp-payment-filters label{flex-basis:100%;min-width:0}.imp-payment-pagination{justify-content:center}}

.imp-financial-value{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}.imp-price-line{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline}.imp-price-breakdown{display:grid;gap:6px}.imp-contract-costs li{padding:8px 0;list-style:none}.imp-contract-costs ul{padding-left:0}.wrap .imp-table-wrap{max-width:100%;overflow-x:auto}

.imp-client-filter-section{margin:16px 0;border:1px solid #dce4ec;border-radius:10px;background:#fff;padding:12px 16px}.imp-client-filter-section>summary{cursor:pointer;font-weight:600}.imp-client-filter-section>summary small{font-weight:400}.imp-gateway-resolution{padding:16px}.imp-gateway-resolution form{margin:12px 0}.imp-gateway-resolution summary{cursor:pointer}.imp-gateway-resolution input{max-width:100%;box-sizing:border-box}
.imp-filter-disclosure>summary{color:var(--imp-blue,#2271b1);list-style-position:inside}.imp-filter-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--imp-blue,#2271b1);color:#fff;font-size:11px}.imp-followup-log>summary{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--imp-blue,#2271b1);border-radius:7px;color:var(--imp-blue,#2271b1);background:#fff;cursor:pointer;font-weight:700}.imp-followup-log[open]>summary{color:#fff;background:var(--imp-blue,#2271b1)}
.imp-followup-history{margin:10px 0}.imp-followup-history>summary{display:inline-flex;align-items:center;gap:7px;color:var(--imp-blue,#2271b1);cursor:pointer;font-weight:700}.imp-followup-history-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--imp-blue,#2271b1);color:#fff;font-size:11px}.imp-followup-history ol{display:grid;gap:8px;margin:9px 0 0;padding:0;list-style:none}.imp-followup-history li{padding:9px;border:1px solid #dce4ec;border-radius:7px;background:#f8fafc}.imp-followup-history-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px}.imp-followup-history time,.imp-followup-history small{color:#646970;font-size:11px}.imp-followup-history li p{margin:6px 0 0;white-space:normal}

.imp-price-breakdown .imp-price-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:baseline;margin:4px 0}.imp-price-final{border-top:1px solid #dce4ee;padding-top:8px}.imp-financial-value{white-space:nowrap;font-variant-numeric:tabular-nums}[data-payment-live]{max-width:420px}

/* Unified collection query. Keep the date range visible on every screen. */
.imp-collection-query{box-sizing:border-box;min-width:0;margin:18px 0;padding:20px;border:1px solid #dce4ec;border-radius:12px;background:#fff;color:#18314f}
.imp-collection-query h2{margin:0 0 16px;font-size:17px;line-height:1.4}
.imp-collection-period-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.imp-collection-period-fields label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600}
.imp-collection-period-fields input,.imp-collection-period-fields select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:42px;margin:0;padding:8px 10px;border:1px solid #cbd8e8;border-radius:7px;background:#fff;color:#18314f;font:inherit}
.imp-collection-query [hidden]{display:none!important}
.imp-collection-date-help{margin:10px 0 16px;color:#64748b;font-size:12px;line-height:1.6}
.imp-collection-extra{padding:12px 0;border-top:1px solid #e4eaf2;border-bottom:1px solid #e4eaf2}
.imp-collection-extra>summary{cursor:pointer;color:var(--imp-blue,#2563eb);font-size:13px;font-weight:600}
.imp-collection-extra .imp-payment-filters{padding:14px 0 0;margin:0;border:0;background:transparent}
.imp-collection-query-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:16px}
.imp-collection-query-actions button{min-height:42px;padding:8px 20px;cursor:pointer}
.imp-collection-query-actions a{font-size:13px}
.imp-collection-query-actions small{color:#64748b;font-size:12px}
.imp-collection-applied{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--imp-blue,#2563eb);border-radius:4px;background:#f3f7fc;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.imp-collection-warning{padding:10px;border-left:3px solid #b45309;background:#fffbeb;font-size:13px}
@media(max-width:900px){.imp-collection-period-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.imp-collection-query{padding:16px}.imp-collection-period-fields{grid-template-columns:minmax(0,1fr)}.imp-collection-query-actions button{width:100%}.imp-collection-query-actions{gap:12px}.imp-collection-extra .imp-payment-filters label{flex-basis:100%;min-width:0}}

/* Shared collection palette: status takes precedence over payment dates. */
.imp-collection-row{--imp-collection-edge:transparent;--imp-collection-bg:#fff;--imp-collection-badge-bg:#f1f5f9;--imp-collection-badge-text:#475569}
.imp-collection-overdue{--imp-collection-edge:#dc2626;--imp-collection-bg:#fff7f7;--imp-collection-badge-bg:#fee2e2;--imp-collection-badge-text:#991b1b}
.imp-collection-due-soon{--imp-collection-edge:#f59e0b;--imp-collection-bg:#fffaf5;--imp-collection-badge-bg:#ffedd5;--imp-collection-badge-text:#9a3412}
.imp-collection-upcoming{--imp-collection-edge:#2563eb;--imp-collection-bg:#f8fbff;--imp-collection-badge-bg:#dbeafe;--imp-collection-badge-text:#1e40af}
.imp-collection-scheduled{--imp-collection-edge:#cbd5e1;--imp-collection-bg:#fafbfc;--imp-collection-badge-bg:#f1f5f9;--imp-collection-badge-text:#475569}
.imp-collection-paid{--imp-collection-edge:#16a34a;--imp-collection-bg:#f5fcf7;--imp-collection-badge-bg:#dcfce7;--imp-collection-badge-text:#166534}
.imp-collection-inactive{--imp-collection-edge:#94a3b8;--imp-collection-bg:#f1f5f9;--imp-collection-badge-bg:#e2e8f0;--imp-collection-badge-text:#475569}
.imp-collection-table tbody tr.imp-collection-row>td{background:var(--imp-collection-bg);box-shadow:none}
.imp-collection-table tbody tr.imp-collection-row>td:first-child{box-shadow:inset 3px 0 0 var(--imp-collection-edge)}
.imp-collection-table .imp-collection-state,.imp-billing-payment .imp-collection-state{display:inline-flex;align-items:center;max-width:100%;padding:4px 9px;border-radius:999px;background:var(--imp-collection-badge-bg);color:var(--imp-collection-badge-text);font-size:12px;font-weight:700;line-height:1.5}
.imp-collection-table .imp-grace-note{display:block;margin-top:6px;color:#991b1b;font-size:12px;font-weight:600}
.imp-collection-legend{margin:14px 0;color:#475569;font-size:13px;line-height:1.6}
.imp-collection-legend>summary{cursor:pointer;color:var(--imp-blue,#2563eb);font-weight:600}
.imp-collection-legend ul{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:12px 0;padding:0}
.imp-collection-legend li{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0}
.imp-collection-legend p{font-size:12px;max-width:950px}
.imp-collection-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#94a3b8}
.imp-collection-dot.is-overdue{background:#dc2626}.imp-collection-dot.is-due-soon{background:#f59e0b}.imp-collection-dot.is-upcoming{background:#2563eb}.imp-collection-dot.is-paid{background:#16a34a}.imp-collection-dot.is-scheduled{background:#cbd5e1}
@media(max-width:480px){.imp-collection-legend ul{display:grid;gap:8px}.imp-collection-table .imp-collection-state{font-size:12px}}

@media(max-width:700px){.imp-app .imp-followup-table.imp-collection-table tbody tr.imp-collection-row>td{box-shadow:inset 3px 0 0 var(--imp-collection-edge)}.imp-app .imp-followup-table.imp-collection-table .imp-collection-state{justify-self:end}}

@media(max-width:700px){.imp-app .imp-followup-table.imp-collection-table td:first-child>small{grid-column:2}}

/* Match the 13px corners of documents and request cards across collection views. */
.imp-collection-table{border-collapse:separate;border-spacing:0 10px;border:0;background:transparent;box-shadow:none}
.imp-collection-table tbody tr.imp-collection-row>td{border-top:1px solid #dce5f0;border-bottom:1px solid #dce5f0}
.imp-collection-table tbody tr.imp-collection-row>td:first-child{border-left:3px solid var(--imp-collection-edge);border-radius:13px 0 0 13px;box-shadow:none}
.imp-collection-table tbody tr.imp-collection-row>td:last-child{border-right:1px solid #dce5f0;border-radius:0 13px 13px 0}
@media(max-width:700px){
 .imp-app .imp-followup-table.imp-collection-table tbody tr.imp-collection-row{border-radius:13px;overflow:hidden}
 .imp-app .imp-followup-table.imp-collection-table tbody tr.imp-collection-row>td{border:0;border-bottom:1px solid #edf2f7;border-radius:0;box-shadow:inset 3px 0 0 var(--imp-collection-edge)}
 .imp-app .imp-followup-table.imp-collection-table tbody tr.imp-collection-row>td:last-child{border-bottom:0}
}

/* Unified payment rows: one outline, rounded corners and status-colored left rail. */
table.imp-payment-rounded-table,table.imp-collection-table{border:0!important;box-shadow:none!important;border-collapse:separate;border-spacing:0 10px;background:transparent}
.imp-payment-rounded-table tbody tr.imp-payment-rounded-row,.imp-payment-rounded-table.striped>tbody>tr.imp-payment-rounded-row:nth-child(odd){background:transparent}
.imp-payment-rounded-table tbody tr.imp-payment-rounded-row>:is(td,th){background:var(--imp-collection-bg,#fff);border:0;border-top:1px solid #dce5f0;border-bottom:1px solid #dce5f0}
.imp-payment-rounded-table tbody tr.imp-payment-rounded-row>:first-child{border-left:3px solid var(--imp-collection-edge,transparent);border-top-left-radius:13px;border-bottom-left-radius:13px}
.imp-payment-rounded-table tbody tr.imp-payment-rounded-row>:last-child{border-right:1px solid #dce5f0;border-top-right-radius:13px;border-bottom-right-radius:13px}
.imp-payment-rounded-table .imp-payment-state,.imp-payment-rounded-table .imp-state-badge,.imp-collection-table .imp-badge,.imp-collection-table .imp-state-badge{background:var(--imp-collection-badge-bg,#f1f5f9);color:var(--imp-collection-badge-text,#475569)}
.imp-payment-rounded-table .imp-state-badge i,.imp-collection-table .imp-state-badge i{background:currentColor}
@media(max-width:700px){
 .imp-app .imp-payments-table.imp-payment-rounded-table tbody tr.imp-payment-rounded-row{border:1px solid #dce5f0;border-radius:13px;overflow:hidden;box-shadow:none;background:var(--imp-collection-bg,#fff)}
 .imp-app .imp-payments-table.imp-payment-rounded-table tbody tr.imp-payment-rounded-row>td{background:var(--imp-collection-bg,#fff);border:0;border-left:3px solid var(--imp-collection-edge,transparent);border-bottom:1px solid #edf2f7;border-radius:0;box-shadow:none}
 .imp-app .imp-payments-table.imp-payment-rounded-table tbody tr.imp-payment-rounded-row>td:first-child{background:var(--imp-collection-bg,#fff)}
 .imp-app .imp-payments-table.imp-payment-rounded-table tbody tr.imp-payment-rounded-row>td:last-child{border-bottom:0}
}

/* Identical columns in pending, overdue, paid history and cancelled client groups. */
@media(min-width:701px){
 .imp-app .imp-payments-table.imp-payment-rounded-table{table-layout:fixed;min-width:1040px;width:100%}
 .imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-col-concept{width:20%}
 .imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-col-contract{width:16%}
 .imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-col-breakdown{width:13%}
 .imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-col-total{width:12%}
 .imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-col-date{width:10%}
 .imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-col-state{width:11%}
 .imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-col-actions{width:18%}
 .imp-app .imp-payments-table.imp-payment-rounded-table :is(th,td):nth-child(3),.imp-app .imp-payments-table.imp-payment-rounded-table :is(th,td):nth-child(4){min-width:0}
}
@media(max-width:700px){.imp-app .imp-payments-table.imp-payment-rounded-table>colgroup{display:none}}

.imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-actions .imp-payment-form{max-width:100%}
.imp-app .imp-payments-table.imp-payment-rounded-table .imp-payment-actions .imp-button{max-width:100%;white-space:normal;overflow-wrap:break-word}

.imp-payment-section-heading th{padding:22px 10px 10px;text-align:left;background:transparent;border:0}
.imp-payment-section-heading h3{margin:0;font-size:17px;color:#18314f}
.imp-payment-section-heading h3 small{display:inline-block;margin-left:7px;padding:2px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:12px}
.imp-payment-section-footer td,.imp-payment-section-empty td{border:0;background:transparent}
.imp-client-payment-section>h2{margin:22px 0 12px;font-size:20px;color:#18314f}
@media(max-width:700px){.imp-app .imp-followup-table .imp-payment-section-heading,.imp-app .imp-followup-table .imp-payment-section-footer,.imp-app .imp-followup-table .imp-payment-section-empty{border:0;border-radius:0;box-shadow:none;background:transparent}.imp-app .imp-followup-table .imp-payment-section-heading th{display:block;padding:14px 0 0}.imp-app .imp-followup-table .imp-payment-section-footer td,.imp-app .imp-followup-table .imp-payment-section-empty td{display:block;padding:8px 0;text-align:left}.imp-app .imp-followup-table .imp-payment-section-footer td:before,.imp-app .imp-followup-table .imp-payment-section-empty td:before{display:none}}

@media(min-width:701px){.imp-collection-period-fields:has([data-imp-collection-month][hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}}
[id^="imp-payments-"]{scroll-margin-top:80px}

.imp-app .imp-billing-payment>header{gap:16px;flex-wrap:wrap}
.imp-app .imp-billing-payment>header>.imp-collection-state{flex-shrink:0}

.imp-payment-confirmation{display:flex;flex-wrap:wrap;gap:10px 28px;margin:16px 0 20px;padding:14px 16px;border:1px solid #dce5f0;border-radius:10px;background:#f8fafc;color:#334155;font-size:13px;line-height:1.6;box-sizing:border-box}
.imp-payment-confirmation>div{min-width:0;overflow-wrap:anywhere}
.imp-payment-confirmation time{font-weight:600}
@media(max-width:600px){.imp-payment-confirmation{flex-direction:column;gap:6px;padding:12px}}

.imp-payment-confirmed-by{display:block;margin-top:7px;max-width:190px;color:#475569;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
form select.imp-payment-state-picker{min-height:44px;border:2px solid #2563eb!important;background-color:#eff6ff!important;color:#1d4ed8!important;font-weight:700;max-width:100%;box-sizing:border-box}
form select.imp-payment-state-picker[data-payment-state="paid"]{border-color:#16a34a!important;background-color:#f0fdf4!important;color:#166534!important}
form select.imp-payment-state-picker[data-payment-state="overdue"]{border-color:#dc2626!important;background-color:#fef2f2!important;color:#991b1b!important}
form select.imp-payment-state-picker[data-payment-state="cancelled"]{border-color:#94a3b8!important;background-color:#f1f5f9!important;color:#475569!important}
.imp-payment-state-picker option[value="paid"]{color:#166534}.imp-payment-state-picker option[value="pending"]{color:#1d4ed8}.imp-payment-state-picker option[value="overdue"]{color:#991b1b}.imp-payment-state-picker option[value="cancelled"]{color:#475569}
/* Expand payment information beneath its overview instead of inside narrow columns. */
.imp-app .imp-client-payment-table.imp-payment-rounded-table{width:100%;min-width:0;table-layout:fixed;border-spacing:0}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-col-concept{width:21%}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-col-contract{width:23%}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-col-total{width:15%}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-col-date{width:12%}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-col-state{width:11%}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-col-actions{width:18%}
.imp-app .imp-client-payment-table.imp-payment-rounded-table :is(th,td){min-width:0!important;overflow-wrap:anywhere}
.imp-app .imp-client-payment-table.imp-payment-rounded-table tbody.imp-client-payment-record .imp-payment-row>td{vertical-align:top;padding:18px 14px 12px;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-total .imp-financial-value{white-space:normal;font-variant-numeric:tabular-nums}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-detail-row>td{padding:0 14px 14px;border:1px solid #dce5f0;border-top:0;border-left:3px solid var(--imp-collection-edge);border-radius:0 0 13px 13px;background:var(--imp-collection-bg)}
.imp-payment-detail-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 24px;padding-top:12px;border-top:1px solid #dce5f0}
.imp-payment-detail-panels>details{min-width:0;margin:0}
.imp-payment-detail-panels>details>summary{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:40px;box-sizing:border-box;padding:8px 10px;border:1px solid #cbdbea;border-radius:8px;background:#f8fbfe;color:#145b96;font-size:.8rem;font-weight:700;white-space:normal;cursor:pointer}
.imp-payment-detail-panels>details>summary:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.imp-payment-detail-panels .imp-payment-breakdown-details>div{width:100%;min-width:0;box-sizing:border-box}
.imp-payment-detail-panels .imp-service-details>p,.imp-payment-detail-panels .imp-contract-costs{margin:12px 0 0;line-height:1.6;overflow-wrap:anywhere}
.imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-record-spacer>td{height:12px;padding:0;border:0;background:transparent}
/* Shared financial breakdown: labels wrap independently without crossing adjacent values. */
.imp-price-breakdown .imp-price-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));align-items:baseline;gap:4px 12px}
.imp-price-breakdown .imp-price-line>span:first-child{min-width:0;overflow-wrap:normal}
.imp-price-breakdown .imp-price-line>.imp-financial-value{max-width:100%;text-align:right}
.imp-payment-group>header{flex-wrap:wrap}
.imp-payment-group>header>div{min-width:0}
.imp-payment-group>header small{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){
 .imp-app .imp-client-payment-table>colgroup,.imp-app .imp-client-payment-table>thead{display:none}
 .imp-app .imp-client-payment-table,.imp-app .imp-client-payment-table.imp-payment-rounded-table tbody.imp-client-payment-record{display:block;width:100%;min-width:0}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table tbody.imp-client-payment-record{margin-bottom:12px;border:1px solid #dce5f0;border-left:3px solid var(--imp-collection-edge);border-radius:13px;background:var(--imp-collection-bg);overflow:hidden}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table tbody.imp-client-payment-record .imp-payment-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;border:0;border-radius:0;background:transparent;box-shadow:none}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table tbody.imp-client-payment-record .imp-payment-row>td{display:block;padding:0;border:0;border-radius:0;background:transparent;text-align:left;box-shadow:none}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-row>td[data-mobile-label]::before{content:attr(data-mobile-label);display:block;margin:0 0 6px;color:#64748b;font-size:.7rem;font-weight:700;text-transform:uppercase;text-align:left}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-row>td>*{max-width:100%}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-detail-row{display:block;padding:0 16px 16px;border:0;background:transparent}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-detail-row>td{display:block;padding:0;border:0;border-radius:0;background:transparent}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-detail-row>td::before{display:none}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-record-spacer{display:none}
 .imp-app .imp-client-payment-table.imp-payment-rounded-table .imp-payment-actions .imp-button{width:100%;justify-content:center}
 .imp-payment-group>header small{text-align:left}
}
@media(max-width:600px){
 .imp-app .imp-client-payment-table.imp-payment-rounded-table tbody.imp-client-payment-record .imp-payment-row{grid-template-columns:minmax(0,1fr);gap:14px}
 .imp-payment-detail-panels{grid-template-columns:minmax(0,1fr)}
 .imp-payment-detail-panels>details>summary{width:100%}
 .imp-price-breakdown .imp-price-line{grid-template-columns:minmax(0,1fr);gap:2px}
 .imp-price-breakdown .imp-price-line>.imp-financial-value{text-align:left;white-space:normal;overflow-wrap:anywhere}
}
.imp-payment-state-help{display:block;margin:8px 0 0!important;color:#475569;font-size:12px!important;line-height:1.5;font-weight:400;max-width:440px}
form .imp-payment-confirmation-required{border-color:#16a34a!important;box-shadow:0 0 0 1px #bbf7d0!important}

.imp-payment-detail-panels>.imp-service-details>summary{gap:7px;list-style:none}
.imp-payment-detail-panels>.imp-service-details>summary::-webkit-details-marker{display:none}
.imp-payment-detail-panels>.imp-service-details>summary::before{content:'▸';font-size:.72rem;transition:transform .16s ease}
.imp-payment-detail-panels>.imp-service-details[open]>summary::before{transform:rotate(90deg)}

/* Collection cards share the same tablet/mobile behavior in staff and administration. */
@media(max-width:1100px){
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table){display:block;width:100%;min-width:0;table-layout:auto}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) thead{display:none}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) tbody{display:grid;gap:14px}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) tr.imp-collection-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;border:1px solid #dce5f0;border-left:3px solid var(--imp-collection-edge);border-radius:13px;background:var(--imp-collection-bg);box-shadow:none;overflow:hidden}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) tr.imp-collection-row>td{display:block;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;overflow-wrap:anywhere}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) tr.imp-collection-row>td:before{content:attr(data-mobile-label);display:block;margin-bottom:6px;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;text-align:left}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) tr.imp-collection-row>td:last-child{grid-column:1/-1}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) .imp-followup-actions{justify-content:flex-start}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) :is(.imp-payment-section-heading,.imp-payment-section-footer,.imp-payment-section-empty){display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) :is(.imp-payment-section-heading,.imp-payment-section-footer,.imp-payment-section-empty)>:is(td,th){display:block;padding:10px 0;border:0;background:transparent;text-align:left}
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) td[colspan]:before{display:none}
}
@media(max-width:600px){
 :is(.imp-app .imp-followup-table.imp-collection-table,.wrap .imp-collection-table) tr.imp-collection-row{grid-template-columns:minmax(0,1fr)}
}

.imp-next-renewal{box-sizing:border-box;max-width:100%;padding:18px;margin:18px 0;border:1px solid #dce5ef;border-left:3px solid #2563eb;border-radius:12px;background:#f8fbff;color:#17324f}
.imp-next-renewal h3{margin:0 0 12px}.imp-next-renewal fieldset{padding:0;border:0;margin:14px 0}.imp-next-renewal label{display:block;font-weight:600}.imp-next-renewal label small{display:block;font-weight:400;color:#52647b}.imp-next-renewal input[type=number],.imp-next-renewal textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:6px 0 12px;padding:9px;border:1px solid #bbcbdc;border-radius:7px;font:inherit;background:#fff}.imp-next-renewal-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.imp-next-renewal details summary{cursor:pointer}.imp-next-renewal fieldset:disabled{opacity:.65}.imp-next-renewal p{overflow-wrap:anywhere}@media(max-width:650px){.imp-next-renewal-fields{grid-template-columns:minmax(0,1fr)}}

.imp-next-renewal .imp-next-renewal-tax{display:flex;align-items:center;gap:8px;margin:0 0 12px}.imp-next-renewal-tax input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin:0}
.imp-next-renewal select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:auto;white-space:normal;margin:6px 0 12px;padding:9px 30px 9px 9px;border:1px solid #bbcbdc;border-radius:7px;font:inherit;background-color:#fff}.imp-next-renewal ul{padding-left:22px;overflow-wrap:anywhere}.imp-next-renewal fieldset{min-width:0}
