/* Спільне для всіх сторінок (панель, пульт, вхід, пароль, ТВ, вимір): кольори, крутилка, підказка, статуси.
   Тема — data-scheme на <html> (theme.js). Світла — типова (і для друку); темна — лише на екрані й лише коли
   не вибрано світлу: без theme.js (ТВ) — теж темна. Акцент — Pantone Turf Green (17-0119 TCX ≈ #6E8E6E),
   кути — мінімальні (--r). Кольори окремих вкладок (зони плану, групи блоків правил) — у їхніх файлах. */
:root {
  --bg: #f3f5f3;
  --panel: #ffffff;
  --text: #1b231d;
  --muted: #5d6a61;
  --border: #d9dfda;
  --accent: #4a694c;       /* затемнено для тексту на світлому */
  --accent-fill: #56755a;  /* заливка з білим текстом */
  --accent-text: #ffffff;
  --ok: #15803d;
  --warn: #b45309;
  --danger: #dc2626;
  --on: #2f8f3a;           /* увімкнено (пульт) */
  --r: 4px;
  --r2: 6px;
  color-scheme: light;
}
@media screen {
  :root:not([data-scheme="light"]) {
    --bg: #0f1311;
    --panel: #171c19;
    --text: #e5e9e6;
    --muted: #98a39c;
    --border: #2b332e;
    --accent: #9dba9d;
    --accent-fill: #5a7a5a;
    --ok: #4ade80;
    --warn: #fbbf24;
    --danger: #f87171;
    --on: #6fbf73;
    color-scheme: dark;
  }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

.ok-text { color: var(--ok); }
.warn-text { color: var(--warn); }
.bad-text { color: var(--danger); }

/* Крутилка: колір — --spin (типово акцент) */
.spinner { --spin: var(--accent); display: inline-block; width: 14px; height: 14px; flex: none; vertical-align: -2px;
  border-radius: 50%; border: 2px solid color-mix(in srgb, var(--spin) 25%, transparent); border-top-color: var(--spin);
  animation: spin .8s linear infinite; }
/* Відео камери, поки набирає запас (camlive.js) — велика крутилка поверх */
.cam-wait { position: relative; }
.cam-wait::after { content: ""; position: absolute; left: 50%; top: 50%; width: 36px; height: 36px; margin: -18px 0 0 -18px;
  border: 3px solid rgba(255, 255, 255, .3); border-top-color: #fff; border-radius: 50%; pointer-events: none;
  animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spinner, .cam-wait::after { animation-duration: 3s; } }

/* Хід фонового завдання (dacha.jobLine) */
.job-line { margin-top: 6px; color: var(--muted); }
.job-line .ok-text, .job-line .bad-text { margin: 4px 0 0; }

/* Коротке повідомлення внизу (dacha.toast) */
.toast {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 30;
  max-width: calc(100vw - 32px); padding: 10px 16px; border-radius: var(--r2);
  background: var(--text); color: var(--bg); font-size: .92rem; box-shadow: 0 6px 24px rgb(0 0 0 / .25);
}
