/* ══════════════════════════════════════════════════════════
   /kontrahent — strona modułu Kontrahent. Układ i większość klas
   wspólne z /umowy (um-*, plik umowy.css; <main> nosi obie klasy:
   page-umowy i page-kontrahent). Tu tylko to, czego tam nie ma:
   karta kontrahenta (makieta) i alerty. Przedrostek kh-.
   ══════════════════════════════════════════════════════════ */
.page-kontrahent { --kh-ok: #1C6B3E; --kh-ost: #B7791F; --kh-zle: #B42318; --kh-brak: #8A98A0; }

.kh-etyk { font-size: 12px; font-weight: 600; letter-spacing: .08em; color: #5B6B74; }

.kh-karta, .kh-alerty { background: #fff; color: #33414A; border-radius: 16px; padding: 28px; box-shadow: 0 30px 80px rgba(0,0,0,.4); display: flex; flex-direction: column; gap: 18px; }
.kh-karta-gora, .kh-karta-dol { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.kh-firma { font-size: 18px; font-weight: 700; color: var(--um-granat); margin-top: 4px; }
.kh-nip { font-size: 13px; color: #5B6B74; }
.kh-karta-dol { font-size: 13px; color: #5B6B74; }

.kh-ryzyko { padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.kh-ryzyko-sr { background: #FDF0D5; color: #8A5A0B; }

.kh-zrodla { border: 1px solid #E3E9EC; border-radius: 12px; overflow: hidden; }
.kh-zr { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 16px; border-top: 1px solid #E3E9EC; font-size: 14px; }
.kh-zr:first-child { border-top: 0; }
.kh-zr b { font-weight: 600; color: var(--um-granat); text-align: right; }

.kh-pkt { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; display: inline-block; }
.kh-ok { background: var(--kh-ok); }
.kh-ost { background: var(--kh-ost); }
.kh-zle { background: var(--kh-zle); }
.kh-brak { background: transparent; border: 2px solid var(--kh-brak); }

.kh-powody ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.kh-powody li::before { content: "\2192"; color: var(--kh-ost); font-weight: 700; margin-right: 8px; }

.kh-alert { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-top: 1px solid #E3E9EC; }
.kh-alert .kh-pkt { margin-top: 6px; }
.kh-alert div { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.kh-alert b { color: var(--um-granat); }
.kh-alert span { color: #5B6B74; }
.kh-alerty .kh-etyk + .kh-alert { border-top: 0; padding-top: 0; }

.kh-standard { margin-top: 56px; }

.page-kontrahent .um-plan-polecany { outline: 2px solid var(--um-teal); }

@media (max-width: 640px) {
    .kh-karta, .kh-alerty { padding: 20px; }
    .kh-zr { padding: 10px 12px; font-size: 13px; }
    .kh-standard { margin-top: 40px; gap: 24px; }
}
