/* DZZI Core – komponente (koriste varijable teme, uz rezervne vrijednosti). Autor: Aleksandar Bencic */
:root { --k-primary: var(--c-primary, #0f5c6b); --k-deep: var(--c-deep, #0a3a44); --k-mint: var(--c-mint, #e7f3f0); --k-line: var(--c-line, #cfe0dc); --k-muted: var(--c-muted, #4a6168); --k-r: var(--r-panel, 14px); }

/* ---------- Patronaža ---------- */
.pat { background: #fff; border: 1px solid var(--k-line); border-radius: var(--k-r); padding: 20px; box-shadow: var(--shadow, none); }
.pat__form label { display: block; font-weight: 700; color: var(--k-deep); margin-bottom: 6px; font-size: 1.05rem; }
.pat__field input { font-size: 1.1rem; min-height: 54px; border-color: var(--k-primary); }
.pat__hint { font-size: .875rem; color: var(--k-muted); margin: 8px 0 0; }
.pat__status { font-size: .9rem; color: var(--k-muted); margin-top: 10px; min-height: 1.2em; }
.pat__results { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
.pat-card { border: 1px solid var(--k-line); border-left: 4px solid var(--k-primary); border-radius: 10px; padding: 14px 16px; background: #fff; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 18px; }
.pat-card__street { grid-column: 1 / -1; font-size: 1.05rem; color: var(--k-deep); }
.pat-card__nums { display: inline-block; font-size: .85rem; background: var(--c-sun-bg, #fdf5df); color: #6b4e00; padding: 1px 8px; border-radius: 6px; margin-left: 4px; }
.pat-card__nurse { font-weight: 700; }
.pat-card__nurse span { display: block; font-weight: 400; font-size: .875rem; color: var(--k-muted); }
.pat-card__contact { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pat-btn { display: inline-flex; align-items: center; min-height: 38px; padding: 4px 12px; border-radius: 8px; background: var(--k-primary); color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: .925rem; white-space: nowrap; }
.pat-btn:hover { background: var(--k-deep); }
.pat-btn--ghost { background: var(--k-mint); color: var(--k-deep) !important; }
.pat-btn--ghost:hover { background: var(--c-mint-2, #d6ebe6); }
.pat-mail { font-size: .875rem; word-break: break-all; }
@media (max-width: 640px) { .pat-card { grid-template-columns: 1fr; } }
.pat-letters { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 14px; }
.pat-letter { min-width: 44px; min-height: 40px; border: 1px solid var(--k-line); background: #fff; border-radius: 8px; font: 700 .95rem/1 var(--f-body, inherit); color: var(--k-deep); cursor: pointer; padding: 0 10px; }
.pat-letter[aria-pressed=true], .pat-letter:hover { background: var(--k-primary); color: #fff; border-color: var(--k-primary); }
.pat-group { border: 1px solid var(--k-line); border-radius: 10px; margin: 0 0 10px; background: #fff; }
.pat-group summary { cursor: pointer; padding: 14px 16px; font-weight: 700; color: var(--k-deep); list-style-position: inside; }
.pat-group summary span { font-weight: 400; color: var(--k-muted); font-size: .9rem; margin-left: 6px; }
.pat-group .table-scroll { margin: 0 12px 12px; }

/* ---------- Liječnici ---------- */
.docs__filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: end; background: var(--k-mint); padding: 16px; border-radius: var(--k-r); }
.docs__filters label { display: block; font-weight: 700; font-size: .9rem; color: var(--k-deep); margin-bottom: 4px; }
.docs__check { grid-column: 1 / -1; display: flex !important; align-items: center; gap: 8px; font-weight: 400 !important; }
.docs__check input { width: 20px; height: 20px; accent-color: var(--k-primary); }
@media (max-width: 760px) { .docs__filters { grid-template-columns: 1fr; } }
.docs__count { font-size: .925rem; color: var(--k-muted); margin: 14px 0 8px; }
.docs__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 12px; }
@media (max-width: 420px) { .docs__list { grid-template-columns: 1fr; } }
.doc-card { border: 1px solid var(--k-line); border-radius: 12px; padding: 16px 18px; background: #fff; display: flex; flex-direction: column; }
.doc-card[hidden] { display: none; }
.doc-card__head { display: flex; flex-direction: column; gap: 8px; }
.doc-card__name { font: 700 1.1rem/1.3 var(--f-body, inherit) !important; color: var(--k-deep); margin: 0 !important; }
.doc-card__name span { display: block; font-weight: 400; font-size: .875rem; color: var(--k-muted); }
.doc-card__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.badge { display: inline-block; font-size: .8rem; font-weight: 700; padding: 3px 9px; border-radius: 999px; }
.badge--am { background: var(--c-sun-bg, #fdf5df); color: #6b4e00; }
.badge--pm { background: #e8ecfb; color: #2a3a7a; }
.badge--ok { background: var(--c-ok-bg, #e5f4ec); color: var(--c-ok, #1e7348); }
.doc-card__sub { font-size: .9rem; margin: 8px 0 0; }
.doc-card__dl { display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; margin: 12px 0 0; font-size: .925rem; }
.doc-card__dl dt { color: var(--k-muted); }
.doc-card__dl dd { margin: 0; word-break: break-word; }
.doc-card__dl .muted { color: var(--k-muted); }
.doc-card__note { margin: 10px 0 0; padding: 8px 10px; background: var(--k-mint); border-radius: 8px; font-size: .875rem; }
.docs__none { padding: 18px; background: var(--k-mint); border-radius: 10px; }
.dzzi-empty { padding: 16px; border: 2px dashed var(--k-line); border-radius: 10px; color: var(--k-muted); }

/* ---------- Danas / dežurstva ---------- */
.dzzi-today { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; border-radius: var(--k-r); background: var(--k-deep); color: #e3f1ee; margin: 0 0 24px; }
.dzzi-today strong { color: #fff; font-size: 1.1rem; }
.dzzi-today p { margin: 4px 0 0; }
.dzzi-today__label { font-size: .875rem; opacity: .85; margin: 0 !important; }
.dzzi-today__day { font: 700 2rem/1 var(--f-head, Georgia); background: var(--c-sun, #f3c24b); color: var(--k-deep); border-radius: 10px; min-width: 58px; height: 58px; display: grid; place-items: center; flex: none; }
.duty { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; margin-bottom: 20px; }
.duty__group { border: 1px solid var(--k-line); border-radius: 12px; padding: 16px 18px; background: #fff; }
.duty__group h2 { font-size: 1.2rem !important; margin: 0 0 4px !important; }
.duty__time { font-size: .9rem; color: var(--k-muted); margin: 0 0 10px; }
.duty__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.duty__list li { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.duty__place { font-weight: 700; }
.dzzi-callout { padding: 16px 18px; border-radius: 10px; margin: 0 0 24px; }
.dzzi-callout--alert { background: var(--c-alert-bg, #fbeceb); border-left: 4px solid var(--c-alert, #b4232a); }
tr.is-past td { color: var(--k-muted); }

/* ---------- Lokacije ---------- */
.dzzi-map { height: 460px; border-radius: var(--k-r, 14px); border: 1px solid var(--c-line, #cfe0dc); margin: 0 0 24px; z-index: 1; }
.loc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.loc-area { border: 1px solid var(--k-line); border-radius: 12px; padding: 16px 18px; background: #fff; }
.loc-area h2 { font-size: 1.25rem !important; margin: 0 0 8px !important; }
.loc-area ul { list-style: none; margin: 0; padding: 0; }
.loc-area li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--k-mint); font-size: .95rem; }
.loc-area li:last-child { border-bottom: 0; }
.loc-area a { font-size: .875rem; white-space: nowrap; }
