:root{
  --bg:#f6f7fb; --panel:#ffffff; --soft:#f1f3f7; --line:#e7e9ee; --line-strong:#d7dae1;
  --txt:#0f1729; --muted:#697586; --accent:#4f46e5; --accent-hover:#4338ca; --accent-soft:#eef2ff;
  --violet:#7c3aed;
  --ok:#15a05a; --warn:#d97706; --danger:#dc2626;
  --spotkanie:#7c3aed; --email:#0ea5e9; --telefon:#15a05a; --zadanie:#697586;
  --font:'Inter',-apple-system,Segoe UI,Roboto,system-ui,sans-serif;
  --radius:14px; --radius-sm:9px; --radius-lg:20px; --radius-xl:26px;
  /* magnific — gradient akcentu + szklane powierzchnie (glassmorphism) */
  --grad:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);
  --grad-br:linear-gradient(135deg,#818cf8 0%,#a78bfa 100%);
  --glass:rgba(255,255,255,.70); --glass-2:rgba(255,255,255,.52); --glass-line:rgba(255,255,255,.75);
  --blur:saturate(165%) blur(16px);
  --sh-sm:0 1px 2px rgba(79,70,229,.05),0 2px 7px rgba(79,70,229,.06);
  --sh-md:0 4px 14px rgba(79,70,229,.07),0 12px 32px rgba(79,70,229,.09);
  --sh-lg:0 18px 50px rgba(79,70,229,.16);
  --shadow:var(--sh-sm);
  --ring:0 0 0 3px var(--accent-soft);
  --tr:.16s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:
  radial-gradient(1300px 820px at 88% -12%, rgba(167,139,250,.50), transparent 60%),
  radial-gradient(1100px 780px at -10% 8%, rgba(129,140,248,.42), transparent 58%),
  radial-gradient(1200px 900px at 50% -22%, rgba(196,181,253,.30), transparent 62%),
  radial-gradient(1000px 820px at 58% 120%, rgba(232,121,249,.24), transparent 62%),
  var(--bg);
  background-attachment:fixed;color:var(--txt);font:14px/1.55 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.hidden{display:none !important}
small{color:var(--muted)}
kbd{font:11px monospace;background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:1px 5px;color:var(--muted)}
.btn{border:1px solid var(--line);background:#fff;color:var(--txt);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:14px;transition:background var(--tr),border-color var(--tr),box-shadow var(--tr)}
.btn:hover{background:var(--soft);border-color:var(--line-strong)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}
.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn--sm{padding:5px 11px;font-size:13px}
.abtn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--accent)}
.abtn:hover{background:var(--accent-soft)}
.iconbtn{border:none;background:transparent;cursor:pointer;font-size:15px;color:var(--muted);padding:6px;border-radius:8px}
.iconbtn:hover{background:var(--soft);color:var(--txt)}

.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px}
.brand__mark{display:grid;place-items:center;width:26px;height:26px;background:#111827;color:#fff;border-radius:7px;font-size:14px}
.brand--big{font-size:24px}.brand--big .brand__mark{width:34px;height:34px;font-size:18px}

/* LOGIN */
.login{min-height:100%;display:grid;place-items:center;padding:24px;
  background:radial-gradient(900px 500px at 80% -10%,#eef2ff,transparent)}
.login__card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow)}
.login__sub{color:var(--muted);margin:8px 0 18px}
.login__hint{color:var(--muted);font-size:12px;margin-top:14px}
.field{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.field span{font-size:13px;color:var(--muted)}
.field input{border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:14px}
.field input:focus{outline:none;border-color:var(--accent)}
.login .btn--primary{width:100%;margin-top:8px}

/* APP LAYOUT */
.app{display:grid;grid-template-columns:248px 1fr;height:100vh;overflow:hidden}

/* SIDEBAR */
.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px;overflow-y:auto}
.sidebar__top{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}
.search{position:relative;display:flex;align-items:center}
.search input{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;background:var(--soft)}
.search input:focus{outline:none;border-color:var(--accent);background:#fff}
.search kbd{position:absolute;right:8px}
.nav{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.nav__label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:14px 8px 4px}
.nav__item{display:flex;align-items:center;gap:9px;text-align:left;border:none;background:transparent;color:#374151;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}
.nav__item:hover{background:var(--soft)}
.nav__item.is-active{background:var(--accent-soft);color:var(--accent)}
.nav__badge{margin-left:auto;font-size:12px;color:var(--muted);background:var(--soft);border-radius:20px;padding:0 8px;font-weight:700}
.nav__item.is-active .nav__badge{background:#fff}
.nav__dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--warn)}
.recent{margin-top:10px}
.recent__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px;color:#374151}
.recent__item:hover{background:var(--soft)}
.recent__av{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--soft);font-size:11px;font-weight:700;color:var(--muted)}
.userbox{margin-top:auto;display:flex;align-items:center;gap:9px;padding:10px 6px 2px;border-top:1px solid var(--line)}
.userbox__av{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700}
.userbox__meta{display:flex;flex-direction:column;line-height:1.2}.userbox__meta small{font-size:11px}
.userbox__cog{margin-left:auto;cursor:pointer;color:var(--muted)}

/* MAIN */
.mainwrap{display:flex;flex-direction:column;overflow:hidden}
.topbar{display:flex;align-items:center;height:56px;padding:0 22px;border-bottom:1px solid var(--line);background:var(--panel)}
.topbar__title{font-size:17px;margin:0}
.topbar__actions{margin-left:auto;display:flex;align-items:center;gap:4px}
.topbar__refresh{display:inline-flex;align-items:center;gap:6px;color:var(--muted);background:transparent;border-color:transparent}
.topbar__refresh:hover{background:var(--soft);color:var(--accent);border-color:var(--line)}
.topbar__refresh.is-busy{opacity:.55;pointer-events:none}
.main{flex:1;overflow-y:auto;padding:22px}
.view{display:none}.view.is-active{display:block}
.view__head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.view__head h2{margin:0;font-size:19px}

/* DASHBOARD */
.greeting h2{margin:0 0 4px;font-size:22px}
.greeting p{color:var(--muted);margin:0 0 18px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}
.kpi__lab{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.kpi__val{font-size:26px;font-weight:800;margin-top:6px}
.kpi__sub{font-size:12px;color:var(--muted)}
.kpi--danger .kpi__val{color:var(--danger)}
.timeline{position:relative}
.tl__slot{margin-bottom:18px}
.tl__time{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}
.tl__row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 14px;margin-bottom:8px;box-shadow:var(--shadow)}
.tl__row.now{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.tl__main{flex:1}.tl__main b{font-size:14px}.tl__main small{display:block}

/* TABLES */
.tablewrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:var(--soft)}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:#fafafe}
.link{color:var(--accent);font-weight:600;cursor:pointer}
.empty{padding:24px;text-align:center;color:var(--muted)}

/* BADGES */
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid transparent}
.b-spotkanie{color:var(--spotkanie);background:#f5f3ff;border-color:#ede9fe}
.b-email{color:var(--email);background:#f0f9ff;border-color:#e0f2fe}
.b-telefon{color:var(--telefon);background:#f0fdf4;border-color:#dcfce7}
.b-zadanie{color:var(--zadanie);background:var(--soft);border-color:var(--line)}
.b-status{color:#374151;background:var(--soft);border-color:var(--line)}
.b-oferta{color:var(--accent);background:var(--accent-soft);border-color:#e0e7ff}
.b-otwarty{color:var(--warn);background:#fffbeb;border-color:#fef3c7}
.b-prop{color:#92400e;background:#fef3c7;border-color:#fde68a}
.b-rej{color:var(--muted);background:var(--soft);border-color:var(--line);text-decoration:line-through}

/* CARDS (klienci) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.card h3{margin:0 0 3px;font-size:16px;cursor:pointer}
.card h3:hover{color:var(--accent)}
.card__meta{color:var(--muted);font-size:13px;margin-bottom:10px}
.card__row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;color:#374151}

/* ZADANIA grupowane */
.group__lab{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:18px 0 8px;font-weight:700}
.task{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:8px;box-shadow:var(--shadow)}
.task input{width:17px;height:17px;accent-color:var(--accent)}
.task__main{flex:1}.task__main b{font-size:14px}.task__main.done b{text-decoration:line-through;color:var(--muted)}
.task__main small{display:block;color:var(--muted)}
.task__av{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--soft);font-size:11px;font-weight:700;color:var(--muted)}
/* PROPOZYCJE zadań z transkrypcji (do_zatwierdzenia) + priorytet + uczestnicy spotkania */
.group__lab--prop{color:#92400e}
.group__lab--prop small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}
.task--prop{cursor:pointer;border-color:#fde68a;background:#fffdf5;border-left:3px solid var(--warn)}
.task--prop:hover{box-shadow:0 2px 10px rgba(180,131,9,.14)}
.prio{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.prio--wysoki{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.prio--sredni{color:#92400e;background:#fffbeb;border-color:#fde68a}
.prio--niski{color:var(--muted);background:var(--soft);border-color:var(--line)}
.partpick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 2px;padding:10px;background:var(--soft);border:1px solid var(--line);border-radius:8px}
.partopt{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#374151;cursor:pointer}
.partopt input{width:15px;height:15px;accent-color:var(--accent)}
.pchip{display:inline-block;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid #e0e7ff;border-radius:999px;padding:1px 9px;margin-right:3px}

/* POCZTA — skrzynka (lista + podgląd) */
.mailconnect h3{margin:4px 0 6px}
.mailbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 2px 12px}
.mailbar__r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mailtabs{display:flex;gap:4px}
.mailtab{font-size:13px;font-weight:600;padding:6px 13px;border:1px solid var(--line);background:var(--panel);border-radius:8px;cursor:pointer;color:var(--muted)}
.mailtab:hover{background:var(--soft)}
.mailtab.is-active{color:var(--accent);background:var(--accent-soft);border-color:#e0e7ff}
.mailview{display:flex;gap:14px;height:calc(100vh - 330px);min-height:320px}
.maillist{width:380px;min-width:300px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.mailprev{flex:1;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px}
.mailprev__empty{color:var(--muted);text-align:center;padding:48px 16px}
.mailrow{padding:10px 13px;border-bottom:1px solid var(--line);cursor:pointer}
.mailrow:hover{background:var(--soft)}
.mailrow.sel{background:var(--accent-soft)}
.mailrow.unread .mailrow__from,.mailrow.unread .mailrow__subj{font-weight:700}
.mailrow.unread{border-left:3px solid var(--accent)}
.mailrow__top{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#1f2937}
.mailrow__from{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}
.mailrow__date{color:var(--muted);font-size:11px;white-space:nowrap}
.mailrow__subj{font-size:13px;color:#374151;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mailrow__meta{display:flex;align-items:center;gap:6px}
.mailclip{font-size:12px}
.mailhead{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}
.mailhead h3{margin:0 0 4px}
.mailatts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mailatt{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--accent);background:var(--accent-soft);border:1px solid #e0e7ff;border-radius:8px;padding:4px 10px;text-decoration:none}
.mailatt:hover{filter:brightness(.97)}
.mailactions{margin-top:12px;display:flex;align-items:center;gap:8px}
.mailbody{font-size:13.5px;line-height:1.55;color:#1f2937;white-space:normal;word-break:break-word}
.mailcompose h3{margin:0 0 12px}
.mailcompose .cfgform{max-width:none}
.mailcompose input,.mailcompose textarea{width:100%;box-sizing:border-box}
.mailcompose textarea{font:inherit;font-size:13px;line-height:1.5;resize:vertical}

/* ASYSTENT pełny */
.assistant{max-width:760px;margin:0 auto;text-align:center;padding-top:32px}
.assistant__mark{width:54px;height:54px;border-radius:14px;background:#111827;color:#fff;display:grid;place-items:center;font-size:24px;margin:0 auto 16px}
.assistant h2{margin:0 0 6px}
.assistant p{color:var(--muted)}
.suggest{display:flex;flex-direction:column;gap:10px;margin:22px 0;text-align:left}
.suggest button{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:13px 16px;text-align:left;cursor:pointer;font-size:14px;color:#374151}
.suggest button:hover{border-color:var(--accent);color:var(--accent)}
.composer{display:flex;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel)}
.composer input{flex:1;border:none;outline:none;font-size:14px}

/* ASYSTENT — dolny dok (cała szerokość) */
.assist{display:none;background:var(--panel);border-top:1px solid var(--line);flex-direction:column;overflow:hidden;height:clamp(260px,40vh,460px);box-shadow:0 -6px 24px rgba(16,24,40,.10)}
.app.assist-open .assist{display:flex}
.assist__head{display:flex;align-items:center;gap:7px;padding:7px 18px;border-bottom:1px solid var(--line)}
.assist__title{font-weight:800;font-size:14px}
.assist__ctx2{color:var(--muted);font-size:12px}
.assist__head .iconbtn{margin-left:auto}
.assist__ctx{padding:7px 22px;font-size:12px;color:var(--muted);background:var(--soft);border-bottom:1px solid var(--line)}
.assist__body{flex:1;overflow-y:auto;padding:16px 22px;display:flex;flex-direction:column;gap:12px}
.acard{border:1px solid var(--line);border-radius:11px;padding:13px;background:var(--panel);max-width:860px}
.acard__t{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:7px;display:flex;align-items:center;gap:6px}
.acard p{margin:0;font-size:13px;color:#374151}
.acard .btn{margin-top:10px;padding:6px 11px;font-size:13px}
.amsg{font-size:14px;line-height:1.55;padding:11px 15px;border-radius:13px;border:1px solid var(--line);max-width:860px;white-space:pre-wrap;word-wrap:break-word}
.amsg--u{background:var(--accent);color:#fff;border-color:var(--accent);align-self:flex-end}
.amsg--b{background:var(--soft);align-self:flex-start}
.amsg--b b{color:var(--txt)}
/* dynamiczny wskaźnik „Hermes pracuje": pulsująca kropka + lecące sekundy */
.amsg--think{background:var(--soft)}
.think{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}
.think__dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none;animation:thinkpulse 1.1s ease-in-out infinite}
.think__txt{color:var(--muted)}
.think__sec{font-variant-numeric:tabular-nums;color:var(--accent);opacity:.85;font-weight:600;font-size:.85em;min-width:30px}
.think__hint{color:var(--muted);opacity:.65;font-size:.82em;font-style:italic}
@keyframes thinkpulse{0%{opacity:.35;transform:scale(.8);box-shadow:0 0 0 0 rgba(79,70,229,.45)}50%{opacity:1;transform:scale(1.1);box-shadow:0 0 0 6px rgba(79,70,229,0)}100%{opacity:.35;transform:scale(.8);box-shadow:0 0 0 0 rgba(79,70,229,0)}}
.asuggest{display:flex;flex-wrap:wrap;gap:7px;max-width:860px}
.asuggest button{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:9px 11px;cursor:pointer;font-size:13px;color:#374151}
.asuggest button:hover{border-color:var(--accent);color:var(--accent)}
.assist__composer{display:flex;gap:8px;padding:12px 22px;border-top:1px solid var(--line)}
.assist__composer input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14px}
.assist__composer input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.assist__composer .btn{padding:11px 16px}

/* ADMIN */
.adminblock{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.adminblock h3{margin:0 0 4px;font-size:15px}
.adminblock p{margin:0;color:var(--muted);font-size:13px}

/* iteracja UI */
.composer--big{padding:14px 16px;border:1.5px solid var(--line);box-shadow:var(--shadow);border-radius:14px}
.composer--big input{font-size:15px}
.composer--big:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.dash-composer{position:sticky;bottom:-22px;margin-top:22px;background:linear-gradient(transparent,var(--bg) 30%);padding-top:10px}
.dash-composer .composer--big{background:#fff}
.app.assist-open .dash-composer{display:none}
/* globalny composer — na wszystkich widokach, chowa się gdy dok otwarty */
.gcomposer{flex:none;padding:12px 22px 16px;border-top:1px solid var(--line);background:var(--bg)}
.gcomposer .composer--big{background:#fff;max-width:980px;margin:0 auto}
.app.assist-open .gcomposer{display:none}
tbody tr.clk{cursor:pointer}
tbody tr.clk:hover td{background:var(--accent-soft)}
.colcfg{margin-left:auto;font-size:12px;color:var(--muted)}
/* segment filtra + chip aktywnego filtra (sterowany przez asystenta) */
.seg{display:inline-flex;gap:6px;flex-wrap:wrap}
.seg button{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600;color:#374151;cursor:pointer}
.seg button:hover{border-color:var(--accent)}
.seg button.is-active{background:var(--accent-soft);border-color:#e0e7ff;color:var(--accent)}
.fchip{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent);border:1px solid #e0e7ff;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:700;margin-left:6px}
.fchip__x{cursor:pointer;font-weight:800}
.wikicard{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.65;color:#374151;max-width:820px}
.wl{color:var(--accent);font-weight:600}
.dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.dash-grid h3{font-size:14px;margin:0 0 10px;color:#374151}
.dash-h{font-size:14px;font-weight:700;margin:0 0 10px;color:#374151}
.funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}
.fstage{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 15px;box-shadow:var(--shadow)}
.fstage__lab{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.fstage__val{font-size:18px;font-weight:800;margin:5px 0 9px}
.fstage__track{height:7px;background:var(--soft);border-radius:20px;overflow:hidden}
.fstage__bar{height:100%;border-radius:20px;min-width:4px}
.tl__row--warn{border-left:3px solid var(--danger)}
.dkpi{display:flex;align-items:center;gap:13px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow);cursor:pointer;transition:border-color .12s,box-shadow .12s}
.dkpi:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(79,70,229,.12)}
.dkpi__ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:21px}
.dkpi__val{font-size:25px;font-weight:800;line-height:1.05}
.dkpi__lab{font-size:12px;color:var(--muted);margin-top:4px}
.dkpi__lab b{color:#374151;font-weight:700}
.dtabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.dtab{flex:1;border:none;background:transparent;padding:11px 8px;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
.dtab:hover{color:var(--txt)}
.dtab.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.dpanel{display:none}.dpanel.is-active{display:block}
.dash-mut{font-size:12px;color:var(--muted);font-weight:400}
/* Asystent jako pełny widok-czat (zastąpił dolny dok) */
.achat{display:flex;flex-direction:column;height:calc(100vh - 100px);max-width:980px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.achat__head{display:flex;align-items:center;gap:7px;padding:13px 20px;border-bottom:1px solid var(--line);font-size:15px}
.achat__head small{color:var(--muted)}
.achat__ctx{margin-left:auto;font-size:12px;color:var(--muted)}
@media(max-width:1100px){.dash-grid{grid-template-columns:1fr}}
/* Dashboard o stałej wysokości — listy mają własny scroll, dolny dok nie zasłania */
#vDashboard.is-active{display:flex;flex-direction:column;height:100%;min-height:0}
#vDashboard.is-active > .greeting,
#vDashboard.is-active > .kpis,
#vDashboard.is-active > .dtabs{flex:none}
#vDashboard.is-active > .dash-composer{flex:none;position:static;bottom:auto;margin-top:14px}
#vDashboard.is-active .dpanel.is-active{display:flex;flex-direction:column;flex:1;min-height:0}
#vDashboard.is-active .dash-grid{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}
#vDashboard .dash-grid > div{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding-right:6px}
#vDashboard .dash-grid > div > .dash-h{position:sticky;top:0;z-index:2;background:var(--bg);margin:0 0 10px;padding:2px 0 8px}
@media(max-width:1100px){
  #vDashboard.is-active{height:auto;display:block}
  #vDashboard.is-active .dpanel.is-active{display:block}
  #vDashboard.is-active .dash-grid{grid-template-rows:none}
  #vDashboard .dash-grid > div{overflow:visible;display:block;padding-right:0}
  #vDashboard .dash-grid > div > .dash-h{position:static}
}
/* Widoki listowe (Leady/Klienci/Zadania/Projekty/Spotkania/Pomysły/Decyzje/Kalendarz) o stałej wysokości
   — nagłówek u góry stały, treść z własnym scrollem; dolny dok asystenta nie zasłania */
.view--list.is-active{display:flex;flex-direction:column;height:100%;min-height:0}
.view--list.is-active > .view__head{flex:none}
.view--list.is-active > :not(.view__head){flex:0 1 auto;min-height:0;overflow:auto}
.view--list.is-active thead th{position:sticky;top:0;z-index:2}
.view--list.is-active .group__lab{position:sticky;top:0;z-index:2;background:var(--bg);margin-bottom:0;padding-bottom:8px}
.profile__head{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.profile__head h2{margin:0}
.profile__back{cursor:pointer;color:var(--accent);font-weight:600;font-size:13px}
.profile__sub{color:var(--muted);margin:0 0 18px}
.psec{margin-bottom:22px}
.psec h3{font-size:14px;margin:0 0 8px;color:#374151;display:flex;align-items:center;gap:8px}
.psec h3 .cnt{font-size:12px;color:var(--muted);background:var(--soft);border-radius:20px;padding:0 8px}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:15px;cursor:pointer;box-shadow:var(--shadow)}
.admin-card:hover{border-color:var(--accent)}
.admin-card h3{margin:0 0 4px;font-size:14px}
.admin-card small{color:var(--muted);font-size:12px}

/* formularze konfiguracji */
.cfgform{display:flex;flex-direction:column;gap:13px;max-width:580px;margin-top:12px}
.cfgrow{display:flex;flex-direction:column;gap:5px}
.cfgrow label{font-size:13px;color:var(--muted);font-weight:600}
.cfgrow input,.cfgrow select{border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:14px;font-family:inherit;background:#fff}
.cfgrow input:focus,.cfgrow select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.cfgrow--chk{flex-direction:row;align-items:center;gap:9px}
.cfgrow--chk label{color:var(--txt)}
.cfgrow--chk input{width:17px;height:17px;accent-color:var(--accent)}
.cfgactions{display:flex;gap:8px;margin-top:4px;align-items:center}
.cfgnote{font-size:12px;color:var(--muted)}
.cfgsaved{color:var(--ok);font-size:13px;font-weight:600;margin-left:6px}
.cfgout{background:#0f1115;color:#d7e3f4;border-radius:9px;padding:12px 14px;font:12px/1.55 ui-monospace,Consolas,monospace;white-space:pre-wrap;margin-top:6px;min-height:54px}
.cfgtable{width:100%;border-collapse:collapse;margin-bottom:12px}
.cfgtable th,.cfgtable td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px}
.cfgtable th{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.4px}
.cfgcols{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ===== KARTA KLIENTA — kokpit ===== */
.prof__back{cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--accent);background:var(--panel);border:1px solid var(--line);font-family:inherit;font-weight:600;font-size:13px;border-radius:8px;padding:7px 14px;margin-bottom:12px;box-shadow:var(--shadow)}
.prof__back:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.prof__hd{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.prof__av{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:var(--accent-soft);color:var(--accent);font-size:19px;font-weight:800}
.prof__id{flex:0 1 auto;min-width:180px}
.prof__id h2{margin:0;font-size:21px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.prof__sub{color:var(--muted);font-size:13px;margin:4px 0 0}
.prof__acts{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.prof__acts a.btn{text-decoration:none;display:inline-flex;align-items:center}
.prof{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}
@media(max-width:1080px){.prof{grid-template-columns:1fr}}
.pkpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
@media(max-width:1500px){.pkpis{grid-template-columns:repeat(2,1fr)}}
.pkpi{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 13px;box-shadow:var(--shadow);min-width:0}
.pkpi__lab{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.pkpi__val{font-size:18px;font-weight:800;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pkpi__sub{font-size:12px;font-weight:600;margin-top:4px;color:var(--muted)}
.ptabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.ptab{border:none;background:transparent;padding:9px 13px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.ptab:hover{color:var(--txt)}
.ptab.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.ptab .cnt{font-size:11px;background:var(--soft);border-radius:20px;padding:0 7px;margin-left:5px;color:var(--muted)}
.ppanel{display:none}.ppanel.is-active{display:block}
.psec2{margin-bottom:20px}
.psec2 h3{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin:0 0 9px}
.tldot{flex:none;width:9px;height:9px;border-radius:50%}
.notebox{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px;box-shadow:var(--shadow);margin-bottom:16px}
.notebox textarea{width:100%;border:none;outline:none;resize:vertical;min-height:60px;font:14px/1.5 inherit;font-family:inherit;color:var(--txt)}
.notebox__bar{display:flex;align-items:center;gap:10px;margin-top:8px}
.notebox__hint{font-size:12px;color:var(--muted);flex:1}
.note{border:1px solid var(--line);border-radius:11px;background:var(--panel);padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow)}
.note__hd{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.note__hd b{font-size:13px}.note__hd small{color:var(--muted);margin-left:auto}
.note__bd{font-size:14px;line-height:1.55;color:#374151;white-space:pre-wrap}
/* Formularz „Nowa notatka" (karty klient/projekt/lead) → save_note */
.noteform{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px;box-shadow:var(--shadow);margin-bottom:16px;display:flex;flex-direction:column;gap:9px}
.nf__top{display:flex;align-items:center;gap:10px}
.nfinput{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font:inherit;font-size:14px;color:var(--txt);background:#fff}
.nfinput:focus{outline:none;border-color:var(--accent)}
.nfinput--sm{font-size:13px;padding:7px 9px}
.nftext{width:100%;border:1px solid var(--line);border-radius:9px;outline:none;resize:vertical;min-height:74px;font:14px/1.5 inherit;color:var(--txt);padding:9px 11px;background:#fff;box-sizing:border-box}
.nftext:focus{border-color:var(--accent)}
.nfseg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;flex:none}
.nfseg__b{border:none;background:#fff;padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted)}
.nfseg__b+.nfseg__b{border-left:1px solid var(--line)}
.nfseg__b.is-active{background:var(--accent-soft);color:var(--accent)}
.nf__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.nffield{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:var(--muted);flex:1;min-width:150px}
.nffield--wide{flex-basis:100%;flex-grow:1}
.nfsel{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:13px;font-weight:400;color:var(--txt);background:#fff}
.nfsel:focus{outline:none;border-color:var(--accent)}
.nfchip{align-self:flex-start;display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:7px;padding:6px 10px;font-size:13px;font-weight:600}
.av{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:700;flex:none}
.av--soft{background:var(--soft);color:var(--muted)}
.rail{display:flex;flex-direction:column;gap:16px}
.railsec{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}
.railsec h3{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 11px}
.person{display:flex;align-items:center;gap:10px;padding:6px 0}
.person__meta{flex:1;min-width:0;line-height:1.3}
.person__meta b{font-size:13px;display:block}
.person__meta small{color:var(--muted);font-size:12px}
.person .iconbtn{text-decoration:none}
.dl__row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--soft)}
.dl__row:last-child{border-bottom:none}
.dl__row span{color:var(--muted)}
.dl__row b{font-weight:600;text-align:right}
[data-goto],[data-open]{cursor:pointer}
tbody tr[data-open]:hover td{background:var(--accent-soft)}
.cardbannerwrap{flex:1 1 auto;display:flex;justify-content:center;min-width:180px}
.cardbanner{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:999px;padding:5px 14px;white-space:nowrap;box-shadow:0 2px 8px rgba(99,102,241,.35)}
.person__acts{margin-left:auto;display:inline-flex;gap:6px;align-items:center}
tbody tr[data-goto]:hover td{background:var(--accent-soft)}
.tl__row[data-goto]:hover,.task[data-goto]:hover{border-color:var(--accent)}
/* Przegląd jako dashboard */
.pdash{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:780px){.pdash{grid-template-columns:1fr}}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow);min-width:0}
.pcard--wide{grid-column:1/-1}
.pcard h4{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin:0 0 8px;display:flex;align-items:center;gap:7px}
.pcard h4 .cnt{font-size:11px;background:var(--soft);border-radius:20px;padding:0 7px;color:var(--muted)}
.pli{display:flex;align-items:center;gap:8px;padding:8px 6px;margin:0 -6px;border-bottom:1px solid var(--soft);font-size:13px;border-radius:7px}
.pli:last-child{border-bottom:none}
.pli:hover{background:var(--soft)}
.pli__main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pli__r{color:var(--muted);font-size:12px;flex:none}
.reccard{max-width:680px}
/* pasek akcji edycji na karcie rekordu (Krok 1) */
.recacts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;max-width:680px}
.recacts .recact{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.recacts select,.recacts input[type=date]{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font:inherit;font-size:13px;background:#fff;color:var(--txt)}
.recacts select:focus,.recacts input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.recact-msg{font-size:12px;font-weight:600;color:var(--ok)}
.reccard .dl__row{padding:9px 0}
.reccard .note__bd{font-size:14px}
/* Duże pole Opis na karcie rekordu (zadanie/pomysł/decyzja) — edycja inline */
.railsec--opis h3{color:var(--accent)}
.opisbox{width:100%;box-sizing:border-box;font-family:inherit;font-size:14px;line-height:1.55;color:#374151;border:1px solid var(--line);border-radius:10px;padding:11px 13px;resize:vertical;background:#fff}
.opisbox:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.opisbar{display:flex;align-items:center;gap:10px;margin-top:9px}
.opisro{min-height:36px}
/* Karta rekordu: układ 2-kolumnowy (Szczegóły | Opis) + inline edycja pól przez rozwijaną listę */
.reccard--split{max-width:980px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media(max-width:900px){.reccard--split{grid-template-columns:1fr}}
.recmain{display:flex;flex-direction:column;gap:14px;min-width:0}
.recside{min-width:0}
.recside .opisbox{min-height:260px}
.cellpick{cursor:pointer;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:7px;padding:2px 8px;background:#fff;font-weight:600;color:var(--txt)}
.cellpick:hover{border-color:var(--accent);background:var(--accent-soft)}
.cpchev{color:var(--muted);font-size:11px}
.combopop{position:absolute;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:7px;max-width:380px}
.comboinp{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;padding:7px 10px;font:inherit;font-size:13px;outline:none;margin-bottom:6px}
.comboinp:focus{border-color:var(--accent)}
.combolist{max-height:260px;overflow-y:auto}
.comboopt{padding:7px 9px;border-radius:7px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px}
.comboopt:hover{background:var(--accent-soft)}
.comboopt.is-cur{background:var(--soft);font-weight:700}
.comboopt small{color:var(--muted);margin-left:auto;font-size:11px}
.comboempty{padding:9px;color:var(--muted);font-size:13px;text-align:center}
.convbar{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:13px;font-weight:600;max-width:680px}
/* Lista zadań — tabela + szybkie akcje inline */
.zadseg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:14px}
.zadseg__b{border:none;background:#fff;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted)}
.zadseg__b+.zadseg__b{border-left:1px solid var(--line)}
.zadseg__b.is-active{background:var(--accent-soft);color:var(--accent)}
.zadgrp{margin-bottom:20px}
.zadgrp__h{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;margin:0 0 9px}
.zadgrp__h--prop{color:var(--accent)}
.zadgrp__h small{font-weight:400;text-transform:none;letter-spacing:0}
.zadtbl{width:100%;border-collapse:collapse;font-size:13px}
.zadtbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:7px 9px;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}
.zadtbl td{padding:7px 9px;border-bottom:1px solid var(--soft);vertical-align:middle}
.zadtbl tbody tr:hover td{background:var(--accent-soft)}
.listdate{border:1px solid var(--line);border-radius:7px;padding:4px 7px;font:inherit;font-size:12px;background:#fff;color:var(--txt)}
.listdate:focus{outline:none;border-color:var(--accent)}
.listdate.overdue,.zadtbl span.overdue{color:var(--danger);font-weight:700}
.cellpick--sm{padding:2px 7px;font-size:12px}
.zadacts{white-space:nowrap;text-align:right}
.zbtn{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:28px;height:28px;cursor:pointer;font-size:13px;margin-left:3px;line-height:1;padding:0 5px}
.zbtn:hover{background:var(--soft)}
.zbtn--ok:hover{background:var(--ok);color:#fff;border-color:var(--ok)}
.zbtn--no:hover{background:var(--danger);color:#fff;border-color:var(--danger)}
/* Konfigurowalna tabela: pasek + wybór kolumn (popover) + przeciąganie szerokości */
.zadbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.zadbar .zadseg{margin-bottom:0}
.zadcolsbtn{margin-left:auto}
.zadtbl--cfg{table-layout:fixed}
.zadtbl--cfg th{position:relative;overflow:hidden}
.zadtbl--cfg td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.colrz{position:absolute;top:0;right:0;width:7px;height:100%;cursor:col-resize;user-select:none}
.colrz:hover{background:var(--accent)}
.colchooser{padding:9px;min-width:180px}
.colchooser__h{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;margin-bottom:7px}
.colchooser__row{display:flex;align-items:center;gap:8px;padding:5px 4px;font-size:13px;cursor:pointer;border-radius:6px}
.colchooser__row:hover{background:var(--soft)}
/* ===== Nowoczesny wygląd tabel list (zadania → wzorzec dla reszty) ===== */
.zadtblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);background:var(--panel)}
.zadgrp__h{font-size:12px;padding:2px 2px 9px}
.zadtbl{font-size:13.5px}
.zadtbl th{padding:11px 14px;font-size:10.5px;color:var(--muted);background:var(--soft);border-bottom:1px solid var(--line);font-weight:700;letter-spacing:.5px}
.zadtbl td{padding:10px 14px;border-bottom:1px solid var(--soft);color:var(--txt)}
.zadtbl tbody tr:last-child td{border-bottom:none}
.zadtbl tbody tr:hover td{background:var(--accent-soft)}
.zadtbl .link{color:var(--accent);font-weight:600}
.zadtbl .badge,.zadtbl .prio{border-radius:999px;padding:3px 11px;font-size:11px;font-weight:700;letter-spacing:.2px}
.cellpick{border-color:transparent;background:transparent;padding:3px 8px;border-radius:8px;font-weight:600}
.cellpick:hover{border-color:var(--line);background:var(--panel);box-shadow:var(--shadow)}
.cellpick .cpchev{opacity:.35}
.cellpick:hover .cpchev{opacity:1;color:var(--accent)}
.zbtn{border-radius:9px;border-color:var(--soft);width:30px;height:30px}
.listdate{border-color:var(--soft);border-radius:9px;padding:5px 9px}
/* tabela sortowalna/filtrowalna */
.dtbl{overflow-x:auto}
.dtbl table{min-width:640px}
.dtbl th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
.dtbl th.sortable:hover{color:var(--txt)}
.dtbl .sarr{font-size:10px;color:var(--accent)}
.dtbl .filtrow th{padding:6px 8px;background:var(--panel);border-bottom:1px solid var(--line)}
.dtbl .filtrow input,.dtbl .filtrow select{width:100%;min-width:64px;border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:12px;font-family:inherit;background:#fff;color:var(--txt)}
.dtbl .filtrow input:focus,.dtbl .filtrow select:focus{outline:none;border-color:var(--accent)}
.dtbl td{font-size:13px;vertical-align:top}

/* ===== ASYSTENT: układ 2-kolumnowy + przeglądarka skilli Hermesa ===== */
.asystent-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;max-width:1240px;margin:0 auto}
.asystent-grid .assistant{max-width:none;margin:0;padding-top:18px}
.skills{position:sticky;top:0;display:flex;flex-direction:column;max-height:calc(100vh - 150px);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.skills__head{display:flex;align-items:center;gap:8px;padding:13px 14px 8px}
.skills__title{font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px}
.skills__count{color:var(--muted);font-weight:600;font-size:13px}
.skills__refresh{margin-left:auto;font-size:16px;line-height:1}
.skills__refresh.is-spin{animation:skspin .8s linear infinite}
@keyframes skspin{to{transform:rotate(360deg)}}
.skills__meta{padding:0 14px 9px;font-size:11px;color:var(--muted)}
.skills__tools{display:flex;flex-direction:column;gap:8px;padding:0 14px 10px;border-bottom:1px solid var(--line)}
.skills__modes{display:flex;gap:4px;background:var(--soft);border-radius:9px;padding:3px}
.skmode{flex:1;border:none;background:transparent;border-radius:7px;padding:6px 4px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}
.skmode:hover{color:var(--txt)}
.skmode.is-active{background:var(--panel);color:var(--accent);box-shadow:var(--shadow)}
.skills__alwayson{font-size:11px;color:var(--muted);line-height:1.4}
.skills__alwayson:empty{display:none}
.skills__search{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;background:var(--soft);color:var(--txt)}
.skills__search:focus{outline:none;border-color:var(--accent);background:#fff}
.skills__body{flex:1;min-height:0;overflow-y:auto;padding:6px 8px}
.skgroup{border-bottom:1px solid var(--soft)}
.skgroup:last-child{border-bottom:none}
.skgroup__h{display:flex;align-items:center;gap:8px;padding:8px 6px;cursor:pointer;user-select:none;border-radius:8px}
.skgroup__h:hover{background:var(--soft)}
.skgroup__chev{color:var(--muted);font-size:11px;transition:transform .15s;width:10px;flex:none}
.skgroup.is-open .skgroup__chev{transform:rotate(90deg)}
.skgroup__cb{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none}
.skgroup__lab{font-weight:700;font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skgroup__n{font-size:11px;color:var(--muted);background:var(--soft);border-radius:20px;padding:1px 8px;font-weight:700;flex:none}
.skgroup__items{display:none;padding:2px 0 8px 8px}
.skgroup.is-open .skgroup__items{display:block}
.skitem{display:flex;align-items:flex-start;gap:6px;padding:4px 6px 4px 8px;border-radius:8px}
.skitem:hover{background:var(--accent-soft)}
.skitem__pick{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0;cursor:pointer}
.skitem__cb{width:15px;height:15px;margin-top:2px;accent-color:var(--accent);cursor:pointer;flex:none}
.skstar{border:none;background:transparent;cursor:pointer;font-size:15px;line-height:1;color:#cbd1d9;padding:2px;flex:none;align-self:center}
.skstar:hover{color:#f5a623}
.skstar.is-on{color:#f5a623}
.skitem__lock{font-size:10px}
.skitem__main{display:flex;flex-direction:column;gap:1px;min-width:0}
.skitem__name{font-size:13px;font-weight:600;color:var(--txt);word-break:break-word}
.skitem__desc{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.skills__foot{padding:9px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--soft)}
.sksec{border-bottom:1px solid var(--line)}
.sksec:last-child{border-bottom:none}
.sksec__h{display:flex;align-items:center;gap:8px;padding:10px;cursor:pointer;user-select:none}
.sksec__h:hover{background:var(--soft)}
.sksec__lab{flex:1;font-size:13px;font-weight:700}
.sksec--domyslne .sksec__lab{color:#b8860b}
.sksec--domyslne.is-open{background:linear-gradient(0deg,transparent,rgba(245,166,35,.06))}
.sksec__body{display:none;padding:0 4px 8px}
.sksec.is-open>.sksec__body{display:block}
.sksec.is-open>.sksec__h .skgroup__chev{transform:rotate(90deg)}
.sksec__empty{font-size:12px;color:var(--muted);padding:4px 12px 10px;line-height:1.45}
.sksec__list{padding:2px 0}
.skopt{border:none;background:transparent;cursor:pointer;font-size:13px;line-height:1;padding:2px;flex:none;align-self:center;opacity:.4;filter:grayscale(1)}
.skopt:hover{opacity:1;filter:none}
.skopt.is-on{opacity:1;filter:none}
.skitem.is-dim{opacity:.6}
.skitem__plug{width:15px;text-align:center;flex:none;font-size:12px;opacity:.6;filter:grayscale(1)}
.sklink{color:var(--accent);cursor:pointer;font-weight:600}
.sklink:hover{text-decoration:underline}
.paneltabs{display:flex;gap:2px;padding:8px 8px 0;flex:none;border-bottom:1px solid var(--line)}
.ptabbtn{flex:1;border:none;background:transparent;padding:8px 4px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.ptabbtn:hover{color:var(--txt)}
.ptabbtn.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.paneltab{display:none;flex-direction:column;min-height:0;flex:1}
.paneltab.is-active{display:flex}
/* UMIEJĘTNOŚCI — karty (czysty widok użytkownika w Asystencie) */
.umhead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 0;flex:none}
.umhead__title{font-weight:800;font-size:15px;letter-spacing:-.01em}
.umhead__hint{color:var(--muted);font-size:12px;line-height:1.5;padding:6px 14px 10px;flex:none}
.umscroll{flex:1;min-height:0;overflow-y:auto;padding:2px 12px 12px}
.umlist{display:flex;flex-direction:column;gap:10px}
.umcard{display:flex;gap:12px;align-items:flex-start;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--sh-sm);cursor:pointer;transition:border-color var(--tr),box-shadow var(--tr),background var(--tr)}
.umcard:hover{border-color:var(--line-strong);box-shadow:var(--sh-md)}
.umcard.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--sh-md)}
.umcard__cb{margin:2px 0 0;width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex:none}
.umcard__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.umcard__top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.umcard__name{font-weight:700;font-size:13.5px;color:var(--txt);line-height:1.3}
.umcard__tech{font-weight:500;font-size:11px;color:var(--muted)}
.umcard__badge{flex:none;font-size:10.5px;font-weight:700;color:var(--violet);background:#f3eefe;border:1px solid #e7dcff;padding:2px 9px;border-radius:999px;white-space:nowrap}
.umcard__desc{color:var(--muted);font-size:12px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.umfoot{margin-top:12px;font-size:12px;color:var(--txt);line-height:1.5;padding:10px 12px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-sm)}
.umfoot__infra{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.umempty{color:var(--muted);font-size:12.5px;padding:16px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);line-height:1.55;text-align:center}
/* Zaawansowane — zwijane zarządzanie (katalog skilli / narzędzia / crony) */
.adv{margin-top:18px;border-top:1px solid var(--line)}
.adv__head{display:flex;align-items:center;gap:7px;cursor:pointer;padding:11px 2px 4px;font-weight:700;font-size:12.5px;color:var(--muted);user-select:none}
.adv__head:hover{color:var(--txt)}
.adv__head .skgroup__chev{transition:transform var(--tr)}
.adv.is-open .adv__head .skgroup__chev{transform:rotate(90deg)}
.adv__body{display:none;padding-top:4px}
.adv.is-open .adv__body{display:block}
/* ASYSTENT v2 — dwie kolumny (lewa: wszystkie + kategorie, prawa: ulubione) */
.asys2{max-width:1240px;margin:0 auto}
.asys2__top{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px 15px;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-lg);box-shadow:var(--sh-sm)}
.asys2__intro{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12.5px;line-height:1.5}
.asys2__mark{display:grid;place-items:center;width:26px;height:26px;flex:none;background:var(--grad);color:#fff;border-radius:9px;font-size:14px}
.suggest--inline{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin:0}
.suggest--inline button{width:auto;text-align:left;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600;color:var(--txt);cursor:pointer;transition:background var(--tr),border-color var(--tr)}
.suggest--inline button:hover{background:var(--accent-soft);border-color:var(--accent)}
.asys2__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
@media(max-width:1100px){.asys2__cols{grid-template-columns:1fr}}
.catchips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 2px;flex:none;max-height:96px;overflow-y:auto}
.catchip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background var(--tr),color var(--tr),border-color var(--tr)}
.catchip:hover{background:var(--soft);color:var(--txt)}
.catchip.is-on{background:var(--accent);border-color:var(--accent);color:#fff}
.catchip b{font-weight:800;opacity:.65;margin-left:3px}
.catchip.is-on b{opacity:.9}
.brow{display:flex;gap:6px;align-items:flex-start;padding:8px 9px;border:1px solid transparent;border-radius:var(--radius-sm);transition:background var(--tr),border-color var(--tr)}
.brow:hover{background:var(--soft)}
.brow.is-on{background:var(--accent-soft);border-color:var(--accent)}
.brow__star{flex:none;border:none;background:transparent;color:var(--warn);font-size:16px;line-height:1;cursor:pointer;padding:1px 3px;border-radius:6px}
.brow__star:not(.is-fav){color:var(--line-strong)}
.brow__star:hover{background:#fff;color:var(--warn)}
.brow__pick{flex:1;min-width:0;display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.brow__cb{margin-top:2px;width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none}
.brow__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.brow__top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.brow__name{font-weight:700;font-size:13px;color:var(--txt)}
.brow__desc{color:var(--muted);font-size:11.5px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.umcard__pick{flex:1;min-width:0;display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.umcard__star{flex:none;border:none;background:transparent;color:var(--warn);font-size:16px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:6px}
.umcard__star:hover{background:var(--soft)}
.tool{border-bottom:1px solid var(--soft)}
.tool:last-child{border-bottom:none}
.tool__h{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;user-select:none}
.tool__h:hover{background:var(--soft)}
.tool__lab{flex:1;font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tool.is-open>.tool__h .skgroup__chev{transform:rotate(90deg)}
.tool__body{display:none;padding:0 12px 10px 28px}
.tool.is-open>.tool__body{display:block}
.tool__desc{font-size:12px;color:var(--muted);margin-bottom:6px}
.tool__chips{display:flex;flex-wrap:wrap;gap:4px}
.tchip{font:11px ui-monospace,Consolas,monospace;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--txt)}
.tool__none{font-size:11px;color:var(--muted)}
.tbadge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:1px 7px;border-radius:20px;background:var(--soft);color:var(--muted);flex:none}
.tbadge--on{background:#dcfce7;color:#15803d}
.tbadge--cfg{background:#fef3c7;color:#b45309}
/* Połączone aplikacje (Narzędzia) + katalog skilli */
.integr{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px;background:var(--panel)}
.integr__h{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.integr__ico{font-size:16px;flex:none}
.integr__name{font-weight:700;font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.integr__detail{font-size:12px;color:var(--muted);line-height:1.45}
.skcatsub{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;margin:10px 8px 4px}
.sksec__hint{font-weight:400;color:var(--muted);font-size:11px}
.cron{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px;background:var(--panel)}
.cron__top{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.cron__name{font-weight:700;font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cron__sched{font:11px ui-monospace,Consolas,monospace;color:var(--accent);margin-bottom:4px}
.cron__prompt{font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:8px}
.cron__acts{display:flex;gap:6px;flex-wrap:wrap}
.cron__acts button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 10px;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
.cron__acts button:hover{background:var(--accent-soft)}
.cron__acts .cron__del{color:var(--danger)}
.cron__acts .cron__del:hover{background:#fee2e2}
.cronadd{flex:none;border-top:1px solid var(--line);padding:10px 12px;background:var(--soft)}
.cronform{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.cronf{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:var(--muted)}
.cronf input,.cronf textarea,.cronf select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:13px;font-weight:400;color:var(--txt);background:#fff}
.cronf input:focus,.cronf textarea:focus,.cronf select:focus{outline:none;border-color:var(--accent)}
.cronquick{display:flex;gap:6px;flex-wrap:wrap;margin-top:-2px}
.cronquick button{border:1px dashed var(--line);background:#fff;border-radius:20px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--accent)}
.cronquick button:hover{background:var(--accent-soft);border-style:solid}
.cronform__bar{display:flex;align-items:center;gap:8px}
.cronmsg{font-size:12px;font-weight:600}
.ntree{font-size:13px}
.ntgrp{margin-bottom:1px}
.ntgrp__h{display:flex;align-items:center;gap:7px;padding:6px;cursor:pointer;user-select:none;border-radius:8px}
.ntgrp__h:hover{background:var(--soft)}
.ntgrp.is-open>.ntgrp__h .skgroup__chev{transform:rotate(90deg)}
.ntgrp__lab{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ntgcb{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none}
.ntgrp__items{display:none;padding:2px 0 6px 18px}
.ntgrp.is-open>.ntgrp__items{display:block}
.ntsubs{padding-left:10px}
.ntitem{display:flex;align-items:flex-start;gap:8px;padding:5px 8px;border-radius:8px;cursor:pointer}
.ntitem:hover{background:var(--accent-soft)}
.ntcb{width:15px;height:15px;margin-top:1px;accent-color:var(--accent);cursor:pointer;flex:none}
.ntico{flex:none;font-size:14px;line-height:1.3}
.ntfico{flex:none;font-size:22px;line-height:1;width:28px;text-align:center;text-decoration:none}
.ntdgrp{margin:2px 0}
.ntdrow{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:8px}
.ntdrow--top{margin-top:6px}
.ntdname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ntdsub{margin-left:16px;border-left:2px solid var(--line);padding-left:8px}
.ntdkids{margin-left:16px;border-left:2px solid var(--line);padding-left:8px}
.ntfocus{flex:none;border:none;background:transparent;cursor:pointer;font-size:13px;opacity:.35;padding:0 2px;border-radius:6px;transition:opacity .12s,background .12s}
.ntgrp__h:hover .ntfocus{opacity:.8}
.ntfocus:hover{opacity:1;background:var(--accent-soft)}
.login__err{color:var(--danger);font-size:13px;min-height:16px;margin:8px 0 0;text-align:center;font-weight:500}
.ntmain{display:flex;flex-direction:column;gap:1px;min-width:0}
.ntname{font-weight:600;color:var(--txt);word-break:break-word}
.ntmeta{font-size:11px;color:var(--muted)}
.ntlink{color:var(--accent);font-weight:600;text-decoration:none}
.ntlink:hover{text-decoration:underline}
.ntempty{font-size:12px;color:var(--muted);padding:4px 8px}
.ntitem--doc{cursor:default}
.ntdrivenote{padding:4px 8px;font-weight:600}
.ntsoon{color:var(--muted);font-weight:400}
.ntscope{margin-top:10px;padding:8px 10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--soft);border-radius:8px}
.ntdrive__bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 8px 8px}
.ntsubh{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;margin:8px 8px 2px}
.ntopen{cursor:pointer}
.ndetail{font-size:13px}
.ntback{border:none;background:transparent;color:var(--accent);font-weight:600;cursor:pointer;padding:4px 0;font-size:13px}
.ntback:hover{text-decoration:underline}
.ndetail__hd{display:flex;align-items:center;gap:8px;margin:8px 0 2px}
.ndetail__t{margin:0;font-size:15px}
.ndetail__meta{font-size:12px;color:var(--muted);margin-bottom:10px}
.ndetail__drive{margin-bottom:12px}
.ndetail__body{border-top:1px solid var(--line);padding-top:10px}
.ndetail__body .wikicard{font-size:13px;line-height:1.6}
@media(max-width:1100px){.asystent-grid{grid-template-columns:1fr}.skills{position:static;max-height:600px}}

/* TREŚĆ / STRUMIEŃ — znacznik źródła, „bez klienta", picker przypisania, toast */
.srcb{display:inline-block;font-size:12px;color:var(--muted);white-space:nowrap}
.srcb--ff{color:#b45309;font-weight:600}
.muted2{color:var(--muted);font-style:italic}
.assignbox{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.assignbox .assignsel{padding:4px 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;max-width:220px}
.nstoast{position:fixed;right:18px;bottom:18px;z-index:9999;color:#fff;padding:11px 16px;border-radius:10px;font-weight:600;font-size:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none;max-width:380px}
.nstoast.show{opacity:1;transform:translateY(0)}

/* Szukajka na liście (Klienci) */
.listsearch{flex:1;min-width:180px;max-width:340px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;font-size:13px;background:var(--panel)}
.listsearch:focus{outline:none;border-color:var(--accent)}

/* Combobox typeahead (picker przypisania klienta) */
.cpick{position:relative;display:inline-block;min-width:240px;vertical-align:top}
.cpick__in{width:100%;padding:5px 9px;border:1px solid var(--accent);border-radius:8px;font-size:13px}
.cpick__in:focus{outline:none}
.cpick__menu{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 3px);background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);max-height:280px;overflow:auto}
.cpick__opt{display:flex;flex-direction:column;gap:1px;padding:7px 10px;cursor:pointer;border-bottom:1px solid var(--soft)}
.cpick__opt:hover{background:var(--accent-soft)}
.cpick__opt small{color:var(--muted);font-size:11px}
.cpick__empty{padding:8px 10px;color:var(--muted);font-size:12px}
.cpick__add{color:var(--accent);font-weight:600}

/* Modal „Dodaj klienta" (po NIP / po nazwie) */
.acmodal{position:fixed;inset:0;z-index:200;background:rgba(16,24,40,.45);display:grid;place-items:start center;padding:48px 16px;overflow:auto}
.acmodal__card{width:100%;max-width:480px;background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px}
.acmodal__hd{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:12px}
.acseg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:12px}
.acseg__b{border:none;background:var(--panel);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted)}
.acseg__b.is-active{background:var(--accent);color:#fff}
.acsearch{display:flex;gap:8px}
.acsearch .nfinput{flex:1}
.acmodal__hint{font-size:12px;color:var(--muted);margin:8px 0}
.acload{padding:12px;background:var(--soft);border-radius:9px;font-size:13px;color:var(--muted)}
.acerr{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;font-size:13px;color:var(--danger)}
.acsub{font-size:12px;color:var(--muted);margin:6px 0}
.accand{padding:9px 11px;border:1px solid var(--line);border-radius:9px;margin-bottom:7px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.accand:hover{border-color:var(--accent);background:var(--accent-soft)}
.accand small{color:var(--muted);font-size:11px}
.acconfirm__hd{font-weight:700;font-size:13px;margin-bottom:8px}
.acf{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);margin-bottom:8px}
.acf .nfinput,.acf .nftext{font-size:13px;color:var(--txt)}
.acconfirm .dl__row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:12px;border-top:1px solid var(--soft)}
.acconfirm__bar{display:flex;align-items:center;gap:10px;margin-top:12px}
.acconfirm__bar .acmsg{flex:1;font-size:12px}

/* Rozwijane okienko podsumowania spotkania */
.sumpanel{border:1px solid var(--line);border-radius:9px;margin-top:8px;overflow:hidden}
.sumpanel__h{display:flex;align-items:center;gap:7px;padding:9px 11px;cursor:pointer;font-weight:600;font-size:13px;background:var(--soft);user-select:none}
.sumpanel__h:hover{background:var(--accent-soft)}
.sumpanel__h .skgroup__chev{transition:transform .15s;color:var(--muted)}
.sumpanel__b{padding:10px 12px;border-top:1px solid var(--line)}
.sumpanel__b .wikicard{font-size:13px;line-height:1.6}

/* ===================== MAGNIFIC — lekkość · gradienty indigo→violet · glassmorphism ===================== */
/* Marki, avatary = gradient */
.brand__mark,.assistant__mark{background:var(--grad);box-shadow:0 6px 16px rgba(124,58,237,.30)}
.userbox__av,.prof__av{background:var(--grad);color:#fff;border:none;box-shadow:0 6px 16px rgba(124,58,237,.24)}
/* Przyciski primary = gradient + miękki lift */
.btn--primary{background:var(--grad);border:none;box-shadow:0 6px 16px rgba(99,102,241,.26)}
.btn--primary:hover{background:var(--grad);box-shadow:0 10px 24px rgba(99,102,241,.36);transform:translateY(-1px)}
.btn--primary:active{transform:translateY(0)}
/* Szklany chrome: sidebar / topbar / dok asystenta */
.sidebar{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-right:1px solid var(--glass-line)}
.topbar{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--glass-line)}
.assist{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:1px solid var(--glass-line);box-shadow:0 -10px 40px rgba(79,70,229,.13)}
/* Nawigacja: aktywny element = gradientowa pigułka */
.nav__item{border-radius:10px;transition:background var(--tr),color var(--tr),box-shadow var(--tr)}
.nav__item.is-active{background:var(--grad);color:#fff;box-shadow:0 6px 16px rgba(124,58,237,.30)}
.nav__item.is-active .nav__badge{background:rgba(255,255,255,.22);color:#fff}
.search input{border-radius:11px}
/* KPI = szklane karty, gradientowe liczby, lift na hover */
.kpi{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-lg);box-shadow:var(--sh-md);transition:transform var(--tr),box-shadow var(--tr)}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.kpi__val{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.kpi--danger .kpi__val{background:none;-webkit-text-fill-color:var(--danger)}
/* Sekcje/karty przeglądu + panel skilli = szkło + powietrze */
.railsec,.pcard,.skills{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-lg);box-shadow:var(--sh-md)}
/* Plan dnia — translucentne wiersze (bez blur dla płynności) */
.tl__row{background:var(--glass);border:1px solid var(--glass-line);border-radius:14px;box-shadow:var(--sh-sm);transition:transform var(--tr),box-shadow var(--tr)}
.tl__row:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}
.tl__row.now{border-color:transparent;box-shadow:0 0 0 2px rgba(139,92,246,.45),var(--sh-md)}
/* Tabele list = jaśniejsza karta, większe zaokrąglenie, indygo cień; nagłówek z muśnięciem koloru */
.zadtblwrap,.tablewrap{border-radius:var(--radius-lg);border:1px solid var(--glass-line);box-shadow:var(--sh-md);background:rgba(255,255,255,.82)}
th,.zadtbl th{background:#eef0fb}
/* Login = szklana karta na fioletowym tle */
.login{background:
  radial-gradient(1000px 600px at 80% -10%, rgba(196,181,253,.55), transparent 60%),
  radial-gradient(800px 600px at 10% 110%, rgba(165,180,252,.40), transparent 55%),
  var(--bg)}
.login__card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-xl);box-shadow:var(--sh-lg)}
/* Zakładki panelu aktywne = gradientowy podkreślnik */
.ptabbtn.is-active{border-bottom-color:transparent;background-image:var(--grad);background-size:100% 2px;background-position:bottom;background-repeat:no-repeat}

/* ===== MAGNIFIC · rozszerzenie na widoki (Asystent / Administracja / Poczta / Kalendarz) ===== */
/* Karty administracji = szkło + lift */
.admin-card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-lg);box-shadow:var(--sh-md);transition:transform var(--tr),box-shadow var(--tr)}
.admin-card:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
/* Poczta: panele listy/podglądu = szkło; aktywna zakładka folderu = gradient */
.maillist,.mailprev{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-lg);box-shadow:var(--sh-md)}
.mailtab.is-active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(124,58,237,.26)}
.mailrow.sel{background:rgba(99,102,241,.10)}
/* Karty integracji / cronów (w szklanym panelu skilli) = lekko translucentne, BEZ blur (wydajność) */
.integr,.cron{background:rgba(255,255,255,.55);border:1px solid var(--glass-line);border-radius:13px;box-shadow:var(--sh-sm)}
/* Sugestie asystenta + karty odpowiedzi = miękki lift */
.asuggest button,.acard{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:13px;box-shadow:var(--sh-sm);transition:transform var(--tr),box-shadow var(--tr)}
.asuggest button:hover{transform:translateY(-1px);box-shadow:var(--sh-md);color:var(--accent);border-color:var(--glass-line)}
/* Globalny dolny composer = szklany pasek (spójny z dokiem asystenta) */
.gcomposer{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:1px solid var(--glass-line)}
/* Zakładki dashboardu (Spotkania/Zadania · Leady/Projekty · E-mail) = gradientowy podkreślnik */
.dtab.is-active{border-bottom-color:transparent;background-image:var(--grad);background-size:100% 2px;background-position:bottom;background-repeat:no-repeat}
/* Segmenty (zakres zadań / dodawanie klienta) aktywne = gradientowa pigułka (spójne z nawigacją) */
.zadseg{border-radius:11px}
.zadseg__b.is-active,.acseg__b.is-active{background:var(--grad);color:#fff;box-shadow:0 4px 12px rgba(124,58,237,.22)}
.zadseg__b.is-active+.zadseg__b,.zadseg__b.is-active{border-left-color:transparent}

/* ===================== KALENDARZ (moduł spotkań) ===================== */
#vKalendarz{flex:1 1 auto;min-height:0;display:flex;overflow:hidden}
.cal{flex:1;min-height:0;display:grid;grid-template-columns:248px 1fr;gap:18px;overflow:hidden}
@media(max-width:1080px){#vKalendarz{overflow:auto}.cal{grid-template-columns:1fr;overflow:visible}}
.calrail{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-lg);box-shadow:var(--sh-md);padding:14px;display:flex;flex-direction:column;gap:9px;overflow:auto}
.calnew{width:100%;justify-content:center}
.calrail__sec{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-top:4px}
.ccal{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;color:var(--txt);user-select:none}
.ccal:hover{background:var(--soft)}
.ccal input{display:none}
.ccal__dot{width:13px;height:13px;border-radius:5px;background:var(--cc);flex:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.ccal:has(input:not(:checked)) .ccal__dot{background:transparent;box-shadow:inset 0 0 0 2px var(--cc)}
.ccal:has(input:not(:checked)) .ccal__n{color:var(--muted)}
.ccal__n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calrail__tz{margin-top:auto;font-size:11px;color:var(--muted);padding-top:6px}
.cmini{margin-top:6px}
.cmini__hd{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;margin-bottom:6px}
.cmini__nav{border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:16px;border-radius:6px;width:22px;height:22px;line-height:1}
.cmini__nav:hover{background:var(--soft);color:var(--accent)}
.cmini__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}
.cmini__dow{font-size:10px;color:var(--muted);font-weight:700;padding:2px 0}
.cmini__d{font-size:11px;padding:4px 0;border-radius:6px;cursor:pointer}
.cmini__d:hover{background:var(--soft)}
.cmini__d.oth{color:var(--line-strong)}
.cmini__d.today{color:#fff;background:var(--grad);font-weight:700}
.cmini__d.sel:not(.today){box-shadow:inset 0 0 0 2px var(--accent);font-weight:700}
.calmain{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:var(--radius-lg);box-shadow:var(--sh-md);overflow:hidden}
.caltop{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);flex:none}
.calt__nav{font-size:18px}
.caltop__lab{font-size:16px;font-weight:800;margin-left:4px}
.calseg{margin-left:auto;display:inline-flex;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.calvb{border:none;background:#fff;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted)}
.calvb+.calvb{border-left:1px solid var(--line)}
.calvb.is-active{background:var(--grad);color:#fff}
.calgrid{display:flex;flex-direction:column;min-height:0;flex:1}
.calgrid__hd{display:flex;flex:none;border-bottom:1px solid var(--line)}
.calgutter__sp{width:56px;flex:none}
.calhd{flex:1;text-align:center;padding:7px 4px;border-left:1px solid var(--line)}
.calhd__dow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
.calhd__d{display:inline-grid;place-items:center;min-width:30px;height:30px;font-size:16px;font-weight:800;margin-top:2px}
.calhd.is-today .calhd__d{background:var(--grad);color:#fff;border-radius:50%}
.calad{display:flex;flex:none;border-bottom:1px solid var(--line);background:rgba(99,102,241,.045)}
.calad__lab{width:56px;flex:none;font-size:10px;color:var(--muted);padding:5px;text-align:right;text-transform:uppercase;letter-spacing:.3px}
.calad__cell{flex:1;border-left:1px solid var(--line);padding:3px;min-height:24px;display:flex;flex-direction:column;gap:2px}
.calad__ev{font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;background-color:var(--evc);background-image:linear-gradient(rgba(255,255,255,.78),rgba(255,255,255,.78));border-left:3px solid var(--evc);color:#1f2937;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calgrid__body{flex:1;overflow-y:auto;display:flex;position:relative}
.calgutter{width:56px;flex:none}
.calhr{position:relative;border-top:1px solid var(--line)}
.calhr span{position:absolute;top:-7px;right:6px;font-size:10px;color:var(--muted)}
.calcol{flex:1;position:relative;border-left:1px solid var(--line)}
.calline{position:absolute;left:0;right:0;border-top:1px solid var(--soft)}
.calnow{position:absolute;left:0;right:0;border-top:2px solid #ef4444;z-index:5}
.calnow::before{content:"";position:absolute;left:-4px;top:-4px;width:7px;height:7px;border-radius:50%;background:#ef4444}
.calev{position:absolute;border-radius:8px;padding:3px 7px;font-size:11.5px;line-height:1.3;overflow:hidden;cursor:pointer;background-color:var(--evc);background-image:linear-gradient(rgba(255,255,255,.80),rgba(255,255,255,.80));border-left:3px solid var(--evc);color:#1f2937;box-shadow:var(--sh-sm);transition:box-shadow var(--tr),transform var(--tr)}
.calev:hover{box-shadow:var(--sh-md);z-index:6;transform:translateY(-1px)}
.calev__h{font-weight:800;color:var(--evc)}
.calev__t{font-weight:600}
.calev__s{display:block;font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calmonth{display:flex;flex-direction:column;flex:1;min-height:0}
.calmonth__hd{display:grid;grid-template-columns:repeat(7,1fr);flex:none;border-bottom:1px solid var(--line)}
.calmh{padding:7px;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}
.calmonth__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;flex:1;min-height:0;overflow-y:auto}
.calmc{border-left:1px solid var(--line);border-top:1px solid var(--line);padding:4px 5px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:84px}
.calmc:hover{background:rgba(99,102,241,.04)}
.calmc.oth{background:rgba(15,23,41,.015)}
.calmc.oth .calmc__d{color:var(--line-strong)}
.calmc__d{font-size:12px;font-weight:700;align-self:flex-start;min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%}
.calmc.is-today .calmc__d{background:var(--grad);color:#fff}
.calchip{font-size:11px;padding:1px 6px;border-radius:5px;background-color:var(--evc);background-image:linear-gradient(rgba(255,255,255,.80),rgba(255,255,255,.80));border-left:3px solid var(--evc);color:#1f2937;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calchip b{color:var(--evc)}
.calmore{font-size:10.5px;color:var(--muted);font-weight:600;cursor:pointer;padding:0 4px}
.calmore:hover{color:var(--accent)}
.cpop{width:340px;max-width:92vw;padding:0 16px 14px}
.cpop__bar{height:6px;margin:0 -16px 12px}
.cpop__x{position:absolute;top:9px;right:9px;border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--muted);border-radius:6px;width:24px;height:24px}
.cpop__x:hover{background:var(--soft);color:var(--txt)}
.cpop__t{margin:2px 0 10px;font-size:16px;padding-right:24px}
.cpop__row{font-size:13px;color:var(--txt);margin:6px 0;display:flex;gap:7px;align-items:flex-start}
.cpop__int{color:var(--muted)}
.cpop__sec{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;margin:11px 0 6px;border-top:1px solid var(--line);padding-top:9px}
.cpop__u{display:flex;align-items:center;gap:8px;font-size:13px;margin:5px 0}
.cpop__av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;flex:none}
.cpop__org{font-size:11px;color:var(--muted);font-weight:600}
.cpop__op{font-size:13px;color:#374151;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);line-height:1.5}
.cpop__foot{margin-top:11px;padding-top:9px;border-top:1px solid var(--line);display:flex;gap:7px}
.cpop__rsvp{display:flex;gap:6px;margin:0 0 10px}
.rsvpb{flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 4px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted);transition:all var(--tr)}
.rsvpb:hover{border-color:var(--accent);color:var(--accent)}
.rsvpb--tak.is-on{background:#15a05a;border-color:#15a05a;color:#fff}
.rsvpb--moze.is-on{background:#d97706;border-color:#d97706;color:#fff}
.rsvpb--nie.is-on{background:#dc2626;border-color:#dc2626;color:#fff}
.cpop__u{justify-content:flex-start}
.cpop__un{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rsvp{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;white-space:nowrap;flex:none}
.rsvp--y{background:#f0fdf4;color:#15803d}
.rsvp--m{background:#fffbeb;color:#b45309}
.rsvp--n{background:#fef2f2;color:#b91c1c}
.rsvp--c{background:var(--soft);color:var(--muted)}
.cffind{width:100%;justify-content:center;margin-bottom:11px;color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft)}
.cffind:hover{background:var(--grad);color:#fff;border-color:transparent}
.cfslots{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}
.cfslots:empty{display:none}
.cfslots__h{flex-basis:100%;font-size:12px;color:var(--muted);font-weight:600}
.cfslot{border:1px solid var(--accent);background:#fff;color:var(--accent);border-radius:8px;padding:4px 11px;font-size:13px;font-weight:600;cursor:pointer}
.cfslot:hover{background:var(--grad);color:#fff;border-color:transparent}
/* Formularz nowego/edycji zdarzenia (Faza 2) */
.calmodal__card{max-width:540px}
.calmodal__card .cfgrow{margin-bottom:11px}
.calmodal__card .cfgrow>label{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px;display:block}
.calmodal__card .nfinput,.calmodal__card .nftext{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font:inherit;font-size:14px;background:#fff;color:var(--txt)}
.calmodal__card .nftext{resize:vertical;line-height:1.5}
.calmodal__card .nfinput:focus,.calmodal__card .nftext:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
.calmodal__card .cfgrow--chk{display:flex;flex-direction:row;align-items:center;gap:8px}
.calmodal__card .cfgrow--chk>label{margin:0}
.calmodal__card .cfgrow--chk input{width:17px;height:17px;accent-color:var(--accent)}
.calmodal__when,.calmodal__r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calmodal__dt{display:flex;gap:7px}
.calmodal__dt .nfinput{flex:1;min-width:0}
.calmodal__dt .cfTime{max-width:104px;flex:none}
.calmodal__opts{display:flex;flex-wrap:wrap;gap:7px 16px;padding:9px 11px;background:var(--soft);border:1px solid var(--line);border-radius:9px;max-height:128px;overflow:auto}
.calmodal__cb{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;font-weight:600;color:var(--txt)}
.calmodal__cb input{width:15px;height:15px;accent-color:var(--accent)}
.calmodal__cb small{color:var(--muted);font-weight:400}
.calmodal__dot{width:11px;height:11px;border-radius:4px;flex:none}
.cfavail{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.cfavail:empty{display:none}
.cfa{font-size:12px;padding:5px 9px;border-radius:8px;line-height:1.45}
.cfa--ok{background:#f0fdf4;color:#15803d;border:1px solid #dcfce7}
.cfa--bad{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.cfa--warn{background:#fffbeb;color:#b45309;border:1px solid #fde68a}
.cfa__sug{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:4px;align-items:center}
.cfa__sugb{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);border-radius:7px;padding:1px 9px;font-size:12px;font-weight:600;cursor:pointer}
.cfa__sugb:hover{background:var(--grad);color:#fff;border-color:transparent}
.cfa__none{color:var(--muted);font-style:italic;margin-left:4px}
