/* Panel licytacji — tokeny i komponenty przeniesione 1:1 z zaakceptowanej
   makiety docs/design-makieta.html (źródło wartości: docs/DESIGN.md).
   Dopisane sekcje: logowanie, pasek komunikatów, paginacja, przyciski ‹ ›. */
:root{
  --bg:#F4F3EE; --surface:#FFFFFF; --surface2:#ECEAE2; --ink:#232A38; --muted:#6E7482;
  --line:#DCD9CF; --accent:#2E5C8A; --accent-ink:#FFFFFF;
  --alert:#A63A2B; --alert-bg:#F6E4DF;
  --s-nowy:#2E5C8A; --s-nowy-bg:#E2EBF4; --s-anal:#8A6D1F; --s-anal-bg:#F3ECD4;
  --s-rozm:#5B4A8A; --s-rozm-bg:#E9E4F4; --s-fin:#2F6B45; --s-fin-bg:#DEEEE3;
  --s-odrz:#6E7482; --s-odrz-bg:#E8E8E6;
  --typ-lic:#7A3A2B; --typ-lic-bg:#F2E3DC; --typ-opis:#2F5B57; --typ-opis-bg:#DFECEA;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#191D26; --surface:#222836; --surface2:#2A3040; --ink:#E8E9EC; --muted:#9BA1AD;
    --line:#39404F; --accent:#7FA8D0; --accent-ink:#14202E;
    --alert:#E08A77; --alert-bg:#4A2C24;
    --s-nowy:#8FB4DB; --s-nowy-bg:#28394E; --s-anal:#D6BB6A; --s-anal-bg:#403820;
    --s-rozm:#B3A3DE; --s-rozm-bg:#37304C; --s-fin:#8FC7A4; --s-fin-bg:#24402F;
    --s-odrz:#9BA1AD; --s-odrz-bg:#333844;
    --typ-lic:#DE9B85; --typ-lic-bg:#463028; --typ-opis:#8FC4BE; --typ-opis-bg:#24403D;
  }
}
:root[data-theme="dark"]{
  --bg:#191D26; --surface:#222836; --surface2:#2A3040; --ink:#E8E9EC; --muted:#9BA1AD;
  --line:#39404F; --accent:#7FA8D0; --accent-ink:#14202E;
  --alert:#E08A77; --alert-bg:#4A2C24;
  --s-nowy:#8FB4DB; --s-nowy-bg:#28394E; --s-anal:#D6BB6A; --s-anal-bg:#403820;
  --s-rozm:#B3A3DE; --s-rozm-bg:#37304C; --s-fin:#8FC7A4; --s-fin-bg:#24402F;
  --s-odrz:#9BA1AD; --s-odrz-bg:#333844;
  --typ-lic:#DE9B85; --typ-lic-bg:#463028; --typ-opis:#8FC4BE; --typ-opis-bg:#24403D;
}
body{background:var(--bg);color:var(--ink);font:14px/1.5 "IBM Plex Sans",system-ui,sans-serif;margin:0}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
header.app{background:var(--surface);border-bottom:1px solid var(--line);padding:0 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.brand{font-family:Archivo,system-ui,sans-serif;font-weight:700;font-size:17px;padding:14px 0;letter-spacing:.01em}
.brand small{display:block;font-family:"IBM Plex Sans";font-weight:400;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
nav.tabs{display:flex;gap:4px}
nav.tabs button{appearance:none;border:0;background:none;color:var(--muted);font:inherit;font-weight:600;padding:18px 14px;border-bottom:3px solid transparent;cursor:pointer}
nav.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
nav.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.meta-run{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}
main{padding:22px 24px 48px;max-width:1280px;margin:0 auto}
.note{font-size:12px;color:var(--muted);margin:0 0 16px}
/* pills */
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
.p-nowy{background:var(--s-nowy-bg);color:var(--s-nowy)} .p-anal{background:var(--s-anal-bg);color:var(--s-anal)}
.p-rozm{background:var(--s-rozm-bg);color:var(--s-rozm)} .p-fin{background:var(--s-fin-bg);color:var(--s-fin)}
.p-odrz{background:var(--s-odrz-bg);color:var(--s-odrz)}
.t-lic{background:var(--typ-lic-bg);color:var(--typ-lic)} .t-opis{background:var(--typ-opis-bg);color:var(--typ-opis)}
.p-alert{background:var(--alert-bg);color:var(--alert)}
/* filters */
.filters{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}
.filters select,.filters input[type=search]{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:7px 10px;font:inherit}
.filters label.sw{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:12.5px}
/* table */
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%;min-width:920px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
tr.row:hover td{background:var(--surface2);cursor:pointer}
tr.row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.addr b{font-weight:600}.addr span{display:block;font-size:12px;color:var(--muted)}
.disc{font-size:12px;color:var(--muted)}
tr.dead td{opacity:.55}
.hot{color:var(--alert);font-weight:700}
/* kanban */
.board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;overflow-x:auto;align-items:start}
.col{background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:10px;min-width:230px}
.col h3{margin:2px 4px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;display:flex;justify-content:space-between;align-items:center}
.col h3 .cnt{color:var(--muted);font-weight:500}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer}
.card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.card.dead{opacity:.55}
.card .top{display:flex;gap:6px;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.card .price{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}
.card .adr{font-weight:600;margin:0 0 2px}
.card .sub{font-size:12px;color:var(--muted)}
.card .flame{margin-top:6px;font-size:12px;color:var(--alert);font-weight:600}
.mv-row{display:flex;justify-content:space-between;margin-top:8px}
button.mv{appearance:none;background:var(--surface2);color:var(--ink);border:1px solid var(--line);border-radius:6px;width:30px;height:26px;font:inherit;font-weight:700;cursor:pointer;line-height:1}
button.mv:hover:not(:disabled){background:var(--bg)}
button.mv:disabled{opacity:.35;cursor:default}
button.mv:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* detail */
.detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:16px;align-items:start}
.panelbox{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.detail h2{font-family:Archivo;font-size:20px;margin:0 0 2px;text-wrap:balance}
.crumb{font-size:12px;color:var(--muted);margin-bottom:14px}
.crumb a{color:var(--accent)}
.kv{display:grid;grid-template-columns:150px 1fr;row-gap:8px;column-gap:14px;font-size:13.5px;margin:14px 0}
.kv dt{color:var(--muted)} .kv dd{margin:0;overflow-wrap:anywhere}
.kv .btn{margin-left:6px;vertical-align:baseline}
.kv a.ekw{margin-left:6px;color:var(--accent);font-size:12.5px;font-weight:600;white-space:nowrap}
.obwieszczenie{background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.65;max-width:68ch}
.obwieszczenie h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.obwieszczenie .tresc{white-space:pre-wrap;overflow-wrap:anywhere}
.side h4{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.side h4.odstep{margin-top:16px}
.side select,.side textarea{width:100%;box-sizing:border-box;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit}
.side textarea{min-height:110px;resize:vertical}
.statusbox{margin-bottom:14px}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;margin-top:8px}
.btn.ghost{background:none;color:var(--accent);border:1px solid var(--accent)}
.btn.maly{padding:4px 10px;font-size:12px;margin-top:0}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* załączniki */
.zal{margin-bottom:14px}
.zal h4 .cnt{color:var(--muted);font-weight:500}
.zal-lista{list-style:none;margin:0 0 10px;padding:0}
.zal-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.zal-item:first-child{border-top:1px solid var(--line)}
.zal-nazwa{grid-column:1;color:var(--accent);font-weight:600;overflow-wrap:anywhere}
.zal-meta{grid-column:1;font-size:12px;color:var(--muted)}
.zal-akcje{grid-column:2;grid-row:1/3;display:flex;gap:8px;align-items:center;white-space:nowrap}
.zal-akcja{appearance:none;background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
.zal-akcja.zal-usun{color:var(--alert)}
.zal-akcja:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.zal-pusto{font-size:12.5px;color:var(--muted);margin:0 0 10px}
.zal-dodaj{cursor:pointer}
.zal-status{margin-left:10px;font-size:12.5px;color:var(--s-fin);font-weight:600}
.zal-status.blad{color:var(--alert)}
.timeline{list-style:none;margin:8px 0 0;padding:0}
.timeline li{position:relative;padding:0 0 16px 22px;border-left:2px solid var(--line);margin-left:8px}
.timeline li:last-child{padding-bottom:2px}
.timeline li::before{content:"";position:absolute;left:-7px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--muted)}
.timeline li.done::before{background:var(--s-fin)}
.timeline li.hotdot::before{background:var(--alert)}
.timeline b{display:block;font-size:13px}
.timeline span{font-size:12px;color:var(--muted)}
.timeline a{color:var(--accent)}
.deadline{background:var(--alert-bg);color:var(--alert);border-radius:8px;padding:10px 12px;font-weight:600;font-size:13px;margin-bottom:14px}
.deadline.neutral{background:var(--surface2);color:var(--ink);font-weight:500}
.links a{color:var(--accent);font-size:13px}
[hidden]{display:none!important}
@media(max-width:860px){.detail{grid-template-columns:1fr}.board{grid-template-columns:repeat(5,230px)}}
/* pasek komunikatów */
.msgbar{max-width:1280px;margin:12px auto 0;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:600}
.msgbar.blad{background:var(--alert-bg);color:var(--alert)}
.msgbar.ok{background:var(--s-fin-bg);color:var(--s-fin)}
/* paginacja */
.paginate{display:flex;gap:12px;align-items:center;justify-content:center;margin:14px 0 0;font-size:12.5px;color:var(--muted)}
.paginate .btn{margin-top:0;padding:6px 12px;font-size:12.5px}
/* stany puste/awaryjne */
.empty{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;color:var(--muted);text-align:center}
.zapis-status{margin-left:10px;font-size:12.5px;color:var(--s-fin);font-weight:600}
/* logowanie (formularz w index.php przed sesją) */
body.login{display:flex;justify-content:center;align-items:center;min-height:100dvh}
.login-box{background:var(--surface);border:1px solid var(--line);padding:26px 28px;border-radius:10px;min-width:280px}
.login-box h1{font-family:Archivo,system-ui,sans-serif;font-size:17px;margin:0 0 4px}
.login-box .sub{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px}
.login-box label{display:block;font-size:13px;margin-bottom:6px}
.login-box input[type=password]{display:block;width:100%;margin-top:6px;padding:8px 10px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-sizing:border-box;font:inherit}
.login-box .btn{width:100%;margin-top:12px}
.login-blad{color:var(--alert);font-size:12.5px;margin:0 0 10px}
/* kontakt do dłużnika */
.kontakt{margin-bottom:14px}
.kontakt-osoba{margin:-4px 0 8px;font-weight:600;font-size:13.5px}
.kontakt-linki{margin:0 0 4px;font-size:13px;line-height:1.8}
.kontakt-linki a{color:var(--accent);font-weight:600;overflow-wrap:anywhere}
.kontakt-linki.pusto{color:var(--muted);font-size:12.5px}
.kontakt label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}
.kontakt input{width:100%;box-sizing:border-box;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit}
.kontakt textarea{min-height:56px}
.kontakt-meta{margin:8px 0 0;font-size:12px;color:var(--muted)}
.kontakt-meta:empty{display:none}
.zapis-status.blad{color:var(--alert)}
/* treść księgi wieczystej (tabele EKW po sanityzacji w lib/ksiegi_html.php) */
.kw{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.kw h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.kw h4 .mono{text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink)}
.kw-meta{font-size:12px;color:var(--muted);margin:0 0 8px}
.kw .btn{margin-top:0}
.kw-status{margin-left:10px;font-size:12.5px;color:var(--muted)}
.kw-status.blad{color:var(--alert);font-weight:600}
.kw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 10px}
.kw-tabs button{appearance:none;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer}
.kw-tabs button[aria-selected="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.kw-tabs button.pusty{opacity:.55}
.kw-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.kw-dzial{background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.45;overflow:auto;max-height:70vh}
.kw-pusto{margin:0;color:var(--muted)}
.kw-dzial table.tbOdpis{border-collapse:collapse;width:100%;min-width:640px;margin:0 0 8px}
.kw-dzial td{border:1px solid var(--line);padding:4px 7px;vertical-align:top;overflow-wrap:anywhere}
.kw-dzial td.csTTytul{font-weight:700;font-size:13px;background:var(--surface);color:var(--ink)}
.kw-dzial td.csPodTytulClean{font-weight:600;background:var(--surface)}
.kw-dzial td.csDane{color:var(--muted)}
.kw-dzial td.csBDane{color:var(--ink);font-weight:600}
.kw-dzial td.csEmptyLine{border:0;padding:2px;background:transparent}
.kw-dzial td.csDaneMini,.kw-dzial td.csCOpis{font-size:11px;color:var(--muted)}
