/* Hypocentrum — požiadavky pre znalcov a finančných poradcov. */
.hypo-table tbody tr { cursor: pointer; }
.hypo-table tbody tr:hover, .hypo-table tbody tr:focus { background: var(--dl-ok, #eef7f0); outline: none; }
.hypo-late { color: #b42318; font-weight: 700; }
.hypo-empty { padding: 18px 4px; }
dialog.hypo-dialog { width: min(860px, 96vw); max-height: 92vh; padding: 0; border: 0; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
dialog.hypo-dialog > .editor-card { width: 100%; max-width: none; max-height: 92vh; margin: 0; overflow-y: auto; box-shadow: none; }
dialog.hypo-dialog .field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
dialog.hypo-dialog .field-grid .full { grid-column: 1 / -1; }
dialog.hypo-dialog .editor-heading h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.hypo-detail-body { display: grid; gap: 12px; }
.hypo-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
.hypo-facts > div { display: grid; gap: 1px; min-width: 0; }
.hypo-facts > div.full { grid-column: 1 / -1; }
.hypo-facts strong { overflow-wrap: anywhere; }
.hypo-result-box { border-color: var(--dl-ok-line, #9fd3ad); background: var(--dl-ok, #eef7f0); }
.hypo-request p, .hypo-message p { margin: 2px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.hypo-detail-body h4 { margin: 0 0 6px; font-size: 14px; }
.hypo-result { padding: 12px; border: 1px solid var(--line, #dfe4e0); border-radius: 10px; }
.hypo-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.hypo-files ul { margin: 0 0 8px; padding: 0; list-style: none; display: grid; gap: 4px; }
.hypo-upload { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border: 1px solid var(--line, #dfe4e0); border-radius: 8px; background: #fff; font-weight: 600; font-size: 13px; cursor: pointer; }
.hypo-dialog .linklike { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--brand, #1f6f5b) !important; font-weight: 600; text-decoration: underline; min-height: 0; height: auto; }
.hypo-dialog .linklike.danger, .hypo-dialog button.secondary.danger { color: #b42318 !important; }
dialog.hypo-dialog .editor-heading { margin-bottom: 14px; }
dialog.hypo-dialog .hypo-detail-body, dialog.hypo-dialog form > .field-grid { padding-top: 4px; }
.hypo-messages { display: grid; gap: 6px; max-height: 260px; overflow-y: auto; padding: 2px; }
.hypo-message { justify-self: start; max-width: 85%; padding: 7px 10px; border: 1px solid var(--line, #dfe4e0); border-radius: 10px; background: #fff; }
.hypo-message.is-mine { justify-self: end; background: var(--dl-ok, #eef7f0); border-color: var(--dl-ok-line, #9fd3ad); }
.hypo-message .muted { font-size: 11.5px; }
.hypo-write { display: flex; gap: 8px; align-items: flex-end; margin-top: 8px; }
.hypo-write textarea { flex: 1 1 auto; min-height: 44px; }

/* Externý spolupracovník: nič, čo patrí kancelárii (hľadanie v celom systéme, hlas, AI, termíny, zvonček). */
body.external-user .global-search-wrap, body.external-user #voice-viewing-button, body.external-user .voice-assistant-fab, body.external-user #ai-chat-fab,
body.external-user .deadline-button, body.external-user .notification-wrapper, body.external-user .topbar-excel, body.external-user #switch-user,
body.external-user .mobile-tabbar [data-tab], body.external-user .list-view-switch, body.external-user .topbar-gcal { display: none !important; }

@media (max-width: 700px) {
  .hypo-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hypo-message { max-width: 94%; }
}

/* Podklady, ponuky bánk, schvaľovanie dokladov, značka „nové“. */
.hypo-checklist ul, .hypo-doc-list { margin: 0 0 8px; padding: 0; list-style: none; display: grid; gap: 4px; }
.hypo-checklist li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 5px 8px; border: 1px solid var(--line, #dfe4e0); border-radius: 8px; background: #fff; }
.hypo-checklist li.is-done { background: var(--dl-ok, #eef7f0); border-color: var(--dl-ok-line, #9fd3ad); }
.hypo-checklist li > label { display: flex; align-items: center; gap: 8px; margin: 0 auto 0 0; font-weight: 600; }
.hypo-checklist li > label input { width: 18px; height: 18px; min-height: 0; margin: 0; }
.hypo-check-actions { display: inline-flex; gap: 6px; }
.hypo-check-actions .hypo-upload, .hypo-check-actions button, .hypo-review button, .hypo-offer-actions button.secondary { height: 28px; min-height: 28px; padding: 0 9px; font-size: 12.5px; }
.hypo-check-add, .hypo-offer-add { display: flex; flex-wrap: wrap; gap: 6px; }
.hypo-check-add input { flex: 1 1 220px; }
.hypo-offer-add input { flex: 1 1 130px; min-width: 0; }
.hypo-check-add input, .hypo-offer-add input, .hypo-check-add button, .hypo-offer-add button { height: 34px; min-height: 34px; }
.hypo-files li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.hypo-review { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.hypo-offers table { width: 100%; }
.hypo-offers tr.is-chosen { background: var(--dl-ok, #eef7f0); }
.hypo-best { font-weight: 800; color: #1d6b3a; }
.hypo-offer-actions { white-space: nowrap; }
.hypo-doc-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 8px; border: 1px solid var(--line, #dfe4e0); border-radius: 8px; }
.hypo-table tr.is-new td { font-weight: 700; }
.hypo-dot { display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50%; background: #d9480f; vertical-align: middle; }
dialog.hypo-documents { width: min(640px, 96vw); }
dialog.hypo-documents > .editor-card { padding-bottom: 18px; }

/* Okná Hypocentra: nadpis drží hore a obsah pod ním nepresvitá; tlačidlá a „nahrať“ majú rovnakú výšku. */
dialog.hypo-dialog > .editor-card { padding-top: 0; }
dialog.hypo-dialog .editor-heading { position: sticky; top: 0; z-index: 4; margin: 0 0 14px; padding: 16px 0 12px; background: #fff; border-bottom: 1px solid var(--line, #dfe4e0); }
.hypo-actions { align-items: center; }
.hypo-actions > button, .hypo-actions > .hypo-upload { height: 36px; min-height: 36px; padding: 0 14px; font-size: 13px; }
.hypo-new-docs { display: grid; gap: 8px; padding: 10px 12px; border: 1px solid var(--line, #dfe4e0); border-radius: 10px; background: #fafbf9; }
.hypo-new-docs h4 { margin: 0; font-size: 14px; }
.hypo-new-docs .hypo-actions { margin-top: 0; }
.hypo-doc-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 6px; font-size: 13px; }
.hypo-row-actions { white-space: nowrap; text-align: right; }
.hypo-row-actions button { width: 30px; height: 28px; min-height: 28px; padding: 0; margin-left: 4px; font-size: 13px; }
.hypo-result > p.muted { margin: 0 0 8px; font-size: 12.5px; }
@media (max-width: 700px) { dialog.hypo-dialog .editor-heading { margin: 0 0 10px; padding: 10px 44px 10px 0; } }
dialog.hypo-externals { width: min(1180px, 96vw); }
dialog.hypo-externals table { width: 100%; }
dialog.hypo-availability-form { width: min(560px, 96vw); }
.hypo-availability { display: block; margin-top: 3px; font-size: 12.5px; font-weight: 400; }
.hypo-existing-docs { margin: 0; padding: 0; list-style: none; display: grid; gap: 3px; font-size: 13px; }
