/* =====================================================================
   ImportPanel, portal klienta: jedna skala przycisków i nagłówków (audyt detali 30.09, P1, P2, P4, P6).
   Ładowany jako ostatni arkusz portalu.
     Przyciski: 32 px mały (chipy, filtry, ikony w wierszach), 40 px standard, 48 px główny CTA.
     Telefon: mały i standard mają 44 px (cel dotyku), główny 48 px.
     H1: 40 px na komputerze, 30 px na telefonie, na każdym widoku.
   ===================================================================== */
:root { --e-btn-s: 32px; --e-btn-m: 40px; --e-btn-l: 48px; --e-h1: 40px; }
@media (max-width: 760px) { :root { --e-btn-s: 44px; --e-btn-m: 44px; --e-h1: 30px; } }

/* 48: główne przyciski (bilet, hero płatności, wysyłka), wysłanie wiadomości */
html body .e-btn:not(.sm), html body #portal-chat-send { min-height: var(--e-btn-l); height: var(--e-btn-l); padding-top: 0; padding-bottom: 0; }

/* 40: standard */
html body .e-btn.sm, html body .e-care, html body .e-icbtn, html body .e-addmore-b, html body .ed-zip, html body .ed-tog,
html body #qd-copy-id, html body #qd-share-btn, html body .cl-btn, html body .portal-btn-primary, html body .portal-btn-secondary,
html body .ep-sel select, html body .ep-ico, html body .ed-ib, html body .e-me {
    min-height: var(--e-btn-m); height: var(--e-btn-m); padding-top: 0; padding-bottom: 0; box-sizing: border-box;
}
html body .e-icbtn, html body .ed-ib { width: var(--e-btn-m); }
html body .e-me { padding: 0 10px 0 4px; }
html body .e-care { padding: 0 14px 0 4px; }

/* 32: chipy, filtry, przełączniki w pigułce, ikony przy wierszach */
html body #portal-preview-bar #portal-preview-exit, html body .ep-chipdoc, html body .ep-seg button, html body .ed-seg button, html body .eq-f, html body .eq-rb,
html body #qd-calc-nbp, html body .e-copy, html body .ed-pay, html body #portal-notif-mark-all {
    min-height: var(--e-btn-s); height: var(--e-btn-s); padding-top: 0; padding-bottom: 0; box-sizing: border-box;
}
html body .e-copy { width: var(--e-btn-s); }

/* awatar konta: kółko 30 px, cel dotyku cały przycisk (P4) */
@media (max-width: 760px) {
    html body .e-me { min-width: var(--e-btn-m); justify-content: center; padding: 0 7px; }
    html body #portal-preview-bar #portal-preview-exit { padding: 0 14px; }
    html body .e-logo { display: inline-flex; align-items: center; min-height: 44px; }
    /* chipy telefonu na 44 px w rzędzie przewijanym poziomo (P46) */
    html body .ep-seg { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
    html body .ep-seg::-webkit-scrollbar { display: none; }
    html body .ep-seg button { white-space: nowrap; flex: none; }
}

/* H1: jeden token na wszystkich widokach (P2) */
html body #portal-content h1:not(.elg-display) { font-size: var(--e-h1); line-height: 1.08; letter-spacing: -.025em; }

/* pierścień fokusu tylko z klawiatury (P6) */
html body .e-icbtn:focus:not(:focus-visible), html body .e-me:focus:not(:focus-visible), html body .e-care:focus:not(:focus-visible) { outline: none; box-shadow: none; }

/* Profil: nagłówek karty powiadomień jak inne karty (P56) */
html body .pf-prefs-h { font: 600 22px/1.2 var(--e-disp); letter-spacing: -.02em; margin: 4px 0 8px; color: var(--e-ink); }

/* P19: „do zapłaty” na paskach tylko jako obrys z jasnym kreskowaniem, bez pełnego wypełnienia
   (pełny kolor czytał się jak zapłacone 30%); zapłacone zostaje pełnym zielonym */
html body .e-paybar2 .d, html body .ep-bar .d, html body .e-wg-bar i.d, html body .e-bar i.d, html body .e-paybar .e-bar i.d {
    background: repeating-linear-gradient(135deg, rgba(154,79,22,.22) 0 3px, transparent 3px 7px);
    box-shadow: inset 0 0 0 1.5px var(--e-sun); border-radius: 8px;
}
html body .e-paybar-k .k { background: repeating-linear-gradient(135deg, rgba(154,79,22,.22) 0 2px, transparent 2px 5px); box-shadow: inset 0 0 0 1.5px var(--e-sun); }
html body .e-payline .lg { display: inline-flex; align-items: center; gap: 6px; color: var(--e-sun); font-weight: 700; }
html body .e-payline .lg i { width: 14px; height: 8px; border-radius: 4px; background: repeating-linear-gradient(135deg, rgba(154,79,22,.22) 0 2px, transparent 2px 5px); box-shadow: inset 0 0 0 1.5px var(--e-sun); }

/* P5: pasek podglądu na telefonie bez „jako klient” i „(tylko odczyt)”, pełna nazwa firmy */
.portal-preview-bar__short { display: none; }
@media (max-width: 760px) {
    html body .portal-preview-bar__lead, html body .portal-preview-bar__ro { display: none; }
    html body .portal-preview-bar__short { display: inline; }
    html body .portal-preview-bar__txt { font-size: 13px; }
}

/* okładki: okrągły Wstecz i przyciski na zdjęciu w skali standardowej (P4: na telefonie 44 px) */
html body .e-cover .back { width: var(--e-btn-m); height: var(--e-btn-m); }
html body #qd-share-btn, html body #qd-copy-id { min-width: var(--e-btn-m); justify-content: center; }

/* P25: etykiety etapów bez wielokropka; długie słowo („Zaakceptowane”) mieści się dzięki 12 px i łamaniu z dzieleniem */
html body .e-steps .lb { white-space: nowrap; overflow: visible; text-overflow: clip; font-size: 11.5px; letter-spacing: -.015em; line-height: 1.25; }
html body .e-steps li { min-width: 0; }

/* P51: stopka zawsze poniżej pierwszego ekranu, więc dorysowanie treści nie przesuwa jej w widoku (CLS) */
html body .portal-main { min-height: 100vh; }

/* P59: okno opiekuna: „Rozmowa” jako link, e-mail jako link drugorzędny */
html body .e-threads .e-open { display: inline-flex; align-items: center; gap: 4px; color: var(--e-sea-2); font-weight: 800; font-size: 13.5px; white-space: nowrap; }
html body .e-threads .e-open .e-ic { width: 15px; height: 15px; }
html body .e-care-mail { display: inline-flex; align-items: center; min-height: var(--e-btn-m); padding: 0 6px; color: var(--e-sea-2); font-weight: 700; font-size: 14px; }

/* Puste stany (30.09): jedna liniowa ilustracja w stylu ikon portalu, bez prostokąta, cień tylko pod obiektem */
html body .e-ill { position: relative; display: inline-grid; place-items: center; width: 112px; height: 112px; margin: 0 auto 8px; flex: none; }
html body .e-ill-ic { width: 72px; height: 72px; fill: none; stroke: var(--e-sea); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; position: relative; z-index: 1; }
html body .e-ill-sh { position: absolute; left: 50%; bottom: 10px; width: 64px; height: 10px; margin-left: -32px; border-radius: 50%; background: radial-gradient(closest-side, rgba(21,25,28,.12), rgba(21,25,28,0)); }
html body .e-state.big .e-ill { width: 136px; height: 136px; }
html body .e-state.big .e-ill-ic { width: 92px; height: 92px; }

/* Paski przewijania (30.09, Kevin: „ten scrollbar bez sensu”): w portalu przewija się tylko cała strona.
   Rzędy przewijane w poziomie (chipy, etapy, zakładki, galerie, tabele) bez paska, z zanikiem krawędzi i przyciąganiem.
   Listy w oknach bez paska, z miękkim zanikiem dołu. Rozmowa w zamówieniu bez własnej wysokości (przewija strona).
   Wyjątek: podgląd dużych arkuszy (.epv-view) z cienkim, stonowanym paskiem. */
html body .epv-grp.epv-tabs, html body .e-m06 .scroller, html body .e-otr, html body .eq-fs, html body .ep-seg, html body .e-wait, html body .e-chips,
html body .qp-gallery-strip, html body .qd-calc-tblwrap, html body .e-toc, html body .e-rail, html body .portal-notif-list, html body .portal-search-results,
html body .qd-modal, html body .qf-modal, html body .e-threads, html body #portal-chat-input, html body .e-sheet, html body dialog {
    scrollbar-width: none;
}
html body .epv-grp.epv-tabs::-webkit-scrollbar, html body .e-m06 .scroller::-webkit-scrollbar, html body .e-otr::-webkit-scrollbar, html body .eq-fs::-webkit-scrollbar,
html body .ep-seg::-webkit-scrollbar, html body .e-wait::-webkit-scrollbar, html body .e-chips::-webkit-scrollbar, html body .qp-gallery-strip::-webkit-scrollbar,
html body .qd-calc-tblwrap::-webkit-scrollbar, html body .e-toc::-webkit-scrollbar, html body .e-rail::-webkit-scrollbar, html body .portal-notif-list::-webkit-scrollbar,
html body .portal-search-results::-webkit-scrollbar, html body .qd-modal::-webkit-scrollbar, html body .qf-modal::-webkit-scrollbar, html body .e-threads::-webkit-scrollbar,
html body #portal-chat-input::-webkit-scrollbar, html body .e-sheet::-webkit-scrollbar, html body dialog::-webkit-scrollbar { display: none; }
html body .epv-grp.epv-tabs, html body .e-m06 .scroller, html body .qp-gallery-strip, html body .qd-calc-tblwrap {
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
    scroll-snap-type: x proximity;
}
html body .qp-gallery-strip > * { scroll-snap-align: start; }
html body .portal-notif-list, html body .portal-search-results { -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 20px), transparent); mask-image: linear-gradient(180deg, #000 calc(100% - 20px), transparent); }
html body .qd-chat-msgs { max-height: none; overflow: visible; }
html body .epv-view { scrollbar-width: thin; scrollbar-color: rgba(21,25,28,.25) transparent; }

/* P4: cele dotyku na telefonie co najmniej 44 px. Linki tekstowe zostają w tekście, a obszar klikalny
   powiększa niewidoczne ::after (bez zmiany układu). */
@media (max-width: 760px) {
    html body .e-toc a { min-height: 44px; display: inline-flex; align-items: center; }
    html body .ed-row .ed-ib, html body .e-copy { width: 44px; min-width: 44px; height: 44px; }
    html body .eq-it { min-height: 44px; }
    html body #portal-content summary { min-height: 44px; display: flex; align-items: center; }
    html body .portal-glossary-filter { height: 44px; }
    html body #portal-content a:not([class]), html body .e-linkbtn, html body .ed-nm, html body .nm, html body .ep-doc,
    html body .qp-ref-full, html body a.cl-pill, html body .e-sec-h a { position: relative; }
    html body #portal-content a:not([class])::after, html body .e-linkbtn::after, html body .ed-nm::after, html body .nm::after, html body .ep-doc::after,
    html body .qp-ref-full::after, html body a.cl-pill::after, html body .e-sec-h a::after { content: ""; position: absolute; top: -13px; right: -8px; bottom: -13px; left: -8px; }
    /* w widżetach wiersze są na całą szerokość: obszar tylko w pionie, bez wystawania poza kartę */
    html body #portal-content .e-wg a::after, html body #portal-content .e-mod a::after, html body #portal-content .e-sec-h a::after { left: 0; right: 0; }
}

/* P53: wyszukiwarka: bez kwadratowego obrysu w zaokrąglonym oknie (fokus widać po kursorze i podświetleniu paska) */
html body .portal-search-input:focus, html body .portal-search-input:focus-visible { outline: none; box-shadow: none; }
html body .portal-search-item-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
