/* Тактична тема: темний хакі, сітка карти, моноширинні позначки, смуги небезпеки.
   Діє лише при <html data-theme="military">, класична тема лишається в style.css. */
[data-theme="military"] {
  --bg: #0b0e09; --fg: #d6dcc4; --muted: #7f8a6a; --card: #12170f; --line: #2a3322;
  --p3: #ff3b30; --p2: #ffb000; --p1: #5e6b4a; --accent: #8fa35a;
  --olive: #4b5a2e; --khaki: #a9a57a; --amber: #ffb000;
  --hl-air: rgba(255, 59, 48, .32); --hl-spotters: rgba(255, 176, 0, .32); --hl-front: rgba(255, 112, 40, .3);
  --hl-city: rgba(64, 200, 220, .25); --hl-military: rgba(143, 163, 90, .35); --hl-home: rgba(230, 70, 200, .3); --hl-tech: rgba(170, 220, 60, .3);
  --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: dark;
}

[data-theme="military"] body {
  background-color: var(--bg);
  /* сітка координат */
  background-image:
    linear-gradient(rgba(143, 163, 90, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 163, 90, .05) 1px, transparent 1px);
  background-size: 32px 32px;
  background-attachment: fixed;
}

/* ---------- загальні елементи ---------- */
[data-theme="military"] .card { border-radius: 2px; background: linear-gradient(180deg, #151b11, var(--card)); position: relative; }
[data-theme="military"] input,
[data-theme="military"] select,
[data-theme="military"] button { border-radius: 2px; font-family: var(--mono); font-size: 13px; background: #0e120b; }
[data-theme="military"] input:focus,
[data-theme="military"] select:focus { outline: 1px solid var(--accent); border-color: var(--accent); }
[data-theme="military"] button:hover { border-color: var(--accent); color: #fff; }
[data-theme="military"] button.primary {
  background: var(--olive); border-color: var(--accent); color: #eef2dc;
  text-transform: uppercase; letter-spacing: .12em; font-weight: 600;
}
[data-theme="military"] button.primary:hover { background: #5b6d36; }
[data-theme="military"] .error { font-family: var(--mono); font-size: 13px; }
[data-theme="military"] .muted { color: var(--muted); }
[data-theme="military"] code { color: var(--amber); }

/* ---------- шапка ---------- */
[data-theme="military"] header {
  background: rgba(11, 14, 9, .94); backdrop-filter: blur(4px);
  border-bottom: 1px solid var(--olive); box-shadow: 0 1px 0 rgba(143, 163, 90, .15);
}
[data-theme="military"] header h1 {
  font-family: var(--mono); font-size: 14px; letter-spacing: .18em; text-transform: uppercase; color: var(--khaki);
}
[data-theme="military"] header h1::before { content: "▲ "; color: var(--amber); }
[data-theme="military"] header h1::after { content: " // СИТУАЦІЙНА СТРІЧКА"; color: var(--muted); font-weight: 400; }
[data-theme="military"] .tab {
  font-family: var(--mono); text-transform: uppercase; letter-spacing: .1em; font-size: 12px;
  color: var(--muted); border: 1px solid transparent; background: none;
}
[data-theme="military"] .tab.active { color: var(--fg); border-color: var(--olive); background: rgba(75, 90, 46, .25); }
[data-theme="military"] .tab.active::before { content: "» "; color: var(--amber); }

/* ---------- фільтри й категорії ---------- */
[data-theme="military"] .chip {
  border-radius: 2px; text-transform: uppercase; letter-spacing: .06em; font-size: 11.5px; padding: 4px 9px;
}
[data-theme="military"] .chip.active { background: var(--olive); color: #eef2dc; border-color: var(--accent); }
[data-theme="military"] .summary {
  font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--khaki);
  border-top: 1px dashed var(--line); border-bottom: 1px dashed var(--line); padding: 5px 0;
}
[data-theme="military"] .summary::before { content: "■ ЗВЕДЕННЯ: "; color: var(--muted); }

/* ---------- картки подій ---------- */
[data-theme="military"] .event { border-left-width: 3px; padding-left: 18px; }
/* кутові мітки прицілу */
[data-theme="military"] .event::before,
[data-theme="military"] .event::after {
  content: ""; position: absolute; width: 10px; height: 10px; border-color: var(--khaki); border-style: solid; opacity: .5;
}
[data-theme="military"] .event::before { top: -1px; right: -1px; border-width: 1px 1px 0 0; }
[data-theme="military"] .event::after { bottom: -1px; right: -1px; border-width: 0 1px 1px 0; }

[data-theme="military"] .event.p3 {
  border-color: rgba(255, 59, 48, .55); border-left-color: var(--p3);
  background: linear-gradient(180deg, rgba(255, 59, 48, .08), var(--card) 60%);
  box-shadow: 0 0 0 1px rgba(255, 59, 48, .15), 0 0 18px rgba(255, 59, 48, .08);
  padding-top: 20px;
}
/* смуга небезпеки згори */
[data-theme="military"] .event.p3 > .meta::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px;
  background: repeating-linear-gradient(-45deg, var(--p3) 0 10px, #1a0705 10px 20px);
}
[data-theme="military"] .event.p2 { border-left-color: var(--p2); }
[data-theme="military"] .event.p1 { border-left-color: var(--p1); }

[data-theme="military"] .meta { font-family: var(--mono); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; }
[data-theme="military"] .badge {
  border-radius: 2px; font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase;
  background: transparent; border: 1px solid var(--line); color: var(--khaki);
}
[data-theme="military"] .badge.p3 { background: var(--p3); border-color: var(--p3); color: #fff; font-weight: 700; animation: mil-blink 1.6s steps(2) infinite; }
[data-theme="military"] .badge.p3::before { content: "⚠ "; }
[data-theme="military"] .badge.p2 { border-color: var(--p2); color: var(--p2); font-weight: 700; }
[data-theme="military"] .badge.p1 { color: var(--muted); }
@keyframes mil-blink { 50% { background: #a1150d; border-color: #a1150d; } }
@media (prefers-reduced-motion: reduce) { [data-theme="military"] .badge.p3 { animation: none; } }

[data-theme="military"] .text { font-size: 15px; line-height: 1.5; }
[data-theme="military"] mark { border-radius: 1px; box-shadow: inset 0 -1px 0 currentColor; }
[data-theme="military"] mark.air { box-shadow: inset 0 -2px 0 var(--p3); }
[data-theme="military"] mark.spotters { box-shadow: inset 0 -2px 0 var(--amber); }

[data-theme="military"] .llm {
  border-radius: 2px; background: rgba(143, 163, 90, .08); border-left: 2px solid var(--accent);
  font-size: 13.5px;
}
[data-theme="military"] .llm::first-letter { filter: grayscale(1); }

[data-theme="military"] .actions button { text-transform: uppercase; font-size: 11px; letter-spacing: .06em; }
[data-theme="military"] .actions button.on { background: var(--olive); color: #eef2dc; border-color: var(--accent); }

/* ---------- акаунти ---------- */
[data-theme="military"] .acc h3 {
  font-family: var(--mono); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--khaki);
}
[data-theme="military"] .acc h3::before { content: "◆ "; color: var(--accent); }
[data-theme="military"] .acc img { border-radius: 2px; outline: 1px solid var(--accent); outline-offset: 4px; }
[data-theme="military"] .ok { color: #7bd35a; font-family: var(--mono); }
[data-theme="military"] .ok::before { content: "● "; }
[data-theme="military"] .bad { color: var(--p3); font-family: var(--mono); }

/* ---------- вхід ---------- */
[data-theme="military"] .login { border-color: var(--olive); padding: 22px 22px 18px; }
[data-theme="military"] .login::before {
  content: "ОБМЕЖЕНИЙ ДОСТУП"; position: absolute; top: -9px; left: 16px; padding: 0 8px;
  background: var(--bg); color: var(--amber); font: 600 11px/18px var(--mono); letter-spacing: .2em;
}
[data-theme="military"] .login h1 {
  font-family: var(--mono); text-transform: uppercase; letter-spacing: .2em; font-size: 20px; color: var(--khaki);
}
[data-theme="military"] .login h1::before { content: "▲ "; color: var(--amber); }

@media (max-width: 560px) {
  [data-theme="military"] header h1::after { content: ""; }
}

/* ---------- класична тема: перемикач однаковий ---------- */
#theme { font-size: 12px; }

/* роздільники між часом, групою, кількістю й джерелом */
[data-theme="military"] .meta > span:not(.badge) + span:not(.badge)::before { content: "/ "; color: var(--olive); }
[data-theme="military"] .meta > span:not(.badge):first-of-type,
[data-theme="military"] .meta > .badge + span:not(.badge) { color: var(--fg); }

/* ---------- диктування ---------- */
[data-theme="military"] button.mic { background: var(--olive); border-color: var(--accent); color: #eef2dc; font-size: 15px;
  text-transform: uppercase; letter-spacing: .12em; }
[data-theme="military"] button.mic[aria-pressed="true"] { background: #7a1510; border-color: var(--p3); animation: mil-blink 1.6s steps(2) infinite; }
[data-theme="military"] .level { border-radius: 0; background: #0e120b; border: 1px solid var(--line); height: 6px; }
[data-theme="military"] .level div { background: repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 8px); }
[data-theme="military"] #dict-status { font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
[data-theme="military"] textarea { border-radius: 2px; background: #0e120b; font-size: 16px; line-height: 1.5; }
[data-theme="military"] textarea:focus { outline: 1px solid var(--accent); }

/* карта: темні тайли в тон інтерфейсу */
[data-theme="military"] .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.85) saturate(.4) sepia(.25); }
[data-theme="military"] .leaflet-container { background: #0b0f09; }
[data-theme="military"] #map { border-radius: 2px; }
[data-theme="military"] .map-tag { background: #0e120b; color: #d8e0c0; border-radius: 2px; }
[data-theme="military"] .leaflet-popup-content-wrapper, [data-theme="military"] .leaflet-popup-tip { background: #151b11; color: var(--fg); border-radius: 2px; }

/* рамки детектора й перегляд фото: тактичні кольори */
[data-theme="military"] { --g-ground: #ffb000; --g-air: #ff3b30; --g-people: #40c8dc; }
[data-theme="military"] .box { border-width: 1px; border-radius: 0; background:
  linear-gradient(var(--g), var(--g)) 0 0 / 8px 2px, linear-gradient(var(--g), var(--g)) 0 0 / 2px 8px,
  linear-gradient(var(--g), var(--g)) 100% 100% / 8px 2px, linear-gradient(var(--g), var(--g)) 100% 100% / 2px 8px;
  background-repeat: no-repeat; }
[data-theme="military"] .box b { border-radius: 0; letter-spacing: .06em; }
[data-theme="military"] #lightbox { background: rgba(6, 8, 5, .94); }
[data-theme="military"] #lightbox button { border-radius: 2px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .08em; }
[data-theme="military"] .lb-item { border-radius: 0; font-family: var(--mono); font-size: 12px; text-transform: uppercase; }
[data-theme="military"] .shot { outline: 1px solid var(--line); }

/* картка події */
[data-theme="military"] #drawer { background: #0b0e09; border-left: 1px solid var(--olive); }
[data-theme="military"] .dr-bar { background: #0b0e09; font-family: var(--mono); text-transform: uppercase; letter-spacing: .1em;
  font-size: 11.5px; color: var(--khaki); border-bottom-color: var(--olive); }
[data-theme="military"] .dr-title { font-family: var(--mono); font-size: 16px; letter-spacing: .02em; color: #eef2dc; }
[data-theme="military"] .dr-facts div { border-radius: 2px; font-family: var(--mono); background: #10150d; }
[data-theme="military"] .dr-facts small { text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
[data-theme="military"] .dr-h { font-family: var(--mono); text-transform: uppercase; letter-spacing: .12em; font-size: 11.5px; color: var(--khaki); }
[data-theme="military"] .dr-h::before { content: "■ "; color: var(--amber); }
[data-theme="military"] #dr-map { border-radius: 2px; }
[data-theme="military"] .timeline { border-left: 1px dashed var(--olive); }
[data-theme="military"] .tl { border-radius: 2px; background: linear-gradient(180deg, #151b11, var(--card)); }
[data-theme="military"] .tl::before { border-radius: 0; transform: rotate(45deg); border-color: #0b0e09; }
[data-theme="military"] .pick-filter { border-radius: 2px; font-family: var(--mono); font-size: 12px; text-transform: uppercase;
  letter-spacing: .06em; border-color: var(--amber); color: var(--khaki); }
[data-theme="military"] .pick-filter b { color: var(--amber); }
[data-theme="military"] .leaflet-tooltip { background: #0e120b; color: #d8e0c0; border: 1px solid var(--olive); border-radius: 2px;
  font: 600 11px var(--mono); box-shadow: none; }

/* ---------- надійність джерел ---------- */
[data-theme="military"] .rate { border-radius: 1px; font-family: var(--mono); }
[data-theme="military"] .rate.r-A, [data-theme="military"] .rate.r-B { color: #7ee07a; }
[data-theme="military"] .rate.r-C { color: var(--accent); }
[data-theme="military"] .badge.conf.c1 { background: #2f6b2a; color: #e6ffd9; }
[data-theme="military"] .badge.conf.c2 { background: rgba(126, 224, 122, .15); color: #7ee07a; border-color: rgba(126, 224, 122, .4); }
[data-theme="military"] .badge.conf.c3 { background: rgba(64, 200, 220, .15); color: #6fd6e6; border-color: rgba(64, 200, 220, .4); }
[data-theme="military"] .badge.conf.c4 { background: rgba(255, 176, 0, .15); color: var(--amber); border-color: rgba(255, 176, 0, .4); }
[data-theme="military"] .badge.conf.c5 { background: var(--p3); color: #fff; }
[data-theme="military"] .badge.conf.c6 { color: var(--muted); border-color: var(--line); background: none; }
[data-theme="military"] .badge.reused { background: repeating-linear-gradient(-45deg, rgba(255, 176, 0, .25) 0 6px, transparent 6px 12px);
  color: var(--amber); border: 1px solid var(--amber); }
[data-theme="military"] .warn { border-radius: 2px; border-color: var(--amber); background: rgba(255, 176, 0, .08); font-family: var(--mono); font-size: 12.5px; }
[data-theme="military"] .dr-facts .conf-cell.c1, [data-theme="military"] .dr-facts .conf-cell.c2 { color: #7ee07a; }
[data-theme="military"] .src { border-radius: 2px; }
[data-theme="military"] .src.r-A, [data-theme="military"] .src.r-B { border-left-color: #7ee07a; }
[data-theme="military"] .src-stats div { border-radius: 2px; border: 1px solid var(--line); background: #0e120b; font-family: var(--mono); }
[data-theme="military"] .src-stats small { text-transform: uppercase; letter-spacing: .06em; }
[data-theme="military"] .src-help { font-family: var(--mono); font-size: 12px; }

/* зони й шари карти */
[data-theme="military"] .badge.zone { background: rgba(64, 200, 220, .15); color: #7fdcea; border: 1px solid rgba(64, 200, 220, .5);
  font-family: var(--mono); }
[data-theme="military"] .zone-form { border-radius: 2px; background: #0e120b; }
[data-theme="military"] #zone-save { background: var(--olive); border-color: var(--accent); }
[data-theme="military"] .zone-circle { stroke: #40c8dc; fill: #40c8dc; }
[data-theme="military"] .zone-label { background: #0e120b; color: #7fdcea; border: 1px solid #40c8dc; border-radius: 2px; font-family: var(--mono); }
[data-theme="military"] .zone-item { border-radius: 2px; background: #0e120b; }
[data-theme="military"] .zone-item button { font-family: var(--mono); font-size: 12px; }
[data-theme="military"] .map-layers { font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
[data-theme="military"] .map-layers input[type=checkbox] { accent-color: var(--accent); }
[data-theme="military"] .alert-label { background: #0e120b; color: #ff3b30; border: 1px solid #ff3b30; border-radius: 2px; font-family: var(--mono); }
[data-theme="military"] .set-card { border-radius: 2px; }
[data-theme="military"] .set-card h2 { font-family: var(--mono); font-size: 13px; text-transform: uppercase; letter-spacing: .1em; color: var(--accent); }
[data-theme="military"] .set-h, [data-theme="military"] .set-field > span { font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
[data-theme="military"] .set-field textarea, [data-theme="military"] .set-test textarea,
[data-theme="military"] .set-word input, [data-theme="military"] .set-word select { border-radius: 2px; background: #0e120b; font-family: var(--mono); font-size: 13px; }
[data-theme="military"] .set-range output { font-family: var(--mono); color: var(--accent); }
[data-theme="military"] .set-oblasts { font-family: var(--mono); font-size: 12.5px; }
[data-theme="military"] .set-oblasts label.front { color: var(--p2); font-weight: 400; }
[data-theme="military"] .set-bar { border-radius: 2px; background: #0e120b; box-shadow: none; border-color: var(--accent); }
[data-theme="military"] #set-save { background: var(--accent); color: #0b0e09; font-weight: 700; }
[data-theme="military"] #set-status { font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; }

/* «Із фото» */
[data-theme="military"] .photo-hints { border-radius: 2px; border-color: var(--line); background: rgba(143, 163, 90, .04); }
[data-theme="military"] .photo-hints summary { font-family: var(--mono); font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--khaki); }
[data-theme="military"] .ph-row > b { font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 400; }
[data-theme="military"] .ph-text { color: var(--khaki); }
[data-theme="military"] .box.ocr { --g: var(--khaki); background: none; border-style: dashed; }
[data-theme="military"] .exif-point { stroke: var(--amber); fill: var(--amber); }
[data-theme="military"] .ph-map { color: var(--amber); font-family: var(--mono); text-transform: uppercase; font-size: 11px; letter-spacing: .06em; }

/* ---------- Аналіз і справи ---------- */
[data-theme="military"] .an-switch { border-radius: 2px; background: transparent; border-color: var(--olive); }
[data-theme="military"] .an-view { border-radius: 1px; font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 400; }
[data-theme="military"] .an-view.active { background: var(--olive); color: var(--fg); }
[data-theme="military"] .ev-row { border-radius: 2px; }
[data-theme="military"] .ev-time { font-family: var(--mono); }
[data-theme="military"] .dg-day { font-family: var(--mono); text-transform: uppercase; letter-spacing: .08em; font-size: 15px; color: var(--khaki); }
[data-theme="military"] .dg-tile { border-radius: 2px; border-color: var(--line); }
[data-theme="military"] .dg-tile small, [data-theme="military"] .dg-grid .card h3, [data-theme="military"] .gr-side h4, [data-theme="military"] .tl-day {
  font-family: var(--mono); text-transform: uppercase; letter-spacing: .1em; font-size: 11px; color: var(--khaki); font-weight: 400; }
[data-theme="military"] .dg-tile b { font-family: var(--mono); }
[data-theme="military"] .dg-tile.p3 b { color: var(--p3); } [data-theme="military"] .dg-tile.p2 b { color: var(--amber); } [data-theme="military"] .dg-tile.ok b { color: var(--accent); }
[data-theme="military"] .bar, [data-theme="military"] .bar i { border-radius: 0; }
[data-theme="military"] .bar i { background: var(--accent); }
[data-theme="military"] .bar i.danger { background: var(--p3); }
[data-theme="military"] .hours i { background: var(--accent); border-radius: 0; }
[data-theme="military"] .badge.new { background: var(--accent); color: #0b0e09; border-radius: 1px; font-family: var(--mono); }
[data-theme="military"] .tl-svg .axis text, [data-theme="military"] .tl-svg .max, [data-theme="military"] .gr-n text { font-family: var(--mono); }
[data-theme="military"] .gt.place, [data-theme="military"] .gr-n.place circle { fill: #40c8dc; background: #40c8dc; }
[data-theme="military"] .gt.obj { background: var(--accent); border-radius: 0; }
[data-theme="military"] .gr-n.obj rect { fill: var(--accent); }
[data-theme="military"] .gr-n.warn circle { fill: var(--amber); }
[data-theme="military"] .gr-n circle, [data-theme="military"] .gr-n rect { stroke: #0b0e09; }
[data-theme="military"] .gr-n text { stroke: #0b0e09; }
[data-theme="military"] .gr-route { stroke: var(--amber); } [data-theme="military"] #gr-arrow path { fill: var(--amber); }
[data-theme="military"] .gr-side h3, [data-theme="military"] .cs-title { font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; }
[data-theme="military"] .cs-item, [data-theme="military"] .btn, [data-theme="military"] .cs-pop, [data-theme="military"] .cs-notes textarea, [data-theme="military"] .cs-note { border-radius: 2px; }
[data-theme="military"] .btn, [data-theme="military"] .danger-btn { font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
[data-theme="military"] .cs-ev { border-radius: 2px; }
[data-theme="military"] .cs-pop { background: #12170f; border-color: var(--olive); }
[data-theme="military"] .dr-bar #dr-case.on { border-color: var(--amber); color: var(--amber); }

/* passkey */
[data-theme="military"] .pk-item { border-radius: 2px; background: #0e120b; font-family: var(--mono); font-size: 13px; }
[data-theme="military"] .pk-item.current { border-color: var(--olive); box-shadow: inset 2px 0 0 var(--accent); }
[data-theme="military"] .badge.pk-cur { background: rgba(126, 224, 122, .15); color: #7ee07a; border-color: rgba(126, 224, 122, .4); }
[data-theme="military"] .pk-del { text-transform: uppercase; font-size: 11px; letter-spacing: .06em; }
[data-theme="military"] .pk-del:hover { color: var(--p3); border-color: var(--p3); }
[data-theme="military"] .pk-msg { font-family: var(--mono); font-size: 12px; }
[data-theme="military"] .inv-box { border-top: 1px dashed var(--olive); }
[data-theme="military"] .inv-box h4 { font-family: var(--mono); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--khaki); }
[data-theme="military"] .inv-box h4::before { content: "+ "; color: var(--amber); }
[data-theme="military"] .inv-new { border: 1px dashed var(--amber); border-radius: 2px; background: #0e120b; }
[data-theme="military"] .inv-qr { border-radius: 0; box-shadow: 0 0 0 1px var(--olive); }
[data-theme="military"] .inv-url { font-family: var(--mono); background: #0b0e09; }
[data-theme="military"] .badge.inv-st { background: rgba(255, 176, 0, .12); color: var(--amber); border-color: rgba(255, 176, 0, .4); text-transform: uppercase; font-size: 10px; letter-spacing: .06em; }
[data-theme="military"] .inv-item.joined .badge.inv-st { background: rgba(126, 224, 122, .15); color: #7ee07a; border-color: rgba(126, 224, 122, .4); }
[data-theme="military"] .inv-item.revoked .badge.inv-st { background: transparent; color: var(--muted); border-color: var(--line); }

/* ---------- тренди ---------- */
[data-theme="military"] .tr-card h3 { font-family: var(--mono); text-transform: uppercase; letter-spacing: .1em; font-size: 11px; color: var(--khaki); font-weight: 400; }
[data-theme="military"] .tr-svg .axis text, [data-theme="military"] .tr-svg .max, [data-theme="military"] .tr-heat { font-family: var(--mono); }
[data-theme="military"] .tr-svg rect.all { fill: var(--olive); }
[data-theme="military"] .tl-legend i.all { background: var(--olive); }
[data-theme="military"] .tr-svg rect, [data-theme="military"] .tr-heat i, [data-theme="military"] .tr-heat-key i { rx: 0; border-radius: 0; }
[data-theme="military"] .tr-row, [data-theme="military"] .tr-top { border-radius: 1px; font-family: var(--mono); font-size: 12.5px; background: none; }
[data-theme="military"] .tr-row:hover, [data-theme="military"] .tr-top:hover { background: rgba(255, 176, 0, .06); }
[data-theme="military"] .tr-chip { border-radius: 1px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .06em; font-size: 9.5px; color: var(--khaki); }
[data-theme="military"] .tr-chip.zone { color: #7fdcea; border-color: rgba(64, 200, 220, .5); }
[data-theme="military"] .tr-ch { font-family: var(--mono); }
[data-theme="military"] .tr-ch.up { color: var(--p3); } [data-theme="military"] .tr-ch.down { color: #7ee07a; }
[data-theme="military"] .tr-spark polyline { stroke: var(--amber); }
[data-theme="military"] .tr-spark polygon { fill: var(--amber); opacity: .12; }
[data-theme="military"] .tr-heat i { background: color-mix(in srgb, var(--amber) calc(var(--a) * 100%), #0e120b); }
[data-theme="military"] .tr-heat-key i { background: color-mix(in srgb, var(--amber) calc(var(--a) * 100%), #0e120b); }
[data-theme="military"] .tr-heat i.z { background: #0e120b; }
[data-theme="military"] .tr-tip { background: #0e120b; color: var(--amber); border: 1px solid var(--olive); border-radius: 1px; font-family: var(--mono); box-shadow: none; }

/* ---------- сповіщення ---------- */
[data-theme="military"] #bell.active::before { content: ""; }
[data-theme="military"] .bell-n { border-radius: 1px; font-family: var(--mono); animation: mil-blink 1.6s steps(2) infinite; }
@media (prefers-reduced-motion: reduce) { [data-theme="military"] .bell-n { animation: none; } }
[data-theme="military"] .nt-head h2 { font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: .16em; color: var(--khaki); }
[data-theme="military"] .nt-head h2::before { content: "■ "; color: var(--amber); }
[data-theme="military"] .nt-card { border-radius: 2px; }
[data-theme="military"] .nt-card h3 { font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: var(--accent); font-weight: 400; }
[data-theme="military"] .nt-item { border-radius: 0; background: none; }
[data-theme="military"] .nt-item:hover { background: rgba(255, 176, 0, .04); }
[data-theme="military"] .nt-item.unread { border-left-color: var(--amber); background: rgba(255, 176, 0, .06); }
[data-theme="military"] .nt-title { font-family: var(--mono); font-size: 13px; }
[data-theme="military"] .nt-item.unread .nt-title { color: #eef2dc; }
[data-theme="military"] .nt-time, [data-theme="military"] .nt-tag { font-family: var(--mono); }
[data-theme="military"] .nt-tag { border-radius: 1px; text-transform: uppercase; letter-spacing: .06em; font-size: 9.5px; color: var(--khaki); }
[data-theme="military"] .nt-on, [data-theme="military"] .ok-msg { color: #7ee07a; font-family: var(--mono); text-transform: uppercase; letter-spacing: .06em; }
[data-theme="military"] .nt-primary { background: var(--olive); border-color: var(--accent); color: #eef2dc; text-transform: uppercase; letter-spacing: .08em; }
[data-theme="military"] .nt-primary:hover { background: #5b6d36; }
[data-theme="military"] .nt-sec { font-family: var(--mono); font-size: 12.5px; }
[data-theme="military"] .nt-toggle b, [data-theme="military"] .nt-sec > b, [data-theme="military"] .nt-limit b { text-transform: uppercase; letter-spacing: .06em; font-weight: 600; color: var(--fg); }
[data-theme="military"] .nt-watch { border-radius: 2px; background: #0e120b; }
[data-theme="military"] .nt-msg { font-family: var(--mono); }
[data-theme="military"] .anom { border-radius: 2px; border-color: var(--amber); background: repeating-linear-gradient(-45deg, rgba(255, 176, 0, .07) 0 8px, transparent 8px 16px), #12170f;
  font-family: var(--mono); font-size: 12.5px; }
[data-theme="military"] .anom-k { color: var(--amber); text-transform: uppercase; letter-spacing: .08em; }
[data-theme="military"] .anom-i { font-family: var(--mono); font-size: 12.5px; background: none; }
[data-theme="military"] .anom-i:hover { color: var(--amber); }
[data-theme="military"] .anom-x { background: none; }
[data-theme="military"] .badge.u-m.on { background: rgba(126, 224, 122, .15); color: #7ee07a; border-color: rgba(126, 224, 122, .4); }
[data-theme="military"] .badge.u-m { text-transform: uppercase; font-size: 10px; letter-spacing: .06em; }
[data-theme="military"] .badge.u-blocked { background: rgba(255, 80, 60, .12); color: var(--p3); border-color: rgba(255, 80, 60, .4); text-transform: uppercase; font-size: 10px; }
[data-theme="military"] .u-llm { font-family: var(--mono); text-transform: uppercase; font-size: 11px; letter-spacing: .06em; color: var(--khaki); }
[data-theme="military"] .u-llm input { accent-color: var(--amber); }

/* підсвітка за рівнем: «згадка» без кольору, «важливо» — бурштин, червоне лише в «Небезпеці» */
[data-theme="military"] mark.lv0, [data-theme="military"] mark.lv1 { background: transparent; box-shadow: inset 0 -1px 0 var(--muted); }
[data-theme="military"] mark.air.lv2 { box-shadow: inset 0 -2px 0 var(--amber); }
[data-theme="military"] .react button { text-transform: none; letter-spacing: 0; font-size: 13px; }
[data-theme="military"] .react button.on { background: var(--olive); color: #eef2dc; border-color: var(--accent); }
[data-theme="military"] .chat-row { border-radius: 2px; background: linear-gradient(180deg, #151b11, var(--card)); }
[data-theme="military"] .chat-row.on { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
[data-theme="military"] .chat-head h3, [data-theme="military"] .src-title { text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: var(--khaki); }
[data-theme="military"] .react .r-sep { text-transform: uppercase; letter-spacing: .06em; font-size: 10px; }
[data-theme="military"] { --ua-border: #c9d36a; --ua-halo: #0b0e09; }
