/* APLIKACJA MARKI NA WSPÓLNYM WZORZE (Erasmus i Wakacje; Paczka I, 16.10.2026). Opis w marka.js.
   DOLNY PASEK TEN SAM CO W NOWYM FESTIVALU (zamówienie właściciela 16.10.2026: „jeden szablon na każdą kolejną
   aplikację taki sam”): wymiary, ikony, okrągłe logo wystające nad pasek, kropka pod aktywną ikoną i pływający dok na
   komputerze są przepisane z aplikacja.css (#fa-pasek), a jedyna różnica to kolor marki w --am-kolor (ustawia skrypt,
   razem z jaśniejszym --am-kolor2 i składowymi --am-rgb dla poświaty). Zgodność wartości pilnuje test_aplikacja_marki.py.
   Wszystkie klasy z przedrostkiem am-. z-index jak na Festivalu: pasek 1150 (nad mapami, pod zgodami 1200); ekran, zakładka
   Konto i komunikaty 10010 i wyżej, nad wyskakującymi okienkami huba w rogach ekranu (paszport 9990, powiadomienia 9999) i nad paskiem marek huba
   (jak ekran Festivalu, 2147483100), bo je otwiera sam człowiek. */
html.am-aplikacja{--am-tusz:#0f172a;--am-szary:#64748b;--am-linia:#e6eaf0;--am-dol:calc(64px + env(safe-area-inset-bottom,0px))}
@media(min-width:821px){html.am-aplikacja{--am-dol:92px}}
#am-pasek,.am-ark,.am-tlo,.am-kom,.am-pw-pasek,.am-ekran,.am-tlo2{box-sizing:border-box;font:500 14px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-tap-highlight-color:transparent}
#am-pasek *,.am-ark *,.am-pw-pasek *,.am-ekran *{box-sizing:border-box}
/* ── DOLNY PASEK ── */
#am-pasek{position:fixed;left:0;right:0;bottom:0;z-index:1150;display:flex;align-items:stretch;
  justify-content:space-between;height:calc(62px + env(safe-area-inset-bottom,0px));
  padding:0 4px env(safe-area-inset-bottom,0px);background:rgba(255,255,255,.97);border-top:1px solid var(--am-linia);
  box-shadow:0 -6px 22px rgba(15,23,42,.07);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);
  font:700 11px/1.1 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--am-szary)}
#am-pasek .am-zak{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;
  height:62px;padding:0;border:0;background:none;color:#475569;font:inherit;text-decoration:none;cursor:pointer;position:relative}
#am-pasek .am-zak svg{width:27px;height:27px;flex:0 0 auto}
#am-pasek .am-zak.am-tu{color:var(--am-tusz)}
#am-pasek .am-zak.am-tu svg{stroke-width:2.6}
#am-pasek .am-zak.am-tu::after{content:"";position:absolute;bottom:7px;left:50%;width:5px;height:5px;margin-left:-2.5px;
  border-radius:50%;background:var(--am-kolor)}
#am-pasek .am-zak:focus-visible,#am-pasek .am-srodek:focus-visible{outline:2px solid var(--am-kolor2);outline-offset:-4px;border-radius:12px}
#am-pasek .am-srodek{flex:0 0 78px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;
  text-decoration:none;position:relative}
#am-pasek .am-kolo{width:62px;height:62px;border-radius:50%;background:#fff;margin-top:-26px;display:flex;align-items:center;
  justify-content:center;box-shadow:0 0 0 4px #fff;border:2.5px solid var(--am-kolor2);overflow:hidden;position:relative}
#am-pasek .am-srodek.am-tu .am-kolo{border-color:var(--am-kolor)}
#am-pasek .am-srodek::before,#am-pasek .am-srodek::after{content:"";position:absolute;left:50%;border-radius:50%;pointer-events:none}
#am-pasek .am-srodek::before{bottom:10px;width:62px;height:62px;margin-left:-31px;box-shadow:0 8px 22px rgba(var(--am-rgb),.38)}
#am-pasek .am-srodek::after{bottom:6px;width:70px;height:70px;margin-left:-35px;opacity:0;
  box-shadow:0 0 0 5px rgba(var(--am-rgb2),.45),0 0 26px 2px rgba(var(--am-rgb2),.55)}
#am-pasek .am-srodek.am-tu::after{opacity:1;box-shadow:0 0 0 3px rgba(var(--am-rgb2),.35)}
#am-pasek .am-srodek:active::before,#am-pasek .am-srodek:active::after{transform:scale(.96)}
#am-pasek .am-kolo img{width:50px;height:50px;object-fit:contain;display:block}
#am-pasek .am-srodek:active .am-kolo{transform:scale(.96)}
/* okrągłe logo żyje jak na Festivalu: co 9 s obrót jak moneta, pas światła i poświata obwódki; spokój reszty czasu */
#am-pasek .am-kolo img{animation:am-kolo-obrot 9s ease-in-out 3s infinite;backface-visibility:visible}
#am-pasek .am-kolo::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:45%;pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.95) 50%,transparent 100%);transform:translateX(-80%) skewX(-18deg);
  animation:am-kolo-blysk 9s ease-in-out 3s infinite}
#am-pasek .am-srodek:not(.am-tu)::after{animation:am-kolo-swiatlo 9s ease-in-out 3s infinite}
@keyframes am-kolo-obrot{0%{transform:perspective(200px) rotateY(0)}9%{transform:perspective(200px) rotateY(360deg)}100%{transform:perspective(200px) rotateY(360deg)}}
@keyframes am-kolo-blysk{0%,9%{transform:translateX(-80%) skewX(-18deg)}17%{transform:translateX(420%) skewX(-18deg)}100%{transform:translateX(420%) skewX(-18deg)}}
@keyframes am-kolo-swiatlo{0%,8%,22%,100%{opacity:0}14%{opacity:1}}
@media(prefers-reduced-motion:reduce){#am-pasek .am-kolo img,#am-pasek .am-kolo::after,#am-pasek .am-srodek::after{animation:none !important}}
#am-pasek .am-av{width:29px;height:29px;border-radius:50%;background:#eef2f6;color:#475569;box-shadow:inset 0 0 0 1.5px #cbd5e1;display:flex;
  align-items:center;justify-content:center;flex:0 0 auto}
#am-pasek .am-av svg{width:19px;height:19px}
/* awatar zalogowanego jak w pasku Festivalu (.fa-av): zdjęcie z konta w kółku 29 px, bez ikony; bez zdjęcia albo bez sesji zostaje ikona osoby */
#am-pasek .am-av.am-av-foto{background:#eef2f6 center/cover no-repeat}
#am-pasek .am-zak.am-tu .am-av{box-shadow:inset 0 0 0 1.5px #cbd5e1,0 0 0 2px #fff,0 0 0 4px var(--am-tusz)}
/* KOMPUTER: ten sam pasek jako pływający dok na dole, wyśrodkowany (jak na Festivalu) */
@media(min-width:821px){
  #am-pasek{left:50%;right:auto;bottom:16px;width:520px;max-width:calc(100vw - 32px);height:66px;padding:0 10px;
    transform:translateX(-50%);border:1px solid var(--am-linia);border-radius:22px;box-shadow:0 14px 40px rgba(15,23,42,.16)}
  #am-pasek .am-zak{height:64px}
}
.am-odstep{display:none;height:calc(var(--am-dol) + 34px)}
html.am-aplikacja .am-odstep{display:block}
/* przycisk „na górę strony” Wakacji i podobne nad paskiem */
html.am-aplikacja #doGory{bottom:calc(var(--am-dol) + 34px)}
html.am-zaslonieta #am-pasek{display:none}
/* jak w aplikacji Festival (16.10.2026): pasek NAD ekranem (.am-ekran 2147483100), bo kółko z logo wystaje 26 px ponad pasek, a ekran
   kończący się równo nad paskiem przykrywał jego górę; treść ekranu ma na telefonie 40 px zapasu na dole */
html.am-blokada #am-pasek,html.am-ekr #am-pasek{z-index:2147483105}
html.am-ekr,html.am-ekr body{overflow:hidden}
/* ── EKRAN (Grupy, podmenu Listy): na telefonie cały ekran nad paskiem, na komputerze panel z prawej ── */
.am-ekran{position:fixed;inset:0;z-index:2147483100;display:none;flex-direction:column;background:#f5f7fa;color:var(--am-tusz);
  font:400 15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.am-ekran.am-wid{display:flex}
.am-tlo2{position:fixed;inset:0;z-index:2147483090;background:rgba(15,23,42,.42);display:none}
.am-tlo2.am-wid{display:block}
@media(max-width:820px){
  .am-ekran{bottom:calc(62px + env(safe-area-inset-bottom,0px))}
  .am-tlo2.am-wid{display:none}
}
@media(min-width:821px){
  .am-ekran{inset:16px 16px calc(var(--am-dol) + 8px) auto;width:460px;border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(2,6,23,.35)}
}
.am-ekran .am-glowa{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px 16px;
  background:#fff;border-bottom:1px solid var(--am-linia)}
.am-ekran .am-glowa h2{flex:1 1 auto;margin:0;font-size:19px;font-weight:900;letter-spacing:-.01em;min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.am-ekran .am-xe{flex:0 0 auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--am-linia);background:#f4f6fa;
  color:var(--am-tusz);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.am-ekran .am-tresc{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
@media(max-width:820px){.am-ekran .am-tresc{padding-bottom:40px}}
.am-ekran .am-pusto{margin:18px 16px;padding:22px 16px;text-align:center;border-radius:16px;background:#fff;border:1px dashed #cbd5e1;color:var(--am-szary)}
.am-ekran .am-pusto a,.am-ekran .am-ponow{display:inline-block;margin-top:10px;color:var(--am-kolor);font-weight:800;background:none;border:0;font:inherit;
  font-weight:800;cursor:pointer;text-decoration:none}
.am-ekran .am-menu{margin:0 12px;border-radius:16px;background:#fff;border:1px solid var(--am-linia);overflow:hidden;padding:0;list-style:none}
.am-ekran .am-poz{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 12px;border:0;border-bottom:0;background:none;
  color:var(--am-tusz);text-decoration:none;font:inherit;font-weight:700;font-size:15px;text-align:left;cursor:pointer}
.am-ekran .am-menu li+li .am-poz{border-top:1px solid #eef2f7}
.am-ekran .am-poz:active{background:#f1f5f9}
.am-ekran .am-poz .am-ik{width:22px;height:22px;flex:0 0 auto;color:var(--am-kolor)}
.am-ekran .am-poz .am-ik svg{width:22px;height:22px;display:block}
.am-ekran .am-poz .am-pt{flex:1 1 auto;min-width:0}
.am-ekran .am-poz .am-strz{color:#cbd5e1;font-size:18px;line-height:1}
.am-ekran .am-poz[aria-current="page"]{background:#f4f6fa}
.am-ekran .am-poz:focus-visible{outline:2px solid var(--am-kolor2);outline-offset:-2px}
/* podmenu Listy: małe okienko nad paskiem (jak fa-lista-pop) */
.am-ekran.am-lista-pop{top:auto;left:auto;right:10px;bottom:calc(62px + env(safe-area-inset-bottom,0px) + 34px);width:min(300px,calc(100vw - 20px));
  height:auto;max-height:calc(100vh - 140px);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(2,6,23,.3)}
.am-ekran.am-lista-pop .am-glowa{padding:8px 8px 8px 16px}
.am-ekran.am-lista-pop .am-glowa h2{font-size:16px}
.am-ekran.am-lista-pop .am-xe{width:40px;height:40px;font-size:17px}
.am-ekran.am-lista-pop .am-tresc{padding:8px 0 10px}
@media(max-width:820px){.am-tlo2.am-wid.am-tlo-pop{display:block;background:rgba(15,23,42,.22)}}
@media(min-width:821px){.am-ekran.am-lista-pop{right:auto;left:calc(50% + 20px);bottom:calc(var(--am-dol) + 24px);width:300px;top:auto}}
@media(prefers-reduced-motion:no-preference){.am-ekran.am-wid.am-lista-pop{animation:amWjazd .16s ease-out}}
@keyframes amWjazd{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* zakładka Konto (Profil) */
.am-ark button:focus-visible,.am-ark a:focus-visible,.am-ekran .am-xe:focus-visible{outline:3px solid var(--am-kolor,#2563eb);outline-offset:2px}
.am-tlo{position:fixed;inset:0;z-index:2147483090;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .2s}
.am-tlo.am-wid{opacity:1;pointer-events:auto}
.am-ark{position:fixed;left:0;right:0;bottom:0;z-index:2147483100;margin:0 auto;max-width:480px;max-height:88vh;overflow:auto;
  background:#fff;color:#0f172a;border-radius:20px 20px 0 0;padding:6px 18px calc(18px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -10px 40px rgba(15,23,42,.25);transform:translateY(105%);visibility:hidden;transition:transform .22s ease,visibility .22s}
.am-ark.am-wid{transform:none;visibility:visible}
/* ZAKŁADKA NAD PASKIEM (zgłoszenie właściciela 16.10.2026, iPhone: „jest ucięte i nic nie widać”). Pasek ma z-index 2147483105, czyli leży
   NAD otwartą zakładką (kółko z logo nie może być przykryte), więc zakładka sięgająca do dolnej krawędzi miała pozycje „Moje konto”,
   „Powiadomienia” i dalsze schowane pod paskiem, nie do dosunięcia palcem. Tak samo jak ekran (.am-ekran, #fa-ekran Festivalu) zakładka
   KOŃCZY SIĘ nad paskiem (na telefonie 62 px + pasek gestów, na wąskim oknie komputera nad pływającym dokiem), a ostatnia pozycja ma 40 px zapasu,
   więc po przewinięciu do końca stoi nad kółkiem z logo, które wystaje 26 px nad pasek. Wysokość liczona od okna bez paska i bez wycięcia. */
@media(max-width:860px){
  .am-ark{bottom:calc(62px + env(safe-area-inset-bottom,0px));padding-bottom:40px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    max-height:calc(100vh - 62px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px) - 16px)}
}
@supports(height:100dvh){@media(max-width:860px){.am-ark{max-height:calc(100dvh - 62px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px) - 16px)}}}
@media(min-width:821px) and (max-width:860px){.am-ark{bottom:90px;max-height:calc(100vh - 90px - 16px)}}
@media (min-width:861px){.am-ark{bottom:auto;top:50%;border-radius:20px;transform:translateY(-40%);opacity:0;padding-bottom:18px}
  .am-ark.am-wid{transform:translateY(-50%);opacity:1}}
html.am-blokada{overflow:hidden}
.am-uchwyt{width:40px;height:4px;border-radius:4px;background:#cbd5e1;margin:4px auto 10px}
.am-glowa{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.am-glowa img{border-radius:12px;box-shadow:0 2px 8px rgba(15,23,42,.15)}
.am-glowa h3{flex:1;margin:0;font-size:18px;font-weight:800}
.am-x{border:0;background:#f1f5f9;color:#334155;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.am-lista{display:flex;flex-direction:column;gap:8px}
.am-wiersz{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:14px;
  background:#fff;color:#0f172a;text-decoration:none;font:inherit;font-weight:700;font-size:15px;text-align:left;cursor:pointer}
.am-wiersz svg{color:var(--am-kolor,#0f172a);flex:none}
.am-wiersz>span{flex:1;min-width:0}
.am-wiersz small{display:block;font-weight:500;font-size:12.5px;color:#64748b;margin-top:2px}
.am-pw button{flex:none}
.am-glowny,.am-drugi,.am-pw-pasek button{border:0;border-radius:12px;padding:10px 14px;font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.am-glowny{background:var(--am-kolor,#0f172a);color:#fff}
.am-drugi{background:#f1f5f9;color:#0f172a}
.am-glowny:disabled{opacity:.6;cursor:default}
.am-cicho{margin:4px 2px;color:#64748b;font-size:13.5px}
.am-panel h4{margin:0 0 6px;font-size:16px}
.am-panel p{margin:0 0 10px;font-size:14.5px;line-height:1.45}
.am-zgoda{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;font-size:13.5px!important;color:#334155}
.am-info{color:#334155}
.am-kroki{margin:0 0 12px;padding-left:22px;font-size:14.5px;line-height:1.6}
.am-udost{vertical-align:-3px;color:#2563eb}
.am-przyciski{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:6px}
.am-przyciski button{min-height:44px}
/* komunikaty */
.am-kom{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:2147483120;transform:translate(-50%,20px);
  max-width:min(92vw,440px);padding:10px 16px;border-radius:12px;background:#0f172a;color:#fff;font-size:14px;opacity:0;
  pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}
.am-kom.am-wid{opacity:1;transform:translate(-50%,0)}
.am-pw-pasek{position:fixed;left:8px;right:8px;top:8px;z-index:2147483120;display:none;align-items:center;gap:8px;padding:10px 10px 10px 14px;
  border-radius:14px;background:#0f172a;color:#fff;font-size:13.5px;box-shadow:0 8px 24px rgba(15,23,42,.3)}
.am-pw-pasek.am-wid{display:flex}
.am-pw-pasek span{flex:1}
.am-pw-pasek button{background:#fff;color:#0f172a;padding:8px 10px}
.am-pw-pasek .am-x{background:transparent;color:#fff;width:32px;height:32px;padding:0}
/* ── ARKUSZE INSTALACJI I POWIADOMIEŃ JAK W FESTIVALU (16.10.2026): ikona 56 px, tytuł, lista korzyści, duży przycisk, kroki na iPhonie ── */
.am-ark .am-ark-glowa{display:block}
.am-ark .am-ark-ikona{display:block;width:56px;height:56px;border-radius:15px;margin:0 0 12px;box-shadow:0 4px 14px rgba(15,23,42,.14);
  border:1px solid var(--am-linia);background:#fff;object-fit:contain}
.am-ark h3{margin:0;font-size:20px;line-height:1.25;font-weight:900;letter-spacing:-.01em}
.am-ark .am-ark-pod{margin:6px 0 0;font-size:14px;color:var(--am-szary);font-weight:600}
.am-ark .am-ark-kroki{margin:14px 0 0;font-size:13.5px;color:var(--am-szary)}
.am-ark .am-korzysci{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.am-ark .am-korzysci li{display:flex;gap:10px;font-size:15px;line-height:1.35}
.am-ark .am-korzysci li::before{content:"✓";flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:rgba(var(--am-rgb),.12);color:var(--am-kolor);
  font-size:12px;font-weight:900;line-height:20px;text-align:center;margin-top:1px}
.am-ark .am-przyciski{display:flex;gap:10px;margin-top:18px;justify-content:stretch}
.am-ark .am-przyciski button,.am-ark .am-przyciski a{border:0;border-radius:14px;font:inherit;font-weight:900;cursor:pointer;min-height:50px;
  text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center}
.am-ark .am-przyciski .am-drugi{flex:0 0 auto;padding:14px 16px;background:#f1f5f9;color:#334155;font-size:15px}
.am-ark .am-przyciski .am-drugi.am-szer{flex:1 1 auto;font-size:16px}
.am-ark .am-przyciski .am-glowny{flex:1 1 auto;padding:15px 16px;background:linear-gradient(180deg,var(--am-kolor2),var(--am-kolor));color:#fff;
  font-size:17px;box-shadow:0 6px 18px rgba(var(--am-rgb),.35)}
.am-ark .am-przyciski.am-przyciski-pion{flex-direction:column}
.am-ark .am-przyciski-pion .am-drugi{background:none;min-height:44px;color:#475569}
.am-ark .am-kroki-nr{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column}
.am-ark .am-kroki-nr li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eef2f7;font-size:15px}
.am-ark .am-kroki-nr li:last-child{border-bottom:0}
.am-ark .am-nr{width:28px;height:28px;border-radius:50%;background:var(--am-kolor);color:#fff;font-weight:900;font-size:14px;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.am-ark .am-link{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f4f6fa;border:1px solid var(--am-linia);font-size:13px;color:#334155;word-break:break-all}
.am-ark .am-dopisek{margin:14px 0 0;font-size:14px;color:#475569}
.am-ark .am-wb-t{margin:14px 0 0;font-weight:700}
.am-ark .am-wb-o{margin:6px 0 0;color:#475569}
.am-ark .am-zgoda{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:#f4f6fa;border:1px solid var(--am-linia);font-size:13px;line-height:1.45;color:#334155}
.am-ark .am-info{margin:14px 0 0;font-size:15px;line-height:1.45;color:#334155}
/* DUŻY PRZYCISK „Zainstaluj aplikację” (u Festivalu kafelek w menu i duży przycisk w arkuszu) */
.am-ark .am-duzy{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;margin:0 0 10px;padding:12px 14px;border:0;border-radius:18px;
  background:#0f172a;color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.25)}
.am-ark .am-duzy:focus-visible{outline:3px solid var(--am-kolor2);outline-offset:2px}
.am-ark .am-duzy-ik{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--am-kolor);color:#fff}
.am-ark .am-duzy-ik svg{width:26px;height:26px;display:block}
.am-ark .am-duzy-tx{flex:1 1 auto;min-width:0}
.am-ark .am-duzy-tx b{display:block;font-size:17px;font-weight:900;line-height:1.2}
.am-ark .am-duzy-tx small{display:block;margin-top:2px;font-size:13px;font-weight:600;line-height:1.3;color:#cbd5e1}
.am-ark .am-duzy .am-strz{color:#94a3b8;font-size:22px;line-height:1}
/* pasek zachęty (aplikacja i powiadomienia) w treści strony, na samej górze, jak #fa-zacheta */
.am-zacheta{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;background:#0f172a;color:#e2e8f0;
  font:600 13px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;box-sizing:border-box}
.am-zacheta .am-zp-t{flex:1 1 auto;min-width:0}
.am-zacheta .am-zp-b{flex:0 0 auto;min-height:34px;padding:6px 12px;border:0;border-radius:10px;background:var(--am-kolor2);color:#0f172a;
  font:inherit;font-weight:800;cursor:pointer}
.am-zacheta .am-zp-x{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:10px;background:none;color:#94a3b8;font:inherit;font-size:16px;cursor:pointer}
.am-zacheta button:focus-visible{outline:3px solid var(--am-kolor2);outline-offset:2px}
@media print{.am-zacheta{display:none!important}}
/* WYRÓŻNIONY KAFEL PASZPORTU: te same reguły co w paszport.js Festivalu (test_aplikacja_pasek.py pilnuje zgodności) */
.pz-kafel{display:flex;align-items:center;gap:12px;margin:10px 12px 8px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,var(--pz-k2),var(--pz-k));color:#fff;text-decoration:none;font:inherit;box-shadow:0 8px 22px rgba(var(--pz-rgb),.28);-webkit-tap-highlight-color:transparent}
.pz-kafel:focus-visible{outline:3px solid #0f172a;outline-offset:2px}
.pz-ik{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.2)}
.pz-ik svg{width:26px;height:26px;display:block}
.pz-tx{flex:1 1 auto;min-width:0}.pz-tx b{display:block;font-size:16px;font-weight:900;line-height:1.2}
.pz-tx small{display:block;margin-top:2px;font-size:12.5px;font-weight:700;line-height:1.3;color:rgba(255,255,255,.9)}
.pz-strz{flex:0 0 auto;font-size:22px;line-height:1;opacity:.85}
.am-ark .pz-kafel{margin:0 0 10px}

/* ── GÓRNY PASEK JAK W FESTIVALU (#fa-gora): wymiary, kolory i zachowanie z aplikacja.css; na telefonie ikony po prawej, logo po lewej ── */
#am-gora{display:none}
@media(max-width:820px){
  html.am-aplikacja #mp-bar{display:none!important}
  html.am-aplikacja #unibar .ub-lang-box,html.am-aplikacja #unibar .ub-marki,html.am-aplikacja #unibar #ubFind,html.am-aplikacja #unibar .ub-chip,
  html.am-aplikacja #unibar .ub-menubox,html.am-aplikacja #unibar #koperta-btn,html.am-aplikacja #kolejka-btn,
  html.am-aplikacja #unibar #dzwonek-box,html.am-aplikacja #unibar #ubAcct{display:none!important}
  html.am-aplikacja #unibar .ub-in{padding-left:8px;padding-right:6px}
  #am-gora{display:inline-flex;align-items:center;gap:0;margin-left:2px;flex:0 0 auto}
  #am-gora .am-g{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:42px;margin:0;padding:0;border:0;
    border-radius:12px;background:none;color:var(--am-tusz);cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent;flex:0 0 auto;box-sizing:border-box}
  #am-gora .am-g svg{width:26px;height:26px;display:block}
  #am-gora .am-g:hover{background:#f4f6fa}
  #am-gora .am-g:focus-visible{outline:2px solid var(--am-kolor2);outline-offset:1px}
  #am-gora .am-g-menu svg{width:27px;height:27px}
  #am-gora .am-g-dzw svg{width:27px;height:27px}
  #am-gora .am-g-inst{width:36px;height:36px;margin:0 2px;border:1.5px solid var(--am-kolor2);background:rgba(var(--am-rgb),.08);color:var(--am-kolor)}
  #am-gora .am-g-inst svg{width:22px;height:22px}
  #am-gora .am-g[hidden]{display:none}
  #am-gora .am-g[aria-expanded="true"]{background:#eef2f6}
  #am-gora .am-licz{position:absolute;top:3px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;
    font:800 10px/17px system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-style:normal;text-align:center;display:none;box-shadow:0 0 0 2px #fff;box-sizing:border-box}
  #am-gora .am-licz.am-jest{display:block}
  /* pasek własny (portal Wakacji, bez paska huba): logo marki po lewej, ikony po prawej, przyklejony do góry */
  #am-gora.am-gora-pas{position:fixed;top:0;left:0;right:0;z-index:1100;height:56px;display:flex;justify-content:space-between;padding:0 6px 0 12px;
    background:rgba(255,255,255,.97);border-bottom:1px solid var(--am-linia);box-shadow:0 2px 10px rgba(15,23,42,.05);
    -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
  #am-gora .am-gl{display:flex;align-items:center;gap:8px;min-width:0;color:var(--am-tusz);text-decoration:none}
  #am-gora .am-gl img{border-radius:9px;display:block}
  #am-gora .am-gl b{display:none}
  #am-gora .am-gi{display:inline-flex;align-items:center;flex:0 0 auto}
  html.am-gora-pas body{padding-top:56px}
  /* portal Wakacji: jego pasek menu (nav.pasek-por z dzwonkiem) schodzi, bo ten sam zestaw pozycji jest w pasku, ☰ i Liście */
  html.am-gora-pas .pasek-por{display:none!important}
}
@media(max-width:380px){
  #am-gora .am-g{width:36px;height:40px}
  #am-gora .am-g svg{width:24px;height:24px}
  #am-gora .am-gl b{display:none}
  #am-gora .am-licz{right:-1px}
}
/* menu ☰: wspólna dolna część (język, serwisy, Grupy) */
.am-ekran .am-mh{margin:18px 14px 8px;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8}
.am-ekran .am-jezyki{display:flex;flex-wrap:wrap;gap:6px;margin:0 12px}
.am-ekran .am-jez{min-height:40px;padding:8px 12px;border:1px solid var(--am-linia);border-radius:999px;background:#fff;color:var(--am-tusz);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.am-ekran .am-jez.am-wyb{background:var(--am-kolor);border-color:var(--am-kolor);color:#fff}
.am-ekran .am-jez:focus-visible{outline:2px solid var(--am-kolor2);outline-offset:2px}
.am-ekran .am-menu{margin:10px 12px 0}
.am-ekran .am-menu-konto{margin-top:12px}
.am-ekran .am-serw-ik{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--am-s);color:#fff!important}
.am-ekran .am-serw-ik b{font-size:14px;font-weight:900}
.am-ekran .am-poz.am-tu-serwis{background:#f4f6fa}
.am-ekran .am-duzy{display:flex;align-items:center;gap:12px;width:calc(100% - 24px);min-height:68px;margin:10px 12px 0;padding:12px 14px;border:0;border-radius:18px;background:#0f172a;color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.25)}
.am-ekran .am-duzy-ik{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--am-kolor);color:#fff}
.am-ekran .am-duzy-ik svg{width:26px;height:26px;display:block}
.am-ekran .am-duzy-tx{flex:1 1 auto;min-width:0}
.am-ekran .am-duzy-tx b{display:block;font-size:17px;font-weight:900;line-height:1.2}
.am-ekran .am-duzy-tx small{display:block;margin-top:2px;font-size:13px;font-weight:600;line-height:1.3;color:#cbd5e1}
.am-ekran .am-duzy .am-strz{color:#94a3b8;font-size:22px;line-height:1}
.am-ekran .pz-kafel{margin:10px 12px 0}
.am-ekran .am-pow-lista .am-poz{align-items:flex-start;font-size:14.5px;font-weight:600;line-height:1.4}
.am-ekran .am-pow-lista .am-poz.am-nowe{background:rgba(var(--am-rgb),.08)}
.am-ekran .am-pow-lista small{display:block;margin-top:2px;font-size:12px;font-weight:600;color:var(--am-szary)}
.am-ekran button.am-poz{border:0;background:none;width:100%;text-align:left}

@media (prefers-reduced-motion:reduce){.am-ark,.am-tlo,.am-kom{transition:none}}
@media print{#am-gora,#am-pasek,.am-odstep,.am-ark,.am-tlo,.am-tlo2,.am-ekran,.am-kom,.am-pw-pasek{display:none!important}}
