:root{color-scheme:light;--panel:#fff;--ink:#17250e;--muted:#526345;--line:#dce5d1;--input:#fff;--mk:#92C11B;--tb-akcent:#6E9214}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.5 system-ui,sans-serif}
header{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--line)}
h1{font-size:20px;margin:0;flex:1}h2{font-size:18px}a{color:#6E9214}button,input,.button{font:inherit;min-height:48px;border-radius:12px}button,.button{padding:10px 14px;border:1px solid var(--line);background:#92C11B;color:#17250e;cursor:pointer}a{display:inline-flex;align-items:center;min-height:48px}header a{font-size:14px;text-align:right}
main{max-width:1100px;margin:auto;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.wrap{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:16px}
#lista{min-width:0}.thr{padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;min-height:64px;margin:6px 0}.thr.active,.thr:hover{background:#f2f8e6}.thr small{display:block;color:var(--muted)}.thr .badge{float:right;background:#92C11B;border-radius:20px;padding:2px 8px}
.dm-os,.thr-gl{display:flex;align-items:center;gap:10px;min-width:0}.dm-aw{width:36px;height:36px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#edf4e3;flex-shrink:0}.dm-nz{font-weight:700;overflow-wrap:anywhere}.dm-pr{display:block;font-size:12px}.dm-tx{min-width:0}
.conv{display:flex;flex-direction:column;height:calc(100dvh - 125px);min-width:0}.conv-h{padding:12px;border-bottom:1px solid var(--line)}.msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px}.m{padding:10px 14px;max-width:85%;border-radius:16px;background:#f0f4eb;white-space:pre-wrap;overflow-wrap:anywhere}.m.mine{align-self:flex-end;background:#e3f1c2}.cf{display:flex;gap:8px;padding:12px 0}.cf input{min-width:0;width:100%;padding:10px;border:1px solid var(--line);color:var(--ink);background:#fff}.emo{min-width:44px;min-height:44px!important}#group{min-width:0}#status{padding:12px;background:#f2f8e6}.tb{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,.thr:focus-visible{outline:3px solid #6E9214;outline-offset:2px}
@media(max-width:640px){.wrap{display:block}body.open #lista{display:none}.conv{height:calc(100dvh - 115px)}header{gap:8px}header img{width:36px;height:36px}header a{max-width:120px}h1{font-size:18px}}

.install-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px;border:2px solid #92C11B;border-radius:14px;background:#f2f8e6}
.install-banner strong{flex:1 1 200px}#installHelp{margin-bottom:12px}
#installDialog{width:calc(100% - 24px);max-width:520px;max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #92C11B;border-radius:16px;padding:20px;color:var(--ink);background:#fff;overflow-wrap:anywhere}
#installDialog::backdrop{background:rgba(23,37,14,.55)}#installDialog h2{margin-top:0}#installDialog button{margin:4px 4px 4px 0}#installDialog .si-kroki{padding:0}#installDialog .si-krok{padding:16px 0}

@media(display-mode:standalone){#installBanner,#installHelp{display:none!important}}
#lista{max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain}
.thr{contain:layout style}
.thr-gl{justify-content:space-between}.dm-os{flex:1;min-width:0;text-decoration:none;color:inherit}.dm-nz{font-weight:500}
.thr.unread .dm-nz,.thr.unread small{font-weight:750}.rave-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#6e9214}
.rave-last{font-size:12px;color:var(--muted);white-space:nowrap;flex:none}.dm-avatar{position:relative;width:36px;height:36px;border-radius:50%;display:inline-flex;flex:none;align-items:center;justify-content:center;background:#92C11B;color:#17250e;font-weight:700;overflow:hidden}
.dm-avatar .dm-aw{background:transparent;position:absolute;inset:0;width:36px;height:36px}.rave-day{align-self:center;font-size:12px;color:var(--muted);padding:8px;position:relative}.rave-message-time{display:block;text-align:right;font-size:11px;color:var(--muted);margin-top:4px}.m{contain:layout style}.rave-loading{min-height:160px;background:linear-gradient(#f2f8e6 20px,transparent 20px);background-size:100% 48px;padding:20px 8px;border-radius:12px}
.thr-amb{border-color:#92C11B;border-width:2px;background:#f6fbec}.thr-amb small{color:#4d6b0e;font-weight:600}

/* ── Strona gościa, logowanie numerem telefonu, zakładki i wyszukiwarka grup (14.11.2026) ── */
html:not(.zal) #wrap,html.zal #gate,html:not(.zal) .tylko-zal,html.zal .tylko-gosc{display:none!important}
html:not(.zal) #installBanner,html:not(.zal) #installHelp{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header img{flex-shrink:0}header h1{min-width:0}
.jezyk{display:inline-flex;align-items:center}.jezyk select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;padding:0 6px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;text-align:center}
.button.maly{min-height:44px;padding:6px 12px;font-size:14px;white-space:nowrap}.button.glowny{width:100%;margin-top:8px;border-color:#6E9214}
.button:disabled,button:disabled{opacity:.6;cursor:default}
button.link{background:none;border:0;color:#4d6b0a;text-decoration:underline;min-height:44px;padding:6px 0;margin-top:4px}
.hero{padding:8px 0}.hero-lead{font-size:24px;line-height:1.25;font-weight:800;margin:0 0 8px;overflow-wrap:anywhere}
.karta{border:2px solid #92C11B;border-radius:16px;padding:16px;margin:16px 0;background:#fff}
.karta h2{margin:0 0 8px}.karta label{display:block;font-weight:700;margin:12px 0 4px}
.karta input[type=tel],.karta input[type=text],.szukaj input,.podpis-pliku input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #9bb07a;border-radius:12px;font:inherit;color:var(--ink);background:#fff}
.karta label.zgoda{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:14px 0 4px}.zgoda input{width:24px;height:24px;min-height:24px;margin:2px 0 0;flex-shrink:0;accent-color:#6E9214}
.linki-prawne{display:flex;flex-wrap:wrap;gap:4px 16px;margin:4px 0 8px;font-size:14px}.linki-prawne a{min-height:44px}
.stan{min-height:24px;margin:10px 0 0;color:var(--muted)}.stan.blad{color:#9b1c1c;font-weight:700}
.opis{padding:12px 0;border-top:1px solid var(--line)}.opis h2{margin:0 0 6px}.opis p{margin:6px 0;overflow-wrap:anywhere}
.kroki{padding-left:22px;margin:6px 0}.kroki li{padding:6px 0}
.szukaj{display:flex;gap:8px;margin:10px 0}.szukaj input{flex:1;min-width:0}.szukaj .button{min-width:84px}
.wyniki{display:grid;gap:10px}.pusto{color:var(--muted);margin:6px 0}
.grupa-karta{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;min-width:0}
.grupa-gl{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;justify-content:space-between}.grupa-nazwa{overflow-wrap:anywhere;min-width:0}.grupa-licz{font-size:13px;color:var(--muted);white-space:nowrap}
.grupa-opis{margin:6px 0;font-size:14px;color:var(--muted);overflow-wrap:anywhere}.grupa-przycisk{width:100%;margin-top:6px}
.zakladki{display:flex;gap:2px;padding:3px;margin:0 0 10px;background:#edf4e3;border:1px solid var(--line);border-radius:12px}.zakladki button{flex:1;min-height:36px;padding:4px 10px;border:0;border-radius:9px;background:transparent;font-size:14px;font-weight:700;color:var(--muted)}.zakladki button.on{background:#92C11B;color:#17250e}
.sekcja{font-size:15px;margin:14px 0 6px}
#groupTools{margin:6px 0 10px}#groupTools:empty{display:none}
.podpis-pliku{display:flex;gap:8px;align-items:center}.podpis-pliku input{flex:1;min-width:0}.podpis-pliku .cb-spinacz{min-width:48px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#f2f8e6}
.stopka{margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.stopka p{margin:4px 0}
@media(max-width:400px){.hero-lead{font-size:21px}header h1{font-size:17px}.button.maly{padding:6px 8px;font-size:13px}.jezyk select{padding:0 2px}header img{width:32px;height:32px}.szukaj{flex-wrap:wrap}.szukaj .button{width:100%}}
@media(display-mode:standalone){.opis.instaluj,#zainstalujHero{display:none}}

/* Kompaktowy układ Rave Chat. */
html.zal header{min-height:52px;padding:calc(6px + env(safe-area-inset-top)) 12px 6px}
html.zal header img{width:32px;height:32px}html.zal header a{min-height:36px;font-size:12px}
html.zal main{padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
.wrap{gap:10px}.zakladki{height:32px;padding:2px;margin-bottom:6px;border-radius:9px}.zakladki button{min-height:26px;padding:0 8px;border-radius:6px}
#lista{max-height:calc(100dvh - 70px - env(safe-area-inset-top))}
.thr{position:relative;min-height:68px;margin:0;padding:10px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;background:#fff}
#threads .thr{height:68px;padding-left:62px}
#threads .dm-avatar{position:absolute;left:8px;top:12px;width:44px;height:44px}
#threads .dm-avatar .dm-aw{width:44px;height:44px}
.thr-gl{gap:6px}.dm-nz{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.thr small{font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rave-last{font-size:12px}.thr-amb{background:#f6fbec;border-left:3px solid #92C11B}
#panelGrupy .szukaj{position:relative;flex-wrap:nowrap;gap:4px;margin:4px 0 8px}
#panelGrupy .szukaj input{min-height:36px;height:36px;padding:6px 8px 6px 32px;border-radius:9px;font-size:14px}
.szukaj-ikona{position:absolute;left:8px;top:8px;display:flex;color:var(--muted);pointer-events:none}
#panelGrupy .szukaj .button{width:auto;min-width:60px;min-height:36px;padding:4px 8px;font-size:13px}
.sekcja{font-size:14px;margin:8px 8px 2px}.wyniki{gap:0}
#panelGrupy .grupa-karta{position:relative;min-height:68px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 80px 8px 8px}
#panelGrupy .grupa-gl{display:block}#panelGrupy .grupa-nazwa{display:block;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panelGrupy .grupa-licz{font-size:12px}#panelGrupy .grupa-opis{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panelGrupy .grupa-przycisk{position:absolute;right:4px;top:16px;width:72px;min-height:36px;margin:0;padding:4px;font-size:12px}
.conv{height:calc(100dvh - 70px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
#back,#groupBack,#profileBack{min-height:32px;padding:4px 10px;align-self:flex-start;font-size:13px;background:#fff;border:0}
.conv-h{padding:4px 8px;min-height:48px}.conv-h a{min-height:44px}.conv-h .dm-pr{display:none}
.msgs{padding:8px;gap:6px}.m{padding:6px 10px}.cf{padding:6px 0;gap:4px}.cf input{padding:6px 10px}.cf button{padding:6px 10px;min-height:40px}
#conv,#group,#profile{transition:transform .18s ease-out;background:#fff;min-width:0}
#groupName{font-size:16px;margin:4px 8px}.profile-person{padding:16px;text-align:center}.profile-person img{width:96px;height:96px;object-fit:cover;border-radius:50%}
@media(max-width:640px){body.open #lista{display:none}.wrap{overflow-x:clip}}
@media(prefers-reduced-motion:reduce){#conv,#group,#profile{transition:none}}
#groups .thr{padding-left:62px;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#groups .thr::before,#panelGrupy .grupa-karta::before{content:attr(data-initial);position:absolute;left:8px;top:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#edf4e3;border-radius:50%;font-size:18px;font-weight:600;color:#4d6b0e}
#panelGrupy .grupa-karta{padding-left:62px}
.profile-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:auto;border-radius:50%;background:#92C11B;font-size:32px;font-weight:600;overflow:hidden}.profile-avatar img{position:absolute;inset:0}

/* Link do marki dostępny dopiero po rozwinięciu menu. */
header{padding-right:64px}
.rave-menu{position:absolute;top:calc(8px + env(safe-area-inset-top));right:12px;z-index:10;width:max-content;font-size:13px}
.rave-menu summary{cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;list-style:none}
.rave-menu summary::-webkit-details-marker{display:none}
.rave-menu[open] a{position:absolute;right:0;white-space:nowrap;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
