/* Dyspozytornia Pogoria Alert — paleta przeniesiona ze starego stanowiska,
   żeby dyspozytor nie musiał uczyć się nowych kolorów w dniu ćwiczeń. */

:root{
  --bg:#0F1319;
  --panel:#161B23;
  --panel-2:#1C222C;
  --line:#28303C;
  --line-soft:#212832;
  --tx:#E9EDF3;
  --tx-dim:#939CAC;
  --tx-faint:#5F6877;
  --brand:#D61A20;
  --brand-hot:#FF4038;

  --s-wolna:#E9EDF3;
  --s-droga:#E0A21A;
  --s-miejsce:#22C3DC;
  --s-transport:#F2465F;
  --s-szpital:#8B5CF6;

  --r-med:#F2465F;
  --r-rt:#E0A21A;
  --r-chem:#5FBF6B;
  --r-wys:#9B6BFF;
  --r-t:#C97C3D;
  --r-gba:#E8622F;
  --r-specjalne:#8AA0C2;
  --r-szt:#22C3DC;

  --t-czarny:#1B1F26;
  --t-czerwony:#F2465F;
  --t-zolty:#E0A21A;
  --t-zielony:#3DBF7F;

  --ok:#3DBF7F;
  --mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Consolas,monospace;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* Atrybut hidden musi wygrac z display:grid/flex ponizej — inaczej brama logowania
   i modale sa widoczne mimo ustawienia hidden. */
[hidden]{display:none !important}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--bg);color:var(--tx);
  font-family:var(--sans);font-size:14px;line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--s-miejsce);outline-offset:2px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#2C3542;border-radius:6px}

/* ══════════ brama ══════════ */
.brama{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:50;padding:20px}
.brama-karta{
  width:min(380px,100%);background:var(--panel);border:1px solid var(--line);
  border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;
}
.brama-znak{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);font-weight:700}
.brama-karta h1{margin:0;font-size:23px;letter-spacing:-.01em}
.brama-pod{margin:0;color:var(--tx-dim);font-size:13px}
.brama-karta label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--tx-dim)}
.brama-karta input{
  background:var(--bg);border:1px solid var(--line);border-radius:8px;
  padding:11px 12px;color:var(--tx);font-size:16px;
}
.brama-blad{background:rgba(242,70,95,.13);border:1px solid rgba(242,70,95,.4);
  color:#FF8DA0;border-radius:8px;padding:9px 11px;font-size:13px}

.btn-glowny{
  background:var(--brand);color:#fff;border-radius:8px;padding:12px 16px;
  font-weight:600;text-align:center;text-decoration:none;display:inline-block;
}
.btn-glowny:hover{background:var(--brand-hot)}
.btn-szary{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px 16px}
.btn-szary:hover{border-color:var(--tx-faint)}
.btn-maly{
  background:var(--panel-2);border:1px solid var(--line);border-radius:6px;
  padding:5px 9px;font-size:12px;color:var(--tx-dim);
}
.btn-maly:hover{color:var(--tx);border-color:var(--tx-faint)}
.btn-ikona{color:var(--tx-dim);font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:6px}
.btn-ikona:hover{color:var(--tx)}
.btn-usun{width:100%;margin-top:6px;padding:10px;border:1px solid rgba(242,70,95,.4);
  border-radius:8px;color:#FF8DA0;font-size:13px}
.btn-usun:hover{background:rgba(242,70,95,.12)}
.link{background:none;color:var(--s-miejsce);text-decoration:underline;font-size:12px;padding:0 4px}

/* ══════════ shell dyspozytora ══════════ */
.wrap{display:flex;flex-direction:column;height:100vh;overflow:hidden}
.top{
  display:flex;align-items:center;gap:18px;padding:0 14px;height:52px;
  background:var(--panel);border-bottom:1px solid var(--line);flex:0 0 auto;
}
.top-l{display:flex;align-items:baseline;gap:12px;min-width:0}
.znak{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--brand)}
.znak span{color:var(--tx)}
.tytul{font-size:13px;color:var(--tx-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zakladki{display:flex;gap:2px;margin-left:auto}
.zak{padding:7px 14px;border-radius:7px;color:var(--tx-dim);font-size:13px}
.zak:hover{color:var(--tx);background:var(--panel-2)}
.zak.on{background:var(--panel-2);color:var(--tx);box-shadow:inset 0 -2px 0 var(--brand)}
.top-r{display:flex;align-items:center;gap:12px;margin-left:auto}
.zegar{font-family:var(--mono);font-size:15px;color:var(--tx);letter-spacing:.02em}
.kto{font-size:12px;color:var(--tx-dim);text-align:right;line-height:1.2}
.kto i{display:block;font-style:normal;font-size:10px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--tx-faint)}

.lacze{display:none;background:rgba(242,70,95,.16);border-bottom:1px solid rgba(242,70,95,.4);
  color:#FF8DA0;padding:7px 14px;font-size:12px;text-align:center}
body.offline .lacze{display:block}

.tresc{flex:1;display:grid;gap:1px;background:var(--line-soft);min-height:0;overflow:hidden}
.tresc.w-tablica{grid-template-columns:minmax(340px,1.15fr) minmax(300px,1fr) minmax(260px,.8fr)}
.tresc.w-mapa,.tresc.w-raport,.tresc.w-konta{grid-template-columns:1fr}

.panel{display:flex;flex-direction:column;background:var(--bg);min-height:0;min-width:0}
.panel-top{
  display:flex;align-items:center;gap:10px;padding:9px 12px;
  background:var(--panel);border-bottom:1px solid var(--line);flex:0 0 auto;
}
.panel-top h2{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-dim)}
.panel-akcje{margin-left:auto;display:flex;align-items:center;gap:7px}
.panel-tresc{flex:1;overflow-y:auto;padding:10px}
.licznik{display:inline-flex;gap:4px;margin-left:6px}
.licznik b{
  font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:4px;
  background:var(--panel-2);color:var(--tx-dim);font-weight:600;
}
.licznik b.st-wolna{color:var(--s-wolna)}
.licznik b.st-droga{color:var(--s-droga)}
.licznik b.st-miejsce{color:var(--s-miejsce)}
.licznik b.st-transport{color:var(--s-transport)}
.licznik b.st-szpital{color:var(--s-szpital)}
.szukaj{
  background:var(--bg);border:1px solid var(--line);border-radius:6px;
  padding:5px 9px;color:var(--tx);font-size:12px;width:150px;
}
select{background:var(--bg);border:1px solid var(--line);border-radius:6px;
  padding:5px 8px;color:var(--tx);font-size:12px}
.ptaszek{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--tx-dim);cursor:pointer}
.pusto{padding:26px 16px;text-align:center;color:var(--tx-faint);font-size:13px}
.podpowiedz{
  background:rgba(224,162,26,.14);border-bottom:1px solid rgba(224,162,26,.35);
  padding:8px 12px;font-size:12px;color:#F3D08A;
}

/* ══════════ tablica sił ══════════ */
.grupa{margin-bottom:14px}
.grupa-nag{
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);
  padding:0 2px 6px;display:flex;gap:6px;align-items:center;
}
.grupa-nag i{font-style:normal;background:var(--panel-2);padding:0 5px;border-radius:4px}

.kafel{
  background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--s-wolna);
  border-radius:0 8px 8px 0;margin-bottom:6px;overflow:hidden;
}
.kafel.st-wolna{border-left-color:var(--s-wolna)}
.kafel.st-droga{border-left-color:var(--s-droga);background:#241F13}
.kafel.st-miejsce{border-left-color:var(--s-miejsce);background:#13252A}
.kafel.st-transport{border-left-color:var(--s-transport);background:#2A151C}
.kafel.st-szpital{border-left-color:var(--s-szpital);background:#1F1830}
.kafel.wybrana{box-shadow:0 0 0 2px var(--brand)}
.kafel-glowa{padding:8px 10px;cursor:pointer}
.kafel-glowa:hover{background:rgba(255,255,255,.03)}
.kafel-kod{font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.01em}
.kafel-nazwa{font-size:12px;color:var(--tx-dim);margin-top:1px}
.kafel-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.kafel-meta i{font-style:normal;font-size:10px;padding:1px 5px;border-radius:3px;
  border:1px solid var(--line);color:var(--tx-faint)}
.rola.r-med{color:var(--r-med);border-color:rgba(242,70,95,.4)}
.rola.r-rt{color:var(--r-rt);border-color:rgba(224,162,26,.4)}
.rola.r-chem{color:var(--r-chem);border-color:rgba(95,191,107,.4)}
.rola.r-wys{color:var(--r-wys);border-color:rgba(155,107,255,.4)}
.rola.r-t{color:var(--r-t)}
.rola.r-gba{color:var(--r-gba)}
.rola.r-specjalne{color:var(--r-specjalne)}
.rola.r-szt{color:var(--r-szt)}
.gps{color:var(--ok) !important;border-color:rgba(61,191,127,.35) !important}
.kafel-zad{
  margin-top:6px;font-size:11px;color:var(--s-droga);
  border-left:2px solid var(--s-droga);padding-left:7px;
}
.kafel-statusy{display:flex;gap:1px;background:var(--line-soft);border-top:1px solid var(--line)}
.sb{
  flex:1;padding:6px 2px;font-size:10px;background:var(--panel-2);
  color:var(--tx-faint);text-align:center;white-space:nowrap;
}
.sb:hover{color:var(--tx);background:#242B36}
.sb.on-wolna{background:var(--s-wolna);color:#10141A;font-weight:600}
.sb.on-droga{background:var(--s-droga);color:#1B1405;font-weight:600}
.sb.on-miejsce{background:var(--s-miejsce);color:#04191D;font-weight:600}
.sb.on-transport{background:var(--s-transport);color:#2A0710;font-weight:600}
.sb.on-szpital{background:var(--s-szpital);color:#150A28;font-weight:600}
.sb-edyt{flex:0 0 30px}

/* ══════════ scenariusze ══════════ */
.zad{
  background:var(--panel);border:1px solid var(--line);border-radius:8px;
  margin-bottom:7px;overflow:hidden;
}
.zad.z-aktywne{border-left:3px solid var(--s-droga)}
.zad.z-zakonczone{opacity:.55}
.zad.finale{border-color:rgba(214,26,32,.5)}
.zad.celuj{cursor:copy;box-shadow:inset 0 0 0 1px rgba(224,162,26,.5)}
.zad.celuj:hover{background:#1E242E}
.zad-glowa{padding:9px 11px;cursor:pointer}
.zad-nag{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.zad-nr{font-family:var(--mono);font-size:12px;color:var(--tx-faint);
  background:var(--panel-2);padding:1px 6px;border-radius:4px}
.zad-nazwa{font-size:14px;font-weight:600}
.tag-finale{font-size:9px;letter-spacing:.1em;background:var(--brand);color:#fff;
  padding:1px 5px;border-radius:3px}
.tag-pin{font-size:11px}
.tag-pin.brak{opacity:.28}
.zad-strefa{font-size:12px;color:var(--tx-dim);margin-top:2px}
.zad-sily{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.zad-sily.pusta{font-size:11px;color:var(--tx-faint);font-style:italic}
.chip{
  display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:11px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:1px 3px 1px 6px;
}
.chip.st-droga{border-color:rgba(224,162,26,.5);color:var(--s-droga)}
.chip.st-miejsce{border-color:rgba(34,195,220,.5);color:var(--s-miejsce)}
.chip.st-transport{border-color:rgba(242,70,95,.5);color:var(--s-transport)}
.chip.st-szpital{border-color:rgba(139,92,246,.5);color:var(--s-szpital)}
.chip em{font-style:normal;color:var(--brand-hot);font-weight:700;margin-right:2px}
.chip button{color:var(--tx-faint);padding:0 4px;font-size:13px;line-height:1}
.chip button:hover{color:var(--brand-hot)}
.triage-pas{display:flex;align-items:center;gap:4px;margin-top:7px}
.triage-pas b{font-family:var(--mono);font-size:11px;padding:1px 7px;border-radius:4px;min-width:26px;text-align:center}
.tc{background:#2A2F38;color:#C3CBD8}
.tk{background:rgba(242,70,95,.2);color:var(--t-czerwony)}
.tz{background:rgba(224,162,26,.2);color:var(--t-zolty)}
.tzi{background:rgba(61,191,127,.2);color:var(--t-zielony)}
.triage-pas i{font-style:normal;font-size:10px;color:var(--tx-faint);margin-left:3px}
.zad-czas{font-size:10px;color:var(--tx-faint);margin-top:5px;font-family:var(--mono)}
.zad-akcje{display:flex;gap:4px;padding:6px 8px;background:var(--panel-2);border-top:1px solid var(--line)}

/* ══════════ dziennik ══════════ */
.wpis{display:flex;gap:8px;padding:5px 6px;border-left:2px solid var(--line);margin-bottom:2px}
.wpis time{font-family:var(--mono);font-size:11px;color:var(--tx-faint);flex:0 0 40px}
.wpis-tresc{font-size:12px;color:var(--tx-dim);min-width:0;word-break:break-word}
.wpis-tresc b{color:var(--tx);font-family:var(--mono);font-weight:600}
.wpis-autor{display:block;font-style:normal;font-size:10px;color:var(--tx-faint);margin-top:1px}
.wpis-autor::before{content:'— '}
.wpis.t-status{border-left-color:var(--s-miejsce)}
.wpis.t-dysp{border-left-color:var(--s-droga)}
.wpis.t-triage{border-left-color:var(--t-czerwony)}
.wpis.t-transport{border-left-color:var(--s-transport)}
.wpis.t-zadanie{border-left-color:var(--brand)}

/* ══════════ mapa ══════════ */
.mapa{flex:1;min-height:0;background:#0B0E13}
.mapa-info{padding:7px 12px;background:var(--panel);border-top:1px solid var(--line);
  font-size:12px;color:var(--tx-dim)}
.mapa-info b{color:var(--tx)}
.mapa-info i{color:var(--s-droga);font-style:normal;margin-left:8px}
body.stawianie .leaflet-container{cursor:crosshair}
.leaflet-container{background:#0B0E13}
.leaflet-popup-content-wrapper{background:var(--panel);color:var(--tx);border-radius:8px}
.leaflet-popup-tip{background:var(--panel)}
.leaflet-popup-content{margin:9px 12px;font-size:13px}
.leaflet-popup-content small{color:var(--tx-dim)}
.leaflet-bar a{background:var(--panel);color:var(--tx);border-color:var(--line)}
.leaflet-bar a:hover{background:var(--panel-2)}

.pin-jedn{
  display:grid;place-items:center;border-radius:50%;border:2px solid #0F1319;
  font-family:var(--mono);font-size:10px;font-weight:700;color:#10141A;
  box-shadow:0 2px 6px rgba(0,0,0,.5);
}
.pin-jedn.st-wolna{background:var(--s-wolna)}
.pin-jedn.st-droga{background:var(--s-droga)}
.pin-jedn.st-miejsce{background:var(--s-miejsce)}
.pin-jedn.st-transport{background:var(--s-transport);color:#fff}
.pin-jedn.st-szpital{background:var(--s-szpital);color:#fff}
.pin-zad{
  display:grid;place-items:start center;font-family:var(--mono);font-size:11px;
  font-weight:700;color:#fff;
}
.pin-zad b{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50% 50% 50% 4px;
  transform:rotate(45deg);background:var(--tx-faint);border:2px solid #0F1319;
  box-shadow:0 3px 7px rgba(0,0,0,.55);
}
/* Numer obracamy z powrotem — sama kropla jest przekrecona o 45 stopni. */
.pin-zad b::after{content:attr(data-nr);transform:rotate(-45deg);font-size:11px}
.pin-zad.aktywne b{background:var(--brand)}
.pin-zad.finale b{background:var(--brand-hot);width:32px;height:32px}

/* ══════════ raport ══════════ */
.raport{max-width:900px;margin:0 auto;padding:6px 4px 40px}
.raport h3{font-size:20px;margin:0 0 2px}
.raport h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-dim);
  margin:22px 0 8px;border-bottom:1px solid var(--line);padding-bottom:5px}
.raport-data{color:var(--tx-faint);font-size:12px;margin:0}
.raport-triage{display:flex;gap:8px;flex-wrap:wrap}
.raport-triage span{background:var(--panel);border:1px solid var(--line);border-radius:7px;
  padding:8px 13px;font-size:12px;color:var(--tx-dim)}
.raport-triage b{display:block;font-size:19px;color:var(--tx);font-family:var(--mono)}
.raport-triage .tk b{color:var(--t-czerwony)}
.raport-triage .tz b{color:var(--t-zolty)}
.raport-triage .tzi b{color:var(--t-zielony)}
.tabela{width:100%;border-collapse:collapse;font-size:12px}
.tabela th{text-align:left;color:var(--tx-faint);font-weight:600;font-size:10px;
  text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-bottom:1px solid var(--line)}
.tabela td{padding:6px 8px;border-bottom:1px solid var(--line-soft);color:var(--tx-dim)}
.raport-dziennik div{display:flex;gap:9px;font-size:12px;color:var(--tx-dim);padding:2px 0}
.raport-dziennik time{font-family:var(--mono);color:var(--tx-faint);flex:0 0 42px}

/* ══════════ konta ══════════ */
.konta-lista{display:flex;flex-direction:column;gap:5px;max-width:1100px;margin:0 auto}
.konto{
  display:flex;align-items:center;gap:14px;background:var(--panel);
  border:1px solid var(--line);border-radius:8px;padding:8px 12px;flex-wrap:wrap;
}
.konto-kto{flex:1;min-width:210px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.konto-kto b{font-size:13px}
.konto-login{font-family:var(--mono);font-size:11px;color:var(--tx-faint)}
.konto-kto i{font-style:normal;font-size:10px;padding:1px 6px;border-radius:3px;
  border:1px solid var(--line);color:var(--tx-faint)}
.konto-nowe{color:var(--s-droga) !important;border-color:rgba(224,162,26,.4) !important}
.konto-off{color:var(--s-transport) !important;border-color:rgba(242,70,95,.4) !important}
.konto{transition:border-color .12s}
.konto-kto{cursor:pointer;border-radius:6px;padding:2px 4px;margin:-2px -4px}
.konto-kto:hover{background:rgba(255,255,255,.04)}
.ptaszek-w-linii{flex-direction:row !important;align-items:center;gap:8px !important;
  font-size:13px !important;color:var(--tx) !important;cursor:pointer}
.ptaszek-w-linii input{width:18px;height:18px}
.konto-ster{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.konto-ster select{min-width:120px}

/* ══════════ modale ══════════ */
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px}
.modal-tlo{position:absolute;inset:0;background:rgba(6,9,13,.72)}
.modal-box{
  position:relative;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;
}
.modal-box h3{margin:0 0 14px;font-size:17px}
.modal-tresc{display:flex;flex-direction:column;gap:11px}
.modal-tresc label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--tx-dim)}
.modal-tresc input,.modal-tresc textarea,.modal-tresc select{
  background:var(--bg);border:1px solid var(--line);border-radius:7px;
  padding:9px 11px;color:var(--tx);font-size:15px;
}
.modal-tresc textarea{resize:vertical}
.modal-opis{margin:0;font-size:12px;color:var(--tx-faint)}
.modal-blad{margin-top:12px;background:rgba(242,70,95,.13);border:1px solid rgba(242,70,95,.4);
  color:#FF8DA0;border-radius:7px;padding:8px 10px;font-size:12px}
.modal-stopka{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}
.pola-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pole-role span{font-size:12px;color:var(--tx-dim);display:block;margin-bottom:6px}
.role-wybor{display:flex;flex-wrap:wrap;gap:9px}
.ptaszek-duzy{flex-direction:row !important;align-items:center;gap:7px !important;
  font-size:13px !important;color:var(--tx) !important;padding-top:18px}

/* ══════════ toasty ══════════ */
.toasty{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:80;
  display:flex;flex-direction:column;gap:7px;align-items:center;pointer-events:none}
.toast{
  background:var(--panel-2);border:1px solid var(--line);border-radius:9px;
  padding:10px 16px;font-size:13px;box-shadow:0 8px 22px rgba(0,0,0,.5);
  transition:opacity .5s,transform .5s;
}
.toast.t-ok{border-color:rgba(61,191,127,.5);color:#8AE3B8}
.toast.t-blad{border-color:rgba(242,70,95,.5);color:#FF8DA0}
.toast.znika{opacity:0;transform:translateY(8px)}

/* ══════════════════════════════════════════════════════════
   WIDOK TERENOWY — telefon kierownika
   ══════════════════════════════════════════════════════════ */
.teren{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.t-top{
  display:flex;align-items:center;gap:12px;padding:10px 14px;
  padding-top:calc(10px + env(safe-area-inset-top));
  background:var(--panel);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
.t-kod{font-family:var(--mono);font-size:19px;font-weight:700}
.t-kto{font-size:12px;color:var(--tx-dim);flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.t-status-pas{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-soft);
  position:sticky;top:54px;z-index:19;
}
.t-sb{
  padding:13px 2px;font-size:11px;background:var(--panel-2);color:var(--tx-faint);
  text-align:center;line-height:1.2;min-height:48px;
}
.t-sb.on-wolna{background:var(--s-wolna);color:#10141A;font-weight:700}
.t-sb.on-droga{background:var(--s-droga);color:#1B1405;font-weight:700}
.t-sb.on-miejsce{background:var(--s-miejsce);color:#04191D;font-weight:700}
.t-sb.on-transport{background:var(--s-transport);color:#fff;font-weight:700}
.t-sb.on-szpital{background:var(--s-szpital);color:#fff;font-weight:700}

.t-tresc{flex:1;padding:12px;display:flex;flex-direction:column;gap:12px}
.t-karta{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.t-karta h3{margin:0 0 6px;font-size:17px}
.t-karta h4{margin:0 0 10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-dim)}
.t-karta p{margin:0;font-size:13px;color:var(--tx-dim)}
.t-pusto,.t-czekamy{text-align:center;color:var(--tx-dim)}

.t-zlecenie.nowe{border-color:var(--brand);box-shadow:0 0 0 1px rgba(214,26,32,.4)}
.t-zl-nag{display:flex;align-items:baseline;gap:9px}
.t-zl-nr{font-family:var(--mono);font-size:13px;color:var(--tx-faint);
  background:var(--panel-2);padding:2px 7px;border-radius:5px}
.t-zl-strefa{font-size:13px;color:var(--s-droga);margin-bottom:8px}
.t-zl-opis{margin:0 0 10px !important;color:var(--tx) !important}
.t-mapka{height:190px;border-radius:9px;overflow:hidden;margin:10px 0;background:#0B0E13}
.t-brak-pin{font-size:12px;color:var(--tx-faint);font-style:italic;margin:10px 0 !important}
.t-zl-akcje{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.t-zl-akcje .btn-glowny{flex:1;min-height:50px;display:grid;place-items:center;font-size:16px}
.btn-przyjmij{background:var(--ok)}
.btn-przyjmij:hover{background:#48D391}
.t-przyjete{flex:1;text-align:center;font-size:13px;color:var(--ok)}
.t-inne{margin-top:10px;font-size:12px;color:var(--tx-faint)}

.t-przyciski{display:grid;gap:9px}
.t-duzy{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;text-align:left;min-height:66px;
}
.t-duzy b{display:block;font-size:16px}
.t-duzy span{font-size:12px;color:var(--tx-dim)}
.t-duzy:disabled{opacity:.4}
.t-triage{border-left:4px solid var(--t-czerwony)}
.t-transport{border-left:4px solid var(--s-transport)}
.t-meldunek{border-left:4px solid var(--s-miejsce)}

.t-transp{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line-soft)}
.t-transp:first-of-type{border-top:none}
.t-transp div{flex:1;min-width:0}
.t-transp b{font-size:13px}
.t-transp span{display:block;font-size:12px;color:var(--tx-dim)}
.t-transp i{font-style:normal;font-size:11px;color:var(--tx-faint);font-family:var(--mono)}
.t-transp.k-czerwony b{color:var(--t-czerwony)}
.t-transp.k-zolty b{color:var(--t-zolty)}
.t-transp.k-zielony b{color:var(--t-zielony)}
.t-transp .btn-maly{min-height:40px;padding:8px 12px}

.t-stopka{
  position:sticky;bottom:0;background:var(--panel);border-top:1px solid var(--line);
  padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom));
}
.t-gps{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}
.t-gps input{width:22px;height:22px}
.t-gps i{margin-left:auto;font-style:normal;font-size:11px;color:var(--tx-faint)}
.t-dzwiek{display:flex;align-items:center;gap:10px;margin-top:9px;
  padding-top:9px;border-top:1px solid var(--line-soft)}
.t-dzwiek .btn-maly{min-height:40px;padding:8px 14px}
.t-dzwiek i{font-style:normal;font-size:11px}
.t-dzwiek i.ok{color:var(--ok)}
.t-dzwiek i.uwaga{color:var(--s-droga)}

.liczniki{display:grid;gap:9px}
.licz{display:flex;align-items:center;gap:10px}
.licz span{flex:1;font-size:14px}
.licz div{display:flex;align-items:center;gap:6px}
.licz button{
  width:48px;height:48px;border:1px solid var(--line);border-radius:10px;
  background:var(--panel-2);font-size:22px;line-height:1;
}
.licz input{width:62px;height:48px;text-align:center;font-size:19px;
  background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--tx)}
.licz.k-czerwony span{color:var(--t-czerwony)}
.licz.k-zolty span{color:var(--t-zolty)}
.licz.k-zielony span{color:var(--t-zielony)}

.wybor-koloru{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.kol{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);
  border-radius:10px;cursor:pointer;font-size:14px}
.kol input{width:20px;height:20px}
.kol.k-czerwony{border-color:rgba(242,70,95,.5)}
.kol.k-zolty{border-color:rgba(224,162,26,.5)}
.kol.k-zielony{border-color:rgba(61,191,127,.5)}
.kol:has(input:checked){background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--tx-faint)}

/* ══════════ ekrany dotykowe i wąskie ══════════ */
@media (pointer:coarse){
  .modal-tresc input,.modal-tresc textarea,.modal-tresc select{font-size:16px}
  .sb{padding:10px 2px}
}
@media (max-width:1100px){
  .tresc.w-tablica{grid-template-columns:1fr 1fr}
  .kol-dz{display:none}
}
@media (max-width:720px){
  .tresc.w-tablica{grid-template-columns:1fr}
  .kol-zad{display:none}
  .top{flex-wrap:wrap;height:auto;padding:8px 10px;gap:8px}
  .zakladki{order:3;width:100%;margin:0}
  .zak{flex:1}
  .pola-2{grid-template-columns:1fr}
}

/* ══════════ wydruk raportu ══════════ */
@media print{
  body{background:#fff;color:#000}
  .top,.panel-top,.lacze,.toasty,.modal,.zakladki{display:none !important}
  .panel{background:#fff}
  .raport h4{color:#000;border-color:#999}
  .raport-triage span,.tabela td{color:#000}
  .raport-data,.raport-dziennik time{color:#555}
  .raport-triage span{border-color:#bbb}
}
