/* ─── Registar – javni frontend ─── */
:root {
    --hk-blue:   #1f3864;
    --hk-mid:    #2563eb;
    --hk-border: #e5e7eb;
    --hk-bg:     #f8fafc;
    --hk-green:  #16a34a;
    --hk-red:    #dc2626;
    --hk-muted:  #6b7280;
    --hk-radius: 8px;
    --hk-shadow: 0 4px 24px rgba(0,0,0,.12);
    --hk-font:   -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── Wrap ── */
.hk-registar-wrap  { font-family: var(--hk-font); margin: 24px 0; }
.hk-registar-header{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.hk-registar-title { margin:0; font-size:1.1rem; color:var(--hk-blue); font-weight:700; }
.hk-registar-meta  { font-size:.85rem; color:var(--hk-muted); }
.hk-print-btn { background:none; border:1px solid var(--hk-border); padding:4px 10px; border-radius:5px; cursor:pointer; font-size:.8rem; color:var(--hk-muted); }
.hk-print-btn:hover { background:var(--hk-bg); }

/* ── DataTables – gornji red: Prikaži lijevo, Pretraži desno ── */
.hk-dt-top {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 8px;
}
.hk-dt-top .dataTables_length { margin:0; }
.hk-dt-top .dataTables_filter { margin:0; }

/* ── DataTables – donji red ── */
.hk-dt-bot {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    flex-wrap: wrap;
    gap: 8px;
}

/* ── DataTables overrides ── */
.dataTables_wrapper { font-family: var(--hk-font); }
.dataTables_wrapper .dataTables_filter input {
    border: 1.5px solid var(--hk-border) !important;
    border-radius: 6px !important;
    padding: 5px 10px !important;
    margin-left: 6px !important;
}
.dataTables_wrapper .dataTables_length select {
    border: 1.5px solid var(--hk-border) !important;
    border-radius: 6px !important;
    padding: 4px 6px !important;
    margin: 0 4px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--hk-blue) !important;
    color: #fff !important;
    border-radius: 5px !important;
    border: none !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--hk-bg) !important;
    border-radius: 5px !important;
    border: none !important;
    color: var(--hk-blue) !important;
}

/* ── Tablica – SVE LIJEVO ── */
.hk-registar-table {
    border-collapse: collapse;
    font-size: .9rem;
    width: 100% !important;
}
.hk-registar-table thead th {
    background: var(--hk-blue) !important;
    color: #fff !important;
    padding: 10px 12px !important;
    text-align: left !important;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.hk-registar-table thead th.sorting:after,
.hk-registar-table thead th.sorting_asc:after,
.hk-registar-table thead th.sorting_desc:after {
    opacity: .7;
}
.hk-registar-table td {
    padding: 8px 12px !important;
    text-align: left !important;
    border-bottom: 1px solid var(--hk-border);
    vertical-align: top;
}
.hk-registar-table tbody tr:hover td { background: #f0f6ff !important; }
.hk-registar-table tbody tr.odd  td { background: var(--hk-bg); }
.hk-registar-table tbody tr.odd:hover td { background: #f0f6ff !important; }
.hk-registar-table tbody tr.even td { background: #fff; }

/* ── Linkovi ── */
.hk-link {
    color: var(--hk-mid);
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
    border-bottom: 1px solid transparent;
    transition: border-color .15s;
}
.hk-link:hover { border-bottom-color: var(--hk-mid); }
.hk-link-name  { color: var(--hk-blue); }
.hk-brisano    { text-decoration: line-through; color: var(--hk-muted); }
.hk-row-brisano td { opacity:.75; }

/* ── Status badges ── */
.hk-status-badge { display:inline-block; padding:2px 8px; border-radius:20px; font-size:.72rem; font-weight:700; margin-top:2px; }
.hk-reg-badge    { display:inline-block; padding:2px 8px; border-radius:20px; font-size:.72rem; font-weight:700; background:var(--hk-blue); color:#fff; }
.hk-status-aktivan    { background:#dcfce7; color:var(--hk-green); }
.hk-status-ne_obavlja,
.hk-status-mirovina   { background:#f3f4f6; color:var(--hk-muted); }
.hk-status-prestanak  { background:#fee2e2; color:var(--hk-red); }

/* ═══════════════════════════════════════════════
   MODAL OVERLAY za detalje osobe/društva
═══════════════════════════════════════════════ */
#hk-detail-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 99999;
    display: none;
    overflow-y: auto;
    padding: 40px 16px;
    box-sizing: border-box;
}
#hk-detail-overlay.is-open { display: block; }

#hk-detail-panel {
    max-width: 780px;
    margin: 0 auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: var(--hk-shadow);
    overflow: hidden;
    position: relative;
}

#hk-detail-close {
    position: absolute;
    top: 14px; right: 14px;
    background: rgba(255,255,255,.15);
    border: none;
    color: #fff;
    font-size: 1.1rem;
    padding: 5px 12px;
    border-radius: 6px;
    cursor: pointer;
    z-index: 10;
    transition: background .15s;
}
#hk-detail-close:hover { background: rgba(255,255,255,.25); }

.hk-detail-header {
    background: var(--hk-blue);
    padding: 22px 28px 18px;
}
.hk-detail-header h2 {
    margin: 0 40px 6px 0;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.3;
    font-family: var(--hk-font);
}
.hk-detail-badges { display:flex; flex-wrap:wrap; gap:6px; }

.hk-detail-body { padding: 0; }

.hk-detail-table { width:100%; border-collapse:collapse; }
.hk-detail-table th {
    width: 210px;
    padding: 11px 20px;
    text-align: left !important;
    font-weight: 700;
    font-size: .83rem;
    color: var(--hk-muted);
    background: var(--hk-bg);
    border-bottom: 1px solid var(--hk-border);
    vertical-align: top;
    white-space: nowrap;
}
.hk-detail-table td {
    padding: 11px 20px;
    text-align: left !important;
    border-bottom: 1px solid var(--hk-border);
    font-size: .92rem;
    line-height: 1.55;
}
.hk-detail-table a { color: var(--hk-mid); text-decoration: none; }
.hk-detail-table a:hover { text-decoration: underline; }

.hk-members-section { padding: 18px 24px; border-top: 2px solid var(--hk-border); }
.hk-members-section h3 { margin:0 0 12px; font-size:1rem; color:var(--hk-blue); font-family:var(--hk-font); }
.hk-members-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.hk-members-table th {
    background: var(--hk-bg);
    padding: 7px 12px;
    text-align: left !important;
    border-bottom: 1px solid var(--hk-border);
    font-weight: 700; color: var(--hk-muted); font-size:.82rem;
}
.hk-members-table td { padding:7px 12px; border-bottom:1px solid var(--hk-border); text-align:left !important; }
.hk-members-table a { color:var(--hk-mid); text-decoration:none; }
.hk-members-table a:hover { text-decoration:underline; cursor:pointer; }

#hk-detail-loading {
    text-align: center;
    padding: 50px;
    color: var(--hk-muted);
    font-family: var(--hk-font);
}

.hk-gdpr-notice {
    padding: 12px 24px;
    background: #fffbeb;
    border-top: 1px solid #fde68a;
    font-size: .78rem;
    color: #92400e;
    font-family: var(--hk-font);
}

/* ── Single detail stranica (fallback) ── */
.hk-single-wrap { max-width:780px; margin:0 auto; padding:20px; font-family:var(--hk-font); }
.hk-back-link   { font-size:.9rem; color:var(--hk-muted); margin-bottom:16px; }
.hk-back-link a { color:var(--hk-mid); text-decoration:none; }
.hk-single-card { background:#fff; border:1.5px solid var(--hk-border); border-radius:12px; overflow:hidden; box-shadow:var(--hk-shadow); }
.hk-single-header { background:var(--hk-blue); padding:22px 28px; }
.hk-single-name { margin:0 0 6px; color:#fff; font-size:1.4rem; font-weight:700; }

/* ── Print ── */
@media print {
    .hk-print-btn, .dataTables_filter, .dataTables_length,
    .dataTables_paginate, .dataTables_info, #hk-detail-overlay { display:none !important; }
    .hk-registar-table th { background:#333 !important; -webkit-print-color-adjust:exact; }
    .hk-registar-table { font-size:11px; }
}

/* ── Responsive ── */
@media (max-width:640px) {
    .hk-dt-top { flex-direction:column; align-items:flex-start; }
    .hk-detail-table th { display:none; }
    .hk-detail-table tr { display:block; border-bottom:1px solid var(--hk-border); }
    .hk-detail-table td { padding:8px 14px; display:block; }
    .hk-detail-table td::before { content:attr(data-label); font-weight:700; color:var(--hk-muted); font-size:.78rem; display:block; }
    #hk-detail-panel { margin:0; border-radius:0; }
}

/* Izbrisano društvo – naziv bez linka */
.hk-brisano-naziv {
    color: var(--hk-muted);
    text-decoration: line-through;
    font-weight: 600;
}

/* Gumb Rješenje u tablici */
.hk-rjesenje-btn {
    display: inline-block;
    margin-top: 4px;
    padding: 3px 10px;
    background: var(--hk-blue);
    color: #fff !important;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s;
}
.hk-rjesenje-btn:hover { background: var(--hk-mid) !important; }
