/* =========================================================
   OKTANO — aplikacja (część po zalogowaniu + logowanie)
   Spójna z landingiem: near-black + bursztyn, mono-dane.
   ========================================================= */

*{ box-sizing:border-box; margin:0; padding:0; }

:root{
    --bg:#0b0b0d;
    --panel:#141417;
    --panel-2:#101013;
    --line:#2a2a30;
    --line-2:#3a3a42;
    --ink:#f2f1ec;
    --muted:#8b8b93;
    --acc:#ffb200;
    --ok:#5ad17a;
    --warn:#ff5c4d;
    --disp:"Archivo", system-ui, sans-serif;
    --mono:"JetBrains Mono", ui-monospace, monospace;
}

body{
    font-family:var(--disp); background:var(--bg); color:var(--ink);
    line-height:1.55; min-height:100vh; -webkit-font-smoothing:antialiased;
}
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }

/* ---------- Nawigacja aplikacji ---------- */
.app-nav{ border-bottom:1px solid var(--line); position:sticky; top:0;
    background:rgba(11,11,13,.9); backdrop-filter:blur(8px); z-index:40; }
.app-nav__inner{ max-width:1240px; margin:0 auto; padding:16px 32px;
    display:flex; align-items:center; justify-content:space-between; gap:12px; }
.app-nav__burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; z-index:70; }
.app-nav__burger span{ display:block; width:24px; height:2px; background:var(--ink); border-radius:2px; }
.app-nav__logo{ display:flex; align-items:center; gap:10px; font-weight:900; font-size:1rem; }
.app-nav__mark{ display:inline-grid; place-items:center; width:30px; height:30px; background:var(--acc);
    color:#100d00; font-family:var(--mono); font-weight:700; font-size:.82rem; }
.app-nav__links{ display:flex; align-items:center; gap:6px; flex:1; margin-left:28px;
    font-family:var(--mono); font-size:.86rem; }
.app-nav__grupa{ display:flex; align-items:center; gap:4px; }
.app-nav__grupa--akcje{ margin-left:auto; gap:12px; }
.app-nav__sekcja{ display:none; }   /* etykieta sekcji — tylko w szufladzie mobilnej */
.app-nav__bell-bar{ display:none; }   /* dzwonek na pasku — pokazywany tylko na mobile */
.app-nav__link{ color:var(--muted); padding:8px 10px; border-bottom:2px solid transparent;
    transition:color .15s, border-color .15s; }
.app-nav__link:hover{ color:var(--ink); }
.app-nav__link--akt{ color:var(--ink); border-bottom-color:var(--acc); }

/* Rozwijane menu (Dodaj + konto) */
.menu{ position:relative; }
.menu__trigger{ display:inline-flex; align-items:center; gap:7px; background:none; border:none;
    font:inherit; color:inherit; cursor:pointer; }
.btn-dodaj{ background:var(--acc); color:#100d00; font-weight:700; padding:8px 13px; }
.btn-dodaj:hover{ background:#ffc23d; }
.menu__caret{ font-size:.7rem; transition:transform .18s; }
.menu--open .menu__caret{ transform:rotate(180deg); }
.app-nav__hi{ color:var(--ink); padding:5px 8px 5px 10px; border-left:1px solid var(--line); }
.app-nav__hi:hover{ color:var(--acc); }
.menu__pop{ display:none; position:absolute; top:calc(100% + 12px); left:0; min-width:198px;
    background:var(--panel); border:1px solid var(--line-2); box-shadow:0 14px 36px rgba(0,0,0,.55);
    padding:6px; z-index:60; }
.menu__pop--prawo{ left:auto; right:0; }
.menu--open .menu__pop{ display:block; animation:menu-pop .16s ease both; }
@keyframes menu-pop{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.menu__pop a{ display:flex; align-items:center; gap:11px; padding:9px 11px; color:var(--ink);
    font-size:.85rem; transition:background .12s, color .12s; }
.menu__pop a:hover{ background:var(--panel-2); color:var(--acc); }
.menu__pop-ico{ width:18px; text-align:center; flex-shrink:0; }
.menu__sep{ height:1px; background:var(--line); margin:5px 4px; }
.menu__wyloguj{ color:#ff8377; }
.menu__wyloguj:hover{ color:var(--warn) !important; background:rgba(255,92,77,.08); }

/* Chmurka powiadomień (dropdown przy dzwonku) */
.menu__pop--powiad{ width:344px; max-width:88vw; padding:0; }
.npop__head{ display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:12px 15px; border-bottom:1px solid var(--line); }
.npop__head strong{ font-size:.92rem; }
.npop__ile{ font-family:var(--mono); font-size:.68rem; color:#100d00; background:var(--acc);
    padding:2px 8px; border-radius:10px; }
.npop__lista{ max-height:60vh; overflow-y:auto; }
.npop__item{ display:flex; align-items:flex-start; gap:11px; padding:11px 15px; color:inherit;
    border-bottom:1px solid var(--line); transition:background .12s; }
.npop__item:last-child{ border-bottom:none; }
.npop__item:hover{ background:var(--panel-2); }
.npop__item--nowe{ background:rgba(255,178,0,.06); }
.npop__item--nowe:hover{ background:rgba(255,178,0,.1); }
.npop__av{ position:relative; flex-shrink:0; }
.npop__badge{ position:absolute; right:-4px; bottom:-4px; width:16px; height:16px; border-radius:50%;
    display:grid; place-items:center; font-size:.56rem; line-height:1;
    background:var(--acc); color:#100d00; border:2px solid var(--panel); }
.npop__badge--polubienie{ background:var(--warn); color:#fff; }
.npop__badge--obserwacja{ background:var(--ok); color:#0a1a0f; }
.npop__tekst{ flex:1; font-size:.84rem; line-height:1.35; min-width:0; }
.npop__czas{ display:block; font-family:var(--mono); font-size:.66rem; color:var(--muted); margin-top:2px; }
.npop__pusto{ padding:30px 16px; text-align:center; color:var(--muted); font-size:.86rem; }
.npop__stopka{ display:block; text-align:center; padding:11px; font-family:var(--mono); font-size:.8rem;
    color:var(--muted); border-top:1px solid var(--line); transition:color .12s, background .12s; }
.npop__stopka:hover{ color:var(--acc); background:var(--panel-2); }

/* ---------- Kontener ---------- */
.container{ max-width:1240px; margin:0 auto; padding:40px 32px 80px; }

/* ---------- Typografia ---------- */
h1{ font-weight:900; letter-spacing:-.02em; }
.tag{ font-family:var(--mono); font-size:.78rem; letter-spacing:.04em; color:var(--acc); text-transform:uppercase; }

/* ---------- Przyciski ---------- */
.btn{ display:inline-block; font-family:var(--mono); font-weight:500; font-size:.9rem;
    padding:12px 20px; border:1px solid var(--line-2); color:var(--ink); background:transparent;
    cursor:pointer; transition:.18s ease; }
.btn:hover{ border-color:var(--acc); color:var(--acc); }
.btn--acc{ background:var(--acc); color:#100d00; border-color:var(--acc); font-weight:700; }
.btn--acc:hover{ background:#ffc23d; color:#100d00; }
.btn--sm{ padding:9px 14px; font-size:.82rem; }
.btn--pelny{ width:100%; text-align:center; margin-top:6px; }
.btn--danger{ border-color:#5a2a28; color:#ff8377; }
.btn--danger:hover{ background:var(--warn); color:#fff; border-color:var(--warn); }

/* ---------- Nagłówek sekcji ---------- */
.naglowek-sekcji{ display:flex; align-items:flex-end; justify-content:space-between;
    gap:16px; flex-wrap:wrap; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.naglowek-sekcji h1{ font-size:2rem; }
.naglowek-sekcji .tag{ display:block; margin-bottom:8px; }

/* ---------- Karta / formularz (logowanie, dodawanie) ---------- */
.karta{ background:var(--panel); border:1px solid var(--line); padding:30px; }
.karta--form{ max-width:440px; margin:40px auto; }
.karta h1{ font-size:1.6rem; margin-bottom:6px; }
.podtytul{ color:var(--muted); margin-bottom:24px; font-family:var(--mono); font-size:.86rem; }

/* ---------- Pola formularza ---------- */
.pole{ display:block; margin-bottom:16px; }
.pole > span{ display:block; font-family:var(--mono); font-size:.78rem; letter-spacing:.03em;
    text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
.pole input, .pole textarea, .pole select{
    width:100%; padding:12px 13px; background:var(--panel-2); border:1px solid var(--line-2);
    color:var(--ink); font-family:var(--disp); font-size:1rem; }
.pole input:focus, .pole textarea:focus, .pole select:focus{
    outline:none; border-color:var(--acc); box-shadow:0 0 0 3px rgba(255,178,0,.15); }
.pole textarea{ min-height:90px; resize:vertical; }
.pola-2{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.pod-formularzem{ text-align:center; margin-top:20px; font-family:var(--mono); font-size:.85rem; color:var(--muted); }
.pod-formularzem a{ color:var(--acc); }

/* ---------- Komunikaty ---------- */
.alert{ padding:12px 14px; margin-bottom:16px; font-size:.92rem; border:1px solid; }
.alert--blad{ background:rgba(255,92,77,.1); border-color:#5a2a28; color:#ff9d94; }
.alert--ok{ background:rgba(90,209,122,.1); border-color:#2a5a3a; color:#9be3b0; }

/* ---------- Pusty garaż ---------- */
.pusto{ border:1px dashed var(--line-2); padding:60px 24px; text-align:center; color:var(--muted); }
.pusto p:first-child{ font-size:1.1rem; color:var(--ink); margin-bottom:8px; }
.pusto .btn{ margin-top:22px; }

/* ---------- Siatka aut ---------- */
.auta{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:18px; }
.auto-karta{ background:var(--panel); border:1px solid var(--line); transition:border-color .2s, transform .2s; display:block; overflow:hidden; max-width:460px; }
.auto-karta:hover{ border-color:var(--line-2); transform:translateY(-3px); }
.auto-karta__foto{ position:relative; aspect-ratio:16/10; overflow:hidden;
    background:var(--panel-2); display:grid; place-items:center; border-bottom:1px solid var(--line); }
/* rozmyte tło z tego samego zdjęcia — wypełnia kafelek */
.foto-blur{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:blur(22px) brightness(.45); transform:scale(1.18); }
/* ostre, całe zdjęcie wyśrodkowane na wierzchu (pozycja absolutna = pewne "contain") */
.foto-main{ position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:contain;
    transition:transform .5s ease; }
.auto-karta:hover .foto-main{ transform:scale(1.04); }
.auto-karta__brak-foto{ position:relative; z-index:1; font-family:var(--mono); font-size:.74rem;
    letter-spacing:.08em; text-transform:uppercase; color:var(--line-2); }

/* ---------- Zdjęcie na karcie auta (szczegóły) ---------- */
.auto-foto{ position:relative; height:420px; overflow:hidden; margin-bottom:24px;
    border:1px solid var(--line); background:var(--panel-2); }
.auto-foto .foto-blur{ filter:blur(30px) brightness(.4); }

/* ---------- Pole uploadu / obecne zdjęcie ---------- */
.pole input[type="file"]{ padding:10px; font-family:var(--mono); font-size:.84rem; color:var(--muted); cursor:pointer; }
.pole-hint{ display:block; font-family:var(--mono); font-size:.72rem; color:var(--muted); margin-top:6px; }
.foto-obecne{ margin-bottom:12px; }
.foto-obecne img{ width:100%; max-width:280px; border:1px solid var(--line-2); margin-bottom:8px; }
.foto-usun{ display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.82rem;
    color:var(--muted); text-transform:none; letter-spacing:0; }
.foto-usun input{ width:auto; }
.auto-karta__top{ display:flex; justify-content:space-between; align-items:baseline;
    padding:16px 18px; border-bottom:1px solid var(--line); }
.auto-karta__nazwa{ font-weight:800; font-size:1.25rem; }
.auto-karta__rok{ font-family:var(--mono); font-size:.82rem; color:var(--muted); }
.auto-karta__body{ padding:16px 18px; font-family:var(--mono); font-size:.82rem; color:var(--muted); }
.auto-karta__wiersz{ display:flex; justify-content:space-between; padding:5px 0; }

/* ---------- Odznaki terminów ---------- */
.odznaka{ font-family:var(--mono); font-size:.72rem; padding:3px 8px; border:1px solid; white-space:nowrap; }
.odznaka--ok{ color:var(--ok); border-color:#2a5a3a; }
.odznaka--wkrotce{ color:var(--acc); border-color:#5a4a1a; background:rgba(255,178,0,.08); }
.odznaka--po{ color:var(--warn); border-color:#5a2a28; background:rgba(255,92,77,.08); }
.odznaka--brak{ color:var(--muted); border-color:var(--line); }

/* ---------- Szczegóły auta ---------- */
.auto-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap;
    margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.auto-head h1{ font-size:2.2rem; }
.auto-head__silnik{ font-family:var(--mono); color:var(--muted); margin-top:4px; }
.auto-head__akcje{ display:flex; gap:10px; }

.dane-siatka{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin-bottom:24px; }
.dana{ background:var(--panel); border:1px solid var(--line); padding:16px 18px; }
.dana__label{ font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.dana__wartosc{ font-family:var(--mono); font-size:1.1rem; margin-top:8px; word-break:break-word; }
.dana__wartosc .odznaka{ margin-top:6px; display:inline-block; }

.blok{ background:var(--panel); border:1px solid var(--line); padding:22px; margin-bottom:20px; }
.blok h2{ font-size:1.05rem; font-family:var(--mono); text-transform:uppercase; letter-spacing:.06em;
    color:var(--muted); margin-bottom:12px; }
.blok p{ white-space:pre-wrap; }

.link-powrot{ display:inline-block; font-family:var(--mono); font-size:.82rem; color:var(--muted); margin-bottom:20px; }
.link-powrot:hover{ color:var(--acc); }

/* ---------- Sekcje formularza ---------- */
.form-sekcja{ font-family:var(--mono); font-size:.78rem; letter-spacing:.04em; text-transform:uppercase;
    color:var(--acc); margin:26px 0 14px; padding-top:14px; border-top:1px solid var(--line); }

/* ---------- Dziennik tankowań ---------- */
.tank{ margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.tank-head{ margin-bottom:20px; }
.tank-tytul{ font-size:1.6rem; font-weight:800; margin-top:6px; }
.dana__wartosc--big{ font-size:1.6rem; font-weight:700; }
.dana__wartosc--big small{ font-size:.8rem; color:var(--muted); font-weight:400; }

/* Szybki formularz tankowania */
.tank-form{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px;
    background:var(--panel); border:1px solid var(--line); padding:18px; margin-top:20px; }
.tank-pole{ display:flex; flex-direction:column; gap:6px; flex:1; min-width:120px; }
.tank-pole span{ font-family:var(--mono); font-size:.72rem; letter-spacing:.03em;
    text-transform:uppercase; color:var(--muted); }
.tank-pole input{ padding:10px 12px; background:var(--panel-2); border:1px solid var(--line-2);
    color:var(--ink); font-family:var(--disp); font-size:1rem; }
.tank-pole input:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 3px rgba(255,178,0,.15); }
.tank-pelna{ display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.85rem;
    color:var(--muted); white-space:nowrap; padding-bottom:11px; }
.tank-pelna input{ width:auto; accent-color:var(--acc); }
.tank-form .btn{ padding-top:11px; padding-bottom:11px; }
.tank-hint{ font-family:var(--mono); font-size:.78rem; color:var(--muted); margin-top:10px; }

/* Historia tankowań */
.tank-tabela-wrap{ margin-top:22px; overflow-x:auto; border:1px solid var(--line); }
.tank-tabela{ width:100%; border-collapse:collapse; font-family:var(--mono); font-size:.86rem; }
.tank-tabela th{ text-align:left; padding:12px 14px; background:var(--panel-2); color:var(--muted);
    font-weight:500; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid var(--line); }
.tank-tabela td{ padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap; }
.tank-tabela tr:last-child td{ border-bottom:none; }
.tank-tabela tr:hover td{ background:var(--panel); }
.spalanie{ color:var(--acc); }
.dolewka{ font-size:.72rem; color:var(--muted); border:1px solid var(--line-2); padding:1px 5px; margin-left:4px; }
.tank-usun{ text-align:right; }
.tank-usun button{ background:none; border:none; color:var(--line-2); cursor:pointer; font-size:1rem; padding:2px 6px; transition:color .15s; }
.tank-usun button:hover{ color:var(--warn); }
.tank-pusto{ margin-top:22px; padding:32px; text-align:center; color:var(--muted);
    border:1px dashed var(--line-2); font-family:var(--mono); font-size:.9rem; }

/* ---------- Pulpit (garaż) ---------- */
.pulpit-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.pulpit-head .tag{ display:block; margin-bottom:8px; }
.pulpit-head h1{ font-size:2rem; }
.pulpit-data{ font-family:var(--mono); font-size:.82rem; color:var(--muted); padding:7px 13px; border:1px solid var(--line); }

/* Przypomnienia */
.przypomnienia{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-bottom:26px; }
.przyp{ display:flex; align-items:center; gap:13px; padding:14px 16px; background:var(--panel);
    border:1px solid var(--line-2); position:relative; overflow:hidden; transition:transform .15s, border-color .15s; }
.przyp::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; }
.przyp:hover{ transform:translateY(-2px); }
.przyp__ikona{ width:26px; height:26px; flex-shrink:0; }
.przyp__box{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.przyp__co{ font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.przyp__tekst{ font-family:var(--mono); font-weight:700; font-size:.92rem; }
.przyp--po{ border-color:#5a2a28; } .przyp--po::before{ background:var(--warn); }
.przyp--po .przyp__tekst, .przyp--po .przyp__ikona{ color:var(--warn); }
.przyp--wkrotce{ border-color:#5a4a1a; } .przyp--wkrotce::before{ background:var(--acc); }
.przyp--wkrotce .przyp__tekst, .przyp--wkrotce .przyp__ikona{ color:var(--acc); }

/* Układ pulpitu */
.pulpit{ display:grid; grid-template-columns:1.3fr 1fr; gap:20px; margin-bottom:46px; align-items:start; }

/* Kafelki statystyk */
.staty{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.stat-karta{ background:var(--panel); border:1px solid var(--line); padding:20px; position:relative; overflow:hidden;
    transition:transform .18s, border-color .18s; }
.stat-karta:hover{ transform:translateY(-3px); border-color:var(--line-2); }
.stat-ikona{ width:26px; height:26px; color:var(--muted); margin-bottom:18px; }
.stat-karta__label{ font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.stat-karta__val{ font-family:var(--mono); font-weight:700; font-size:1.7rem; margin-top:7px; line-height:1; }
.stat-karta__val span{ font-size:.78rem; color:var(--muted); font-weight:400; margin-left:4px; }
.stat-karta--primary{ border-color:#5a4a1a; }
.stat-karta--primary::before{ content:""; position:absolute; inset:0 0 auto 0; height:2px; background:var(--acc); }
.stat-karta--primary .stat-ikona, .stat-karta--primary .stat-karta__val{ color:var(--acc); }
.stat-cta{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px;
    background:var(--acc); color:#100d00; padding:20px; font-family:var(--mono); font-weight:700; line-height:1.2;
    transition:transform .18s, background .18s; }
.stat-cta:hover{ transform:translateY(-3px); background:#ffc23d; }
.stat-cta__plus{ font-size:1.8rem; line-height:1; }

/* Digest pod powitaniem */
.pulpit-digest{ font-family:var(--mono); font-size:.84rem; color:var(--muted); margin-top:9px; line-height:1.55; max-width:640px; }
.pulpit-digest .dg-hot{ color:var(--warn); }
.pulpit-digest .dg-mocno{ color:var(--ink); }
.pulpit-digest .dg-sep{ color:var(--line-2); margin:0 4px; }

/* Lewa kolumna pulpitu: kafelki + wykres */
.pulpit__lewa{ display:flex; flex-direction:column; gap:20px; min-width:0; }

/* Górny rząd kafelka: ikona + plakietka trendu */
.stat-karta__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.stat-karta__top .stat-ikona{ margin-bottom:0; }
.stat-trend{ display:inline-flex; align-items:center; gap:4px; font-family:var(--mono); font-size:.7rem;
    padding:3px 9px; border-radius:11px; white-space:nowrap; }
.stat-trend--gora{ color:#ff8377; background:rgba(255,92,77,.1); }   /* wzrost = gorzej dla portfela */
.stat-trend--dol{ color:var(--ok); background:rgba(90,209,122,.1); } /* spadek = lepiej */
.stat-trend--rowno{ color:var(--muted); background:rgba(255,255,255,.04); }

/* Wykres wydatków (6 miesięcy) */
.wykres-karta{ background:var(--panel); border:1px solid var(--line); padding:18px 20px; }
.wykres-karta__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px;
    font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.wykres-karta__suma{ text-transform:none; letter-spacing:0; }
.wykres-karta__suma b{ color:var(--ink); }
.wykres{ display:flex; align-items:flex-end; gap:12px; height:132px; }
.wykres__kol{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
    height:100%; gap:8px; min-width:0; }
.wykres__slup-wrap{ width:100%; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; }
.wykres__val{ font-family:var(--mono); font-size:.62rem; color:var(--muted); margin-bottom:5px; white-space:nowrap; }
.wykres__val--akt{ color:var(--acc); }
.wykres__slup{ width:100%; max-width:46px; background:var(--line-2); border-radius:2px 2px 0 0;
    transition:height .5s cubic-bezier(.2,.6,.2,1); }
.wykres__slup--akt{ background:var(--acc); }
.wykres__kol:hover .wykres__slup{ background:var(--line-2); filter:brightness(1.25); }
.wykres__kol:hover .wykres__slup--akt{ background:#ffc23d; filter:none; }
.wykres__label{ font-family:var(--mono); font-size:.7rem; color:var(--muted); }
.wykres__label--akt{ color:var(--ink); }
.wykres-brak{ font-family:var(--mono); font-size:.85rem; color:var(--muted); text-align:center; padding:26px 0; }

/* Karta auta: obszar-link + skrót tankowania */
.auto-karta__link{ display:block; color:inherit; }
.auto-karta__akcja{ display:block; text-align:center; padding:11px; border-top:1px solid var(--line);
    font-family:var(--mono); font-size:.82rem; color:var(--muted); transition:background .15s, color .15s; }
.auto-karta__akcja:hover{ background:rgba(255,178,0,.08); color:var(--acc); }
.garaz-wiecej{ display:inline-block; margin-top:16px; font-family:var(--mono); font-size:.85rem; color:var(--muted); }
.garaz-wiecej:hover{ color:var(--acc); }

/* Wejście elementów pulpitu */
@keyframes wjazd{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.anim{ animation:wjazd .5s cubic-bezier(.2,.6,.2,1) both; }
.przypomnienia.anim{ animation-delay:.04s; }
.pulpit__news.anim{ animation-delay:.16s; }
.stat-karta.anim{ animation-delay:.08s; }
.stat-karta.anim:nth-child(2){ animation-delay:.13s; }
.stat-karta.anim:nth-child(3){ animation-delay:.18s; }
.stat-cta.anim{ animation-delay:.23s; }
@media (prefers-reduced-motion:reduce){ .anim{ animation:none; } }

/* ---------- Galeria zdjęć ---------- */
.galeria-sek{ margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.galeria-licznik{ font-family:var(--mono); font-size:.9rem; color:var(--muted); font-weight:400; }
.galeria-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-top:20px; }
.gz{ position:relative; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); background:var(--panel-2); }
.gz--glowne{ border-color:var(--acc); box-shadow:0 0 0 1px var(--acc); }
.gz img{ width:100%; height:100%; object-fit:cover; }
.gz-badge{ position:absolute; top:8px; left:8px; background:var(--acc); color:#100d00;
    font-family:var(--mono); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:3px 7px; }
.gz-akcje{ position:absolute; inset:auto 0 0 0; display:flex; justify-content:space-between; align-items:center;
    gap:6px; padding:8px; background:linear-gradient(transparent, rgba(0,0,0,.78)); opacity:0; transition:opacity .2s; }
.gz:hover .gz-akcje{ opacity:1; }
.gz-btn{ background:rgba(20,20,23,.92); border:1px solid var(--line-2); color:var(--ink);
    font-family:var(--mono); font-size:.72rem; padding:5px 8px; cursor:pointer; transition:.15s; }
.gz-btn:hover{ border-color:var(--acc); color:var(--acc); }
.gz-btn--del:hover{ border-color:var(--warn); color:var(--warn); }
.galeria-upload{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:20px;
    padding:16px; border:1px dashed var(--line-2); background:var(--panel); }
.galeria-upload input[type="file"]{ flex:1; min-width:200px; color:var(--muted); font-family:var(--mono); font-size:.82rem; }
@media (hover:none){ .gz-akcje{ opacity:1; } }

/* ---------- Koszt eksploatacji + serwis ---------- */
.eksploatacja{ margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.dana--razem{ border-color:#5a4a1a; }
.dana--razem .dana__wartosc{ color:var(--acc); }
.tank-pole select{ padding:10px 12px; background:var(--panel-2); border:1px solid var(--line-2);
    color:var(--ink); font-family:var(--disp); font-size:1rem; }
.tank-pole select:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 3px rgba(255,178,0,.15); }
.tank-pole--opis{ flex:2.2; min-width:180px; }
.kat{ font-family:var(--mono); font-size:.72rem; padding:2px 7px; border:1px solid var(--line-2); white-space:nowrap; }
.kol-opis{ white-space:normal !important; min-width:150px; max-width:300px; color:var(--muted); }

/* ---------- Gwiazdki (wyświetlanie średniej) ---------- */
.stars{ position:relative; display:inline-block; font-size:1.05rem; line-height:1; letter-spacing:2px; }
.stars__base{ color:var(--line-2); }
.stars__fill{ position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap; color:var(--acc); }

/* ---------- Pasek publikacji na karcie auta ---------- */
.plac-bar{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
    padding:14px 18px; border:1px solid var(--line); background:var(--panel); margin-bottom:24px; }
.plac-bar--on{ border-color:#5a4a1a; }
.plac-bar__info{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.plac-bar__status{ font-family:var(--mono); font-size:.85rem; color:var(--muted); }
.plac-bar--on .plac-bar__status{ color:var(--acc); }
.plac-bar__ocena{ display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.82rem; color:var(--muted); }
.plac-bar__akcje{ display:flex; gap:8px; }

/* ---------- Plac projektów (siatka) ---------- */
.plac-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.projekt-karta{ background:var(--panel); border:1px solid var(--line); overflow:hidden; display:block; color:inherit;
    transition:transform .2s, border-color .2s; max-width:460px; }
.projekt-karta:hover{ transform:translateY(-4px); border-color:var(--line-2); }
.projekt-foto{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--panel-2);
    display:grid; place-items:center; border-bottom:1px solid var(--line); }
.projekt-moc{ position:absolute; top:10px; right:10px; z-index:2; background:var(--acc); color:#100d00;
    font-family:var(--mono); font-weight:700; font-size:.72rem; padding:3px 8px; }
.projekt-body{ padding:16px 18px; }
.projekt-top{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.projekt-nazwa{ font-weight:800; font-size:1.15rem; }
.projekt-rok{ font-family:var(--mono); font-size:.8rem; color:var(--muted); }
.projekt-ocena{ display:flex; align-items:center; gap:8px; margin:10px 0 6px; }
.projekt-ocena__txt{ font-family:var(--mono); font-size:.8rem; color:var(--muted); }
.projekt-autor{ display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.78rem; color:var(--muted); margin-top:6px; }
.top-projekt__autor{ display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.82rem; color:var(--muted); margin:4px 0; }

/* ---------- Strona projektu ---------- */
.projekt-srednia{ text-align:right; }
.projekt-srednia .stars{ font-size:1.5rem; }
.projekt-srednia__val{ font-family:var(--mono); font-size:1.1rem; font-weight:700; margin-top:6px; }
.projekt-srednia__val span{ font-size:.75rem; color:var(--muted); font-weight:400; }
/* Duże zdjęcie + miniatury + arkusz specyfikacji */
.projekt-main{ display:grid; grid-template-columns:1.6fr 1fr; gap:20px; margin-bottom:24px; align-items:start; }
.projekt-hero__foto{ position:relative; height:440px; overflow:hidden; border:1px solid var(--line);
    background:var(--panel-2); display:grid; place-items:center; }
.projekt-thumbs{ display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.pt{ width:88px; height:62px; padding:0; border:1px solid var(--line); background:var(--panel-2);
    cursor:pointer; overflow:hidden; transition:border-color .15s, transform .15s; }
.pt img{ width:100%; height:100%; object-fit:cover; display:block; }
.pt:hover{ transform:translateY(-2px); }
.pt--on{ border-color:var(--acc); box-shadow:0 0 0 1px var(--acc); }

.spec-sheet{ border:1px solid var(--line); background:var(--panel); }
.spec-sheet h2{ font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em;
    color:var(--muted); padding:14px 18px; border-bottom:1px solid var(--line); }
.spec-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 18px;
    border-bottom:1px solid var(--line); font-family:var(--mono); }
.spec-row:last-child{ border-bottom:none; }
.spec-k{ color:var(--muted); text-transform:uppercase; font-size:.72rem; letter-spacing:.05em; }
.spec-v{ font-weight:700; font-size:.95rem; }
.spec-v--acc{ color:var(--acc); }

.blok--mods{ border-left:3px solid var(--acc); }
.blok--login{ text-align:center; }
.blok--login p{ margin-bottom:14px; }
.blok--login__akcje{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* Formularz oceny */
.oceny{ margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.ocena-form{ background:var(--panel); border:1px solid var(--line); padding:20px; margin-bottom:24px; }
.ocena-gwiazdki{ display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px;
    font-size:2rem; line-height:1; margin-bottom:14px; }
.ocena-gwiazdki input{ display:none; }
.ocena-gwiazdki label{ color:var(--line-2); cursor:pointer; transition:color .12s; }
.ocena-gwiazdki label:hover, .ocena-gwiazdki label:hover ~ label, .ocena-gwiazdki input:checked ~ label{ color:var(--acc); }
.ocena-form textarea{ width:100%; min-height:80px; background:var(--panel-2); border:1px solid var(--line-2);
    color:var(--ink); font-family:var(--disp); font-size:1rem; padding:11px 13px; margin-bottom:14px; resize:vertical; }
.ocena-form textarea:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 3px rgba(255,178,0,.15); }

/* Lista opinii */
.opinie-lista{ display:flex; flex-direction:column; gap:12px; }
.opinia{ background:var(--panel); border:1px solid var(--line); padding:16px 18px; }
.opinia__gora{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.opinia__autor{ font-weight:700; }
.opinia__tekst{ margin:8px 0; color:#d9d8d2; white-space:pre-wrap; }
.opinia__data{ font-family:var(--mono); font-size:.72rem; color:var(--muted); }

/* ---------- Benchmark społeczności ---------- */
.benchmark{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:16px 18px; margin-top:16px;
    border:1px solid var(--line-2); background:var(--panel); }
.benchmark__strona{ display:flex; flex-direction:column; gap:3px; }
.benchmark__label{ font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.benchmark__val{ font-family:var(--mono); font-weight:700; font-size:1.3rem; }
.benchmark__val small{ font-size:.7rem; color:var(--muted); font-weight:400; }
.benchmark__vs{ font-family:var(--mono); font-size:.8rem; color:var(--muted); }
.benchmark__wynik{ margin-left:auto; font-family:var(--mono); font-weight:700; padding:6px 12px; white-space:nowrap; }
.benchmark--good{ border-color:#2a5a3a; }
.benchmark--good .benchmark__wynik{ color:var(--ok); background:rgba(90,209,122,.1); }
.benchmark--bad .benchmark__wynik{ color:var(--warn); background:rgba(255,92,77,.1); }
.benchmark-brak{ margin-top:16px; padding:14px 18px; border:1px dashed var(--line-2);
    font-family:var(--mono); font-size:.82rem; color:var(--muted); }

/* ---------- Komentarze pod projektem ---------- */
.komentarz-form{ margin-bottom:20px; }
.komentarz-form textarea{ width:100%; min-height:70px; background:var(--panel-2); border:1px solid var(--line-2); color:var(--ink);
    font-family:var(--disp); font-size:1rem; padding:11px 13px; margin-bottom:12px; resize:vertical; }
.komentarz-form textarea:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 3px rgba(255,178,0,.15); }
.kom-lista{ display:flex; flex-direction:column; gap:10px; }
.kom{ position:relative; background:var(--panel); border:1px solid var(--line); padding:14px 16px; }
.kom__gora{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.kom__autor{ font-weight:700; }
.kom__data{ font-family:var(--mono); font-size:.72rem; color:var(--muted); }
.kom__tekst{ color:#d9d8d2; white-space:pre-wrap; }
.kom__usun{ position:absolute; top:10px; right:10px; }
.kom__usun button{ background:none; border:none; color:var(--line-2); cursor:pointer; font-size:.9rem; }
.kom__usun button:hover{ color:var(--warn); }

/* ---------- Dzwonek powiadomień ---------- */
.app-nav__bell{ position:relative; text-decoration:none; font-size:1.05rem; }
.app-nav__badge{ position:absolute; top:-9px; right:-11px; background:var(--warn); color:#fff;
    font-family:var(--mono); font-size:.6rem; font-weight:700; min-width:16px; height:16px; padding:0 4px;
    border-radius:9px; display:inline-flex; align-items:center; justify-content:center; }
.app-nav__hi{ text-decoration:none; }
.app-nav__hi:hover{ color:var(--acc) !important; }

/* ---------- Powiadomienia ---------- */
.powiad-lista{ display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); }
.powiad{ display:flex; align-items:center; gap:14px; padding:14px 16px; background:var(--bg); color:inherit; text-decoration:none; transition:background .15s; }
.powiad:hover{ background:var(--panel); }
.powiad--nowe{ background:rgba(255,178,0,.06); }
.powiad--nowe:hover{ background:rgba(255,178,0,.1); }
.powiad__tekst{ flex:1; font-size:.94rem; }
.powiad__data{ font-family:var(--mono); font-size:.72rem; color:var(--muted); white-space:nowrap; }

/* ---------- Filtry na placu ---------- */
.filtry{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:24px; }
.filtry select{ background:var(--panel-2); border:1px solid var(--line-2); color:var(--ink);
    font-family:var(--mono); font-size:.85rem; padding:9px 12px; cursor:pointer; }
.filtry select:focus{ outline:none; border-color:var(--acc); }
.filtry__wyczysc{ font-family:var(--mono); font-size:.82rem; color:var(--muted); }
.filtry__wyczysc:hover{ color:var(--acc); }

/* ---------- Projekt tygodnia ---------- */
.top-projekt{ display:grid; grid-template-columns:1.4fr 1fr; border:1px solid #5a4a1a; background:var(--panel);
    margin-bottom:26px; overflow:hidden; color:inherit; text-decoration:none; transition:border-color .2s; }
.top-projekt:hover{ border-color:var(--acc); }
.top-projekt__foto{ position:relative; min-height:230px; overflow:hidden; background:var(--panel-2); display:grid; place-items:center; }
.top-projekt__body{ padding:28px; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.top-projekt__badge{ align-self:flex-start; background:var(--acc); color:#100d00; font-family:var(--mono);
    font-weight:700; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; padding:4px 10px; }
.top-projekt__body h2{ font-weight:800; font-size:1.8rem; }
.top-projekt__meta{ font-family:var(--mono); font-size:.85rem; color:var(--muted); }

/* ---------- Dziennik budowy ---------- */
.build-form{ background:var(--panel); border:1px solid var(--line); padding:18px; margin-bottom:24px; }
.build-form .pole{ margin-bottom:14px; }
.build-form input[type="file"]{ padding:9px; font-family:var(--mono); font-size:.82rem; color:var(--muted); }
.oschron{ margin-top:4px; }
.bl{ display:grid; grid-template-columns:86px 1fr; gap:16px; padding-bottom:18px; }
.bl__kropka{ display:none; }
.bl__data{ font-family:var(--mono); font-size:.78rem; color:var(--muted); text-align:right; padding-top:15px; }
.bl__karta{ position:relative; background:var(--panel); border:1px solid var(--line); border-left:2px solid var(--acc); padding:16px 18px; }
.bl__tytul{ font-weight:800; font-size:1.15rem; margin-bottom:6px; padding-right:24px; }
.bl__opis{ color:#d9d8d2; white-space:pre-wrap; margin-bottom:10px; }
.bl__foto{ overflow:hidden; border:1px solid var(--line); }
.bl__foto img{ width:100%; max-height:360px; object-fit:cover; display:block; }
.bl__usun{ position:absolute; top:12px; right:12px; }
.bl__usun button{ background:none; border:none; color:var(--line-2); cursor:pointer; font-size:.9rem; }
.bl__usun button:hover{ color:var(--warn); }
/* Udostępnianie pojedynczego etapu */
.bl{ scroll-margin-top:84px; }                    /* by kotwica nie chowała się pod menu */
.bl__share{ margin-top:4px; background:none; border:1px solid var(--line); color:var(--muted);
    font-family:var(--mono); font-size:.72rem; padding:5px 11px; border-radius:20px; cursor:pointer;
    transition:color .15s, border-color .15s, background .15s; }
.bl__share:hover{ color:var(--acc); border-color:var(--acc); }
.bl:target .bl__karta{ border-left-color:var(--acc); box-shadow:0 0 0 1px var(--acc), 0 8px 26px rgba(255,178,0,.14);
    animation:blHighlight 1.6s ease-out; }
@keyframes blHighlight{ 0%{ box-shadow:0 0 0 2px var(--acc), 0 0 24px rgba(255,178,0,.4); } 100%{ box-shadow:0 0 0 1px var(--acc), 0 8px 26px rgba(255,178,0,.14); } }

/* ---------- Awatary ---------- */
.awatar{ display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; overflow:hidden;
    flex-shrink:0; background:var(--panel-2); vertical-align:middle; font-size:.95rem; line-height:1; }
.awatar img{ width:100%; height:100%; object-fit:cover; }
.awatar--init{ background:var(--acc); color:#100d00; font-family:var(--disp); font-weight:800; }
.awatar--sm{ width:26px; height:26px; font-size:.78rem; }
.awatar--lg{ width:72px; height:72px; font-size:1.9rem; }
.awatar--xl{ width:96px; height:96px; font-size:2.6rem; border:3px solid var(--bg); }

/* ---------- Karta profilu (styl społecznościowy) ---------- */
.profil-karta{ border:1px solid var(--line); background:var(--panel); margin-bottom:26px; overflow:hidden; }
.profil-baner{ height:96px; border-bottom:1px solid var(--line);
    background:linear-gradient(120deg, #1c1608 0%, #3a2e0a 55%, var(--panel-2) 100%); }
.profil-glowa{ display:flex; align-items:flex-end; gap:16px; padding:0 24px; margin-top:-48px; flex-wrap:wrap; }
.profil-glowa .awatar--xl{ box-shadow:0 6px 20px rgba(0,0,0,.45); }
.profil-glowa__info{ flex:1; min-width:150px; padding-bottom:6px; }
.profil-glowa__info h1{ font-size:1.7rem; }
.profil-meta{ font-family:var(--mono); font-size:.8rem; color:var(--muted); margin-top:4px; }
.profil-lok{ color:var(--acc); }
.profil-glowa__akcje{ padding-bottom:10px; }
.profil-bio{ padding:14px 24px 0; color:#d9d8d2; max-width:660px; line-height:1.55; }
.profil-liczby{ display:flex; flex-wrap:wrap; gap:24px; padding:18px 24px 20px; }
.pl{ font-family:var(--mono); font-size:.82rem; color:var(--muted); }
.pl b{ color:var(--ink); font-size:1.05rem; margin-right:4px; }
.pl--link{ transition:color .15s; }
.pl--link:hover{ color:var(--ink); }
.pl--link:hover b{ color:var(--acc); }

/* ---------- Awatar sprawcy + plakietka typu w powiadomieniach ---------- */
.powiad__av{ position:relative; flex-shrink:0; }
.powiad__badge{ position:absolute; right:-4px; bottom:-4px; width:17px; height:17px; border-radius:50%;
    display:grid; place-items:center; font-size:.6rem; line-height:1;
    background:var(--acc); color:#100d00; border:2px solid var(--bg); }
.powiad__badge--polubienie{ background:var(--warn); color:#fff; }
.powiad__badge--obserwacja{ background:var(--ok); color:#0a1a0f; }

/* ---------- Zakładki obserwujący / obserwuje ---------- */
.obs-taby{ display:flex; gap:4px; margin-bottom:22px; border-bottom:1px solid var(--line); }
.obs-tab{ display:inline-flex; align-items:center; gap:8px; padding:11px 18px; margin-bottom:-1px;
    font-family:var(--mono); font-size:.85rem; color:var(--muted);
    border-bottom:2px solid transparent; transition:color .15s, border-color .15s; }
.obs-tab:hover{ color:var(--ink); }
.obs-tab--akt{ color:var(--ink); border-bottom-color:var(--acc); }
.obs-tab__ile{ font-size:.72rem; padding:1px 7px; border-radius:10px; background:var(--panel); color:var(--muted); }
.obs-tab--akt .obs-tab__ile{ background:var(--acc); color:#100d00; }

/* ---------- Lista użytkowników (obserwujący, obserwuje) ---------- */
.user-lista{ display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); }
.user-wiersz{ display:flex; align-items:center; gap:14px; padding:14px 16px; background:var(--bg);
    transition:background .15s; }
.user-wiersz:hover{ background:var(--panel); }
.user-wiersz__av{ flex-shrink:0; }
.user-wiersz__info{ flex:1; min-width:0; }
.user-wiersz__imie{ font-weight:700; color:inherit; transition:color .15s; }
.user-wiersz__imie:hover{ color:var(--acc); }
.user-wiersz__lok{ font-family:var(--mono); font-size:.72rem; color:var(--acc); margin-top:1px; }
.user-wiersz__bio{ font-size:.85rem; color:var(--muted); margin-top:2px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:52ch; }
.user-wiersz__akcja{ flex-shrink:0; }
.user-wiersz__ty{ flex-shrink:0; font-family:var(--mono); font-size:.72rem; color:var(--muted);
    padding:4px 10px; border:1px solid var(--line); border-radius:20px; }

/* Awatar w menu i przy autorach */
.app-nav__hi{ display:inline-flex; align-items:center; gap:8px; }
.opinia__autor, .kom__autor{ display:inline-flex; align-items:center; gap:8px; color:inherit; text-decoration:none; font-weight:700; }
.opinia__autor:hover, .kom__autor:hover{ color:var(--acc); }

/* ---------- Strona projektu: pasek autora + akcje ---------- */
.autor-bar{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
    padding:13px 16px; border:1px solid var(--line); background:var(--panel); margin-bottom:18px; }
.autor-bar__kto{ display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; min-width:0; }
.autor-bar__kto:hover .autor-bar__imie{ color:var(--acc); }
.autor-bar__txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.autor-bar__imie{ font-weight:800; font-size:1.05rem; transition:color .15s; }
.autor-bar__meta{ font-family:var(--mono); font-size:.76rem; color:var(--muted); }

.projekt-naglowek{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.projekt-naglowek h1{ font-size:2.2rem; }
.projekt-naglowek .auto-head__silnik{ font-family:var(--mono); color:var(--muted); margin-top:4px; }

.akcje-bar{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.akcja{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.86rem; color:var(--ink);
    background:var(--panel); border:1px solid var(--line-2); padding:9px 15px; cursor:pointer; text-decoration:none; transition:.15s; }
.akcja:hover{ border-color:var(--acc); }
.akcja b{ color:var(--muted); font-weight:700; margin-left:2px; }
.akcja__ico{ font-size:1rem; color:var(--muted); }
.akcja__ico--on{ color:#ff3b60; }
.akcja--on{ border-color:#ff3b60; }
.akcja--on .akcja__ico{ color:#ff3b60; }
.akcja--static{ cursor:default; }
.akcja--static:hover{ border-color:var(--line-2); }

/* ---------- Toasty (komunikaty po akcji) ---------- */
.toasts{ position:fixed; right:20px; bottom:20px; z-index:200;
    display:flex; flex-direction:column; gap:10px; max-width:min(92vw,360px); }
.toast{ display:flex; align-items:flex-start; gap:11px; padding:13px 15px;
    background:var(--panel); border:1px solid var(--line-2); border-left:3px solid var(--acc);
    box-shadow:0 12px 34px rgba(0,0,0,.55); font-size:.9rem; line-height:1.4; cursor:pointer;
    animation:toast-in .28s cubic-bezier(.2,.7,.3,1) both; }
.toast--ok{ border-left-color:var(--ok); }
.toast--blad{ border-left-color:var(--warn); }
.toast--info{ border-left-color:var(--acc); }
.toast__ico{ flex-shrink:0; width:20px; height:20px; border-radius:50%; display:grid; place-items:center;
    font-family:var(--mono); font-weight:700; font-size:.72rem; }
.toast--ok .toast__ico{ background:rgba(90,209,122,.16); color:var(--ok); }
.toast--blad .toast__ico{ background:rgba(255,92,77,.16); color:var(--warn); }
.toast--info .toast__ico{ background:rgba(255,178,0,.16); color:var(--acc); }
.toast__txt{ flex:1; color:var(--ink); }
.toast--znika{ animation:toast-out .3s ease forwards; }
@keyframes toast-in{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@keyframes toast-out{ to{ opacity:0; transform:translateX(36px); } }

/* Przycisk w trakcie wysyłania: spinner zamiast tekstu, brak podwójnego kliknięcia */
.btn--loading{ position:relative; color:transparent !important; pointer-events:none; }
.btn--loading::after{ content:""; position:absolute; inset:0; margin:auto; width:15px; height:15px;
    border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%;
    animation:btn-spin .6s linear infinite; }
.btn--acc.btn--loading::after{ border-color:rgba(16,13,0,.35); border-top-color:#100d00; }
@keyframes btn-spin{ to{ transform:rotate(360deg); } }

@media (prefers-reduced-motion:reduce){
    .toast, .toast--znika{ animation:none; }
    .btn--loading::after{ animation:none; }
}

/* ---------- Tablica społeczności (wpisy, pytania, aktywność) ---------- */
.tablica-sekcja{ margin-bottom:46px; }

/* Kompozytor */
.kompozytor{ background:var(--panel); border:1px solid var(--line); padding:16px 18px; margin-bottom:18px; }
.kompozytor__typ{ display:flex; gap:8px; margin-bottom:12px; }
.kompozytor__radio{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:.82rem;
    color:var(--muted); cursor:pointer; border:1px solid var(--line-2); padding:5px 13px; border-radius:20px; transition:.15s; }
.kompozytor__radio input{ accent-color:var(--acc); }
.kompozytor__radio:has(input:checked){ border-color:var(--acc); color:var(--acc); background:rgba(255,178,0,.07); }
.kompozytor textarea{ width:100%; min-height:70px; background:var(--panel-2); border:1px solid var(--line-2); color:var(--ink);
    font-family:var(--disp); font-size:1rem; padding:11px 13px; resize:vertical; }
.kompozytor textarea:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 3px rgba(255,178,0,.15); }
.kompozytor__dol{ display:flex; gap:10px; align-items:center; margin-top:12px; flex-wrap:wrap; }
.kompozytor__auto{ flex:1; min-width:170px; background:var(--panel-2); border:1px solid var(--line-2); color:var(--ink);
    font-family:var(--mono); font-size:.82rem; padding:9px 11px; }
.kompozytor__auto:focus{ outline:none; border-color:var(--acc); }
.kompozytor__dol .btn{ margin-left:auto; }

/* Strumień */
.strumien{ display:flex; flex-direction:column; gap:14px; }

/* Karta wpisu */
.wpis{ background:var(--panel); border:1px solid var(--line); padding:16px 18px; scroll-margin-top:84px; }
.wpis__gora{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.wpis__autor{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:inherit; }
.wpis__autor:hover{ color:var(--acc); }
.wpis__znak{ font-family:var(--mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.05em;
    color:#100d00; background:var(--acc); padding:2px 8px; border-radius:10px; }
.wpis__czas{ font-family:var(--mono); font-size:.72rem; color:var(--muted); }
.wpis__usun{ margin-left:auto; }
.wpis__usun button{ background:none; border:none; color:var(--line-2); cursor:pointer; font-size:.9rem; }
.wpis__usun button:hover{ color:var(--warn); }
.wpis__tresc{ white-space:pre-wrap; color:#e8e7e2; line-height:1.5; }
.wpis__auto{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-family:var(--mono); font-size:.78rem;
    color:var(--muted); border:1px solid var(--line); padding:4px 10px; border-radius:20px; }
.wpis__auto:hover{ color:var(--acc); border-color:var(--acc); }
.wpis__akcje{ display:flex; align-items:center; gap:18px; margin-top:12px; padding-top:12px;
    border-top:1px solid var(--line); flex-wrap:wrap; }
.wpis-like{ display:inline-flex; align-items:center; gap:7px; background:none; border:none; cursor:pointer;
    font-family:var(--mono); font-size:.85rem; color:var(--muted); transition:color .15s; }
.wpis-like__ico{ color:var(--line-2); font-size:1.05rem; line-height:1; transition:color .15s; }
.wpis-like:hover{ color:var(--ink); }
.wpis-like:hover .wpis-like__ico, .wpis-like--on .wpis-like__ico{ color:#ff3b60; }
.wpis-like--on{ color:#ff3b60; }
.wpis__ile-kom{ font-family:var(--mono); font-size:.8rem; color:var(--muted); }

/* Odpowiedzi */
.wpis__komentarze{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.wpis__wiecej-kom{ font-family:var(--mono); font-size:.78rem; color:var(--muted); }
.wpis__wiecej-kom:hover{ color:var(--acc); }
.wkom{ display:flex; align-items:flex-start; gap:9px; }
.wkom__av{ flex-shrink:0; }
.wkom__box{ flex:1; min-width:0; background:var(--panel-2); border:1px solid var(--line); padding:8px 12px; border-radius:12px; }
.wkom__autor{ font-weight:700; color:inherit; margin-right:5px; }
.wkom__autor:hover{ color:var(--acc); }
.wkom__tresc{ font-size:.88rem; color:#e0dfda; white-space:pre-wrap; }
.wkom__czas{ display:block; font-family:var(--mono); font-size:.66rem; color:var(--muted); margin-top:3px; }
.wkom__usun button{ background:none; border:none; color:var(--line-2); cursor:pointer; font-size:.82rem; padding-top:6px; }
.wkom__usun button:hover{ color:var(--warn); }
.wkom-form{ display:flex; gap:8px; margin-top:12px; }
.wkom-form input{ flex:1; min-width:0; background:var(--panel-2); border:1px solid var(--line-2); color:var(--ink);
    font-family:var(--disp); font-size:.92rem; padding:9px 12px; }
.wkom-form input:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 3px rgba(255,178,0,.15); }

/* Linia aktywności w strumieniu */
.akt-wpis{ display:flex; align-items:center; gap:11px; padding:12px 16px; background:var(--panel-2);
    border:1px solid var(--line); border-left:2px solid var(--line-2); }
.akt-wpis__av{ flex-shrink:0; }
.akt-wpis__tresc{ flex:1; font-size:.88rem; color:var(--muted); min-width:0; line-height:1.4; }
.akt-wpis__autor{ font-weight:700; color:var(--ink); }
.akt-wpis__autor:hover{ color:var(--acc); }
.akt-wpis__auto{ color:var(--acc); }
.akt-wpis__czas{ font-family:var(--mono); font-size:.7rem; color:var(--line-2); margin-left:4px; }
.akt-wpis__tag{ flex-shrink:0; font-family:var(--mono); font-size:.62rem; text-transform:uppercase; letter-spacing:.06em;
    color:var(--muted); border:1px solid var(--line); padding:2px 8px; border-radius:10px; }

/* ---------- Reklama sponsorowana (karta w strumieniu) ---------- */
.sponsor{ display:block; background:var(--panel); border:1px solid #5a4a1a; border-left:2px solid var(--acc);
    padding:14px 16px; color:inherit; transition:border-color .15s; }
.sponsor:hover{ border-color:var(--acc); }
.sponsor__ozn{ font-family:var(--mono); font-size:.62rem; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); margin-bottom:10px; }
.sponsor__body{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.sponsor__logo{ width:52px; height:52px; flex-shrink:0; display:grid; place-items:center; background:var(--panel-2); border:1px solid var(--line); overflow:hidden; }
.sponsor__logo img{ width:100%; height:100%; object-fit:cover; }
.sponsor__ikona{ font-size:1.5rem; }
.sponsor__info{ flex:1; min-width:150px; display:flex; flex-direction:column; gap:3px; }
.sponsor__nazwa{ font-family:var(--disp); font-weight:800; font-size:1.05rem; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.sponsor__kat{ font-family:var(--mono); font-size:.6rem; text-transform:uppercase; letter-spacing:.05em; color:#100d00; background:var(--acc); padding:2px 7px; }
.sponsor__opis{ font-size:.85rem; color:var(--muted); }
.sponsor__lok{ font-family:var(--mono); font-size:.72rem; color:var(--acc); }
.sponsor__cta{ flex-shrink:0; background:var(--acc); color:#100d00; font-family:var(--mono); font-weight:700; font-size:.8rem; padding:8px 13px; white-space:nowrap; }

/* ---------- Katalog partnerów ---------- */
.partnerzy-intro{ color:var(--muted); max-width:640px; margin-bottom:22px; }
.kat-filtry{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.kat-filtr{ font-family:var(--mono); font-size:.82rem; color:var(--muted); border:1px solid var(--line-2); padding:6px 14px; border-radius:20px; transition:.15s; }
.kat-filtr:hover{ color:var(--ink); }
.kat-filtr--akt{ color:#100d00; background:var(--acc); border-color:var(--acc); font-weight:700; }
.partnerzy-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.partner{ display:flex; flex-direction:column; gap:8px; background:var(--panel); border:1px solid var(--line); padding:18px; color:inherit; transition:transform .2s, border-color .2s; }
.partner:hover{ transform:translateY(-3px); border-color:var(--acc); }
.partner__logo{ width:56px; height:56px; display:grid; place-items:center; background:var(--panel-2); border:1px solid var(--line); overflow:hidden; }
.partner__logo img{ width:100%; height:100%; object-fit:cover; }
.partner__ikona{ font-size:1.7rem; }
.partner__nazwa{ font-family:var(--disp); font-weight:800; font-size:1.1rem; }
.partner__meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.partner__kat{ font-family:var(--mono); font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; color:#100d00; background:var(--acc); padding:2px 7px; }
.partner__lok{ font-family:var(--mono); font-size:.74rem; color:var(--acc); }
.partner__opis{ font-size:.86rem; color:var(--muted); flex:1; }
.partner__cta{ font-family:var(--mono); font-size:.8rem; color:var(--acc); margin-top:4px; }
.partnerzy-stopka{ margin-top:28px; font-family:var(--mono); font-size:.85rem; color:var(--muted); }
.partnerzy-stopka a{ color:var(--acc); }

/* ---------- Panel admina: reklamy ---------- */
.admin-uklad{ display:grid; grid-template-columns:360px 1fr; gap:22px; align-items:start; }
.admin-form h2{ font-size:1.1rem; margin-bottom:16px; }
.admin-lista{ display:flex; flex-direction:column; gap:10px; }
.admin-rekl{ display:flex; align-items:center; gap:14px; background:var(--panel); border:1px solid var(--line); padding:12px 14px; }
.admin-rekl--off{ opacity:.55; }
.admin-rekl__logo{ width:44px; height:44px; flex-shrink:0; display:grid; place-items:center; background:var(--panel-2); border:1px solid var(--line); overflow:hidden; }
.admin-rekl__logo img{ width:100%; height:100%; object-fit:cover; }
.admin-rekl__ikona{ font-size:1.3rem; }
.admin-rekl__info{ flex:1; min-width:0; }
.admin-rekl__nazwa{ font-weight:700; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.admin-rekl__kat{ font-family:var(--mono); font-size:.6rem; text-transform:uppercase; color:var(--muted); border:1px solid var(--line-2); padding:2px 7px; }
.admin-rekl__stan{ font-family:var(--mono); font-size:.6rem; text-transform:uppercase; color:var(--warn); }
.admin-rekl__staty{ font-family:var(--mono); font-size:.76rem; color:var(--muted); margin-top:4px; }
.admin-rekl__akcje{ display:flex; gap:6px; flex-wrap:wrap; flex-shrink:0; }
.admin-rekl__akcje form{ display:inline; }

/* ---------- Strona błędu 404 ---------- */
.err{ max-width:560px; margin:40px auto 60px; text-align:center; }
.err__kod{ font-family:var(--disp); font-weight:900; font-size:clamp(5rem, 18vw, 9rem); line-height:.9;
    color:var(--acc); letter-spacing:-.03em; }
.err .tag{ display:block; margin-top:10px; }
.err__tytul{ font-size:1.9rem; margin:6px 0 12px; }
.err__opis{ color:var(--muted); margin-bottom:26px; line-height:1.6; }
.err__akcje{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ---------- Strony prawne (regulamin / prywatność) ---------- */
.tresc-prawna{ max-width:720px; margin:6px auto 40px; }
.tresc-prawna h1{ font-size:2rem; margin:6px 0 4px; }
.tresc-prawna h2{ font-size:1.05rem; margin:26px 0 8px; }
.tresc-prawna p, .tresc-prawna li{ color:#d9d8d2; line-height:1.65; }
.tresc-prawna ul{ margin:0 0 4px 20px; }
.tresc-prawna li{ margin-bottom:6px; }
.tresc-prawna a{ color:var(--acc); }
.prawna-data{ font-family:var(--mono); font-size:.8rem; color:var(--muted); margin-bottom:8px; }
.prawna-uwaga{ margin-top:28px; padding:14px 16px; border:1px dashed var(--line-2);
    font-size:.85rem; color:var(--muted) !important; }

/* Zgoda przy rejestracji */
.pole-zgoda{ display:flex; align-items:flex-start; gap:10px; margin:4px 0 18px; font-size:.9rem; color:#d9d8d2; }
.pole-zgoda input{ margin-top:3px; accent-color:var(--acc); flex-shrink:0; width:auto; }
.pole-zgoda a{ color:var(--acc); }

/* Link "nie pamiętasz hasła" + box testowy dev */
.pole-pomoc{ text-align:right; margin:-4px 0 14px; font-family:var(--mono); font-size:.8rem; }
.pole-pomoc a{ color:var(--muted); transition:color .15s; }
.pole-pomoc a:hover{ color:var(--acc); }
.dev-link{ margin:14px 0; padding:12px 14px; border:1px dashed var(--acc); background:rgba(255,178,0,.06);
    font-family:var(--mono); font-size:.78rem; color:var(--muted); word-break:break-all; }
.dev-link a{ color:var(--acc); display:inline-block; margin-top:6px; }

/* Baner "potwierdź e-mail" */
.weryf-banner{ background:rgba(255,178,0,.1); border-bottom:1px solid #5a4a1a;
    display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap;
    padding:11px 20px; font-family:var(--mono); font-size:.85rem; color:var(--acc); }
.weryf-banner button{ background:none; border:1px solid var(--acc); color:var(--acc);
    font-family:var(--mono); font-size:.78rem; padding:5px 12px; cursor:pointer; transition:.15s; }
.weryf-banner button:hover{ background:var(--acc); color:#100d00; }

/* Stopka aplikacji (po zalogowaniu) */
.app-stopka{ max-width:1240px; margin:0 auto; padding:26px 32px; border-top:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
    font-family:var(--mono); font-size:.8rem; color:var(--muted); }
.app-stopka__linki{ display:flex; gap:18px; }
.app-stopka__linki a{ color:var(--muted); transition:color .15s; }
.app-stopka__linki a:hover{ color:var(--acc); }
.app-stopka__linki .app-stopka__pwa{ color:var(--acc); }   /* stały link instalacji PWA (CTA) */

/* ---------- Responsywność ---------- */
@media (max-width:820px){
    .admin-uklad{ grid-template-columns:1fr; }
    .pulpit{ grid-template-columns:1fr; }
    .projekt-main{ grid-template-columns:1fr; }
    .projekt-hero__foto{ height:340px; }
    .top-projekt{ grid-template-columns:1fr; }
    .top-projekt__foto{ min-height:180px; aspect-ratio:16/9; }
}

/* Menu aplikacji: wysuwane z prawej na telefonie/tablecie */
@media (max-width:760px){
    .app-nav__burger{ display:flex; }
    .app-nav__links{
        display:none;                       /* zamknięte — nie zajmuje miejsca, brak poziomego scrolla */
        position:fixed; inset:0 0 0 auto; width:min(82vw,320px); height:100vh;
        background:#0e0e11; border-left:1px solid var(--line);
        flex-direction:column; align-items:stretch; justify-content:flex-start;
        margin-left:0; padding:78px 24px 28px; gap:8px; overflow-y:auto; z-index:60;
        animation:menu-wjazd .2s ease both;
    }
    .app-nav__links.open{ display:flex; }
    @keyframes menu-wjazd{ from{ opacity:0; } to{ opacity:1; } }
    body.menu-otwarte{ overflow:hidden; }

    /* Grupy w kolumnie, z nagłówkiem sekcji */
    .app-nav__grupa{ flex-direction:column; align-items:stretch; gap:2px; width:100%; }
    .app-nav__grupa--akcje{ margin-left:0; margin-top:14px; padding-top:14px;
        border-top:1px solid var(--line); gap:2px; }
    .app-nav__sekcja{ display:block; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
        color:var(--line-2); margin-bottom:6px; }

    .app-nav__link{ padding:10px 0; border-bottom:none; }
    .app-nav__link--akt{ color:var(--acc); }

    /* Rozwijane: w szufladzie pokazane od razu, bez chowania */
    .menu{ width:100%; }
    .menu__trigger, .app-nav__hi{ width:100%; justify-content:flex-start; }
    .btn-dodaj{ background:none; color:var(--acc); padding:10px 0; }
    .app-nav__hi{ border-left:none; padding:10px 0; color:var(--ink); }
    .menu__caret{ display:none; }
    .menu__pop{ display:block !important; position:static; min-width:0;
        padding:0 0 4px 18px; background:none; border:none; box-shadow:none; animation:none; }
    .menu__pop a{ padding:9px 0; }
    .menu__sep{ display:none; }
    /* Chmurka powiadomień w szufladzie: pełna szerokość, kompaktowe wiersze */
    .menu__pop--powiad{ width:auto; padding-left:0; }
    .npop__head{ padding:6px 0; border-bottom:none; }
    .npop__lista{ max-height:none; }
    .npop__item{ padding:10px 0; }
    .npop__stopka{ text-align:left; padding:10px 0; }
    .app-nav__bell{ padding:10px 0; }

    /* Dzwonek powiadomień na pasku (zamiast w chowanym menu) */
    .app-nav__bell-bar{ display:inline-flex; align-items:center; position:relative;
        margin-left:auto; text-decoration:none; font-size:1.15rem; color:var(--ink); padding:4px; }
    .app-nav__links [data-powiad]{ display:none; }   /* nie dubluj dzwonka w szufladzie */
}

/* Menu udostępniania projektu */
.udostepnij{ position:relative; }
.udostepnij__pop{ position:absolute; top:calc(100% + 6px); left:0; z-index:40; min-width:196px;
    background:var(--panel); border:1px solid var(--line-2); padding:6px;
    display:flex; flex-direction:column; gap:2px; box-shadow:0 12px 30px rgba(0,0,0,.45); }
.udostepnij__pop[hidden]{ display:none; }
.udostepnij__opt{ display:flex; align-items:center; gap:11px; width:100%;
    font-family:var(--mono); font-size:.86rem; color:var(--ink); text-decoration:none;
    background:none; border:0; text-align:left; padding:9px 11px; cursor:pointer; }
.udostepnij__opt:hover{ background:var(--panel-2); color:var(--acc); }
.udostepnij__ico{ width:20px; text-align:center; color:var(--muted); font-weight:700; flex-shrink:0; }
.udostepnij__opt:hover .udostepnij__ico{ color:var(--acc); }

/* Pasek stron (paginacja placu projektów) */
.pager{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin:34px 0 6px; }
.pager__link{ font-family:var(--mono); font-size:.85rem; color:var(--ink); text-decoration:none;
    border:1px solid var(--line); padding:9px 14px; }
.pager__link:hover{ border-color:var(--acc); color:var(--acc); }
.pager__link--off{ color:var(--line-2); border-color:var(--line); pointer-events:none; }
.pager__numery{ display:flex; align-items:center; gap:4px; }
.pager__num{ font-family:var(--mono); font-size:.85rem; color:var(--muted); text-decoration:none;
    min-width:36px; text-align:center; padding:8px 6px; border:1px solid transparent; }
.pager__num:hover{ color:var(--ink); border-color:var(--line); }
.pager__num--akt{ color:#100d00; background:var(--acc); border-color:var(--acc); font-weight:700; }
.pager__kropki{ color:var(--muted); padding:0 2px; }
@media (max-width:560px){
    .pager__numery{ order:3; width:100%; justify-content:center; margin-top:4px; }
}

@media (max-width:560px){
    .app-nav__inner{ padding:14px 18px; }
    .przyp{ min-width:100%; }
    .container{ padding:28px 18px 60px; }
    .pola-2{ grid-template-columns:1fr; }
    .tank-pole{ min-width:100%; }
    .tank-pelna{ padding-bottom:0; }
    .staty{ grid-template-columns:1fr; }
}

/* ============================================================
   Panel administratora (pulpit, użytkownicy, treści)
   ============================================================ */
.adm-nav{ display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.adm-nav__link{ font-family:var(--mono); font-size:.86rem; color:var(--muted); text-decoration:none;
    padding:10px 16px; border:1px solid transparent; border-bottom:none; margin-bottom:-1px; }
.adm-nav__link:hover{ color:var(--ink); }
.adm-nav__link--akt{ color:var(--acc); border-color:var(--line); background:var(--panel); }

.adm-staty{ grid-template-columns:repeat(4,1fr); margin-bottom:32px; }

.adm-sekcja{ margin-top:34px; }
.adm-sekcja__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.adm-sekcja__head h2{ font-size:1.15rem; }

/* Wiersz użytkownika / prosty rekord */
.adm-wiersz{ display:flex; align-items:center; gap:13px; background:var(--panel); border:1px solid var(--line); padding:12px 14px; }
.adm-wiersz--blok{ opacity:.6; border-color:#5a2a28; }
.adm-wiersz__info{ flex:1; min-width:0; }
.adm-wiersz__nazwa{ font-weight:700; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.adm-wiersz__nazwa a{ color:var(--ink); text-decoration:none; }
.adm-wiersz__nazwa a:hover{ color:var(--acc); }
.adm-wiersz__meta{ font-family:var(--mono); font-size:.76rem; color:var(--muted); margin-top:4px; overflow-wrap:anywhere; }
.adm-wiersz__meta a{ color:var(--muted); }
.adm-wiersz__akcje{ display:flex; gap:6px; flex-wrap:wrap; flex-shrink:0; }
.adm-wiersz__akcje form{ display:inline; }

/* Etykiety statusu */
.adm-tag{ font-family:var(--mono); font-size:.6rem; text-transform:uppercase; letter-spacing:.03em;
    color:var(--muted); border:1px solid var(--line-2); padding:2px 7px; }
.adm-tag--admin{ color:var(--acc); border-color:#5a4a1a; }
.adm-tag--blok{ color:var(--warn); border-color:#5a2a28; }
.adm-tag--ja{ color:var(--ink); }

/* Wyszukiwarka użytkowników */
.adm-szukaj{ display:flex; gap:8px; margin-bottom:20px; flex-wrap:wrap; }
.adm-szukaj input{ flex:1; min-width:200px; background:var(--panel-2); border:1px solid var(--line);
    color:var(--ink); font-family:var(--mono); font-size:.9rem; padding:10px 12px; }
.adm-szukaj input:focus{ outline:none; border-color:var(--acc); }

/* Zakładki sekcji treści */
.adm-taby{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.adm-tab{ font-family:var(--mono); font-size:.8rem; color:var(--muted); text-decoration:none;
    padding:8px 13px; border:1px solid var(--line); background:var(--panel-2); }
.adm-tab:hover{ color:var(--ink); border-color:var(--line-2); }
.adm-tab--akt{ color:#100d00; background:var(--acc); border-color:var(--acc); font-weight:700; }

/* Rekord treści do moderacji */
.adm-tresc{ display:flex; align-items:flex-start; gap:13px; background:var(--panel); border:1px solid var(--line); padding:12px 14px; }
.adm-tresc__body{ flex:1; min-width:0; }
.adm-tresc__txt{ margin-top:5px; overflow-wrap:anywhere; }
.adm-tresc__txt a{ color:var(--ink); text-decoration:none; }
.adm-tresc__txt a:hover{ color:var(--acc); }
.adm-tresc form{ flex-shrink:0; }
.adm-gwiazdki{ color:var(--acc); letter-spacing:1px; }

/* Sekcja zmiany hasła w edycji użytkownika */
.adm-haslo-sekcja{ border-top:1px solid var(--line); margin-top:18px; padding-top:6px; }
.adm-haslo-sekcja .pole-hint{ margin-bottom:10px; }

/* Edytor dokumentów (regulamin, polityka) */
.admin-uklad--strony{ grid-template-columns:1fr 300px; }
.adm-strona-tresc{ min-height:440px; font-family:var(--mono); font-size:.86rem; line-height:1.6; resize:vertical; }
.adm-pomoc h2{ font-size:1rem; margin-bottom:10px; }
.adm-pomoc__lista{ list-style:none; display:flex; flex-direction:column; gap:9px; margin:12px 0; }
.adm-pomoc__lista li{ font-size:.86rem; color:var(--muted); }
.adm-pomoc code{ font-family:var(--mono); font-size:.8rem; color:var(--acc); background:var(--panel-2);
    border:1px solid var(--line); padding:1px 6px; }
@media (max-width:760px){
    .admin-uklad--strony{ grid-template-columns:1fr; }
}

/* Kafelki skrótów na pulpicie */
.adm-skroty{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.adm-skrot{ display:flex; flex-direction:column; gap:4px; background:var(--panel); border:1px solid var(--line);
    padding:20px; text-decoration:none; transition:transform .15s, border-color .15s; }
.adm-skrot:hover{ transform:translateY(-3px); border-color:var(--line-2); }
.adm-skrot__ico{ font-size:1.6rem; }
.adm-skrot__tyt{ font-weight:700; color:var(--ink); }
.adm-skrot__opis{ font-family:var(--mono); font-size:.76rem; color:var(--muted); }

@media (max-width:760px){
    .adm-staty{ grid-template-columns:1fr 1fr; }
    .adm-skroty{ grid-template-columns:1fr; }
    .adm-wiersz{ flex-wrap:wrap; }
    .adm-wiersz__akcje{ width:100%; }
}
