:root {
  --pozadina: #f4f5f7; --ploha: #fff; --tekst: #1b2330; --slabo: #667085; --rub: #dde1e7;
  --naglasak: #1f5fbf; --green: #1e9e57; --yellow: #d99a00; --red: #d0342c; --grey: #98a2b3;
}
@media (prefers-color-scheme: dark) {
  :root { --pozadina: #12151a; --ploha: #1b2028; --tekst: #e6e9ee; --slabo: #98a2b3; --rub: #2c333e; --naglasak: #6ea8ff; }
}
* { box-sizing: border-box; }
body { margin: 0; font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; background: var(--pozadina); color: var(--tekst); }
a { color: var(--naglasak); text-decoration: none; }
a:hover { text-decoration: underline; }
main { max-width: 1500px; margin: 0 auto; padding: 16px; }
footer { text-align: center; color: var(--slabo); font-size: 12px; padding: 24px 16px; }
h1 { font-size: 22px; margin: 8px 0 12px; }
h2 { font-size: 16px; margin: 0 0 12px; }
h3 { font-size: 14px; margin: 16px 0 8px; color: var(--slabo); }

.traka { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 10px 16px; background: var(--ploha); border-bottom: 1px solid var(--rub); }
.logo { font-weight: 700; font-size: 18px; color: var(--tekst); }
.tvrtka { font-weight: 600; padding: 2px 10px; border: 1px solid var(--rub); border-radius: 999px; }
.traka nav { display: flex; gap: 16px; flex: 1; }
.odjava { display: flex; align-items: center; gap: 10px; margin: 0; }
.tko { color: var(--slabo); font-size: 13px; }

.kartica { background: var(--ploha); border: 1px solid var(--rub); border-radius: 10px; padding: 16px; margin: 0 0 16px; }
.kartica.uska { max-width: 360px; margin: 10vh auto; display: grid; gap: 12px; }
.kartica.istaknuto { border-color: var(--naglasak); }
.mreza { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 16px; align-items: start; }
.mreza .kartica { margin: 0; min-width: 0; }
.mreza .siroka { grid-column: 1 / -1; }

.zbroj { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
.plocica { flex: 1 1 140px; background: var(--ploha); border: 1px solid var(--rub); border-left: 6px solid var(--grey); border-radius: 10px; padding: 10px 14px; color: var(--slabo); }
.plocica b { display: block; font-size: 26px; color: var(--tekst); line-height: 1.2; }
.plocica.green { border-left-color: var(--green); }
.plocica.yellow { border-left-color: var(--yellow); }
.plocica.red { border-left-color: var(--red); }

.tablica-okvir { overflow-x: auto; background: var(--ploha); border: 1px solid var(--rub); border-radius: 10px; }
.kartica .tablica-okvir { border: 0; border-radius: 0; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--rub); vertical-align: top; }
th { font-size: 12px; color: var(--slabo); font-weight: 600; white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
.d { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; }
.token { font-size: 15px; padding: 10px; background: var(--pozadina); border-radius: 6px; overflow-wrap: anywhere; user-select: all; }

.tocka { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: var(--grey); vertical-align: middle; }
.tocka.green { background: var(--green); }
.tocka.yellow { background: var(--yellow); }
.tocka.red { background: var(--red); }
.razlog { color: var(--slabo); font-size: 12px; }
.oznaka { background: var(--naglasak); color: #fff; border-radius: 4px; padding: 1px 6px; font-size: 12px; }
.greska { color: var(--red); font-weight: 600; }

dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; }
dt { color: var(--slabo); }
dd { margin: 0; overflow-wrap: anywhere; }

label { display: grid; gap: 4px; font-size: 13px; color: var(--slabo); }
input, select { font: inherit; padding: 7px 9px; border: 1px solid var(--rub); border-radius: 6px; background: var(--pozadina); color: var(--tekst); min-width: 0; }
button { font: inherit; padding: 8px 14px; border: 0; border-radius: 6px; background: var(--naglasak); color: #fff; cursor: pointer; }
button.tiho { background: transparent; color: var(--naglasak); border: 1px solid var(--rub); padding: 4px 10px; }
button.crveno { background: var(--red); }
form.red { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 0 0 14px; }
form.red label { flex: 1 1 150px; }
td form { margin: 0; }
.opasno { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }
