/* Wspólny wygląd kart wizyt (Gabinet ogólny, Opis wizyty flebologicznej) — Paweł 1.10.2026:
   jak w aplikacji WoundAnalizer: granatowe paski sekcji, żółte pola, czarne napisy.
   Używa się przez <main class="… go"> oraz <section class="sekcja"><h2>…</h2><div class="tresc">…</div></section>. */
  :root { --app-granat:#172973; --app-niebieski:#2A5CE6; --app-zolty:#FFC229; --pole:#FFF2D0; --pole-ramka:#EBCB75; --tekst:#111; }
  .go { color: var(--tekst); }
  .go .sekcja { background:#fff; border:1px solid #d5dbeb; border-radius:14px; margin:0 0 16px; overflow:hidden; box-shadow:0 1px 3px rgba(23,41,115,.07); }
  .go .sekcja > h2 { margin:0; padding:10px 18px; background:var(--app-granat); color:#fff; font-size:16px; font-weight:700; letter-spacing:.01em;
                     display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
  .go .sekcja > h2 .podpis { font-size:12.5px; font-weight:500; color:#d6dcf3; }
  .go .sekcja > h2 button { background:var(--app-zolty); color:var(--tekst); border:0; font-weight:700; }
  .go .tresc { padding:14px 18px 16px; }
  .go label { color:var(--tekst); font-size:13px; font-weight:600; margin:0 0 4px; }
  .go .pole { display:flex; flex-direction:column; min-width:0; }
  .go input[type=text], .go input[type=email], .go input[type=date], .go input[type=time], .go select, .go textarea {
    width:100%; min-width:0; box-sizing:border-box; background:var(--pole); border:1px solid var(--pole-ramka); border-radius:8px;
    color:var(--tekst); font-size:15px; padding:9px 11px; min-height:42px; }
  .go input:disabled { opacity:.55; }
  .go input:focus, .go select:focus, .go textarea:focus { outline:2px solid var(--app-niebieski); border-color:transparent; background:#fffaf0; }
  .go textarea { min-height:72px; line-height:1.5; }
  .go input::placeholder, .go textarea::placeholder { color:#7a6a3f; }
  .go .wiersz { display:grid; gap:12px 14px; margin-bottom:12px; }
  .go .wiersz:last-child { margin-bottom:0; }
  .go .k3 { grid-template-columns: 1.1fr 1fr 1fr; }
  .go .k4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .go .k-lek { grid-template-columns: 90px minmax(0,1fr) minmax(0,1fr) 150px minmax(0,1.4fr); }
  .go .k-adres { grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
  .go .k7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .go .dwie { display:grid; grid-template-columns: 1fr 1fr; gap:12px 14px; }
  .go .tresc > .dwie, .go .tresc > textarea + label, .go .tresc > .chipy + label { margin-top:12px; }
  .go .tresc > label:not(.zaznacz) { margin-top:10px; } .go .tresc > label:first-child { margin-top:0; }
  .go .info-pac { font-size:12.5px; color:#3d4a75; margin-top:4px; min-height:15px; }
  .go .chipy { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 8px; }
  .go .chipy button { font-size:12.5px; padding:4px 11px; border-radius:999px; background:#fff; color:var(--app-granat); border:1px solid #b9c3e6; font-weight:500; min-height:0; }
  .go .chipy button:hover { background:#eef1fb; }
  .go .zaznacz { display:flex; gap:8px; align-items:center; font-size:13.5px; font-weight:600; margin:0 0 12px; color:var(--tekst); }
  .go .zaznacz input { width:18px; height:18px; margin:0; }
  .go .lekarz-pasek { display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:14.5px; }
  .go .lekarz-pasek .kto { background:var(--pole); border:1px solid var(--pole-ramka); border-radius:10px; padding:8px 12px; }
  .go .bmi { padding:10px 11px; min-height:42px; box-sizing:border-box; border-radius:8px; background:#eef1fb; font-weight:700; color:var(--app-granat); }
  .go .przyciski { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
  .go .stopka-akcji { position:sticky; bottom:0; background:rgba(255,255,255,.97); border-top:2px solid var(--app-granat); padding:10px 4px; margin:4px 0 16px; z-index:5; }
  .go .stopka-akcji button.zielony { background:var(--app-zolty); color:var(--tekst); font-weight:700; border:0; }
  .go .stopka-akcji #btn-zapisz { background:var(--app-granat); }
  /* telefon: przyklejona stopka z kilkoma przyciskami zasłaniała pół formularza — tam jest zwykłą częścią strony,
     a przyciski układają się po dwa w rzędzie */
  @media (max-width: 700px) {
    .go .stopka-akcji { position:static; padding:12px 4px; }
    .go .stopka-akcji .przyciski button { flex:1 1 calc(50% - 8px); margin:0; padding:10px 8px; font-size:13.5px; }
    .go .stopka-akcji .przyciski #stan { flex-basis:100%; }
  }
  table.lista { width:100%; border-collapse:collapse; font-size:13.5px; }
  table.lista td, table.lista th { padding:7px 8px; border-top:1px solid #e3e7f3; text-align:left; vertical-align:top; color:var(--tekst); }
  table.lista th { font-size:12.5px; color:#3d4a75; border-top:0; }
  @media (max-width: 960px) { .go .k-lek { grid-template-columns: 90px 1fr 1fr; } .go .k7 { grid-template-columns: repeat(4, minmax(0,1fr)); } }
  @media (max-width: 720px) { .go .k3, .go .k4, .go .k-lek, .go .k-adres, .go .dwie { grid-template-columns: 1fr 1fr; } .go .k7 { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* formularz badania / zabiegu (badania-formularz.js): tabele prawa/lewa, odcinki, obliczenia */
.go table.pl { width:100%; border-collapse:separate; border-spacing:0 6px; }
.go table.pl th { font-size:12.5px; color:#3d4a75; text-align:left; padding:0 8px 2px 0; font-weight:700; }
.go table.pl td { padding:0 8px 0 0; vertical-align:middle; }
.go table.pl td.etyk { font-weight:600; font-size:13.5px; width:30%; }
.go table.pl th.strona { text-align:center; background:#eef1fb; border-radius:8px; padding:5px; color:var(--app-granat); }
.go .z-jedn { display:flex; align-items:center; gap:6px; } .go .z-jedn span { font-size:12.5px; color:#3d4a75; white-space:nowrap; }
.go .obliczenia { background:#eef1fb; border-radius:10px; padding:10px 14px; font-size:14px; }
.go .obliczenia div + div { margin-top:4px; } .go .obliczenia b { color:var(--app-granat); }
.go .k3pola { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px 14px; }
.go .podsekcja { margin:0 0 14px; } .go .podsekcja:last-child { margin-bottom:0; }
.go .podsekcja > h3 { margin:0 0 8px; padding:0 0 4px; font-size:14.5px; color:var(--app-granat); border-bottom:2px solid var(--app-zolty); }
.go .podsekcja > label { margin-top:8px; }

/* zwijane sekcje (karta-wizyty.js): klik w pasek zwija/rozwija; zwinięta pokazuje „✓ wypełnione” */
.go .sekcja.zwijana > h2 { cursor:pointer; user-select:none; justify-content:flex-start; }
.go .sekcja.zwijana > h2 > button { margin-left:auto; }
.go .sekcja.zwijana > h2 .strzalka { display:inline-block; width:14px; transition:transform .15s; }
.go .sekcja.zwinieta > h2 .strzalka { transform:rotate(-90deg); }
.go .sekcja.zwinieta > .tresc { display:none; }
.go .sekcja .stan-sekcji { font-size:11.5px; background:var(--app-zolty); color:var(--tekst); padding:2px 9px; border-radius:999px; font-weight:700; }
@media (max-width: 760px) { .go .k3pola { grid-template-columns: 1fr; } .go table.pl td.etyk { width:auto; } }

  /* wyszukiwarka pacjentów u góry karty (szukaj-pacjenta.js) */
  .go .szukaj-pac { margin:0 0 14px; padding:0 0 14px; border-bottom:1px solid #e3e7f3; position:relative; }
  .go .szukaj-pac-rzad { display:flex; gap:10px 16px; align-items:center; flex-wrap:wrap; }
  .go .szukaj-pac-rzad input[type=text] { flex:1 1 280px; background:#fff; border:1.5px solid var(--app-niebieski); }
  .go .szukaj-pac-wszyscy { margin:0; font-weight:500; flex:none; }
  .go .szukaj-pac-wyniki { margin-top:8px; border:1px solid #d5dbeb; border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 6px 18px rgba(23,41,115,.12); max-height:340px; overflow-y:auto; }
  .go .szukaj-pac-wyniki button { display:grid; grid-template-columns:minmax(0,1.4fr) auto auto; gap:2px 14px; align-items:baseline; width:100%; margin:0; padding:9px 12px; text-align:left;
    background:#fff; color:var(--tekst); border:0; border-top:1px solid #e3e7f3; border-radius:0; font-size:14.5px; font-weight:400; cursor:pointer; }
  .go .szukaj-pac-wyniki button:first-child { border-top:0; }
  .go .szukaj-pac-wyniki button:hover, .go .szukaj-pac-wyniki button:focus { background:#eef2ff; outline:none; }
  .go .szukaj-pac-wyniki .pesel { font-family:monospace; letter-spacing:.04em; }
  .go .szukaj-pac-wyniki .kiedy { color:#3d4a75; font-size:13px; white-space:nowrap; }
  .go .szukaj-pac-wyniki .co { grid-column:1 / -1; font-size:12.5px; color:#3d4a75; }
  .go .szukaj-pac-wyniki .co i { font-style:normal; background:#fff3c4; border-radius:8px; padding:0 6px; color:#6b5200; }
  .go .szukaj-pac-wyniki .pusto { padding:10px 12px; font-size:13.5px; color:#3d4a75; border-top:1px solid #e3e7f3; }
  .go .szukaj-pac-wyniki .pusto:first-child { border-top:0; }
  @media (max-width: 560px) { .go .szukaj-pac-wyniki button { grid-template-columns:1fr; } }
