:root{
  --bg:#f6f7f9;--panel:#fff;--ink:#1d2330;--muted:#6b7280;--line:#e5e7eb;
  --accent:#B61207;--accent-text:#B61207;--accent-ink:#fff;--soft:#F8E7E6;--note-bg:#fff6cc;--note-line:#e6cf6a;--problem:#b42318;--problem-bg:#fde8e7;--quiet:#eef0f3;--quiet-ink:#4b5563;
  /* dymki: my = mięta, Allegro = pomarańcz, kupujący = jasnoszary */
  --me-bg:#dff5ec;--me-line:#a8e0c9;--allegro-bg:#ffe9d6;--allegro-line:#ffb27a;--buyer-bg:#f1f2f4;--buyer-line:#e2e4e8
}
@media (prefers-color-scheme:dark){html:not([data-theme=light]){
  --bg:#121417;--panel:#1b1e23;--ink:#e8eaed;--muted:#9aa1ab;--line:#2b2f36;--soft:#2a2019;--problem:#ff8a80;--problem-bg:#3a1d1b;--quiet:#262a31;--quiet-ink:#c3c8d0;
  --me-bg:#173329;--me-line:#26573f;--allegro-bg:#3a2516;--allegro-line:#7a4520;--buyer-bg:#23262c;--buyer-line:#30343b}}
html[data-theme=dark]{
  --bg:#121417;--panel:#1b1e23;--ink:#e8eaed;--muted:#9aa1ab;--line:#2b2f36;--soft:#2a2019;--problem:#ff8a80;--problem-bg:#3a1d1b;--quiet:#262a31;--quiet-ink:#c3c8d0;
  --me-bg:#173329;--me-line:#26573f;--allegro-bg:#3a2516;--allegro-line:#7a4520;--buyer-bg:#23262c;--buyer-line:#30343b}
*{box-sizing:border-box}html,body{margin:0}
body{font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px}
.topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{font-size:18px;letter-spacing:.2px}.brand b{color:var(--accent)}
.modules{display:flex;gap:4px}.modules a{padding:6px 10px;border-radius:8px;color:var(--muted);font-weight:600}.modules a.on{background:var(--soft);color:var(--ink)}
.badge-demo{margin-left:auto;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12px;padding:2px 8px;border-radius:999px}
.home{padding:24px 16px;max-width:960px;margin:0 auto;width:100%}.home h1{margin:0 0 4px;font-size:22px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:16px}
.tile{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.tile:hover{border-color:var(--accent)}.tile-name{font-weight:700}
.layout{flex:1;display:grid;grid-template-columns:var(--folders-w,170px) var(--list-w,320px) 1fr 300px;min-height:0;position:relative}
/* pasek modułu nad wszystkim */
.subnav{display:flex;gap:4px;align-items:center;padding:6px 16px;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto}
.subnav a{padding:5px 10px;border-radius:8px;color:var(--muted);font-weight:600;white-space:nowrap}
.subnav a.on{background:var(--soft);color:var(--ink)}
.subnav a.connect{margin-left:auto;border:1px solid var(--accent);color:var(--accent-text)}
/* foldery w pionie — jak zakładki arkusza, tylko z boku */
.folders{display:flex;flex-direction:column;gap:2px;padding:10px 0 10px 8px;background:var(--bg);border-right:1px solid var(--line);overflow:auto}
.folders a{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;border-radius:8px 0 0 8px;color:var(--muted);font-weight:600;border-left:3px solid transparent;white-space:nowrap}
.folders a:hover{color:var(--ink)}
.folders a.on{background:var(--panel);color:var(--ink);border-left-color:var(--accent);margin-right:-1px}
.page{flex:1;overflow:auto;min-width:0}
/* skrzynka na całą wysokość okna: lista, rozmowa i panel zamówienia przewijają się osobno */
@media (min-width:761px){body.full{height:100vh;overflow:hidden}body.full .layout>*{overflow:auto;min-height:0}}
.list{border-right:1px solid var(--line);background:var(--panel);overflow:auto}
.filters{display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--line)}
.filters a{padding:6px 10px;border-radius:8px;color:var(--muted);font-weight:600}.filters a.on{background:var(--soft);color:var(--ink)}
.count{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 7px;font-size:12px;margin-left:4px}
.threads{list-style:none;margin:0;padding:0}
.thread{display:block;padding:12px 14px;border-bottom:1px solid var(--line)}
.thread:hover{background:var(--bg)}.thread.active{background:var(--soft);box-shadow:inset 3px 0 var(--accent)}
.row1{display:flex;justify-content:space-between;gap:8px}.row1 time{color:var(--muted);font-size:12px}
.thread.unread .who,.thread.unread .subject{font-weight:700}
.subject{display:block;margin:2px 0}.meta{color:var(--muted);font-size:13px}
.kind{font-size:12px;font-weight:600}.kind.problem{color:var(--problem);background:var(--problem-bg);padding:1px 6px;border-radius:6px}
.empty,.placeholder{padding:24px;color:var(--muted)}
.detail{padding:20px 24px;overflow:auto;min-width:0}
.back{display:none;color:var(--muted);margin-bottom:8px}
.thread-head h1{margin:0 0 4px;font-size:20px}
.messages{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:12px}
.msg{display:flex;flex-direction:column;max-width:80%}
.msg.seller{align-self:flex-end;align-items:flex-end}
.bubble{padding:10px 12px;border-radius:12px;white-space:pre-wrap;border:1px solid}
.msg.buyer .bubble{background:var(--buyer-bg);border-color:var(--buyer-line)}
.msg.seller .bubble{background:var(--me-bg);border-color:var(--me-line)}
.msg.allegro .bubble,.msg.marketplace .bubble{background:var(--allegro-bg);border-color:var(--allegro-line)}
.msg.allegro time,.msg.marketplace time{color:#c2410c;font-weight:600}
.msg time{color:var(--muted);font-size:12px;margin-top:3px}
.reply{display:flex;flex-direction:column;gap:8px;position:sticky;bottom:0;background:var(--bg);padding-top:8px}
.reply label{font-weight:600}
.reply textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);resize:vertical}
.reply button{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:10px 18px;font-weight:700;cursor:pointer}
.order{border-left:1px solid var(--line);background:var(--panel);padding:16px;overflow:auto}
.order h2{font-size:15px;margin:0 0 10px}
.order dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0 0 12px;font-size:13px}.order dt{color:var(--muted)}.order dd{margin:0}
.items{list-style:none;padding:0;margin:0 0 12px;font-size:13px;border-top:1px solid var(--line)}
.items li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.items .total{font-weight:700}
.btn-secondary{display:inline-block;border:1px solid var(--accent);color:var(--accent-text);border-radius:10px;padding:8px 12px;font-weight:700}
.foot{padding:6px 16px;color:var(--muted);font-size:12px;border-top:1px solid var(--line);background:var(--panel)}
@media (max-width:1100px){.layout{grid-template-columns:var(--folders-w,175px) var(--list-w,280px) 1fr}.order{grid-column:3;border-left:0;border-top:1px solid var(--line)}}
@media (max-width:760px){
  .layout{grid-template-columns:1fr}.order{grid-column:1}
  .layout{align-content:start}
  .folders{flex-direction:row;overflow-x:auto;padding:6px 8px;border-right:0;border-bottom:1px solid var(--line)}
  .folders a{border-radius:8px;border-left:0}.folders a.on{margin-right:0}
  .layout.has-active .list,.layout.has-active .folders{display:none}
  .layout:not(.has-active) .detail{display:none}
  .back{display:inline-block}.detail{padding:14px 16px}.msg{max-width:92%}
  .modules a{padding:6px}
}
/* --- etap 2: statusy, przypisanie, kategorie, licznik, szablony, notatki --- */
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center}
.pill{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--muted)}
.st-new{color:#1d4ed8;border-color:#bfd0fb;background:#eef3ff}.st-in_progress{color:#7a5b00;border-color:#f0d78a;background:#fff8e1}
.st-waiting{color:#5b21b6;border-color:#d8c8fb;background:#f4efff}.st-closed{color:var(--muted)}
.wait-ok{color:#166534;border-color:#bfe5cc;background:#ecfdf3}.wait-warn{color:#8a5a00;border-color:#f3d28a;background:#fff7e0}
.wait-alarm{color:#fff;border-color:#c81e1e;background:#d92d20}
.cat{color:var(--ink)}.who-small{font-size:11px;color:var(--muted);margin-left:auto}
.thread.closed{opacity:.6}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .st-new,html:not([data-theme=light]) .st-in_progress,html:not([data-theme=light]) .st-waiting,html:not([data-theme=light]) .wait-ok,html:not([data-theme=light]) .wait-warn{background:var(--bg)}}
html[data-theme=dark] .st-new,html[data-theme=dark] .st-in_progress,html[data-theme=dark] .st-waiting,html[data-theme=dark] .wait-ok,html[data-theme=dark] .wait-warn{background:var(--bg)}
.controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.inline{display:inline-flex;align-items:center;gap:6px}
.inline label{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}
.inline select{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.templates{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:inherit;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
.chip:hover{border-color:var(--accent)}
.mt{margin-top:18px!important}
.notes,.history{list-style:none;padding:0;margin:6px 0;font-size:13px;display:flex;flex-direction:column;gap:8px}


.notes time,.history time{color:var(--muted);font-size:11px}
.note-form{display:flex;flex-direction:column;gap:6px}
.note-form textarea{font:inherit;font-size:13px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
.note-form button{align-self:flex-end;font:inherit;font-size:13px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:6px 10px;cursor:pointer}
/* --- obsada kanałów, zastępstwa, bezpiecznik --- */
.alert{background:#fff4e5;border-bottom:1px solid #f5c27a;color:#7a4a00;padding:10px 16px;font-size:14px}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .alert{background:#3a2a12;color:#ffd59a;border-color:#7a5a20}}
html[data-theme=dark] .alert{background:#3a2a12;color:#ffd59a;border-color:#7a5a20}
.covering{color:#9a3412;border-color:#fdba8c;background:#fff1e6}
.team-link{margin-left:auto}
.team h1{font-size:20px;margin:0 0 4px}.team h2{font-size:15px;margin:16px 0 8px}
.grid{border-collapse:collapse;width:100%;max-width:720px;font-size:14px}
.grid td,.grid th{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left}
.grid th{color:var(--muted);font-weight:600;font-size:12px}
/* --- ostrzeżenia, podpisy, pilne, spam, ustawienia --- */
.warn-box{background:#fff4e5;border:1px solid #f5c27a;color:#7a4a00;border-radius:10px;padding:10px 12px;font-size:13px}
.warn-box ul{margin:6px 0;padding-left:18px}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .warn-box{background:#3a2a12;color:#ffd59a;border-color:#7a5a20}}
html[data-theme=dark] .warn-box{background:#3a2a12;color:#ffd59a;border-color:#7a5a20}
.check{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:400}
.sig-preview{margin:0;font:inherit;font-size:12px;color:var(--muted);white-space:pre-wrap;border-left:3px solid var(--line);padding-left:8px}
.urgent{color:#fff;background:#b42318;border-color:#b42318}
.chip-on{border-color:#b42318;color:#b42318}
.bl-status{color:var(--ink)}
.settings h1{font-size:20px;margin:0 0 4px}.settings h2{font-size:16px}.settings h3{font-size:14px}
.stack{display:flex;flex-direction:column;gap:10px;max-width:720px}
.stack label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.stack label.check{flex-direction:row;font-weight:400}
.stack input,.stack textarea,.stack select{font:inherit;font-size:14px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.stack fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.stack legend{font-size:13px;font-weight:700;padding:0 4px}
.days,.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px}
.btn{align-self:flex-start;background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer;font:inherit}
.grid tr.off>td{opacity:.55}.grid tr.off>td:has(.integration-logo){opacity:1}.actions{display:flex;flex-wrap:wrap;gap:4px}
.team-link{margin-left:auto;display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.user-switch{margin-left:auto}.user-switch select{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.user-switch + .badge-demo{margin-left:0}
.file{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.file input{font:inherit;font-size:13px}
.atts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.att{font-size:12px;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:3px 8px}
.att:hover{border-color:var(--accent)}
/* --- klient nowy/powracający, blokada autoodpowiedzi --- */
.cust{font-size:12px}.cust-new{color:#1d4ed8}.cust-old{color:#166534}
.cust-new-pill{color:#1d4ed8;border-color:#bfd0fb;background:#eef3ff}
.cust-old-pill{color:#166534;border-color:#bfe5cc;background:#ecfdf3}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .cust-new-pill,html:not([data-theme=light]) .cust-old-pill{background:var(--bg)}}
html[data-theme=dark] .cust-new-pill,html[data-theme=dark] .cust-old-pill{background:var(--bg)}
.ok-box{background:#ecfdf3;border:1px solid #bfe5cc;color:#166534;border-radius:10px;padding:10px 12px;font-size:13px}
/* Komunikaty sukcesu dopasowane do KAŻDEGO motywu (Paweł, 01.11.2026): kolor liczony z tła panelu i tekstu motywu,
   więc działa w jasnym, niebieskim, ciemnym, granatowym i w Motywach Premium bez osobnych wartości. */
.ok-box{background:color-mix(in srgb,#22c55e 13%,var(--panel));border-color:color-mix(in srgb,#22c55e 38%,var(--panel));
  color:color-mix(in srgb,#15803d 55%,var(--ink))}
.flash{margin:10px 0 14px;max-width:760px;display:flex;gap:8px;align-items:flex-start}
.flash::before{content:"✓";font-weight:700}
.flash.warn-box::before{content:"!"}
.home .grid{max-width:100%}
/* --- notatki zespołu na górze rozmowy --- */





.note-form .row{justify-content:space-between}
.notes-pill{color:#7a5b00;border-color:#f0d78a;background:#fff8e1}
/* --- awatary --- */
.avatar{border-radius:50%;object-fit:cover;vertical-align:middle;display:inline-block}
.avatar-initials{display:inline-flex;align-items:center;justify-content:center;background:var(--soft);color:var(--accent-text);font-weight:700;font-size:11px;vertical-align:middle}
.me-link{display:inline-flex}
.profile-card{display:flex;gap:16px;align-items:center;margin-top:12px}
.profile-card .avatar-initials{font-size:36px}
.who-small{display:inline-flex;align-items:center;gap:4px}
.readonly-bar{background:#eef3ff;border-bottom:1px solid #bfd0fb;color:#1d3a8a;padding:8px 16px;font-size:13px}
.readonly-bar a{text-decoration:underline}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .readonly-bar{background:#16213d;color:#c7d6ff;border-color:#2b3f73}}
html[data-theme=dark] .readonly-bar{background:#16213d;color:#c7d6ff;border-color:#2b3f73}
.grid td.pre{white-space:pre-wrap;max-width:420px}
.templates{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.reply .templates .chip{align-self:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-weight:600;font-size:13px}
.reply .templates .chip:hover{border-color:var(--accent-text);color:var(--accent-text)}
.templates .group{margin-left:4px}.templates .group:first-child{margin-left:0}
.offer-link{display:inline-flex;vertical-align:-2px;margin-left:4px;color:var(--accent-text);padding:2px}.offer-link:hover{color:var(--ink)}
/* --- grafiki (paczki ChatGPT 31.10.2026) --- */
.ui-icon{display:inline-flex;flex:none;line-height:0}.ui-icon img{display:block}
.subnav a{display:inline-flex;align-items:center;gap:6px}
.folders a .fname{flex:1}.folders a{justify-content:flex-start}
.ch-icon{vertical-align:-4px;border-radius:4px}
.flag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--ink)}.flag img{border-radius:2px;display:block}
.meta.channel{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:2px}
.thread-head .channel{display:inline-flex;align-items:center;gap:4px}
.readonly-bar,.alert{display:flex;gap:8px;align-items:flex-start}
.bar-link{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-weight:700;text-decoration:underline}
.order h2,.team-notes h2,.reply label[for="text"],.label-ico{display:flex;align-items:center;gap:6px}
.readonly-note{display:flex;align-items:center;gap:6px}
.att{display:inline-flex;align-items:center;gap:4px}
.placeholder{display:flex;align-items:center;gap:8px}
.empty{text-align:center}.illus{width:200px;max-width:70%;height:auto;object-fit:contain;display:block;margin:8px auto}
.foot{display:flex;align-items:center;gap:8px;margin-top:auto}  /* stopka zawsze na dole okna (Paweł 02.11.2026) */.foot-logo{border-radius:4px}
/* ustawienia: menu z lewej, podsekcja z prawej */
.settings-shell{display:grid;grid-template-columns:220px 1fr;min-height:100%}
.settings-nav{display:flex;flex-direction:column;gap:2px;padding:14px 0 14px 10px;background:var(--bg);border-right:1px solid var(--line)}
.settings-group{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 10px 4px}
.settings-group:first-child{padding-top:2px}
.settings-nav a{padding:7px 10px;border-radius:8px 0 0 8px;color:var(--muted);font-weight:600;border-left:3px solid transparent}
.settings-nav a:hover{color:var(--ink)}.settings-nav a.on{background:var(--panel);color:var(--ink);border-left-color:var(--accent);margin-right:-1px}
.settings-body{background:var(--panel);min-width:0}
.sources td{vertical-align:middle}
@media (max-width:760px){.settings-shell{grid-template-columns:1fr}.settings-nav{flex-direction:row;flex-wrap:wrap;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.settings-group{width:100%;padding:6px 4px 2px}.settings-nav a{border-radius:8px;border-left:0}.settings-nav a.on{margin-right:0}}
.btn-ico{display:inline-flex;align-items:center;gap:6px}.home h1 .ch-icon{vertical-align:-5px}
.pln{display:block;font-weight:500;color:var(--muted);font-size:12px;text-align:right}
/* grupy ustawień („Wiadomości”, „Źródła danych”) jako nadrzędne — ciemny pasek marki */
.settings-group{background:#27272A;color:#F4F4F5;border-radius:8px;margin:10px 10px 4px 0;padding:7px 10px;font-size:11px;letter-spacing:.08em}
.settings-group:first-child{margin-top:0;padding-top:7px}
.settings-nav a{margin-left:6px}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .settings-group{background:#3F3F46}}
html[data-theme=dark] .settings-group{background:#3F3F46}
.mono-tile{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--panel);font-weight:800;font-size:12px;color:var(--ink)}
.sources .pill{white-space:nowrap}

/* motyw wybrany przez użytkownika (Ustawienia → Wygląd); bez wyboru — jak w systemie */
html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}
.ui-icon .ic-d{display:none}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .ui-icon .ic-l{display:none}html:not([data-theme=light]) .ui-icon .ic-d{display:block}}
html[data-theme=dark] .ui-icon .ic-l{display:none}html[data-theme=dark] .ui-icon .ic-d{display:block}

/* notatki zespołu — wyraźnie oddzielone od rozmowy z klientem (ciemny pasek jak grupy ustawień) */
.team-notes{margin:14px 0 6px;border:1px solid #d6c27a;border-radius:12px;background:var(--panel);overflow:hidden}
.team-notes h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:8px 12px;background:#27272A;color:#F4F4F5;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.team-notes h2 .muted{color:#A1A1AA;text-transform:none;letter-spacing:0;font-weight:500}
.team-notes h2 .ui-icon .ic-l{display:none}.team-notes h2 .ui-icon .ic-d{display:block}
.team-notes .notes{padding:10px 12px 0;margin:0}.team-notes .note-form{padding:10px 12px 12px}
.note{background:var(--note-bg);border:1px solid var(--note-line);border-left:5px solid #c99a06;border-radius:8px;padding:9px 12px;white-space:pre-wrap;color:#1d2330;font-size:14px;line-height:1.45}
.note-customer{background:#efe7ff;border-color:#c9b6f5;border-left-color:#7c5cd6}
.notes time{display:flex;align-items:center;gap:4px;margin-top:3px}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .team-notes{border-color:#6b5a1e}html:not([data-theme=light]) .note{background:#3a3214;border-color:#6b5a1e;border-left-color:#e0b21c;color:#f3ead0}html:not([data-theme=light]) .note-customer{background:#2b2342;border-color:#4b3d73;border-left-color:#9b7cf0;color:#e9e2ff}}
html[data-theme=dark] .team-notes{border-color:#6b5a1e}html[data-theme=dark] .note{background:#3a3214;border-color:#6b5a1e;border-left-color:#e0b21c;color:#f3ead0}html[data-theme=dark] .note-customer{background:#2b2342;border-color:#4b3d73;border-left-color:#9b7cf0;color:#e9e2ff}
/* panel zamówienia: duży kwadrat kanału (ok. 2 × 2 cm) */
.order-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.order-head .ch-icon{width:76px;height:76px;border-radius:14px;flex:none}
.order-head h2{margin:0}
/* login kupującego: kopiuje i otwiera BaseLinkera */
.login-copy{font:inherit;font-weight:700;border:0;background:none;color:inherit;padding:0;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.login-copy:hover{color:var(--accent-text)}
.toast{position:fixed;bottom:48px;left:50%;transform:translateX(-50%);background:#27272A;color:#F4F4F5;padding:10px 16px;border-radius:10px;font-size:14px;box-shadow:0 6px 24px rgba(0,0,0,.25);z-index:50}
.empty .ui-icon img{width:56px;height:56px;margin:12px auto 4px;opacity:.8}
.reply{position:static}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .notes-pill{background:#3a3214;color:#f3ead0;border-color:#6b5a1e}}
html[data-theme=dark] .notes-pill{background:#3a3214;color:#f3ead0;border-color:#6b5a1e}
.link-btn{font:inherit;border:0;background:none;padding:0;color:var(--accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.note-dialog{border:1px solid var(--line);border-radius:14px;padding:16px 18px;max-width:520px;width:calc(100% - 32px);background:var(--panel);color:var(--ink)}
.note-dialog::backdrop{background:rgba(0,0,0,.45)}
.note-dialog h3{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:15px}
.note-dialog form{display:flex;justify-content:flex-end;margin:0}
/* --- TebeaCALC --- */
main.page.calc{display:grid;grid-template-columns:360px minmax(0,1fr);gap:0;align-items:start}
.calc-form{display:flex;flex-direction:column;gap:10px;padding:20px;border-right:1px solid var(--line);background:var(--panel);min-height:100%}
.calc-form h1{font-size:20px;margin:0 0 4px}
.calc-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.calc-form input,.calc-form select,.settings input,.settings select{font:inherit;font-size:14px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.calc-form .two{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}
.calc-out{padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.kpi span{font-size:12px;color:var(--muted);font-weight:600}.kpi b{font-size:24px}.kpi small{color:var(--muted)}
.kpi-good{border-left:5px solid #16a34a}.kpi-bad{border-left:5px solid #dc2626}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}
.card h2{font-size:15px;margin:0 0 8px}.card h3{font-size:13px;margin:12px 0 6px}
.card .grid{max-width:none}
.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.grid tr.total td{font-weight:800;border-top:2px solid var(--ink)}
.methods tr.sel td{background:var(--soft);font-weight:700}.neg{color:#dc2626}
.subnav-soon{padding:5px 10px}
.stack.wide{max-width:none}.fee-row{align-items:flex-end;gap:10px}
.table-scroll{overflow-x:auto}.smart-edit input{width:72px}.smart-edit td,.smart-edit th{white-space:nowrap}
@media (max-width:1000px){main.page.calc{grid-template-columns:1fr}.calc-form{border-right:0;border-bottom:1px solid var(--line)}.calc-grid,.kpis{grid-template-columns:1fr}}
.calc-form label.check{flex-direction:row;align-items:center;font-weight:500}
.calc-form input,.calc-form select{width:100%;min-width:0;box-sizing:border-box}.calc-form .two label{min-width:0}
.translation{display:block;margin:8px -12px -10px;padding:6px 12px 10px;border-top:1px dashed var(--line);font-size:14px;
  background:color-mix(in srgb, currentColor 7%, transparent);border-radius:0 0 12px 12px}
.lang-tag{display:block;font-size:11px;font-weight:600;opacity:.75;margin-bottom:3px}
.lang-tag .flag{margin-right:2px}
.translate-form{display:flex;align-items:center;gap:10px;margin:10px 0 0;flex-wrap:wrap}
.sources .pill.wrap{white-space:normal}
/* kafelki modułów z grafiką (paczka TebeaDESK-moduly-v1) */
.tile-art{flex-direction:row;align-items:center;gap:14px}
.tile-art img{width:88px;height:88px;flex:none;object-fit:contain}
.tile-text{display:flex;flex-direction:column;gap:4px}
.tile:focus-visible,.modules a:focus-visible,.subnav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.modules a{display:inline-flex;align-items:center;gap:6px}
.fees-head{font-size:13px;margin:12px 0 4px}
/* pasek górny: użytkownik po prawej */
.user-area{margin-left:auto;display:flex;align-items:center;gap:10px}
.user-area .user-switch,.user-area .badge-demo{margin-left:0}
.foot{flex-wrap:wrap}.foot-user{margin-left:auto}
/* pulpit wg wizualizacji ChatGPT (TebeaDESK-moduly-v1/PODGLAD) */
.home-v2{max-width:1100px;padding-top:28px}
.eyebrow{color:var(--accent-text);font-weight:800;font-size:12px;letter-spacing:.12em;margin:0 0 6px}
.home-v2 h1{font-size:30px;margin:0 0 6px}
.tiles-v2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-top:20px}
.tiles-v2 .tile{padding:22px;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tiles-v2 .tile:hover{border-color:var(--accent);box-shadow:0 4px 18px rgba(0,0,0,.08)}
.tiles-v2 .tile-name{font-size:17px}
.tile-tag{align-self:flex-start;margin-top:6px;font-size:12px;font-weight:600;color:var(--accent-text);background:var(--soft);border-radius:8px;padding:3px 8px}
.tile-icon{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;border:4px solid var(--accent);flex:none}
.tile-icon .ui-icon img{width:44px;height:44px}
@media (max-width:760px){.tiles-v2{grid-template-columns:1fr}.home-v2 h1{font-size:24px}}
.color-row{display:flex;align-items:center;gap:10px}.color-row input[type=color]{width:46px;height:32px;padding:0;border:1px solid var(--line);border-radius:6px;background:none}
/* telefon: górny pasek mieści się w ekranie (menu przewijane poziomo, użytkownik w drugim wierszu) */
@media (max-width:760px){
  .topbar{flex-wrap:wrap;gap:8px;padding:8px 12px}
  .topbar .modules{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap}
  .topbar .modules a{white-space:nowrap}
  .user-area{gap:6px}.user-area .user-switch select{max-width:150px}
  body{overflow-x:hidden}
}
.add-account label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.add-account input{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.add-account{align-items:flex-end;gap:8px}
/* motyw „Granat” — ciemny granat w stylu edytorów kodu (VS Code). Działa jak ciemny (data-theme=dark)
   z własną paletą; pomarańcz Allegro i czerwienie ostrzeżeń bez zmian. */
html[data-theme=dark][data-variant=navy]{
  --bg:#0D1B2A;--panel:#112338;--ink:#D7E2F0;--muted:#8FA3BF;--line:#1F3A5A;--problem:#ff8a80;--problem-bg:#3a1d26;
  --me-bg:#123A3A;--me-line:#1F5A55;--buyer-bg:#16304D;--buyer-line:#24476E;color-scheme:dark}
html[data-theme=dark][data-variant=navy] .settings-group{background:#1A3350}
html[data-theme=dark][data-variant=navy] .readonly-bar{background:#132B4D;color:#c7d6ff;border-color:#2b4f80}
/* dzwonek powiadomień */
.bell{display:inline-flex;align-items:center;gap:2px;color:var(--muted);padding:4px;border-radius:8px}
.bell:hover,.bell.has{color:var(--ink)}.bell .count{margin-left:0}
/* kategorie komunikatów */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px}
.tag-off{text-decoration:line-through;color:var(--muted)}
/* motyw „Niebieski” — jasny, z niebieskimi bokami jak w Slacku: górny pasek, pasek modułu, foldery
   i menu ustawień niebieskie, część główna (lista, rozmowa, formularze) biała. */
html[data-theme=light][data-variant=blue]{--side:#2C5A7D;--side-2:#24506F;--side-ink:#FFFFFF;--side-muted:#D3E3F0;--side-hover:rgba(255,255,255,.12);--side-on:rgba(255,255,255,.22)}
html[data-side] .topbar{background:var(--side-2);border-bottom-color:var(--side-2);color:var(--side-ink)}
html[data-side] .brand,html[data-side] .brand b{color:var(--side-ink)}
html[data-side] .modules a,html[data-side] .bell{color:var(--side-muted)}
html[data-side] .modules a:hover,html[data-side] .bell:hover,html[data-side] .bell.has{color:var(--side-ink);background:var(--side-hover)}
html[data-side] .modules a.on{background:var(--side-on);color:var(--side-ink)}
html[data-side] .user-area .me,html[data-side] .user-area{color:var(--side-ink)}
html[data-side] .subnav{background:var(--side);border-bottom-color:var(--side)}
html[data-side] .subnav a{color:var(--side-muted)}
html[data-side] .subnav a:hover{color:var(--side-ink);background:var(--side-hover)}
html[data-side] .subnav a.on{background:var(--side-on);color:var(--side-ink)}
html[data-side] .subnav a.connect{border-color:var(--side-ink);color:var(--side-ink)}
html[data-side] .folders,html[data-side] .settings-nav{background:var(--side);border-right-color:var(--side)}
html[data-side] .folders a,html[data-side] .settings-nav a{color:var(--side-muted)}
html[data-side] .folders a:hover,html[data-side] .settings-nav a:hover{color:var(--side-ink);background:var(--side-hover)}
html[data-side] .folders a.on,html[data-side] .settings-nav a.on{background:var(--panel);color:var(--ink);border-left-color:var(--accent)}
html[data-side] .settings-group{background:var(--side-2);color:var(--side-ink)}
/* ikony na niebieskim tle — jasne warianty; na białym zaznaczeniu — zwykłe */
html[data-side] :is(.topbar,.subnav) .ui-icon .ic-l,html[data-side] .folders a:not(.on) .ui-icon .ic-l{display:none}
html[data-side] :is(.topbar,.subnav) .ui-icon .ic-d,html[data-side] .folders a:not(.on) .ui-icon .ic-d{display:block}
.avatar-row{flex-wrap:wrap;gap:12px}.avatar-row input[type=file]{max-width:340px}
.avatar.av-16{width:16px;height:16px;font-size:9px}.avatar.av-28{width:28px;height:28px;font-size:12px}
.avatar.av-40{width:40px;height:40px;font-size:17px}.avatar.av-96{width:96px;height:96px;font-size:40px}
.avatar-row,.avatar-row .btn{font-size:15px}
.page>.settings-shell{min-height:100%}main.page{display:flex;flex-direction:column}main.page>.settings-shell{flex:1}
.stack label.color-row{flex-direction:row;align-items:center;font-weight:400;font-size:14px}
.row .btn{font-size:15px}
/* losowy komunikat (DeepSeek) — wąski pasek pod górnym menu */
.daily-msg{display:flex;align-items:center;gap:10px;padding:7px 16px;background:var(--soft);border-bottom:1px solid var(--line);font-size:14px}
.daily-cat{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);white-space:nowrap}
.daily-text{flex:1;min-width:0}
.daily-close{border:0;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.daily-close:hover{color:var(--ink)}
/* kolory kategorii komunikatów — stałe w każdym motywie (jasne tło, ciemny tekst; kontrast ≥ 4,5:1) */
.daily-msg[class*=cat-]{color:#1d2330;border-left:6px solid var(--cat-line);background:var(--cat-bg)}
.daily-msg[class*=cat-] .daily-cat{color:var(--cat-ink)}.daily-msg[class*=cat-] .daily-close{color:#4b5563}
.cat-suchary{--cat-bg:#DCF5E3;--cat-line:#2E9D57;--cat-ink:#1B6B3A}
.cat-ciekawostki{--cat-bg:#DCEBFB;--cat-line:#2F74C0;--cat-ink:#1D4F8A}
.cat-cos_milego{--cat-bg:#FCE3EE;--cat-line:#D2477F;--cat-ink:#9A2458}
.cat-motywacja{--cat-bg:#FFEBD6;--cat-line:#E07A1F;--cat-ink:#93470A}
.cat-historia{--cat-bg:#EFE5D6;--cat-line:#9C7445;--cat-ink:#6B4A22}
.cat-nauka{--cat-bg:#D8F3F3;--cat-line:#1F9A9A;--cat-ink:#126666}
.cat-jezyk{--cat-bg:#EAE2FA;--cat-line:#7C5CC9;--cat-ink:#55389E}
.cat-porady{--cat-bg:#E6E9EE;--cat-line:#5B6575;--cat-ink:#3A4250}
.cat-historia_europa{--cat-bg:#FDF3C8;--cat-line:#C9A20A;--cat-ink:#7A6000}
.cat-gpw{--cat-bg:#E0F0D2;--cat-line:#5E8F2E;--cat-ink:#3F6519}
.cat-dot{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--cat-line);margin-right:6px;vertical-align:-1px}
/* nadawca e-mail o nieznanej roli (Allegro: USER) — jak kupujący, ale przerywana ramka */
.msg.email .bubble{background:var(--buyer-bg);border:1px dashed var(--muted)}
/* wybór kont widocznych w skrzynce (pod folderami) */
.account-view{display:flex;flex-direction:column;gap:4px;margin:14px 8px 0 4px;padding-top:10px;border-top:1px solid var(--line);font-size:13px}
.account-view-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.account-view .check{display:flex;gap:6px;align-items:center;color:inherit;white-space:nowrap}
html[data-side] .account-view{border-top-color:rgba(255,255,255,.25);color:var(--side-ink)}
html[data-side] .account-view-title{color:var(--side-muted)}
.hidden-accounts{margin:8px;display:block}
@media (max-width:760px){.account-view{flex-direction:row;flex-wrap:wrap;margin:6px 0 0;border-top:0}}
/* notatki zespołu jako zwijany panel */
details.team-notes>summary{list-style:none;cursor:pointer}
details.team-notes>summary::-webkit-details-marker{display:none}
details.team-notes>summary h2::after{content:"▾";margin-left:auto;color:var(--muted);font-size:14px}
details.team-notes:not([open])>summary h2::after{content:"▸"}
details.team-notes>summary h2{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.att-off{opacity:.7;cursor:default}.att-off:hover{border-color:var(--line)}
/* granica folderów i listy wątków — przeciąganie (zapis dla osoby), podwójne kliknięcie = domyślne */
.col-resize{position:absolute;top:0;bottom:0;left:calc(var(--folders-w,170px) - 4px);width:8px;cursor:col-resize;z-index:5;touch-action:none}
.col-resize:hover,.col-resize.dragging{background:linear-gradient(90deg,transparent 3px,var(--accent) 3px,var(--accent) 5px,transparent 5px)}
@media (max-width:1100px){.col-resize{left:calc(var(--folders-w,175px) - 4px)}}
@media (max-width:760px){.col-resize{display:none}}
body.resizing{user-select:none;cursor:col-resize}

/* pod nazwą użytkownika: początek dzisiejszej pracy */
.me-box{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.me-today{font-size:11px;opacity:.75;white-space:nowrap}
/* wyszukiwarka wątków nad listą */
.thread-search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}
.thread-search input[type=search]{flex:1;min-width:0;font:inherit;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg,var(--panel));color:var(--ink)}
/* Notatki zespołu: listwa nad odpowiedzią + szuflada (01.11.2026) */
:root{--notes-on:#1e7a4c;--notes-on-ink:#fff;--notes-on-soft:#e3f4ea}
@media (prefers-color-scheme:dark){html:not([data-theme=light]){--notes-on:#2f9e66;--notes-on-soft:#173326}}
html[data-theme=dark]{--notes-on:#2f9e66;--notes-on-soft:#173326}
.notes-bar{display:flex;align-items:center;gap:10px;margin:14px 0 6px;padding:6px 6px 6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0}
.notes-bar.has-notes{border-color:var(--notes-on);background:var(--notes-on-soft)}
.notes-count{display:inline-flex;align-items:center;gap:6px;flex:none;font:inherit;font-size:13px;font-weight:700;padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--muted)}
.has-notes .notes-count{background:var(--notes-on);border-color:var(--notes-on);color:var(--notes-on-ink);cursor:pointer}
.has-notes .notes-count .ui-icon .ic-l{display:none}.has-notes .notes-count .ui-icon .ic-d{display:block}
.notes-peek{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;font:inherit;font-size:13px;text-align:left;background:none;border:0;padding:4px 2px;color:var(--ink);cursor:pointer}
.notes-peek.empty{color:var(--muted);cursor:default;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peek-text{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:6em}
.peek-by{flex:0 1 auto;max-width:35%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:12px}
.notes-add{flex:none;font:inherit;font-size:13px;font-weight:600;padding:5px 12px;border-radius:8px;border:1px dashed var(--muted);background:transparent;color:var(--ink);cursor:pointer}
.notes-add:hover,.notes-peek:hover .peek-text{color:var(--accent-text)}
.notes-bar button:focus-visible,.drawer-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.notes-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,100vw);height:100vh;max-height:none;padding:0;border:0;border-left:1px solid var(--line);background:var(--panel);color:var(--ink);box-shadow:-12px 0 32px rgba(0,0,0,.18);z-index:50;flex-direction:column}
.notes-drawer[open]{display:flex}
.notes-drawer.is-open{animation:drawer-in .16s ease-out}
@keyframes drawer-in{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.notes-drawer.is-open{animation:none}}
.drawer-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.drawer-head h2{flex:1;display:flex;align-items:center;gap:6px;margin:0;font-size:16px}
.drawer-head .count{background:var(--notes-on);color:var(--notes-on-ink);border-radius:999px;font-size:12px;padding:1px 8px}
.drawer-close{font:inherit;font-size:22px;line-height:1;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.drawer-hint{margin:8px 14px 0}
.notes-drawer .notes{flex:1;overflow:auto;list-style:none;margin:0;padding:10px 14px;display:flex;flex-direction:column;gap:10px}
.notes-drawer .notes time{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:12px;color:var(--muted)}
.drawer-empty{flex:1;margin:0;padding:18px 14px}
.notes-drawer .note-form{display:flex;flex-direction:column;gap:6px;padding:12px 14px 16px;border-top:1px solid var(--line);background:var(--bg)}
.notes-drawer .note-form textarea{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);resize:vertical}
.note-scope{display:flex;flex-wrap:wrap;gap:4px 14px;border:0;margin:0;padding:0}.note-scope legend{padding:0;margin-bottom:2px}
.notes-drawer .note-form .btn{align-self:flex-end}
@media (max-width:760px){.notes-bar{flex-wrap:wrap}.notes-peek{order:3;flex-basis:100%}.notes-peek.empty{display:none}}
.section-gap{margin-top:32px}
.sources + .muted.small,.sources + .warn-box,.sources ~ form.add-account{margin-top:14px}
/* ikony integracji (własne piktogramy, kolor kafelka per integracja) */
.int-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex:none;font-weight:800;background:var(--int-bg,#eef0f3);color:var(--int-ink,#3b4252)}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .int-icon{background:color-mix(in srgb,var(--int-ink) 22%,#1b1e23);color:color-mix(in srgb,var(--int-ink) 55%,#fff)}}
html[data-theme=dark] .int-icon{background:color-mix(in srgb,var(--int-ink) 22%,#1b1e23);color:color-mix(in srgb,var(--int-ink) 55%,#fff)}
.int-meta{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.check-now{margin-top:12px}
.notion-link{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}
.notion-link input{flex:1;min-width:220px;font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.add-account select{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
/* nagłówek wątku zawsze widoczny (status, opiekun, pilne, spam, kategoria) — także w długich rozmowach */
.detail>.thread-head{position:sticky;top:-20px;z-index:6;margin:-20px -24px 0;padding:16px 24px 10px;background:var(--bg);border-bottom:1px solid var(--line)}
/* telefon: przewija się cała strona, nie .detail — nagłówek przyklejony do okna (recenzja R07) */
@media (max-width:760px){.detail{overflow:visible}.detail>.thread-head{top:0;margin:0 -16px;padding:10px 16px 8px}}
.notes-bar a{text-decoration:none}
.note-actions{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:12px}
.note-actions summary{cursor:pointer;color:var(--muted);list-style:none}.note-actions summary::-webkit-details-marker{display:none}
.note-actions summary:hover,.note-actions summary:focus-visible{color:var(--accent-text)}
.note-actions details[open]{flex-basis:100%}
.note-edit-form,.note-delete-form{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.note-delete-form{flex-direction:row;align-items:center;flex-wrap:wrap}
.note-edit-form textarea{font:inherit;width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.note-edit-form .chip{align-self:flex-end}
.chip.danger{border-color:var(--problem);color:var(--problem)}
/* jaskrawy licznik powiadomień przy kopercie (granat: turkus; pozostałe motywy — własny jaskrawy kolor) */
:root{--notif-bg:#ff3d71;--notif-ink:#fff}
html[data-theme=dark]{--notif-bg:#ff4f8b;--notif-ink:#fff}
@media (prefers-color-scheme:dark){html:not([data-theme=light]){--notif-bg:#ff4f8b;--notif-ink:#fff}}
html[data-variant=navy]{--notif-bg:#22e5d4;--notif-ink:#062a3a}
html[data-variant=blue]{--notif-bg:#ffd400;--notif-ink:#1b1f3b}
.bell{position:relative}
.bell .count{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:var(--notif-bg);color:var(--notif-ink);font-size:11px;font-weight:800;line-height:18px;text-align:center;
  box-shadow:0 0 0 2px var(--panel),0 0 10px color-mix(in srgb,var(--notif-bg) 70%,transparent)}
.channel-title{display:flex;align-items:center;gap:10px}
.channels td .chip{margin:2px 0}
.channels .chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.channel-connect{align-items:flex-start;max-width:560px}
.channel-connect label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;width:100%}
.channel-connect input{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.sig-label{display:flex;align-items:center;gap:8px;font-weight:600}
.stack .sig-label{flex-direction:row;justify-content:flex-start;align-self:flex-start;text-align:left}
.integration-logo{display:inline-flex;flex:none;line-height:0}
/* telefon: wiersze integracji i kanałów jako karta (logo | nazwa, pod spodem stan i przyciski) */
@media (max-width:760px){
  .grid.sources tr{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 10px;padding:8px 0;border-bottom:1px solid var(--line)}
  .grid.sources td{display:block;border:0;padding:0;min-width:0}
  .grid.sources td:nth-child(n+3){grid-column:2}
}
.channel-logo{text-align:center}.channel-logo .mirakl-tag{display:block;width:max-content;margin:4px auto 0;font-size:10px;padding:1px 6px}
.channel-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}
/* lista powiadomień: „nowe” w kolorach licznika przy kopercie (każdy motyw) */
.notif-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.notif{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.notif:not(.unread) .notif-text{color:var(--muted)}
.notif-text{font:inherit;text-align:left;background:none;border:0;padding:0;color:var(--ink);cursor:pointer}
.notif-text:hover,.notif-text:focus-visible{text-decoration:underline}
.notif-new{display:inline-block;background:var(--notif-bg);color:var(--notif-ink);font-weight:800;font-size:11px;border-radius:999px;padding:1px 8px;margin-right:4px}
.notif-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:760px){.notif{grid-template-columns:1fr}.notif-actions{justify-content:flex-start}}

/* Podpisy osobiste: pionowe zakładki kanałów z logo (TebeaRESPONDER → Podpisy) */
.sig-tabs{display:grid;grid-template-columns:minmax(170px,220px) 1fr;gap:16px;align-items:start}
.sig-tablist{display:flex;flex-direction:column;gap:4px}
.sig-tab{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid transparent;color:inherit;text-decoration:none}
.sig-tab:hover{background:var(--hover,rgba(0,0,0,.05))}
.sig-tab.active{border-color:var(--accent);background:var(--accent-soft,rgba(0,0,0,.06));font-weight:600}
.sig-tab-logo{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:32px}
.sig-tab-logo .mirakl-tag{font-size:9px;padding:0 4px}
.sig-panel .sig-preview{margin:4px 0 0;white-space:pre-wrap}
.sig-panel-accounts{margin-top:28px;padding-top:16px;border-top:1px solid var(--line,rgba(0,0,0,.12))}
@media (max-width:700px){.sig-tabs{grid-template-columns:1fr}.sig-tablist{flex-direction:row;overflow-x:auto}}

/* Linki w wiadomościach klientów i strona pośrednia */
.bubble .ext-link{word-break:break-all;text-decoration:underline}
.link-check{max-width:760px}
.link-check .link-url{white-space:pre-wrap;word-break:break-all;padding:10px;border-radius:8px;background:var(--buyer,#F1F2F4)}
.link-check .link-host{font-size:1.1em}
.link-reports td{vertical-align:top}
.link-reports tr.highlight td{background:var(--notif-bg,#FFF3B0);color:var(--notif-ink,inherit)}
.link-reports td.row{display:flex;gap:6px;flex-wrap:wrap}
.pill.ok{background:#E6F6EC;color:#166534;border-color:#BFE5CC}
/* --- Motywy Premium — motywy marek (Paweł, 01.11.2026) — palety ze stron marek; jasne, z kolorowymi bokami jak „Niebieski”.
   Kolor główny, dymki i notatki — domyślne marki z preferences.BRAND_THEMES (każdy może zmienić). */
/* Elizabeth Ettiene (ettiene.pl): bordo, beże, ciemna zieleń */
html[data-variant=ettiene]{--bg:#F6F1E9;--panel:#FFFFFF;--ink:#242420;--muted:#67645E;--line:#E9DED0;
  --side:#63283B;--side-2:#4F1F2F;--side-ink:#FFFFFF;--side-muted:#EBD9DE;--side-hover:rgba(255,255,255,.10);
  --side-on:rgba(255,255,255,.20);--notif-bg:#F4EDE1;--notif-ink:#4F1F2F}
html[data-variant=ettiene] .topbar{box-shadow:inset 0 -1px 0 #8A4A5E}
/* Bad Surfer (badsurfer.eu): wakacyjny zachód słońca — indygo, fiolet, koral */
html[data-variant=badsurfer]{--bg:#F5F4FA;--panel:#FFFFFF;--ink:#1F1B33;--muted:#6A6484;--line:#E3E0EF;
  --side:#453A94;--side-2:#3A3080;--side-ink:#FFFFFF;--side-muted:#DCD6F5;--side-hover:rgba(255,255,255,.12);
  --side-on:rgba(255,255,255,.22);--notif-bg:#FFD23F;--notif-ink:#2A1F5C}
html[data-variant=badsurfer] .topbar{background:linear-gradient(90deg,#3A3080 0%,#6A4FB0 45%,#B23A63 80%,#CF3448 100%)}
/* HøyBerg (hoyberg.pl): północny granat, śnieg, czerwień jak przycisk „Odkryj markę” */
html[data-variant=hoyberg]{--bg:#EEF1F5;--panel:#FFFFFF;--ink:#0A0E14;--muted:#556173;--line:#D9E0E9;
  --side:#1D2D4D;--side-2:#141F36;--side-ink:#FFFFFF;--side-muted:#C5D0E2;--side-hover:rgba(255,255,255,.10);
  --side-on:rgba(255,255,255,.18);--notif-bg:#DC1F38;--notif-ink:#FFFFFF}
html[data-variant=hoyberg] .topbar{box-shadow:inset 0 -3px 0 #DC1F38}
/* wybór motywu marki — trzy karty obok siebie z miniaturą motywu */
.brand-themes{border:0;padding:0;margin:8px 0 0}
.brand-themes legend{font-weight:700;margin-bottom:8px}
.brand-theme-row{display:grid;grid-template-columns:repeat(3,minmax(0,200px));gap:12px}
.brand-theme{position:relative;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;background:var(--panel)}
.brand-theme input{position:absolute;opacity:0;pointer-events:none}
.brand-theme:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--soft)}
.brand-theme:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.brand-theme-bar{height:22px}
.brand-theme-body{display:flex;gap:6px;padding:10px;min-height:34px}
.brand-theme-body i{width:28px;height:14px;border-radius:7px}
.brand-theme-name{padding:0 10px 10px;font-weight:700}
.brand-theme-ettiene .brand-theme-bar{background:#63283B}.brand-theme-ettiene .brand-theme-body{background:#F6F1E9}
.brand-theme-ettiene i:nth-child(1){background:#63283B}.brand-theme-ettiene i:nth-child(2){background:#DCE8E0;border:1px solid #17322D}.brand-theme-ettiene i:nth-child(3){background:#F3E2C4}
.brand-theme-badsurfer .brand-theme-bar{background:linear-gradient(90deg,#3A3080,#6A4FB0 45%,#B23A63 80%,#CF3448)}.brand-theme-badsurfer .brand-theme-body{background:#F5F4FA}
.brand-theme-badsurfer i:nth-child(1){background:#D42F3D}.brand-theme-badsurfer i:nth-child(2){background:#E4DDFA;border:1px solid #7758B9}.brand-theme-badsurfer i:nth-child(3){background:#FFE7A3}
.brand-theme-hoyberg .brand-theme-bar{background:#1D2D4D;box-shadow:inset 0 -3px 0 #DC1F38}.brand-theme-hoyberg .brand-theme-body{background:#EEF1F5}
.brand-theme-hoyberg i:nth-child(1){background:#C81B32}.brand-theme-hoyberg i:nth-child(2){background:#D3E2F3;border:1px solid #1D2D4D}.brand-theme-hoyberg i:nth-child(3){background:#F4EEDC}
.brand-theme-name{color:var(--ink)}
@media (max-width:600px){.brand-theme-row{grid-template-columns:1fr}}
/* Ettiene: kolor główny = kolor boków, więc liczniki i znacznik DEMO na bordo — w beżu marki */
html[data-variant=ettiene] .folders a:not(.on) .count,html[data-variant=ettiene] .badge-demo{background:#F4EDE1;color:#4F1F2F}
/* Bad Surfer: zaznaczona rozmowa w fiolecie marki, nie w czerwieni koloru głównego (Paweł 01.11.2026) */
html[data-variant=badsurfer] .thread.active{background:#ECE8FA;box-shadow:inset 3px 0 #7758B9}
.indent{margin-left:26px;display:flex;flex-direction:column;gap:4px}
/* Role i uprawnienia */
.table-scroll{overflow-x:auto}
.role-matrix th[scope=row]{font-weight:500;text-align:left}
.role-matrix td{text-align:center}
.role-matrix .role-group th{text-align:left;padding:10px 10px 8px;font-size:14px;color:var(--ink);
  background:color-mix(in srgb,var(--accent) 7%,var(--panel));border-top:2px solid var(--line)}
.role-group-title{display:inline-flex;align-items:center;gap:8px}
.role-matrix .role-group-new th{background:color-mix(in srgb,var(--accent) 16%,var(--panel));border-top-color:var(--accent)}
.role-new{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink)}
.role-fixed.on{color:var(--ink)}.role-fixed.off{color:var(--muted)}
.inbox-summary{margin:6px 0 10px;padding-left:18px}.inbox-topics{max-width:520px}
.msg-format-note{margin:4px 0 0;font-size:12px;color:var(--muted)}
/* „!” przy TebeaRESPONDER — nowe wiadomości od ostatniego wejścia (kolory licznika koperty) */
.mod-new{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:var(--notif-bg);color:var(--notif-ink);font-size:12px;font-weight:800;line-height:1}
.mod-new[hidden]{display:none}

/* Produkty zamówienia z kanału (BaseLinker) */
.order-items { list-style: none; margin: .25rem 0 .5rem; padding: 0; }
.order-items li { padding: .3rem 0; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: .35rem; align-items: baseline; }
.order-items li:last-child { border-bottom: 0; }
.small-head { font-size: .9rem; margin-bottom: .25rem; }

.warn-text{color:var(--problem)}
.nowrap{white-space:nowrap}

/* Ocena kupującego (Allegro, tylko odczyt) */
.rating-box{margin:8px 0;padding:8px 10px;border-radius:10px;border:1px solid var(--line)}
.rating-box p{margin:4px 0 0}
.rating-neg{border-color:var(--problem);background:var(--problem-bg)}

/* TebeaBOOST */
.commerce{padding:20px 28px;max-width:1200px}
.commerce ul{padding-left:20px}
.promo-offers td{vertical-align:middle}
.offer-cell{display:flex;gap:10px;align-items:center;min-width:280px}
.offer-thumb{width:56px;height:56px;object-fit:contain;border-radius:8px;background:var(--panel);border:1px solid var(--line);flex:none}
.offer-thumb-empty{display:inline-block}
.offer-meta{display:flex;flex-direction:column;gap:2px}
.offer-name{font-weight:600}

/* TebeaRADAR / TebeaPROMO — grafiki modułów (pakiet ChatGPT, 03-INTEGRACJA-GRAFIK) */
.rp-module-art{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}
.rp-module-art img{display:block;max-width:100%}
.tile-art .rp-module-art{width:88px;height:88px}
.modules .rp-module-art{width:20px;height:20px;margin-right:6px}
.cap-table td:first-child{white-space:nowrap}
.cap{display:inline-block;white-space:nowrap;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid var(--line)}
.cap-ok{background:color-mix(in srgb,var(--ok, #2e7d32) 14%,var(--panel));color:var(--ink)}
.cap-no{background:color-mix(in srgb,var(--warn, #b26a00) 14%,var(--panel));color:var(--ink)}
.commerce h1 .rp-module-art{width:28px;height:28px;vertical-align:-4px;margin-right:6px}

/* TebeaPROMO — kampanie (wiersze z paskiem czasu) i oferty (narzędzia, edytowalna cena, zaznaczanie) */
.promo-page{max-width:1280px}
.promo-page h1 .ch-icon{vertical-align:-6px;margin-right:4px}
.pc-head p{max-width:820px}
.pc-filters{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;margin:16px 0;padding:12px 14px;
  border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.pc-filters fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pc-filters legend{font-size:12px;color:var(--muted);margin-bottom:4px;float:left;width:100%}
.pc-filters label.chip{display:inline-flex;align-items:center;gap:5px}
.pc-filters label.chip input{position:absolute;opacity:0;width:1px;height:1px}
.pc-filters label.chip:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.chip.on{border-color:var(--accent);color:var(--accent-text);font-weight:600}
.pc-filter-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.pc-section{margin-top:22px}
.pc-section h2{font-size:17px;margin:0 0 8px}
.pc-row{display:grid;grid-template-columns:150px minmax(200px,1fr) 250px 160px;gap:16px;align-items:center;
  padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:8px}
.pc-row.pc-urgent{border-color:var(--accent)}
.pc-market{display:flex;gap:8px;align-items:center}
.pc-market>span{display:flex;flex-direction:column;gap:2px}
.pc-name{font-size:15px;margin:0 0 2px}
.pc-main p{margin:0}
.pc-time p{margin:2px 0}
.pc-tl{display:block;max-width:100%}
.pc-tl-base{fill:var(--line)}
.pc-tl-pub{fill:color-mix(in srgb,var(--accent) 28%,var(--panel))}
.pc-tl-app{fill:var(--accent)}
.pc-tl-now{fill:var(--ink)}
.pc-key{display:inline-block;width:10px;height:8px;border-radius:2px;margin-right:6px}
.pc-key-app{background:var(--accent)}
.pc-key-pub{background:color-mix(in srgb,var(--accent) 28%,var(--panel))}
.pc-act{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.pc-act p{margin:0}
.pc-count{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-text)}
.po-head h1{margin-bottom:4px}
.po-meta{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;color:var(--muted);font-size:13px;margin:0 0 12px}
.po-tools{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;
  background:var(--panel);margin-bottom:12px}
.po-cond{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.po-cond label{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.po-cond input,.po-cond select,.po-price input,.po-jump input{font:inherit;font-size:13px;padding:6px 8px;border-radius:8px;
  border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.po-cond input:focus,.po-cond select:focus,.po-price input:focus,.po-jump input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.po-bulk{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:8px 12px;
  margin-bottom:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.po-bulk .btn:disabled{opacity:.45;cursor:default}
.po-table th{white-space:nowrap}
.po-table .num{text-align:right;font-variant-numeric:tabular-nums}
.po-check{width:28px;text-align:center}
.po-check input{width:16px;height:16px;accent-color:var(--accent)}
.po-price{display:inline-flex;align-items:center;gap:4px}
.po-price input{width:84px;text-align:right;font-weight:700;background:var(--panel)}
.po-price input.po-bad{border-color:var(--problem);color:var(--problem)}
.po-in-draft td{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
.po-pill{margin-top:3px;align-self:flex-start;border-color:var(--accent);color:var(--accent-text)}
.po-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:110px}
.po-btn{padding:6px 14px;font-size:13px}
.po-link{font-size:12px;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}
.po-pages{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:14px 0}
.po-page-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.po-jump label{font-size:13px;color:var(--muted);display:inline-flex;gap:6px;align-items:center}
@media (max-width:900px){.pc-row{grid-template-columns:1fr}.pc-act{align-items:flex-start;text-align:left}}
.po-max{display:block;margin-top:3px}
.po-table td{vertical-align:middle}

/* RESPONDER: „tylko ten” przy koncie (Paweł 01.11.2026) */
.acc-row{display:flex;align-items:center;justify-content:space-between;gap:6px}
.acc-row .ch-icon{vertical-align:-3px}
.acc-only{font:inherit;font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid transparent;background:none;
  color:inherit;opacity:.0;cursor:pointer;white-space:nowrap}
.acc-row:hover .acc-only,.acc-only:focus-visible{opacity:.85;border-color:currentColor}
@media (hover:none){.acc-only{opacity:.7;border-color:currentColor}}

/* Pozytywna ocena w notatkach (Paweł 01.11.2026): w listwie tylko znacznik, treść w szufladzie notatek */
.notes-rating{font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap;
  border:1px solid color-mix(in srgb,var(--notes-on) 45%,var(--line));color:var(--ink);
  background:color-mix(in srgb,var(--notes-on) 10%,var(--panel))}
.note-rating{border-left:3px solid var(--notes-on);margin:0 0 10px}

/* Statystyki (przebudowa 01.11.2026): podsumowanie miesiąca, spis sekcji, logo kanałów, paski „w terminie” */
.stats-page{max-width:1180px}
.st-head h1{margin-bottom:2px}
.st-toc{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.st-toc a{font-size:13px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.st-toc a:hover{border-color:var(--accent)}
.st-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:16px 0 4px;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;background:var(--line)}
.st-summary>div{background:var(--panel);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.st-summary .st-warn .st-num{color:var(--problem)}
.st-num{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}
.st-table .num{text-align:right;font-variant-numeric:tabular-nums}
.st-table th{white-space:nowrap}
.st-ch{display:inline-flex;align-items:center;gap:8px}
.st-ch .ch-icon{flex:none}
.st-pct{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.st-bar-bg{fill:var(--line)}
.st-bar{fill:var(--notes-on)}
.st-bar-low{fill:var(--problem)}
.st-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.st-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px 14px}
.st-card h4{margin:0 0 6px;display:flex;align-items:center;gap:6px;font-size:14px}
.st-card p{margin:0 0 8px}
.st-metrics{list-style:none;margin:0;padding:0;font-size:12px}
.st-metrics li{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-top:1px solid var(--line)}
.st-ratings{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.st-rating{border:1px solid var(--line);border-left:3px solid var(--problem);border-radius:10px;background:var(--panel);padding:10px 12px}
.st-rating header{display:flex;justify-content:space-between;gap:8px;align-items:center}
.st-rating p{margin:6px 0 0}
.st-comment{color:var(--ink)}
.st-chip{display:inline-flex;align-items:center;gap:4px;margin:0 8px 2px 0;white-space:nowrap}
@media (max-width:760px){.st-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.acc-row .check{min-width:0;overflow:hidden;text-overflow:ellipsis}
.acc-row .acc-only{flex:none;padding:0 6px}

/* „Zapisano.” po zapisie — w całej aplikacji (kolory motywu: zielony akcent notatek + panel) */
.toast-saved{position:fixed;top:72px;right:20px;z-index:50;margin:0;padding:10px 16px;border-radius:10px;font-weight:600;
  font-size:14px;color:var(--ink);background:color-mix(in srgb,var(--notes-on) 16%,var(--panel));
  border:1px solid color-mix(in srgb,var(--notes-on) 55%,var(--line));box-shadow:0 6px 20px rgba(0,0,0,.18);
  animation:toast-out 0.4s ease 4s forwards}
@keyframes toast-out{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.toast-saved{animation:none}}

.po-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 12px}
.po-tabs a{padding:8px 14px;font-weight:600;font-size:14px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}
.po-tabs a.on,.po-tabs a:hover{color:var(--ink);border-bottom-color:var(--accent)}
.po-cut-low{color:var(--notes-on)}
.po-status{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}

.pr-form{max-width:760px}
.pr-form fieldset{border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 14px}
.pr-form legend{font-size:12px;color:var(--muted);padding:0 4px}

/* Źródła danych — karty kanałów (01.11.2026) */
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:8px}
.ch-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;
  background:var(--panel)}
.ch-card.off{border-style:dashed}
.ch-card header{display:flex;gap:10px;align-items:center}
.ch-card .channel-logo{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none}
.ch-name{display:flex;flex-direction:column;gap:2px}
.ch-state{display:flex;flex-direction:column;gap:4px;align-items:flex-start;flex:1}
.ch-state .pill{white-space:normal}
.ch-card footer{display:flex;gap:6px}

.calc-fees{border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:4px}
.calc-fees legend{font-size:12px;color:var(--muted);padding:0 4px}

/* TebeaCALC — ta sama marża na innych kanałach (01.11.2026) */
.cc-ch{display:inline-flex;align-items:center;gap:8px}
.cc-ch .flag{margin-left:2px}
.cc-table td{vertical-align:middle}
.cc-api{font-size:11px}
.cc-diff{font-weight:700}
.cc-up{color:var(--problem)}
.cc-down{color:#15803d}
.cc-vat{display:flex;flex-wrap:wrap;gap:8px 16px}
.cc-vat label{display:inline-flex;align-items:center;gap:6px}
.stack .cc-edit input:not([type=checkbox]),.stack .cc-edit select{padding:5px 7px;min-width:0;width:5em}
.stack .cc-edit input.cc-w-name{width:9em}.stack .cc-edit input.cc-w-note{width:11em}.stack .cc-edit select{width:auto}
.cc-edit td{padding:4px 6px;white-space:nowrap}
.stack .cc-vat label{flex-direction:row;align-items:center;font-weight:500}
.stack .cc-vat input{width:4em;padding:5px 7px}
.cc-edit .cc-new td{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
.stack.cc-form{max-width:none}
.grid.cc-edit,.grid.cc-table{max-width:none}

/* TebeaOFFICE — urlopy i obecność (01.11.2026) */
.of-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:16px;align-items:start}
@media (max-width:900px){.of-top{grid-template-columns:1fr}}
.of-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.of-balance>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.of-balance>div:first-child{grid-column:1 / -1;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.of-big{font-size:40px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--accent)}
.of-mid{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.of-form{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.of-form h2{margin:0;font-size:16px}
.of-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.of-form input,.of-form select,.of-decide input{font:inherit;font-size:14px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.of-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.of-status{font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.of-st-pending{background:var(--notif-bg);color:var(--notif-ink);border-color:transparent}
.of-st-approved{background:color-mix(in srgb,#16a34a 16%,var(--panel));color:var(--ink)}
.of-st-rejected{background:var(--problem-bg);color:var(--problem)}
.of-st-cancelled{color:var(--muted)}
.of-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin-top:10px}
.of-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.of-card header{display:flex;justify-content:space-between;gap:8px;align-items:center}
.of-card p{margin:0}
.of-decide{display:flex;gap:6px;flex-wrap:wrap}.of-decide input{flex:1;min-width:140px}
.of-cal-nav{display:flex;align-items:center;gap:10px;margin:6px 0}
.of-cal-nav b{min-width:150px;text-align:center;text-transform:capitalize}
.of-cal{border-collapse:separate;border-spacing:2px;font-size:12px}
.of-cal th{font-weight:600;color:var(--muted);padding:2px}
.of-cal thead th{min-width:26px;text-align:center}
.of-cal thead th span{display:block;color:var(--ink);font-size:13px}
.of-cal thead th small{display:block;font-size:10px}
.of-cal thead th.of-today span{color:var(--accent);font-weight:800}
.of-cal .of-name{position:sticky;left:0;z-index:1;background:var(--bg);text-align:left;white-space:nowrap;padding-right:10px;color:var(--ink)}
.of-cell{height:26px;min-width:26px;border-radius:6px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);text-align:center;vertical-align:middle;font-size:10px;font-variant-numeric:tabular-nums}
.of-cal .of-off,.of-sw.of-off{background:color-mix(in srgb,var(--line) 80%,var(--bg));box-shadow:none}
.of-cal thead th.of-off{background:none;opacity:.55}
.of-abs,.of-sw.of-abs{background:var(--accent)!important}
.of-away,.of-sw.of-away{background:#64748b!important}
.of-trip,.of-sw.of-trip{background:#0d9488!important}
.of-top-single{grid-template-columns:minmax(280px,480px)}
.of-pend,.of-sw.of-pend{background:repeating-linear-gradient(135deg,var(--accent) 0 4px,color-mix(in srgb,var(--accent) 35%,var(--panel)) 4px 8px)!important}
.of-in,.of-sw.of-in{background:color-mix(in srgb,#16a34a 22%,var(--panel));color:var(--ink)}
.of-miss,.of-sw.of-miss{background:var(--problem-bg);color:var(--problem);font-weight:800}
.of-marked,.of-sw.of-marked{background:var(--notif-bg)}
.of-fut{opacity:.4}
.of-x{border:0;background:none;color:var(--notif-ink);font:inherit;font-weight:800;cursor:pointer;padding:0;width:100%;height:100%}
.of-legend{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;color:var(--muted)}
.of-sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle;margin-right:2px}
.of-list td{vertical-align:top}
.of-miss-list{display:flex;flex-direction:column;gap:8px;max-width:900px}
.of-miss-person{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:8px 12px}
.of-miss-person summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.of-bulk{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.of-days{display:flex;flex-wrap:wrap;gap:6px}
.of-day{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px}
.of-day small{color:var(--muted)}
.of-bulk select{font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
/* 6 modułów w pasku (01.11.2026): nazwy w jednej linii; przy wąskim oknie pasek przewija się w poziomie */
/* Moduły w pasku: gdy się nie mieszczą (więcej modułów, dłuższe nazwy w innym języku) — drugi wiersz zamiast ucięcia */
.modules{min-width:0;flex:1 1 auto;flex-wrap:wrap;row-gap:2px}.modules a{white-space:nowrap}
@media (max-width:1440px) and (min-width:761px){.modules a{padding:6px 7px;gap:5px}.topbar{gap:10px}}
.of-duty,.of-sw.of-duty{background:#16a34a!important;color:#fff;font-weight:800}
.of-free,.of-sw.of-free{background:color-mix(in srgb,#16a34a 30%,var(--panel))!important;color:var(--ink);font-weight:800}
.of-declare{max-width:720px}
.of-duty-table select{font:inherit;font-size:14px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);min-width:200px}
.of-form label.of-day{flex-direction:row;font-weight:500;font-size:13px}

/* Ustawienia → użytkownik: karta osoby (02.11.2026) */
.us-head{display:flex;gap:14px;align-items:center;margin:6px 0 14px}
.us-head h2{margin:0;font-size:22px}
.us-id{display:flex;flex-direction:column;gap:4px}
.us-tags{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.us-dept{--dept:var(--accent);background:color-mix(in srgb,var(--dept) 18%,var(--panel));color:var(--ink);border-color:color-mix(in srgb,var(--dept) 45%,transparent)}
.us-nodept{--dept:#8a8f98;color:var(--ink);background:color-mix(in srgb,var(--dept) 18%,var(--panel));border-color:color-mix(in srgb,var(--dept) 45%,transparent)}
.pill.us-nodept::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dept);margin-right:5px;vertical-align:1px}
.co-dept-fixed{flex:1;align-self:center;padding:0 .5em}
.us-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:1000px){.us-grid{grid-template-columns:1fr}}
.us-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px 16px}
.us-card h3{margin:0 0 10px;font-size:15px}
.us-card .stack{max-width:none}
.us-mods{display:flex;flex-direction:column;gap:6px}
.us-chips,.us-radios{display:flex;flex-wrap:wrap;gap:6px}
.us-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:500;cursor:pointer}
.us-chip:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}
.stack label.us-chip{flex-direction:row;font-weight:500}
.us-bulk{margin:8px 0 4px}.us-bulk summary{cursor:pointer;font-size:13px;font-weight:600}
.us-bulk textarea{font:inherit;font-size:14px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);max-width:520px}
.avatar.av-56{width:56px;height:56px;font-size:24px}
.grid.us-table{max-width:1100px}
.us-table td{vertical-align:middle}
.us-name{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.us-table .actions{display:flex;gap:6px;flex-wrap:nowrap}
/* TebeaRADAR — oferty i alerty (02.11.2026) */
.rd-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0}
.rd-table td{vertical-align:middle}
.rd-diff{font-weight:700;font-variant-numeric:tabular-nums}.rd-down{color:var(--problem)}.rd-up{color:#15803d}
.rd-own td{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
.rd-nav{margin:6px 0 10px;padding-left:0}
.grid.rd-table,.grid.cap-table{max-width:1100px}.rd-table td:first-child{min-width:220px}
.co-form h4{margin:10px 0 0;font-size:13px}
.co-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.co-dept{flex-direction:row!important;align-items:center;gap:8px}
.co-dept input{flex:1}
.co-dept input.co-color{flex:0 0 34px;width:34px;height:30px;padding:2px;border-radius:8px;cursor:pointer}
.co-krs{align-items:flex-end;gap:8px;margin-bottom:8px}
.co-new{display:flex;flex-direction:column;gap:6px}

/* Karta osoby — zatrudnienie i urlop (02.11.2026) */
.us-emp fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.us-emp legend{font-weight:600;font-size:13px;margin-bottom:4px}
.us-emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.us-emp-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.of-open{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:10px 14px;margin:10px 0;background:var(--panel)}
.of-open h3{margin:0 0 4px;font-size:15px}.of-open ul{margin:6px 0 0;padding-left:18px}
/* Komunikat: kto dziś odpisuje (zastępstwa, 02.11.2026) */
.sub-notice{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:10px 16px 0;padding:12px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.sub-notice p{margin:3px 0;font-size:14px}.sub-notice-body>b{font-size:15px}
@media (max-width:700px){.sub-notice{flex-direction:column;align-items:stretch}}
.sub-notice-preview{border:1px solid var(--line);border-radius:10px;padding:8px 14px;background:var(--panel)}
.sub-notice-preview p{margin:4px 0}
.of-sub-day{align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.of-sub-substitute td:nth-child(2),.of-sub-duty td:nth-child(2){color:var(--accent)}
.of-sub-nobody td:nth-child(2){color:var(--problem)}
.of-queue .of-q-row{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(0,118px);gap:6px;align-items:center}
.of-queue select{width:100%;min-width:0;font:inherit;font-size:13px;padding:5px 6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.of-q-n{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}
/* TebeaOFFICE — pulpit (02.11.2026) */
.of-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:10px 0 4px}
.of-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);text-decoration:none}
.of-tile:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
.of-tile b{font-size:20px;font-variant-numeric:tabular-nums}.of-tile span{font-size:12px;color:var(--muted)}
.of-cal td.of-late,.of-late-sw{color:#c2410c;font-weight:800}
.of-late-sw{font-size:11px;padding:0 4px}
.of-free-col{min-width:170px}.of-free-in{display:flex;align-items:center;gap:6px;white-space:nowrap}
.of-free-in input{font:inherit;font-size:12px;padding:2px 4px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}
/* TebeaCALC — porządek formularza (02.11.2026) */
.calc-form .calc-sec{border:0;border-top:1px solid var(--line);margin:0;padding:10px 0 0;display:flex;flex-direction:column;gap:8px;min-width:0}
.calc-form .calc-sec legend{font-size:12px;font-weight:700;color:var(--muted);padding:0 6px 0 0}
.calc-form input[type=checkbox]{width:auto}
.calc-form .calc-fee{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;font-weight:500}
.calc-form .calc-fee small{color:var(--muted);font-weight:400;white-space:nowrap}
.calc-sku{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.calc-lookup{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid color-mix(in srgb,#16a34a 40%,var(--line));border-radius:10px;background:color-mix(in srgb,#16a34a 7%,var(--panel))}
.calc-lookup-warn{border-color:color-mix(in srgb,#d97706 50%,var(--line));background:color-mix(in srgb,#d97706 8%,var(--panel))}
.calc-lookup ul{margin:2px 0 0;padding-left:16px}.calc-lookup p{margin:0}

/* Mój profil → Moje integracje (02.11.2026): jedna szeroka karta na integrację — logo, opis, stan, kroki */
main.profile{max-width:860px}
.profile-jump{display:flex;gap:12px;margin-top:4px}
.mi{margin-top:28px}
.mi-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.mi-top h2{margin:0}
.mi-lead{margin:4px 0 12px;max-width:68ch}
.mi-list{display:flex;flex-direction:column;gap:10px}
.mi-card{padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;
  background:var(--panel)}
.mi-card.todo{border-left-color:#e0a100}
.mi-card:not(.todo):not(.planned){border-left-color:#2e9d5b}
.mi-card.planned{border-style:dashed;border-left-style:dashed}
.mi-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.mi-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.mi-name h3{margin:0;font-size:16px}
.mi-state{display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:300px;text-align:right}
.mi-state .int-meta{margin-top:0}
.mi-steps{margin:12px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.mi-steps > li > b{display:block;margin-bottom:2px}
.mi-steps .notion-account p{margin:2px 0}
.mi-note{margin:10px 0 0;max-width:68ch}
@media (max-width:640px){
  .mi-head{grid-template-columns:auto 1fr}
  .mi-state{grid-column:1 / -1;align-items:flex-start;text-align:left;max-width:none}
}
/* Karta osoby w Użytkownikach — podsumowanie jej integracji osobistych (tylko odczyt) */
.us-integrations{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.us-integrations li{display:grid;grid-template-columns:auto 6.5em 1fr;gap:8px;align-items:center}
.mi-steps .notion-link label{flex-basis:100%}
.us-integrations li .pill{justify-self:start}
/* Błąd zapisu (app/errors.py) i potwierdzenie przy przycisku formularza (app.js) */
.toast-error{background:color-mix(in srgb,#d33 18%,var(--panel));border-color:color-mix(in srgb,#d33 60%,var(--line));
  animation:none;max-width:min(520px,calc(100vw - 40px))}
.save-inline{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:3px 10px;border-radius:999px;font-size:13px;
  font-weight:600;background:color-mix(in srgb,var(--notes-on) 18%,var(--panel));border:1px solid color-mix(in srgb,var(--notes-on) 55%,var(--line));color:var(--ink)}
.save-inline.err{background:color-mix(in srgb,#d33 16%,var(--panel));border-color:color-mix(in srgb,#d33 60%,var(--line))}
.error-page main{max-width:640px;margin:40px auto;padding:0 16px}

/* === Czytelność i zakładki (Paweł 02.11.2026: „na jasnym motywie wszystko jest nieczytelne”, „dymki zgodnie z motywem”) ===
   --pick: kolor zaznaczenia (wybrane pigułki, zakładki) — osobny od czerwieni przycisków, dobrany do motywu. */
[hidden]{display:none !important}
:root{--bg:#eceff3;--line:#cfd6df;--muted:#4b5563;--ink:#111827;--pick:#1f5bd1;--pick-ink:#fff}
@media (prefers-color-scheme:dark){html:not([data-theme=light]){--pick:#7aa7ff;--pick-ink:#0b1220}}
html[data-theme=dark]{--pick:#7aa7ff;--pick-ink:#0b1220}
html[data-theme=dark][data-variant=navy]{--pick:#35d0c3;--pick-ink:#062a3a}
html[data-variant=blue]{--pick:#2C5A7D}
html[data-variant=ettiene]{--pick:#17322D}
html[data-variant=badsurfer]{--pick:#453A94}
html[data-variant=hoyberg]{--pick:#1D2D4D}
.pill{font-size:12px;color:color-mix(in srgb,var(--ink) 82%,var(--panel));background:color-mix(in srgb,var(--ink) 6%,var(--panel));
  border-color:color-mix(in srgb,var(--ink) 16%,var(--panel))}
.us-chip{border-color:color-mix(in srgb,var(--ink) 18%,var(--panel))}
.us-chip:has(input:checked){border-color:var(--pick);background:color-mix(in srgb,var(--pick) 13%,var(--panel));color:var(--ink)}
.us-chip input,.check input,input[type=checkbox],input[type=radio]{accent-color:var(--pick)}
.us-tags .pill:first-child{border-color:var(--pick);color:var(--pick);background:color-mix(in srgb,var(--pick) 10%,var(--panel))}
.info-box{margin:6px 0;padding:8px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--pick) 45%,var(--line));
  background:color-mix(in srgb,var(--pick) 9%,var(--panel));color:var(--ink)}
.tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin:4px 0 14px}
.tabs a{padding:9px 14px;font-weight:600;font-size:14px;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;
  border-radius:8px 8px 0 0}
.tabs a:hover{color:var(--ink);background:color-mix(in srgb,var(--pick) 6%,transparent)}
.tabs a.on{color:var(--ink);border-bottom-color:var(--pick)}
.tabs a:focus-visible{outline:2px solid var(--pick);outline-offset:2px}
.tabs + [data-tab-panel].mt,.tabs ~ [data-tab-panel].mt{margin-top:0}
.of-duty-hours{display:flex;align-items:center;gap:2px;margin-top:4px;font-size:12px;color:var(--muted)}
.of-duty-hours input{font:inherit;font-size:12px;padding:2px 4px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);width:auto}
/* Godziny pracy (Ustawienia → Godziny pracy, karta osoby) */
.wh-lead{max-width:80ch}
.wh-table{width:auto}
.wh-table td,.wh-table th{padding:4px 12px 4px 0;vertical-align:middle}
.wh-table input[type=time]{width:auto;padding:4px 6px;font:inherit;font-size:14px}
.wh-table tr.wh-own td:first-child{font-weight:700}
.stack label.wh-grace{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:500;flex-wrap:wrap}
.stack label.wh-grace input{width:4.5em;text-align:right}
.wh-dept{border-top:1px solid var(--line);padding:8px 0}
.wh-dept summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wh-dept form{margin-top:8px}
.wh-people{margin:6px 0 0;padding-left:18px}
.wh-people li{margin:4px 0}
.cap-left{caption-side:top;text-align:left;padding:4px 0 8px}
/* TebeaCALC — składniki obliczenia pod kanałem */
.cc-toggle{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--ink)}
.cc-toggle::after{content:"▸";font-size:11px;color:var(--muted);transition:transform .15s}
.cc-toggle[aria-expanded=true]::after{transform:rotate(90deg)}
.cc-toggle:hover b{text-decoration:underline}
.cc-toggle:focus-visible{outline:2px solid var(--pick);outline-offset:2px;border-radius:4px}
.cc-parts-row td{background:color-mix(in srgb,var(--pick) 5%,var(--panel));padding:6px 12px 12px 40px}
.cc-tree{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid color-mix(in srgb,var(--pick) 40%,var(--line));max-width:620px}
.cc-tree li{display:flex;justify-content:space-between;gap:16px;padding:3px 0 3px 10px;font-size:13px;position:relative}
.cc-tree li::before{content:"";position:absolute;left:-14px;top:50%;width:12px;border-top:1px solid color-mix(in srgb,var(--pick) 40%,var(--line))}
.cc-tree li.sum{font-weight:600;border-top:1px dashed var(--line)}
.cc-tree li.total{font-size:14px}
.cc-tree b{white-space:nowrap;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.cc-toggle::after{transition:none}}
.calc-cod-note{margin:-4px 0 6px 24px}
/* Dane firmy na zakładkach */
.co-panel{max-width:960px}
.co-addr{border-top:1px solid var(--line);padding:10px 0}
.co-addr summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.co-addr .co-addr-form{margin-top:10px}
.co-addr-del{margin-top:6px}
.co-countries .us-chip{padding:3px 8px}
.int-grid .ch-name .small{line-height:1.35}
.settings-nav a .muted{color:inherit;opacity:.75}
.us-perm{font-size:11px;font-weight:500;color:var(--muted);margin-left:8px}
.us-who{margin:-6px 0 8px}
/* Dział w kolorze działu (lista osób, karta osoby, godziny) — silniejsze niż ogólny wygląd pigułek */
.pill.us-dept{background:color-mix(in srgb,var(--dept) 22%,var(--panel));border-color:color-mix(in srgb,var(--dept) 60%,transparent);
  color:var(--ink);font-weight:600}
.pill.us-dept::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dept);margin-right:5px;vertical-align:1px}
.us-search input{min-width:260px;font:inherit;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.us-inactive summary{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.td-icon{display:inline-block;vertical-align:-.18em;flex:none;fill:none;color:inherit;overflow:visible}
.td-module-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--accent-text,var(--ink));background:var(--soft,var(--panel));border:1px solid var(--line);border-radius:12px;width:64px;height:64px}
.td-module-icon .td-icon{width:36px;height:36px}
.td-logo{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex:none;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;line-height:0}
.td-logo img{display:block;max-width:100%;object-fit:contain}
.td-symbols{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.td-channel-logo{background:#fff;border:1px solid var(--line);border-radius:5px;object-fit:contain}
@media (forced-colors:active){.td-icon{color:CanvasText}.td-module-icon{color:ButtonText;background:ButtonFace;border-color:ButtonText}.td-logo{forced-color-adjust:none}}
/* Paweł 02.11.2026: dymek „Zapisano.” na dole ekranu (główny komunikat jest przy przycisku — app.js) */
.toast-saved{top:auto;right:auto;bottom:28px;left:50%;transform:translateX(-50%);font-size:15px;padding:12px 20px}
.toast-error{animation:none}
.save-inline{font-size:14px;padding:4px 12px}
/* Status konta (lista osób): aktywne — zielony, nieaktywne — czerwony, nieobecny — bursztyn (Paweł 02.11.2026) */
:root{--st-on:#1e8a4c;--st-off:#c62828;--st-away:#b26a00}
@media (prefers-color-scheme:dark){html:not([data-theme=light]){--st-on:#3ccf7e;--st-off:#ff6b6b;--st-away:#ffb547}}
html[data-theme=dark]{--st-on:#3ccf7e;--st-off:#ff6b6b;--st-away:#ffb547}
.pill.st-on,.pill.st-off,.pill.st-away{font-weight:700;color:var(--ink)}
.pill.st-on{background:color-mix(in srgb,var(--st-on) 20%,var(--panel));border-color:color-mix(in srgb,var(--st-on) 65%,transparent)}
.pill.st-off{background:color-mix(in srgb,var(--st-off) 18%,var(--panel));border-color:color-mix(in srgb,var(--st-off) 65%,transparent)}
.pill.st-away{background:color-mix(in srgb,var(--st-away) 18%,var(--panel));border-color:color-mix(in srgb,var(--st-away) 65%,transparent)}
.pill.st-on::before,.pill.st-off::before,.pill.st-away::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}
.pill.st-on::before{background:var(--st-on)}.pill.st-off::before{background:var(--st-off)}.pill.st-away::before{background:var(--st-away)}
.chip-flag{border-radius:2px;box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 15%,transparent)}
/* Dane firmy: tagi po lewej, formularz po prawej; priorytet adresów; osoby w działach */
.co-split{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:14px;align-items:start}
.co-tags{position:sticky;top:12px;max-height:calc(100vh - 40px);overflow:auto}
.co-taglist{margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.co-tag{border-top:1px solid var(--line);padding-top:6px}
.co-tag dt{font-size:13px}.co-tag dt code{font-size:12px;color:var(--pick)}
.co-tag dd{margin:2px 0 0;font-size:13px;word-break:break-word}
.co-priority ol{margin:6px 0 6px 18px;padding:0}
.co-dept-count{text-decoration:underline;text-underline-offset:2px}
.co-people{border-top:1px solid var(--line);padding:8px 0}
.co-people summary{cursor:pointer;display:flex;gap:8px;align-items:center}
@media (max-width:900px){.co-split{grid-template-columns:1fr}.co-tags{position:static;max-height:none}}
/* Moje integracje v2 — kafelki z krokami (Paweł 02.11.2026) */
.mi2-count{font-size:13px;font-weight:600;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--pick) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--pick) 40%,var(--line))}
.mi2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:stretch}
.mi2-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);
  border-top:4px solid var(--st-away)}
.mi2-card.mi2-ok{border-top-color:var(--st-on)}
.mi2-card.mi2-error{border-top-color:var(--st-off)}
.mi2-card.mi2-planned,.mi2-card.mi2-demo{border-top-color:var(--line);border-style:dashed;border-top-style:solid}
.mi2-head{display:flex;gap:12px;align-items:center}
.mi2-logo{flex:none}
.mi2-title{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.mi2-title h3{margin:0;font-size:17px}
.mi2-state{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid var(--line)}
.mi2-state::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;background:currentColor}
.mi2-on{color:var(--st-on);border-color:color-mix(in srgb,var(--st-on) 50%,transparent)}
.mi2-todo{color:var(--st-away);border-color:color-mix(in srgb,var(--st-away) 50%,transparent)}
.mi2-err{color:var(--st-off);border-color:color-mix(in srgb,var(--st-off) 50%,transparent)}
.mi2-soon{color:var(--muted)}
.mi2-what{margin:0;font-size:13px;color:var(--muted)}
.mi2-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mi2-step{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}
.mi2-step b{font-size:14px}
.mi2-step p{margin:4px 0 0}
.mi2-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.mi2-step.done .mi2-check{background:var(--st-on);border-color:var(--st-on);color:#fff}
.mi2-step.done > div > b{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.mi2-step .notion-link{margin-top:6px}
.mi2-foot{margin-top:auto;padding-top:8px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;color:var(--muted)}

/* Brak uprawnień: „Poproś o dostęp” + podświetlony wiersz w Role i uprawnienia (link z prośby) */
.access-bar{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);z-index:60;max-width:min(560px,calc(100% - 32px));
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;box-shadow:0 8px 24px rgb(0 0 0/.25)}
.access-req{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.access-req-to{display:flex;flex-wrap:wrap;gap:6px;border:0;padding:0;margin:0}
.role-row:has(th:target) > *{background:color-mix(in srgb,var(--accent) 22%,var(--panel))}
.role-row th:target{outline:2px solid var(--accent);outline-offset:-2px;scroll-margin-top:120px}

/* Logowanie (ADR 001) — strona bez paska modułów */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg)}
.auth-card{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px 24px}
.auth-card h1{font-size:1.35rem;margin:.2em 0 .8em}
.auth-brand{font-size:1.2rem;margin:0}.auth-brand b{color:var(--accent)}
.auth-key{display:inline-block;font-size:1.05rem;letter-spacing:.05em;padding:4px 8px;word-break:break-all}
.auth-codes{columns:2;padding-left:1.2em}.auth-steps li{margin:.4em 0}
/* Logowanie: „Wyloguj” w pasku i przyciski karty osoby */
.logout-form{margin:0}
.btn-link{background:none;border:0;padding:4px 6px;font:inherit;font-size:13px;color:var(--muted);cursor:pointer;text-decoration:underline}
.btn-link:hover,.btn-link:focus-visible{color:var(--ink)}
.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* Filtr kanałów (Kanały i VAT) */
.cc-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:16px 0 4px}
.cc-filter label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.cc-filter select{font:inherit;font-size:14px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.cc-edit tr[hidden]{display:none}
.stack .cc-filter{margin:0 0 4px}
.stack .cc-filter label{flex-direction:row;align-items:center;font-weight:500;gap:8px}
.stack .cc-filter select{width:auto}
.stack .cc-edit select.cc-basis{display:block;margin-top:4px;font-size:12px}
/* Paweł 02.11.2026: czerwone „dymki” (aktywny moduł, aktywna zakładka, etykiety kafelków) zastąpione spokojnym,
   neutralnym wyróżnieniem — kolor marki tylko jako akcent (ikona aktywnej pozycji), nie tło. */
.modules a.on,.subnav a.on{background:var(--quiet);color:var(--ink)}
.modules a.on svg,.subnav a.on svg{color:var(--accent)}
.modules a:hover:not(.on),.subnav a:hover:not(.on){background:var(--quiet);color:var(--ink)}
.tile-tag{color:var(--quiet-ink);background:var(--quiet);font-weight:500;border-radius:999px;padding:2px 10px}
html[data-side] .modules a.on,html[data-side] .subnav a.on{background:var(--side-on);color:var(--side-ink)}
html[data-side] .modules a.on svg,html[data-side] .subnav a.on svg{color:inherit}

