#kalkuneo-payment-v2 { font-family: Inter, Arial, sans-serif; color:#1f2937; }
#kalkuneo-payment-v2 * { box-sizing:border-box; }
#kalkuneo-payment-v2 .payv2-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1.25rem; }
#kalkuneo-payment-v2 .payv2-head h2 { margin:0 0 .35rem; color:#1f3b5b; }
#kalkuneo-payment-v2 .payv2-muted { color:#64748b; font-size:.92rem; }
#kalkuneo-payment-v2 .payv2-tabs { display:flex; flex-wrap:wrap; gap:.45rem; border-bottom:1px solid #dbe4ee; margin-bottom:1.25rem; }
#kalkuneo-payment-v2 .payv2-tab { border:0; background:transparent; padding:.75rem .9rem; cursor:pointer; color:#526579; border-bottom:3px solid transparent; font-weight:600; }
#kalkuneo-payment-v2 .payv2-tab.active { color:#1769ff; border-bottom-color:#1769ff; }
#kalkuneo-payment-v2 .payv2-actions { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
#kalkuneo-payment-v2 button { font:inherit; }
#kalkuneo-payment-v2 .payv2-btn { border:1px solid #cbd5e1; border-radius:6px; padding:.55rem .8rem; background:#fff; color:#334155; cursor:pointer; }
#kalkuneo-payment-v2 .payv2-btn:hover { background:#f8fafc; }
#kalkuneo-payment-v2 .payv2-btn.primary { background:#1769ff; border-color:#1769ff; color:#fff; }
#kalkuneo-payment-v2 .payv2-btn.danger { background:#fff5f5; border-color:#fecaca; color:#b91c1c; }
#kalkuneo-payment-v2 .payv2-btn.small { padding:.35rem .55rem; font-size:.84rem; }
#kalkuneo-payment-v2 .payv2-btn:disabled { opacity:.5; cursor:not-allowed; }
#kalkuneo-payment-v2 .payv2-grid { display:grid; gap:1rem; }
#kalkuneo-payment-v2 .payv2-grid.cards { grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); }
#kalkuneo-payment-v2 .payv2-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:1rem; box-shadow:0 5px 18px rgba(15,23,42,.04); }
#kalkuneo-payment-v2 .payv2-card h3 { margin:0 0 .8rem; color:#1f3b5b; }
#kalkuneo-payment-v2 .payv2-kpi { font-size:1.6rem; font-weight:700; color:#0f2942; margin:.15rem 0; }
#kalkuneo-payment-v2 .payv2-kpi-sub { color:#64748b; font-size:.85rem; }
#kalkuneo-payment-v2 .payv2-section { margin-top:1rem; }
#kalkuneo-payment-v2 .payv2-toolbar { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; justify-content:space-between; margin-bottom:.75rem; }
#kalkuneo-payment-v2 input, #kalkuneo-payment-v2 select, #kalkuneo-payment-v2 textarea { width:100%; border:1px solid #cbd5e1; border-radius:6px; padding:.55rem .65rem; background:#fff; color:#1f2937; font:inherit; }
#kalkuneo-payment-v2 textarea { min-height:90px; resize:vertical; }
#kalkuneo-payment-v2 .payv2-filter { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
#kalkuneo-payment-v2 .payv2-filter input { min-width:240px; }
#kalkuneo-payment-v2 .payv2-table-wrap { overflow:auto; border:1px solid #e2e8f0; border-radius:9px; background:#fff; }
#kalkuneo-payment-v2 table { width:100%; border-collapse:collapse; min-width:800px; }
#kalkuneo-payment-v2 th { background:#edf2f7; color:#26384b; text-align:left; padding:.7rem; font-size:.86rem; position:sticky; top:0; z-index:1; }
#kalkuneo-payment-v2 td { border-top:1px solid #e5e7eb; padding:.65rem .7rem; vertical-align:top; font-size:.9rem; }
#kalkuneo-payment-v2 tr:hover td { background:#fafcff; }
#kalkuneo-payment-v2 .payv2-number { text-align:right; white-space:nowrap; }
#kalkuneo-payment-v2 .payv2-badge { display:inline-flex; align-items:center; border-radius:999px; padding:.2rem .5rem; font-size:.78rem; font-weight:700; white-space:nowrap; }
#kalkuneo-payment-v2 .payv2-badge.high, #kalkuneo-payment-v2 .payv2-badge.paid, #kalkuneo-payment-v2 .payv2-badge.allocated { background:#dcfce7; color:#166534; }
#kalkuneo-payment-v2 .payv2-badge.medium, #kalkuneo-payment-v2 .payv2-badge.partial { background:#fef3c7; color:#92400e; }
#kalkuneo-payment-v2 .payv2-badge.low, #kalkuneo-payment-v2 .payv2-badge.open, #kalkuneo-payment-v2 .payv2-badge.unmatched { background:#e0ecff; color:#1d4ed8; }
#kalkuneo-payment-v2 .payv2-badge.overdue, #kalkuneo-payment-v2 .payv2-badge.reversal { background:#fee2e2; color:#991b1b; }
#kalkuneo-payment-v2 .payv2-badge.ignored { background:#e5e7eb; color:#4b5563; }
#kalkuneo-payment-v2 .payv2-alert { border:1px solid #bfdbfe; background:#eff6ff; color:#1e3a8a; border-radius:8px; padding:.75rem .9rem; margin:.75rem 0; }
#kalkuneo-payment-v2 .payv2-alert.error { border-color:#fecaca; background:#fef2f2; color:#991b1b; }
#kalkuneo-payment-v2 .payv2-alert.success { border-color:#bbf7d0; background:#f0fdf4; color:#166534; }
#kalkuneo-payment-v2 .payv2-import-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.75rem; }
#kalkuneo-payment-v2 .payv2-field label { display:block; font-weight:600; font-size:.86rem; margin-bottom:.3rem; color:#475569; }
#kalkuneo-payment-v2 .payv2-modal-backdrop { position:fixed; inset:0; background:rgba(15,23,42,.45); z-index:9998; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
#kalkuneo-payment-v2 .payv2-modal { width:min(980px,96vw); max-height:92vh; overflow:auto; background:#fff; border-radius:12px; padding:1.1rem; box-shadow:0 25px 80px rgba(15,23,42,.25); }
#kalkuneo-payment-v2 .payv2-modal-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; border-bottom:1px solid #e2e8f0; padding-bottom:.7rem; margin-bottom:1rem; }
#kalkuneo-payment-v2 .payv2-modal h3 { margin:0; }
#kalkuneo-payment-v2 .payv2-split { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
#kalkuneo-payment-v2 .payv2-allocation-row { display:grid; grid-template-columns:minmax(300px,1fr) 150px; gap:.75rem; align-items:center; padding:.55rem 0; border-bottom:1px solid #eef2f7; }
#kalkuneo-payment-v2 .payv2-allocation-row input { text-align:right; }
#kalkuneo-payment-v2 .payv2-inline-check { display:flex; align-items:center; gap:.5rem; }
#kalkuneo-payment-v2 .payv2-inline-check input { width:auto; }
#kalkuneo-payment-v2 .payv2-progress { padding:2rem; text-align:center; color:#64748b; }
#kalkuneo-payment-v2 .payv2-empty { padding:1.2rem; text-align:center; color:#64748b; }
#kalkuneo-payment-v2 .payv2-aging { display:grid; grid-template-columns:repeat(5,1fr); gap:.5rem; }
#kalkuneo-payment-v2 .payv2-aging > div { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:.75rem; text-align:center; }
#kalkuneo-payment-v2 .payv2-aging strong { display:block; font-size:1.1rem; margin-top:.25rem; }
#kalkuneo-payment-v2 .payv2-link { border:0; background:none; color:#1769ff; padding:0; cursor:pointer; text-decoration:underline; }
@media (max-width:800px) {
  #kalkuneo-payment-v2 .payv2-head, #kalkuneo-payment-v2 .payv2-toolbar { flex-direction:column; align-items:stretch; }
  #kalkuneo-payment-v2 .payv2-split { grid-template-columns:1fr; }
  #kalkuneo-payment-v2 .payv2-aging { grid-template-columns:1fr 1fr; }
}
#kalkuneo-payment-v2 .payv2-badge.reversal_partial { background:#fef3c7; color:#92400e; }
#kalkuneo-payment-v2 .payv2-badge.reversal_allocated { background:#dcfce7; color:#166534; }
