/* portal_theme.css — единая тема портала restasystem (тёмная по умолчанию + светлая).
   Тёмные правила имеют префикс html[data-theme="dark"] (высокая специфичность,
   перекрывают инлайновые стили страниц независимо от порядка подключения). */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

html[data-theme="dark"]{
  --bg:#0c0f18; --surface:#12161f; --surface2:#171d2b; --elev:#141b2c;
  --line:#1e2432; --line2:#2a3346;
  --text:#e8ecf3; --muted:#7c869b;
  --accent:#3f7bff; --link:#6ea0ff; --input:#0f1420; --chip:#1a2130;
  --pos:#3ddc84; --warn:#ffb454; --neg:#ff6b6b; --sig:#6ea0ff;
}
html[data-theme="light"]{
  --accent:#004FFF; --link:#2b4c8c;
}

/* шрифт для обеих тем */
html[data-theme] body{ font-family:'Manrope',-apple-system,Segoe UI,Roboto,Arial,sans-serif !important; }

/* ============ ТЁМНАЯ ТЕМА ============ */
html[data-theme="dark"] body{ background:var(--bg) !important; color:var(--text); }
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3{ color:var(--text); }

/* поверхности-карточки */
html[data-theme="dark"] .tile,
html[data-theme="dark"] .filters,
html[data-theme="dark"] .card,
html[data-theme="dark"] #loginBox,
html[data-theme="dark"] table,
html[data-theme="dark"] table.res,
html[data-theme="dark"] .modal{
  background:var(--surface) !important;
  border-color:var(--line) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.4) !important;
  color:var(--text);
}
html[data-theme="dark"] .card{ border:1px solid var(--line) !important; }

/* таблицы */
html[data-theme="dark"] th,
html[data-theme="dark"] td{ border-color:var(--line) !important; }
html[data-theme="dark"] th{ background:var(--surface2) !important; color:var(--muted) !important; }
html[data-theme="dark"] tr.inv:hover,
html[data-theme="dark"] tr.company-row:hover{ background:#161d2c !important; }
html[data-theme="dark"] .detail td{ background:#10151f !important; white-space:normal; }
html[data-theme="dark"] .detail th{ background:#141b28 !important; }

/* приглушённый текст */
html[data-theme="dark"] .sub,
html[data-theme="dark"] .muted,
html[data-theme="dark"] .tile .lbl,
html[data-theme="dark"] .tile .val small,
html[data-theme="dark"] .count,
html[data-theme="dark"] .count-line,
html[data-theme="dark"] .rsub,
html[data-theme="dark"] .rt + .rsub{ color:var(--muted) !important; }

/* ссылки */
html[data-theme="dark"] a,
html[data-theme="dark"] a.back,
html[data-theme="dark"] .top a,
html[data-theme="dark"] .links a{ color:var(--link) !important; }

/* поля ввода */
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .filters input,
html[data-theme="dark"] .filters select,
html[data-theme="dark"] .bar input,
html[data-theme="dark"] td input,
html[data-theme="dark"] #loginBox input,
html[data-theme="dark"] .params input,
html[data-theme="dark"] input[type=file]{
  background:var(--input) !important; color:var(--text) !important;
  border-color:var(--line2) !important;
}
html[data-theme="dark"] td input{ background:transparent !important; border-color:transparent !important; }
html[data-theme="dark"] td input:hover{ border-color:var(--line2) !important; }
html[data-theme="dark"] td input:focus{ background:var(--input) !important; border-color:var(--accent) !important; }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{ color:#5a6376; }
html[data-theme="dark"] input[type=date]{ color-scheme:dark; }

/* кнопки */
html[data-theme="dark"] button,
html[data-theme="dark"] .btn,
html[data-theme="dark"] .pc-btn{ background:var(--accent) !important; color:#fff !important; border:none; }
html[data-theme="dark"] .btn.sec,
html[data-theme="dark"] .pc-btn.sec{ background:var(--chip) !important; color:var(--link) !important; }
html[data-theme="dark"] .filters .reset,
html[data-theme="dark"] .reset{ background:var(--chip) !important; color:var(--link) !important; border-color:var(--line2) !important; }
html[data-theme="dark"] button:disabled{ background:#2a3346 !important; color:#7c869b !important; }

/* заметка/подсказка (light-blue tint) */
html[data-theme="dark"] .note{ background:#12224a !important; border-color:#24365f !important; color:#cfe0ff !important; }
html[data-theme="dark"] .note b{ color:#9fc0ff !important; }

/* статусы оплаты / результата */
html[data-theme="dark"] .paid,
html[data-theme="dark"] .ok,
html[data-theme="dark"] tr.saved td.cl{ color:var(--pos) !important; }
html[data-theme="dark"] .unpaid{ color:var(--neg) !important; }
html[data-theme="dark"] .partial{ color:var(--warn) !important; }
html[data-theme="dark"] .err,
html[data-theme="dark"] .error{ color:var(--neg) !important; }
html[data-theme="dark"] .spin{ border-color:var(--line2) !important; border-top-color:var(--accent) !important; }

/* chip / tag */
html[data-theme="dark"] .chip{ background:var(--chip) !important; color:#aeb7c8 !important; }

/* ---- reports.html (отчёты) ---- */
html[data-theme="dark"] .tab{ background:var(--surface) !important; border-color:var(--line) !important; color:#aeb7c8 !important; }
html[data-theme="dark"] .tab.active{ background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important; }
html[data-theme="dark"] .rep th{ background:var(--surface2) !important; color:var(--muted) !important; }
html[data-theme="dark"] .rep th,
html[data-theme="dark"] .rep td{ border-color:var(--line) !important; }
html[data-theme="dark"] tr.tot td{ background:var(--elev) !important; border-top-color:#26325a !important; }
html[data-theme="dark"] .box .s{ color:#dfe4ee; }
html[data-theme="dark"] .box .s em,
html[data-theme="dark"] .box .cnt,
html[data-theme="dark"] .box .n{ color:#79839a !important; }
html[data-theme="dark"] .cur .s,
html[data-theme="dark"] .cur .sum{ color:var(--pos) !important; }
html[data-theme="dark"] .mid .s,
html[data-theme="dark"] .mid .sum{ color:var(--warn) !important; }
html[data-theme="dark"] .sig .s,
html[data-theme="dark"] .sig .sum{ color:var(--sig) !important; }
html[data-theme="dark"] .cellbox:hover{ background:#1a2233 !important; outline-color:#2a3860 !important; }
html[data-theme="dark"] .z{ color:#39435a !important; }
html[data-theme="dark"] .params .pl{ color:var(--muted) !important; }
html[data-theme="dark"] .loading{ color:var(--muted) !important; }

/* модалка отчёта */
html[data-theme="dark"] .mhead{ border-color:var(--line) !important; }
html[data-theme="dark"] .mhead .x{ color:#8792a6 !important; }
html[data-theme="dark"] .inv{ border-color:var(--line) !important; }
html[data-theme="dark"] .invh:hover{ background:var(--surface2) !important; }
html[data-theme="dark"] .invbody{ background:#0f1420 !important; border-top-color:var(--line) !important; }
html[data-theme="dark"] .invbody td{ border-bottom-color:#1c2230 !important; }

/* ---- portal_core.js мультиселекты ---- */
html[data-theme="dark"] .pc-f>label{ color:var(--muted) !important; }
html[data-theme="dark"] .pc-f input[type=text]{ background:var(--input) !important; color:var(--text) !important; border-color:var(--line2) !important; }
html[data-theme="dark"] .pc-ms-btn{ background:var(--input) !important; color:var(--text) !important; border-color:var(--line2) !important; }
html[data-theme="dark"] .pc-ms-pop{ background:var(--surface2) !important; border-color:var(--line2) !important; box-shadow:0 8px 24px rgba(0,0,0,.5) !important; }
html[data-theme="dark"] .pc-ms-search{ background:var(--input) !important; color:var(--text) !important; border-color:var(--line2) !important; }
html[data-theme="dark"] .pc-ms-opt:hover{ background:#1a2233 !important; }
html[data-theme="dark"] .pc-ms-act a{ color:var(--link) !important; }

/* contractors: секции */
html[data-theme="dark"] .sec h2{ border-bottom-color:var(--line) !important; color:var(--text); }

/* ============ ПЕРЕКЛЮЧАТЕЛЬ ТЕМЫ (FAB) ============ */
.pt-fab{
  position:fixed; right:20px; bottom:20px; z-index:9999;
  width:46px; height:46px; border-radius:14px; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:#004FFF; color:#fff; box-shadow:0 8px 22px rgba(0,40,120,.35);
  transition:transform .12s ease;
}
.pt-fab:hover{ transform:translateY(-2px); }
.pt-fab svg{ width:22px; height:22px; }
html[data-theme="dark"] .pt-fab{ background:var(--accent); box-shadow:0 8px 22px rgba(0,0,0,.5); }
.pt-fab .moon{ display:none; } .pt-fab .sun{ display:block; }
html[data-theme="dark"] .pt-fab .sun{ display:none; } html[data-theme="dark"] .pt-fab .moon{ display:block; }
