/* Фирменный стиль VetCTschool (логобук 2025): бирюзовый #1B555D, лайм #C6E95E, Open Sans и акцентный шрифт для заголовков.
   Акцентный шрифт логобука Grato Classic CY лицензионный; пока вместо него Jost. Файлы Grato можно положить в /static/fonts и заменить src ниже. */
@font-face{font-family:"Open Sans";font-weight:400;font-display:swap;src:url(/static/fonts/opensans-400.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:600;font-display:swap;src:url(/static/fonts/opensans-600.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:700;font-display:swap;src:url(/static/fonts/opensans-700.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-display:swap;src:url(/static/fonts/jost-500.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:600;font-display:swap;src:url(/static/fonts/jost-600.woff2) format("woff2")}

:root{
  --teal:#1B555D;--lime:#C6E95E;
  --font:"Open Sans","Segoe UI",system-ui,-apple-system,sans-serif;--font-h:Jost,"Open Sans","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
  --bg:#f1f6f5;--panel:#fff;--tx:#10272b;--mut:#5a7074;--line:#d9e5e4;
  --acc:#1B555D;--acc-bg:#e2f0ee;--on-acc:#fff;--hl:#C6E95E;
  --on-ok:#fff;--ok:#1d7a4a;--ok-bg:#e3f5ea;--bad:#c33a3a;--bad-bg:#fbe9e9;--warn:#9a5f08;--warn-bg:#fdf1dc;
  --side:#1B555D;--side-tx:#cfe3e1;--side-on:#fff;--side-mut:#8db6b3;--side-hover:#25666f;--side-on-bg:#2b747d;--side-line:#3c8089;--side-box:#154750;
  --logo-fg:#1B555D;--logo-ac:#C6E95E;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0c1a1d;--panel:#12272b;--tx:#e5eeed;--mut:#92abae;--line:#223c41;
  --acc:#C6E95E;--acc-bg:#1b3a37;--on-acc:#0d2a2f;
  --on-ok:#0b2415;--ok:#5fd38d;--ok-bg:#12291d;--bad:#ef7a7a;--bad-bg:#2d1a1a;--warn:#e3b45d;--warn-bg:#2b2412;
  --side:#0f2a2f;--side-tx:#a9c3c3;--side-on:#fff;--side-mut:#6f9195;--side-hover:#173a40;--side-on-bg:#1c474e;--side-line:#2c5259;--side-box:#0b2024;
  --logo-fg:#fff;--logo-ac:#C6E95E;
}

body{font-family:var(--font)}
h1,h2,.brand,.kpi b{font-family:var(--font-h);font-weight:600}
h1{letter-spacing:.01em}

/* логотип: белые части — --logo-fg, лаймовые — --logo-ac */
.logo{display:block;height:auto}.lg-fg{fill:var(--logo-fg)}.lg-ac{fill:var(--logo-ac)}
.logo-h{width:176px}.logo-m{width:44px}

/* на бирюзовой боковой панели логотип всегда белый с лаймом, как в логобуке */
aside{--logo-fg:#fff;box-shadow:inset -4px 0 0 var(--lime)}
aside .brand{padding:2px 10px 16px}aside .brand small{margin-top:8px;font-family:var(--font);color:var(--side-mut);font-weight:400;font-size:12px;letter-spacing:.02em}
aside .grp{color:var(--side-mut)}
aside a:hover{background:var(--side-hover)}
aside a.on{background:var(--side-on-bg);color:var(--side-on);box-shadow:inset 3px 0 0 var(--lime)}
aside .soon{border-color:var(--side-line);color:var(--side-mut)}
aside .badge{background:var(--lime);color:#0d2a2f}
aside .side-left{background:var(--side-box)}

/* вход: фирменный бирюзовый фон, логотип над карточкой */
#login{background:var(--side);--logo-fg:#fff;align-content:center;gap:22px;justify-items:center}
#login .logo-h{width:min(260px,70vw)}
#login form{box-shadow:0 18px 50px rgba(0,0,0,.28);border-top:4px solid var(--lime)}

/* переключатель темы */
.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;color:var(--tx)}
.theme-btn .i-sun{display:none}:root[data-theme="dark"] .theme-btn .i-sun{display:block}:root[data-theme="dark"] .theme-btn .i-moon{display:none}
.top .tools{display:flex;gap:12px;align-items:center}

/* кнопки и акценты: в светлой теме бирюзовые, в тёмной лаймовые с тёмным текстом */
.btn.p,#v-rec{color:var(--on-acc)}
.btn.ok{color:var(--on-ok)}
.btn.p:hover{filter:brightness(1.08)}
.chip{background:var(--acc-bg);color:var(--acc)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.mut{background:var(--line);color:var(--mut)}
::selection{background:var(--lime);color:#0d2a2f}

/* подвал с реквизитами оператора и ссылками на правовые документы */
.site-footer{margin-top:36px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.55;color:var(--mut)}
.site-footer>div{margin-bottom:4px}.site-footer a{color:var(--acc)}
.site-footer .ft-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:8px}.site-footer .ft-note{margin-top:6px}
mark.todo{background:var(--warn-bg);color:var(--warn);padding:0 4px;border-radius:4px}
#login .site-footer{max-width:560px;text-align:center;border-top-color:var(--side-line);color:var(--side-tx);margin-top:0}
#login .site-footer a{color:#fff}#login .site-footer .ft-links{justify-content:center}

/* окно принятия условий при первом входе */
.lg-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:rgba(8,24,27,.72);overflow:auto}
.lg-gate .box{width:min(560px,100%);background:var(--panel);color:var(--tx);border:1px solid var(--line);border-top:4px solid var(--lime);border-radius:16px;padding:22px;display:grid;gap:12px}
.lg-gate h2{margin:0}.lg-gate label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px}.lg-gate input[type=checkbox]{margin-top:3px;width:18px;height:18px;flex:none}
