/* ============ AMZPro PRO UI — tokeny ============ */
:root {
  --bg: #f4f6fa; --card: #ffffff; --ink: #151c26; --ink-2: #3b4757;
  --muted: #64748b; --line: #e4e9f0; --line-2: #d3dbe6;
  --accent: #ff9900; --accent-dark: #e07f00; --accent-ink: #7a4a00;
  --navy: #1a5fb4; --ok: #1f8a54; --warn: #c0392b; --info: #2471a3;
  --head-1: #141a24; --head-2: #1d2735;
  --radius: 14px; --radius-s: 9px;
  --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);
  --shadow-lg: 0 8px 24px rgba(16, 24, 40, .12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--ink);
  background: radial-gradient(1200px 500px at 85% -10%, #e9eef8 0%, var(--bg) 55%);
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 14.5px; -webkit-font-smoothing: antialiased;
}

/* ============ nagłówek / nawigacja ============ */
header {
  display: flex; align-items: center; gap: 16px; padding: 0 20px;
  background: linear-gradient(180deg, var(--head-2), var(--head-1));
  color: #fff; flex-wrap: wrap; position: sticky; top: 0; z-index: 100;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .25); min-height: 52px;
}
.brand { font-weight: 800; font-size: 17px; letter-spacing: .3px; padding: 12px 0; }
.brand::after { content: " PRO"; font-size: 10px; color: var(--accent);
  vertical-align: super; letter-spacing: 1px; }
nav { display: flex; gap: 2px; flex-wrap: wrap; }
nav a {
  color: #b9c4d3; text-decoration: none; padding: 7px 11px; border-radius: 8px;
  font-size: 13.5px; font-weight: 500; transition: background .15s, color .15s;
}
nav a:hover { background: rgba(255, 255, 255, .09); color: #fff; }
nav a.active { background: rgba(255, 153, 0, .16); color: #ffb84d; font-weight: 700; }
.badge {
  background: var(--accent); color: #191f28; border-radius: 999px;
  padding: 0 7px; font-size: 10.5px; font-weight: 800; vertical-align: 1px;
}
.inline { margin-left: auto; }
main { padding: 22px 28px 40px; max-width: 1860px; margin: 0 auto; }
footer { padding: 12px 20px; color: var(--muted); font-size: 12.5px;
  border-top: 1px solid var(--line); background: #eef1f6; }
h1 { font-size: 21px; font-weight: 800; letter-spacing: -.2px; margin: 0 0 16px; }
h2 { font-size: 16px; font-weight: 700; margin: 20px 0 10px; }

/* ============ karty ============ */
.card {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 18px; margin-bottom: 16px;
  box-shadow: var(--shadow);
}

/* ============ kafelki statystyk (pulpit) ============ */
.cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px; margin-bottom: 18px;
}
.stat {
  position: relative; display: flex; align-items: center; gap: 14px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 16px 18px;
  box-shadow: var(--shadow); text-decoration: none; color: inherit;
  transition: box-shadow .15s, transform .15s; overflow: hidden;
}
a.stat:hover { box-shadow: var(--shadow-lg); transform: translateY(-1px); }
.stat::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: var(--stat-c, var(--accent));
}
.stat .ico {
  width: 42px; height: 42px; border-radius: 10px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center; font-size: 20px;
  background: color-mix(in srgb, var(--stat-c, var(--accent)) 12%, #fff);
}
.stat .num {
  font-size: 27px; font-weight: 800; line-height: 1.05;
  font-variant-numeric: tabular-nums; letter-spacing: -.5px;
}
.stat .label { color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.stat.s-mail { --stat-c: #b9770e; }
.stat.s-routes { --stat-c: var(--navy); }
.stat.s-veh { --stat-c: #0f766e; }
.stat.s-match { --stat-c: var(--ok); }
.stat.s-alert { --stat-c: var(--warn); }

/* ============ sekcje pulpitu ============ */
.sec-head {
  display: flex; align-items: center; gap: 10px; margin: 0 0 12px;
}
.sec-head h2 { margin: 0; font-size: 15.5px; }
.sec-head .count-pill {
  background: #f1f4f9; color: var(--ink-2); border-radius: 999px;
  font-size: 12px; font-weight: 700; padding: 2px 10px;
}
.sec-head .count-pill.hot { background: #fdecea; color: var(--warn); }
.sec-head .spacer { flex: 1; }
.card.sec-urgent { border-left: 4px solid #e02800; }
.card.sec-book { border-left: 4px solid var(--info); }
.card.sec-match { border-left: 4px solid var(--accent); }

/* ============ tabele ============ */
table { width: 100%; border-collapse: collapse; font-size: 13.8px; background: transparent; }
th, td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
th {
  background: transparent; font-size: 11px; text-transform: uppercase;
  letter-spacing: .6px; color: var(--muted); font-weight: 700;
  border-bottom: 1.5px solid var(--line-2); white-space: nowrap;
}
tr:last-child td { border-bottom: none; }
tr:hover td { background: #f7f9fc; }
td a { color: var(--navy); text-decoration: none; }
td a:hover { text-decoration: underline; }

/* ============ przyciski ============ */
.btn {
  display: inline-block; border: 1px solid var(--line-2); background: #fff;
  color: var(--ink); padding: 6px 13px; border-radius: var(--radius-s);
  cursor: pointer; font-size: 13px; font-weight: 600; text-decoration: none;
  font-family: inherit; transition: border-color .15s, background .15s, box-shadow .15s;
}
.btn:hover { border-color: var(--accent); box-shadow: 0 1px 4px rgba(224, 127, 0, .18); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: #191f28; }
.btn.primary:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.btn.danger { color: var(--warn); }
.btn.danger:hover { border-color: var(--warn); box-shadow: 0 1px 4px rgba(192, 57, 43, .18); }

/* ============ statusy ============ */
.status { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.status.nowe, .status.nowa { background: #eaf2fb; color: var(--info); }
.status.dopasowana { background: #eafaf1; color: var(--ok); }
.status.bez_dopasowania { background: #f2f4f6; color: var(--muted); }
.status.zapytanie_wyslane { background: #fff4e0; color: #b9770e; }
.status.szczegoly_otrzymane { background: #e8f8f0; color: var(--ok); }
.status.oferta_wyslana { background: #e8daef; color: #7d3c98; }
.status.wyslane { background: #eafaf1; color: var(--ok); }
.status.oczekuje { background: #fef9e7; color: #b9770e; }
.status.blad { background: #fdedec; color: var(--warn); }

/* ============ formularze ============ */
form.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; align-items: end; }
label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 3px; font-weight: 600; }
input, select, textarea {
  width: 100%; padding: 7px 10px; border: 1px solid var(--line-2);
  border-radius: var(--radius-s); font-size: 14px; font-family: inherit;
  background: #fff; transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(255, 153, 0, .15);
}
textarea { min-height: 180px; font-family: ui-monospace, monospace; font-size: 13px; }
.flash { background: #eafaf1; border: 1px solid #bfe8d2; color: #1e6b45; padding: 11px 16px; margin: 12px 20px 0; border-radius: var(--radius-s); box-shadow: var(--shadow); }
.warn-banner { background: #fdf3e0; border: 1px solid #f5cf87; color: #8a5a00; padding: 11px 16px; margin: 12px 20px 0; border-radius: var(--radius-s); }
.muted { color: var(--muted); font-size: 13px; }
pre.mail { white-space: pre-wrap; background: #fbfcfe; border: 1px solid var(--line); border-radius: var(--radius-s); padding: 14px; font-size: 13px; max-height: 480px; overflow: auto; }
.route-pair { font-weight: 700; }
.filters { margin-bottom: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.log-line { font-size: 12.5px; padding: 3px 0; border-bottom: 1px dashed var(--line); }

/* Gradacja ważności: biały -> czerwony (skrzynka) */
.prio-row.p0 td { background: #ffffff; }
.prio-row.p1 td { background: #fff5f2; }
.prio-row.p2 td { background: #ffe3da; }
.prio-row.p3 td { background: #ffc4b3; }
.prio-row.p4 td { background: #ff9a80; }
.prio-row.p4 td a { color: #7b1500; font-weight: 700; }
.prio-row.unread td { font-weight: 600; }
.prio-row:hover td { filter: brightness(0.97); }
.prio-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 1px solid #c9a49a; }
.prio-dot.p0 { background: #ffffff; }
.prio-dot.p1 { background: #ffd9cf; }
.prio-dot.p2 { background: #ffab92; }
.prio-dot.p3 { background: #ff7050; }
.prio-dot.p4 { background: #e02800; }
.prio-btn { display: inline-block; padding: 5px 11px; border-radius: 14px; font-size: 13px;
  text-decoration: none; color: #4a2e26; border: 1px solid #d8b8ad; }
.prio-btn.p-all { background: #fff; }
.prio-btn.p0 { background: #ffffff; }
.prio-btn.p1 { background: #ffe9e3; }
.prio-btn.p2 { background: #ffcdbc; }
.prio-btn.p3 { background: #ff9d80; }
.prio-btn.p4 { background: #f04424; color: #fff; }
.prio-btn.active { outline: 3px solid #191f28; }
.log-line .lvl-error { color: var(--warn); font-weight: 700; }
.log-line .lvl-warn { color: #b9770e; font-weight: 700; }

/* pulpit: wiersze pilnych — spokojnie, ale czytelnie */
.urgent-new td { background: #fff8f6; }
.urgent-new td a { color: #a01c00; font-weight: 700; }
.mail-done td { background: #f2faf3 !important; }
.mail-done td a { color: #2e7d32 !important; font-weight: 400 !important; }
.dot-new { display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: #e02800; margin-right: 6px; vertical-align: 1px;
  box-shadow: 0 0 0 3px rgba(224, 40, 0, .15); }

.compact table { font-size: .9em; }
.compact th, .compact td { padding: 5px 8px; }
.dash-row { display: flex; flex-wrap: wrap; gap: 16px; }
.dash-row > .card { flex: 1 1 420px; margin: 0; }
.src-badge { display: inline-block; border-radius: 6px; padding: 1px 8px; font-size: .82em; font-weight: 700; white-space: nowrap; }
.src-board { background: #e8f0fb; color: #1a5fb4; }
.src-mail { background: #eef0f2; color: #555; }
.src-tc { background: #fdf1e2; color: #b05e00; }
#amz-toast { position: fixed; right: 18px; bottom: 18px; background: #1f2430; color: #fff;
  padding: 14px 18px; border-radius: var(--radius); box-shadow: 0 6px 24px rgba(0, 0, 0, .35);
  z-index: 9999; max-width: 420px; display: none; }
#amz-toast a { color: #ffb86b; }

/* --- kółka KPI łańcuchów --- */
.kpis { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 10px 0 6px; }
.kpi { width: 106px; height: 106px; border-radius: 50%; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; color: #fff; flex: 0 0 auto;
  box-shadow: 0 3px 10px rgba(16, 24, 40, .22); }
.kpi .v { font-size: 1.25em; font-weight: 800; line-height: 1.05; font-variant-numeric: tabular-nums; }
.kpi .l { font-size: .66em; opacity: .93; margin-top: 3px; line-height: 1.15; padding: 0 6px; }
.kpi-profit { background: radial-gradient(circle at 30% 25%, #43a047, #1b5e20); }
.kpi-profit.neg { background: radial-gradient(circle at 30% 25%, #e53935, #8e0000); }
.kpi-rev { background: radial-gradient(circle at 30% 25%, #42a5f5, #0d47a1); }
.kpi-empty { background: radial-gradient(circle at 30% 25%, #ffb74d, #e65100); }
.kpi-small { width: 84px; height: 84px; }
.kpi-grey { background: radial-gradient(circle at 30% 25%, #90a4ae, #37474f); }
.crew-badge { background: #4a148c; color: #fff; border-radius: 6px; padding: 2px 8px; font-weight: 700; }
.ai-badge { background: #6a3fb5; color: #fff; border-radius: 6px; padding: 3px 10px; font-weight: 700; font-size: .9em; }
.ai-badge.ai-grey { background: #8a8fa3; }
.zam-top td { background: #e8f7ee; font-weight: 600; }
.dmc-badge { background: #00695c; color: #fff; border-radius: 6px; padding: 2px 8px; font-weight: 700; font-size: .85em; }
.alt-badge { background: #e8eef7; color: #1a5fb4; border-radius: 999px; padding: 1px 9px;
  font-size: .82em; font-weight: 700; text-decoration: none; white-space: nowrap; }
.alt-badge:hover { background: #d3e0f2; }

/* W toku: pasek postępu łańcucha */
.progress-wrap { margin-top: 10px; }
.progress-bar { position: relative; display: flex; height: 34px; border-radius: var(--radius-s);
  overflow: hidden; background: #eceff4; border: 1px solid var(--line-2); }
.progress-seg { display: flex; align-items: center; justify-content: center;
  font-size: .78em; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; }
.progress-seg.seg-dojazd { background: #8a8fa3; }
.progress-seg.seg-ladunek { background: #1a5fb4; }
.progress-seg.seg-ladunek:nth-child(even) { background: #2471a3; }
.progress-seg.seg-przerwa { background: repeating-linear-gradient(45deg, #e6c98a, #e6c98a 6px, #f2e2bd 6px, #f2e2bd 12px); }
.progress-needle { position: absolute; top: -3px; bottom: -3px; width: 3px;
  background: #e02800; box-shadow: 0 0 4px rgba(224, 40, 0, .7); }
.stage-badge { background: #e67e22; color: #fff; border-radius: 6px; padding: 3px 10px; font-weight: 700; }
.adv-badge { border-radius: 6px; padding: 2px 8px; font-weight: 700; font-size: .82em; white-space: nowrap; }
.adv-badge.adv-teraz { background: #2e8b57; color: #fff; }
.adv-badge.adv-pozniej { background: #1a5fb4; color: #fff; }
.adv-badge.adv-ryzyko { background: #c0392b; color: #fff; }
.better-box { background: #eaf7ef; border: 1px solid #bfe3cd; border-radius: var(--radius-s);
  padding: 5px 8px; font-size: .9em; max-width: 330px; }
.leg-link { color: #1a5fb4; text-decoration: none; border-bottom: 1px dashed #9db8dd; }
.leg-link:hover { color: #e67e22; border-bottom-color: #e67e22; }
.export-box.export-must { background: #fdecea; border-color: #f1b0a7; } .export-box.export-opt { background: #eef5ff; border-color: #bcd3f2; }
.export-box { margin-top: 10px; background: #fdf1e2; border: 1px solid #f0cf9a;
  border-radius: var(--radius-s); padding: 10px 12px; font-size: .92em; }
.cov-row { display: flex; flex-wrap: wrap; gap: 6px; }
.cov { border-radius: 999px; padding: 2px 9px; font-size: 12px; font-weight: 600; border: 1px solid var(--line-2); }
.cov.on { background: #eafaf1; color: #1f8a54; border-color: #bfe3cd; }
.cov.off { background: #f4f6f9; color: #9aa5b5; }
.calc-bar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  background: #eef8f1; border: 1px solid #bfe3cd; color: #1e6b45;
  border-radius: var(--radius-s); padding: 7px 12px; margin-bottom: 12px; font-size: 13px; }
.calc-bar.busy { background: #fff6e5; border-color: #f5cf87; color: #7a4a00; }
.base-box { margin-top: 10px; background: #eef1fb; border: 1px solid #c3cdf0;
  border-radius: var(--radius-s); padding: 10px 12px; font-size: .92em; }
/* tachograf na żywo */
.tacho-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(225px, 1fr)); gap: 10px; }
.tacho-card { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px;
  background: #fafbfd; display: flex; flex-direction: column; gap: 4px; }
.tc-head { display: flex; justify-content: space-between; gap: 6px; align-items: center; }
.tc-state { font-size: .82em; font-weight: 700; color: var(--ink-2); white-space: nowrap; }
.tc-driver { font-size: .85em; color: var(--ink-2); }
.tc-bar { height: 9px; background: #e8edf4; border-radius: 5px; overflow: hidden; }
.tc-fill { height: 100%; background: linear-gradient(90deg, #34a06a, #1f8a54); border-radius: 5px; }
.tc-fill.warn { background: linear-gradient(90deg, #f39c12, #c0392b); }
.tc-times { display: flex; justify-content: space-between; font-size: .82em; color: var(--muted); }
.tc-red { color: var(--warn); font-weight: 700; }
/* pulpit ANDROID: launcher + widżety */
.launcher { background: linear-gradient(160deg, #1d2735 0%, #141a24 60%, #232f42 100%);
  border-radius: 18px; padding: 22px 20px 14px; margin-bottom: 18px;
  box-shadow: 0 6px 24px rgba(16, 24, 40, .25); }
.launcher-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 14px 8px; }
.app { display: flex; flex-direction: column; align-items: center; gap: 7px;
  text-decoration: none; padding: 6px 2px; border-radius: 12px;
  transition: background .15s, transform .12s; }
.app:hover { background: rgba(255, 255, 255, .07); transform: translateY(-2px); }
.app .ic { position: relative; width: 58px; height: 58px; border-radius: 16px;
  display: flex; align-items: center; justify-content: center; font-size: 27px;
  background: linear-gradient(145deg, var(--a1, #42a5f5), var(--a2, #0d47a1));
  box-shadow: 0 4px 10px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .25); }
.app .lb { color: #dfe6ef; font-size: 11.5px; font-weight: 600; text-align: center;
  line-height: 1.15; text-shadow: 0 1px 2px rgba(0, 0, 0, .5); }
.app .bd { position: absolute; top: -6px; right: -8px; background: #e02800; color: #fff;
  border-radius: 999px; min-width: 20px; height: 20px; padding: 0 5px; font-size: 11px;
  font-weight: 800; display: flex; align-items: center; justify-content: center;
  border: 2px solid #141a24; }
.statusbar { display: flex; gap: 16px; flex-wrap: wrap; align-items: center;
  color: #93a3b8; font-size: 12px; margin-bottom: 14px; padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .1); }
.statusbar .zegar { color: #fff; font-size: 21px; font-weight: 800; letter-spacing: .5px; }
.statusbar .chip { display: flex; align-items: center; gap: 5px; background: rgba(255,255,255,.08);
  border-radius: 999px; padding: 3px 11px; font-weight: 600; }
.statusbar .chip.ok { color: #6fdc9c; } .statusbar .chip.bad { color: #ff8a70; }
.slider-box { min-width: 330px; display: flex; flex-direction: column; gap: 4px; }
.slider-box input[type=range] { width: 100%; accent-color: #ff9900; cursor: pointer; }


/* =====================================================================
   AMZPro 2.5 „Diament” — warstwa wykończeniowa
   ===================================================================== */
header.topbar { display: flex; align-items: center; gap: 10px; padding: 0 18px; min-height: 56px;
  background: linear-gradient(180deg, #1c2634, #131922); position: sticky; top: 0; z-index: 200;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .28); flex-wrap: nowrap; }
.topbar .brand { display: flex; align-items: center; gap: 9px; text-decoration: none; color: #fff;
  padding: 10px 6px 10px 0; margin-right: 6px; }
.topbar .brand::after { content: none; }
.topbar .brand .logo { display: flex; width: 34px; height: 34px; border-radius: 10px; align-items: center; justify-content: center;
  background: linear-gradient(145deg, #2a3648, #1a2230); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 2px 6px rgba(0,0,0,.4); }
.topbar .brand-text { font-weight: 800; font-size: 18px; letter-spacing: -.2px; }
.topbar .brand-text b { color: var(--accent); }
.mainnav { display: flex; align-items: center; gap: 2px; flex-wrap: nowrap; overflow: visible; }
.mainnav > a, .mainnav .menu-btn { color: #c3ccd9; text-decoration: none; padding: 8px 12px; border-radius: 9px;
  font-size: 13.5px; font-weight: 600; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px;
  transition: background .15s, color .15s; }
.mainnav > a:hover, .mainnav .menu:hover > .menu-btn, .mainnav .menu.open > .menu-btn { background: rgba(255,255,255,.08); color: #fff; }
.mainnav > a.active, .mainnav .menu.active > .menu-btn { background: rgba(255,153,0,.16); color: #ffb84d; }
.badge { background: var(--accent); color: #191f28; border-radius: 999px; padding: 1px 7px; font-size: 10.5px; font-weight: 800; line-height: 16px; }
.badge.hot { background: #e5484d; color: #fff; } .badge.warm { background: #e67e22; color: #fff; }
.chev { display: inline-block; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px); opacity: .7; margin-left: 2px; }
.menu { position: relative; }
.menu .dropdown { position: absolute; top: calc(100% + 6px); left: 0; min-width: 270px; background: #fff; color: var(--ink);
  border-radius: 12px; box-shadow: 0 14px 40px rgba(16,24,40,.22), 0 0 0 1px rgba(16,24,40,.06); padding: 6px;
  display: none; z-index: 300; }
.menu .dropdown.right { left: auto; right: 0; }
.menu:hover > .dropdown, .menu.open > .dropdown { display: block; animation: ddin .12s ease-out; }
@keyframes ddin { from { opacity: 0; transform: translateY(-4px);} to { opacity: 1; transform: none;} }
.menu .dropdown a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; color: var(--ink);
  text-decoration: none; font-size: 13.5px; font-weight: 500; }
.menu .dropdown a:hover { background: #f3f6fb; color: var(--navy); }
.menu .dropdown a span { width: 24px; text-align: center; font-size: 15px; }
.menu .dropdown a em { margin-left: auto; font-style: normal; background: #eef2f8; color: var(--ink-2); border-radius: 999px; padding: 0 8px; font-size: 11.5px; font-weight: 700; }
.menu .dropdown a em.hot { background: #fde8e8; color: #c62828; } .menu .dropdown a em.warm { background: #fff1e0; color: #b05e00; }
.menu .dropdown .dd-head { padding: 8px 10px 4px; font-size: 12px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.menu .dropdown .dd-note { padding: 4px 10px 8px; font-size: 12px; color: var(--muted); border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.topbar-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.topbar-right .inline { margin: 0; }
.btn.sm { padding: 6px 11px; font-size: 12.5px; }
.iconbtn { color: #ffb84d; text-decoration: none; font-size: 16px; padding: 6px 8px; border-radius: 8px; }
.iconbtn:hover { background: rgba(255,255,255,.08); }
.menu.user .menu-btn { color: #dfe6ef; }
.avatar { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; align-items: center; justify-content: center;
  background: linear-gradient(145deg, #ff9900, #e07f00); color: #191f28; font-weight: 800; font-size: 12.5px; }
@media (max-width: 1250px) { .mainnav > a:not(.active) .badge { display: none; } .mainnav > a, .mainnav .menu-btn { padding: 8px 9px; font-size: 13px; } }
@media (max-width: 1000px) { header.topbar { flex-wrap: wrap; min-height: 0; padding-bottom: 6px; } .mainnav { order: 3; width: 100%; overflow-x: auto; padding-bottom: 4px; } .topbar-right { margin-left: auto; } }

/* strona */
main { padding: 22px 28px 48px; }
h1 { font-size: 22px; letter-spacing: -.3px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
h1 .muted { font-weight: 500; }
.card { border-radius: var(--radius); }
.card:hover { box-shadow: 0 2px 6px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.06); }
table { font-size: 13.6px; }
th { font-size: 10.8px; letter-spacing: .7px; padding: 8px 10px; }
td { padding: 9px 10px; }
tr:hover td { background: #f6f8fc; }
.card > table:first-child { margin-top: -4px; }
input, select { padding: 8px 11px; }
.btn { border-radius: 9px; }
.btn.primary { box-shadow: 0 1px 2px rgba(224,127,0,.35); }
.btn.ghost { background: transparent; border-color: transparent; color: var(--navy); }
.btn.ghost:hover { background: #eef3fb; box-shadow: none; }
.flash { margin: 12px 28px 0; border-radius: 10px; }
.warn-banner { margin: 12px 28px 0; border-radius: 10px; }
footer { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 28px; background: #eef1f6; }
footer .foot-right { margin-left: auto; } footer a { color: inherit; }
.dot-live { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #9aa5b5; margin-right: 6px; vertical-align: 1px; }
.dot-live.on { background: #1f8a54; box-shadow: 0 0 0 3px rgba(31,138,84,.18); animation: pulse 1.2s infinite; }
@keyframes pulse { 0%,100% { box-shadow: 0 0 0 3px rgba(31,138,84,.18);} 50% { box-shadow: 0 0 0 6px rgba(31,138,84,.05);} }

/* pasek strony (tytuł + akcje) */
.pagebar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.pagebar h1 { margin: 0; }
.pagebar .sub { color: var(--muted); font-size: 13px; }
.pagebar .actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
/* segmentowane przyciski filtrów */
.seg { display: inline-flex; background: #fff; border: 1px solid var(--line-2); border-radius: 10px; padding: 3px; gap: 2px; }
.seg a, .seg button { border: 0; background: transparent; padding: 6px 12px; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--ink-2); text-decoration: none; cursor: pointer; font-family: inherit; }
.seg a.on, .seg button.on { background: var(--head-1); color: #fff; }
.seg a:hover:not(.on) { background: #f1f4f9; }
.toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.toolbar .grow { flex: 1; }
.search { position: relative; }
.search input { padding-left: 34px; min-width: 300px; }
.search::before { content: "⌕"; position: absolute; left: 11px; top: 50%; transform: translateY(-50%); font-size: 17px; color: var(--muted); }
/* puste stany */
.empty { text-align: center; padding: 42px 20px; color: var(--muted); }
.empty .ico { font-size: 34px; margin-bottom: 8px; opacity: .8; }
.empty b { color: var(--ink-2); }
/* skrzynka — lista wiadomości */
.mail-list { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.mail-row { display: grid; grid-template-columns: 6px 44px 220px 1fr 150px 130px; align-items: center; gap: 12px; padding: 10px 14px 10px 0;
  border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; transition: background .12s; }
.mail-row:last-child { border-bottom: 0; }
.mail-row:hover { background: #f6f8fc; }
.mail-row .stripe { align-self: stretch; background: transparent; }
.mail-row.p1 .stripe { background: #ffd9cf; } .mail-row.p2 .stripe { background: #ffab92; } .mail-row.p3 .stripe { background: #ff7050; } .mail-row.p4 .stripe { background: #e02800; }
.mail-row.p4 { background: #fff7f5; }
.mail-row .av { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px;
  background: #eef2f8; color: var(--ink-2); margin-left: 8px; }
.mail-row.p3 .av, .mail-row.p4 .av { background: #fde3dc; color: #a01c00; }
.mail-row .from { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-row .from small { display: block; color: var(--muted); font-weight: 400; font-size: 11.5px; }
.mail-row .subj { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
.mail-row.unread .subj { font-weight: 700; }
.mail-row.unread .from { font-weight: 800; }
.mail-row .subj .status { margin-left: 6px; vertical-align: 1px; }
.mail-row .acc { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-row .when { color: var(--muted); font-size: 12px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mail-row.unread .when { color: var(--navy); font-weight: 700; }
.mail-row .dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--navy); margin-right: 6px; vertical-align: 1px; }
@media (max-width: 1100px) { .mail-row { grid-template-columns: 6px 44px 160px 1fr 110px; } .mail-row .acc { display: none; } }
/* logowanie */
.login-page { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; }
.login-hero { background: radial-gradient(900px 600px at 20% 10%, #2b3a55 0%, #161d2b 55%, #0e131c 100%); color: #fff; padding: 60px 64px; display: flex; flex-direction: column; justify-content: center; }
.login-hero .lg { display: flex; align-items: center; gap: 12px; font-size: 30px; font-weight: 800; margin-bottom: 26px; }
.login-hero .lg b { color: var(--accent); }
.login-hero h2 { font-size: 40px; line-height: 1.12; letter-spacing: -.8px; margin: 0 0 18px; }
.login-hero p { color: #c7cddb; font-size: 17px; line-height: 1.55; max-width: 560px; }
.login-hero ul { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 10px; }
.login-hero li { color: #e6ebf3; font-size: 15px; padding-left: 26px; position: relative; }
.login-hero li::before { content: ""; position: absolute; left: 0; top: 7px; width: 12px; height: 12px; border-radius: 4px; background: var(--accent); }
.login-form { display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.login-form .card { width: 100%; max-width: 400px; padding: 30px 30px 22px; }
.login-form h1 { font-size: 22px; margin-bottom: 4px; }
.login-form .hint { color: var(--muted); font-size: 13px; margin-bottom: 18px; }
.login-form input { padding: 10px 12px; font-size: 15px; }
.login-form .btn.primary { width: 100%; padding: 10px; font-size: 15px; margin-top: 6px; }
@media (max-width: 900px) { .login-page { grid-template-columns: 1fr; } .login-hero { padding: 36px 28px; } .login-hero h2 { font-size: 30px; } }

/* ===== MOBILE 2.6 (≤ 820 px) — telefon/tablet ===== */
.navburger { display: none; margin-left: auto; background: transparent; border: 1px solid rgba(255,255,255,.28); border-radius: 9px; width: 42px; height: 38px; padding: 8px 9px; cursor: pointer; flex-direction: column; justify-content: space-between; }
.navburger span { display: block; height: 2px; background: #fff; border-radius: 2px; }
@media (max-width: 820px) {
  html { -webkit-text-size-adjust: 100%; }
  header.topbar { position: sticky; top: 0; z-index: 60; flex-wrap: nowrap; padding: 0 12px; min-height: 54px; gap: 8px; }
  .navburger { display: flex; order: 3; }
  .topbar-right { order: 2; margin-left: auto; gap: 6px; }
  .topbar-right .btn.sm { padding: 7px 10px; font-size: 12.5px; }
  .topbar-right .menu.user .menu-btn span.uname, .topbar-right .hide-m { display: none; }
  .mainnav { position: fixed; left: 0; right: 0; top: 54px; bottom: 0; background: #131922; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 14px 30px; overflow-y: auto; transform: translateX(100%); transition: transform .22s ease; z-index: 59; }
  body.nav-open .mainnav { transform: none; }
  body.nav-open { overflow: hidden; }
  .mainnav > a, .mainnav .menu-btn { display: flex; align-items: center; padding: 13px 10px; font-size: 16px; border-radius: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .mainnav .menu { position: static; }
  .mainnav .menu .dropdown { position: static; display: none; min-width: 0; background: rgba(255,255,255,.05); color: #dfe6ef; box-shadow: none; border-radius: 10px; margin: 4px 0 8px; padding: 6px; animation: none; }
  .mainnav .menu:hover > .dropdown { display: none; }
  .mainnav .menu.open > .dropdown { display: block; }
  .mainnav .menu .dropdown a { color: #dfe6ef; padding: 11px 10px; font-size: 15px; }
  .mainnav .menu .dropdown a:hover { background: rgba(255,255,255,.08); color: #fff; }
  .mainnav .menu .dropdown a em { background: rgba(255,255,255,.12); color: #fff; }
  .mainnav .menu .dropdown .dd-head, .mainnav .menu .dropdown .dd-note { color: #9aa6b8; }
  main { padding: 12px 10px 40px; }
  h1 { font-size: 22px; margin: 4px 0 8px; } h2 { font-size: 18px; }
  .card { padding: 12px 12px; border-radius: 12px; margin-bottom: 12px; }
  .filters { gap: 6px; } .filters input, .filters select { min-width: 0; }
  .filters label { font-size: 13px; }
  .slider-box { flex-basis: 100%; }
  input, select, textarea { font-size: 16px; }   /* iOS: brak auto-zoomu */
  .btn { padding: 11px 14px; min-height: 42px; } .btn.sm { min-height: 34px; padding: 6px 10px; }
  /* tabele: przewijanie w poziomie zamiast rozjeżdżania strony */
  .card > table, main table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; max-width: 100%; }
  main table td, main table th { padding: 8px 8px; font-size: 13px; }
  /* KPI: zamiast wielkich kul — zwarte kafelki 3 w rzędzie */
  .kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 8px 0 6px; }
  .kpi, .kpi-small { width: auto; height: auto; border-radius: 12px; padding: 10px 6px; min-height: 64px; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
  .kpi .v { font-size: 1.15em; } .kpi .l { font-size: .64em; padding: 0 2px; }
  .ai-badge { font-size: 12.5px; }
  .export-box, .base-box { font-size: 13px; padding: 8px 10px; }
  .status { font-size: 11.5px; }
  footer { flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px 12px; font-size: 12px; }
  footer .foot-right { margin-left: 0; }
  .toolbar { gap: 6px; }
  .grid, .grid2, .grid3, .cards { grid-template-columns: 1fr !important; }
  #amz-toast { left: 10px; right: 10px; }
}
@media (max-width: 480px) {
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar .brand-text { display: none; }
}

/* wydruk */
@media print { header.topbar, footer, .toolbar, .filters, .btn { display: none !important; } main { padding: 0; } .card { box-shadow: none; border-color: #ccc; } }
/* przewijanie */
::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-thumb { background: #cfd6e0; border-radius: 6px; border: 2px solid var(--bg); } ::-webkit-scrollbar-thumb:hover { background: #b8c2cf; }

/* =====================================================================
   AMZPro 2.8 — menu grupowe, wyszukiwarka, tryb ciemny
   ===================================================================== */
.menu .dropdown .dd-sep { height: 1px; background: var(--line); margin: 4px 6px; }
.only-m { display: none; }
.gsearch { display: flex; align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  border-radius: 9px; padding: 0 2px 0 8px; margin-right: 4px; }
.gsearch input { width: 250px; max-width: 34vw; background: transparent; border: 0; color: #fff; padding: 6px 4px; font-size: 13px; }
.gsearch input::placeholder { color: #93a3b8; }
.gsearch input:focus { box-shadow: none; outline: none; }
.gsearch .iconbtn { padding: 4px 8px; font-size: 17px; line-height: 1; }
.gsearch:focus-within { border-color: var(--accent); background: rgba(255,255,255,.12); }
@media (max-width: 1250px) { .gsearch input { width: 170px; } }
@media (max-width: 1000px) { .gsearch input { width: 130px; } }
@media (max-width: 820px) {
  .only-m { display: inline; }
  .gsearch { order: 1; flex: 1 1 60px; margin: 0; }
  .gsearch input { width: 100%; max-width: none; min-width: 0; font-size: 16px; padding: 6px 2px; }
  .topbar-right { flex: 1 1 auto; min-width: 0; }
  .topbar-right .menu.user .dropdown.right { position: fixed; left: 8px; right: 8px; top: 58px; }
  /* pływający asystent 🤖 nie zasłania rozwiniętego menu */
  body.nav-open #amzai-fab, body.nav-open #amzai-panel { display: none !important; }
  .mainnav .menu-btn .badge { margin-left: 6px; }
  .mainnav .menu > .menu-btn::after { content: "+"; margin-left: auto; opacity: .6; font-weight: 400; }
  .mainnav .menu.open > .menu-btn::after { content: "–"; }
  .mainnav .menu > .menu-btn .chev { display: none; }
}
/* 2FA / bezpieczeństwo, kreator startu, wyniki wyszukiwania */
.qr-box { display: inline-block; background: #fff; padding: 10px; border-radius: 12px; border: 1px solid var(--line); }
.secret-code { font-family: ui-monospace, monospace; font-size: 15px; letter-spacing: 2px; background: var(--bg); padding: 8px 12px; border-radius: 8px; word-break: break-all; }
.steps { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.steps a, .steps span.step { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--card); border: 1px solid var(--line-2); text-decoration: none; color: var(--ink-2); font-weight: 600; font-size: 13px; }
.steps .on { background: var(--head-1); color: #fff; border-color: var(--head-1); }
.steps .done { border-color: var(--ok); color: var(--ok); }
.steps .num { display: inline-flex; width: 22px; height: 22px; border-radius: 50%; align-items: center; justify-content: center; background: var(--accent); color: #191f28; font-size: 12px; font-weight: 800; }
.search-hit { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; text-decoration: none; color: var(--ink); border-bottom: 1px solid var(--line); }
.search-hit:hover { background: var(--row-hover, #f6f8fc); }
.search-hit .kind { font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); min-width: 90px; }
.start-banner { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: linear-gradient(120deg, #fff4e0, #fff); border: 1px solid #f5cf87; border-radius: var(--radius); padding: 14px 18px; margin-bottom: 16px; }
.start-banner .ico { font-size: 28px; }
.start-banner b { font-size: 15px; }
[data-theme="dark"] .start-banner, [data-theme="promax"] .start-banner { background: linear-gradient(120deg, #3a2c12, var(--card)); border-color: #7a5a1a; }
.err-page { max-width: 640px; margin: 40px auto; text-align: center; }
.err-page .big { font-size: 56px; margin-bottom: 8px; }
.err-page pre { text-align: left; white-space: pre-wrap; font-size: 12px; background: var(--bg); border: 1px solid var(--line); border-radius: 8px; padding: 10px; max-height: 220px; overflow: auto; }
/* ====== TRYB CIEMNY (html[data-theme=dark]) ======
   Wszystkie reguły poniżej obowiązują TAKŻE w szacie PRO MAX — ta dokłada
   do nich własne tokeny i typografię w static/promax.css, który ładuje się
   po tym pliku. Dzięki temu komponent z korektą „na ciemno” nie zostaje
   w PRO MAX z jasnym tłem albo ciemnym tekstem na ciemnym tle. */
[data-theme="dark"], [data-theme="promax"] {
  --bg: #0f141b; --card: #182029; --ink: #e6ebf3; --ink-2: #c3ccd9;
  --muted: #94a3b8; --line: #263140; --line-2: #34414f;
  --accent-ink: #ffcc80; --navy: #7fb3ff; --ok: #4fc487; --warn: #ff7b72; --info: #6cb1e6;
  --shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, .55);
  --row-hover: #1e2833;
  color-scheme: dark;
}
[data-theme="dark"] body, [data-theme="promax"] body { background: radial-gradient(1200px 500px at 85% -10%, #1a2331 0%, var(--bg) 55%); color: var(--ink); }
[data-theme="dark"] footer, [data-theme="promax"] footer { background: #0c1016; border-top-color: var(--line); }
[data-theme="dark"] tr:hover td, [data-theme="promax"] tr:hover td, [data-theme="dark"] .mail-row:hover, [data-theme="promax"] .mail-row:hover { background: var(--row-hover); }
[data-theme="dark"] .btn, [data-theme="promax"] .btn { background: #202a36; color: var(--ink); border-color: var(--line-2); }
[data-theme="dark"] .btn.primary, [data-theme="promax"] .btn.primary { background: var(--accent); color: #191f28; border-color: var(--accent); }
[data-theme="dark"] .btn.ghost, [data-theme="promax"] .btn.ghost { background: transparent; border-color: transparent; }
[data-theme="dark"] .btn.ghost:hover, [data-theme="promax"] .btn.ghost:hover { background: #202a36; }
[data-theme="dark"] input, [data-theme="promax"] input, [data-theme="dark"] select, [data-theme="promax"] select, [data-theme="dark"] textarea, [data-theme="promax"] textarea { background: #10161d; color: var(--ink); border-color: var(--line-2); }
[data-theme="dark"] .menu .dropdown, [data-theme="promax"] .menu .dropdown { background: #1c2530; color: var(--ink); box-shadow: 0 14px 40px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06); }
[data-theme="dark"] .menu .dropdown a, [data-theme="promax"] .menu .dropdown a { color: var(--ink); }
[data-theme="dark"] .menu .dropdown a:hover, [data-theme="promax"] .menu .dropdown a:hover { background: #26313f; color: #ffb84d; }
[data-theme="dark"] .menu .dropdown a em, [data-theme="promax"] .menu .dropdown a em { background: #2c3846; color: var(--ink-2); }
[data-theme="dark"] .flash, [data-theme="promax"] .flash { background: #13301f; border-color: #1f5a38; color: #a9e6c3; }
[data-theme="dark"] .warn-banner, [data-theme="promax"] .warn-banner { background: #33280f; border-color: #6d5418; color: #ffd68a; }
[data-theme="dark"] .calc-bar, [data-theme="promax"] .calc-bar { background: #13301f; border-color: #1f5a38; color: #a9e6c3; }
[data-theme="dark"] .calc-bar.busy, [data-theme="promax"] .calc-bar.busy { background: #33280f; border-color: #6d5418; color: #ffd68a; }
[data-theme="dark"] pre.mail, [data-theme="promax"] pre.mail, [data-theme="dark"] .tacho-card, [data-theme="promax"] .tacho-card, [data-theme="dark"] .mail-list, [data-theme="promax"] .mail-list, [data-theme="dark"] .seg, [data-theme="promax"] .seg, [data-theme="dark"] .qr-box, [data-theme="promax"] .qr-box, [data-theme="dark"] .prio-btn.p-all, [data-theme="promax"] .prio-btn.p-all, [data-theme="dark"] .prio-btn.p0, [data-theme="promax"] .prio-btn.p0 { background: var(--card); border-color: var(--line); }
[data-theme="dark"] .qr-box, [data-theme="promax"] .qr-box { background: #fff; }   /* kod QR musi zostać czarno-biały */
[data-theme="dark"] .seg a, [data-theme="promax"] .seg a, [data-theme="dark"] .seg button, [data-theme="promax"] .seg button { color: var(--ink-2); }
[data-theme="dark"] .seg a:hover:not(.on), [data-theme="promax"] .seg a:hover:not(.on) { background: #26313f; }
[data-theme="dark"] .sec-head .count-pill, [data-theme="promax"] .sec-head .count-pill { background: #26313f; color: var(--ink-2); }
[data-theme="dark"] .sec-head .count-pill.hot, [data-theme="promax"] .sec-head .count-pill.hot { background: #4a1d1a; color: #ff9a90; }
[data-theme="dark"] .stat .ico, [data-theme="promax"] .stat .ico { background: color-mix(in srgb, var(--stat-c, var(--accent)) 22%, #182029); }
[data-theme="dark"] .status.nowe, [data-theme="promax"] .status.nowe, [data-theme="dark"] .status.nowa, [data-theme="promax"] .status.nowa { background: #16304a; color: #8ec5ff; }
[data-theme="dark"] .status.dopasowana, [data-theme="promax"] .status.dopasowana, [data-theme="dark"] .status.wyslane, [data-theme="promax"] .status.wyslane, [data-theme="dark"] .status.szczegoly_otrzymane, [data-theme="promax"] .status.szczegoly_otrzymane { background: #13301f; color: #6fdc9c; }
[data-theme="dark"] .status.bez_dopasowania, [data-theme="promax"] .status.bez_dopasowania { background: #26313f; color: var(--muted); }
[data-theme="dark"] .status.zapytanie_wyslane, [data-theme="promax"] .status.zapytanie_wyslane, [data-theme="dark"] .status.oczekuje, [data-theme="promax"] .status.oczekuje { background: #33280f; color: #ffcc80; }
[data-theme="dark"] .status.oferta_wyslana, [data-theme="promax"] .status.oferta_wyslana { background: #34204a; color: #d7b6ff; }
[data-theme="dark"] .status.blad, [data-theme="promax"] .status.blad { background: #4a1d1a; color: #ff9a90; }
[data-theme="dark"] .prio-row.p0 td, [data-theme="promax"] .prio-row.p0 td, [data-theme="dark"] .urgent-new td, [data-theme="promax"] .urgent-new td { background: transparent; }
[data-theme="dark"] .prio-row.p1 td, [data-theme="promax"] .prio-row.p1 td { background: #2a1d1a; } [data-theme="dark"] .prio-row.p2 td { background: #3a221c; }
[data-theme="dark"] .prio-row.p3 td, [data-theme="promax"] .prio-row.p3 td { background: #4d271e; } [data-theme="dark"] .prio-row.p4 td { background: #6a2b1c; }
[data-theme="dark"] .urgent-new td a, [data-theme="promax"] .urgent-new td a { color: #ff9a80; }
[data-theme="dark"] .mail-done td, [data-theme="promax"] .mail-done td { background: #13301f !important; } [data-theme="dark"] .mail-done td a { color: #6fdc9c !important; }
[data-theme="dark"] .mail-row.p4, [data-theme="promax"] .mail-row.p4 { background: #2a1d1a; }
[data-theme="dark"] .mail-row .av, [data-theme="promax"] .mail-row .av { background: #26313f; color: var(--ink-2); }
[data-theme="dark"] .mail-row .subj, [data-theme="promax"] .mail-row .subj { color: var(--ink); }
[data-theme="dark"] .src-board, [data-theme="promax"] .src-board { background: #16304a; color: #8ec5ff; } [data-theme="dark"] .src-mail { background: #26313f; color: var(--ink-2); }
[data-theme="dark"] .src-tc, [data-theme="promax"] .src-tc { background: #33280f; color: #ffcc80; }
[data-theme="dark"] .alt-badge, [data-theme="promax"] .alt-badge { background: #16304a; color: #8ec5ff; }
[data-theme="dark"] .better-box, [data-theme="promax"] .better-box { background: #13301f; border-color: #1f5a38; }
[data-theme="dark"] .export-box, [data-theme="promax"] .export-box { background: #33280f; border-color: #6d5418; }
[data-theme="dark"] .export-box.export-must, [data-theme="promax"] .export-box.export-must { background: #4a1d1a; border-color: #7a2d28; }
[data-theme="dark"] .export-box.export-opt, [data-theme="promax"] .export-box.export-opt { background: #16304a; border-color: #2a4d73; }
[data-theme="dark"] .base-box, [data-theme="promax"] .base-box { background: #1a2340; border-color: #2e3d6b; }
[data-theme="dark"] .cov.on, [data-theme="promax"] .cov.on { background: #13301f; color: #6fdc9c; border-color: #1f5a38; }
[data-theme="dark"] .cov.off, [data-theme="promax"] .cov.off { background: #26313f; color: var(--muted); }
[data-theme="dark"] .progress-bar, [data-theme="promax"] .progress-bar { background: #26313f; }
[data-theme="dark"] .tc-bar, [data-theme="promax"] .tc-bar { background: #26313f; }
[data-theme="dark"] .empty b, [data-theme="promax"] .empty b { color: var(--ink-2); }
[data-theme="dark"] .zam-top td, [data-theme="promax"] .zam-top td { background: #13301f; }
[data-theme="dark"] .card:hover, [data-theme="promax"] .card:hover { box-shadow: 0 2px 6px rgba(0,0,0,.4); }
[data-theme="dark"] .login-form, [data-theme="promax"] .login-form { background: var(--bg); }
[data-theme="dark"] .search::before, [data-theme="promax"] .search::before { color: var(--muted); }
[data-theme="dark"] .log-line, [data-theme="promax"] .log-line { border-bottom-color: var(--line); }
[data-theme="dark"] .toolbar .btn, [data-theme="promax"] .toolbar .btn { color: var(--ink); }
[data-theme="dark"] .wa-box, [data-theme="promax"] .wa-box { color: var(--ink); }
[data-theme="dark"] #amzai-panel, [data-theme="promax"] #amzai-panel { background: var(--card); border-color: var(--line); }
[data-theme="dark"] #amzai-log, [data-theme="promax"] #amzai-log { background: #10161d; }
[data-theme="dark"] .amzai-m.b, [data-theme="promax"] .amzai-m.b { background: var(--card); border-color: var(--line); color: var(--ink); }
[data-theme="dark"] .amzai-m.u, [data-theme="promax"] .amzai-m.u { background: #33280f; border-color: #6d5418; color: var(--ink); }
[data-theme="dark"] #amzai-form, [data-theme="promax"] #amzai-form, [data-theme="dark"] #amzai-ocr, [data-theme="promax"] #amzai-ocr { background: var(--card); border-color: var(--line); }
[data-theme="dark"] ::-webkit-scrollbar-thumb, [data-theme="promax"] ::-webkit-scrollbar-thumb { background: #34414f; border-color: var(--bg); }
/* karty ze stylami inline „background:#fff / #f8fafc / #fafbfd” w szablonach — spójne tło w ciemnym */
[data-theme="dark"] main [style*="background:#fff"], [data-theme="promax"] main [style*="background:#fff"], [data-theme="dark"] main [style*="background: #fff"], [data-theme="promax"] main [style*="background: #fff"], [data-theme="dark"] main [style*="background:#f8fafc"], [data-theme="promax"] main [style*="background:#f8fafc"], [data-theme="dark"] main [style*="background:#fafbfd"], [data-theme="promax"] main [style*="background:#fafbfd"], [data-theme="dark"] main [style*="background:#f7f9fc"], [data-theme="promax"] main [style*="background:#f7f9fc"], [data-theme="dark"] main [style*="background:#f4f6f9"], [data-theme="promax"] main [style*="background:#f4f6f9"], [data-theme="dark"] main [style*="background:#f1f4f9"], [data-theme="promax"] main [style*="background:#f1f4f9"], [data-theme="dark"] main [style*="background:#fbfcfe"], [data-theme="promax"] main [style*="background:#fbfcfe"] { background: var(--card) !important; color: var(--ink); }

/* ============ chip — plakietka stanu (moduł gotowosc i inne) ============ */
.chip {
  display: inline-flex; align-items: center; gap: 4px; padding: 3px 11px;
  border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap;
  border: 1px solid transparent; text-decoration: none; line-height: 1.5;
}
.chip.ok { background: #eafaf1; color: var(--ok); border-color: #bfe8d2; }
.chip.warn { background: #fff4e0; color: #b9770e; border-color: #f5cf87; }
.chip.bad { background: #fdecea; color: var(--warn); border-color: #f3b7ae; }
.chip.info { background: #eaf2fb; color: var(--info); border-color: #bcd7ef; }
.chip.muted, .chip.none { background: #f1f4f9; color: var(--muted); border-color: var(--line); }
[data-theme="dark"] .chip.ok, [data-theme="promax"] .chip.ok { background: #13301f; color: #6fdc9c; border-color: #1f5a38; }
[data-theme="dark"] .chip.warn, [data-theme="promax"] .chip.warn { background: #33280f; color: #ffcc80; border-color: #6d5418; }
[data-theme="dark"] .chip.bad, [data-theme="promax"] .chip.bad { background: #4a1d1a; color: #ff9a90; border-color: #7a2d28; }
[data-theme="dark"] .chip.info, [data-theme="promax"] .chip.info { background: #16304a; color: #8ec5ff; border-color: #2a4d73; }
[data-theme="dark"] .chip.muted, [data-theme="promax"] .chip.muted, [data-theme="dark"] .chip.none, [data-theme="promax"] .chip.none { background: #26313f; color: var(--muted); border-color: var(--line); }
[data-theme="dark"] main [style*="color:#151c26"], [data-theme="promax"] main [style*="color:#151c26"], [data-theme="dark"] main [style*="color:#000"], [data-theme="promax"] main [style*="color:#000"] { color: var(--ink) !important; }
