@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --bg:     #07101f;
  --bg2:    #0a1628;
  --bg3:    #0d1e36;
  --bg4:    #172d4b;
  --blue:   #38bdf8;
  --blue2:  #7dd3fc;
  --teal:   #2dd4c8;
  --amber:  #fbbf24;
  --rose:   #fb7185;
  --green:  #34d399;
  --white:  #f0f6ff;
  --text:   #dce8f8;
  --text2:  #9bb8d8;
  --text3:  #6a90b4;
  --dim:    #9bb8d8;
  --muted:  #6a90b4;
  --brd:    rgba(56,189,248,.13);
  --brd2:   rgba(56,189,248,.25);
  --line:   rgba(56,189,248,.08);
  --line2:  rgba(56,189,248,.16);
  --s1:     #0d1e36;
  --s2:     #172d4b;
  --s3:     #0a1628;
  --acc:    #38bdf8;
  --primary:#38bdf8;
  --card-bg:rgba(13,22,44,0.78);
  --border: rgba(56,189,248,.13);
  --nav-h:  48px;
  --sb-w:   210px;
  --r:      12px;
  --fn: 'Outfit', system-ui, sans-serif;
  --fm: 'JetBrains Mono', monospace;
  --fh: 'Outfit', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; overflow: hidden; }
body { font-family: var(--fn); background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.5; }
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(56,189,248,.2); border-radius: 2px; }

@keyframes modIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
@keyframes spin  { to { transform:rotate(360deg); } }
@keyframes fab-glow {
  0%,100% { box-shadow:0 0 15px rgba(0,210,255,.5),0 0 35px rgba(0,210,255,.25),0 0 60px rgba(0,210,255,.1),inset 0 0 15px rgba(0,210,255,.08); }
  50%     { box-shadow:0 0 25px rgba(0,210,255,.75),0 0 55px rgba(0,210,255,.4),0 0 90px rgba(0,210,255,.18),inset 0 0 25px rgba(0,210,255,.14); }
}

#app { position:relative; z-index:1; display:flex; flex-direction:column; height:100vh; background:var(--bg); }

.topnav {
  height:var(--nav-h); min-height:var(--nav-h);
  background:var(--nav-bg, rgba(6,12,26,.98));
  border-bottom:1px solid var(--nav-brd, rgba(56,189,248,.1));
  box-shadow:var(--nav-shadow, 0 1px 0 rgba(56,189,248,.08),0 2px 16px rgba(0,0,0,.5));
  backdrop-filter:blur(12px);
  display:flex; align-items:center;
  padding:0 12px; gap:0; z-index:100; flex-shrink:0;
}
.nav-logo,.nav-logo-btn {
  display:flex; align-items:center; flex-shrink:0; margin-right:16px;
  background:none; border:none; cursor:pointer; padding:0; gap:8px;
}
.nav-tabs { display:flex; gap:1px; flex:1; overflow-x:auto; scrollbar-width:none; height:100%; }
.nav-tabs::-webkit-scrollbar { display:none; }
.nav-tab {
  display:flex; align-items:center; gap:7px;
  padding:0 16px; height:var(--nav-h);
  background:none; border:none; border-bottom:2.5px solid transparent;
  color:var(--nav-tab-c, rgba(180,210,255,.65)); font-family:var(--fn); font-size:14px; font-weight:500;
  cursor:pointer; white-space:nowrap; transition:color .18s,border-color .18s,text-shadow .18s; position:relative;
}
.nav-tab svg { width:17px; height:17px; flex-shrink:0; }
.nav-tab:hover { color:var(--nav-tab-hover, rgba(220,238,255,.9)); text-shadow:0 0 8px rgba(56,189,248,.35); }
.nav-tab.active { color:var(--primary); border-bottom-color:var(--primary); font-weight:600; text-shadow:0 0 12px rgba(56,189,248,.45); }
.nav-tab.active::after { content:''; position:absolute; bottom:-1px; left:50%; transform:translateX(-50%); width:60%; height:1px; background:linear-gradient(90deg,transparent,rgba(56,189,248,.6),transparent); border-radius:2px; }

.nav-more-wrap { position:relative; display:flex; align-items:center; }
.nav-more-btn {
  display:flex; align-items:center; gap:5px;
  padding:0 12px; height:var(--nav-h);
  background:none; border:none; border-bottom:2.5px solid transparent;
  color:var(--nav-tab-c, rgba(180,210,255,.65)); font-family:var(--fn); font-size:13px; font-weight:500;
  cursor:pointer; transition:color .15s; white-space:nowrap;
}
.nav-more-btn:hover { color:var(--nav-tab-hover, rgba(220,238,255,.9)); }
.nav-more-dropdown {
  display:none; position:absolute; top:calc(var(--nav-h) + 2px); right:0;
  background:var(--nav-bg, rgba(8,18,38,.97)); border:1px solid var(--brd);
  border-radius:10px; padding:6px; min-width:160px;
  box-shadow:0 8px 32px rgba(0,0,0,.6); z-index:200;
}
.nav-more-wrap:hover .nav-more-dropdown { display:block; }
.nav-more-item {
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:7px;
  color:var(--text2); font-size:12px; cursor:pointer;
  transition:background .15s; background:none; border:none; width:100%; font-family:var(--fn);
}
.nav-more-item:hover { background:rgba(56,189,248,.1); color:var(--primary); }
.nav-more-item svg { width:14px; height:14px; flex-shrink:0; }

.nav-right { display:flex; align-items:center; gap:8px; margin-left:auto; flex-shrink:0; }
.token-pill {
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:20px; padding:4px 10px;
}
.token-dot { width:5px; height:5px; border-radius:50%; background:#fbbf24; animation:pulse 2s infinite; }
.token-label { font-size:9px; color:rgba(180,210,255,.45); font-family:var(--fm); }
.token-val   { font-size:10px; font-weight:700; color:#fbbf24; font-family:var(--fm); }
.token-bar-wrap { width:36px; height:3px; background:rgba(255,255,255,.1); border-radius:2px; overflow:hidden; }
.token-bar { height:100%; border-radius:2px; background:linear-gradient(90deg,#d97706,#fbbf24); transition:width .5s ease; }
.user-badge {
  width:28px; height:28px; border-radius:8px;
  background:linear-gradient(135deg,#1d4ed8,#0284c7);
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:800; color:#fff;
  box-shadow:0 0 8px rgba(29,78,216,.4);
}
.nav-logout {
  background:none; border:1px solid var(--brd); border-radius:6px;
  color:var(--text3); font-family:var(--fn); font-size:10px;
  padding:4px 9px; cursor:pointer; transition:all .15s;
}
.nav-logout:hover { border-color:var(--brd2); color:var(--text); }
.theme-toggle-btn {
  width:32px; height:32px; border-radius:8px; border:1px solid var(--brd);
  background:var(--card-bg); cursor:pointer; font-size:15px;
  display:flex; align-items:center; justify-content:center;
  transition:background .18s,border-color .18s; flex-shrink:0;
}
.theme-toggle-btn:hover { background:var(--s2); border-color:var(--brd2); }
.nav-hamburger { display:none; background:none; border:none; color:var(--text2); cursor:pointer; padding:6px; border-radius:6px; }

.app-body { display:flex; flex:1; overflow:hidden; }

.sidebar {
  width:var(--sb-w); min-width:var(--sb-w);
  background:var(--s1);
  border-right:1px solid var(--brd);
  box-shadow:var(--sb-shadow, 2px 0 20px rgba(0,0,0,.4));
  display:flex; flex-direction:column; overflow:hidden;
  transition:width .25s ease,min-width .25s ease;
}
.sidebar.collapsed { width:0 !important; min-width:0 !important; border-right:none; }
.proj-section { padding:12px 10px 8px; border-bottom:1px solid rgba(56,189,248,.07); flex-shrink:0; }
.proj-badge-wrap { padding:8px 10px 6px; border-bottom:1px solid rgba(56,189,248,.07); flex-shrink:0; }
.sb-title { font-family:var(--fm); font-size:8.5px; font-weight:700; color:var(--text3); text-transform:uppercase; letter-spacing:.13em; margin-bottom:7px; }
.proj-list { display:flex; flex-direction:column; gap:3px; }
.proj-item { display:flex; align-items:center; gap:6px; padding:5px 7px; border-radius:7px; border:1px solid transparent; cursor:pointer; transition:all .15s; font-size:11px; color:var(--text2); }
.proj-item:hover { background:var(--line); }
.proj-item.active-proj { background:rgba(56,189,248,.08); border-color:rgba(56,189,248,.2); color:var(--text); }
.proj-badge { font-size:10px; font-family:var(--fm); color:var(--primary); background:rgba(56,189,248,.08); border:1px solid var(--brd2); border-radius:6px; padding:3px 8px; display:block; }
.btn-secondary { background:var(--line); border:1px solid var(--brd); border-radius:7px; color:var(--text2); font-family:var(--fn); font-size:10px; padding:5px 8px; cursor:pointer; transition:all .15s; width:100%; margin-top:6px; }
.btn-secondary:hover { background:rgba(56,189,248,.1); border-color:rgba(56,189,248,.3); color:var(--primary); }
.sb-head { padding:10px 10px 0; flex-shrink:0; display:flex; align-items:center; }
.sb-head-extra { flex-shrink:0; padding:0 10px; }
.sb-toggle { background:none; border:none; cursor:pointer; color:rgba(255,255,255,.2); padding:3px; border-radius:4px; transition:all .15s; }
.sb-toggle:hover { color:#38bdf8; background:rgba(56,189,248,.08); }
.sb-toggle-icon { transition:transform .25s ease; display:block; }

.dzone { border:1.5px dashed var(--brd2); border-radius:10px; padding:12px 8px; text-align:center; cursor:pointer; position:relative; transition:all .2s; margin:8px 0; }
.dzone:hover,.dzone.drag { border-color:var(--primary); background:rgba(56,189,248,.05); }
.dzone input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.dzone-icon { font-size:20px; margin-bottom:4px; pointer-events:none; }
.dzone p { font-size:10px; color:var(--text2); pointer-events:none; }
.dzone small { font-size:8.5px; color:var(--text3); pointer-events:none; }

.cloud-btns { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0; }
.cloud-btn { display:flex; align-items:center; gap:4px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:5px; padding:4px 7px; font-size:9px; color:rgba(255,255,255,.35); cursor:pointer; transition:all .15s; font-family:var(--fn); }
.cloud-btn:hover { border-color:rgba(56,189,248,.3); color:rgba(56,189,248,.7); }
.cloud-btn svg { flex-shrink:0; }
.fmt-row { display:flex; flex-wrap:wrap; gap:3px; margin:4px 0 8px; }
.fmt-chip { font-size:8px; font-weight:600; font-family:var(--fm); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4); padding:1px 5px; border-radius:3px; }

.sb-files { flex:1; overflow-y:auto; padding:6px 10px; }
.sb-empty { font-size:9.5px; color:rgba(255,255,255,.35); text-align:center; padding:12px 0; }
.fitem { display:flex; align-items:center; gap:5px; background:var(--line); border:1px solid var(--brd); border-radius:6px; padding:5px 7px; margin-bottom:3px; transition:border-color .15s; cursor:pointer; }
.fitem:hover { border-color:var(--primary); }
.fitem-ico  { font-size:12px; flex-shrink:0; }
.fitem-info { flex:1; min-width:0; }
.fitem-name { font-size:10px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text); }
.fitem-meta { font-size:8.5px; color:var(--text3); font-family:var(--fm); }
.fitem-del  { background:none; border:none; color:var(--text3); cursor:pointer; font-size:13px; padding:0; flex-shrink:0; }
.fitem-del:hover { color:var(--rose); }
.sb-api { padding:8px 10px; border-top:1px solid var(--line); flex-shrink:0; }
.api-status { font-size:9px; font-family:var(--fm); }
.api-status.ok  { color:var(--green); }
.api-status.bad { color:var(--rose); }
#cloud-progress { display:none; align-items:center; gap:6px; font-size:10px; color:var(--text2); padding:4px 0; }
#cloud-progress.show { display:flex; }
.cp-spin { width:12px; height:12px; border-radius:50%; border:2px solid rgba(56,189,248,.3); border-top-color:#38bdf8; animation:spin .7s linear infinite; flex-shrink:0; }
.mpp-banner { display:none; background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.2); border-radius:7px; padding:7px 9px; margin:4px 0; font-size:9.5px; color:var(--amber); }
.mpp-banner.show { display:block; }
.sidebar-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:300; }
.sidebar-overlay.show { display:block; }
.sb-fab { display:none; }

.main-panel { flex:1; overflow:hidden; display:flex; flex-direction:column; position:relative; }
.module {
  display:none; flex:1; overflow:hidden; flex-direction:column;
  border:1px solid var(--brd); border-radius:13px;
  box-shadow:0 4px 24px rgba(0,0,0,.45),0 1px 0 rgba(56,189,248,.06),inset 0 1px 0 rgba(255,255,255,.06);
  margin:8px; background:var(--card-bg);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  transition:border-color .2s,box-shadow .25s;
}
.module.active { display:flex; animation:modIn 220ms ease-out; }
.module:hover  { border-color:var(--brd2); box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 0 1px rgba(56,189,248,.08),inset 0 1px 0 rgba(255,255,255,.08); }
.mod-hdr { padding:14px 18px 12px; border-bottom:1px solid var(--line); flex-shrink:0; background:var(--s1); }
.mod-hdr h2 { font-size:15px; font-weight:700; color:var(--text); margin-bottom:2px; }
.mod-hdr p  { font-size:11px; color:var(--text3); line-height:1.4; }

/* Sub-tabs bar ukryty TYLKO w modułach gdzie nawigacja działa przez nav (m2, m8).
   D-LOG (m15) i inne moduły używają .sub-tabs do własnej nawigacji — zostawić widoczne. */
.sub-tabs { display:flex; gap:6px; padding:10px 18px; border-bottom:1px solid var(--line); flex-shrink:0; background:var(--s2); }
#m2 .sub-tabs { display:none; }
.sub-tab { padding:8px 14px; border-radius:10px; background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.02) 100%); border:1px solid var(--brd); color:var(--text2); font-size:12px; font-weight:600; cursor:pointer; transition:all .18s; font-family:var(--fn); box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.06); }
.sub-tab:hover:not(.active) { background:linear-gradient(180deg,rgba(56,189,248,.12) 0%,rgba(56,189,248,.06) 100%); color:var(--text); border-color:rgba(56,189,248,.25); box-shadow:0 3px 8px rgba(56,189,248,.12),inset 0 1px 0 rgba(56,189,248,.1); transform:translateY(-1px); }
.sub-tab.active { background:linear-gradient(180deg,rgba(56,189,248,.2) 0%,rgba(56,189,248,.1) 100%); border-color:rgba(56,189,248,.45); color:var(--primary); font-weight:700; box-shadow:0 0 12px rgba(56,189,248,.18),0 2px 8px rgba(0,0,0,.25),inset 0 1px 0 rgba(56,189,248,.2); }
.sub-tab:active { transform:translateY(1px); box-shadow:0 1px 2px rgba(0,0,0,.3),inset 0 2px 4px rgba(0,0,0,.15); }
.sub-panel { display:none; flex:1; overflow:hidden; flex-direction:column; }
.sub-panel.active { display:flex; }

.bento-grid { display:grid; grid-template-columns:2fr minmax(0,1fr); grid-template-rows:minmax(0,1.6fr) minmax(0,1fr); gap:10px; padding:10px; flex:1; min-height:0; }
.bento-card { background:rgba(10,20,42,.7); border:1px solid rgba(56,189,248,.1); border-radius:12px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04); transition:border-color .2s,transform .2s,box-shadow .2s; cursor:pointer; }
.bento-card:hover { border-color:rgba(56,189,248,.28); transform:translateY(-1px); box-shadow:0 0 0 1px rgba(56,189,248,.12),0 8px 28px rgba(0,0,0,.5); }
.bento-agent { grid-row:1/3; cursor:default; }
.bento-agent:hover { transform:none; }
.bento-hdr { padding:12px 14px 8px; border-bottom:1px solid rgba(255,255,255,.05); flex-shrink:0; }
.bento-label { font-size:8.5px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; display:flex; align-items:center; gap:5px; margin-bottom:4px; }
.bento-dot   { width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.bento-title { font-size:13px; font-weight:600; color:rgba(220,238,255,.9); margin-bottom:2px; }
.bento-sub   { font-size:9.5px; color:rgba(120,170,220,.5); }
.bento-body  { flex:1; padding:10px 14px; display:flex; flex-direction:column; gap:8px; overflow:hidden; }
.bento-chat-preview { flex:1; display:flex; flex-direction:column; gap:7px; overflow:hidden; }
.bento-msg { border-radius:8px; padding:7px 10px; font-size:10px; line-height:1.55; }
.bento-msg-ai { background:rgba(15,28,55,.9); border:1px solid rgba(56,189,248,.1); color:rgba(195,220,255,.8); }
.bento-msg-who { font-size:8px; font-weight:700; color:rgba(56,189,248,.5); letter-spacing:.08em; text-transform:uppercase; margin-bottom:3px; }
.bento-chips { display:flex; gap:4px; flex-wrap:wrap; flex-shrink:0; }
.bento-chip { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09); border-radius:5px; padding:3px 8px; font-size:9px; color:rgba(180,210,255,.5); cursor:pointer; transition:all .15s; }
.bento-chip:hover { border-color:rgba(56,189,248,.35); color:rgba(56,189,248,.85); }
.bento-open-btn { display:flex; align-items:center; gap:5px; background:rgba(56,189,248,.1); border:1px solid rgba(56,189,248,.25); border-radius:8px; padding:7px 12px; color:#38bdf8; font-size:11px; font-weight:600; cursor:pointer; transition:all .18s; font-family:var(--fn); align-self:flex-start; box-shadow:0 0 8px rgba(56,189,248,.08); }
.bento-open-btn:hover { background:rgba(56,189,248,.18); box-shadow:0 0 14px rgba(56,189,248,.2); }
.bento-proj-rows { display:flex; flex-direction:column; gap:4px; flex:1; overflow:hidden; }
.bento-prow { display:flex; align-items:center; gap:7px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:7px; padding:5px 8px; transition:border-color .15s; }
.bento-prow:hover { border-color:rgba(56,189,248,.2); }
.bento-prow-name  { font-size:10px; color:rgba(200,220,255,.72); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bento-prow-date  { font-size:8.5px; color:rgba(120,160,220,.35); font-family:var(--fm); flex-shrink:0; }
.bento-prow-st    { font-size:8px; font-weight:700; padding:2px 6px; border-radius:3px; flex-shrink:0; }
.bento-prow-st.ok  { background:rgba(52,211,153,.1);  color:#34d399; }
.bento-prow-st.pnd { background:rgba(251,191,36,.08); color:#fbbf24; }
.bento-prow-empty  { font-size:10px; color:rgba(255,255,255,.3); padding:4px 0; }
.bento-new-proj { display:flex; align-items:center; gap:5px; background:none; border:1px dashed rgba(255,255,255,.1); border-radius:7px; padding:5px 8px; color:rgba(255,255,255,.3); font-size:10px; cursor:pointer; transition:all .15s; font-family:var(--fn); margin-top:4px; }
.bento-new-proj:hover { border-color:rgba(56,189,248,.35); color:rgba(56,189,248,.7); }
.bento-limit-rows { display:flex; flex-direction:column; gap:7px; flex:1; }
.bento-lrow { display:flex; flex-direction:column; gap:3px; }
.bento-lrow-top  { display:flex; justify-content:space-between; align-items:baseline; }
.bento-lrow-name { font-size:9.5px; color:rgba(180,210,255,.55); }
.bento-lrow-val  { font-size:10px; font-weight:700; font-family:var(--fm); }
.bento-bar-bg    { height:4px; background:rgba(255,255,255,.07); border-radius:2px; overflow:hidden; }
.bento-bar-fill  { height:100%; border-radius:2px; transition:width .5s ease; }
.bento-warn { display:flex; align-items:center; gap:6px; background:rgba(251,191,36,.07); border:1px solid rgba(251,191,36,.2); border-radius:7px; padding:6px 9px; margin-top:6px; }
.bento-warn span:first-child { font-size:12px; }
.bento-warn span:last-child  { font-size:9px; color:rgba(251,191,36,.85); line-height:1.4; }

.fab-wrap { position:absolute; bottom:20px; right:20px; display:flex; flex-direction:column; align-items:flex-end; gap:8px; z-index:50; pointer-events:none; }
.fab-sub-label { font-family:var(--fm); font-size:8.5px; font-weight:700; color:rgba(0,210,255,.5); letter-spacing:.15em; text-transform:uppercase; background:rgba(6,12,26,.9); border:1px solid rgba(0,210,255,.15); border-radius:5px; padding:3px 8px; pointer-events:none; }
.fab-doc { position:relative; width:80px; height:80px; border-radius:14px; background:linear-gradient(135deg,rgba(0,30,60,.95),rgba(0,20,45,.98)); border:1.5px solid rgba(0,210,255,.6); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; cursor:pointer; pointer-events:all; animation:fab-glow 2.2s ease-in-out infinite; transition:transform .15s; }
.fab-doc:hover  { transform:scale(1.06); }
.fab-doc:active { transform:scale(.97); }
.fab-doc svg { width:26px; height:26px; stroke:rgba(0,220,255,.9); fill:none; stroke-width:2.5; stroke-linecap:round; }
.fab-doc-txt { font-family:var(--fn); font-size:7.5px; font-weight:800; color:rgba(0,210,255,.8); letter-spacing:.08em; text-transform:uppercase; text-align:center; line-height:1.3; }
.fab-corner { position:absolute; width:10px; height:10px; border-color:rgba(0,210,255,.85); border-style:solid; }
.fab-corner.tl { top:4px;    left:4px;  border-width:2px 0 0 2px; border-radius:2px 0 0 0; }
.fab-corner.tr { top:4px;    right:4px; border-width:2px 2px 0 0; border-radius:0 2px 0 0; }
.fab-corner.bl { bottom:4px; left:4px;  border-width:0 0 2px 2px; border-radius:0 0 0 2px; }
.fab-corner.br { bottom:4px; right:4px; border-width:0 2px 2px 0; border-radius:0 0 2px 0; }
.fab-scan { position:absolute; bottom:0; left:0; right:0; height:2px; border-radius:0 0 12px 12px; background:linear-gradient(90deg,transparent,rgba(0,210,255,.6),transparent); }

.btn-primary { background:linear-gradient(180deg,rgba(56,189,248,.25) 0%,rgba(56,189,248,.14) 100%); border:1px solid rgba(56,189,248,.4); border-radius:8px; color:#38bdf8; font-family:var(--fn); font-size:12px; font-weight:600; padding:8px 16px; cursor:pointer; transition:all .18s; box-shadow:0 2px 8px rgba(56,189,248,.15),inset 0 1px 0 rgba(56,189,248,.2); }
.btn-primary:hover { background:linear-gradient(180deg,rgba(56,189,248,.38) 0%,rgba(56,189,248,.22) 100%); transform:translateY(-1px); box-shadow:0 6px 20px rgba(56,189,248,.3),inset 0 1px 0 rgba(56,189,248,.25); }
.btn-primary:active { transform:translateY(1px); box-shadow:0 1px 4px rgba(56,189,248,.15),inset 0 2px 4px rgba(0,0,0,.2); }
.send-btn { background:linear-gradient(180deg,rgba(56,189,248,.25) 0%,rgba(56,189,248,.14) 100%); border:1px solid rgba(56,189,248,.4); border-radius:8px; color:#38bdf8; font-size:12px; font-weight:700; padding:0 16px; cursor:pointer; transition:all .18s; white-space:nowrap; font-family:var(--fn); box-shadow:0 2px 8px rgba(56,189,248,.15),inset 0 1px 0 rgba(56,189,248,.2); }
.send-btn:hover { background:linear-gradient(180deg,rgba(56,189,248,.38) 0%,rgba(56,189,248,.22) 100%); transform:translateY(-1px); box-shadow:0 6px 20px rgba(56,189,248,.3),inset 0 1px 0 rgba(56,189,248,.25); }
.send-btn:active { transform:translateY(1px); box-shadow:0 1px 4px rgba(56,189,248,.15),inset 0 2px 4px rgba(0,0,0,.2); }
.action-btn { background:linear-gradient(180deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.04) 100%); border:1px solid rgba(255,255,255,.12); border-radius:7px; color:rgba(180,210,255,.8); font-family:var(--fn); font-size:11px; padding:6px 12px; cursor:pointer; transition:all .15s; box-shadow:0 1px 3px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08); }
.action-btn:hover { background:linear-gradient(180deg,rgba(56,189,248,.18) 0%,rgba(56,189,248,.08) 100%); border-color:rgba(56,189,248,.35); color:#7dd3fc; transform:translateY(-1px); box-shadow:0 4px 12px rgba(56,189,248,.18),inset 0 1px 0 rgba(255,255,255,.12); }
.action-btn:active { transform:translateY(1px); box-shadow:0 1px 2px rgba(0,0,0,.4),inset 0 2px 4px rgba(0,0,0,.2); }

.chat-wrap { flex:1; overflow:hidden; display:flex; flex-direction:column; }
.chat-msgs  { flex:1; min-height:0; overflow-y:auto; padding:16px 18px; display:flex; flex-direction:column; gap:12px; }
.chat-msg   { display:flex; flex-direction:column; gap:4px; }
.chat-msg.user { align-items:flex-end; }
.msg-bubble { max-width:88%; border-radius:10px; padding:10px 14px; font-size:13px; line-height:1.6; }
.chat-msg.assistant .msg-bubble { background:var(--card-bg); border:1px solid var(--brd); color:var(--text); }
.chat-msg.user      .msg-bubble { background:rgba(29,78,216,.25); border:1px solid rgba(77,130,255,.2); color:rgba(180,215,255,.9); }
.msg-body { background:var(--card-bg); border:1px solid var(--brd); color:var(--text); border-radius:10px; padding:10px 14px; font-size:13px; line-height:1.6; max-width:88%; }
.chat-input-area { padding:10px 16px; border-top:1px solid var(--line); background:var(--s1); flex-shrink:0; }
.chat-input-row  { display:flex; gap:8px; align-items:flex-end; }
.chat-inp,#chat-input { flex:1; background:var(--card-bg); border:1px solid var(--brd); border-radius:10px; padding:10px 14px; font-size:13px; color:var(--text); font-family:var(--fn); outline:none; resize:none; min-height:42px; max-height:140px; box-shadow:inset 0 1px 4px rgba(0,0,0,.15); transition:border-color .18s; }
.chat-inp:focus,#chat-input:focus { border-color:var(--primary); box-shadow:0 0 0 2px rgba(56,189,248,.1); }
.chat-bottom-bar { display:flex; align-items:center; gap:6px; padding:8px 16px; border-top:1px solid var(--line); background:var(--s2); flex-wrap:wrap; flex-shrink:0; }
.chat-bottom-bar .action-btn { font-size:10px; padding:4px 9px; }
.quick-chips { display:flex; gap:5px; flex-wrap:wrap; padding:8px 16px 0; flex-shrink:0; }
.quick-chip { background:var(--line); border:1px solid var(--brd); border-radius:5px; padding:3px 9px; font-size:10px; color:var(--text2); cursor:pointer; transition:all .15s; }
.quick-chip:hover { border-color:var(--primary); color:var(--primary); }
.msg-bubble h2,.msg-body h2 { font-size:14px; color:rgba(220,238,255,.95); font-weight:700; margin:10px 0 5px; }
.msg-bubble h3,.msg-body h3 { font-size:13px; color:rgba(220,238,255,.95); font-weight:700; margin:8px 0 4px; }
.msg-bubble table,.msg-body table { width:100%; border-collapse:collapse; font-size:11.5px; margin:8px 0; font-family:var(--fm); }
.msg-bubble th,.msg-body th { background:rgba(56,189,248,.12); color:rgba(180,210,255,.85); padding:5px 8px; text-align:left; font-weight:600; border:1px solid rgba(56,189,248,.15); }
.msg-bubble td,.msg-body td { padding:4px 8px; color:rgba(180,210,255,.75); border:1px solid rgba(255,255,255,.06); }
.msg-bubble tr:nth-child(even) td,.msg-body tr:nth-child(even) td { background:rgba(255,255,255,.02); }
.msg-bubble code,.msg-body code { font-family:var(--fm); font-size:11px; background:rgba(56,189,248,.1); border-radius:3px; padding:1px 5px; color:#7dd3fc; }
.msg-loading { display:flex; gap:4px; align-items:center; padding:4px 0; }
.msg-loading span { width:6px; height:6px; border-radius:50%; background:rgba(56,189,248,.5); animation:pulse .9s ease-in-out infinite; }
.msg-loading span:nth-child(2) { animation-delay:.2s; }
.msg-loading span:nth-child(3) { animation-delay:.4s; }

.result-box,.result-area { flex:1; overflow-y:auto; padding:14px 16px; background:var(--bg); border-radius:0 0 12px 12px; color:var(--text); }
.result-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; gap:10px; color:rgba(120,170,220,.35); font-size:12px; }

.dz-large { border:1.5px dashed rgba(56,189,248,.2); border-radius:12px; padding:30px 20px; text-align:center; cursor:pointer; position:relative; transition:all .25s; margin:12px 16px; }
.dz-large:hover,.dz-large.drag { border-color:#38bdf8; background:rgba(56,189,248,.05); box-shadow:inset 0 0 24px rgba(56,189,248,.07); }
.dz-large input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.dz-large-icon { font-size:32px; margin-bottom:8px; pointer-events:none; }
.dz-large-txt  { font-size:13px; font-weight:600; color:rgba(200,220,255,.7); pointer-events:none; }
.dz-large-sub  { font-size:10px; color:rgba(120,170,220,.4); margin-top:4px; pointer-events:none; }
.dz-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:12px 16px; flex-shrink:0; }
.dz-card { border:1.5px dashed rgba(56,189,248,.18); border-radius:12px; padding:22px 12px; text-align:center; cursor:pointer; transition:all .22s; display:flex; flex-direction:column; align-items:center; gap:6px; }
.dz-card:hover { border-color:#38bdf8; background:rgba(56,189,248,.06); }
.dz-card-ico { font-size:24px; }
.dz-card-lbl { font-size:12px; font-weight:600; color:rgba(200,220,255,.75); }
.dz-card-sub { font-size:9.5px; color:rgba(120,170,220,.4); }

#toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:rgba(13,22,44,.95); border:1px solid rgba(56,189,248,.25); border-radius:10px; padding:10px 20px; color:rgba(200,220,255,.9); font-size:13px; z-index:9999; display:none; box-shadow:0 8px 32px rgba(0,0,0,.5); backdrop-filter:blur(8px); }
#toast.show { display:block; }
#toast.err  { border-color:rgba(251,113,133,.4); color:#fda4af; }
#toast.warn { border-color:rgba(251,191,36,.3);  color:#fde68a; }
#toast.ok   { border-color:rgba(52,211,153,.3);  color:#6ee7b7; }
#loader { position:fixed; inset:0; z-index:9990; background:rgba(7,16,31,.7); display:none; align-items:center; justify-content:center; backdrop-filter:blur(4px); }
#loader.show { display:flex; }
.loader-box { background:rgba(13,22,44,.95); border:1px solid rgba(56,189,248,.2); border-radius:14px; padding:24px 32px; display:flex; flex-direction:column; align-items:center; gap:12px; box-shadow:0 8px 40px rgba(0,0,0,.6); }
.loader-spin { width:32px; height:32px; border-radius:50%; border:3px solid rgba(56,189,248,.2); border-top-color:#38bdf8; animation:spin .7s linear infinite; }
.loader-txt { font-size:12px; color:rgba(180,210,255,.7); font-family:var(--fm); }

.modal-overlay { position:fixed; inset:0; z-index:800; background:rgba(0,0,0,.65); display:none; align-items:center; justify-content:center; backdrop-filter:blur(4px); }
.modal-overlay.show { display:flex; }
.modal-box { background:rgba(10,20,42,.97); border:1px solid rgba(56,189,248,.2); border-radius:16px; padding:24px; min-width:320px; max-width:480px; width:90%; box-shadow:0 16px 64px rgba(0,0,0,.7); animation:modIn 200ms ease-out; }
.modal-title { font-size:16px; font-weight:700; color:rgba(220,238,255,.92); margin-bottom:14px; }

/* ── Proj modal (nowy projekt) ── */
.proj-modal { position:fixed; inset:0; z-index:900; background:rgba(0,0,0,.65); display:none; align-items:center; justify-content:center; backdrop-filter:blur(4px); }
.proj-modal-card { background:var(--bg2); border:1px solid var(--brd2); border-radius:16px; padding:28px 24px; width:min(420px,92vw); box-shadow:0 16px 64px rgba(0,0,0,.6); animation:modIn 200ms ease-out; }
.proj-field { margin-bottom:14px; }
.proj-field label { display:block; font-size:11px; font-weight:700; color:var(--text2); margin-bottom:5px; text-transform:uppercase; letter-spacing:.07em; }
.modal-input { width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(56,189,248,.15); border-radius:8px; color:var(--text); font-family:var(--fn); font-size:13px; padding:10px 12px; outline:none; margin-bottom:10px; }
.modal-input:focus { border-color:rgba(56,189,248,.4); }
.modal-input::placeholder { color:rgba(255,255,255,.3); }
.modal-btns { display:flex; gap:8px; justify-content:flex-end; margin-top:4px; }

.diff-summary { display:flex; gap:10px; padding:12px 16px; border-bottom:1px solid rgba(56,189,248,.08); flex-shrink:0; }
.diff-stat .num { font-size:20px; font-weight:700; font-family:var(--fm); }
.diff-stat .lbl { font-size:9px; color:rgba(180,210,255,.45); margin-top:2px; }
.diff-stat.added   .num { color:#34d399; }
.diff-stat.removed .num { color:#fb7185; }
.diff-stat.changed .num { color:#fbbf24; }
.diff-stat.moved   .num { color:#38bdf8; }
.diff-table { width:100%; border-collapse:collapse; font-size:11px; font-family:var(--fm); }
.diff-table th { background:rgba(56,189,248,.1); color:rgba(180,210,255,.8); padding:5px 8px; text-align:left; border:1px solid rgba(56,189,248,.12); font-size:10px; }
.diff-table td { padding:4px 8px; border:1px solid rgba(255,255,255,.05); color:rgba(170,200,240,.75); }
.diff-table tr:nth-child(even) td { background:rgba(255,255,255,.02); }
.weight-red   { color:#fb7185 !important; }
.weight-amber { color:#fbbf24 !important; }
.weight-green { color:#34d399 !important; }
.change-type  { background:rgba(255,255,255,.06); border-radius:3px; padding:1px 5px; font-size:9px; }
.diff-section { padding:10px 16px; border-bottom:1px solid rgba(56,189,248,.06); }
.diff-section-title { font-size:11px; font-weight:700; color:rgba(180,210,255,.7); margin-bottom:6px; }
.diff-impact { background:rgba(10,20,42,.6); border-radius:8px; padding:10px 12px; font-size:11px; color:rgba(170,200,240,.75); }
.impact-row   { display:flex; align-items:baseline; gap:6px; margin-bottom:4px; font-size:11px; }
.impact-label { color:rgba(120,170,220,.5); flex-shrink:0; }
.impact-yes   { color:#fb7185; font-weight:700; }
.impact-no    { color:#34d399; font-weight:700; }
.impact-val   { color:rgba(170,200,240,.75); }

.arch-tab {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; background:none; border:none;
  border-bottom:2px solid transparent;
  color:rgba(180,210,255,.55); font-family:var(--fn); font-size:12px; font-weight:500;
  cursor:pointer; white-space:nowrap; transition:color .15s, border-color .15s;
}
.arch-tab:hover { color:rgba(220,238,255,.85); }
.arch-tab.active { color:#38bdf8; border-bottom-color:#38bdf8; font-weight:600; }

.arch-table,.rb-table { width:100%; border-collapse:collapse; font-size:11.5px; }
.arch-table th,.rb-table th { background:rgba(56,189,248,.1); color:rgba(180,210,255,.85); padding:6px 10px; text-align:left; border:1px solid rgba(56,189,248,.12); font-weight:600; }
.arch-table td,.rb-table td { padding:5px 10px; border:1px solid rgba(255,255,255,.05); color:rgba(170,200,240,.75); }
.arch-table tr:nth-child(even) td,.rb-table tr:nth-child(even) td { background:rgba(255,255,255,.02); }

.ai-toolbar { margin:8px; padding:10px 12px; border:1px solid rgba(56,189,248,.12); border-radius:10px; background:rgba(6,14,30,.7); }
.ai-toolbar-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.ai-toolbar-title { font-family:var(--fm); font-size:10px; font-weight:700; letter-spacing:.06em; color:var(--text); text-transform:uppercase; }
.ai-toolbar-status { font-size:9px; color:var(--muted); font-family:var(--fm); }
.ai-toolbar-input { width:100%; margin-bottom:7px; background:rgba(255,255,255,.06); border:1px solid rgba(56,189,248,.15); border-radius:8px; color:var(--text); font-family:var(--fm); font-size:10px; padding:8px 10px; outline:none; }
.ai-toolbar-input:focus { border-color:var(--acc); }
.ai-toolbar-input::placeholder { color:rgba(255,255,255,.3); }
.ai-toolbar-actions { display:flex; gap:8px; }
.ai-toolbar-btn { flex:1; border:1px solid rgba(56,189,248,.25); background:rgba(56,189,248,.1); color:var(--text); border-radius:8px; padding:7px 10px; font-family:var(--fm); font-size:10px; font-weight:700; cursor:pointer; transition:all .15s; }
.ai-toolbar-btn:hover { background:rgba(56,189,248,.2); border-color:rgba(56,189,248,.4); }
.ai-toolbar-btn.ghost { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:var(--text2); }
.ai-toolbar-btn.ghost:hover { background:rgba(255,255,255,.1); }
.ai-toolbar-note { margin-top:8px; font-size:9px; color:rgba(255,255,255,.4); line-height:1.45; }
.ai-toolbar-providers { display:flex; flex-wrap:wrap; gap:6px; margin:2px 0 10px; }
.ai-provider-chip { display:inline-flex; align-items:center; justify-content:center; min-width:52px; padding:5px 8px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(255,255,255,.04); color:rgba(255,255,255,.45); font-family:var(--fm); font-size:9px; font-weight:700; letter-spacing:.04em; transition:all .15s; }
.ai-provider-chip.active { border-color:rgba(56,189,248,.5); background:rgba(56,189,248,.14); color:#dff6ff; box-shadow:0 0 0 1px rgba(56,189,248,.12); }
.ai-toolbar-trust { display:flex; align-items:flex-start; gap:8px; margin:2px 0 10px; padding:8px 9px; border:1px solid rgba(52,211,153,.18); border-radius:8px; background:rgba(52,211,153,.08); color:rgba(232,240,254,.82); font-size:10px; line-height:1.4; }
.ai-toolbar-trust svg { width:14px; height:14px; flex-shrink:0; margin-top:1px; color:var(--green); }

.settings-card { background:rgba(10,20,42,.7); border:1px solid rgba(56,189,248,.1); border-radius:12px; padding:16px; margin:8px 16px; }
.settings-card h3 { font-size:13px; font-weight:700; color:rgba(220,238,255,.85); margin-bottom:10px; }
.set-row   { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.set-label { font-size:11px; color:rgba(180,210,255,.6); flex:1; }
.set-val   { font-size:12px; font-weight:600; color:var(--text); font-family:var(--fm); }
select,input[type="text"],input[type="email"],input[type="password"],input[type="number"] { background:rgba(255,255,255,.06); border:1px solid rgba(56,189,248,.15); border-radius:7px; color:var(--text); font-family:var(--fn); font-size:12px; padding:6px 10px; outline:none; transition:border-color .15s; }
select:focus,input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus { border-color:rgba(56,189,248,.4); }

#screen-start { position:fixed; inset:0; z-index:9000; background:rgba(7,16,31,.97); display:flex; align-items:center; justify-content:center; backdrop-filter:blur(8px); }
.start-box { background:rgba(13,22,44,.97); border:1px solid rgba(56,189,248,.2); border-radius:18px; padding:36px 32px; width:360px; box-shadow:0 24px 80px rgba(0,0,0,.8),0 0 0 1px rgba(56,189,248,.06); }
.start-logo  { text-align:center; margin-bottom:20px; }
.start-title { font-size:24px; font-weight:800; color:#fff; }
.start-title span { color:#38bdf8; }
.start-sub   { font-size:10px; letter-spacing:.18em; color:rgba(56,189,248,.5); text-transform:uppercase; margin-top:2px; }
.start-box label { font-size:11px; color:rgba(180,210,255,.55); margin-bottom:5px; display:block; }
.start-box input { width:100%; margin-bottom:10px; }
#login-btn { width:100%; padding:12px; background:linear-gradient(135deg,#1d4ed8,#0284c7); border:none; border-radius:10px; color:#fff; font-size:13px; font-weight:700; cursor:pointer; transition:all .18s; font-family:var(--fn); box-shadow:0 4px 16px rgba(56,189,248,.25); }
#login-btn:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(56,189,248,.35); }
#login-error { font-size:11px; color:#fda4af; margin-top:8px; display:none; }
#conn-status { font-size:10px; margin-top:6px; font-family:var(--fm); }

.comp-card { background:rgba(10,20,42,.7); border:1px solid rgba(56,189,248,.1); border-radius:10px; padding:12px 14px; margin-bottom:8px; }
.cache-ind { display:none; margin-top:6px; padding:4px 8px; background:rgba(14,210,200,.08); border:1px solid rgba(14,210,200,.2); border-radius:5px; font-size:9px; font-family:var(--fm); color:var(--teal); line-height:1.4; }
.cache-ind.show { display:block; }

@media (max-width:768px) {
  .nav-tabs { display:none !important; }
  .nav-right .nav-logout { display:none; }
  .token-pill { display:none; }
  .nav-hamburger { display:flex !important; }
  .app-body { padding-bottom:64px !important; }
  .sb-fab { display:flex !important; }
  .sidebar { position:fixed; left:-100%; top:var(--nav-h); bottom:0; z-index:400; transition:left .25s ease; }
  .sidebar.mobile-open { left:0; }
  .bento-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .bento-agent { grid-row:auto; }
  .dz-grid { grid-template-columns:1fr; }
}
@media (min-width:769px) {
  #mob-bottom-nav   { display:none !important; }
  #mob-menu-drawer  { display:none !important; }
  #mob-menu-overlay { display:none !important; }
  .nav-hamburger    { display:none !important; }
  /* sidebar nav zastępuje taby na desktopie */
  .nav-tabs         { display:none !important; }
  .nav-more-wrap    { display:none !important; }
}

/* ── SIDEBAR NAV ─────────────────────────────────────────────── */
.sbnav {
  flex-shrink: 0;
  padding: 6px 6px 4px;
  overflow-y: auto;
  max-height: 52vh;
}
.sbnav-sec {
  font-size: 9px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgba(150,180,220,.35);
  padding: 8px 10px 3px;
  display: flex; align-items: center; gap: 6px;
}
.sbnav-sec::after {
  content: ''; flex: 1; height: 1px;
  background: rgba(56,189,248,.08);
}
.sbnav-item {
  display: flex; align-items: center; gap: 10px;
  width: 100%; padding: 8px 10px 8px 12px;
  border-radius: 8px; border: none;
  background: none; cursor: pointer;
  font-family: var(--fn); font-size: 13px; font-weight: 500;
  color: rgba(180,210,255,.55);
  text-align: left;
  transition: background .12s, color .12s;
  margin-bottom: 1px;
  position: relative;
}
.sbnav-item::before {
  content: '';
  position: absolute; left: 0; top: 20%; bottom: 20%;
  width: 3px; border-radius: 0 3px 3px 0;
  background: var(--primary);
  opacity: 0; transition: opacity .12s;
}
.sbnav-item svg {
  width: 16px; height: 16px; flex-shrink: 0;
  color: rgba(150,190,255,.4);
  transition: color .12s;
}
.sbnav-item:hover {
  background: rgba(56,189,248,.07);
  color: rgba(220,235,255,.85);
}
.sbnav-item:hover svg { color: rgba(150,200,255,.7); }
.sbnav-item:hover::before { opacity: .3; }
.sbnav-item.active {
  background: rgba(56,189,248,.12);
  color: #7dd3fc;
  font-weight: 600;
}
.sbnav-item.active svg { color: #38bdf8; }
.sbnav-item.active::before { opacity: 1; }
.sbnav-badge {
  margin-left: auto;
  font-size: 8px; font-weight: 800;
  padding: 2px 6px; border-radius: 10px;
  background: rgba(52,211,153,.15); color: #34d399;
  border: 1px solid rgba(52,211,153,.3);
  letter-spacing: .05em;
  flex-shrink: 0;
}
.sbnav-divider { height: 1px; background: rgba(56,189,248,.07); margin: 3px 10px; }
.sbnav-proj-divider { height: 1px; background: var(--brd); margin: 4px 0; flex-shrink: 0; }

/* ── Pliki w analizie ── */
.sbnav-analysis {
  flex-shrink: 0;
  padding: 0 6px 4px;
}
.sbnav-no-files {
  font-size: 10px; color: rgba(150,180,220,.3);
  padding: 4px 10px 6px;
  font-style: italic;
}
.sbnav-afile {
  display: flex; align-items: center; gap: 7px;
  padding: 5px 10px; border-radius: 6px;
  cursor: pointer; transition: background .12s;
  margin-bottom: 1px;
}
.sbnav-afile:hover { background: rgba(255,255,255,.04); }
.sbnav-afile-icon { font-size: 12px; flex-shrink: 0; }
.sbnav-afile-name {
  font-size: 11px; font-weight: 500; color: rgba(200,220,255,.65);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1;
}
.sbnav-afile-del {
  background: none; border: none; color: rgba(251,113,133,.4);
  cursor: pointer; font-size: 13px; padding: 0; flex-shrink: 0;
  transition: color .12s; line-height: 1;
}
.sbnav-afile-del:hover { color: #fb7185; }

/* ══ NOWY AKCENT — zamień niebieski na fioletowo-cyjanowy gradient ══ */
:root {
  --acc:    #7dd3fc;
  --primary:#7dd3fc;
  --blue:   #7dd3fc;
  --blue2:  #bae6fd;
  --teal:   #2dd4c8;
  --glow-color: rgba(100,170,230,.55);
}

/* ══ TOPNAV — dark mode contrast (nie używać !important żeby nie blokować tematów) ══ */
[data-theme="dark"] .topnav {
  background: rgba(5,8,20,.99);
  border-bottom: 1px solid rgba(100,170,230,.26);
  box-shadow: 0 1px 0 rgba(100,170,230,.15), 0 2px 24px rgba(0,0,0,.7);
}
[data-theme="dark"] .nav-tab.active {
  color: #7dd3fc;
  border-bottom-color: #7dd3fc;
}
[data-theme="dark"] .nav-tab:hover { color: rgba(220,210,255,.95); }

.sm-tab { color: rgba(125,211,252,.75); }
.sm-tab:hover { border-color: rgba(100,170,230,.55); color: #7dd3fc !important; }
.sm-tab-active {
  background: rgba(125,211,252,.25) !important;
  border-color: rgba(100,170,230,.55) !important;
  color: #7dd3fc !important;
}

.full-chat-sub { color: rgba(125,211,252,.85); }

/* ══ MODUŁY — głębszy glassmorphism dark only ══ */
[data-theme="dark"] .module {
  border-color: rgba(100,170,230,.2);
  background: rgba(10,8,28,.82);
  box-shadow: 0 8px 40px rgba(0,0,0,.6), 0 0 0 1px rgba(100,170,230,.12), inset 0 1px 0 rgba(255,255,255,.05);
}
[data-theme="dark"] .module:hover { border-color: rgba(100,170,230,.38); }
.module.active { animation: modIn 250ms cubic-bezier(.2,0,.1,1); }

/* ══ MOD-HDR — gradient header (dark only) ══ */
[data-theme="dark"] .mod-hdr {
  background: linear-gradient(135deg, rgba(10,8,30,.9), rgba(20,12,45,.85));
  border-bottom-color: rgba(100,170,230,.15);
}
[data-theme="dark"] .mod-hdr h2 { color: #bae6fd; }

/* ══ SUB-TABS — dark only ══ */
[data-theme="dark"] .sub-tab.active {
  background: rgba(100,170,230,.22);
  border-color: rgba(100,170,230,.5);
  color: #7dd3fc;
  box-shadow: 0 0 12px rgba(100,170,230,.22);
}
[data-theme="dark"] .sub-tab:hover:not(.active) { border-color: rgba(100,170,230,.35); }

/* ══ SCAN ZONES — duże, mobilne, eleganckie ══ */
.scan-input-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
}
.scan-zone {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 28px 16px !important;
  border: 1.5px dashed rgba(100,170,230,.35) !important;
  border-radius: 16px !important;
  background: rgba(15,10,35,.6) !important;
  cursor: pointer !important;
  transition: all .22s ease !important;
  min-height: 130px !important;
}
.scan-zone:hover, .scan-zone.drag {
  border-color: #38bdf8 !important;
  background: rgba(100,170,230,.12) !important;
  box-shadow: 0 0 24px rgba(100,170,230,.22), inset 0 0 20px rgba(100,170,230,.08) !important;
  transform: translateY(-2px) !important;
}
.scan-zone svg { filter: drop-shadow(0 0 6px rgba(100,170,230,.5)); }
.scan-zone-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: rgba(220,210,255,.9) !important;
  letter-spacing: .01em !important;
}
.scan-zone-sub {
  font-size: 10px !important;
  color: rgba(100,170,230,.6) !important;
  text-align: center !important;
}

/* ══ PRZYCISKI — hover glow (dark only) ══ */
[data-theme="dark"] .btn-primary, [data-theme="dark"] .send-btn {
  background: rgba(100,170,230,.26);
  border-color: rgba(100,170,230,.5);
  color: #7dd3fc;
  box-shadow: 0 0 10px rgba(100,170,230,.15);
}
[data-theme="dark"] .btn-primary:hover, [data-theme="dark"] .send-btn:hover {
  background: rgba(100,170,230,.4);
  box-shadow: 0 0 20px rgba(100,170,230,.4), 0 4px 16px rgba(0,0,0,.4);
  transform: translateY(-1px);
}
[data-theme="dark"] .action-btn:hover {
  background: linear-gradient(180deg,rgba(100,170,230,.22) 0%,rgba(100,170,230,.1) 100%);
  border-color: rgba(100,170,230,.45);
  color: #7dd3fc;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(56,189,248,.2),inset 0 1px 0 rgba(100,170,230,.18);
}

/* ══ QUICK CHIPS — dark only ══ */
[data-theme="dark"] .quick-chip, [data-theme="dark"] .bento-chip, [data-theme="dark"] .quick-btn {
  background: rgba(100,170,230,.1);
  border: 1px solid rgba(100,170,230,.26);
  color: rgba(125,211,252,.7);
}
[data-theme="dark"] .quick-chip:hover, [data-theme="dark"] .bento-chip:hover, [data-theme="dark"] .quick-btn:hover {
  border-color: rgba(100,170,230,.6);
  color: #7dd3fc;
  background: rgba(100,170,230,.2);
}

/* ══ CHAT BUBBLES — dark only ══ */
[data-theme="dark"] .chat-msg.assistant .msg-bubble, [data-theme="dark"] .msg-body {
  background: rgba(15,10,35,.85);
  border-color: rgba(100,170,230,.18);
}
[data-theme="dark"] .chat-msg.user .msg-bubble {
  background: rgba(109,40,217,.25);
  border-color: rgba(100,170,230,.4);
}
[data-theme="dark"] .chat-inp, [data-theme="dark"] #chat-input, [data-theme="dark"] .chat-ta {
  border-color: rgba(100,170,230,.3);
  background: rgba(10,6,25,.7);
}
[data-theme="dark"] .chat-inp:focus, [data-theme="dark"] #chat-input:focus, [data-theme="dark"] .chat-ta:focus {
  border-color: rgba(100,170,230,.6);
  box-shadow: 0 0 0 2px rgba(100,170,230,.18);
}

/* ══ SIDEBAR — dark only ══ */
[data-theme="dark"] .sidebar {
  background: rgba(6,4,18,.97);
  border-right-color: rgba(100,170,230,.15);
}
[data-theme="dark"] .proj-item.active-proj {
  background: rgba(100,170,230,.15);
  border-color: rgba(100,170,230,.35);
}
[data-theme="dark"] .proj-badge {
  color: rgba(125,211,252,.85);
  background: rgba(100,170,230,.15);
  border-color: rgba(100,170,230,.35);
}
[data-theme="dark"] .fitem:hover { border-color: rgba(100,170,230,.35); }
[data-theme="dark"] .dzone:hover, [data-theme="dark"] .dzone.drag {
  border-color: #38bdf8;
  background: rgba(100,170,230,.09);
}
[data-theme="dark"] .cloud-btn:hover {
  border-color: rgba(100,170,230,.45);
  color: rgba(125,211,252,.85);
}

/* ══ BENTO CARDS ══ */
.bento-card {
  background: rgba(12,8,30,.75) !important;
  border-color: rgba(100,170,230,.18) !important;
}
/* ══ BENTO — dark only ══ */
[data-theme="dark"] .bento-card:hover {
  border-color: rgba(100,170,230,.42);
  box-shadow: 0 0 0 1px rgba(100,170,230,.22), 0 12px 36px rgba(0,0,0,.55);
}
[data-theme="dark"] .bento-open-btn {
  background: rgba(100,170,230,.18);
  border-color: rgba(100,170,230,.4);
  color: #7dd3fc;
}
[data-theme="dark"] .bento-open-btn:hover { background: rgba(100,170,230,.3); }

/* ══ TOKEN PILL — dark only ══ */
[data-theme="dark"] .token-dot { background: #38bdf8; }
[data-theme="dark"] .token-val  { color: #7dd3fc; }
[data-theme="dark"] .token-bar  { background: linear-gradient(90deg,#1d4ed8,#38bdf8); }

/* ══ FAB — dark only ══ */
[data-theme="dark"] .fab-doc {
  background: linear-gradient(135deg,rgba(60,20,120,.95),rgba(40,10,90,.98));
  border-color: rgba(120,190,240,.7);
}
[data-theme="dark"] .fab-corner { border-color: rgba(56,189,248,.9); }
[data-theme="dark"] .fab-scan { background: linear-gradient(90deg,transparent,rgba(120,190,240,.75),transparent); }
[data-theme="dark"] .fab-doc-txt { color: rgba(125,211,252,.9); }

/* ══ DIFF / REWIZJE — dark only ══ */
[data-theme="dark"] .diff-table th { background: rgba(100,170,230,.18); border-color: rgba(100,170,230,.22); }
[data-theme="dark"] .sub-tabs { background: rgba(6,4,18,.6); border-bottom-color: rgba(100,170,230,.15); }

/* ══ LOADING DOTS — dark only ══ */
[data-theme="dark"] .msg-loading span { background: rgba(100,170,230,.7); }

/* ══ SCROLLBAR ══ */
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: rgba(100,170,230,.35); }
[data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); }
[data-theme="outsite"] ::-webkit-scrollbar-thumb { background: rgba(0,0,0,.4); }

/* ══ MOBILE scan zones ══ */
@media (max-width: 768px) {
  .scan-input-grid { grid-template-columns: 1fr !important; }
  .scan-zone { min-height: 80px !important; padding: 20px 16px !important; flex-direction: row !important; gap: 14px !important; justify-content: flex-start !important; }
  .scan-zone svg { width: 36px !important; height: 36px !important; flex-shrink: 0; }
  .scan-zone-title { font-size: 15px !important; }
}

/* ══ EXPORT DROPDOWN ══ */
.export-wrap { position:relative; display:inline-flex; }
.export-btn {
  display:flex; align-items:center; gap:6px;
  background:rgba(100,170,230,.18);
  border:1px solid rgba(100,170,230,.4);
  border-radius:8px; padding:6px 12px;
  color:#7dd3fc; font-size:11px; font-weight:600;
  cursor:pointer; transition:all .18s; font-family:var(--fn);
}
.export-btn:hover { background:rgba(100,170,230,.3); box-shadow:0 0 12px rgba(100,170,230,.3); }
.export-btn svg { width:13px; height:13px; flex-shrink:0; }
.export-dropdown {
  display:none; position:absolute; bottom:calc(100% + 6px); left:0;
  background:rgba(8,6,22,.97);
  border:1px solid rgba(100,170,230,.3);
  border-radius:10px; padding:5px;
  min-width:160px; z-index:200;
  box-shadow:0 -8px 32px rgba(0,0,0,.6);
}
.export-wrap:hover .export-dropdown,
.export-wrap.open .export-dropdown { display:block; }
.export-option {
  display:flex; align-items:center; gap:8px;
  padding:7px 10px; border-radius:7px;
  color:rgba(200,185,255,.7); font-size:11px; font-weight:500;
  cursor:pointer; transition:background .12s;
  background:none; border:none; width:100%; font-family:var(--fn);
  text-align:left;
}
.export-option:hover { background:rgba(100,170,230,.18); color:#7dd3fc; }
.export-option svg { width:13px; height:13px; flex-shrink:0; }

/* ══ ACTION BAR — ujednolicony ══ */
.action-bar-unified {
  display:flex; align-items:center; gap:8px;
  padding:8px 16px;
  border-top:1px solid rgba(100,170,230,.12);
  background:rgba(4,2,14,.5);
  flex-shrink:0; flex-wrap:wrap;
}
.ab-btn {
  display:flex; align-items:center; gap:5px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px; padding:6px 12px;
  color:rgba(200,185,255,.6); font-size:11px; font-weight:600;
  cursor:pointer; transition:all .15s; font-family:var(--fn);
  white-space:nowrap;
}
.ab-btn:hover { background:rgba(100,170,230,.18); border-color:rgba(100,170,230,.4); color:#7dd3fc; transform:translateY(-1px); }
.ab-btn svg { width:13px; height:13px; flex-shrink:0; }
.ab-btn.danger:hover { background:rgba(251,113,133,.1); border-color:rgba(251,113,133,.3); color:#fb7185; }
.ab-spacer { flex:1; }

/* ══ SEND BTN — spójny z FAB ══ */
.send-btn {
  display:flex !important; align-items:center !important; justify-content:center !important;
  gap:6px !important;
  background:rgba(100,170,230,.26) !important;
  border:1.5px solid rgba(100,170,230,.55) !important;
  border-radius:10px !important;
  color:#7dd3fc !important;
  font-size:12px !important; font-weight:700 !important;
  padding:8px 16px !important;
  cursor:pointer !important; transition:all .18s !important;
  box-shadow:0 0 10px rgba(100,170,230,.18) !important;
  white-space:nowrap !important; flex-shrink:0 !important;
}
.send-btn:hover {
  background:rgba(100,170,230,.4) !important;
  box-shadow:0 0 20px rgba(100,170,230,.4), 0 4px 16px rgba(0,0,0,.4) !important;
  transform:translateY(-1px) !important;
}
.send-btn svg { width:14px; height:14px; flex-shrink:0; stroke:currentColor; }

/* ══ CHAT INPUT — powiększony ══ */
.chat-ta, #ci1, #ci2, #ci3 {
  font-size:14px !important;
  min-height:52px !important;
  padding:12px 16px !important;
  border-radius:12px !important;
  border:1.5px solid rgba(100,170,230,.3) !important;
  background:rgba(10,6,25,.75) !important;
  color:rgba(220,210,255,.9) !important;
  line-height:1.6 !important;
}
.chat-ta:focus, #ci1:focus { border-color:rgba(100,170,230,.6) !important; box-shadow:0 0 0 3px rgba(100,170,230,.15) !important; }
.chat-row { gap:8px !important; align-items:flex-end !important; }

/* ══ BENTO GRID dla m4 ══ */
.bento-grid-rewizje {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto 1fr;
  gap:10px; padding:10px; flex:1; min-height:0;
}
.bento-rewizje-upload {
  grid-column:1/3;
  display:grid; grid-template-columns:1fr auto 1fr;
  gap:10px; align-items:center;
}
.rewizje-slot {
  background:rgba(10,8,28,.75);
  border:1.5px dashed rgba(100,170,230,.35);
  border-radius:12px; padding:16px;
  display:flex; flex-direction:column; align-items:center;
  gap:8px; cursor:pointer; transition:all .22s;
  text-align:center; min-height:100px; justify-content:center;
}
.rewizje-slot:hover, .rewizje-slot.drag {
  border-color:#38bdf8;
  background:rgba(100,170,230,.12);
  box-shadow:0 0 20px rgba(100,170,230,.22);
  transform:translateY(-1px);
}
.rewizje-slot-loaded, .rewizje-slot.loaded {
  border-style:solid !important;
  border-color:rgba(52,211,153,.4) !important;
  background:rgba(52,211,153,.06) !important;
}
.rewizje-slot svg { filter:drop-shadow(0 0 6px rgba(100,170,230,.5)); }
.rewizje-slot-title { font-size:12px; font-weight:700; color:rgba(220,210,255,.85); }
.rewizje-slot-sub { font-size:9.5px; color:rgba(100,170,230,.55); }
.rewizje-arrow { display:flex; align-items:center; justify-content:center; color:rgba(100,170,230,.5); }
.bento-rewizje-ctx {
  grid-column:1/3;
  background:rgba(10,8,28,.75);
  border:1px solid rgba(100,170,230,.18);
  border-radius:12px; padding:14px 16px;
  display:flex; flex-direction:column; gap:10px;
}
.rewizje-ctx-input {
  width:100%; background:rgba(10,6,25,.75);
  border:1.5px solid rgba(100,170,230,.3);
  border-radius:10px; color:rgba(220,210,255,.9);
  font-family:var(--fn); font-size:13px;
  padding:10px 14px; outline:none; transition:border-color .18s;
}
.rewizje-ctx-input:focus { border-color:rgba(100,170,230,.6); box-shadow:0 0 0 3px rgba(100,170,230,.15); }
.rewizje-ctx-input::placeholder { color:rgba(100,170,230,.4); }
.rewizje-run-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:rgba(100,170,230,.26);
  border:1.5px solid rgba(100,170,230,.55);
  border-radius:10px; padding:11px 20px;
  color:#7dd3fc; font-size:13px; font-weight:700;
  cursor:pointer; transition:all .18s; font-family:var(--fn);
  box-shadow:0 0 10px rgba(100,170,230,.18);
}
.rewizje-run-btn:hover {
  background:rgba(100,170,230,.4);
  box-shadow:0 0 20px rgba(100,170,230,.4);
  transform:translateY(-1px);
}
.rewizje-result {
  grid-column:1/3;
  background:rgba(10,8,28,.75);
  border:1px solid rgba(100,170,230,.18);
  border-radius:12px; overflow:hidden;
  display:flex; flex-direction:column;
}
.rewizje-result-body { flex:1; overflow-y:auto; padding:14px 16px; }

/* ══ ACTION BAR — poprawka rozjazdu ══ */
.action-bar-unified {
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:8px 14px !important;
  border-top:1px solid rgba(100,170,230,.12) !important;
  background:rgba(4,2,14,.6) !important;
  flex-shrink:0 !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;
}
.action-bar-unified::-webkit-scrollbar { display:none; }

/* ══ SEND BTN — fix rozjazdu, spójny styl ══ */
.send-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  background:rgba(100,170,230,.3) !important;
  border:1.5px solid rgba(100,170,230,.6) !important;
  border-radius:10px !important;
  color:#7dd3fc !important;
  font-size:13px !important;
  font-weight:700 !important;
  padding:10px 20px !important;
  cursor:pointer !important;
  transition:all .18s !important;
  box-shadow:0 0 12px rgba(100,170,230,.22) !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
  height:44px !important;
  min-width:90px !important;
}
.send-btn:hover {
  background:rgba(100,170,230,.45) !important;
  box-shadow:0 0 24px rgba(100,170,230,.45), 0 4px 16px rgba(0,0,0,.4) !important;
  transform:translateY(-1px) !important;
}
.send-btn svg { width:15px !important; height:15px !important; flex-shrink:0; stroke:currentColor; }

.em-resp-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  padding:16px 20px !important;
  height:58px !important;
  border-radius:18px !important;
  border:1.75px solid var(--cbrd, rgba(255,255,255,.18)) !important;
  background: linear-gradient(135deg, var(--cb, rgba(255,255,255,.16)), rgba(255,255,255,.06)) !important;
  color: var(--c, #7dd3fc) !important;
  font-size:15px !important;
  font-weight:800 !important;
  min-width:190px !important;
  white-space:normal !important;
  text-align:center !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
  cursor:pointer !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 14px 38px rgba(0,0,0,.15) !important;
}
.em-resp-btn svg {
  width:24px !important;
  height:24px !important;
  flex-shrink:0 !important;
  stroke:currentColor !important;
  padding:7px !important;
  border-radius:999px !important;
  background: rgba(255,255,255,.14) !important;
}
.em-resp-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.08) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)) !important;
}
.em-resp-btn:focus {
  outline:2px solid rgba(125,211,252,.85) !important;
  outline-offset:2px !important;
}

/* ══ MIC BTN — nie nakrywa send ══ */
.mic-btn {
  position:absolute !important;
  bottom:8px !important;
  right:108px !important;
  width:30px !important; height:30px !important;
  background:rgba(125,211,252,.15) !important;
  border:1px solid rgba(125,211,252,.25) !important;
  border-radius:8px !important;
  color:#7dd3fc !important;
  cursor:pointer !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:all .15s !important;
}
.mic-btn:hover { background:rgba(100,170,230,.3) !important; }

/* ══ CHAT INPUT — większy, czytelniejszy ══ */
.chat-ta, textarea.chat-ta {
  font-size:15px !important;
  min-height:52px !important;
  padding:12px 50px 12px 16px !important;
  border-radius:12px !important;
  border:1.5px solid rgba(100,170,230,.3) !important;
  background:rgba(10,6,25,.8) !important;
  color:rgba(230,220,255,.95) !important;
  line-height:1.6 !important;
  width:100% !important;
  resize:none !important;
  font-family:var(--fn) !important;
}
.chat-ta:focus {
  border-color:rgba(100,170,230,.65) !important;
  box-shadow:0 0 0 3px rgba(100,170,230,.15) !important;
  outline:none !important;
}
.chat-ta::placeholder { color:rgba(100,170,230,.45) !important; font-size:14px !important; }
.chat-row {
  display:flex !important;
  gap:8px !important;
  align-items:flex-end !important;
  position:relative !important;
}

/* ══ CZAT — większa czcionka odpowiedzi ══ */
.msg-bubble, .msg-body {
  font-size:14px !important;
  line-height:1.75 !important;
  padding:12px 16px !important;
}
.chat-msg.assistant .msg-bubble,
.chat-msg.user .msg-bubble { font-size:14px !important; }

/* TABELE w odpowiedziach */
.msg-bubble table, .msg-body table { font-size:13px !important; }
.msg-bubble th, .msg-body th { padding:7px 10px !important; }
.msg-bubble td, .msg-body td { padding:5px 10px !important; }

/* ══ QUICK CHIPS — większe na mobile ══ */
.chat-quick {
  display:flex !important;
  gap:6px !important;
  flex-wrap:wrap !important;
  padding:8px 0 6px !important;
}
.quick-btn {
  font-size:12px !important;
  padding:6px 12px !important;
  border-radius:8px !important;
  cursor:pointer !important;
}

/* ══ AB BTN — spójne z resztą ══ */
.ab-btn {
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(100,170,230,.3) !important;
  border-radius:8px !important;
  padding:6px 12px !important;
  color:rgba(200,185,255,.65) !important;
  font-size:12px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:all .15s !important;
  font-family:var(--fn) !important;
  white-space:nowrap !important;
  flex-shrink:0 !important;
}
.ab-btn:hover {
  background:rgba(100,170,230,.2) !important;
  border-color:rgba(100,170,230,.5) !important;
  color:#7dd3fc !important;
  transform:translateY(-1px) !important;
}
.ab-btn.danger:hover {
  background:rgba(251,113,133,.1) !important;
  border-color:rgba(251,113,133,.3) !important;
  color:#fb7185 !important;
}
.ab-btn svg { width:13px; height:13px; flex-shrink:0; }
.ab-spacer { flex:1 !important; min-width:8px !important; }

/* ══ EXPORT DROPDOWN — poprawka pozycji ══ */
.export-wrap { position:relative !important; display:inline-flex !important; flex-shrink:0 !important; }
.export-btn {
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  background:rgba(100,170,230,.2) !important;
  border:1px solid rgba(100,170,230,.45) !important;
  border-radius:8px !important;
  padding:6px 12px !important;
  color:#7dd3fc !important;
  font-size:12px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:all .15s !important;
  font-family:var(--fn) !important;
  white-space:nowrap !important;
}
.export-btn:hover { background:rgba(100,170,230,.35) !important; box-shadow:0 0 12px rgba(100,170,230,.3) !important; }
.export-dropdown {
  display:none !important;
  position:absolute !important;
  bottom:calc(100% + 8px) !important;
  left:0 !important;
  background:rgba(8,5,20,.98) !important;
  border:1px solid rgba(100,170,230,.35) !important;
  border-radius:12px !important;
  padding:6px !important;
  min-width:150px !important;
  z-index:500 !important;
  box-shadow:0 -8px 32px rgba(0,0,0,.7), 0 0 0 1px rgba(100,170,230,.15) !important;
}
.export-wrap:hover .export-dropdown { display:block !important; }
.export-option {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:8px 12px !important;
  border-radius:8px !important;
  color:rgba(210,195,255,.75) !important;
  font-size:12px !important;
  font-weight:500 !important;
  cursor:pointer !important;
  transition:background .12s !important;
  background:none !important;
  border:none !important;
  width:100% !important;
  font-family:var(--fn) !important;
  text-align:left !important;
}
.export-option:hover { background:rgba(100,170,230,.2) !important; color:#7dd3fc !important; }
.export-option svg { width:14px; height:14px; flex-shrink:0; }

/* ══ CLOUD BTNS — większe, bez okna ustawień ══ */
.cloud-btn {
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  background:rgba(100,170,230,.1) !important;
  border:1px solid rgba(100,170,230,.26) !important;
  border-radius:7px !important;
  padding:6px 10px !important;
  font-size:10.5px !important;
  color:rgba(125,211,252,.65) !important;
  cursor:pointer !important;
  transition:all .15s !important;
  font-family:var(--fn) !important;
  font-weight:500 !important;
}
.cloud-btn svg { width:13px !important; height:13px !important; flex-shrink:0; }
.cloud-btn:hover {
  border-color:rgba(100,170,230,.55) !important;
  color:#7dd3fc !important;
  background:rgba(100,170,230,.2) !important;
}

/* ══ CHAT MSG — padding i rozmiar ══ */
.chat-msgs { padding:16px 18px !important; gap:14px !important; }
.chat-empty p { font-size:14px !important; line-height:1.8 !important; }

/* ════════════════════════════════════════════════
   HOME GRID (m0) — strona tytułowa z kafelkami
   ════════════════════════════════════════════════ */
.home-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:12px;
  flex:1;
  overflow-y:auto;
  align-content:start;
}
.home-tile {
  background:rgba(8,16,38,.82);
  border:1px solid rgba(56,189,248,.1);
  border-radius:14px;
  padding:18px 20px;
  cursor:pointer;
  transition:border-color .18s,transform .18s,box-shadow .18s;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.home-tile:hover {
  transform:translateY(-2px) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.55) !important;
}
.tile-hero { grid-column:span 2; }
.tile-icon-wrap {
  width:42px; height:42px;
  border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  margin-bottom:10px;
}
.tile-badge {
  font-size:10px; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em;
  display:flex; align-items:center; gap:5px;
  margin-bottom:4px;
}
.tile-name {
  font-size:20px; font-weight:800;
  color:rgba(220,238,255,.97);
  line-height:1.1; margin-bottom:6px;
}
.tile-desc {
  font-size:13px; color:rgba(140,180,220,.62);
  line-height:1.55; flex:1;
}
.tile-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.tile-chip {
  font-size:11px; padding:4px 10px;
  border-radius:20px; cursor:pointer;
}
.tile-open-btn {
  display:inline-flex; align-items:center; gap:7px;
  margin-top:14px; padding:9px 18px;
  border-radius:9px; font-size:13px; font-weight:600;
  cursor:pointer; align-self:flex-start;
  transition:opacity .15s,transform .15s;
  border:none;
}
.tile-open-btn:hover { opacity:.82; transform:translateY(-1px); }
.tile-sm .tile-name { font-size:16px !important; font-weight:700 !important; }
.tile-sm .tile-desc { font-size:12px !important; }
.tile-sm .tile-open-btn { padding:7px 14px; font-size:12px; margin-top:10px; }
.tile-sm .tile-icon-wrap { width:36px; height:36px; border-radius:9px; margin-bottom:8px; }

/* ════════════════════════════════════════════════
   FULL CHAT MODULE (m1 D-Agent)
   ════════════════════════════════════════════════ */
.full-chat {
  display:flex; flex-direction:column;
  flex:1; min-height:0; overflow:hidden;
}
.full-chat-hdr {
  display:flex; align-items:center; gap:14px;
  padding:12px 18px 10px;
  border-bottom:1px solid rgba(100,170,230,.15);
  flex-shrink:0;
  background:rgba(8,4,22,.5);
}
.full-chat-icon {
  width:40px; height:40px; border-radius:10px;
  background:rgba(100,170,230,.22);
  border:1.5px solid rgba(100,170,230,.45);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.full-chat-title { font-size:16px; font-weight:700; color:rgba(220,210,255,.95); }
.full-chat-sub { font-size:12px; color:rgba(100,170,230,.6); margin-top:2px; line-height:1.4; }
.full-chat-input-wrap {
  flex-shrink:0; padding:6px 14px 2px;
  border-top:1px solid rgba(100,170,230,.12);
  background:rgba(4,2,14,.3);
}

/* ════════════════════════════════════════════════
   GLOBAL MODULE READABILITY
   ════════════════════════════════════════════════ */
.scan-mod-title { font-size:18px !important; font-weight:700 !important; }
.scan-mod-sub { font-size:13px !important; color:rgba(148,185,225,.65) !important; }
.panel-hd { padding:18px 22px 0 !important; }
.sub-tab { font-size:13px !important; padding:10px 18px !important; font-weight:600 !important; }
.module .form-group label,
.module label:not(.nav-tab):not(.mob-drawer-item) { font-size:13px !important; }
.result-box, .module textarea:not(.chat-ta):not(.chat-ta-sm) { font-size:14px !important; min-height:100px !important; }
.bento-label { font-size:10px !important; }
.bento-title { font-size:15px !important; font-weight:700 !important; }
.bento-sub { font-size:11.5px !important; }
.rewizje-slot-title { font-size:15px !important; font-weight:700 !important; }
.rewizje-slot-sub { font-size:12px !important; }
.module .section-title, .module h2, .module h3 { font-size:16px !important; font-weight:700 !important; }
.chat-empty p { font-size:14px !important; line-height:1.8 !important; }
.chat-empty .ico { font-size:36px !important; margin-bottom:12px !important; }

/* ════ MOBILE HOME ════ */
@media (max-width:860px) {
  .home-grid { grid-template-columns:1fr 1fr; }
  .tile-hero { grid-column:span 2; }
}
@media (max-width:520px) {
  .home-grid { grid-template-columns:1fr; padding:8px; gap:8px; }
  .tile-hero { grid-column:span 1; }
  .tile-name { font-size:17px !important; }
}

/* ════════════════════════════════════════════════════════
   SMART E-MAIL & D-KOLIZJE — dark theme unification
   ════════════════════════════════════════════════════════ */

/* ── Wspólne: stara .action-bar ── */
.action-bar {
  display:flex; flex-wrap:wrap; gap:6px;
  padding:8px 16px;
  border-top:1px solid rgba(100,170,230,.12);
  background:rgba(4,2,14,.5);
  flex-shrink:0;
}

/* ── field-label ── */
.field-label {
  font-size:11px; font-weight:700;
  color:rgba(100,170,230,.7);
  text-transform:uppercase; letter-spacing:.1em;
  margin-bottom:6px;
}

/* ── Shared module atoms (D-Kolizje / D-Przedmiar / other modules) ── */
.mod-field-label {
  display:block; font-size:12px; font-weight:600;
  color:var(--text2); margin-bottom:8px; letter-spacing:.03em;
}
.mod-input {
  width:100%; padding:10px 14px;
  border:1px solid var(--brd2); border-radius:10px;
  font-size:13px; background:var(--card-bg);
  color:var(--text); font-family:var(--fn);
  outline:none; box-sizing:border-box; transition:border-color .18s, background .18s;
}
.mod-input:focus { border-color:var(--acc); }
.mod-run-btn {
  width:100%; padding:12px 16px;
  background:var(--acc); color:#fff;
  border:none; border-radius:10px;
  font-size:14px; font-weight:700;
  cursor:pointer; font-family:var(--fn);
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:opacity .18s, transform .18s, box-shadow .18s;
}
.mod-run-btn:hover { opacity:.92; transform:translateY(-1px); }
.mod-run-btn:disabled { opacity:.45; cursor:not-allowed; }

/* ── miar-filter-chk (checkboxy zakresu analizy) ── */
.miar-filter-chk {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text2);
  padding: 8px 10px; background: var(--s2);
  border-radius: 10px; cursor: pointer; user-select: none;
  border:1px solid transparent; transition:background .18s, border-color .18s, color .18s;
}
.miar-filter-chk:hover {
  background:rgba(56,189,248,.08);
  border-color:rgba(56,189,248,.18);
  color:var(--text);
}
.miar-filter-chk input[type=checkbox] {
  accent-color: var(--acc); width: 14px; height: 14px; flex-shrink: 0;
}

/* ── D-Przedmiar surface and result cards — match D-Kolizje design system ── */
.miar-drawings-list,
.result-block {
  background:var(--card-bg);
  border:1px solid var(--brd);
  border-radius:14px;
  box-shadow:0 8px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04);
}
.miar-drawings-list {
  min-height:122px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dcalc-surface-alt {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(56,189,248,.08);
  border-radius:12px;
  color:var(--text);
}
.result-block {
  padding:18px;
  margin-bottom:16px;
}
.result-title {
  font-size:13px; font-weight:700;
  color:var(--text); margin-bottom:12px;
}
.result-block table {
  width:100%; border-collapse:collapse; font-size:12px; margin-bottom:0;
}
.result-block th,
.result-block td {
  border:1px solid var(--brd); padding:10px 12px;
  color:var(--text2);
}
.result-block th {
  background:rgba(255,255,255,.04); color:var(--text); font-weight:600;
}
.result-block td input,
.result-block td select,
.result-block input[type="text"],
.result-block input[type="number"],
.result-block select {
  width:100%; background:rgba(255,255,255,.04);
  border:1px solid rgba(56,189,248,.12); border-radius:8px;
  color:var(--text); padding:7px 10px;
  font-size:12px; outline:none; box-sizing:border-box;
}
.result-block td input:focus,
.result-block td select:focus,
.result-block input[type="text"]:focus,
.result-block input[type="number"]:focus,
.result-block select:focus {
  border-color:var(--acc);
}
.result-block button.action-btn {
  margin-top:10px;
}
.scan-opt-radio {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  color:var(--text);
  font-size:12px;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.scan-opt-radio input {
  accent-color:var(--acc);
}
.scan-opt-radio:hover {
  border-color:rgba(56,189,248,.5);
  background:rgba(255,255,255,.08);
}

/* ── col-zone (upload drop areas in D-Kolizje / D-Kalkulator) ── */
.col-zone {
  background:var(--card-bg);
  border:1.5px dashed var(--brd2);
  border-radius:12px; padding:14px 12px;
  display:flex; flex-direction:column; align-items:center;
  gap:6px; cursor:pointer; transition:all .22s;
  text-align:center; min-height:80px; justify-content:center;
}
.col-zone:hover, .col-zone.drag {
  border-color:var(--acc);
  background:var(--s2);
  box-shadow:0 0 0 3px rgba(56,189,248,.1);
  transform:translateY(-1px);
}
.col-lbl {
  font-size:11px; font-weight:700;
  color:var(--acc); letter-spacing:.04em;
}
.col-ico { font-size:22px; line-height:1; }
.col-fn  { font-size:10px; color:var(--text2); }
.col-formats {
  font-size:9px; color:var(--text3);
  font-family:var(--fm);
}

/* ── clash-mode-selector ── */
.clash-mode-selector {
  display:flex; gap:6px; flex-wrap:wrap;
  padding:0 0 14px;
}
.clash-mode-btn {
  display:flex; align-items:center; gap:5px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(100,170,230,.22);
  border-radius:8px; padding:7px 14px;
  color:rgba(125,211,252,.6);
  font-size:12px; font-weight:600;
  cursor:pointer; transition:all .18s; font-family:var(--fn);
}
.clash-mode-btn:hover {
  background:rgba(100,170,230,.15);
  border-color:rgba(100,170,230,.45);
  color:#7dd3fc;
}
.clash-mode-btn.active {
  background:rgba(100,170,230,.26);
  border-color:rgba(100,170,230,.6);
  color:#7dd3fc;
  box-shadow:0 0 12px rgba(100,170,230,.3);
}

/* ── clash-grid-4 ── */
.clash-grid-4 {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:10px; margin-bottom:16px;
}
@media (max-width:900px) { .clash-grid-4 { grid-template-columns:repeat(2,1fr); } }

/* ── Smart e-mail: sm-tabs ── */
.sm-tabs {
  display:flex; gap:4px; padding:8px 14px;
  border-bottom:1px solid rgba(100,170,230,.12);
  flex-shrink:0; background:rgba(4,2,14,.4);
}
.sm-tab {
  padding:6px 14px; border-radius:8px;
  background:none; border:1px solid rgba(100,170,230,.18);
  color:rgba(100,170,230,.55);
  font-size:12px; font-weight:600;
  cursor:pointer; transition:all .15s; font-family:var(--fn);
}
.sm-tab:hover { border-color:rgba(100,170,230,.4); color:rgba(125,211,252,.85); }
.sm-tab-active {
  background:rgba(100,170,230,.26) !important;
  border-color:rgba(100,170,230,.55) !important;
  color:#7dd3fc !important;
}

/* ── email-layout ── */
.email-layout {
  display:flex; flex-direction:column;
  flex:1; overflow:hidden; min-height:0;
}
.email-top {
  padding:14px 18px;
  overflow-y:auto; flex-shrink:0;
  border-bottom:1px solid rgba(100,170,230,.12);
}
.email-row2 {
  display:grid; grid-template-columns:1fr 1fr;
  gap:10px; margin-top:10px;
}

/* ── email inputs ── */
.email-ta, .email-inp {
  width:100%; box-sizing:border-box;
  background:rgba(10,6,25,.75) !important;
  border:1.5px solid rgba(100,170,230,.3) !important;
  border-radius:10px !important;
  color:rgba(220,210,255,.9) !important;
  font-family:var(--fn) !important; font-size:13px !important;
  padding:10px 14px !important; outline:none;
  transition:border-color .18s;
  resize:vertical;
}
.email-ta:focus, .email-inp:focus {
  border-color:rgba(100,170,230,.6) !important;
  box-shadow:0 0 0 3px rgba(100,170,230,.15) !important;
}
.email-ta::placeholder, .email-inp::placeholder {
  color:rgba(100,170,230,.4) !important;
}

/* ── email-drop-zone ── */
.email-drop-zone {
  background:rgba(10,8,28,.75);
  border:1.5px dashed rgba(100,170,230,.35);
  border-radius:12px; padding:18px;
  display:flex; flex-direction:column; align-items:center;
  gap:5px; cursor:pointer; transition:all .22s;
  text-align:center; margin-bottom:10px;
}
.email-drop-zone:hover, .email-drop-zone.drag-over {
  border-color:#38bdf8;
  background:rgba(100,170,230,.12);
  box-shadow:0 0 20px rgba(100,170,230,.22);
}

/* ── email action bar ── */
.email-action-bar {
  display:flex; flex-wrap:wrap; gap:7px;
  margin-top:12px;
}
.btn-email-action {
  display:flex; align-items:center; gap:5px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px; padding:7px 14px;
  color:rgba(125,211,252,.7);
  font-size:12px; font-weight:600;
  cursor:pointer; transition:all .15s; font-family:var(--fn);
  white-space:nowrap;
}
.btn-email-action:hover {
  background:rgba(100,170,230,.18);
  border-color:rgba(100,170,230,.45);
  color:#7dd3fc; transform:translateY(-1px);
}
.btn-szablon {
  background:rgba(56,189,248,.1) !important;
  border-color:rgba(56,189,248,.3) !important;
  color:#38bdf8 !important;
}
.btn-szablon:hover {
  background:rgba(56,189,248,.2) !important;
  box-shadow:0 0 12px rgba(56,189,248,.2) !important;
}

/* ── email-results / email-empty ── */
.email-results {
  flex:1; min-height:0; overflow-y:auto;
  padding:14px 18px;
}
.email-empty {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:12px;
  height:100%; min-height:120px;
  color:rgba(100,170,230,.5);
  text-align:center;
}
.email-empty .ico { font-size:32px; }
.email-empty p { font-size:13px; line-height:1.75; color:rgba(140,180,220,.5); }

/* ── Fix: loading overlay (#ld) ── */
#ld {
  position:fixed; inset:0; z-index:9990;
  background:rgba(7,16,31,.72);
  display:none; align-items:center; justify-content:center;
  flex-direction:column; gap:16px;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
#ld.show { display:flex; }
#ld .spinner {
  width:44px; height:44px;
  border-radius:50%;
  border:3px solid rgba(100,170,230,.22);
  border-top-color:#38bdf8;
  animation:spin .75s linear infinite;
}
.loading-text {
  font-size:13px; color:rgba(125,211,252,.8);
  font-family:var(--fm); letter-spacing:.04em;
  text-align:center;
}

/* ── Fix: export-dropdown — click toggle, nie hover ── */
.export-wrap { position:relative; display:inline-flex; }
.export-dropdown {
  display:none; position:fixed;
  background:rgba(8,6,22,.97);
  border:1px solid rgba(100,170,230,.3);
  border-radius:10px; padding:5px;
  min-width:150px; z-index:9000;
  box-shadow:0 8px 32px rgba(0,0,0,.7);
}
.export-wrap.open .export-dropdown { display:block !important; }

/* ═══════════════════════════════════════════════
   HOME TILES — full-page module launcher
   ═══════════════════════════════════════════════ */
.home-tiles-wrap {
  display:flex; flex-direction:column;
  height:100%; overflow-y:auto;
  padding:28px 32px 32px;
  gap:24px;
}
.home-tiles-header {
  display:flex; flex-direction:column; align-items:center;
  gap:8px; padding-bottom:4px;
}
.home-tiles-logo {
  display:flex; align-items:center; gap:10px;
  font-size:22px; font-weight:700; color:#dce8f8;
  letter-spacing:-.5px;
}
.home-tiles-sub {
  font-size:13px; color:rgba(120,190,240,.75);
  margin:0; text-align:center;
}
.home-tiles-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:16px;
}
.home-tile {
  position:relative; overflow:hidden;
  background:rgba(15,12,35,.72);
  border:1px solid rgba(var(--tc-rgb, 167,139,250),.14);
  border-radius:16px;
  padding:22px 20px 18px;
  cursor:pointer;
  display:flex; flex-direction:column; gap:10px;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.home-tile:hover {
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 8px 32px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.06);
}
.home-tile-glow {
  position:absolute; inset:-1px;
  border-radius:16px;
  background:radial-gradient(ellipse 120% 80% at 50% -10%, rgba(255,255,255,.04) 0%, transparent 65%);
  pointer-events:none;
}
.home-tile:hover .home-tile-glow {
  background:radial-gradient(ellipse 120% 80% at 50% -10%,
    color-mix(in srgb, var(--tc, #38bdf8) 20%, transparent) 0%, transparent 65%);
}
.home-tile-icon { flex-shrink:0; }
.home-tile-name {
  font-size:15px; font-weight:700; color:#dce8f8;
  letter-spacing:-.2px;
}
.home-tile-desc {
  font-size:12px; color:rgba(120,190,240,.7);
  line-height:1.55; flex:1;
}
.home-tile-arrow {
  color:var(--tc, #38bdf8);
  opacity:.6;
  transition:opacity .15s, transform .15s;
  align-self:flex-end;
}
.home-tile:hover .home-tile-arrow {
  opacity:1; transform:translateX(3px);
}
/* Wide tile (spans 2 cols on wider screens) */
.home-tile-wide {
  grid-column: span 2;
  flex-direction:row; align-items:center; gap:16px;
}
.home-tile-wide .home-tile-content { flex:1; }
.home-tile-wide .home-tile-desc { font-size:12.5px; }
@media (max-width: 580px) {
  .home-tiles-wrap { padding:16px; }
  .home-tile-wide { grid-column:span 1; flex-direction:column; }
  .home-tiles-grid { grid-template-columns:1fr 1fr; gap:10px; }
}
@media (max-width: 380px) {
  .home-tiles-grid { grid-template-columns:1fr; }
}

/* ── HOME: fill screen, bigger icons ─── */
.home-tiles-wrap {
  overflow: hidden !important;
  padding: 20px 28px 16px !important;
  gap: 14px !important;
  flex: 1;
  min-height: 0;
}
.home-tiles-grid {
  grid-auto-rows: 1fr;
  min-height: 0;
}
.home-tile {
  padding: 18px 18px 14px !important;
  gap: 8px !important;
}
/* bigger tile icons */
.home-tile-icon svg {
  width: 56px !important;
  height: 56px !important;
}
@media (max-width: 900px) {
  .home-tiles-wrap { overflow-y: auto !important; }
  .home-tiles-grid { grid-auto-rows: auto; }
}
@media (max-width: 580px) {
  .home-tiles-wrap { padding: 14px !important; gap: 10px !important; overflow-y: auto !important; }
  .home-tile-icon svg { width: 44px !important; height: 44px !important; }
}

/* ── MOBILE FIX: kafelki nigdy nie nachodzą ── */
@media (max-width: 768px) {
  .home-tiles-wrap {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
    padding: 14px 12px 80px 12px !important;
    gap: 10px !important;
    flex: 1 !important;
  }
  .home-tiles-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: auto !important;
    gap: 10px !important;
    min-height: unset !important;
    overflow: visible !important;
  }
  .home-tile {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 110px !important;
    box-sizing: border-box !important;
  }
  .home-tile-wide {
    grid-column: span 2 !important;
    flex-direction: column !important;
  }
  #m0 {
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .home-usage-bar {
    flex-direction: column !important;
  }
}

@media (max-width: 380px) {
  .home-tiles-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ── FAB popup menu ─────────────────── */
.fab-menu-popup {
  position:absolute;
  bottom:calc(100% + 10px);
  right:0;
  background:#0f1b2d;
  border:1px solid rgba(0,180,255,.22);
  border-radius:12px;
  padding:6px;
  display:none;
  flex-direction:column;
  gap:2px;
  min-width:175px;
  box-shadow:0 8px 32px rgba(0,0,0,.55);
  z-index:200;
}
.fab-menu-popup.open { display:flex; }
.fab-menu-item {
  display:flex; align-items:center; gap:9px;
  padding:9px 12px;
  border-radius:8px;
  font-size:12px; font-weight:500;
  color:rgba(200,225,255,.85);
  cursor:pointer;
  transition:background .15s;
}
.fab-menu-item:hover { background:rgba(0,180,255,.12); color:#00b4ff; }

/* ── HOME USAGE COUNTER ─────────────── */
.home-usage-bar {
  display:flex; gap:12px; flex-wrap:wrap;
  flex-shrink:0;
}
.home-usage-card {
  flex:1; min-width:200px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  padding:14px 16px;
  display:flex; align-items:center; gap:12px;
  position:relative;
  overflow:hidden;
}
.home-usage-card::before {
  content:'';
  position:absolute; inset:0;
  border-radius:14px;
  background:radial-gradient(ellipse 80% 60% at 0% 0%, rgba(0,180,255,.05) 0%, transparent 70%);
  pointer-events:none;
}
.huc-icon {
  width:36px; height:36px; border-radius:10px;
  background:rgba(0,180,255,.12);
  border:1px solid rgba(0,180,255,.2);
  display:flex; align-items:center; justify-content:center;
  color:#00b4ff; flex-shrink:0;
}
.huc-icon-purple { background:rgba(37,99,235,.18); border-color:rgba(37,99,235,.35); color:#3b82f6; }
.huc-icon-gold   { background:rgba(251,191,36,.1);  border-color:rgba(251,191,36,.2);  color:#fbbf24; }
.huc-body { flex:1; min-width:0; }
.huc-label { font-size:10px; font-weight:600; letter-spacing:.06em; color:rgba(148,178,220,.55); text-transform:uppercase; margin-bottom:3px; }
.huc-nums  { display:flex; align-items:baseline; gap:3px; margin-bottom:5px; }
.huc-used  { font-size:22px; font-weight:800; color:#e8f2ff; font-family:var(--fm,monospace); letter-spacing:-.03em; }
.huc-sep   { font-size:14px; color:rgba(148,178,220,.4); }
.huc-total { font-size:13px; color:rgba(148,178,220,.5); }
.huc-track { height:4px; background:rgba(255,255,255,.07); border-radius:4px; overflow:hidden; }
.huc-fill  { height:100%; border-radius:4px; transition:width .6s cubic-bezier(.4,0,.2,1); }
.huc-fill-blue   { background:linear-gradient(90deg,#0ea5e9,#00b4ff); }
.huc-fill-purple { background:linear-gradient(90deg,#1d4ed8,#38bdf8); }
.huc-plan { font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:rgba(0,180,255,.12); color:#38bdf8; border:1px solid rgba(56,189,248,.2); border-radius:6px; padding:3px 7px; flex-shrink:0; }
.huc-refresh { color:rgba(148,178,220,.4); cursor:pointer; flex-shrink:0; padding:4px; border-radius:6px; transition:color .15s; }
.huc-refresh:hover { color:#00b4ff; }
.huc-saas-hint { border-color:rgba(251,191,36,.12); }
.huc-saas-hint::before { background:radial-gradient(ellipse 80% 60% at 0% 0%, rgba(251,191,36,.06) 0%, transparent 70%); }
.huc-cta {
  font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  background:rgba(251,191,36,.1); color:#fbbf24; border:1px solid rgba(251,191,36,.2);
  border-radius:8px; padding:6px 10px; cursor:pointer; flex-shrink:0;
  transition:background .15s;
  white-space:nowrap;
}
.huc-cta:hover { background:rgba(251,191,36,.2); }
@media (max-width: 768px) {
  .home-usage-bar { gap:8px; }
  .home-usage-card { min-width:0; padding:10px 12px; }
  .huc-used { font-size:18px; }
  .huc-saas-hint { display:none; }
}

/* ── Nav logo image banner ─── */
.nav-logo-img-btn {
  display:flex; align-items:center; flex-shrink:0;
  background:none; border:none; cursor:pointer; padding:0;
  /* szerokość = sidebar - margin prawa nav */
  width: calc(var(--sb-w) - 8px);
  margin-right:8px;
  opacity:.92; transition:opacity .15s;
}
.nav-logo-img-btn:hover { opacity:1; }
.nav-logo-img {
  width:100%;
  height:var(--nav-h);
  object-fit:contain;
  object-position:left center;
  /* PNG ma kanał alpha — tło jest przezroczyste natywnie */
}
@media (max-width:768px) {
  .nav-logo-img-btn { width:auto; }
  .nav-logo-img { width:auto; height:34px; }
}

/* ── Email response variant cards ─── */
.em-resp-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap:10px;
}
.em-resp-card {
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  padding:14px 14px 12px;
  background:var(--rcb, rgba(255,255,255,.05));
  border:1.5px solid var(--rcbrd, rgba(255,255,255,.12));
  border-radius:14px;
  cursor:pointer;
  text-align:left;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  color:var(--rc, #fff);
  position:relative; overflow:hidden;
}
.em-resp-card::before {
  content:''; position:absolute; inset:0; border-radius:14px;
  background:radial-gradient(ellipse 80% 70% at 30% 0%, color-mix(in srgb, var(--rc, #fff) 12%, transparent) 0%, transparent 70%);
  pointer-events:none;
}
.em-resp-card:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.08);
  border-color:var(--rc, rgba(255,255,255,.25));
}
.em-resp-card-icon {
  width:42px; height:42px; border-radius:11px;
  border:1.5px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.em-resp-card-body { flex:1; }
.em-resp-card-name {
  font-size:13.5px; font-weight:700; color:#e8f2ff;
  letter-spacing:-.01em; margin-bottom:2px;
}
.em-resp-card-desc {
  font-size:11px; color:rgba(148,185,220,.6); line-height:1.4;
}
.em-resp-card-wide {
  grid-column: span 2;
  flex-direction:row; align-items:center; gap:14px;
}
.em-resp-card-wide .em-resp-card-body { flex:1; }
@media (max-width:600px) {
  .em-resp-grid { grid-template-columns:1fr 1fr; }
  .em-resp-card-wide { grid-column:span 2; }
}

/* ── Dziennik budowy ─── */
.journal-entry {
  background:rgba(245,158,11,.05);
  border:1px solid rgba(245,158,11,.18);
  border-radius:10px; padding:12px 14px;
  flex-shrink:0;
}
.journal-entry-hdr {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:8px;
}
.journal-date {
  font-size:11px; font-weight:700; color:rgba(245,158,11,.8);
  text-transform:uppercase; letter-spacing:.05em;
}
.journal-del {
  background:none; border:none; color:rgba(248,113,113,.5); cursor:pointer;
  font-size:12px; padding:2px 6px; border-radius:4px; transition:color .15s;
}
.journal-del:hover { color:#f87171; }
.journal-entry-body {
  font-size:12.5px; line-height:1.65; color:rgba(200,225,255,.8);
  max-height:120px; overflow-y:auto;
}

/* ── Camera landscape fix ─── */
@media (max-height: 500px) and (orientation: landscape) {
  #camera-modal { flex-direction:row !important; align-items:center !important; padding:12px !important; gap:16px !important; }
  #camera-video { max-width:65vw !important; max-height:90vh !important; }
  #camera-btns { flex-direction:column !important; gap:8px !important; }
  #camera-btns button { padding:10px 20px !important; font-size:14px !important; }
}

/* GPS toggle slider */
.gps-slider {
  display: inline-block;
  width: 38px; height: 20px;
  background: rgba(255,255,255,.12);
  border-radius: 10px;
  position: relative;
  transition: background .2s;
  flex-shrink: 0;
}
.gps-slider::after {
  content: '';
  position: absolute;
  top: 2px; left: 2px;
  width: 16px; height: 16px;
  background: #fff;
  border-radius: 50%;
  transition: transform .2s;
}
#gps-enabled:checked ~ .gps-slider,
#gps-enabled:checked + .gps-slider {
  background: #0284c7;
}
#gps-enabled:checked ~ .gps-slider::after,
#gps-enabled:checked + .gps-slider::after {
  transform: translateX(18px);
}

/* ── Journal thumbnails ─── */
.journal-thumb {
  width:60px; height:60px;
  object-fit:cover;
  border-radius:7px;
  border:1px solid rgba(255,255,255,.1);
  flex-shrink:0;
}
.journal-thumb-placeholder {
  width:60px; height:60px;
  background:rgba(255,255,255,.04);
  border-radius:7px;
  border:1px dashed rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:center;
  font-size:22px;
  flex-shrink:0;
}
.journal-entry-meta { flex:1; min-width:0; }
.journal-manual-badge, .journal-ai-badge {
  font-size:10px; padding:1px 6px; border-radius:4px; margin-left:5px;
}
.journal-manual-badge { background:rgba(37,99,235,.15); color:#7dd3fc; }
.journal-ai-badge     { background:rgba(29,78,216,.15); color:#93c5fd; }
.journal-loc { display:block; font-size:10px; color:rgba(148,163,184,.6); margin-top:2px; }
.journal-preview { font-size:12px; color:rgba(200,220,255,.65); margin:4px 0 0; line-height:1.5; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; }

/* ── Dziennik budowy — wpisy z miniaturami ── */
.j-entry {
  background: var(--bg2, rgba(10,20,42,.7));
  border: 1px solid var(--brd, rgba(56,189,248,.12));
  border-radius: 10px;
  padding: 10px 12px;
  transition: border-color .15s;
}
.j-entry:hover { border-color: rgba(0,180,255,.28); }
.j-entry-row   { display: flex; align-items: flex-start; gap: 10px; }
.j-thumb {
  width: 60px; height: 60px;
  object-fit: cover;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.1);
  flex-shrink: 0;
}
.j-thumb-ph {
  width: 60px; height: 60px;
  background: rgba(255,255,255,.04);
  border-radius: 7px;
  border: 1px dashed rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; flex-shrink: 0;
}
.j-entry-body { flex: 1; min-width: 0; }
.j-date {
  font-size: 11px; font-weight: 700;
  color: rgba(125,211,252,.75);
  text-transform: uppercase; letter-spacing: .04em;
}
.j-badge {
  font-size: 10px; padding: 1px 5px; border-radius: 4px; margin-left: 5px;
  vertical-align: middle;
}
.j-badge-m { background: rgba(37,99,235,.2);  color: #7dd3fc; }
.j-badge-a { background: rgba(29,78,216,.2); color: #93c5fd; }
.j-loc {
  display: block; font-size: 10px;
  color: rgba(148,163,184,.55); margin-top: 2px;
}
.j-preview {
  font-size: 12px; color: rgba(200,220,255,.6);
  margin: 4px 0 0; line-height: 1.5;
  overflow: hidden; text-overflow: ellipsis;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.j-del {
  background: none; border: none; color: rgba(248,113,113,.55);
  cursor: pointer; font-size: 16px; line-height: 1;
  padding: 2px 4px; flex-shrink: 0; align-self: flex-start;
  transition: color .15s;
}
.j-del:hover { color: #f87171; }



/* DARK */
[data-theme="dark"]{--bg:#07101f;--bg2:#0a1628;--bg3:#0d1e36;--bg4:#172d4b;--text:#dce8f8;--text2:#9bb8d8;--text3:#6a90b4;--brd:rgba(56,189,248,.13);--brd2:rgba(56,189,248,.25);--s1:#0d1e36;--s2:#172d4b;--s3:#0a1628;--primary:#38bdf8;--acc:#38bdf8;--card-bg:rgba(13,22,44,0.78);color-scheme:dark}

/* ============================================================
   LIGHT — tryb dzienny, ciemny granatowy nav, slate tekst
   Kontrast #0f172a na #f5f7fa ≈ 19:1 ✓ WCAG AAA
   Nav #1e3a5f — biały tekst na granatowym pasku
   ============================================================ */
[data-theme="light"]{
  /* Tła */
  --bg:#f5f0e8;
  --bg2:#ffffff;
  --bg3:#ede6d8;
  --bg4:#e0d8cc;
  /* Tekst */
  --text:#1c1917;
  --text1:#1e293b;
  --text2:#44403c;
  --text3:#6b6560;
  --dim:#44403c;
  --muted:#6b6560;
  /* Bordery */
  --brd:rgba(0,0,0,0.12);
  --brd2:rgba(0,0,0,0.2);
  --line:rgba(0,0,0,.06);
  --line2:rgba(0,0,0,.12);
  /* Tła sekcji */
  --s1:#ede8df;
  --s2:#e0d8cc;
  --s3:#ede8df;
  /* Akcent */
  --acc:#2563eb;
  --primary:#2563eb;
  --primary-hover:#1d4ed8;
  --blue:#2563eb;
  --blue2:#3b82f6;
  /* Karty */
  --card-bg:#ffffff;
  /* Nav — granatowy pasek */
  --nav-bg:#1e3a5f;
  --nav-brd:#162d4a;
  --nav-shadow:0 2px 8px rgba(0,0,0,.18);
  --nav-tab-c:rgba(255,255,255,.75);
  --nav-tab-hover:#ffffff;
  /* Sidebar */
  --sb-shadow:none;
  color-scheme:light
}
/* --- LIGHT: bazowe --- */
[data-theme="light"] body{background:#f5f0e8;color:#1c1917}
[data-theme="light"] #app{background:#f5f0e8}
[data-theme="light"] html,
[data-theme="light"] body,
[data-theme="light"] #app,
[data-theme="light"] .app-body,
[data-theme="light"] .content-area,
[data-theme="light"] .main-content,
[data-theme="light"] .module-wrap,
[data-theme="light"] .page-content{background:#f5f0e8!important;color:#1c1917!important}

/* --- Nawigacja górna — granatowy pasek --- */
[data-theme="light"] .topnav{background:#1e3a5f!important;border-bottom:1px solid #162d4a!important;box-shadow:0 2px 8px rgba(0,0,0,.18)!important}
[data-theme="light"] .nav-tab{color:rgba(255,255,255,.75)!important;font-weight:500}
[data-theme="light"] .nav-tab:hover{color:#ffffff!important;background:rgba(255,255,255,.08)!important}
[data-theme="light"] .nav-tab.active{color:#ffffff!important;border-bottom-color:#60a5fa!important;font-weight:600}
[data-theme="light"] .nav-more-btn{color:rgba(255,255,255,.7)!important}
[data-theme="light"] .nav-more-dropdown{background:#ffffff!important;border:1px solid rgba(0,0,0,.12)!important;box-shadow:0 8px 24px rgba(0,0,0,.14)!important}
[data-theme="light"] .nav-more-item{color:#44403c!important}
[data-theme="light"] .nav-more-item:hover{background:rgba(37,99,235,.07)!important;color:#1d4ed8!important}
[data-theme="light"] .nav-logout{color:rgba(255,255,255,.75)!important;border-color:rgba(255,255,255,.3)!important}
[data-theme="light"] .nav-logout:hover{color:#ffffff!important;border-color:rgba(255,255,255,.6)!important;background:rgba(255,255,255,.12)!important}
[data-theme="light"] .theme-toggle-btn{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.25)!important;color:#ffffff!important}
[data-theme="light"] .nav-hamburger{color:rgba(255,255,255,.8)!important}
/* Logo — widoczne na granatowym pasku */
[data-theme="light"] .nav-logo-img{filter:brightness(0) invert(1);opacity:.95}
[data-theme="light"] .nav-logo-img-btn:hover .nav-logo-img{opacity:1}

/* --- Token pill --- */
[data-theme="light"] .token-pill{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.22)!important}
[data-theme="light"] .token-label{color:rgba(255,255,255,.6)!important}
[data-theme="light"] .token-bar-wrap{background:rgba(255,255,255,.15)!important}
[data-theme="light"] .token-val{color:#1c1917!important;font-weight:600}
[data-theme="light"] .token-dot{background:#60a5fa!important}

/* --- Sidebar --- */
[data-theme="light"] .sidebar{background:#ede8df!important;border-right:1px solid rgba(0,0,0,.1)!important;box-shadow:none!important}
[data-theme="light"] .sb-title{color:#6b6560!important;font-weight:700;font-size:10px;letter-spacing:.08em}
[data-theme="light"] .sb-toggle{color:rgba(0,0,0,.3)!important}
[data-theme="light"] .sb-toggle:hover{color:#2563eb!important}
[data-theme="light"] .proj-item{color:#44403c!important;font-weight:500}
[data-theme="light"] .proj-item:hover{background:rgba(0,0,0,.05)!important;color:#1c1917!important}
[data-theme="light"] .proj-item.active-proj{background:rgba(37,99,235,.1)!important;border-color:rgba(37,99,235,.3)!important;color:#2563eb!important}
[data-theme="light"] .proj-badge{color:#2563eb!important;background:rgba(37,99,235,.1)!important;border-color:rgba(37,99,235,.2)!important}
[data-theme="light"] .sb-empty{color:#6b6560!important}
[data-theme="light"] .dzone{border-color:rgba(0,0,0,.18)!important;background:transparent!important}
[data-theme="light"] .dzone:hover,[data-theme="light"] .dzone.drag{border-color:#2563eb!important;background:rgba(37,99,235,.04)!important}
[data-theme="light"] .dzone p{color:#44403c!important}
[data-theme="light"] .dzone small{color:#6b6560!important}
[data-theme="light"] .cloud-btn{background:rgba(0,0,0,.03)!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .cloud-btn:hover{border-color:rgba(37,99,235,.4)!important;color:#2563eb!important}
[data-theme="light"] .fmt-chip{background:rgba(0,0,0,.04)!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .fitem{background:#ffffff!important;border-color:rgba(0,0,0,.1)!important;box-shadow:0 1px 2px rgba(0,0,0,.04)!important}
[data-theme="light"] .fitem:hover{border-color:rgba(37,99,235,.35)!important}
[data-theme="light"] .fitem-name{color:#1c1917!important}
[data-theme="light"] .fitem-meta{color:#6b6560!important}
[data-theme="light"] .fitem-del{color:#78716c!important}

/* --- LIGHT: Sidebar nav (sbnav) --- */
[data-theme="light"] .sbnav-sec{color:#6b6560!important;font-size:10px;font-weight:700;letter-spacing:.08em}
[data-theme="light"] .sbnav-item{color:rgba(30,41,59,.6)!important}
[data-theme="light"] .sbnav-item:hover{background:rgba(37,99,235,.07)!important;color:#1e293b!important}
[data-theme="light"] .sbnav-item.active{background:rgba(37,99,235,.1)!important;color:#2563eb!important;font-weight:600}
[data-theme="light"] .sbnav-item.active::before{background:#2563eb!important;opacity:1}
[data-theme="light"] .sbnav-sep{border-color:rgba(0,0,0,.1)!important}
/* --- LIGHT: Pliki w analizie --- */
[data-theme="light"] .sbnav-analysis{border-top-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .sbnav-afile-name{color:rgba(30,41,59,.75)!important}
[data-theme="light"] .sbnav-afile-icon{opacity:.7}

/* --- Przyciski --- */
[data-theme="light"] .btn-primary{background:#2563eb!important;border-color:#2563eb!important;color:#ffffff!important;font-weight:600}
[data-theme="light"] .btn-primary:hover{background:#1d4ed8!important;border-color:#1d4ed8!important}
[data-theme="light"] .btn-secondary{background:#ffffff!important;border-color:rgba(0,0,0,.15)!important;color:#44403c!important;font-weight:500}
[data-theme="light"] .btn-secondary:hover{background:#ede6d8!important;border-color:rgba(0,0,0,.22)!important;color:#1c1917!important}
[data-theme="light"] .send-btn{background:#2563eb!important;border-color:#2563eb!important;color:#ffffff!important;font-weight:600}
[data-theme="light"] .send-btn:hover{background:#1d4ed8!important;border-color:#1d4ed8!important;box-shadow:0 4px 16px rgba(37,99,235,.35)!important}
[data-theme="light"] .action-btn{background:#ede6d8!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important;font-weight:500}
[data-theme="light"] .action-btn:hover{background:rgba(37,99,235,.08)!important;border-color:rgba(37,99,235,.3)!important;color:#2563eb!important}

/* --- Panel główny i moduły --- */
[data-theme="light"] .main-panel{background:#f5f0e8!important}
[data-theme="light"] .module,[data-theme="light"] .glass-card{background:#ffffff!important;border-color:rgba(0,0,0,.1)!important;box-shadow:0 2px 8px rgba(0,0,0,.07)!important;backdrop-filter:none!important}
[data-theme="light"] .module:hover{border-color:rgba(37,99,235,.3)!important;box-shadow:0 4px 16px rgba(0,0,0,.1)!important}
[data-theme="light"] .mod-hdr{background:#ede8df!important;border-bottom:1px solid rgba(0,0,0,.1)!important}
[data-theme="light"] .mod-hdr h2{color:#1c1917!important;font-weight:700}
[data-theme="light"] .mod-hdr p{color:#44403c!important}
[data-theme="light"] .sub-tabs{background:#e0d8cc!important;border-bottom:1px solid rgba(0,0,0,.1)!important}
[data-theme="light"] .sub-tab{color:#44403c!important;border-color:rgba(0,0,0,.12)!important;background:#ffffff!important;font-weight:500}
[data-theme="light"] .sub-tab.active{background:#ffffff!important;border-color:rgba(37,99,235,.4)!important;color:#2563eb!important;font-weight:600}
[data-theme="light"] .sub-tab:hover:not(.active){border-color:rgba(0,0,0,.2)!important;color:#1c1917!important}

/* --- Formularze --- */
[data-theme="light"] select,[data-theme="light"] input[type="text"],[data-theme="light"] input[type="email"],[data-theme="light"] input[type="password"],[data-theme="light"] input[type="number"]{background:#ffffff;border-color:rgba(0,0,0,.15);color:#1c1917}
[data-theme="light"] select:focus,[data-theme="light"] input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14)}
[data-theme="light"] textarea{background:#ffffff!important;border-color:rgba(0,0,0,.15)!important;color:#1c1917!important}
[data-theme="light"] textarea:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.14)!important}

/* --- Chat --- */
[data-theme="light"] .chat-area{background:#f5f0e8!important}
[data-theme="light"] .chat-input-area{background:#ede8df!important;border-top:1px solid rgba(0,0,0,.1)!important}
[data-theme="light"] .chat-bottom-bar{background:#e0d8cc!important;border-top:1px solid rgba(0,0,0,.1)!important}
[data-theme="light"] .chat-inp,[data-theme="light"] #chat-input{background:#ffffff!important;border-color:rgba(0,0,0,.15)!important;color:#1c1917!important}
[data-theme="light"] .chat-inp:focus,[data-theme="light"] #chat-input:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.14)!important}
[data-theme="light"] .chat-ta,[data-theme="light"] .chat-ta-sm{background:#ffffff!important;border-color:rgba(0,0,0,.15)!important;color:#1c1917!important}
[data-theme="light"] .chat-msg.assistant .msg-bubble{background:#ffffff!important;border-color:rgba(0,0,0,.1)!important;color:#1c1917!important}
[data-theme="light"] .chat-msg.user .msg-bubble{background:rgba(37,99,235,.08)!important;border-color:rgba(37,99,235,.2)!important;color:#1c1917!important}
[data-theme="light"] .msg-body{background:#ffffff!important;color:#1c1917!important;border-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .msg-ai{background:#ffffff!important;border-color:rgba(0,0,0,.1)!important;color:#1c1917!important}
[data-theme="light"] .msg-user{background:rgba(37,99,235,.08)!important;border-color:rgba(37,99,235,.2)!important;color:#1c1917!important}
[data-theme="light"] .msg-bubble h2,[data-theme="light"] .msg-body h2{color:#1c1917!important}
[data-theme="light"] .msg-bubble h3,[data-theme="light"] .msg-body h3{color:#1c1917!important}
[data-theme="light"] .msg-bubble th,[data-theme="light"] .msg-body th{background:rgba(37,99,235,.06)!important;color:#44403c!important;border-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .msg-bubble td,[data-theme="light"] .msg-body td{color:#1c1917!important;border-color:#e0d8cc!important}
[data-theme="light"] .msg-bubble tr:nth-child(even) td,[data-theme="light"] .msg-body tr:nth-child(even) td{background:#f5f0e8!important}
[data-theme="light"] .msg-bubble code,[data-theme="light"] .msg-body code{background:rgba(37,99,235,.07)!important;color:#1d4ed8!important}
[data-theme="light"] .quick-chip,[data-theme="light"] .quick-btn{background:#ffffff!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .quick-chip:hover,[data-theme="light"] .quick-btn:hover{border-color:rgba(37,99,235,.4)!important;color:#2563eb!important}

/* --- Wyniki i action bar --- */
[data-theme="light"] .result-box,[data-theme="light"] .result-area{background:#ffffff!important;color:#1c1917!important;border-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .result-block{background:#ffffff!important;border-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .result-title{color:#44403c!important;font-weight:600}
[data-theme="light"] .result-placeholder{color:#6b6560!important}
[data-theme="light"] .action-bar{background:#ffffff!important;border-color:rgba(0,0,0,.1)!important;box-shadow:0 1px 3px rgba(0,0,0,.06)!important}

/* --- Home tiles --- */
[data-theme="light"] .home-tile{background:#ffffff!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:0 1px 3px rgba(0,0,0,.06)!important}
[data-theme="light"] .home-tile:hover{border-color:rgba(37,99,235,.35)!important;box-shadow:0 4px 12px rgba(0,0,0,.1)!important}
[data-theme="light"] .home-tile-name{color:#1c1917!important;font-weight:600}
[data-theme="light"] .home-tile-desc{color:#44403c!important}

/* --- Tabs architektura / inne --- */
[data-theme="light"] .arch-tab{color:#44403c!important;border-color:rgba(0,0,0,.12)!important;background:#ffffff!important;font-weight:500}
[data-theme="light"] .arch-tab.active{color:#2563eb!important;border-color:rgba(37,99,235,.45)!important;background:rgba(37,99,235,.08)!important;font-weight:600}

/* --- Modalne, toasty --- */
[data-theme="light"] .url-modal-overlay{background:rgba(0,0,0,.35)!important}
[data-theme="light"] .url-modal-card,[data-theme="light"] .proj-modal-card{background:#ffffff!important;border:1px solid rgba(0,0,0,.12)!important;color:#1c1917!important;box-shadow:0 12px 40px rgba(0,0,0,.16)!important}
[data-theme="light"] .toast{background:#ffffff!important;border-color:rgba(0,0,0,.12)!important;color:#1c1917!important;box-shadow:0 4px 16px rgba(0,0,0,.1)!important}
[data-theme="light"] .toast.ok{background:#f0fdf4!important;border-color:rgba(22,163,74,.35)!important;color:#15803d!important}
[data-theme="light"] .toast.warn{background:#fffbeb!important;border-color:rgba(180,130,0,.35)!important;color:#a16207!important}
[data-theme="light"] .toast.err{background:#fff5f5!important;border-color:rgba(220,38,38,.35)!important;color:#dc2626!important}

/* --- Mobile --- */
[data-theme="light"] .mob-bottom-nav{background:#ffffff!important;border-top:1px solid rgba(0,0,0,.1)!important}
[data-theme="light"] .mob-bn-item{color:#6b6560!important}
[data-theme="light"] .mob-bn-item.active{color:#2563eb!important;font-weight:600}
[data-theme="light"] #sb-menu-popup{background:#ffffff!important;border-color:rgba(0,0,0,.12)!important;box-shadow:0 6px 20px rgba(0,0,0,.1)!important}
[data-theme="light"] .fab-menu-item{color:#44403c!important;font-weight:500}
[data-theme="light"] .fab-menu-item:hover{background:rgba(37,99,235,.07)!important;color:#2563eb!important}

/* --- FAB --- */
[data-theme="light"] .fab-sub-label{background:#ffffff!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .fab-doc{background:linear-gradient(135deg,#ffffff,#ede6d8)!important;border-color:rgba(37,99,235,.5)!important;animation:none!important;box-shadow:0 4px 16px rgba(0,0,0,.1)!important}
[data-theme="light"] .fab-doc svg{stroke:#2563eb!important}
[data-theme="light"] .fab-doc-txt{color:#2563eb!important}
[data-theme="light"] .fab-corner{border-color:rgba(37,99,235,.7)!important}
[data-theme="light"] .fab-scan{display:none!important}

/* --- Bento grid (strona główna) --- */
[data-theme="light"] .bento-card{background:#ffffff!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:0 1px 3px rgba(0,0,0,.06)!important}
[data-theme="light"] .bento-card:hover{border-color:rgba(37,99,235,.3)!important;box-shadow:0 4px 16px rgba(0,0,0,.1)!important}
[data-theme="light"] .bento-hdr{border-bottom-color:rgba(0,0,0,.08)!important}
[data-theme="light"] .bento-title{color:#1c1917!important;font-weight:600}
[data-theme="light"] .bento-sub{color:#6b6560!important}
[data-theme="light"] .bento-msg-ai{background:#ede8df!important;border-color:rgba(0,0,0,.1)!important;color:#1c1917!important}
[data-theme="light"] .bento-msg-who{color:#2563eb!important}
[data-theme="light"] .bento-chip{background:#ede8df!important;border-color:rgba(0,0,0,.1)!important;color:#44403c!important}
[data-theme="light"] .bento-chip:hover{border-color:rgba(37,99,235,.4)!important;color:#2563eb!important}
[data-theme="light"] .bento-open-btn{background:rgba(37,99,235,.1)!important;border-color:rgba(37,99,235,.35)!important;color:#2563eb!important;box-shadow:none!important}
[data-theme="light"] .bento-open-btn:hover{background:rgba(37,99,235,.18)!important}
[data-theme="light"] .bento-prow{background:#ede8df!important;border-color:rgba(0,0,0,.08)!important}
[data-theme="light"] .bento-prow-name{color:#1c1917!important}
[data-theme="light"] .bento-prow-date{color:#6b6560!important}
[data-theme="light"] .bento-prow-empty{color:#6b6560!important}
[data-theme="light"] .bento-new-proj{border-color:rgba(0,0,0,.15)!important;color:#6b6560!important}
[data-theme="light"] .bento-new-proj:hover{border-color:rgba(37,99,235,.4)!important;color:#2563eb!important}
[data-theme="light"] .bento-lrow-name{color:#44403c!important}
[data-theme="light"] .bento-bar-bg{background:#e0d8cc!important}
[data-theme="light"] .bento-warn{background:rgba(234,179,8,.07)!important;border-color:rgba(234,179,8,.25)!important}

/* --- Kolizje, skany --- */
[data-theme="light"] .col-zone{background:#ffffff!important;border-color:rgba(0,0,0,.18)!important}
[data-theme="light"] .col-zone:hover{border-color:rgba(37,99,235,.45)!important;background:rgba(37,99,235,.03)!important}
[data-theme="light"] .scan-opt-radio{color:#44403c!important}
[data-theme="light"] .scan-zone{background:rgba(237,232,223,.7)!important;border-color:rgba(0,0,0,.15)!important}
[data-theme="light"] .scan-zone:hover,[data-theme="light"] .scan-zone.drag{border-color:#2563eb!important;background:rgba(37,99,235,.05)!important}
[data-theme="light"] .scan-zone-title{color:#1c1917!important}
[data-theme="light"] .scan-zone-sub{color:#44403c!important}

/* --- Scrollbar --- */
[data-theme="light"] ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15)!important}
[data-theme="light"] ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25)!important}

/* --- Teksty, SVG, nagłówki, labele --- */
[data-theme="light"] .col-zone p,
[data-theme="light"] .col-zone small,
[data-theme="light"] .col-zone span,
[data-theme="light"] .dzone p,
[data-theme="light"] .dzone small,
[data-theme="light"] .mod-hdr p,
[data-theme="light"] .mod-hdr small,
[data-theme="light"] .sub-tab,
[data-theme="light"] .sub-tab:not(.active){color:#44403c!important}
[data-theme="light"] .col-zone svg,
[data-theme="light"] .dzone svg{opacity:1!important;color:#1e293b!important;stroke:#1e293b!important}
[data-theme="light"] .col-zone{border-color:rgba(0,0,0,.2)!important}
[data-theme="light"] .page-title,
[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3{color:#1c1917!important}
[data-theme="light"] label,
[data-theme="light"] .label,
[data-theme="light"] .field-field{color:#44403c!important}

/* ── Light mode: strefy wgrywania plików (col-zone, email-drop-zone, scan-zone) ── */
[data-theme="light"] .col-zone{background:#fff!important;border-color:rgba(0,0,0,.18)!important}
[data-theme="light"] .col-zone:hover{border-color:rgba(37,99,235,.45)!important;background:rgba(37,99,235,.03)!important}
[data-theme="light"] .col-lbl{color:#1c1917!important}
[data-theme="light"] .col-fn{color:#44403c!important}
[data-theme="light"] .col-formats{color:#6b6560!important}
[data-theme="light"] .col-ico{filter:none!important;opacity:.7}
[data-theme="light"] .col-zone p,[data-theme="light"] .col-zone small,[data-theme="light"] .col-zone span{color:#44403c!important}
[data-theme="light"] .col-zone svg{color:#44403c!important;stroke:#44403c!important;opacity:1!important}
[data-theme="light"] .email-drop-zone{background:#f5f0e8!important;border-color:rgba(0,0,0,.18)!important;color:#44403c!important}
[data-theme="light"] .email-drop-zone:hover,[data-theme="light"] .email-drop-zone.drag-over{border-color:#2563eb!important;background:rgba(37,99,235,.04)!important}
[data-theme="light"] .email-drop-zone *{color:#44403c!important}

/* ── Light mode: tryby analizy (clash-mode-btn) ── */
[data-theme="light"] .clash-mode-btn{background:#fff!important;border-color:rgba(0,0,0,.15)!important;color:#44403c!important}
[data-theme="light"] .clash-mode-btn:hover{background:#ede8df!important;border-color:rgba(37,99,235,.3)!important;color:#1c1917!important}
[data-theme="light"] .clash-mode-btn.active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;box-shadow:0 2px 8px rgba(37,99,235,.25)!important}
[data-theme="light"] .clash-mode-btn svg,[data-theme="light"] .clash-mode-btn span{color:inherit!important}

/* ── Light mode: podzakładki (sub-tab, sm-tab) ── */
[data-theme="light"] .sub-tabs{background:#ede8df!important;border-bottom-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .sub-tab{background:#fff!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .sub-tab.active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}
[data-theme="light"] .sub-tab:hover:not(.active){background:#ede8df!important;color:#1c1917!important}
[data-theme="light"] .sm-tabs{background:#ede8df!important;border-bottom-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .sm-tab{background:#fff!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .sm-tab-active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}
[data-theme="light"] .sm-tab:hover:not(.sm-tab-active){background:#ede8df!important;color:#1c1917!important}

/* ── Light mode: pola tekstowe email/miar ── */
[data-theme="light"] .email-ta,[data-theme="light"] .email-inp{background:#fff!important;border-color:rgba(0,0,0,.18)!important;color:#1c1917!important}
[data-theme="light"] .email-ta::placeholder,[data-theme="light"] .email-inp::placeholder{color:#78716c!important}
[data-theme="light"] .email-ta:focus,[data-theme="light"] .email-inp:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important}
[data-theme="light"] .email-results,[data-theme="light"] .email-empty{color:#44403c!important}
[data-theme="light"] .email-empty p{color:#6b6560!important}
[data-theme="light"] .btn-email-action{background:#fff!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .btn-email-action:hover{background:#ede8df!important;color:#1c1917!important;border-color:rgba(0,0,0,.2)!important}
[data-theme="light"] .btn-szablon{background:rgba(37,99,235,.08)!important;border-color:rgba(37,99,235,.25)!important;color:#2563eb!important}

/* ── Light mode: ustawienia (settings-card) ── */
[data-theme="light"] .settings-card{background:#fff!important;border-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .settings-card h3{color:#1c1917!important}
[data-theme="light"] .settings-card *{color:#44403c}
[data-theme="light"] .settings-row{border-bottom-color:rgba(0,0,0,.08)!important}
[data-theme="light"] .settings-row *{color:#44403c!important}

/* ── Light mode: nagłówki modułów ── */
[data-theme="light"] .mod-title,[data-theme="light"] .mod-desc,[data-theme="light"] .mod-header{color:#1c1917!important}
[data-theme="light"] .mod-desc{color:#44403c!important}
[data-theme="light"] .panel-hd{color:#1c1917!important}
[data-theme="light"] .panel-hd *{color:#44403c}

/* ── Light mode: rewizje ── */
[data-theme="light"] .rewizje-slot{background:#fff!important;border-color:rgba(0,0,0,.15)!important}
[data-theme="light"] .rewizje-slot:hover,[data-theme="light"] .rewizje-slot.drag{border-color:#2563eb!important;background:rgba(37,99,235,.04)!important}
[data-theme="light"] .rewizje-slot-title{color:#1c1917!important}
[data-theme="light"] .rewizje-slot-sub{color:#6b6560!important}
[data-theme="light"] .rewizje-arrow{color:#6b6560!important}
[data-theme="light"] .rewizje-ctx-input{background:#fff!important;border-color:rgba(0,0,0,.18)!important;color:#1c1917!important}
[data-theme="light"] .rewizje-ctx-input::placeholder{color:#78716c!important}
[data-theme="light"] .rewizje-run-btn{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}
[data-theme="light"] .rewizje-result{background:#fff!important;border-color:rgba(0,0,0,.1)!important;color:#1c1917!important}
[data-theme="light"] .rewizje-result-body{color:#1c1917!important}
[data-theme="light"] .rewizje-result-body *{color:#44403c}

/* ── Light mode: eksport ── */
[data-theme="light"] .export-btn{background:#fff!important;border-color:rgba(0,0,0,.15)!important;color:#44403c!important}
[data-theme="light"] .export-btn:hover{background:#ede8df!important;color:#1c1917!important}
[data-theme="light"] .export-dropdown{background:#fefcf8!important;border-color:rgba(0,0,0,.12)!important}
[data-theme="light"] .export-option{color:#44403c!important}
[data-theme="light"] .export-option:hover{background:#ede8df!important;color:#1c1917!important}

/* ── Light mode: info-grid, dcalc ── */
[data-theme="light"] .info-grid *,[data-theme="light"] .dcalc-panel-title{color:#1c1917!important}
[data-theme="light"] .dcalc-surface-alt{background:#ede8df!important;color:#1c1917!important}
[data-theme="light"] .miar-filter-chk{background:#ede8df!important;color:#44403c!important}
[data-theme="light"] .mod-input{background:#fff!important;border-color:rgba(0,0,0,.18)!important;color:#1c1917!important}

/* ── Light mode: full-chat, chat wbudowany ── */
[data-theme="light"] .full-chat{background:#fefcf8!important;border-color:rgba(0,0,0,.1)!important}
[data-theme="light"] .full-chat-hdr{background:#ede8df!important;border-bottom-color:rgba(0,0,0,.1)!important;color:#1c1917!important}
[data-theme="light"] .full-chat-title,[data-theme="light"] .full-chat-sub{color:#1c1917!important}
[data-theme="light"] .full-chat-icon{background:#e0d8cc!important}
[data-theme="light"] .chat-ta,[data-theme="light"] .full-chat-input-wrap{background:#fff!important;border-color:rgba(0,0,0,.15)!important;color:#1c1917!important}
[data-theme="light"] .msg-body,[data-theme="light"] .chat-msgs{background:transparent!important;color:#1c1917!important}
[data-theme="light"] .msg-bubble{background:#ede8df!important;color:#1c1917!important}
[data-theme="light"] .msg-bubble.ai{background:#fff!important;border-color:rgba(0,0,0,.1)!important;color:#1c1917!important}
[data-theme="light"] .msg-bubble *,[data-theme="light"] .msg-body *{color:#1c1917}
[data-theme="light"] .chat-empty{color:#6b6560!important}
[data-theme="light"] .send-btn{background:#2563eb!important;color:#fff!important}
[data-theme="light"] .chat-quick .quick-btn{background:#fff!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}

/* ── Light mode: przycisk Analizuj i inne CTA ── */
[data-theme="light"] .btn-secondary{background:#fff!important;border-color:rgba(0,0,0,.15)!important;color:#44403c!important}
[data-theme="light"] .btn-secondary:hover{background:#ede8df!important;color:#1c1917!important}
[data-theme="light"] [class*="run-btn"],[data-theme="light"] [class*="analyze-btn"],[data-theme="light"] [id*="clash-run"],[data-theme="light"] [id*="analyze"]{color:#fff!important}
[data-theme="light"] .rebar-count{color:#1c1917!important}
[data-theme="light"] .j-badge,[data-theme="light"] .j-badge-a,[data-theme="light"] .j-badge-m{color:#44403c!important}

/* ── Light mode: tabele (rb-table, arch-table, diff-table, msg-body) ─────── */
[data-theme="light"] .rb-table th,
[data-theme="light"] .arch-table th,
[data-theme="light"] .diff-table th,
[data-theme="light"] .msg-bubble th,
[data-theme="light"] .msg-body th{background:#e4ddd0!important;color:#1c1917!important;border-color:#c8bfb0!important}
[data-theme="light"] .rb-table td,
[data-theme="light"] .arch-table td,
[data-theme="light"] .diff-table td,
[data-theme="light"] .msg-bubble td,
[data-theme="light"] .msg-body td{color:#1c1917!important;border-color:#d6cfc0!important}
[data-theme="light"] .rb-table tr:nth-child(even) td,
[data-theme="light"] .arch-table tr:nth-child(even) td,
[data-theme="light"] .diff-table tr:nth-child(even) td{background:rgba(0,0,0,.03)!important}
[data-theme="light"] .rb-table tr:hover td,
[data-theme="light"] .arch-table tr:hover td{background:rgba(0,0,0,.05)!important}

/* ── Light mode: karty wyników, sekcje analizy ───────────────────────────── */
[data-theme="light"] .result-section,
[data-theme="light"] .clash-section,
[data-theme="light"] .analysis-block{background:#fefcf8!important;border-color:#d6cfc0!important;color:#1c1917!important}
[data-theme="light"] .result-section *,
[data-theme="light"] .clash-section *,
[data-theme="light"] .analysis-block *{color:#1c1917}
[data-theme="light"] .section-hdr,
[data-theme="light"] .mod-hdr,
[data-theme="light"] .panel-title{color:#1c1917!important}
[data-theme="light"] .section-hdr span,
[data-theme="light"] .mod-hdr span{color:#44403c!important}

/* ── Light mode: odznaki statusu (BRAK DANYCH, OK, BŁĄD) ────────────────── */
[data-theme="light"] .status-ok{background:#d1fae5!important;color:#065f46!important;border-color:#6ee7b7!important}
[data-theme="light"] .status-error,
[data-theme="light"] .status-brak{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important}
[data-theme="light"] .status-warn{background:#fef3c7!important;color:#92400e!important;border-color:#fcd34d!important}
[data-theme="light"] .badge-ok{background:#d1fae5!important;color:#065f46!important}
[data-theme="light"] .badge-error,
[data-theme="light"] .badge-brak{background:#fee2e2!important;color:#991b1b!important}
[data-theme="light"] .badge-warn{background:#fef3c7!important;color:#92400e!important}

/* ── Light mode: pola wejściowe, textarea ────────────────────────────────── */
[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select,
[data-theme="light"] .modal-input,
[data-theme="light"] .ai-toolbar-input{background:#fefcf8!important;color:#1c1917!important;border-color:#c8bfb0!important}
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder{color:#78716c!important}

/* ── Light mode: modal/dialog ────────────────────────────────────────────── */
[data-theme="light"] .modal-box,
[data-theme="light"] .proj-modal-card{background:#fefcf8!important;border-color:#c8bfb0!important;color:#1c1917!important}
[data-theme="light"] .modal-box *,
[data-theme="light"] .proj-modal-card *{color:#1c1917}

/* ── Light mode: loader / komunikaty statusu ─────────────────────────────── */
[data-theme="light"] .loader-text,
[data-theme="light"] .clash-loader-status,
[data-theme="light"] #clash-loader-status{color:#44403c!important}
[data-theme="light"] .warn-box,
[data-theme="light"] .info-box{background:#fef3c7!important;color:#78350f!important;border-color:#fcd34d!important}
[data-theme="light"] .err-box{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important}

/* ── Light mode: GLOBALNE NADPISANIE — żadnych pastelów w tabelach i raportach ── */
[data-theme="light"] table td,
[data-theme="light"] table th,
[data-theme="light"] td,
[data-theme="light"] th,
[data-theme="light"] .rb-table *,
[data-theme="light"] .arch-table *,
[data-theme="light"] .diff-table *,
[data-theme="light"] .rev-table *,
[data-theme="light"] .cmp-table *,
[data-theme="light"] [class*="result"] td,
[data-theme="light"] [class*="result"] th,
[data-theme="light"] [class*="report"] td,
[data-theme="light"] [class*="report"] th,
[data-theme="light"] .msg-body td,
[data-theme="light"] .msg-body th,
[data-theme="light"] .msg-bubble td,
[data-theme="light"] .msg-bubble th { color:#1c1917!important; }

/* ── DRUK: czarny tekst na białym tle — bez pastelów ── */
@media print {
  * { color:#000!important; background:#fff!important; -webkit-print-color-adjust:exact; }
  table,td,th { border-color:#999!important; }
  .topnav,.sidebar,.nav-logout,.theme-toggle-btn,
  .action-bar,.sub-tabs,.chat-input-area { display:none!important; }
  .module { box-shadow:none!important; border:1px solid #ccc!important; }
}

/* ============================================================
   OUTSITE — tryb plac budowy (ciemny, żółto-czarny)
   Kontrast #ffe066 na #1a1500 ≈ 14:1 ✓ WCAG AAA
   Akcent #ffd700 — złoty, widoczny w słońcu
   font-size: 17px (powiększone dla outdoor)
   ============================================================ */
[data-theme="outsite"]{
  --bg:#1a1500;
  --bg2:#2a2200;
  --bg3:#332b00;
  --bg4:#3d3300;
  --text:#ffe066;
  --text1:#ffd700;
  --text2:#ccaa00;
  --text3:#997700;
  --dim:#ccaa00;
  --muted:#997700;
  --brd:rgba(255,200,0,0.25);
  --brd2:rgba(255,200,0,0.45);
  --line:rgba(255,200,0,.12);
  --line2:rgba(255,200,0,.22);
  --s1:#241d00;
  --s2:#2e2500;
  --s3:#241d00;
  --acc:#ffd700;
  --primary:#ffd700;
  --primary-hover:#e6c200;
  --blue:#ffd700;
  --blue2:#ffe066;
  --teal:#ffd700;
  --card-bg:#2a2200;
  --nav-bg:#0d0b00;
  --nav-brd:#1a1500;
  --nav-shadow:none;
  --nav-tab-c:rgba(255,224,102,.75);
  --nav-tab-hover:#ffe066;
  --sb-shadow:none;
  --r:4px;
  color-scheme:dark
}
[data-theme="outsite"] *{text-shadow:none!important;box-shadow:none!important;backdrop-filter:none!important;animation:none!important;transition:background .1s,color .1s!important}
[data-theme="outsite"] body{background:#1a1500!important;color:#ffe066!important;font-size:17px}
[data-theme="outsite"] #app{background:#1a1500!important}
[data-theme="outsite"] html,
[data-theme="outsite"] body,
[data-theme="outsite"] #app,
[data-theme="outsite"] .app-body,
[data-theme="outsite"] .content-area,
[data-theme="outsite"] .main-content,
[data-theme="outsite"] .module-wrap,
[data-theme="outsite"] .page-content{background:#1a1500!important;color:#ffe066!important}

/* --- Nav --- */
[data-theme="outsite"] .topnav{background:#0d0b00!important;border-bottom:2px solid rgba(255,200,0,.25)!important;box-shadow:none!important}
[data-theme="outsite"] .nav-tab{color:rgba(255,224,102,.75)!important;font-size:15px;font-weight:600!important}
[data-theme="outsite"] .nav-tab:hover{color:#ffe066!important;background:rgba(255,200,0,.08)!important}
[data-theme="outsite"] .nav-tab.active{color:#ffd700!important;border-bottom-color:#ffd700!important;font-weight:800!important}
[data-theme="outsite"] .nav-more-btn{color:rgba(255,224,102,.75)!important;font-weight:700!important}
[data-theme="outsite"] .nav-more-dropdown{background:#2a2200!important;border:1px solid rgba(255,200,0,.35)!important}
[data-theme="outsite"] .nav-more-item{color:#ffe066!important;font-weight:600!important}
[data-theme="outsite"] .nav-more-item:hover{background:rgba(255,200,0,.12)!important;color:#ffd700!important}
[data-theme="outsite"] .nav-logout{color:rgba(255,224,102,.8)!important;border-color:rgba(255,200,0,.35)!important;font-weight:700!important}
[data-theme="outsite"] .nav-logout:hover{background:rgba(255,200,0,.12)!important;color:#ffd700!important}
[data-theme="outsite"] .theme-toggle-btn{background:rgba(255,200,0,.1)!important;border:1px solid rgba(255,200,0,.35)!important;color:#ffd700!important}
[data-theme="outsite"] .nav-hamburger{color:rgba(255,224,102,.8)!important}
/* Logo — widoczne na bardzo ciemnym pasku */
[data-theme="outsite"] .nav-logo-img{filter:brightness(0) saturate(100%) invert(87%) sepia(60%) saturate(400%) hue-rotate(5deg)!important;opacity:.95!important}

/* Token pill */
[data-theme="outsite"] .token-pill{background:rgba(255,200,0,.08)!important;border:1px solid rgba(255,200,0,.3)!important}
[data-theme="outsite"] .token-label{color:#997700!important;font-weight:700!important}
[data-theme="outsite"] .token-bar-wrap{background:rgba(255,200,0,.15)!important}
[data-theme="outsite"] .token-val{color:#ffd700!important;font-weight:800!important}
[data-theme="outsite"] .token-dot{background:#ffd700!important}

/* Sidebar */
[data-theme="outsite"] .sidebar{background:#241d00!important;border-right:1px solid rgba(255,200,0,.2)!important;box-shadow:none!important}
[data-theme="outsite"] .sb-title{color:#997700!important;font-weight:800!important;text-transform:uppercase;font-size:11px;letter-spacing:.06em}
[data-theme="outsite"] .sb-toggle{color:rgba(255,200,0,.4)!important}
[data-theme="outsite"] .sb-toggle:hover{color:#ffd700!important}
[data-theme="outsite"] .proj-item{color:#ccaa00!important;font-weight:600!important}
[data-theme="outsite"] .proj-item:hover{background:rgba(255,200,0,.08)!important;color:#ffe066!important}
[data-theme="outsite"] .proj-item.active-proj{background:rgba(255,200,0,.14)!important;border-color:rgba(255,200,0,.4)!important;color:#ffd700!important}
[data-theme="outsite"] .proj-badge{color:#ffd700!important;background:rgba(255,200,0,.1)!important;border:1px solid rgba(255,200,0,.35)!important;font-weight:700!important}
[data-theme="outsite"] .sb-empty{color:#997700!important;font-weight:600!important}
[data-theme="outsite"] .dzone{border:1px dashed rgba(255,200,0,.35)!important;background:rgba(255,200,0,.03)!important}
[data-theme="outsite"] .dzone p{color:#ccaa00!important;font-weight:600!important}
[data-theme="outsite"] .dzone small{color:#997700!important;font-weight:600!important}
[data-theme="outsite"] .dzone:hover,[data-theme="outsite"] .dzone.drag{border-color:#ffd700!important;background:rgba(255,200,0,.07)!important}
[data-theme="outsite"] .cloud-btn{background:rgba(255,200,0,.06)!important;border:1px solid rgba(255,200,0,.25)!important;color:#ccaa00!important;font-weight:700!important}
[data-theme="outsite"] .cloud-btn:hover{border-color:rgba(255,200,0,.5)!important;color:#ffd700!important}
[data-theme="outsite"] .fmt-chip{background:rgba(255,200,0,.07)!important;border:1px solid rgba(255,200,0,.2)!important;color:#ccaa00!important;font-weight:700!important}
[data-theme="outsite"] .fitem{background:#2a2200!important;border:1px solid rgba(255,200,0,.2)!important}
[data-theme="outsite"] .fitem-name{color:#ffe066!important;font-weight:700!important}
[data-theme="outsite"] .fitem-meta{color:#997700!important;font-weight:600!important}
[data-theme="outsite"] .fitem-del{color:rgba(255,200,0,.3)!important}

/* Buttons */
[data-theme="outsite"] .btn-primary{background:#ffd700!important;color:#1a1500!important;border:1px solid #e6c200!important;font-weight:800!important;font-size:15px}
[data-theme="outsite"] .btn-primary:hover{background:#e6c200!important;border-color:#ccaa00!important}
[data-theme="outsite"] .btn-secondary{background:rgba(255,200,0,.08)!important;border:1px solid rgba(255,200,0,.3)!important;color:#ffe066!important;font-weight:700!important}
[data-theme="outsite"] .btn-secondary:hover{background:rgba(255,200,0,.15)!important;border-color:rgba(255,200,0,.5)!important;color:#ffd700!important}
[data-theme="outsite"] .send-btn{background:#ffd700!important;color:#1a1500!important;border:1px solid #e6c200!important;font-weight:800!important}
[data-theme="outsite"] .send-btn:hover{background:#e6c200!important}
[data-theme="outsite"] .action-btn{background:rgba(255,200,0,.06)!important;border:1px solid rgba(255,200,0,.25)!important;color:#ccaa00!important;font-weight:700!important}
[data-theme="outsite"] .action-btn:hover{background:rgba(255,200,0,.14)!important;border-color:rgba(255,200,0,.45)!important;color:#ffd700!important}

/* Main area */
[data-theme="outsite"] .main-panel{background:#1a1500!important}
[data-theme="outsite"] .module,[data-theme="outsite"] .glass-card{background:#2a2200!important;border:1px solid rgba(255,200,0,.2)!important;box-shadow:none!important;backdrop-filter:none!important}
[data-theme="outsite"] .module:hover{border-color:rgba(255,200,0,.4)!important}
[data-theme="outsite"] .mod-hdr{background:#241d00!important;border-bottom:1px solid rgba(255,200,0,.18)!important}
[data-theme="outsite"] .mod-hdr h2{color:#ffd700!important;font-weight:800!important}
[data-theme="outsite"] .mod-hdr p{color:#ccaa00!important;font-weight:600!important}
[data-theme="outsite"] .sub-tabs{background:#241d00!important;border-bottom:1px solid rgba(255,200,0,.15)!important}
[data-theme="outsite"] .sub-tab{color:#ccaa00!important;border:1px solid rgba(255,200,0,.2)!important;background:#2a2200!important;font-weight:700!important}
[data-theme="outsite"] .sub-tab.active{background:rgba(255,200,0,.15)!important;color:#ffd700!important;border-color:rgba(255,200,0,.5)!important}
[data-theme="outsite"] .sub-tab:hover:not(.active){border-color:rgba(255,200,0,.35)!important;color:#ffe066!important}

/* Inputs */
[data-theme="outsite"] select,[data-theme="outsite"] input[type="text"],[data-theme="outsite"] input[type="email"],[data-theme="outsite"] input[type="password"],[data-theme="outsite"] input[type="number"]{background:#2a2200!important;border:1px solid rgba(255,200,0,.3)!important;color:#ffe066!important;font-weight:700;font-size:14px}
[data-theme="outsite"] select:focus,[data-theme="outsite"] input:focus{border-color:#ffd700!important;box-shadow:0 0 0 2px rgba(255,200,0,.2)!important}
[data-theme="outsite"] textarea{background:#2a2200!important;border:1px solid rgba(255,200,0,.3)!important;color:#ffe066!important;font-weight:600!important;font-size:14px!important}
[data-theme="outsite"] textarea:focus{border-color:#ffd700!important;box-shadow:0 0 0 2px rgba(255,200,0,.2)!important}

/* Chat */
[data-theme="outsite"] .chat-area{background:#1a1500!important}
[data-theme="outsite"] .chat-input-area{background:#241d00!important;border-top:1px solid rgba(255,200,0,.15)!important}
[data-theme="outsite"] .chat-bottom-bar{background:#2e2500!important;border-top:1px solid rgba(255,200,0,.15)!important}
[data-theme="outsite"] .chat-inp,[data-theme="outsite"] #chat-input{background:#2a2200!important;border:1px solid rgba(255,200,0,.3)!important;color:#ffe066!important;font-weight:600!important}
[data-theme="outsite"] .chat-inp:focus,[data-theme="outsite"] #chat-input:focus{border-color:#ffd700!important;box-shadow:0 0 0 2px rgba(255,200,0,.18)!important}
[data-theme="outsite"] .chat-ta,[data-theme="outsite"] .chat-ta-sm{background:#2a2200!important;border:1px solid rgba(255,200,0,.3)!important;color:#ffe066!important;font-weight:600!important}
[data-theme="outsite"] .chat-msg.assistant .msg-bubble{background:#332b00!important;border:1px solid rgba(255,200,0,.2)!important;color:#ffe066!important}
[data-theme="outsite"] .chat-msg.user .msg-bubble{background:rgba(255,200,0,.12)!important;border:1px solid rgba(255,200,0,.35)!important;color:#ffd700!important}
[data-theme="outsite"] .msg-bubble h2,[data-theme="outsite"] .msg-body h2{color:#ffd700!important}
[data-theme="outsite"] .msg-bubble th,[data-theme="outsite"] .msg-body th{background:rgba(255,200,0,.14)!important;color:#ffd700!important;border:1px solid rgba(255,200,0,.22)!important}
/* ═══════════════════════════════════════════════════════════════
   NEW DASHBOARD (m0) — v2  
   ═══════════════════════════════════════════════════════════════ */

/* Wrapper — scrollable column */
.dash-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px 24px 28px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

/* ── HERO ── */
.dash-hero {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.dash-hero-inner {
  flex: 1;
  min-width: 0;
}
.dash-brand-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.dash-brand-name {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
}
.dash-brand-name span { color: #38bdf8; }
.dash-brand-pill {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #38bdf8;
  background: rgba(56,189,248,.12);
  border: 1px solid rgba(56,189,248,.25);
  border-radius: 20px;
  padding: 2px 10px;
}
.dash-tagline {
  font-size: 13px;
  color: var(--text2, #9bb8d8);
  margin-bottom: 14px;
}

/* AI Command Bar */
.dash-cmd-wrap { margin-bottom: 14px; }
.dash-cmd-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(10,22,40,.7);
  border: 1px solid rgba(56,189,248,.2);
  border-radius: 12px;
  padding: 10px 14px;
  transition: border-color .2s, box-shadow .2s;
}
.dash-cmd-bar:focus-within {
  border-color: rgba(56,189,248,.5);
  box-shadow: 0 0 0 3px rgba(56,189,248,.08);
}
.dash-cmd-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: var(--fn);
  font-size: 13px;
  color: var(--text, #dce8f8);
  min-width: 0;
}
.dash-cmd-input::placeholder { color: rgba(150,190,255,.4); }
.dash-cmd-go {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0ea5e9, #6366f1);
  border: none;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  transition: opacity .15s;
}
.dash-cmd-go:hover { opacity: .85; }

/* Quick Actions */
.dash-qa-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.dash-qa-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: rgba(220,240,255,.8);
  font-family: var(--fn);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
  white-space: nowrap;
}
.dash-qa-btn:hover {
  background: rgba(56,189,248,.12);
  border-color: rgba(56,189,248,.3);
  color: #fff;
}
.dash-qa-primary {
  background: linear-gradient(135deg, rgba(14,165,233,.18), rgba(99,102,241,.18));
  border-color: rgba(56,189,248,.35);
  color: #7dd3fc;
  font-weight: 600;
}
.dash-qa-primary:hover {
  background: linear-gradient(135deg, rgba(14,165,233,.28), rgba(99,102,241,.28));
  border-color: rgba(56,189,248,.55);
  color: #38bdf8;
}

/* AI Insights Panel */
.dash-insights-panel {
  width: 240px;
  flex-shrink: 0;
  background: rgba(10,22,40,.6);
  border: 1px solid rgba(56,189,248,.15);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dash-ip-header {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #38bdf8;
  margin-bottom: 2px;
}
.dash-ip-list { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.dash-ip-item {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 11.5px;
  line-height: 1.4;
  color: rgba(220,240,255,.7);
}
.dip-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 4px;
}
.dash-ip-ok .dip-dot    { background: #34d399; }
.dash-ip-warn .dip-dot  { background: #fbbf24; }
.dash-ip-info .dip-dot  { background: #38bdf8; }
.dash-ip-err .dip-dot   { background: #f87171; }

.dash-ip-proj {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: rgba(150,190,255,.6);
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.dash-ip-proj-btn {
  margin-left: auto;
  background: rgba(56,189,248,.12);
  border: 1px solid rgba(56,189,248,.25);
  color: #38bdf8;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  cursor: pointer;
  white-space: nowrap;
}
.dash-ip-proj-btn:hover { background: rgba(56,189,248,.22); }

/* ── Section header ── */
.dash-section { }
.dash-section-hd {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 12px;
}
.dash-section-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(150,190,255,.45);
}
.dash-section-sub {
  font-size: 11px;
  color: rgba(150,190,255,.3);
}

/* ── Module Cards Grid ── */
.dash-modules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
}

.dash-mod-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  background: rgba(10,22,40,.55);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  cursor: pointer;
  transition: background .18s, border-color .18s, transform .15s, box-shadow .18s;
  overflow: hidden;
}
.dash-mod-card:hover {
  background: color-mix(in srgb, var(--mc, #38bdf8) 7%, rgba(10,22,40,.7));
  border-color: color-mix(in srgb, var(--mc, #38bdf8) 45%, transparent);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px color-mix(in srgb, var(--mc, #38bdf8) 15%, transparent);
}

/* ── dmc-glow — kolorowa kreska na górze karty ── */
.dmc-glow {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2.5px;
  background: linear-gradient(90deg, var(--mc, #38bdf8), var(--mc2, #6366f1));
  border-radius: 12px 12px 0 0;
  opacity: .55;
  transition: opacity .2s;
}
.dash-mod-card:hover .dmc-glow { opacity: 1; }

/* ── dmc-icon — kolorowe tło ikony ── */
.dmc-icon {
  width: 42px; height: 42px;
  border-radius: 10px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc, #38bdf8) 22%, rgba(10,22,40,.8)),
    color-mix(in srgb, var(--mc2, #6366f1) 18%, rgba(10,22,40,.8)));
  border: 1px solid color-mix(in srgb, var(--mc, #38bdf8) 28%, transparent);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background .18s, border-color .18s, box-shadow .18s;
}
.dash-mod-card:hover .dmc-icon {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--mc, #38bdf8) 35%, rgba(10,22,40,.7)),
    color-mix(in srgb, var(--mc2, #6366f1) 28%, rgba(10,22,40,.7)));
  border-color: color-mix(in srgb, var(--mc, #38bdf8) 55%, transparent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--mc, #38bdf8) 30%, transparent);
}

/* ── dmc-body / dmc-name / dmc-desc ── */
.dmc-body { flex: 1; min-width: 0; }
.dmc-name {
  font-size: 13px; font-weight: 600;
  color: rgba(220,240,255,.9);
  margin-bottom: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dmc-desc {
  font-size: 11px;
  color: rgba(150,190,255,.55);
  line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* ── dmc-arr — strzałka ── */
.dmc-arr {
  color: rgba(150,190,255,.18);
  flex-shrink: 0;
  transition: opacity .15s, transform .15s, color .15s;
}
.dash-mod-card:hover .dmc-arr {
  color: color-mix(in srgb, var(--mc, #38bdf8) 70%, rgba(255,255,255,.5));
  transform: translateX(3px);
}

/* ── Bottom Row ── */
.dash-bottom-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.dash-activity-panel {
  flex: 1;
  min-width: 0;
}
.dash-usage-panel {
  width: 280px;
  flex-shrink: 0;
}
.dash-activity-list { display: flex; flex-direction: column; gap: 6px; }
.dash-act-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 24px 16px;
  background: rgba(10,22,40,.4);
  border: 1px dashed rgba(255,255,255,.08);
  border-radius: 12px;
  font-size: 12px;
  color: rgba(150,190,255,.35);
  text-align: center;
  line-height: 1.5;
}
.dash-act-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  background: rgba(10,22,40,.5);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px;
  font-size: 12px;
  color: rgba(220,240,255,.7);
  cursor: pointer;
  transition: background .15s;
}
.dash-act-item:hover { background: rgba(56,189,248,.08); }
.dash-act-dot {
  width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0;
}
.dash-act-time { font-size: 10px; color: rgba(150,190,255,.35); margin-left: auto; white-space: nowrap; }

/* nav-more separator */
.nav-more-sep {
  height: 1px;
  background: rgba(255,255,255,.08);
  margin: 4px 8px;
}

/* ── LIGHT: Dashboard (m0) ── */
[data-theme="light"] .dash-brand-name{color:#1e293b!important}
[data-theme="light"] .dash-brand-name span{color:#2563eb!important}
[data-theme="light"] .dash-brand-pill{color:#2563eb!important;background:rgba(37,99,235,.1)!important;border-color:rgba(37,99,235,.25)!important}
[data-theme="light"] .dash-tagline{color:#44403c!important}
[data-theme="light"] .dash-cmd-bar{background:#ffffff!important;border-color:rgba(0,0,0,.15)!important;box-shadow:0 1px 4px rgba(0,0,0,.07)!important}
[data-theme="light"] .dash-cmd-bar:focus-within{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important}
[data-theme="light"] .dash-cmd-input{color:#1c1917!important}
[data-theme="light"] .dash-cmd-input::placeholder{color:rgba(0,0,0,.35)!important}
[data-theme="light"] .dash-cmd-go{background:#2563eb!important}
[data-theme="light"] .dash-qa-btn{background:#ffffff!important;border-color:rgba(0,0,0,.12)!important;color:#44403c!important}
[data-theme="light"] .dash-qa-btn:hover{border-color:rgba(37,99,235,.35)!important;color:#2563eb!important}
[data-theme="light"] .dash-qa-primary{background:rgba(37,99,235,.08)!important;border-color:rgba(37,99,235,.25)!important;color:#2563eb!important}
[data-theme="light"] .dash-mod-card{background:#ffffff!important;border-color:rgba(0,0,0,.09)!important;box-shadow:0 1px 6px rgba(0,0,0,.07)!important}
[data-theme="light"] .dash-mod-card:hover{background:color-mix(in srgb,var(--mc,#2563eb) 6%,#fff)!important;border-color:color-mix(in srgb,var(--mc,#2563eb) 40%,transparent)!important;box-shadow:0 4px 16px color-mix(in srgb,var(--mc,#2563eb) 18%,transparent)!important}
[data-theme="light"] .dmc-name{color:#1e293b!important}
[data-theme="light"] .dmc-desc{color:#64748b!important}
[data-theme="light"] .dmc-arr{color:rgba(0,0,0,.18)!important}
[data-theme="light"] .dmc-icon{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--mc,#2563eb) 14%,#f8faff),
    color-mix(in srgb,var(--mc2,#6366f1) 10%,#f0f4ff))!important;
  border-color:color-mix(in srgb,var(--mc,#2563eb) 22%,transparent)!important;
}
[data-theme="light"] .dmc-icon svg { stroke: color-mix(in srgb,var(--mc,#2563eb) 80%,#000) !important; }
[data-theme="light"] .dash-mod-card:hover .dmc-icon{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--mc,#2563eb) 22%,#f0f6ff),
    color-mix(in srgb,var(--mc2,#6366f1) 18%,#eef2ff))!important;
  border-color:color-mix(in srgb,var(--mc,#2563eb) 45%,transparent)!important;
}
[data-theme="light"] .dmc-glow{opacity:.45}
[data-theme="light"] .dash-mod-card:hover .dmc-glow{opacity:.8}
[data-theme="light"] .dash-mod-card:hover .dmc-arr{color:color-mix(in srgb,var(--mc,#2563eb) 80%,transparent)!important}
[data-theme="light"] .dash-insights-panel{background:#ffffff!important;border-color:rgba(0,0,0,.1)!important;box-shadow:0 1px 4px rgba(0,0,0,.06)!important}
[data-theme="light"] .dash-ip-header{color:#2563eb!important}
[data-theme="light"] .dash-ip-item{color:#44403c!important}
[data-theme="light"] .dash-ip-proj{color:#6b6560!important;border-top-color:rgba(0,0,0,.08)!important}
[data-theme="light"] .dash-ip-proj-btn{background:rgba(37,99,235,.1)!important;border-color:rgba(37,99,235,.25)!important;color:#2563eb!important}
[data-theme="light"] .dash-act-empty{background:rgba(0,0,0,.03)!important;border-color:rgba(0,0,0,.1)!important;color:#6b6560!important}
[data-theme="light"] .dash-act-item{background:#ffffff!important;border-color:rgba(0,0,0,.08)!important;color:#44403c!important}
[data-theme="light"] .dash-act-item:hover{background:rgba(37,99,235,.05)!important}
[data-theme="light"] .dash-act-time{color:#78716c!important}

/* ── Responsive ── */
@media (max-width: 900px) {
  .dash-hero { flex-direction: column; }
  .dash-insights-panel { width: 100%; }
  .dash-bottom-row { flex-direction: column; }
  .dash-usage-panel { width: 100%; }
  .dash-modules-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .dash-wrap { padding: 14px 14px 24px; gap: 16px; }
  .dash-modules-grid { grid-template-columns: 1fr; }
  .dash-qa-row { flex-wrap: wrap; }
  .dash-qa-btn { font-size: 11px; padding: 6px 10px; }
}

/* ════════════════════════════════════════════════
   D-LOG — moduł logistyki budowy
═══════════════════════════════════════════════════ */

/* Sub-tabs bar (used in D-Log) */
.sub-tabs-bar {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 10px;
  height: 40px;
  background: var(--bg2);
  border-bottom: 1px solid var(--brd);
  flex-shrink: 0;
}
.sub-tab {
  display: flex; align-items: center; gap: 6px;
  padding: 0 12px; height: 40px;
  background: none; border: none;
  border-bottom: 2px solid transparent;
  color: var(--text3); font-family: var(--fn);
  font-size: 12px; font-weight: 500;
  cursor: pointer; white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.sub-tab:hover { color: var(--text); }
.sub-tab.active { color: var(--primary); border-bottom-color: var(--primary); font-weight: 600; }

/* KPI chips in tab bar */
.dlog-kpi {
  font-family: var(--fm); font-size: 11px; font-weight: 700;
  padding: 3px 9px; border-radius: 12px; margin-left: 6px;
  background: rgba(56,189,248,.1); color: var(--primary);
  border: 1px solid rgba(56,189,248,.2);
}
.dlog-kpi-date {
  background: rgba(100,116,139,.12); color: var(--text3);
  border-color: rgba(100,116,139,.2);
}

/* Sub-panel body */
.dlog-body {
  flex: 1; overflow-y: auto;
  padding: 12px 14px;
  display: flex; flex-direction: column; gap: 12px;
}

/* Upload row: drop zone + manual card side by side */
.dlog-upload-row {
  display: flex; gap: 12px; align-items: flex-start;
}
.dlog-dz {
  flex: 1; min-width: 0;
  border: 1.5px dashed rgba(56,189,248,.2);
  border-radius: 10px; padding: 20px 16px;
  text-align: center; cursor: pointer;
  transition: all .2s;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.dlog-dz:hover, .dlog-dz.drag {
  border-color: var(--primary);
  background: rgba(56,189,248,.04);
}
.dlog-dz-title { font-size: 13px; font-weight: 600; color: var(--text); }
.dlog-dz-sub   { font-size: 11px; color: var(--text3); }
.dlog-dz-formats {
  display: flex; gap: 4px; justify-content: center; flex-wrap: wrap; margin-top: 4px;
}
.dlog-dz-formats span {
  font-size: 9px; font-weight: 700; font-family: var(--fm);
  padding: 2px 7px; border-radius: 3px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.35);
}

/* Manual input card */
.dlog-manual-card {
  width: 230px; flex-shrink: 0;
  background: var(--bg2); border: 1px solid var(--brd);
  border-radius: 10px; padding: 10px 12px;
  display: flex; flex-direction: column; gap: 5px;
}
.dlog-mc-title {
  font-size: 11px; font-weight: 700; color: var(--text2);
  margin-bottom: 4px; border-bottom: 1px solid var(--line);
  padding-bottom: 6px;
}
.dlog-mc-row {
  display: flex; flex-direction: column; gap: 2px;
}
.dlog-mc-row label {
  font-size: 9px; font-weight: 700; font-family: var(--fm);
  color: var(--text3); text-transform: uppercase; letter-spacing: .06em;
}
.dlog-mc-times {
  display: flex; gap: 6px;
}
.dlog-mc-times > div {
  flex: 1; display: flex; flex-direction: column; gap: 2px;
}

/* ── D-STAL: Zestawienie stali ── */
.stal-wrapper          { font-family: 'Courier New', monospace; font-size: 12px; background: #f5f5f0; }
.stal-header           { background: #1a2744; color: #fff; padding: 10px 16px; }
.stal-header-title     { font-size: 13px; font-weight: bold; }
.stal-header-meta      { font-size: 10px; color: #aac; margin-top: 3px; }
.stal-toolbar          { display:flex; gap:8px; padding:8px 12px; background:#e8e8e0; border-bottom:1px solid #ccc; flex-wrap:wrap; align-items:center; }
.btn-stal              { padding:5px 12px; border:none; cursor:pointer; font-size:11px; border-radius:2px; color:#fff; font-family:inherit; }
.btn-stal-copy         { background:#2d6a2d; }
.btn-stal-csv          { background:#1a2744; }
.btn-stal:hover        { opacity: 0.85; }
.stal-table-scroll     { overflow-x: auto; }
#stal-tabela           { width:100%; border-collapse:collapse; }
#stal-tabela thead tr  { background:#1a2744; color:#fff; }
#stal-tabela thead th  { padding:6px 8px; font-size:10px; font-weight:bold; border:1px solid #2a3a60; white-space:nowrap; text-align:center; }
#stal-tabela tbody td  { padding:4px 7px; border:1px solid #ddd; text-align:center; font-size:11px; color:#1a1a1a; }
#stal-tabela tbody tr:nth-child(even) { background:#f0f0e8; }
#stal-tabela tbody tr:hover           { background:#dde8ff; }
.stal-nr               { font-weight:bold; color:#1a2744; }
.stal-ksztalt          { text-align:left !important; }
.stal-uwagi            { text-align:left !important; font-size:9px; color:#666; max-width:180px; }
.stal-sekcja td        { background:#344878 !important; color:#fff; font-weight:bold; font-size:10px; text-align:left; padding:4px 8px; border-color:#456; }
.stal-sum-row td       { background:#2a3a60 !important; color:#fff; font-weight:bold; border-color:#3a4a70; }
.stal-sum-label        { text-align:left !important; padding-left:12px; }
.stal-razem-row td     { background:#0d1a33 !important; color:#ffdd44; font-weight:bold; border-color:#2a3a60; }
.stal-row-warn td      { background:#fff3cd; }
.stal-alert            { background:#f8d7da; color:#721c24; padding:8px 12px; font-size:11px; border-left:4px solid #f5c6cb; margin:4px 0; }
.stal-warn             { background:#fff3cd; color:#856404; padding:6px 12px; font-size:11px; border-left:4px solid #ffc107; margin:2px 0; }
.stal-footer           { padding:6px 12px; font-size:10px; color:#666; background:#f0f0e8; border-top:1px solid #ddd; }
.stal-loading          { padding:24px; text-align:center; color:#666; font-size:13px; }
.stal-error            { padding:12px; background:#f8d7da; color:#721c24; border-left:4px solid #f5c6cb; font-size:12px; margin:8px 0; }
.dlog-mc-times label {
  font-size: 9px; font-weight: 700; font-family: var(--fm);
  color: var(--text3); text-transform: uppercase; letter-spacing: .06em;
}
.dlog-inp {
  background: var(--bg3); border: 1px solid var(--brd);
  border-radius: 5px; padding: 4px 7px;
  font-family: var(--fn); font-size: 11px; color: var(--text);
  width: 100%; transition: border-color .15s;
}
.dlog-inp:focus { outline: none; border-color: var(--primary); }
.dlog-add-btn {
  margin-top: 6px; padding: 7px;
  background: rgba(56,189,248,.12); border: 1px solid rgba(56,189,248,.3);
  border-radius: 7px; color: var(--primary);
  font-family: var(--fn); font-size: 11px; font-weight: 700;
  cursor: pointer; transition: all .15s; width: 100%;
}
.dlog-add-btn:hover { background: rgba(56,189,248,.2); }

/* Table */
.dlog-table-wrap {
  background: var(--bg2); border: 1px solid var(--brd);
  border-radius: 10px; overflow: hidden;
}
.dlog-table-hdr {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-bottom: 1px solid var(--brd);
  background: var(--bg3);
}
.dlog-th-label { font-size: 11px; font-weight: 700; color: var(--text); flex: 1; }
.dlog-export-btn {
  font-size: 10px; font-weight: 700; font-family: var(--fn);
  padding: 4px 10px; border-radius: 5px; cursor: pointer;
  background: rgba(255,255,255,.05); border: 1px solid var(--brd);
  color: var(--text2); transition: all .15s;
}
.dlog-export-btn:hover { border-color: var(--primary); color: var(--primary); }
.dlog-tbl-scroll { overflow-x: auto; max-height: 340px; overflow-y: auto; }
.dlog-tbl {
  width: 100%; border-collapse: collapse;
  font-size: 11px; font-family: var(--fn);
  white-space: nowrap;
}
.dlog-tbl th {
  padding: 7px 10px; text-align: left;
  font-size: 9px; font-weight: 700; font-family: var(--fm);
  color: var(--text3); text-transform: uppercase; letter-spacing: .07em;
  background: var(--bg3); border-bottom: 1px solid var(--brd);
  position: sticky; top: 0;
}
.dlog-tbl td {
  padding: 6px 10px; border-bottom: 1px solid var(--line);
  color: var(--text2); transition: background .1s;
}
.dlog-tbl tbody tr:hover td { background: var(--line); }
.dlog-tbl td.ok   { color: var(--green); font-weight: 600; }
.dlog-tbl td.warn { color: var(--amber); font-weight: 600; }
.dlog-tbl td.hi   { color: var(--text);  font-weight: 600; }
.dlog-tbl td.num  { font-family: var(--fm); color: #60a5fa; }
.dlog-empty-row td { padding: 0; }
.dlog-empty {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 28px 0; color: var(--text3); font-size: 12px;
}

/* Zestawienie / raport panel */
.dlog-raport-head {
  display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap;
}
.dlog-raport-kpi-row {
  display: flex; gap: 10px; flex-wrap: wrap; flex: 1;
}
.dlog-kpi-card {
  background: var(--bg2); border: 1px solid var(--brd);
  border-radius: 10px; padding: 10px 14px; min-width: 110px;
}
.dlog-kpi-card.dlog-kpi-warn { border-color: rgba(251,191,36,.3); }
.dlog-kpi-val {
  font-size: 20px; font-weight: 800; color: var(--primary);
  font-family: var(--fm);
}
.dlog-kpi-warn .dlog-kpi-val { color: var(--amber); }
.dlog-kpi-lab { font-size: 10px; color: var(--text3); margin-top: 2px; }
.dlog-gen-btn {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 18px; border-radius: 8px;
  background: rgba(56,189,248,.12); border: 1px solid rgba(56,189,248,.35);
  color: var(--primary); font-family: var(--fn); font-size: 12px; font-weight: 700;
  cursor: pointer; white-space: nowrap; transition: all .15s; align-self: flex-start;
}
.dlog-gen-btn:hover { background: rgba(56,189,248,.22); }
.dlog-timeline-wrap {
  flex: 1; background: var(--bg2); border: 1px solid var(--brd);
  border-radius: 10px; padding: 14px; overflow-y: auto;
}

/* responsive */
@media (max-width: 700px) {
  .dlog-upload-row { flex-direction: column; }
  .dlog-manual-card { width: 100%; }
}

.scan-workflow-section {
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid rgba(100,170,230,.16);
  border-radius: 16px;
  background: rgba(10,8,28,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.scan-workflow-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.scan-workflow-kicker {
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(125,211,252,.65);
}
.scan-workflow-title {
  margin-top:2px;
  font-size:15px;
  font-weight:800;
  color:rgba(220,238,255,.95);
}
.scan-workflow-hint {
  font-size:11px;
  color:rgba(140,180,220,.55);
  text-align:right;
}
.scan-workflow-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
}
.scan-workflow-card {
  min-height:118px;
  padding:14px 12px;
  border:1px solid rgba(100,170,230,.18);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  color:rgba(220,238,255,.9);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  text-align:left;
  font-family:var(--fn);
  transition:transform .18s, border-color .18s, box-shadow .18s, background .18s;
}
.scan-workflow-card:hover,
.scan-workflow-card.active {
  transform:translateY(-2px);
  border-color:rgba(125,211,252,.48);
  background:rgba(100,170,230,.12);
  box-shadow:0 0 22px rgba(100,170,230,.16), inset 0 1px 0 rgba(255,255,255,.08);
}
.scan-wf-ico { font-size:24px; line-height:1; }
.scan-wf-name { font-size:13px; font-weight:800; color:rgba(240,248,255,.96); }
.scan-wf-desc { font-size:10.5px; line-height:1.45; color:rgba(145,190,225,.68); }
.dash-hero.drag {
  border-color:rgba(125,211,252,.55);
  box-shadow:0 0 28px rgba(100,170,230,.2), inset 0 0 24px rgba(100,170,230,.08);
}

@media (max-width: 1100px) {
  .scan-workflow-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .scan-workflow-head { align-items:flex-start; flex-direction:column; }
  .scan-workflow-hint { text-align:left; }
  .scan-workflow-grid { grid-template-columns:1fr; }
}
