/* ==========================================================================
   main.css — globālais stils (pārveide 2026-10)

   Visas vizuālās vērtības nāk no css/tokens.css (ielādēts head.php PIRMS šī
   faila). Šeit krāsas/izmērus ar roku nerakstām — tikai var(--mv-...).

   Saturs:
     1. Bāze (lapa, teksts, fokuss, palīgklases, ikonas)
     2. Čaula: augšējā josla, navigācija (telefonā apakšējā josla), saturs, kājene
     3. Komponenti: pogas, ievades lauki, nozīmītes, kartītes, lapas galvene, rīkjosla
     4. Stāvokļi: ielādes josla, skeleton, tukšs saraksts, "ielāde ievelkas"
     5. Logi (draggableWindow) un cilnes
     6. Paziņojumi, informācijas dialogs, sesijas dialogs
     7. Mantotie kopīgie noteikumi — vēl nepārveidotām lapām (nemainīti)
     8. Sākuma lapa — mantots, tiks pārveidots kopā ar sākuma lapu
     9. Drukāšana

   Jaunās komponentu klases sākas ar "mv_" (Meter Vision), lai tās nesadurtos
   ar esošajām lapu klasēm un būtu skaidri atpazīstamas.
   ========================================================================== */


/* ==========================================================================
   1. BĀZE
   ========================================================================== */

/* border-box tikai lapai un jaunajiem komponentiem: vecās lapas ir rakstītas
   ar content-box pikseļu platumiem, un globāla maiņa tās salauztu, kamēr tās
   vēl nav pārveidotas. */
html,
body,
[class^="mv_"],
[class*=" mv_"],
[class^="mv_"]::before,
[class*=" mv_"]::before,
[class^="mv_"]::after,
[class*=" mv_"]::after{
  box-sizing: border-box;
  }

html{
  height: 100%;
  color-scheme: light;
  /* iOS nepalielina tekstu pagriežot telefonu */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  }

/* body ir position:fixed un pati neritina — tas ir apzināts esošās lietotnes
   risinājums amCharts "mistiskajam DIV" (amCharts pievieno elementus body
   galā, kas citādi rada lieku ritināšanu). Ritina tikai #content-outer.
   Pārveidē body kļūst par flex kolonnu: josla -> saturs -> kājene. */
body{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--mv-color-bg);
  color: var(--mv-color-text);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-base);
  line-height: var(--mv-leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }

a{
  color: inherit;
  text-decoration: none;
  }

/* Redzams tastatūras fokuss VISUR (arī vecajās lapās): tikai :focus-visible,
   tādēļ peles klikšķis gredzenu nerāda, bet Tab — vienmēr. */
:focus-visible{
  outline: 2px solid var(--mv-color-accent);
  outline-offset: 2px;
  }

/* --- mantotās palīgklases (lieto daudzas lapas) — krāsas pielāgotas AA
   kontrastam (#aeaeae bija tikai 2.2:1) --- */
.bold{
  font-weight: var(--mv-weight-bold);
  }
.red_text{
  color: var(--mv-color-alarm);
  }
.grey_text{
  color: var(--mv-color-muted);
  }
.monospace{
  font-family: var(--mv-font-mono);
  }

/* --- jaunās palīgklases --- */
/* skaitļi vienāda platuma cipariem — vērtības atjaunojoties "nelēkā" */
.mv_num{
  font-variant-numeric: tabular-nums;
  }
.mv_mono{
  font-family: var(--mv-font-mono);
  font-variant-numeric: tabular-nums;
  }
/* teksts tikai ekrāna lasītājiem (vizuāli paslēpts, bet nolasāms) */
.mv_visually_hidden{
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
  }

/* --- ikonas: mv_icon() (functions_html.php) izvada inline SVG; līnijas
   krāsa = teksta krāsa, tādēļ ikona automātiski seko pogas/statusa krāsai --- */
.mv_icon{
  width: 20px;
  height: 20px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: middle;
  }
.mv_icon_sm{
  width: 16px;
  height: 16px;
  }
.mv_icon_lg{
  width: 24px;
  height: 24px;
  }


/* ==========================================================================
   2. ČAULA
   ========================================================================== */

/* --- 2.1 Augšējā lietotnes josla (content.php: HEADER) ---
   Saglabāts vecais ID #mostouter_top_log_in_out_menu (to izmanto drukāšanas
   noteikums). Josla ir body flex kolonnas pirmais elements, nevis fiksēts
   "peldošs" lodziņš, tādēļ tā vairs nepārklāj lapu virsrakstus. */
.mv_app_bar{
  position: relative;
  z-index: var(--mv-z-app-bar);
  flex: none;
  display: flex;
  align-items: center;
  gap: var(--mv-space-4);
  /* drošā zona: telefona "robiņš", ja lapa atvērta kā lietotne */
  height: calc(var(--mv-app-bar-h) + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) max(var(--mv-gutter), env(safe-area-inset-right)) 0 max(var(--mv-gutter), env(safe-area-inset-left));
  background-color: var(--mv-color-surface);
  border-bottom: 1px solid var(--mv-color-border);
  }

/* zīmols: ikona + nosaukums, ved uz sākumu */
.mv_brand{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-2);
  min-height: var(--mv-touch);
  padding: 0 var(--mv-space-1);
  margin-left: calc(var(--mv-space-1) * -1);
  border-radius: var(--mv-radius-sm);
  color: var(--mv-color-text);
  font-family: var(--mv-font-display);
  font-size: var(--mv-text-lg);
  line-height: 1;
  white-space: nowrap;
  }
.mv_brand_mark{
  width: 28px;
  height: 28px;
  color: var(--mv-color-accent);
  stroke-width: 1.8;
  }

/* --- 2.2 Galvenā navigācija ---
   Datorā: pogas joslas labajā pusē ar ikonu UN tekstu (agrāk bija tikai
   ikona ar :hover padomu, kas skārienekrānā nav redzams).
   Telefonā (zemāk @media): tā pati NAV kļūst par apakšējo joslu — viens
   HTML, divi izkārtojumi, nekādas dublētas navigācijas. */
.mv_nav{
  display: flex;
  align-items: center;
  gap: var(--mv-space-1);
  margin-left: auto;
  }
.mv_nav_item{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-2);
  min-height: var(--mv-touch);
  padding: 0 var(--mv-space-3);
  border-radius: var(--mv-radius-sm);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  white-space: nowrap;
  transition: background-color var(--mv-duration) var(--mv-ease), color var(--mv-duration) var(--mv-ease);
  }
.mv_nav_item:hover{
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-text);
  }
.mv_nav_item:active{
  background-color: var(--mv-color-surface-3);
  }
/* pašreizējā lapa (aria-current) — akcenta krāsā */
.mv_nav_item[aria-current="page"]{
  color: var(--mv-color-accent);
  background-color: var(--mv-color-accent-soft);
  }

/* --- 2.3 Satura apgabals — vienīgais, kas ritina --- */
#content-outer{
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  }

/* Lapas saturs savā slānī (pārveide 2026-10): velkamie logi saņem z-index no JS
   (1, 2, 3...), tādēļ bez šī lapas elementi ar savu z-index (piem. lipīgā tabulas
   galvene) atradās VIRS loga. isolation izveido katrai lapai atsevišķu slāni,
   un logi (tieši #content-outer bērni) vienmēr ir virs tā. */
#content-outer > *:not(.draggableWindow):not(#footer){
  isolation: isolate;
  }

/* --- 2.4 Kājene ---
   Satur tikai administratora atkļūdošanas informāciju (sakļauta DETAILS) un
   paziņojumu lodziņus (tie ir position:fixed, tādēļ vietu neaizņem). */
/* Kājene atrodas #content-outer iekšā (aiz lapas satura). Tai NAV savs slānis
   (z-index auto, bez isolation): citādi īsā lapā kājene ar z-index 1000 tika
   zīmēta PĀRI velkamajiem logiem (z-index 1..3). Paziņojumu lodziņi kājenē ir
   position:fixed ar saviem lieliem z-index, tādēļ paliek virs logiem. */
#footer{
  flex: none;
  position: relative;
  z-index: auto;
  }

/* administratora atkļūdošanas bloks: pēc noklusējuma sakļauts vienā rindā,
   atveras ar vienu klikšķi/pieskārienu (agrāk fiksēta 20px josla, kas
   telefonā bija pilnībā paslēpta) */
.mv_debug{
  background-color: var(--mv-color-surface);
  border-top: 1px solid var(--mv-color-border);
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  }
.mv_debug > SUMMARY{
  display: flex;
  align-items: center;
  gap: var(--mv-space-2);
  min-height: 32px;
  padding: 0 var(--mv-gutter);
  cursor: pointer;
  list-style: none;
  user-select: none;
  }
.mv_debug > SUMMARY::-webkit-details-marker{
  display: none;
  }
.mv_debug > SUMMARY::before{
  content: "\25B8";                 /* ▸ — atvērtā stāvoklī pagriežas */
  transition: transform var(--mv-duration) var(--mv-ease);
  }
.mv_debug[open] > SUMMARY::before{
  transform: rotate(90deg);
  }
.mv_debug_count{
  margin-left: auto;
  }
.mv_debug_body{
  max-height: 40vh;
  overflow: auto;
  padding: var(--mv-space-2) var(--mv-gutter) var(--mv-space-3);
  font-family: var(--mv-font-mono);
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--mv-color-text-2);
  }

/* --- 2.5 Telefons: navigācija -> apakšējā josla ---
   Īkšķa zonā, 44px+ pieskāriena mērķi, ievēro iPhone apakšējo drošo zonu. */
@media (max-width: 767px){
  .mv_app_bar{
    justify-content: center;
    }
  .mv_nav{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--mv-z-app-bar);
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 0;
    margin: 0;
    height: calc(var(--mv-bottom-nav-h) + env(safe-area-inset-bottom));
    padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    background-color: var(--mv-color-surface);
    border-top: 1px solid var(--mv-color-border);
    box-shadow: 0 -2px 8px rgba(16, 24, 40, 0.06);
    }
  .mv_nav_item{
    flex-direction: column;
    justify-content: center;
    gap: var(--mv-space-0);
    height: 100%;
    padding: 0 var(--mv-space-2);
    border-radius: 0;
    font-size: var(--mv-text-xs);
    }
  .mv_nav_item .mv_icon{
    width: 24px;
    height: 24px;
    }
  /* kājene (un līdz ar to satura beigas) virs apakšējās joslas — citādi
     josla aizsegtu saraksta pēdējo rindu. Tikai, ja josla vispār ir. */
  #mostouter_top_log_in_out_menu ~ #footer{
    margin-bottom: calc(var(--mv-bottom-nav-h) + env(safe-area-inset-bottom));
    }
  /* augšējās joslas telefonā nav (lietotāja lūgums 2026-10-02): zīmols (ikona +
     nosaukums) paslēpts, josla saplok līdz drošajai zonai. Pašu HEADER slēpt
     nedrīkst — tajā ir NAV (apakšējā josla). --mv-app-bar-h = 0, tādēļ ielādes
     josla, logi, karte un paziņojumi sākas pašā augšā. device_standalone
     (no_top_menu — HEADER nav, sava josla ar šo pašu augstumu) netiek skarts. */
  body:has(#mostouter_top_log_in_out_menu){
    --mv-app-bar-h: 0px;
    }
  .mv_app_bar{
    border-bottom: 0;
    }
  .mv_brand{
    display: none;
    }
  }


/* ==========================================================================
   3. KOMPONENTI
   ========================================================================== */

/* --- 3.0 Vietējo formu elementu bāze (VISĀM lapām, arī vēl nepārveidotajām) ---
   :where() dod nulles specifiskumu: jebkurš lapas vai klases noteikums to
   pārspēj, bet nenoformēti lauki, izvēlnes un pogas (ierīču logu formas,
   administrēšana) uzreiz iegūst vienotu, tokenos balstītu izskatu.
   Skārienierīcēs — 16px teksts (iOS netuvina) un 44px augstums. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select, textarea){
  box-sizing: border-box;
  min-height: 32px;
  padding: 4px 8px;
  border: 1px solid var(--mv-color-border-strong);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-sm);
  line-height: 1.3;
  transition: border-color var(--mv-duration-fast) var(--mv-ease), box-shadow var(--mv-duration-fast) var(--mv-ease);
  }
:where(textarea){
  min-height: 64px;
  padding: 6px 8px;
  }
:where(input, select, textarea):focus-visible{
  outline: none;
  border-color: var(--mv-color-accent);
  box-shadow: 0 0 0 3px var(--mv-color-accent-soft);
  }
:where(input, select, textarea)[readonly],
:where(input, select, textarea):disabled{
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-text-2);
  }
:where(input[type="checkbox"], input[type="radio"]){
  accent-color: var(--mv-color-accent);
  }
:where(button, input[type="button"], input[type="submit"], input[type="reset"]){
  box-sizing: border-box;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #C9D1D9;
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  cursor: pointer;
  transition: background-color var(--mv-duration-fast) var(--mv-ease), border-color var(--mv-duration-fast) var(--mv-ease);
  }
:where(button, input[type="button"], input[type="submit"], input[type="reset"]):hover{
  background-color: var(--mv-color-surface-2);
  border-color: var(--mv-color-border-strong);
  }
:where(button, input[type="button"], input[type="submit"], input[type="reset"]):active{
  background-color: var(--mv-color-surface-3);
  }
:where(button, input[type="button"], input[type="submit"], input[type="reset"]):focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }
:where(button, input[type="button"], input[type="submit"], input[type="reset"]):disabled{
  opacity: 0.5;
  cursor: not-allowed;
  }
:where(h1, h2, h3){
  color: var(--mv-color-text);
  font-family: var(--mv-font-display);
  font-weight: var(--mv-weight-semibold);
  line-height: var(--mv-leading-tight);
  }
@media (pointer: coarse){
  :where(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="hidden"]), select, textarea){
    min-height: var(--mv-touch);
    font-size: var(--mv-text-md);
    }
  :where(button, input[type="button"], input[type="submit"], input[type="reset"]){
    min-height: var(--mv-touch);
    }
  }

/* --- 3.1 Lapas konteiners un galvene ---
   .mv_page ierobežo platumu lielos monitoros un dod vienādas sānu atkāpes. */
.mv_page{
  width: 100%;
  max-width: var(--mv-content-max);
  margin: 0 auto;
  padding: 0 var(--mv-gutter) var(--mv-space-6);
  }
.mv_page_header{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2) var(--mv-space-4);
  padding: var(--mv-space-5) 0 var(--mv-space-4);
  }
.mv_page_title{
  margin: 0;
  font-family: var(--mv-font-display);
  font-size: var(--mv-text-2xl);
  font-weight: var(--mv-weight-semibold);
  line-height: var(--mv-leading-tight);
  color: var(--mv-color-text);
  }
.mv_page_title A{
  border-radius: var(--mv-radius-sm);
  }
.mv_page_actions{
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-space-2);
  margin-left: auto;
  }
@media (max-width: 599px){
  .mv_page_header{
    padding-top: var(--mv-space-4);
    }
  .mv_page_title{
    font-size: var(--mv-text-xl);
    }
  }

/* --- 3.2 Rīkjosla (meklēšana, filtri) --- */
.mv_toolbar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  }

/* --- 3.3 Pogas ---
   .mv_btn — sekundārā (noklusējums), _primary — galvenā darbība, _ghost —
   klusā, _icon — tikai ikona (OBLIGĀTS aria-label). Datorā 40px augstas,
   skārienierīcēs 44px (pointer:coarse). */
.mv_btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--mv-space-2);
  min-height: var(--mv-control-h);
  padding: 0 var(--mv-space-4);
  margin: 0;
  border: 1px solid #C9D1D9;
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color var(--mv-duration-fast) var(--mv-ease), border-color var(--mv-duration-fast) var(--mv-ease), color var(--mv-duration-fast) var(--mv-ease), box-shadow var(--mv-duration-fast) var(--mv-ease);
  }
.mv_btn:hover{
  background-color: var(--mv-color-surface-2);
  border-color: var(--mv-color-border-strong);
  }
.mv_btn:active{
  background-color: var(--mv-color-surface-3);
  }
.mv_btn:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }
/* ieslēgts pārslēgs (aria-pressed) vai atvērts panelis (aria-expanded) */
.mv_btn[aria-pressed="true"],
.mv_btn[aria-expanded="true"]{
  background-color: var(--mv-color-accent-soft);
  border-color: var(--mv-color-accent);
  color: var(--mv-color-accent);
  }
.mv_btn:disabled,
.mv_btn[aria-disabled="true"]{
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  }
.mv_btn_primary{
  background-color: var(--mv-color-accent);
  border-color: var(--mv-color-accent);
  color: var(--mv-color-on-accent);
  }
.mv_btn_primary:hover{
  background-color: var(--mv-color-accent-hover);
  border-color: var(--mv-color-accent-hover);
  }
.mv_btn_primary:active{
  background-color: var(--mv-color-accent-active);
  }
.mv_btn_ghost{
  background-color: transparent;
  border-color: transparent;
  color: var(--mv-color-text-2);
  }
.mv_btn_ghost:hover{
  background-color: var(--mv-color-surface-2);
  border-color: transparent;
  color: var(--mv-color-text);
  }
.mv_btn_icon{
  width: var(--mv-control-h);
  padding: 0;
  }
/* mazāka poga rindās/kartītēs (skārienekrānā tik un tā 44px — sk. zemāk) */
.mv_btn_sm{
  min-height: 32px;
  padding: 0 var(--mv-space-3);
  }
/* bīstama darbība (dzēst) — sarkans teksts/apmale, atšķirams arī bez krāsas pēc ikonas */
.mv_btn_danger{
  border-color: var(--mv-color-alarm);
  color: var(--mv-color-alarm);
  }
.mv_btn_danger:hover{
  border-color: var(--mv-color-alarm);
  background-color: var(--mv-color-alarm-soft);
  color: var(--mv-color-alarm);
  }
/* ikona pogas sākumā: <A class="mv_btn" data-icon="plus|edit|trash|back|chevron"> */
.mv_btn[data-icon]::before{
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--mv-btn-icon) center / contain no-repeat;
  mask: var(--mv-btn-icon) center / contain no-repeat;
  }
.mv_btn[data-icon="plus"]{ --mv-btn-icon: var(--mv-mask-plus); }
.mv_btn[data-icon="edit"]{ --mv-btn-icon: var(--mv-mask-edit); }
.mv_btn[data-icon="trash"]{ --mv-btn-icon: var(--mv-mask-trash); }
.mv_btn[data-icon="back"]{ --mv-btn-icon: var(--mv-mask-back); }
.mv_btn[data-icon="external"]{ --mv-btn-icon: var(--mv-mask-external); }
/* skaita nozīmīte pogā (piem. aktīvo filtru skaits) */
.mv_btn_count{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-accent);
  color: var(--mv-color-on-accent);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-bold);
  font-variant-numeric: tabular-nums;
  }
.mv_btn_count[hidden]{
  display: none;
  }
@media (pointer: coarse){
  .mv_btn{
    min-height: var(--mv-touch);
    }
  .mv_btn_icon{
    width: var(--mv-touch);
    }
  .mv_btn_sm{
    min-height: var(--mv-touch);
    }
  }

/* --- 3.4 Ievades lauki ---
   Fonta izmērs vienmēr 16px — mazāks liek iOS Safari tuvināt lapu fokusā. */
.mv_input{
  display: block;
  width: 100%;
  min-height: var(--mv-control-h);
  padding: 0 var(--mv-space-3);
  margin: 0;
  border: 1px solid var(--mv-color-border-strong);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-md);
  line-height: 1.2;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color var(--mv-duration-fast) var(--mv-ease), box-shadow var(--mv-duration-fast) var(--mv-ease);
  }
.mv_input::placeholder{
  color: var(--mv-color-muted);
  opacity: 1;
  }
.mv_input:hover{
  border-color: var(--mv-color-text-2);
  }
.mv_input:focus,
.mv_input:focus-visible{
  outline: none;
  border-color: var(--mv-color-accent);
  box-shadow: 0 0 0 3px var(--mv-color-accent-soft);
  }
@media (pointer: coarse){
  .mv_input{
    min-height: var(--mv-touch);
    }
  }
/* izvēlnei (SELECT) appearance:none noņem pārlūka bultiņu — atgriežam savu.
   #5F6B78 = --mv-color-muted (datu URI nevar lietot CSS mainīgo) */
SELECT.mv_input{
  padding-right: var(--mv-space-6);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F6B78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--mv-space-2) center;
  background-size: 18px;
  cursor: pointer;
  }
/* meklēšanas lauks ar lupas ikonu iekšā */
.mv_search{
  position: relative;
  flex: 1 1 260px;
  min-width: 0;
  }
.mv_search > .mv_icon{
  position: absolute;
  top: 50%;
  left: var(--mv-space-3);
  transform: translateY(-50%);
  color: var(--mv-color-muted);
  pointer-events: none;
  }
.mv_search > .mv_input{
  padding-left: 40px;
  }

/* --- 3.5 Nozīmītes / statusa "tabletes" ---
   Vienmēr ikona VAI teksts kopā ar krāsu — krāsa viena pati nav informācija. */
.mv_badge{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-1);
  min-height: 22px;
  padding: 0 var(--mv-space-2);
  border-radius: var(--mv-radius-pill);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  background-color: var(--mv-color-unknown-soft);
  color: var(--mv-color-unknown);
  }
.mv_badge_neutral{
  background-color: var(--mv-color-surface-3);
  color: var(--mv-color-text-2);
  }
.mv_badge_ok{
  background-color: var(--mv-color-ok-soft);
  color: var(--mv-color-ok);
  }
.mv_badge_warning{
  background-color: var(--mv-color-warning-soft);
  color: var(--mv-color-warning);
  }
/* trauksme — spilgtākā nozīmīte lapā (pilns sarkans fons, balts teksts) */
.mv_badge_alarm{
  background-color: var(--mv-color-alarm-solid);
  color: #FFFFFF;
  }
.mv_badge_offline{
  background-color: var(--mv-color-offline-soft);
  color: var(--mv-color-offline);
  }

/* --- 3.6 Kartīte / panelis --- */
.mv_card{
  background-color: var(--mv-color-surface);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  box-shadow: var(--mv-shadow-sm);
  }

/* --- 3.6.1 Lauka etiķete (virs lauka; redzama vienmēr, ne tikai placeholder) --- */
.mv_field_label{
  display: block;
  margin: var(--mv-space-3) 0 var(--mv-space-1);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  }

/* --- 3.6.2 Paziņojums lapā (kļūda / izdevās / brīdinājums / info) ---
   Ikona + apmale + teksts — nekad tikai krāsa. */
.mv_alert{
  display: flex;
  align-items: flex-start;
  gap: var(--mv-space-2);
  margin: var(--mv-space-3) 0;
  padding: var(--mv-space-3);
  border: 1px solid var(--mv-color-border);
  border-left-width: 4px;
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-text);
  font-size: var(--mv-text-sm);
  line-height: var(--mv-leading-normal);
  text-align: left;
  }
.mv_alert::before{
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-info) center / contain no-repeat;
  mask: var(--mv-mask-info) center / contain no-repeat;
  }
.mv_alert_error{
  border-color: var(--mv-color-alarm-solid);
  background-color: var(--mv-color-alarm-soft);
  color: var(--mv-color-alarm);
  }
.mv_alert_error::before{
  -webkit-mask-image: var(--mv-mask-alert);
  mask-image: var(--mv-mask-alert);
  }
.mv_alert_ok{
  border-color: var(--mv-color-ok-solid);
  background-color: var(--mv-color-ok-soft);
  color: var(--mv-color-ok);
  }
.mv_alert_ok::before{
  -webkit-mask-image: var(--mv-mask-check);
  mask-image: var(--mv-mask-check);
  }
.mv_alert_warning{
  border-color: var(--mv-color-warning-solid);
  background-color: var(--mv-color-warning-soft);
  color: var(--mv-color-warning);
  }
.mv_alert_warning::before{
  -webkit-mask-image: var(--mv-mask-alert);
  mask-image: var(--mv-mask-alert);
  }
.mv_alert:empty{
  display: none;
  }

/* --- 3.6.3 Pieslēgšanās/paroles kartīte (login, reset_password) --- */
.mv_auth{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 100%;
  padding: var(--mv-space-7) var(--mv-gutter) var(--mv-space-6);
  }
.mv_auth_card{
  width: 100%;
  max-width: 400px;
  padding: var(--mv-space-6) var(--mv-space-5) var(--mv-space-5);
  }
.mv_auth_title{
  margin: 0 0 var(--mv-space-2);
  font-size: var(--mv-text-2xl);
  text-align: left;
  }
.mv_auth_form{
  display: flex;
  flex-direction: column;
  }
.mv_auth_form > .mv_input{
  width: 100%;
  }
.mv_auth_submit{
  width: 100%;
  margin-top: var(--mv-space-5);
  min-height: var(--mv-touch);
  font-size: var(--mv-text-md);
  }
.mv_auth_link{
  align-self: center;
  display: inline-flex;
  align-items: center;
  min-height: var(--mv-touch);
  margin-top: var(--mv-space-2);
  padding: 0 var(--mv-space-2);
  border-radius: var(--mv-radius-sm);
  color: var(--mv-color-accent);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  }
.mv_auth_link:hover{
  color: var(--mv-color-accent-hover);
  text-decoration: underline;
  }
#login_capcha_img{
  display: block;
  max-width: 100%;
  margin: 0 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-sm);
  }
@media (max-width: 599px){
  .mv_auth{
    padding-top: var(--mv-space-5);
    }
  .mv_auth_card{
    padding: var(--mv-space-5) var(--mv-space-4) var(--mv-space-4);
    }
  }

/* ==========================================================================
   3.9 DATU SARAKSTS (mv_dl) — kopīgs ierīču/ierakstu sarakstiem
   Lapa pievieno klases esošajam HTML (ID un JS netiek mainīti):
     .mv_dl            konteiners; lapas CSS iestata --mv-dl-cols (tabulas kolonnas)
     .mv_dl_head       galvenes konteiners, .mv_dl_row_head galvenes rinda
     .mv_dl_body       rezultātu konteiners (AJAX innerHTML); data-empty-title /
                       data-empty-hint = tukšā stāvokļa teksts
     .mv_dl_row        rinda/kartīte; .mv_dl_alarm — ir trauksmes
     .mv_dl_open       šūna ar onclick (atver ierīci) — izstiepjas pār visu rindu
     .mv_dl_title      nosaukums/adrese; .mv_dl_alert_count + .mv_dl_alert_names
     .mv_dl_primary    galvenā vērtība (lielāka kartītē); .mv_dl_num skaitlis;
     .mv_dl_mono       kods/laiks; .mv_dl_wide pilns platums kartītē
     data-label        etiķete kartītē; data-unit mērvienība kartītē
     .mv_dl_sort       kārtojama galvenes šūna (JS uzliek inline sort_down/up)
     .mv_status_bar    lapas ielādes indikators (IMG, statusToggle)
   Izkārtojums: < 768 kartītes 1 kolonnā, 768–1023 — 2 kolonnās, >= 1024 tabula.
   ========================================================================== */

/* --- ielādes indikators zem augšējās joslas --- */
.mv_status_bar{
  position: fixed;
  top: calc(var(--mv-app-bar-h) + env(safe-area-inset-top));
  left: 0;
  z-index: var(--mv-z-app-bar);
  width: 100%;
  height: 3px;
  object-position: -9999px 0;
  background-image: linear-gradient(90deg, transparent, var(--mv-color-accent), transparent);
  background-size: 40% 100%;
  background-repeat: no-repeat;
  animation: mv_progress 1.1s linear infinite;
  visibility: hidden;
  pointer-events: none;
  }

/* --- skaits galvenē: tukšs = "0", ielādējot = "…" --- */
.mv_dl_count:empty::before{
  content: "0";
  }
.mv_page:has(.mv_status_bar[style*="visible"]) .mv_dl_count:empty::before{
  content: "…";
  }

/* --- kopīgais --- */
.mv_dl_head,
.mv_dl_body{
  display: block;
  width: 100%;
  }
.mv_dl_row{
  position: relative;
  margin: 0;
  }
.mv_dl_row > DIV{
  min-width: 0;
  margin: 0;
  }
.mv_dl_open{
  cursor: pointer;
  }
/* visa rinda/kartīte atver ierīci: onclick šūnas ::after izstiepjas pār rindu */
.mv_dl_open::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  border-radius: inherit;
  }
.mv_dl_open:focus-visible{
  outline: none;
  }
.mv_dl_open:focus-visible::after{
  box-shadow: inset 0 0 0 2px var(--mv-color-accent);
  }
.mv_dl_above{
  position: relative;
  z-index: 2;                        /* virs izstieptā klikšķa slāņa (zvaigzne u.c.) */
  }
.mv_dl_num{
  font-variant-numeric: tabular-nums;
  }
.mv_dl_primary{
  font-weight: var(--mv-weight-semibold);
  }
.mv_dl_mono{
  font-family: var(--mv-font-mono);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  }
.mv_dl_muted{
  color: var(--mv-color-text-2);
  }
/* ierīce bez adreses — kartīte/rinda nepaliek bez virsraksta */
.mv_dl_title:empty::before{
  content: "Bez adreses";
  color: var(--mv-color-muted);
  font-style: italic;
  font-weight: var(--mv-weight-regular);
  }
/* šūnas nekad neizplešas pāri savai kolonnai/kartītei: garš vārds bez atstarpēm
   (piem. URL piezīmēs) lūzt, nevis rada horizontālu ritināšanu */
.mv_dl_row > *{
  min-width: 0;
  overflow-wrap: break-word;
  }
.mv_dl_row:not(.mv_dl_row_head) > DIV:empty::before{
  content: "—";
  color: var(--mv-color-muted);
  font-weight: var(--mv-weight-regular);
  }
/* pēdējā atvērtā rinda (JS/serveris uzliek <lapa>_result_row_highlight) */
.mv_dl_row[class*="row_highlight"]{
  background-color: var(--mv-color-accent-soft);
  }

/* --- trauksme: sarkana nozīmīte ar zvaniņu + nosaukumi tekstā --- */
.mv_dl_alert_count{
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 22px;
  margin-left: var(--mv-space-2);
  padding: 0 var(--mv-space-2) 0 6px;
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-alarm-solid);
  color: #FFFFFF;
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-bold);
  line-height: 1;
  vertical-align: 1px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  top: 0;
  position: static;
  }
.mv_dl_alert_count::before{
  content: "";
  width: 13px;
  height: 13px;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-bell) center / contain no-repeat;
  mask: var(--mv-mask-bell) center / contain no-repeat;
  }
.mv_dl_alert_names{
  display: block;
  margin-top: var(--mv-space-1);
  color: var(--mv-color-alarm);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  }
.mv_dl_alert_names:empty{
  display: none;
  }

/* --- baterija: tablete ar ikonu; krāsa no servera inline stila --- */
.mv_dl_battery_level{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-1);
  min-height: 22px;
  padding: 0 var(--mv-space-2) 0 6px;
  border: 1px solid rgba(16, 24, 40, 0.08);
  border-radius: var(--mv-radius-pill);
  color: var(--mv-color-text);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  }
.mv_dl_battery_level::before{
  content: "";
  width: 15px;
  height: 15px;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-battery) center / contain no-repeat;
  mask: var(--mv-mask-battery) center / contain no-repeat;
  }
.mv_dl_battery_external{
  display: flex;
  align-items: center;
  gap: var(--mv-space-1);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  }
.mv_dl_battery_external > IMG{
  width: 16px;
  height: 16px;
  object-position: -9999px 0;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-plug) center / contain no-repeat;
  mask: var(--mv-mask-plug) center / contain no-repeat;
  }
.mv_dl_battery_external::after{
  content: "Ārējā";
  }
.mv_dl_battery_na{
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  }

/* --- stāvokļi: skeleton / ilga ielāde / tukšs (tikai CSS) --- */
.mv_page:has(.mv_status_bar[style*="visible"]) .mv_dl_body:empty::before{
  content: "";
  display: block;
  height: 360px;
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface-3);
  background-image: linear-gradient(90deg, var(--mv-color-surface-3) 0, #F7F9FA 50%, var(--mv-color-surface-3) 100%);
  background-size: 800px 100%;
  background-repeat: no-repeat;
  animation: mv_shimmer 1.4s linear infinite;
  -webkit-mask: repeating-linear-gradient(to bottom, #000 0 148px, transparent 148px 160px);
  mask: repeating-linear-gradient(to bottom, #000 0 148px, transparent 148px 160px);
  }
.mv_page:has(.mv_status_bar[style*="visible"]) .mv_dl_body:empty::after{
  content: "Ielāde aizņem ilgāk nekā parasti. Ja saraksts neparādās, pārlādējiet lapu.";
  display: block;
  margin-top: var(--mv-space-4);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  text-align: center;
  animation: mv_reveal 0s 12s both;
  }
.mv_page:not(:has(.mv_status_bar[style*="visible"])) .mv_dl_body:empty::before{
  content: attr(data-empty-title);
  display: block;
  padding: 104px var(--mv-space-4) var(--mv-space-1);
  color: var(--mv-color-text);
  font-size: var(--mv-text-md);
  font-weight: var(--mv-weight-semibold);
  text-align: center;
  /* #5F6B78 = --mv-color-muted, #EDF1F4 = --mv-color-surface-3 (datu URI nevar lietot mainīgos) */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='28' fill='%23EDF1F4'/%3E%3Cg transform='translate(14 14)' fill='none' stroke='%235F6B78' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13h5l1.5 3h5L16 13h5'/%3E%3Cpath d='M5.5 5h13L21 13v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6z'/%3E%3C/g%3E%3C/svg%3E") center 32px / 56px no-repeat;
  animation: mv_reveal 0s 0.4s both;
  }
.mv_page:not(:has(.mv_status_bar[style*="visible"])) .mv_dl_body:empty::after{
  content: attr(data-empty-hint);
  display: block;
  max-width: 46ch;
  margin: 0 auto;
  padding-bottom: var(--mv-space-7);
  color: var(--mv-color-muted);
  font-size: var(--mv-text-sm);
  text-align: center;
  animation: mv_reveal 0s 0.4s both;
  }

/* --- uzraudzības saraksti (ģeneratori, ražošana, sūkņu stacijas, NAI, UAS):
   galvene ir tajā pašā konteinerā, ko atsvaidzina getContent() --- */
.mv_dl_nr{
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  font-variant-numeric: tabular-nums;
  }
/* mini grafiks (jquery.sparkline canvas ar fiksētu platumu) — mērogojas šūnā.
   Virs rindas izstieptā klikšķa slāņa, lai strādā grafika rīkpadoms (hover). */
.mv_dl_spark{
  position: relative;
  z-index: 2;
  overflow: hidden;
  }
.mv_dl_spark canvas{
  display: block;
  max-width: 100%;
  height: auto !important;
  }
/* jquery.sparkline rīkpadoma platumu mēra pagaidu DIV #jqssizetip, ko uz brīdi
   ieliek BODY ar float:left. BODY ir flex konteiners (§2) — tur float nedarbojas,
   mērītājs izstiepās pa visu lapas platumu un rīkpadoms kļuva lapas platumā. */
#jqssizetip{
  align-self: flex-start;
  flex: none;
  }
/* stāvokļa šūna: animēts GIF + teksts no tā (nekad tikai attēls) */
.mv_dl_state{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-1) var(--mv-space-2);
  }
.mv_dl_state > IMG{
  width: 36px;
  height: 36px;
  object-fit: contain;
  }
.mv_dl_state:has(> IMG)::after{
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 var(--mv-space-2);
  border-radius: var(--mv-radius-pill);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  white-space: nowrap;
  }
.mv_dl_state:has(> IMG[src*="_running"])::after{
  content: "Darbojas";
  background-color: var(--mv-color-ok-soft);
  color: var(--mv-color-ok);
  }
.mv_dl_state:has(> IMG[src*="_stopped"])::after{
  content: "Apstājies";
  background-color: var(--mv-color-surface-3);
  color: var(--mv-color-text-2);
  }
.mv_dl_state:has(> IMG[src*="_timeout"])::after{
  content: "Nav sakaru";
  background-color: var(--mv-color-offline-soft);
  color: var(--mv-color-offline);
  }
.mv_dl_state:has(> IMG[src*="_fault"])::after{
  content: "Kļūme";
  background-color: var(--mv-color-alarm-solid);
  color: #FFFFFF;
  }
/* --- 3.9.1 Uzraudzības sastāvdaļas (NAI, UAS u.c. stacijas) ---------------
   .mv_motor        motora/sūkņa flīze: .mv_motor_name, [.mv_motor_mode], IMG;
                    kopā ar .mv_dl_state stāvokļa teksts nāk no GIF
   .mv_alert_list   aktīvo trauksmju saraksts: .mv_alert_item > .mv_alert_age
                    (vecums, krāsa no servera) + .mv_alert_text (pilns teksts)
   .mv_name_toggle  slēdzis "nosaukums" (adrese ↔ ierīces nosaukums) galvenē
   ------------------------------------------------------------------------- */
.mv_motors{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--mv-space-2);
  }
.mv_motor{
  display: inline-grid;
  grid-template-columns: auto auto;
  grid-template-areas:
    "name name"
    "img  mode"
    "img  state";
  align-items: center;
  gap: 2px var(--mv-space-2);
  min-width: 112px;
  padding: 6px var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  }
.mv_motor_name{
  grid-area: name;
  color: var(--mv-color-text);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  }
.mv_motor_mode{
  grid-area: mode;
  justify-self: start;
  color: var(--mv-color-text-2);
  font-size: 11px;
  font-weight: var(--mv-weight-bold);
  letter-spacing: 0.02em;
  }
.mv_motor > IMG{
  grid-area: img;
  width: 32px;
  height: 32px;
  }
.mv_motor.mv_dl_state:has(> IMG)::after{
  grid-area: state;
  justify-self: start;
  min-height: 20px;
  font-size: 11px;
  }
/* bez režīma — stāvoklis blakus attēlam */
.mv_motor:not(:has(> .mv_motor_mode)){
  grid-template-areas:
    "name name"
    "img  state";
  }

.mv_alert_list{
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 100%;
  min-width: 0;
  }
.mv_alert_item{
  display: flex;
  align-items: flex-start;
  gap: var(--mv-space-2);
  min-width: 0;
  font-size: var(--mv-text-xs);
  line-height: var(--mv-leading-tight);
  }
/* vecuma krāsa nāk no servera (sarkans = jauna … pelēks = ≥ 20 d) */
.mv_alert_age{
  flex: none;
  min-width: 38px;
  padding: 2px 6px;
  border-radius: var(--mv-radius-pill);
  color: #FFFFFF;
  font-weight: var(--mv-weight-bold);
  font-variant-numeric: tabular-nums;
  text-align: center;
  }
.mv_alert_text{
  min-width: 0;
  padding-top: 2px;
  color: var(--mv-color-alarm);
  overflow-wrap: anywhere;
  }

.mv_dl_head_tool{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-1) var(--mv-space-3);
  }
.mv_name_toggle{
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-medium);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  }
.mv_name_toggle:has(INPUT:checked){
  border-color: var(--mv-color-accent);
  background-color: var(--mv-color-accent-soft);
  color: var(--mv-color-accent);
  }
.mv_name_toggle INPUT{
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--mv-color-accent);
  }
.mv_name_toggle:focus-within{
  box-shadow: var(--mv-focus-ring);
  }
@media (max-width: 1023px){
  /* galvene ar vadīklu (.mv_dl_row_head_tools) kartītēs — slaida rīku rinda pāri
     visām kolonnām; redzama tikai .mv_dl_head_tool šūna bez virsraksta teksta */
  .mv_dl_body > .mv_dl_row_head_tools{
    display: flex;
    grid-column: 1 / -1;
    padding: 0 0 var(--mv-space-1);
    background: none;
    border: 0;
    box-shadow: none;
    }
  .mv_dl_row_head_tools > DIV:not(.mv_dl_head_tool),
  .mv_dl_row_head_tools .mv_dl_head_label{
    display: none;
    }
  .mv_name_toggle{
    width: fit-content;
    max-width: 100%;
    min-height: var(--mv-touch);
    padding: 0 var(--mv-space-3);
    font-size: var(--mv-text-sm);
    }
  /* paskaidrojums (agrāk tikai title/hover) redzams arī skārienekrānā */
  .mv_name_toggle[title]::after{
    content: "— " attr(title);
    color: var(--mv-color-muted);
    font-weight: var(--mv-weight-regular);
    }
  .mv_name_toggle:has(INPUT:checked)::after{
    color: inherit;
    }
  }

/* bezsaistē (servera $timeout): pelēcīga rinda ar svītrotu malu + "Nav sakaru" */
.mv_dl_offline_badge{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 22px;
  margin-left: var(--mv-space-2);
  padding: 0 var(--mv-space-2);
  border: 1px dashed var(--mv-color-offline);
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-offline-soft);
  color: var(--mv-color-offline);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  white-space: nowrap;
  vertical-align: 1px;
  }
.mv_dl_offline{
  background-color: #FAFBFC;
  }
.mv_dl_offline .mv_dl_primary,
.mv_dl_offline .mv_dl_num{
  color: var(--mv-color-text-2);
  }
/* tikai galvene, rindu nav — tukšais stāvoklis */
.mv_dl_body:has(> .mv_dl_row_head):not(:has(> .mv_dl_row:not(.mv_dl_row_head)))::after{
  content: attr(data-empty-title);
  display: block;
  padding: var(--mv-space-7) var(--mv-space-4);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-md);
  font-weight: var(--mv-weight-semibold);
  text-align: center;
  }
@media (max-width: 1023px){
  /* kartītēs galvene paslēpta; .mv_dl_row_head_tools — galvenē ir vadīkla (piem.
     NAI slēdzis "nosaukums"), tad rinda paliek kā slaida rīku rinda (lapas CSS) */
  .mv_dl_row_head:not(.mv_dl_row_head_tools){
    display: none !important;
    }
  .mv_dl_offline{
    border-left: 4px dashed var(--mv-color-offline);
    }
  .mv_dl_alarm.mv_dl_offline{
    border-left-style: solid;
    }
  /* kārtas Nr. kartītes labajā augšējā stūrī */
  .mv_dl_row > .mv_dl_nr{
    position: absolute;
    top: var(--mv-space-4);
    right: var(--mv-space-4);
    }
  .mv_dl_row > .mv_dl_nr[data-label]::before{
    content: "Nr. ";
    display: inline;
    }
  .mv_dl_row:has(> .mv_dl_nr) > .mv_dl_open{
    padding-right: var(--mv-space-7);
    }
  .mv_dl_spark{
    grid-column: 1 / -1;
    }
  }
@media (min-width: 1024px){
  .mv_dl_body > .mv_dl_row_head{
    position: sticky;
    top: 0;
    z-index: var(--mv-z-sticky);
    background-color: var(--mv-color-surface-2);
    border-radius: var(--mv-radius-md) var(--mv-radius-md) 0 0;
    }
  .mv_dl_body > .mv_dl_row_head:hover{
    background-color: var(--mv-color-surface-2);
    }
  .mv_dl_offline{
    box-shadow: inset 4px 0 0 var(--mv-color-offline);
    }
  .mv_dl_alarm.mv_dl_offline{
    box-shadow: inset 4px 0 0 var(--mv-color-alarm-solid);
    }
  }

/* --- kārtošana telefonā/planšetē (mv_sort_bind, common.js) --- */
.mv_sort{
  display: flex;
  align-items: center;
  gap: var(--mv-space-2);
  }
.mv_sort_label{
  color: var(--mv-color-muted);
  font-size: var(--mv-text-sm);
  white-space: nowrap;
  }
.mv_sort SELECT{
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
  }
.mv_sort_dir::before{
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-sort-asc) center / contain no-repeat;
  mask: var(--mv-mask-sort-asc) center / contain no-repeat;
  }
.mv_sort_dir[data-dir="DESC"]::before{
  -webkit-mask-image: var(--mv-mask-sort-desc);
  mask-image: var(--mv-mask-sort-desc);
  }

/* --- rīkjosla sarakstu lapām: telefonā 3 rindas
   (meklēšana + poga / pārējās pogas / kārtošana) --- */
.mv_toolbar_list{
  margin-bottom: var(--mv-space-4);
  }
@media (max-width: 1023px){
  .mv_toolbar_list .mv_search{
    flex-basis: 100%;
    }
  }
@media (min-width: 768px) and (max-width: 1023px){
  .mv_toolbar_list .mv_search{
    flex-basis: 280px;
    }
  }
@media (max-width: 767px){
  .mv_toolbar_list{
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--mv-space-2);
    }
  .mv_toolbar_list > *{
    grid-column: 1 / -1;
    }
  .mv_toolbar_list > .mv_search{
    grid-column: 1;
    }
  .mv_toolbar_list > .mv_search_submit{
    grid-column: 2;
    width: var(--mv-touch);
    padding: 0;
    }
  .mv_toolbar_list > .mv_search_submit > SPAN{
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    }
  .mv_page_actions,
  .mv_page_actions > .mv_btn{
    width: 100%;
    }
  }

/* --- kartītes (< 1024px) --- */
@media (max-width: 1023px){
  .mv_dl_head{
    display: none;
    }
  .mv_dl_body{
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--mv-space-3);
    }
  .mv_dl_row{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-content: start;
    gap: var(--mv-space-3) var(--mv-space-4);
    padding: var(--mv-space-4);
    background-color: var(--mv-color-surface);
    border: 1px solid var(--mv-color-border);
    border-radius: var(--mv-radius-md);
    box-shadow: var(--mv-shadow-sm);
    transition: border-color var(--mv-duration-fast) var(--mv-ease), box-shadow var(--mv-duration-fast) var(--mv-ease);
    }
  .mv_dl_row:hover{
    border-color: var(--mv-color-border-strong);
    box-shadow: var(--mv-shadow-md);
    }
  .mv_dl_alarm{
    border-left: 4px solid var(--mv-color-alarm-solid);
    }
  .mv_dl_row[class*="row_highlight"]{
    border-color: var(--mv-color-accent);
    }
  .mv_dl_row > DIV{
    font-size: var(--mv-text-sm);
    }
  .mv_dl_row > DIV[data-label]::before{
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    color: var(--mv-color-muted);
    font-family: var(--mv-font-sans);
    font-size: var(--mv-text-xs);
    font-weight: var(--mv-weight-medium);
    }
  .mv_dl_row > DIV[data-label]:empty::before{
    content: attr(data-label) "  —";
    display: inline;
    white-space: pre;
    }
  .mv_dl_open,
  .mv_dl_wide{
    grid-column: 1 / -1;
    }
  .mv_dl_open{
    font-size: var(--mv-text-md);
    font-weight: var(--mv-weight-semibold);
    line-height: var(--mv-leading-tight);
    }
  .mv_dl_row:has(.mv_dl_fav) > .mv_dl_open{
    padding-right: var(--mv-space-7);
    }
  .mv_dl_primary{
    font-size: var(--mv-text-xl);
    line-height: var(--mv-leading-tight);
    }
  .mv_dl_row > DIV[data-unit]:not(:empty)::after{
    content: " " attr(data-unit);
    color: var(--mv-color-muted);
    font-size: var(--mv-text-xs);
    font-weight: var(--mv-weight-medium);
    }
  .mv_dl_row > .mv_dl_fav{
    position: absolute;
    top: var(--mv-space-1);
    right: var(--mv-space-1);
    min-width: var(--mv-touch);
    min-height: var(--mv-touch);
    }
  }
@media (min-width: 768px) and (max-width: 1023px){
  .mv_dl_body{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

/* --- tabula (>= 1024px) --- */
@media (min-width: 1024px){
  .mv_dl{
    background-color: var(--mv-color-surface);
    border: 1px solid var(--mv-color-border);
    border-radius: var(--mv-radius-md);
    box-shadow: var(--mv-shadow-sm);
    }
  .mv_dl_row{
    display: grid;
    grid-template-columns: var(--mv-dl-cols);
    align-items: center;
    }
  .mv_dl_row > DIV{
    padding: var(--mv-space-2);
    }
  .mv_dl_row > DIV:first-child{
    padding-left: var(--mv-space-4);
    }
  .mv_dl_head{
    position: sticky;
    top: 0;
    z-index: var(--mv-z-sticky);
    background-color: var(--mv-color-surface-2);
    border-bottom: 1px solid var(--mv-color-border);
    border-radius: var(--mv-radius-md) var(--mv-radius-md) 0 0;
    }
  .mv_dl_row_head > DIV{
    display: flex;
    align-items: center;
    gap: var(--mv-space-1);
    min-height: 48px;
    color: var(--mv-color-text-2);
    font-size: var(--mv-text-xs);
    font-weight: var(--mv-weight-semibold);
    line-height: 1.25;
    }
  .mv_dl_th_num{
    justify-content: flex-end;
    text-align: right;
    }
  .mv_dl_th_unit{
    color: var(--mv-color-muted);
    font-weight: var(--mv-weight-medium);
    }
  .mv_dl_sort{
    background-image: none !important;
    border-radius: var(--mv-radius-sm);
    cursor: pointer;
    user-select: none;
    transition: background-color var(--mv-duration-fast) var(--mv-ease), color var(--mv-duration-fast) var(--mv-ease);
    }
  .mv_dl_sort:hover{
    background-color: var(--mv-color-surface-3);
    color: var(--mv-color-text);
    }
  .mv_dl_sort:focus-visible{
    outline: none;
    box-shadow: inset 0 0 0 2px var(--mv-color-accent);
    }
  .mv_dl_sort::after{
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    background-color: currentColor;
    opacity: 0.35;
    -webkit-mask: var(--mv-mask-sort) center / contain no-repeat;
    mask: var(--mv-mask-sort) center / contain no-repeat;
    }
  .mv_dl_sort[style*="sort_down"],
  .mv_dl_sort[style*="sort_up"]{
    color: var(--mv-color-accent);
    }
  .mv_dl_sort[style*="sort_down"]::after{
    opacity: 1;
    -webkit-mask-image: var(--mv-mask-sort-asc);
    mask-image: var(--mv-mask-sort-asc);
    }
  .mv_dl_sort[style*="sort_up"]::after{
    opacity: 1;
    -webkit-mask-image: var(--mv-mask-sort-desc);
    mask-image: var(--mv-mask-sort-desc);
    }
  .mv_dl_body > .mv_dl_row{
    border-bottom: 1px solid var(--mv-color-border);
    font-size: var(--mv-text-sm);
    transition: background-color var(--mv-duration-fast) var(--mv-ease);
    }
  .mv_dl_body > .mv_dl_row:last-child{
    border-bottom: 0;
    border-radius: 0 0 var(--mv-radius-md) var(--mv-radius-md);
    }
  .mv_dl_body > .mv_dl_row:hover{
    background-color: var(--mv-color-surface-2);
    }
  .mv_dl_alarm{
    box-shadow: inset 4px 0 0 var(--mv-color-alarm-solid);
    }
  .mv_dl_open{
    font-weight: var(--mv-weight-medium);
    line-height: var(--mv-leading-tight);
    }
  .mv_dl_num{
    text-align: right;
    }
  .mv_dl_primary{
    font-size: var(--mv-text-md);
    }
  .mv_sort{
    display: none;                   /* datorā kārto ar galvenes šūnām */
    }
  .mv_page:has(.mv_status_bar[style*="visible"]) .mv_dl_body:empty::before{
    height: 336px;
    margin: var(--mv-space-3);
    -webkit-mask: repeating-linear-gradient(to bottom, #000 0 44px, transparent 44px 56px);
    mask: repeating-linear-gradient(to bottom, #000 0 44px, transparent 44px 56px);
    }
  }

@media (prefers-reduced-motion: reduce){
  .mv_status_bar,
  .mv_page:has(.mv_status_bar[style*="visible"]) .mv_dl_body:empty::before{
    animation: none;
    }
  .mv_status_bar{
    background-size: 100% 100%;
    background-image: linear-gradient(90deg, var(--mv-color-accent), var(--mv-color-accent));
    }
  }

/* --- 3.11/3.12 Izlase: filtra poga (.mv_fav_filter) un zvaigznīte rindā (.mv_fav);
   lieto devices un alerts_config --- */
/* --- izlases filtrs ---
   JS klausās klikšķi tieši uz IMG#devicesFavoritesShow un maina tā src
   (dev_fav_star_on/off.png). Tādēļ IMG izstiepjam pāri visai pogai kā
   caurspīdīgu "klikšķa slāni" (PNG saturs paslēpts ar object-position),
   bet zvaigzni un tekstu zīmē poga. Stāvokli nolasām no IMG src ar :has(). */
.mv_fav_filter{
  position: relative;
  padding-left: var(--mv-space-3);
  }

.mv_fav_filter::before{
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-star) center / contain no-repeat;
  mask: var(--mv-mask-star) center / contain no-repeat;
  }

.mv_fav_filter > IMG{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: inherit;
  object-position: -9999px 0;
  cursor: pointer;
  }

.mv_fav_filter > IMG:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }

.mv_fav_filter:has(> IMG[src*="_on"]){
  background-color: var(--mv-color-accent-soft);
  border-color: var(--mv-color-accent);
  color: var(--mv-color-accent);
  }

.mv_fav_filter:has(> IMG[src*="_on"])::before{
  color: var(--mv-color-warning-solid);
  -webkit-mask-image: var(--mv-mask-star-filled);
  mask-image: var(--mv-mask-star-filled);
  }

/* --- izlases zvaigznīte rindā: 44px pieskāriena laukums, PNG aizstāj maska;
   pilna zelta = izlasē (data-fav="1"), kontūra = nav --- */
.mv_fav{
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: var(--mv-touch);
  min-height: var(--mv-touch);
  border-radius: var(--mv-radius-sm);
  color: var(--mv-color-muted);
  cursor: pointer;
  transition: background-color var(--mv-duration-fast) var(--mv-ease);
  }

.mv_fav:hover{
  background-color: var(--mv-color-surface-3);
  }

.mv_fav:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }

.mv_fav > IMG{
  width: 22px;
  height: 22px;
  object-position: -9999px 0;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-star) center / contain no-repeat;
  mask: var(--mv-mask-star) center / contain no-repeat;
  }

.mv_fav[data-fav="1"] > IMG,
.mv_fav > IMG[src*="_on"]{
  color: var(--mv-color-warning-solid);
  background-color: var(--mv-color-warning-solid);
  -webkit-mask-image: var(--mv-mask-star-filled);
  mask-image: var(--mv-mask-star-filled);
  }

.mv_fav{
  position: relative;
  z-index: 2;
  }

/* --- 3.13 Grafiku lapas: grafika kartīte, perioda josla, datumu diapazons ----
   graphs, graphs_v3, graphs_v2 (Nakts plūsmas), nai_graphs, admin_dev_signals.
     .mv_chart_card       grafika konteiners kartītē
     .mv_chart_controls   vadīklu kartīte
     .mv_period_bar       perioda josla (presetu pogas / čipi + datumi + "Atlasit")
     .mv_period_presets   presetu pogu grupa (ritina horizontāli telefonā)
     .mv_period_chip      LABEL ar rūtiņu (perioda / sērijas izvēle)
     .mv_daterange        "No:" / "Līdz:" lauki + poga
   ------------------------------------------------------------------------- */
.mv_chart_card{
  margin-bottom: var(--mv-space-4);
  padding: var(--mv-space-3);
  overflow: hidden;
  }
.mv_chart_card > IFRAME{
  display: block;
  width: 100%;
  border: 0;
  }
.mv_chart_controls{
  margin-bottom: var(--mv-space-4);
  padding: var(--mv-space-3) var(--mv-space-4);
  }
.mv_period_bar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2) var(--mv-space-3);
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  }
.mv_period_presets{
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-space-1);
  }
.mv_period_presets > .mv_btn{
  min-height: 36px;
  padding: 0 var(--mv-space-3);
  font-size: var(--mv-text-sm);
  white-space: nowrap;
  }
.mv_period_chip{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-2);
  min-height: 36px;
  margin: 0;
  padding: 0 var(--mv-space-3) 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  font-size: var(--mv-text-sm);
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  }
.mv_period_chip:has(> INPUT:checked){
  border-color: var(--mv-color-accent);
  background-color: var(--mv-color-accent-soft);
  color: var(--mv-color-accent);
  }
.mv_period_chip:has(> INPUT:disabled){
  opacity: 0.55;
  cursor: not-allowed;
  }
.mv_period_chip > INPUT{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--mv-color-accent);
  }
.mv_period_chip:has(> INPUT:focus-visible){
  box-shadow: var(--mv-focus-ring);
  }
.mv_daterange{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--mv-space-2) var(--mv-space-3);
  margin: 0;
  padding: 0;
  border: 0;
  }
.mv_daterange_field{
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  }
.mv_daterange_field > INPUT{
  width: auto;
  min-width: 150px;
  }
@media (pointer: coarse){
  .mv_period_presets > .mv_btn,
  .mv_period_chip{
    min-height: var(--mv-touch);
    }
  }
/* telefons: presetu pogas — viena horizontāli ritināma rinda (nevis 3–4 rindas);
   datumi divās kolonnās, "Atlasit" pilnā platumā */
@media (max-width: 767px){
  .mv_period_bar{
    gap: var(--mv-space-3);
    }
  .mv_period_presets{
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
    padding-right: var(--mv-space-6);
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
            mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
    }
  .mv_period_presets::-webkit-scrollbar{
    display: none;
    }
  .mv_daterange{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
    }
  .mv_daterange_field > INPUT{
    width: 100%;
    min-width: 0;
    }
  .mv_daterange > BUTTON{
    grid-column: 1 / -1;
    }
  }

/* --- 3.10 Filtru panelis ("Izvērsta meklēšana") -----------------------------
   Lieto devices un alerts_view. Atvērts/aizvērts nosaka JS ar inline max-height
   (0px = aizvērts). Panelis paliek lapas plūsmā (arī telefonā) — pārklājošs
   logs aizsegtu rezultātus. "Atlasīt" meklē un aizver paneli; filtri paliek
   spēkā, aktīvo skaits — nozīmītē pogā (.mv_btn_count).
     .mv_filters > .mv_filters_inner(.mv_card) > .mv_filter_cat
       > .mv_filter_cat_title + .mv_filter_items > .mv_chip (INPUT + LABEL)
     .mv_filters_footer > .mv_filters_note + pogas
   ------------------------------------------------------------------------- */
.mv_filters{
  margin-bottom: var(--mv-space-4);
  }
/* aizvērts: pilnībā paslēpts (arī no Tab secības un ekrāna lasītājiem) */
.mv_filters[style*="max-height:0"],
.mv_filters[style*="max-height: 0"]{
  display: none;
  }
.mv_filters_inner{
  padding: var(--mv-space-2) var(--mv-space-4) 0;
  }

/* kategorija: virsraksts + izvēles "čipi" */
.mv_filter_cat{
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mv-space-2);
  padding: var(--mv-space-3) 0;
  border-bottom: 1px solid var(--mv-color-border);
  }
.mv_filter_cat_title{
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-semibold);
  }
.mv_filter_items{
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-space-2);
  min-width: 0;
  }
@media (min-width: 768px){
  .mv_filter_cat{
    grid-template-columns: 200px 1fr;
    align-items: start;
    }
  .mv_filter_cat_title{
    padding-top: var(--mv-space-2);
    }
  }

/* čips = rūtiņa + nosaukums; klikšķis jebkurā vietā pārslēdz (esošais JS +
   LABEL). Atzīmēts stāvoklis — akcenta krāsā, nolasīts ar :has(). */
.mv_chip{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-2);
  min-height: 36px;
  padding: 0 var(--mv-space-3) 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  font-size: var(--mv-text-sm);
  cursor: pointer;
  user-select: none;
  transition: background-color var(--mv-duration-fast) var(--mv-ease), border-color var(--mv-duration-fast) var(--mv-ease);
  }
.mv_chip:hover{
  background-color: var(--mv-color-surface-2);
  border-color: var(--mv-color-border-strong);
  }
.mv_chip:has(> INPUT:checked){
  background-color: var(--mv-color-accent-soft);
  border-color: var(--mv-color-accent);
  color: var(--mv-color-accent);
  }
.mv_chip:has(> INPUT:focus-visible){
  box-shadow: var(--mv-focus-ring);
  }
.mv_chip > INPUT{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--mv-color-accent);
  cursor: pointer;
  }
.mv_chip > LABEL{
  cursor: pointer;
  }
@media (pointer: coarse){
  .mv_chip{
    min-height: var(--mv-touch);
    }
  }

/* paneļa kājene: piezīme + darbības; telefonā "pielīp" ekrāna apakšā, lai
   "Atlasīt" būtu sasniedzams, neritinot cauri visām kategorijām */
.mv_filters_footer{
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2) var(--mv-space-3);
  margin: 0 calc(var(--mv-space-4) * -1);
  padding: var(--mv-space-3) var(--mv-space-4);
  background-color: var(--mv-color-surface);
  border-top: 1px solid var(--mv-color-border);
  border-radius: 0 0 var(--mv-radius-md) var(--mv-radius-md);
  }
.mv_filters_note{
  flex: 1 1 260px;
  color: var(--mv-color-warning);
  font-size: var(--mv-text-sm);
  }

/* --- 3.7 CSS ikonas (maskas) — elementiem, kuru HTML veido JS vai vecas
   PHP funkcijas, kur inline SVG ielikt nevar. Ikona = maska, krāsa =
   currentColor, tādēļ tā seko teksta krāsai tāpat kā mv_icon(). --- */
.mv_mask_icon{
  display: inline-block;
  flex: none;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask) center / contain no-repeat;
  mask: var(--mv-mask) center / contain no-repeat;
  }
:root{
  --mv-mask-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
  --mv-mask-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
  --mv-mask-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 1 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E");
  --mv-mask-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
  --mv-mask-sort: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9l4-4 4 4M8 15l4 4 4-4'/%3E%3C/svg%3E");
  --mv-mask-sort-asc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E");
  --mv-mask-sort-desc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E");
  --mv-mask-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m12 3.5 2.6 5.3 5.9.9-4.25 4.1 1 5.8L12 16.9l-5.25 2.7 1-5.8L3.5 9.7l5.9-.9z'/%3E%3C/svg%3E");
  --mv-mask-star-filled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m12 3.5 2.6 5.3 5.9.9-4.25 4.1 1 5.8L12 16.9l-5.25 2.7 1-5.8L3.5 9.7l5.9-.9z'/%3E%3C/svg%3E");
  --mv-mask-battery: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='17' height='10' rx='2'/%3E%3Cpath d='M22 11v2'/%3E%3C/svg%3E");
  --mv-mask-plug: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2v6M15 2v6M6 8h12v3a6 6 0 0 1-12 0zM12 17v5'/%3E%3C/svg%3E");
  --mv-mask-refresh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E");
  --mv-mask-back: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E");
  --mv-mask-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E");
  --mv-mask-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
  --mv-mask-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --mv-mask-gauge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17a8 8 0 1 1 16 0'/%3E%3Cpath d='m12 17 4-5'/%3E%3C/svg%3E");
  --mv-mask-signal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 19v-3M10 19v-7M15 19V8M20 19V4'/%3E%3C/svg%3E");
  --mv-mask-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
  --mv-mask-trash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13M10 11v6M14 11v6'/%3E%3C/svg%3E");
  --mv-mask-inbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13h5l1.5 3h5L16 13h5'/%3E%3Cpath d='M5.5 5h13L21 13v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6z'/%3E%3C/svg%3E");
  --mv-mask-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E");
  --mv-mask-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --mv-mask-edit: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='m13.5 6.5 4 4'/%3E%3C/svg%3E");
  }


/* ==========================================================================
   4. STĀVOKĻI — ielāde, tukšs saraksts, ilga ielāde
   ========================================================================== */

/* --- 4.1 Globālais ielādes indikators (#outer_status_img, index.php) ---
   Tas ir IMG ar animētu GIF, ko statusToggle() rāda/slēpj ar inline
   visibility. GIF saturu paslēpjam (object-position) un IMG pašu pārvēršam
   par plānu animētu joslu ekrāna augšā — JS loģika paliek nemainīta. */
#outer_status_img{
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--mv-z-toast);
  width: 100%;
  height: 3px;
  object-position: -9999px 0;
  background-image: linear-gradient(90deg, transparent, var(--mv-color-accent), transparent);
  background-size: 40% 100%;
  background-repeat: no-repeat;
  animation: mv_progress 1.1s linear infinite;
  visibility: hidden;
  }
@keyframes mv_progress{
  from{ background-position: -60% 0; }
  to{ background-position: 160% 0; }
  }

/* --- 4.2 Skeleton — mirdzoša pelēka vieta, kamēr dati vēl nav atnākuši --- */
@keyframes mv_shimmer{
  from{ background-position: -400px 0; }
  to{ background-position: 400px 0; }
  }
.mv_skeleton{
  background-color: var(--mv-color-surface-3);
  background-image: linear-gradient(90deg, var(--mv-color-surface-3) 0, #F7F9FA 50%, var(--mv-color-surface-3) 100%);
  background-size: 800px 100%;
  background-repeat: no-repeat;
  animation: mv_shimmer 1.4s linear infinite;
  border-radius: var(--mv-radius-sm);
  }

/* --- 4.3 "Ielāde ievelkas" — parādās tikai pēc ~12s nepārtrauktas ielādes.
   Ja serveris neatbild (kļūda/tīkls), esošais JS indikatoru neizslēdz un
   ziņu nerāda; šis paziņojums ir tikai CSS, JS loģika netiek mainīta. --- */
@keyframes mv_reveal{
  from{ opacity: 0; visibility: hidden; }
  to{ opacity: 1; visibility: visible; }
  }

/* --- 4.4 Tukšs saraksts --- */
.mv_empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mv-space-2);
  padding: var(--mv-space-7) var(--mv-space-4);
  text-align: center;
  color: var(--mv-color-muted);
  }
.mv_empty::before{
  content: "";
  width: 56px;
  height: 56px;
  margin-bottom: var(--mv-space-2);
  border-radius: 50%;
  /* ikonas krāsa datu URI nevar lietot CSS mainīgo — #5F6B78 = --mv-color-muted */
  background: var(--mv-color-surface-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F6B78' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13h5l1.5 3h5L16 13h5'/%3E%3Cpath d='M5.5 5h13L21 13v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6z'/%3E%3C/svg%3E") center / 28px no-repeat;
  }
.mv_empty_title{
  margin: 0;
  font-size: var(--mv-text-md);
  font-weight: var(--mv-weight-semibold);
  color: var(--mv-color-text);
  }
.mv_empty_hint{
  margin: 0;
  max-width: 42ch;
  font-size: var(--mv-text-sm);
  }

/* Mazāk kustību: animācijas izslēdzam, skeleton paliek statisks. */
@media (prefers-reduced-motion: reduce){
  #outer_status_img{
    animation: none;
    background-size: 100% 100%;
    background-image: linear-gradient(90deg, var(--mv-color-accent), var(--mv-color-accent));
    }
  .mv_skeleton{
    animation: none;
    }
  }


/* ==========================================================================
   5. LOGI (draggableWindow) UN CILNES
   Logu HTML veido createWindow() (js/common_private.js). Saglabātas visas
   klases, ko lieto JS (draggableWindow, draggableWindowTitle,
   draggableWindowClose, window_tabs, window_tab_button_active,
   window_tab_content). Vilkšana, z-index un aizvēršana — nemainīti.
   ========================================================================== */

.draggableWindow{
  /* loga virsraksta un cilņu joslas augstums — no tiem rēķina arī mantoto
     datumu izvēli (.common_calendar_selector), lai tā nenonāktu uz cilnēm */
  --mv-window-title-h: 36px;
  --mv-window-tabs-h: 40px;
  position: fixed;
  z-index: 9;                        /* JS uzreiz pārraksta (top_window_z) */
  min-width: 200px;
  min-height: 80px;
  /* logs nekad nav lielāks par ekrānu (JS to novieto 50px no augšas/kreisās):
     citādi plata satura gadījumā aizvēršanas poga nonāk ārpus redzamā laukuma */
  max-width: calc(100vw - 64px);      /* 1024px ekrānā vietu dabū arī 945px plašie logi */
  max-height: calc(100dvh - 100px);
  overflow: auto;
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  /* mantots: vēl nepārveidotie logu saturi pieņem centrētu tekstu */
  text-align: center;
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-lg);
  box-shadow: var(--mv-shadow-lg);
  }

/* virsraksta josla — agrāk spilgti zila; tagad mierīga, lai logā izceļas
   dati, nevis rāmis. Kursors "move" norāda, ka aiz tās logu var vilkt. */
.draggableWindowTitle{
  /* lipīgs: ritinot loga saturu, virsraksts un aizvēršana paliek redzami */
  position: sticky;
  top: 0;
  z-index: 10;
  display: block;
  box-sizing: border-box;            /* min-height ietver arī atkāpes un apmali */
  /* datorā šaura VIENAS rindas josla (vilkšanai pietiek), lai logā vairāk vietas
     datiem. nowrap: logs (platums pēc satura) paplašinās līdz virsraksta garumam;
     tikai ja logs jau ir maksimālajā platumā, beigas aizstāj "…" */
  min-height: var(--mv-window-title-h);
  padding: var(--mv-space-1) 44px var(--mv-space-1) var(--mv-space-3);
  line-height: calc(var(--mv-window-title-h) - 2 * var(--mv-space-1));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background-color: var(--mv-color-surface-2);
  border-bottom: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-lg) var(--mv-radius-lg) 0 0;
  color: var(--mv-color-text);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-semibold);
  text-align: left;
  cursor: move;
  user-select: none;
  }

/* aizvēršanas (un retāk lietotā pārlādes) poga: 44px pieskāriena laukums,
   ikona no CSS maskas — strādā gan jaunajai BUTTON, gan vecajai DIV formai */
.draggableWindowClose,
.draggableWindowReload{
  position: absolute;
  top: 50%;
  right: var(--mv-space-1);
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--mv-radius-sm);
  background: transparent;
  color: var(--mv-color-text-2);
  cursor: pointer;
  transition: background-color var(--mv-duration-fast) var(--mv-ease), color var(--mv-duration-fast) var(--mv-ease);
  }
.draggableWindowReload{
  right: calc(32px + var(--mv-space-1));
  }
/* skārienierīcē aizvēršanas poga vienmēr 44px */
@media (pointer: coarse){
  .draggableWindowClose,
  .draggableWindowReload{
    width: var(--mv-touch);
    height: var(--mv-touch);
    }
  .draggableWindowReload{
    right: calc(var(--mv-touch) + var(--mv-space-1));
    }
  }
/* mantotā datumu izvēle loga iekšā: zem virsraksta UN cilnēm (agrāk fiksēti
   top:79px, kas pēc pārveides nonāca uz cilņu pogām) */
.draggableWindow .common_calendar_selector{
  top: calc(var(--mv-window-title-h) + var(--mv-window-tabs-h) + var(--mv-space-2));
  }
.draggableWindowClose::before,
.draggableWindowReload::before{
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-close) center / contain no-repeat;
  mask: var(--mv-mask-close) center / contain no-repeat;
  }
.draggableWindowReload::before{
  -webkit-mask-image: var(--mv-mask-refresh);
  mask-image: var(--mv-mask-refresh);
  }
.draggableWindowClose:hover,
.draggableWindowReload:hover{
  background-color: var(--mv-color-surface-3);
  color: var(--mv-color-text);
  }
.draggableWindowClose:focus-visible,
.draggableWindowReload:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }

/* --- cilnes: viena rinda ar pasvītrojumu aktīvajai; ja neietilpst, rinda
   ritina horizontāli (telefonā labāk nekā 3-4 rindas ar pogām) --- */
.window_tabs{
  display: flex;
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 var(--mv-space-2);
  background-color: var(--mv-color-surface);
  border: 0;
  border-bottom: 1px solid var(--mv-color-border);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  }
.window_tabs::-webkit-scrollbar{
  display: none;
  }
.window_tabs BUTTON{
  position: relative;
  flex: none;
  float: none;
  box-sizing: border-box;
  min-height: var(--mv-window-tabs-h, var(--mv-touch));
  padding: 0 var(--mv-space-3);
  margin: 0 0 -1px;
  border: 0;
  border-bottom: 2px solid transparent;
  background-color: transparent;
  color: var(--mv-color-text-2);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  transition: color var(--mv-duration-fast) var(--mv-ease), border-color var(--mv-duration-fast) var(--mv-ease), background-color var(--mv-duration-fast) var(--mv-ease);
  }
.window_tabs BUTTON:hover{
  color: var(--mv-color-text);
  background-color: var(--mv-color-surface-2);
  }
.window_tabs BUTTON:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 2px var(--mv-color-accent);
  }
/* aktīvā cilne — klasi uzliek esošais JS */
.window_tabs BUTTON.window_tab_button_active,
.window_tab_button_active{
  color: var(--mv-color-accent);
  border-bottom-color: var(--mv-color-accent);
  background-color: transparent;
  }
.window_tab_content{
  display: none;                     /* JS rāda aktīvo ar style.display */
  padding: var(--mv-space-3) var(--mv-space-4);
  border: 0;
  }

/* telefonā un planšetē logs aizpilda VISU satura laukumu starp augšējo joslu un
   (telefonā) apakšējo navigāciju. Ierīču logiem ir fiksēti pikseļu platumi, un
   < 1024px aizvēršanas poga citādi nonāca ārpus ekrāna; ja logs sāktos no
   ekrāna augšas, tā aizvēršanas poga atrastos ZEM joslas pogas "Atslēgties"
   (logu z-index nāk no JS un ir mazāks) — pieskāriens izrakstītu lietotāju.
   Tādēļ logs sākas zem joslas, un nekas nepārklājas. */
@media (max-width: 1023px){
  .draggableWindow{
    --mv-window-title-h: 52px;
    --mv-window-tabs-h: 44px;
    position: fixed;
    top: calc(var(--mv-app-bar-h) + env(safe-area-inset-top)) !important;
    right: 0;
    bottom: 0;
    left: 0 !important;
    width: 100% !important;
    max-width: 100%;
    height: auto;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding-bottom: env(safe-area-inset-bottom);
    }
  /* pilnekrāna logā virsraksts drīkst lūzt vairākās rindās — nekas netiek nogriezts */
  .draggableWindowTitle{
    display: flex;
    align-items: center;
    padding: var(--mv-space-2) 56px var(--mv-space-2) var(--mv-space-4);
    line-height: var(--mv-leading-tight);
    white-space: normal;
    border-radius: 0;
    font-size: var(--mv-text-md);
    cursor: default;
    }
  .window_tab_content{
    padding: var(--mv-space-3);
    }
  /* cilņu rinda ritina horizontāli — labajā malā izbalināšana norāda, ka ir vēl;
     iekšējā atkāpe ļauj pēdējo cilni izritināt ārpus izbalinātās zonas */
  .window_tabs{
    padding-right: var(--mv-space-6);
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
            mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
    }
  }
/* telefonā apakšā ir navigācijas josla — logs beidzas virs tās */
@media (max-width: 767px){
  .draggableWindow{
    bottom: calc(var(--mv-bottom-nav-h) + env(safe-area-inset-bottom));
    padding-bottom: 0;
    }
  }


/* --- 5.4 Ierīču logu galvenās cilnes kreisā kolonna ------------------------
   Mantotās klases sešiem ierīču veidiem (dev_common, dev_heat, device_power,
   device_power_production, device_generator, dev_waste_main_v2_) — HTML nemainīts.
   Agrāk: pelēka ikonu josla, fiksēts rindas augstums 40px (garas vērtības,
   piem. "Min./Vid./Max." ar 3 skaitļiem, pārklājās ar nākamo rindu), saīsināti
   nosaukumi (ellipsis 127px), JPG ikonas (ģeneratoram — neeksistējošas, 404).
   Tagad: rindas aug pēc satura, pilni nosaukumi, SVG maskas ikonas.
   #content-outer — lai pārspētu device*.css (tie ielādējas pēc main.css). */
#content-outer :is(.dev_common_main_left_outer, .dev_heat_main_left_outer, .device_power_main_left_outer, .device_power_production_main_left_outer, .device_generator_main_left_outer, .dev_waste_main_v2__left_outer, .device_power_production_graph_left_outer, .device_generator_graph_left_outer){
  /* kreisā "sānjosla": platums kā katram ierīces veidam agrāk (298–390px), lai
     grafiks ietilptu blakus; bez ārējām atkāpēm (citādi grafiks pārlec zem tās) */
  box-sizing: border-box;
  max-width: 100%;
  height: auto;
  margin: 0;
  overflow: visible;
  border: 0;
  border-right: 1px solid var(--mv-color-border);
  border-radius: 0;
  background-color: var(--mv-color-surface);
  }
/* device_common sānjoslai agrāk platums nebija noteikts (saturs ~390px); bez tā
   elastīgās rindas to izpleš un grafiks pārlec zem saraksta */
#content-outer .dev_common_main_left_outer{
  width: 390px;
  }
/* grafiku cilnes saraksts bez ikonu kolonnas — atkāpe no loga malas */
#content-outer :is(.device_power_production_graph_left_outer, .device_generator_graph_left_outer) :is(.device_power_production_main_left_item, .device_generator_main_left_item){
  padding-left: var(--mv-space-3);
  }
#content-outer :is(.dev_common_main_left_item_seperator, .dev_heat_main_left_item_seperator, .device_power_main_left_item_seperator, .device_power_production_main_left_item_seperator, .device_generator_main_left_item_seperator, .dev_waste_main_v2__left_item_seperator){
  display: block;
  height: 6px;
  background-color: var(--mv-color-surface-3);
  }
#content-outer :is(.dev_common_main_left_item_outer, .dev_heat_main_left_item_outer, .device_power_main_left_item_outer, .device_power_production_main_left_item_outer, .device_generator_main_left_item_outer, .dev_waste_main_v2__left_item_outer){
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
  }
/* ikonu kolonna: burti (Q, V, T1 …) vai SVG ikona — bez pelēkā fona */
#content-outer :is(.dev_common_main_left_item_ico, .dev_heat_main_left_item_ico, .device_power_main_left_item_ico, .device_power_production_main_left_item_ico, .device_generator_main_left_item_ico, .dev_waste_main_v2__left_item_ico){
  box-sizing: border-box;
  display: block;
  flex: 0 0 36px;
  width: 36px;
  height: auto;
  min-height: 40px;
  padding: 11px 0 0;
  background-color: transparent;
  background-image: none;
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-bold);
  text-align: center;
  }
#content-outer :is(.dev_common_main_left_item_ico_time, .dev_common_main_left_item_ico_meter, .dev_common_main_left_item_ico_wifi, .dev_heat_main_left_item_ico_time, .dev_heat_main_left_item_ico_meter, .dev_heat_main_left_item_ico_wifi, .device_power_main_left_item_ico_time, .device_power_main_left_item_ico_meter, .device_power_main_left_item_ico_wifi, .device_power_production_main_left_item_ico_time, .device_power_production_main_left_item_ico_meter, .device_power_production_main_left_item_ico_wifi, .device_generator_main_left_item_ico_time, .device_generator_main_left_item_ico_meter, .device_generator_main_left_item_ico_wifi, .dev_waste_main_v2__left_item_ico_time, .dev_waste_main_v2__left_item_ico_meter, .dev_waste_main_v2__left_item_ico_wifi)::before{
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-clock) center / contain no-repeat;
  mask: var(--mv-mask-clock) center / contain no-repeat;
  }
#content-outer :is(.dev_common_main_left_item_ico_meter, .dev_heat_main_left_item_ico_meter, .device_power_main_left_item_ico_meter, .device_power_production_main_left_item_ico_meter, .device_generator_main_left_item_ico_meter, .dev_waste_main_v2__left_item_ico_meter)::before{
  -webkit-mask-image: var(--mv-mask-gauge);
  mask-image: var(--mv-mask-gauge);
  }
#content-outer :is(.dev_common_main_left_item_ico_wifi, .dev_heat_main_left_item_ico_wifi, .device_power_main_left_item_ico_wifi, .device_power_production_main_left_item_ico_wifi, .device_generator_main_left_item_ico_wifi, .dev_waste_main_v2__left_item_ico_wifi)::before{
  -webkit-mask-image: var(--mv-mask-signal);
  mask-image: var(--mv-mask-signal);
  }
/* rinda: 1. bloks = pašreizējā vērtība, 2. bloks = periods (min/vid/max) + rūtiņa */
#content-outer :is(.dev_common_main_left_item, .dev_heat_main_left_item, .device_power_main_left_item, .device_power_production_main_left_item, .device_generator_main_left_item, .dev_waste_main_v2__left_item){
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  flex: 1 1 auto;
  gap: 2px var(--mv-space-3);
  width: auto;
  height: auto;
  min-height: 44px;
  float: none;
  padding: 6px var(--mv-space-2) 6px 0;
  border-bottom: 1px solid var(--mv-color-border);
  }
#content-outer :is(.dev_common_main_left_item_outer, .dev_heat_main_left_item_outer, .device_power_main_left_item_outer, .device_power_production_main_left_item_outer, .device_generator_main_left_item_outer, .dev_waste_main_v2__left_item_outer):last-child > :is(.dev_common_main_left_item, .dev_heat_main_left_item, .device_power_main_left_item, .device_power_production_main_left_item, .device_generator_main_left_item, .dev_waste_main_v2__left_item){
  border-bottom: 0;
  }
#content-outer :is(.dev_common_main_left_item, .dev_heat_main_left_item, .device_power_main_left_item, .device_power_production_main_left_item, .device_generator_main_left_item, .dev_waste_main_v2__left_item) > SPAN:nth-of-type(1){
  float: none;
  flex: 1 1 100px;
  min-width: 0;
  padding: 0;
  }
#content-outer :is(.dev_common_main_left_item, .dev_heat_main_left_item, .device_power_main_left_item, .device_power_production_main_left_item, .device_generator_main_left_item, .dev_waste_main_v2__left_item) > SPAN:nth-of-type(2){
  position: relative;
  float: none;
  flex: 1 1 116px;
  width: auto;
  min-width: 0;
  min-height: 26px;
  padding: 0 34px 0 0;
  }
#content-outer :is(.dev_common_main_left_item_title, .dev_heat_main_left_item_title, .device_power_main_left_item_title, .device_power_production_main_left_item_title, .device_generator_main_left_item_title, .dev_waste_main_v2__left_item_title){
  display: block;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  line-height: 1.3;
  white-space: normal;
  text-decoration: none;
  }
#content-outer :is(.dev_common_main_left_item_value, .dev_heat_main_left_item_value, .device_power_main_left_item_value, .device_power_production_main_left_item_value, .device_generator_main_left_item_value, .dev_waste_main_v2__left_item_value){
  color: var(--mv-color-text);
  font-size: var(--mv-text-md);
  font-weight: var(--mv-weight-semibold);
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: break-word;
  }
#content-outer :is(.dev_common_main_left_item_unit, .dev_heat_main_left_item_unit, .device_power_main_left_item_unit, .device_power_production_main_left_item_unit, .device_generator_main_left_item_unit, .dev_waste_main_v2__left_item_unit){
  margin-left: 2px;
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-regular);
  text-decoration: none;
  }
#content-outer :is(.dev_common_main_left_item_boolean_img, .dev_heat_main_left_item_boolean_img, .device_power_main_left_item_boolean_img, .device_power_production_main_left_item_boolean_img, .device_generator_main_left_item_boolean_img, .dev_waste_main_v2__left_item_boolean_img){
  width: 32px;
  height: 32px;
  margin: 0;
  }
/* grafika sērijas rūtiņa (krāsu uzliek JS) — augšējā labajā stūrī */
#content-outer :is(.dev_common_checkbox_wrapper, .device_power_checkbox_wrapper, .device_power_production_checkbox_wrapper, .dev_heat_checkbox_wrapper, .device_generator_checkbox_wrapper, .dev_waste_checkbox_wrapper){
  top: 0;
  right: 0;
  border-color: var(--mv-color-border-strong);
  border-radius: var(--mv-radius-sm);
  }


/* telefons/planšete (< 1024px; ierīce atveras kā lapa): sānjosla pilnā platumā,
   grafiks zem tās pilnā platumā (amCharts pielāgojas konteinera platumam).
   Aizstāj agrākos device_standalone.css noteikumus (tie bija tikai dev_common un
   dev_heat). */
@media (max-width: 1023px){
  #content-outer :is(.dev_common_main_left_outer, .dev_heat_main_left_outer, .device_power_main_left_outer, .device_power_production_main_left_outer, .device_generator_main_left_outer, .dev_waste_main_v2__left_outer, .device_power_production_graph_left_outer, .device_generator_graph_left_outer){
    display: block;
    width: 100% !important;
    border-right: 0;
    border-bottom: 1px solid var(--mv-color-border);
    }
  #content-outer :is(.dev_common_main_right_outer, .dev_heat_main_right_outer, .device_power_main_right_outer, .device_power_production_graph_container, .device_generator_graph_container, .dev_waste_main_v2__right_outer, .dev_waste_main_v2__graph_container, .windowed_device_graph){
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    height: 300px;
    padding: var(--mv-space-2) var(--mv-space-2) 0;
    overflow: hidden;
    }
  #content-outer :is(.dev_common_main_right_outer, .dev_heat_main_right_outer, .device_power_main_right_outer, .device_power_production_graph_container, .device_generator_graph_container, .dev_waste_main_v2__right_outer, .dev_waste_main_v2__graph_container, .windowed_device_graph) :is(DIV, canvas, svg){
    max-width: 100% !important;
    }
  /* vizualizācijas (ģeneratora mērinstrumenti, sūkņu stacijas attēls) — centrā,
     nekad platākas par ekrānu */
  #content-outer :is(.device_generator_visualization, .dev_waste_visualization){
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    }
  }

/* --- 5.5 Ierīču logu formas: saglabāšana, dzēšana, cilņu trauksmju skaits ----
   .submit_data_form (esošā JS klase): agrāk position:absolute loga stūrī —
   pārklāja saturu (piem. Serial params teksta lauku). Tagad primārā poga satura
   beigās labajā pusē (normālā plūsmā — nekad neaizsedz laukus). */
#content-outer BUTTON.submit_data_form{
  position: static;
  right: auto;
  bottom: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--mv-control-h);
  margin: var(--mv-space-4) var(--mv-space-4) var(--mv-space-3) auto;
  padding: 0 var(--mv-space-5);
  border: 1px solid var(--mv-color-accent);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-accent);
  box-shadow: var(--mv-shadow-sm);
  color: #FFFFFF;
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-semibold);
  cursor: pointer;
  }
#content-outer BUTTON.submit_data_form:hover{
  background-color: var(--mv-color-accent-hover);
  border-color: var(--mv-color-accent-hover);
  }
#content-outer BUTTON.submit_data_form:active{
  background-color: var(--mv-color-accent-active);
  }
#content-outer BUTTON.submit_data_form:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }
@media (pointer: coarse){
  #content-outer BUTTON.submit_data_form{
    min-height: var(--mv-touch);
    }
  }
/* ierīces dzēšana (ar vai bez datiem) — bīstama darbība, atšķirama pēc izskata */
#content-outer BUTTON[onclick*="dev_delete"]{
  border-color: var(--mv-color-alarm);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-alarm);
  font-weight: var(--mv-weight-semibold);
  }
#content-outer BUTTON[onclick*="dev_delete"]:hover{
  background-color: var(--mv-color-alarm-soft);
  }
/* trauksmju skaits cilnes nosaukumā ("Trauksmes 7") */
.window_tabs [class$="_alerts_marker_count"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0 5px;
  border-radius: var(--mv-radius-pill);
  background: var(--mv-color-alarm-solid);
  color: #FFFFFF;
  font-family: var(--mv-font-sans);
  font-size: 11px;
  font-weight: var(--mv-weight-bold);
  vertical-align: 1px;
  }

/* --- 5.6 Ierīču logu tabulas un LoRaWAN žurnāls ------------------------------
   Visas tabulas cilnēs (Trauksmes, Status, Datu uzst. u.c.) — vienots izskats.
   Cilņu saturam ir id "<uid>_tab_N". */
#content-outer [id*="_tab_"] TABLE{
  border-collapse: collapse;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  }
#content-outer [id*="_tab_"] TH{
  padding: 6px var(--mv-space-2);
  border: 0;
  border-bottom: 1px solid var(--mv-color-border-strong);
  background-color: var(--mv-color-surface-3);
  color: var(--mv-color-text-2);
  font-weight: var(--mv-weight-semibold);
  text-align: left;
  white-space: nowrap;
  }
#content-outer [id*="_tab_"] TD{
  padding: 5px var(--mv-space-2);
  border: 0;
  border-bottom: 1px solid var(--mv-color-border);
  vertical-align: middle;
  }
#content-outer [id*="_tab_"] TR:hover > TD{
  background-color: var(--mv-color-surface-2);
  }
/* trauksmes dzēšana tabulā — bīstama darbība, izskatās pēc saites */
#content-outer [id*="_tab_"] TD[onclick*="alert_delete"]{
  color: var(--mv-color-alarm);
  font-weight: var(--mv-weight-semibold);
  cursor: pointer;
  white-space: nowrap;
  }
#content-outer [id*="_tab_"] TD[onclick*="alert_delete"]:hover{
  text-decoration: underline;
  }

/* LoRaWAN žurnāls (functions_html.php + kopijas ierīču lapās) */
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data){
  box-sizing: border-box;
  margin-top: var(--mv-space-2);
  padding: 0 var(--mv-space-3);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface);
  box-shadow: none;
  font-size: 13px;
  }
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) > DIV{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--mv-space-1);
  margin: 0;
  padding: 2px 0;
  border-bottom: 1px solid var(--mv-color-border);
  }
#content-outer .device_lora_wan_data_expand_butt{
  flex: 1 1 260px;
  width: auto;
  min-height: 32px;
  display: flex;
  align-items: center;
  font-family: var(--mv-font-mono);
  font-size: 12.5px;
  color: var(--mv-color-text);
  cursor: pointer;
  }
#content-outer .device_lora_wan_data_expand_butt:focus-visible{
  outline: 2px solid var(--mv-color-accent);
  outline-offset: 1px;
  }
/* ikonas: atvērt jaunā logā / dzēst (PNG aizstāj SVG maska), 32px / 44px */
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) > DIV > SPAN:is(:nth-of-type(1), :nth-of-type(2)){
  box-sizing: border-box;
  display: inline-block;
  width: 32px;
  height: 32px;
  border-radius: var(--mv-radius-sm);
  background-image: none;
  background-color: var(--mv-color-muted);
  -webkit-mask: var(--mv-mask-external) center / 16px no-repeat;
  mask: var(--mv-mask-external) center / 16px no-repeat;
  cursor: pointer;
  }
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) > DIV > SPAN:nth-of-type(2){
  -webkit-mask-image: var(--mv-mask-trash);
  mask-image: var(--mv-mask-trash);
  }
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) > DIV > SPAN:nth-of-type(1):hover{
  background-color: var(--mv-color-accent);
  }
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) > DIV > SPAN:nth-of-type(2):hover{
  background-color: var(--mv-color-alarm);
  }
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) > DIV > SPAN:focus-visible{
  outline: 2px solid var(--mv-color-accent);
  outline-offset: 1px;
  }
@media (pointer: coarse){
  #content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) > DIV > SPAN:is(:nth-of-type(1), :nth-of-type(2)){
    width: var(--mv-touch);
    height: var(--mv-touch);
    }
  }
/* lappušu pogas |<<  <<<  >>> */
#content-outer .device_lora_wan_data_fwd_bwd_btns{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 32px;
  margin: var(--mv-space-2) 2px var(--mv-space-2) 0;
  padding: 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-accent);
  font-family: var(--mv-font-mono);
  font-weight: var(--mv-weight-semibold);
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  }
#content-outer .device_lora_wan_data_fwd_bwd_btns[style*="cursor:default"]{
  opacity: 0.45;
  }
/* pakas saturs — horizontāla ritināšana PRE iekšienē (agrāk nogriezts) */
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) PRE{
  flex: 1 1 100%;
  max-width: 100%;
  margin: 0 0 var(--mv-space-2);
  padding: var(--mv-space-2);
  overflow: auto;
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface-2);
  font-family: var(--mv-font-mono);
  font-size: 12px;
  }
#content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data) PRE.device_lora_wan_data_hidden{
  display: none;
  }
@media (max-width: 1023px){
  /* telefonā bez iekšējās ritināšanas — ritina lapa */
  #content-outer :is(.device_lora_wan_data, .device_common_lora_wan_data, .device_power_lora_wan_data, .device_power_production_lora_wan_data){
    height: auto;
    max-height: none;
    overflow: visible;
    }
  }

/* --- 5.7 Ierīču logu formas un tabulas telefonā (< 1024px) -------------------
   Iestatījumu formas: kreisā (350px) un labā (520px) daļa — pilnā platumā, lauki
   divās kolonnās; tālruņu saraksta lauks — pilnā platumā. Platas tabulas
   (Trauksmes, Datu uzst.) ritina horizontāli PAŠAS, pirmā kolonna paliek redzama. */
@media (max-width: 1023px){
  #content-outer :is([class*="settings_window_left"], [class*="settings_window_right"]){
    box-sizing: border-box;
    display: block;
    width: 100% !important;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    }
  /* grupu logu formas (group_params_cell*) — savs režģis admin_device_group.css */
  #content-outer [id*="_tab_"] [class*="params_cell"]:not([class^="group_params_cell"]){
    box-sizing: border-box;
    display: inline-block;
    max-width: 100%;
    width: calc(50% - 6px) !important;
    margin: 0 0 var(--mv-space-2);
    vertical-align: top;
    }
  #content-outer [id*="_tab_"] [class*="params_cell"]:not([class^="group_params_cell"]):nth-of-type(odd){
    margin-right: 8px;
    }
  #content-outer [id*="_tab_"] [class*="params_cell_phones"]:nth-of-type(n){
    width: 100% !important;
    margin-right: 0;
    }
  /* "Datu uzst." — DIV tabula (nevis TABLE); logs telefonā nogriež pārplūdi, tādēļ
     bez šī kolonnas (piem. graph_color) vienkārši nebija redzamas */
  #content-outer [class*="data_settings_data_table"]{
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    }
  #content-outer [id*="_tab_"] [class*="params_cell"]:not(.group_params_cell_color) :is(INPUT:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]), SELECT, TEXTAREA){
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    }
  #content-outer [id*="_tab_"] TABLE{
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    }
  #content-outer [id*="_tab_"] :is(TD, TH):first-child{
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: var(--mv-color-surface);
    }
  #content-outer [id*="_tab_"] TH:first-child{
    background-color: var(--mv-color-surface-3);
    }
  /* datums (1. kolonna) vienā rindā; pārējās kolonnas nesaspiežas līdz vienam vārdam */
  #content-outer [id*="_tab_"] TD:first-child{
    white-space: nowrap;
    }
  #content-outer [id*="_tab_"] TD{
    min-width: 6em;
    }
  /* 2. kolonna parasti ir garš teksts (trauksmes apraksts, statusa vērtība) */
  #content-outer [id*="_tab_"] TD:nth-child(2){
    min-width: 12em;
    }
  /* "Datu uzst." ievades lauki nesaspiežas (tabula ritina horizontāli) */
  #content-outer [class*="data_settings_data_table"] INPUT:not([type="checkbox"]):not([type="radio"]):not([type="color"]){
    min-width: 110px;
    }
  /* datora logā fiksēta augstuma iekšējie ritināmie bloki — telefonā aug pēc satura
     (ritina tikai lapa, nevis "ritināšana ritināšanā") */
  #content-outer :is([class*="alerts_list_table"], [class*="pictures_container"], .device_raw_data_table, .device_status_tab, [class*="alerts_settings_data_form_inner"], [class*="event_table_outer"]),
  #content-outer [class*="data_settings_data_form"] FORM{
    height: auto !important;
    max-height: none;
    overflow-y: visible;
    }
  }

/* --- 5.8 Logs vienmēr ritināms ------------------------------------------------
   Mantotās loga klases (dev_settings_window 710×543, device_common_window
   1017×572, wizard 570×380 u.c., device*.css — ielādējas PĒC main.css) uzliek
   overflow:hidden. Pārveidotie elementi ir nedaudz augstāki, un daļa satura
   (piem. siltuma skaitītāja "Uzstādījumi" poga "Saglabāt") kļuva nesasniedzama.
   Logs tagad vienmēr ritina; virsraksts (jau lipīgs) un cilņu josla paliek redzami.
   2026-10-07: logos ar cilnēm ritina tikai aktīvā cilne (zemāk) - virsraksts un cilnes nekustas.
   Atsevišķajā lapā (device_standalone.css) logs ritina kopā ar lapu — nemainīts. */
/* tikai velkamie logi (#content-outer tiešie bērni); atsevišķās lapas logs —
   #device_standalone_content iekšā — netiek ietekmēts */
#content-outer > .draggableWindow{
  overflow-x: auto;
  overflow-y: auto;
  }
#content-outer > .draggableWindow .window_tabs{
  position: sticky;
  top: var(--mv-window-title-h);
  z-index: 4;
  }
/* Logi ar cilnēm (2026-10-07, lietotāja lūgums): ritina TIKAI saturs zem cilņu joslas, nevis viss logs.
   Logs - kolonna: virsraksts + cilņu josla nekustas, aktīvā cilne aizņem atlikušo augstumu un ritina sevī
   (ritjosla sākas zem cilnēm). Iekšējie ritinātāji (LoRaWAN saraksts, tabulas) strādā kā līdz šim; lipīgā
   "Saglabāt" josla (.mv_wm_savebar, bottom:0) pielīp cilnes apakšā. Logi bez cilnēm ritina kā iepriekš. */
#content-outer > .draggableWindow:has(> .window_tabs){
  display: flex;
  flex-direction: column;
  overflow: hidden;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > *{
  flex: none;
  }
/* cilnes - pēc id "<logs>_tab_<n>": vairāku ierīču galvenās cilnes lieto savu klasi (window_device_heat_tab_content,
   window_device_common_tab_content u.c.), nevis .window_tab_content - ar klasi tās netika ritinātas un saturs
   tika nogriezts loga apakšā (2026-10-07, siltuma skaitītāja vērtību saraksts) */
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"]{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  }
/* datumu izvēle (period_selector_create - mantots: position:absolute uz grafika, left:420px) - cilnes augšā labajā
   pusē, grafika kolonnai atstāta vieta virs grafika, tāpēc tā vairs nepārklāj grafiku un vērtības; cilne ir tās
   pozicionēšanas konteiners, tāpēc izvēle ritina kopā ar saturu */
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"]:has(> .common_calendar_selector){
  position: relative;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"] > .common_calendar_selector{
  top: var(--mv-space-2);
  right: var(--mv-space-4);
  left: auto;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"]:has(> .common_calendar_selector) :is(.dev_common_main_right_outer, .dev_heat_main_right_outer, .device_power_main_right_outer, .device_power_production_graph_container, .device_generator_graph_container, .dev_waste_main_v2__graph_container){
  /* izvēle 8px no augšas, 32px augsta (2026-10-08 slaidāka) - grafiks sākas tieši zem tās; amCharts pats atstāj 15px.
     Mantotā padding-top (50px universālajam/elektrībai, 38px ražošanai - vecajai peldošajai izvēlei) noņemta:
     tā kopā ar agrāko 60px atstarpi radīja ~75px tukšumu un cilnes ritjoslu. */
  margin-top: calc(var(--mv-space-2) + 32px);
  padding-top: 0;
  }
/* galvenās/grafika cilnes: vērtību saraksts pa kreisi (float), grafiks aizņem ATLIKUŠO platumu (min. 420px) -
   mantotie fiksētie platumi (piem. 339 + 601px) kopā ar cilnes ritjoslu (Windows 17px) vairs neietilpa, un
   grafiks pārlēca zem saraksta (2026-10-07). Ja vietas nepietiek (šaurais elektrības logs) vai saraksts ir īss -
   grafiks zem tā pilnā platumā. Tikai velkamajos logos; telefona lapā - savs izkārtojums (zemāk @media). */
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"] :is(.dev_common_main_left_outer, .dev_heat_main_left_outer, .device_power_main_left_outer, .device_power_production_main_left_outer, .device_generator_main_left_outer, .dev_waste_main_v2__left_outer, .device_power_production_graph_left_outer, .device_generator_graph_left_outer){
  float: left;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"] :is(.dev_common_main_right_outer, .dev_heat_main_right_outer, .device_power_main_right_outer, .device_power_production_graph_container, .device_generator_graph_container, .dev_waste_main_v2__graph_container){
  display: block;
  width: auto;
  min-width: 420px;
  overflow: hidden;
  }
/* siltuma skaitītāja logs: mantotais augstums 518px (device_heat.css) - cilne "Galvenā" (vērtību saraksts 557px) ritināja;
   tagad tik augsts, lai Galvenā ietilpst bez ritināšanas (vajag 636px), bet ne augstāks par ekrānu
   (kā ūdens skaitītāja logam). Lietotāja lūgums 2026-10-07. */
#content-outer > .draggableWindow.dev_heat_settings_window{
  height: min(640px, calc(100dvh - 104px));
  }
/* Saglabāšanas josla (.mv_wm_savebar: "Saglabāt un aizvērt" + "Saglabāt", lietotāja lūgums 2026-10-07) VIENMĒR
   loga apakšā: cilnei ar joslu nav apakšējās atkāpes, panelis ir kolonna visā cilnes augstumā un josla ar
   margin-top:auto - īsā cilnē apakšā, garā cilnē pielīp (sticky) apakšā; visā loga platumā.
   Tikai velkamajos logos (telefonā ritina lapa - tur kā līdz šim). */
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"]:has(> .mv_wm_pane > .mv_wm_savebar){
  padding-bottom: 0;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"] > .mv_wm_pane:has(> .mv_wm_savebar){
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-height: 100%;
  padding-bottom: 0;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"] > .mv_wm_pane:has(> .mv_wm_savebar) > *{
  flex: none;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"] > .mv_wm_pane > .mv_wm_savebar{
  margin: auto calc(var(--mv-space-4) * -2) 0;      /* augšā auto - uz leju; sāni - pāri paneļa un cilnes atkāpēm */
  padding: var(--mv-space-3) calc(var(--mv-space-4) * 2);
  }
/* Leaflet kartes iekšējie slāņi (.leaflet-map-pane z-index 400, kontroles 1000) nedrīkst iziet ārpus kartes:
   citādi, ritinot ierīces loga saturu (piem. cilne "Karte" ar paziņojumu "Saglabāts." zem kartes), karte
   pārklāja lipīgo cilņu joslu (z 4) un loga virsrakstu (z 10). isolation - katra karte ir savs slāņu konteksts;
   kontroles, slāņu izvēle un uznirstošie logi paliek kartes iekšpusē kā līdz šim. (2026-10-07, lietotāja ekrānuzņēmums) */
.leaflet-container{
  isolation: isolate;
  }

/* --- 5.9 Mantotās DIV tabulas (.common_table) logos ---------------------------
   piem. "Lora Signāli pēdējās 30d": 1. rinda — galvene; teksts pa kreisi; šūnas
   nelūzt; plata tabula ritina horizontāli PATI (telefonā kolonnas agrāk tika
   nogrieztas, rindas bija 3 līnijas augstas). */
.draggableWindow .common_table{
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: var(--mv-space-3);
  text-align: left;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  }
.draggableWindow .common_table > DIV > DIV{
  padding: 6px var(--mv-space-2);
  border: 0;
  border-bottom: 1px solid var(--mv-color-border);
  white-space: nowrap;
  }
.draggableWindow .common_table > DIV:first-child > DIV{
  background-color: var(--mv-color-surface-3);
  border-bottom-color: var(--mv-color-border-strong);
  color: var(--mv-color-text-2);
  font-weight: var(--mv-weight-semibold);
  }

/* --- 5.10 LoRaWAN raidītāja logs (lora_node) -------------------------------
   Lauku nosaukumi ir teksta mezgli FORM iekšā (nav LABEL) — tos iekrāso FORM
   krāsa; lauki pilnā platumā ar atstarpēm (agrāk 300px fiksēti). */
.draggableWindow .lorawan_node_window_outer{
  box-sizing: border-box;
  max-width: 100%;
  padding: var(--mv-space-4);
  }
@media (min-width: 1024px){
  .draggableWindow .lorawan_node_window_outer{
    width: 400px;
    }
  }
.draggableWindow .lorawan_node_window_outer > FORM{
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  }
.draggableWindow .lorawan_node_window_outer > FORM > INPUT,
.draggableWindow .lorawan_node_window_outer > FORM > SELECT{
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 4px 0 var(--mv-space-3);
  color: var(--mv-color-text);
  font-family: var(--mv-font-mono);
  font-size: 15px;
  }
@media (pointer: coarse){
  .draggableWindow .lorawan_node_window_outer > FORM > INPUT,
  .draggableWindow .lorawan_node_window_outer > FORM > SELECT{
    font-size: 16px;
    }
  }
.draggableWindow .lorawan_node_window_outer > FORM > SELECT{
  font-family: var(--mv-font-sans);
  }
.draggableWindow .lorawan_node_window_outer BR{
  display: none;
  }

/* --- 5.10 Ūdens skaitītāja logs (pages/device.php) ---------------------------
   pārveide 2026-10 (lietotāja lūgums): Galvenā — rādījumu un identifikācijas
   flīzes, grafiks (plūsma stabiņos, rādījums sarkanā līnijā; common_private.js
   mv_wm_*), perioda izvēle + CSV, Piezīmes. Rediģējamie lauki — kartītēs cilnēs
   Uzstādījumi / Teh. parametri; Trauksmes — tabula (telefonā kartītes);
   Statuss — atslēga–vērtība. Logs (.mv_wm_window) plašāks par mantoto
   .dev_settings_window 710×543 (device.css). Telefonā logs atveras kā lapa
   (device_standalone), tādēļ stils ir šeit, nevis lapas CSS. */
#content-outer > .draggableWindow.mv_wm_window{
  width: 960px;
  /* Galvenā (flīzes + grafiks + Piezīmes) ietilpst bez ritjoslas: 939px saturs + apmale;
     mazākā ekrānā — līdz ekrāna apakšai (logs atveras 24px zem joslas, sk. createWindow) */
  height: min(944px, calc(100dvh - 104px));
  }
.mv_wm_pane{
  display: grid;
  gap: var(--mv-space-4);
  padding: var(--mv-space-4);
  color: var(--mv-color-text);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-sm);
  text-align: left;
  }
.mv_wm_pane > *{
  min-width: 0;
  }
.mv_wm_card{
  margin: 0;
  padding: var(--mv-space-4);
  background-color: var(--mv-color-surface);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  box-shadow: var(--mv-shadow-sm);
  }
.mv_wm_card_head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--mv-space-2) var(--mv-space-4);
  margin-bottom: var(--mv-space-3);
  }
.mv_wm_card_title{
  display: block;
  margin: 0 0 var(--mv-space-3);
  color: var(--mv-color-text);
  font-family: var(--mv-font-sans);
  font-size: var(--mv-text-md);
  font-weight: var(--mv-weight-semibold);
  line-height: 1.3;
  }
.mv_wm_card_head > .mv_wm_card_title{
  margin: 0;
  }
.mv_wm_subtitle{
  margin: var(--mv-space-3) 0 var(--mv-space-2);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  }
.mv_wm_hint{
  display: block;
  margin: 0;
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-regular);
  line-height: 1.35;
  }
.mv_wm_mono{
  font-family: var(--mv-font-mono);
  font-variant-numeric: tabular-nums;
  }
.mv_wm_toolbar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  }
.mv_wm_push{
  margin-left: auto;
  }

/* --- flīzes --- */
.mv_wm_tiles{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--mv-space-3);
  }
.mv_wm_tiles_id{
  grid-template-columns: 1.3fr 1fr 1fr;
  }
.mv_wm_tile{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--mv-space-2);
  min-width: 0;
  padding: var(--mv-space-3) var(--mv-space-4);
  background-color: var(--mv-color-surface);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  box-shadow: var(--mv-shadow-sm);
  }
.mv_wm_tile_label{
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-medium);
  line-height: 1.3;
  }
.mv_wm_tile_value{
  color: var(--mv-color-text);
  font-size: var(--mv-text-xl);
  font-weight: var(--mv-weight-semibold);
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  }
.mv_wm_tile_unit{
  margin-left: 4px;
  color: var(--mv-color-muted);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  }
/* faktiskais rādījums — galvenais skaitlis */
.mv_wm_tile_primary{
  background-color: var(--mv-color-accent-soft);
  border-color: #B9D9E7;
  }
.mv_wm_tile_primary .mv_wm_tile_label{
  color: var(--mv-color-accent);
  }
.mv_wm_tiles_id .mv_wm_tile{
  padding-top: var(--mv-space-2);
  padding-bottom: var(--mv-space-2);
  background-color: var(--mv-color-surface-2);
  box-shadow: none;
  }
.mv_wm_tiles_id .mv_wm_tile_value{
  font-size: var(--mv-text-md);
  font-weight: var(--mv-weight-medium);
  }

/* --- grafiks + perioda izvēle + CSV --- */
.mv_wm_legend{
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-space-1) var(--mv-space-4);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  }
.mv_wm_legend > SPAN{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  }
.mv_wm_legend_bar::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background-color: var(--mv-color-accent);
  }
.mv_wm_legend_line::before{
  content: "";
  width: 16px;
  height: 2px;
  border-radius: 1px;
  background-color: #D92D20;
  }
.mv_wm_chart{
  position: relative;
  height: 230px;
  }
/* stāvokļi: ielāde (virs vecā grafika), tukšs, kļūda, nav DevEUI */
.mv_wm_chart:not([data-state="ready"])::after{
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--mv-space-4);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-muted);
  font-size: var(--mv-text-sm);
  text-align: center;
  }
.mv_wm_chart[data-state="loading"]::after{
  content: "Ielādē…";
  background-color: rgba(247, 249, 250, 0.75);
  }
.mv_wm_chart[data-state="empty"]::after{
  content: "Nav datu izvēlētajā periodā.";
  }
.mv_wm_chart[data-state="error"]::after{
  content: "Datus neizdevās ielādēt.";
  }
.mv_wm_chart[data-state="nodev"]::after{
  content: "Ierīcei nav DevEUI — grafiks nav pieejams.";
  }
/* amCharts 3 bezmaksas versijas saite — mazāk uzkrītoša */
.mv_wm_chart a[href*="amcharts.com"]{
  opacity: 0.35 !important;
  }
.mv_wm_controls{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--mv-space-2) var(--mv-space-4);
  margin-top: var(--mv-space-3);
  padding-top: var(--mv-space-3);
  border-top: 1px solid var(--mv-color-border);
  }
.mv_wm_period{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  }
.mv_wm_csv{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  }
.mv_wm_csv > SELECT.mv_input{
  width: auto;
  min-height: 32px;
  font-size: var(--mv-text-sm);
  }
.mv_wm_custom{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  margin-top: var(--mv-space-3);
  }
.mv_wm_custom[hidden]{
  display: none;
  }
.mv_wm_custom > INPUT.mv_input{
  flex: 0 1 170px;
  width: auto;
  min-height: 32px;
  font-size: var(--mv-text-sm);
  }
.mv_wm_custom > LABEL{
  color: var(--mv-color-text-2);
  }

/* --- Karte: "Novietot automātiski" paziņojums (js/map.js mapDevicePlaceAuto) --- */
.mv_wm_geo{
  display: grid;
  gap: 6px;
  padding: var(--mv-space-3) var(--mv-space-4);
  border: 1px solid var(--mv-color-border);
  border-left-width: 4px;
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface-2);
  font-size: var(--mv-text-sm);
  line-height: 1.4;
  }
.mv_wm_geo[hidden]{
  display: none;
  }
/* pārējie ierīču logi (mantotais Karte cilnes izkārtojums — panelis zem kartes) */
.window_tab_content > .mv_wm_geo{
  margin: var(--mv-space-2) 0;
  text-align: left;
  }
.mv_wm_geo[data-state="found"],
.mv_wm_geo[data-state="choose"]{
  border-left-color: var(--mv-color-accent);
  }
.mv_wm_geo[data-state="saved"]{
  border-left-color: var(--mv-color-ok-solid);
  background-color: var(--mv-color-ok-soft);
  }
.mv_wm_geo[data-state="error"]{
  border-left-color: var(--mv-color-warning-solid);
  background-color: var(--mv-color-warning-soft);
  }
.mv_wm_geo_actions{
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-space-2);
  margin-top: 4px;
  }
.mv_wm_geo_list{
  display: grid;
  gap: 6px;
  margin-top: 4px;
  }
.mv_wm_geo_list > .mv_btn{
  justify-content: flex-start;
  white-space: normal;
  text-align: left;
  }

/* --- piezīmes --- */
.mv_wm_notes{
  display: flex;
  flex-direction: column;
  }
.mv_wm_notes > TEXTAREA.mv_input{
  min-height: 96px;
  padding: var(--mv-space-2) var(--mv-space-3);
  line-height: 1.45;
  resize: vertical;
  }
#content-outer .mv_wm_pane BUTTON.submit_data_form{
  margin: var(--mv-space-3) 0 0 auto;
  }
#content-outer .mv_wm_pane .mv_wm_savebar BUTTON.submit_data_form{
  min-width: 140px;
  margin: 0;
  }

/* --- formas (Uzstādījumi, Teh. parametri) --- */
.mv_wm_form{
  display: grid;
  gap: var(--mv-space-4);
  margin: 0;
  }
.mv_wm_fields{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: var(--mv-space-3) var(--mv-space-4);
  }
.mv_wm_field{
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  }
.mv_wm_field > LABEL{
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  font-weight: var(--mv-weight-medium);
  line-height: 1.3;
  }
.mv_wm_field_wide{
  grid-column: 1 / -1;
  }
.mv_wm_inline{
  display: flex;
  gap: var(--mv-space-2);
  }
.mv_wm_inline > .mv_input{
  flex: 1 1 0;
  min-width: 0;
  }
.mv_wm_inline > .mv_btn{
  flex: none;
  min-height: var(--mv-control-h);
  }
.mv_wm_inline_fit{
  align-items: center;
  }
.mv_wm_inline_fit > .mv_input{
  flex: 0 1 120px;
  }
.mv_wm_inline_fit > IMG{
  width: 28px;
  height: 28px;
  object-fit: contain;
  }
/* rūtiņa ar etiķeti blakus (lauku režģī tajā pašā augstumā kā ievades lauki) */
.mv_wm_field.mv_wm_check{
  flex-direction: row;
  align-items: center;
  align-self: end;
  gap: var(--mv-space-2);
  min-height: var(--mv-control-h);
  }
.mv_wm_check > INPUT{
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--mv-color-accent);
  cursor: pointer;
  }
.mv_wm_check > LABEL{
  color: var(--mv-color-text);
  cursor: pointer;
  }
/* viena poga visai cilnei — paliek redzama, ritinot garu formu */
.mv_wm_savebar{
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  margin: calc(var(--mv-space-2) * -1) calc(var(--mv-space-4) * -1) 0;
  padding: var(--mv-space-3) var(--mv-space-4);
  background-color: rgba(255, 255, 255, 0.92);
  border-top: 1px solid var(--mv-color-border);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  }
.mv_wm_savebar > .mv_btn{
  min-width: 140px;
  }
.mv_wm_savebar{
  gap: var(--mv-space-2);
  }
.mv_wm_danger{
  border-color: #F3C6C1;
  }
.mv_wm_danger > .mv_wm_card_title{
  color: var(--mv-color-alarm);
  }
.mv_wm_danger_row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--mv-space-2) var(--mv-space-4);
  padding: var(--mv-space-2) 0;
  }
.mv_wm_danger_row + .mv_wm_danger_row{
  border-top: 1px solid var(--mv-color-border);
  }
.mv_wm_danger_row STRONG{
  display: block;
  font-weight: var(--mv-weight-semibold);
  }

/* --- Trauksmes --- */
.mv_wm_alerts{
  padding: 0;
  overflow: hidden;
  }
#content-outer .mv_wm_alerts TABLE{
  display: table;
  width: 100%;
  overflow: visible;
  border-collapse: collapse;
  }
#content-outer .mv_wm_alerts TH{
  padding: var(--mv-space-2) var(--mv-space-3);
  background-color: var(--mv-color-surface-2);
  border-bottom: 1px solid var(--mv-color-border);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  text-align: left;
  }
#content-outer .mv_wm_alerts TD{
  padding: var(--mv-space-2) var(--mv-space-3);
  border-bottom: 1px solid var(--mv-color-border);
  vertical-align: top;
  text-align: left;
  }
#content-outer .mv_wm_alerts TBODY TR:last-child TD{
  border-bottom: 0;
  }
#content-outer .mv_wm_alerts TR[data-status="active"] TD:first-child{
  box-shadow: inset 3px 0 0 var(--mv-color-alarm-solid);
  }
.mv_wm_alert_title{
  display: block;
  font-weight: var(--mv-weight-medium);
  }
.mv_wm_nowrap{
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  }
#content-outer .mv_wm_alerts TD.mv_wm_actions{
  text-align: right;
  }
.mv_wm_empty{
  color: var(--mv-color-text-2);
  text-align: center;
  }

/* --- Statuss --- */
.mv_wm_status{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  }
.mv_wm_span{
  grid-column: 1 / -1;
  }
.mv_wm_kv{
  display: grid;
  grid-template-columns: minmax(150px, max-content) 1fr;
  gap: var(--mv-space-2) var(--mv-space-4);
  margin: 0;
  }
.mv_wm_kv > DT{
  color: var(--mv-color-text-2);
  }
.mv_wm_kv > DD{
  margin: 0;
  color: var(--mv-color-text);
  font-variant-numeric: tabular-nums;
  }
.mv_wm_bars{
  display: grid;
  gap: var(--mv-space-2);
  }
.mv_wm_bar{
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(100px, 2fr) 56px;
  align-items: center;
  gap: var(--mv-space-3);
  }
.mv_wm_bar_name{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  }
.mv_wm_bar_track{
  height: 8px;
  overflow: hidden;
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-surface-3);
  }
.mv_wm_bar_fill{
  display: block;
  height: 100%;
  border-radius: var(--mv-radius-pill);
  }
.mv_wm_bar_val{
  text-align: right;
  font-variant-numeric: tabular-nums;
  }
.mv_wm_raw > SUMMARY{
  color: var(--mv-color-text-2);
  font-weight: var(--mv-weight-medium);
  cursor: pointer;
  }
.mv_wm_raw PRE{
  max-height: 320px;
  margin: var(--mv-space-3) 0 0;
  overflow: auto;
  font-family: var(--mv-font-mono);
  font-size: 12px;
  white-space: pre-wrap;
  }

/* --- Karte un LoRaWAN aizpilda visu loga augstumu (lietotāja lūgums 2026-10-03) ---
   Logs — kolonna: virsraksts + cilņu josla, tad aktīvā cilne. Parastās cilnes aug pēc satura
   (garas — logs ritina kā līdz šim); .mv_wm_fill cilnes aizņem tieši atlikušo vietu: karte
   izstiepjas (Leaflet pārmēra, pārslēdzot cilni / mainot loga izmēru), LoRaWAN saraksts ritina sevī
   un lapošanas pogas pielīp tā augšā. Tikai datora logā — telefonā (atsevišķa lapa) zemāk. */
#content-outer > .draggableWindow.mv_wm_window{
  display: flex;
  flex-direction: column;
  }
#content-outer > .draggableWindow.mv_wm_window > *{
  flex: none;
  }
#content-outer > .draggableWindow.mv_wm_window > .window_tab_content{
  /* 2026-10-07: ritina pati cilne (agrāk 1 0 auto - ritināja viss logs) */
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"].mv_wm_fill{
  flex: 1 1 0;
  min-height: 0;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > .mv_wm_fill > .mv_wm_pane{
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > .mv_wm_fill > .mv_wm_pane > *{
  flex: none;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > .mv_wm_fill .windowed_device_map{
  flex: 1 1 auto;
  height: auto;
  min-height: 240px;
  margin: 0;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > .mv_wm_fill .device_lora_wan_data{
  flex: 1 1 auto;
  height: auto;
  min-height: 200px;
  margin-top: 0;
  overflow-y: auto;
  }
/* lapošana (« Jaunākie / ‹ Jaunāki / Vecāki ›) — saraksta augšā, ritinot paliek redzama.
   Selektors ar vecāku: device_heat.css (ielādējas visur, PĒC main.css) liek ".device_lora_wan_data > span" inline */
.device_lora_wan_data > .mv_wm_lora_pager{
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-space-2);
  margin: 0 calc(var(--mv-space-3) * -1);
  padding: var(--mv-space-2) var(--mv-space-3);
  background-color: var(--mv-color-surface);
  border-bottom: 1px solid var(--mv-color-border);
  }

/* --- zemāki datora ekrāni (piem. 1920×1080: pārlūkā ≈ 950px augstuma) — Galvenā kompaktāka,
   lai flīzes, grafiks un Piezīmes ietilptu logā bez ritjoslas; augstākos ekrānos nemainīts --- */
@media (min-width: 1024px) and (max-height: 1050px){
  #content-outer > .draggableWindow.mv_wm_window{
    height: min(780px, calc(100dvh - 104px));       /* kompaktā Galvenā: 774px saturs */
    }
  .mv_wm_window .mv_wm_pane{
    gap: var(--mv-space-3);
    padding: var(--mv-space-3) var(--mv-space-4);
    }
  .mv_wm_window .mv_wm_card{
    padding: var(--mv-space-3) var(--mv-space-4);
    }
  .mv_wm_window .mv_wm_tile{
    gap: var(--mv-space-1);
    padding: var(--mv-space-2) var(--mv-space-3);
    }
  .mv_wm_window .mv_wm_card_head{
    margin-bottom: var(--mv-space-2);
    }
  .mv_wm_window .mv_wm_chart{
    height: 180px;
    }
  .mv_wm_window .mv_wm_controls{
    margin-top: var(--mv-space-2);
    padding-top: var(--mv-space-2);
    }
  .mv_wm_window .mv_wm_notes > .mv_wm_card_title{
    margin-bottom: var(--mv-space-2);
    }
  .mv_wm_window .mv_wm_notes > TEXTAREA.mv_input{
    height: 64px;
    min-height: 64px;
    }
  .mv_wm_window .mv_wm_pane BUTTON.submit_data_form{
    margin-top: var(--mv-space-2);
    }
  }

/* --- planšete / telefons --- */
@media (max-width: 1023px){
  .mv_wm_status{
    grid-template-columns: minmax(0, 1fr);
    }
  }
@media (max-width: 767px){
  .mv_wm_tiles{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  .mv_wm_tiles_id{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  /* DevEUI (garš) — visā platumā */
  .mv_wm_tiles_id > .mv_wm_tile:first-child{
    grid-column: 1 / -1;
    }
  .mv_wm_pane{
    gap: var(--mv-space-3);
    padding: var(--mv-space-3);
    }
  .mv_wm_card{
    padding: var(--mv-space-3);
    }
  .mv_wm_tile_value{
    font-size: var(--mv-text-lg);
    }
  .mv_wm_chart{
    height: 200px;
    }
  .mv_wm_controls{
    flex-direction: column;
    align-items: stretch;
    }
  /* perioda pogas — 2 rindas pa 3 vienādā platumā */
  .mv_wm_period{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  .mv_wm_period > .mv_btn{
    padding: 0 var(--mv-space-1);
    white-space: normal;
    text-align: center;
    }
  .mv_wm_fields{
    grid-template-columns: minmax(0, 1fr);
    }
  .mv_wm_savebar{
    margin-left: calc(var(--mv-space-3) * -1);
    margin-right: calc(var(--mv-space-3) * -1);
    padding-left: var(--mv-space-3);
    padding-right: var(--mv-space-3);
    }
  .mv_wm_savebar > .mv_btn,
  #content-outer .mv_wm_pane .mv_wm_savebar BUTTON.submit_data_form{
    width: 100%;
    }
  .mv_wm_kv{
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    }
  .mv_wm_kv > DD{
    margin-bottom: var(--mv-space-2);
    }
  .mv_wm_bar{
    grid-template-columns: minmax(0, 1fr) 56px;
    }
  .mv_wm_bar_track{
    grid-column: 1 / -1;
    grid-row: 2;
    }
  /* trauksmes — kartītes (galvene paslēpta, etiķetes no data-label) */
  #content-outer .mv_wm_alerts{
    overflow: visible;
    background: none;
    border: 0;
    box-shadow: none;
    }
  #content-outer .mv_wm_alerts :is(TABLE, TBODY, TR, TD){
    display: block;
    width: auto;
    min-width: 0;
    }
  #content-outer .mv_wm_alerts THEAD{
    display: none;
    }
  #content-outer .mv_wm_alerts TBODY{
    display: grid;
    gap: var(--mv-space-2);
    }
  #content-outer .mv_wm_alerts TBODY TR{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--mv-space-1) var(--mv-space-3);
    padding: var(--mv-space-3);
    background-color: var(--mv-color-surface);
    border: 1px solid var(--mv-color-border);
    border-radius: var(--mv-radius-md);
    }
  #content-outer .mv_wm_alerts TBODY TR[data-status="active"]{
    border-left: 3px solid var(--mv-color-alarm-solid);
    }
  #content-outer .mv_wm_alerts TBODY TD,
  #content-outer .mv_wm_alerts TBODY TD:first-child{
    position: static;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    white-space: normal;
    }
  #content-outer .mv_wm_alerts TBODY TD:nth-child(2){
    grid-column: 1;
    grid-row: 1;
    }
  #content-outer .mv_wm_alerts TBODY TD:nth-child(3){
    grid-column: 2;
    grid-row: 1;
    }
  #content-outer .mv_wm_alerts TBODY TD:is(:nth-child(1), :nth-child(4), :nth-child(5)){
    grid-column: 1 / -1;
    color: var(--mv-color-text-2);
    font-size: var(--mv-text-xs);
    }
  #content-outer .mv_wm_alerts TBODY TD:is(:nth-child(1), :nth-child(4), :nth-child(5))[data-label]::before{
    content: attr(data-label) ": ";
    color: var(--mv-color-muted);
    }
  #content-outer .mv_wm_alerts TBODY TD:is(:nth-child(1), :nth-child(4), :nth-child(5)):empty{
    display: none;
    }
  #content-outer .mv_wm_alerts TBODY TD:nth-child(6){
    grid-column: 1 / -1;
    text-align: left;
    }
  #content-outer .mv_wm_alerts TBODY TD:nth-child(6):empty{
    display: none;
    }
  }

/* --- 5.11 SMS adresāti un trauksmju līmeņi (mv_sms_*, 2026-10) ----------------
   mv_sms_phone_editor() (functions_sms_alerts.php): ierīču logos device, device_common,
   device_waste, device_generator, device_power_production. Katram numuram 3 līmeņu slēdži;
   stāvokli rāda ķeksītis tekstā, ne tikai krāsa. Šauros laukos (vecās 320px šūnas) slēdži
   pāriet rindā zem numura. */
.mv_sms_phones{
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  gap: var(--mv-space-2);
  min-width: 0;
  color: var(--mv-color-text);
  }
.mv_sms_phone_list{
  display: flex;
  flex-direction: column;
  gap: var(--mv-space-1);
  }
.mv_sms_phone_row{
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "num lvls del";
  align-items: center;
  gap: var(--mv-space-1) var(--mv-space-2);
  padding: var(--mv-space-1) var(--mv-space-1) var(--mv-space-1) var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  }
@container (max-width: 400px){
  .mv_sms_phone_row{
    grid-template-columns: 1fr auto;
    grid-template-areas: "num del" "lvls lvls";
    }
  }
.mv_sms_phone_num{
  grid-area: num;
  font-family: var(--mv-font-mono);
  font-size: var(--mv-text-sm);
  font-variant-numeric: tabular-nums;
  }
.mv_sms_lvls{
  grid-area: lvls;
  display: flex;
  flex-wrap: wrap;
  gap: var(--mv-space-1);
  }
.mv_sms_lvl{
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border-strong);
  border-radius: var(--mv-radius-pill);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-muted);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  }
.mv_sms_lvl > INPUT{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  }
.mv_sms_lvl:hover{
  border-color: var(--mv-color-text-2);
  }
.mv_sms_lvl:has(> INPUT:focus-visible){
  box-shadow: var(--mv-focus-ring);
  }
.mv_sms_lvl > SPAN::before{
  content: "";
  display: inline-block;
  width: 1.1em;
  }
.mv_sms_lvl:has(> INPUT:checked) > SPAN::before{
  content: "\2713";
  }
.mv_sms_lvl_1:has(> INPUT:checked){
  background-color: var(--mv-color-alarm-soft);
  border-color: var(--mv-color-alarm);
  color: var(--mv-color-alarm);
  }
.mv_sms_lvl_2:has(> INPUT:checked){
  background-color: var(--mv-color-warning-soft);
  border-color: var(--mv-color-warning-solid);
  color: var(--mv-color-warning);
  }
.mv_sms_lvl_3:has(> INPUT:checked){
  background-color: var(--mv-color-accent-soft);
  border-color: var(--mv-color-accent);
  color: var(--mv-color-accent);
  }
.mv_sms_phone_del{
  grid-area: del;
  }
.mv_sms_phone_empty{
  display: none;
  margin: 0;
  color: var(--mv-color-muted);
  font-size: var(--mv-text-sm);
  }
.mv_sms_phone_list:not(:has(> .mv_sms_phone_row)) + .mv_sms_phone_empty{
  display: block;
  }
.mv_sms_phone_legacy{
  margin: 0;
  padding: var(--mv-space-2);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-warning-soft);
  color: var(--mv-color-warning);
  font-size: var(--mv-text-sm);
  }
.mv_sms_phone_add{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  }
.mv_sms_phone_add > .mv_input{
  flex: 1 1 11ch;
  min-width: 11ch;
  width: auto;
  box-sizing: border-box;
  font-family: var(--mv-font-mono);
  }
@media (pointer: coarse){
  .mv_sms_lvl{
    min-height: 36px;
    }
  }

/* trauksmju bitu tabulā (device_common, cilne "Alert bits") — kompakta līmeņa izvēle */
.device_common_data_settings_data_table .mv_sms_level_select{
  min-height: 30px;
  width: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: var(--mv-text-sm);
  }

/* līmeņu nozīmītes K / B / I (mv_sms_level_tags) — pilnais nosaukums title/aria-label */
.mv_sms_tags{
  display: inline-flex;
  gap: 2px;
  }
.mv_sms_tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 3px;
  box-sizing: border-box;
  border-radius: var(--mv-radius-sm);
  font-size: 11px;
  font-weight: var(--mv-weight-semibold);
  line-height: 1;
  }
.mv_sms_tag_1{
  background-color: var(--mv-color-alarm-soft);
  color: var(--mv-color-alarm);
  }
.mv_sms_tag_2{
  background-color: var(--mv-color-warning-soft);
  color: var(--mv-color-warning);
  }
.mv_sms_tag_3{
  background-color: var(--mv-color-accent-soft);
  color: var(--mv-color-accent);
  }

/* ==========================================================================
   6. PAZIŅOJUMI, INFORMĀCIJAS DIALOGS, SESIJAS DIALOGS
   ========================================================================== */

/* --- 6.1 Paziņojumi (error_msg_show, js/common.js) ---
   JS katru ziņu ieliek kā SPAN konteinera sākumā un pēc 10s konteineru slēpj
   ar klasi java_error_msg_box_hidden. Katru SPAN noformējam kā kartīti.
   Konteiners vairs NAV paslēpts telefonā (agrāk visa kājene bija
   display:none <=600px, tādēļ telefona lietotāji kļūdas neredzēja). */
.java_error_msg_box{
  position: fixed;
  z-index: var(--mv-z-toast);
  right: max(var(--mv-space-4), env(safe-area-inset-right));
  bottom: max(var(--mv-space-4), env(safe-area-inset-bottom));
  width: min(420px, calc(100vw - 2 * var(--mv-space-4)));
  max-height: none;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: var(--mv-text-sm);
  transition: opacity var(--mv-duration-slow) var(--mv-ease), transform var(--mv-duration-slow) var(--mv-ease), visibility var(--mv-duration-slow) linear;
  }
.java_error_msg_box_hidden{
  max-height: none;
  opacity: 0;
  transform: translateY(8px);
  visibility: hidden;
  pointer-events: none;
  }
.java_error_msg_box_inner{
  display: flex;
  flex-direction: column;
  gap: var(--mv-space-2);
  width: 100%;
  height: auto;
  max-height: 60vh;
  overflow-y: auto;
  padding: 0;
  }
.java_error_msg_box_inner > SPAN{
  box-sizing: border-box;            /* platums 100% ar atkāpēm — agrāk izspiedās ārpus ekrāna (~37px) */
  display: flex;
  align-items: flex-start;
  gap: var(--mv-space-3);
  width: 100%;
  padding: var(--mv-space-3) var(--mv-space-4);
  background-color: var(--mv-color-surface);
  border: 1px solid var(--mv-color-border);
  border-left: 4px solid var(--mv-color-accent);
  border-radius: var(--mv-radius-md);
  box-shadow: var(--mv-shadow-md);
  color: var(--mv-color-text);
  line-height: var(--mv-leading-normal);
  }
/* ikona ziņas priekšā (CSS), vecā PNG ikona paslēpta */
.java_error_msg_box_inner > SPAN::before{
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  color: var(--mv-color-accent);
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-info) center / contain no-repeat;
  mask: var(--mv-mask-info) center / contain no-repeat;
  }
.java_error_msg_box_inner > SPAN > IMG{
  display: none;
  }
/* ziņa ar "alert" ikonu -> trauksmes noformējums (sarkans + trīsstūris) */
.java_error_msg_box_inner > SPAN:has(> IMG[src*="alert"]){
  border-left-color: var(--mv-color-alarm-solid);
  }
.java_error_msg_box_inner > SPAN:has(> IMG[src*="alert"])::before{
  color: var(--mv-color-alarm);
  -webkit-mask-image: var(--mv-mask-alert);
  mask-image: var(--mv-mask-alert);
  }

/* darbības poga paziņojumā (piem. sesijas beigās "Pārlādēt") */
.java_error_msg_box_inner > SPAN{
  flex-wrap: wrap;
  }
.mv_toast_action{
  margin-left: auto;
  }

/* --- 6.2 Informācijas dialogs (info_msg_show) — centrā ar aptumšotu fonu;
   telefonā — apakšējā lapa (bottom sheet) īkšķa zonā --- */
.java_info_msg_box{
  box-sizing: border-box;            /* telefonā 100% platums + atkāpes nedrīkst iziet ārpus ekrāna */
  position: fixed;
  z-index: var(--mv-z-toast);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: min(460px, calc(100vw - 2 * var(--mv-space-4)));
  height: auto;
  max-height: 80vh;
  overflow: auto;
  padding: var(--mv-space-6) var(--mv-space-5) var(--mv-space-5);
  background-color: var(--mv-color-surface);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-lg);
  /* otrā ēna = aptumšots fons aiz dialoga, bez papildu HTML elementa */
  box-shadow: var(--mv-shadow-lg), 0 0 0 100vmax rgba(16, 24, 40, 0.45);
  color: var(--mv-color-text);
  font-size: var(--mv-text-md);
  text-align: center;
  }
.java_info_msg_box_inner{
  display: block;
  }
.java_info_msg_box_close{
  position: absolute;
  top: var(--mv-space-2);
  right: var(--mv-space-2);
  }
.java_info_msg_box_hidden{
  display: none;
  visibility: hidden;
  }
@media (max-width: 599px){
  .java_info_msg_box{
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
    width: 100%;
    max-height: 85vh;
    border-radius: var(--mv-radius-lg) var(--mv-radius-lg) 0 0;
    padding-bottom: calc(var(--mv-space-5) + env(safe-area-inset-bottom));
    }
  }

/* --- 6.3 Paziņojumi telefonā — pilnā platumā, virs apakšējās joslas --- */
@media (max-width: 767px){
  .java_error_msg_box{
    left: var(--mv-space-3);
    right: var(--mv-space-3);
    width: auto;
    bottom: calc(var(--mv-space-3) + env(safe-area-inset-bottom));
    }
  #mostouter_top_log_in_out_menu ~ #footer .java_error_msg_box{
    bottom: calc(var(--mv-bottom-nav-h) + var(--mv-space-3) + env(safe-area-inset-bottom));
    }
  }

/* telefonā atvērts informācijas dialogs (apakšējā lapa) — paziņojumi pārceļas uz augšu,
   lai neaizsegtu dialoga tekstu */
@media (max-width: 767px){
  body:has(#java_info_msg_box:not(.java_info_msg_box_hidden)) .java_error_msg_box{
    top: calc(var(--mv-app-bar-h) + env(safe-area-inset-top) + var(--mv-space-2));
    bottom: auto !important;
    }
  }

/* --- 6.4 Sesijas dialogs (#js_login_overlay, index.php) --- */
#js_login_overlay{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--mv-z-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--mv-space-4);
  background-color: rgba(16, 24, 40, 0.45);
  }
/* ID svars ir lielāks par klasi, tādēļ slēpšanai vajag abus kopā */
#js_login_overlay.js_login_overlay_hidden,
.js_login_overlay_hidden{
  display: none;
  visibility: hidden;
  }
#js_login_content{
  position: relative;
  width: min(420px, 100%);
  max-height: 100%;
  overflow: auto;
  background-color: var(--mv-color-surface);
  border-radius: var(--mv-radius-lg);
  box-shadow: var(--mv-shadow-lg);
  }


/* ==========================================================================
   7. MANTOTIE KOPĪGIE NOTEIKUMI
   Pārnesti NEMAINĪTI no iepriekšējā main.css. Tos lieto vēl nepārveidotās
   lapas (tabulas, kalendāra izvēle, LoRaWAN logi, nomaiņas vednis, attēli).
   Katru bloku pārveidos kopā ar attiecīgo lapu.
   ========================================================================== */

.common_table{
    display:table;
    border-collapse:collapse;
    }
.common_table DIV{
    display:table-row;
    margin-left:50px;
    }
.common_table DIV DIV{
    display: table-cell;
    border: solid rgba(0, 0, 0, 0.16) 1px;
    padding: 3px;
    }

.basemap_layer_selector{
  position: absolute;
  top: 55px;
  right: 5px;
  z-index: 666000;
  background: white;
  padding: 4px;
  outline: none;
  }


/* --- Attēli (ierīces "Bildes" cilne: pictures_load, functions_html.php) — pārveide 2026-10 ---
   Augšupielādes flīze (Dropzone), sīktēli ar VIENMĒR redzamu dzēšanas pogu
   (agrāk atvērtā miskaste tikai :hover), pilnizmēra skats ar aizvēršanas zīmi.
   Klikšķis jebkur pilnizmēra skatā to aizver (kā līdz šim); arī Esc (common.js). */
.dropzone_upload_tile{
  box-sizing: border-box;
  min-width: 114px;
  max-width: 833px;
  min-height: 113px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 3px;
  padding: var(--mv-space-3);
  border: 2px dashed var(--mv-color-border-strong);
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  user-select: none;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  }
.dropzone_upload_tile:hover,
.dropzone_upload_tile.dz-drag-hover{
  border-color: var(--mv-color-accent);
  background-color: var(--mv-color-accent-soft);
  }
.dropzone_upload_tile:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }
.generic_picture_tiles_container{
  width: 100%;
  height: auto;                      /* agrāk "height:100%:" — kļūdaina deklarācija */
  }
.generic_picture_cell{
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  width: 112px;
  height: 112px;
  margin: 3px;
  padding: 0;
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface-2);
  vertical-align: top;
  cursor: zoom-in;
  user-select: none;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  }
.generic_picture_cell:hover{
  border-color: var(--mv-color-accent);
  box-shadow: var(--mv-shadow-md);
  }
.generic_picture_cell:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }
/* dzēšanas poga — vienmēr redzama (balts aplis ar miskastes ikonu) */
.generic_picture_cell > DIV{
  position: absolute;
  top: 4px;
  right: 4px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--mv-color-surface);
  box-shadow: var(--mv-shadow-sm);
  cursor: pointer;
  }
.generic_picture_cell > DIV::before{
  content: "";
  position: absolute;
  inset: 7px;
  background-color: var(--mv-color-alarm);
  -webkit-mask: var(--mv-mask-trash) center / contain no-repeat;
  mask: var(--mv-mask-trash) center / contain no-repeat;
  }
.generic_picture_cell > DIV:hover{
  background: var(--mv-color-alarm-soft);
  }
.generic_picture_cell > DIV:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }
@media (pointer: coarse){
  .generic_picture_cell > DIV{
    width: var(--mv-touch);
    height: var(--mv-touch);
    top: 0;
    right: 0;
    }
  .generic_picture_cell > DIV::before{
    inset: 12px;
    }
  }
/* pilnizmēra skats */
.generic_picture_full_container{
  position: fixed;
  inset: 0;
  z-index: 9999999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: max(var(--mv-space-4), env(safe-area-inset-top)) var(--mv-space-4) max(var(--mv-space-4), env(safe-area-inset-bottom));
  box-sizing: border-box;
  background-color: rgba(16, 24, 40, 0.88);
  cursor: zoom-out;
  user-select: none;
  visibility: hidden;
  }
.generic_picture_full_container::after{
  content: "";
  position: absolute;
  top: max(var(--mv-space-3), env(safe-area-inset-top));
  right: max(var(--mv-space-3), env(safe-area-inset-right));
  width: var(--mv-touch);
  height: var(--mv-touch);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  }
.generic_picture_full_container::before{
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(max(var(--mv-space-3), env(safe-area-inset-top)) + 12px);
  right: calc(max(var(--mv-space-3), env(safe-area-inset-right)) + 12px);
  width: 20px;
  height: 20px;
  background-color: var(--mv-color-text);
  -webkit-mask: var(--mv-mask-close) center / contain no-repeat;
  mask: var(--mv-mask-close) center / contain no-repeat;
  }
.generic_picture_full_container > IMG{
  max-width: 100%;
  max-height: 100%;
  border-radius: var(--mv-radius-sm);
  box-shadow: var(--mv-shadow-lg);
  }
/* pictures END */

.common_calendar_selector{
  position:absolute;
  top: 79px;
  z-index: 1;
  left: 420px;
  background-color: white;
  border: 1px solid #bdbdbd;
  border-radius: 3px;
  /* padding-left: 30px; */
  }
.common_calendar_selector > SPAN{
  background-image: url('../img/calendar-icon.png');
  background-repeat: no-repeat;
  background-size: 27px;
  display:inline-block;
  width: 25px;
  height: 25px;
  }
.common_calendar_selector INPUT{
  margin: 3px 0px 5px 0px;
  outline:none !important;
  width: 140px;
  border: none;
  margin-left: 15px;
  vertical-align: top;
  user-select: none;
  }
.common_calendar_selector > DIV{
  /* position: absolute; */
  top: 38px;
  z-index: 1;
  left: -1px;
  position:absolute;
  /* top: 35px; */
  /* left: 0px; */
  background-color: white;
  border: 1px solid #bdbdbd;
  border-radius: 3px;
  background-repeat: no-repeat;
  background-size: 23px;
  background-position: left;
  padding: 4px 9px;
  width: 165px;
  }
.common_calendar_selector > DIV > SPAN {
  margin: 8px 2px;
  padding: 3px;
  border:1px solid #dedede;
  background-color: #f7f7f7;
  cursor: pointer;
  border-radius:2px;
  cursor:pointer;
  display:block;
}
.common_calendar_selector_dialog_hidden{
  visibility:hidden;
  }
.windowed_lorwan_data{
  font-size: 12px;
  border: 1px solid #d4cfcf;
  background-color: #f7f2f2;
  border-radius: 3px;
  padding: 4px;
  overflow:hidden;
  margin:0px;
  text-align: left;
  overflow: scroll;
  height: 430px;
  width: 460px;
  padding: 15px;
  /* (noņemts nederīgs "width: 2000" bez mērvienības) */
  /* (noņemts nederīgs "transition: max-height:0.5s ease-in" — pārlūks to ignorēja) */
  }

.device_reader_change_wizzard_window{
  text-align: left;
  width: 570px;
  height: 380px;
  overflow: hidden;
  font-size: 12px;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.8);
  }

.device_reader_change_wizzard_window > DIV:nth-of-type(2){
  margin-top:20px;
  padding-left: 30px;
  /* overflow-y: scroll; */
  /* height: 480px; */
  }

.device_reader_change_wizzard_window > DIV:nth-of-type(2) > SPAN{
  font-size:20px;
  margin-left: 20px;
  margin-bottom: 20px;
  display: block;
  }

.device_reader_change_wizzard_window > DIV > FORM > TABLE{
  /* margin:20px; */
  border-collapse:collapse;
  border:none;
  table-layout: fixed;
  }

.device_reader_change_wizzard_window > DIV > FORM > TABLE > TBODY >TR >TD:nth-of-type(1){
  width: 150px;
  text-align:right;
  }

.device_reader_change_wizzard_window > DIV > FORM > TABLE > TBODY >TR >TD:nth-of-type(2){
  text-align:left;
  /* width: 178px; */
  margin: 0px;
  padding: 2px;
  }

.device_reader_change_wizzard_window > DIV > FORM > TABLE > TBODY >TR >TD:nth-of-type(2) > INPUT{
  text-align:left;
  margin-left: 4px;
  }

.dev_chart_checkbox_wrapper{
  display: inline-block;
  border-radius: 5px;
  margin: 0px;
  padding: 1px;
  width: 20px;
  height: 19px;
  border: 1px solid #a0a0a0;
  margin-right: 5px;
  }

.nai_graphs_controls_cell > A{
  cursor:pointer;
  }

.nai_graphs_controls_cell_disabled{
  color: #80808080;
  }

.lorawan_node_window_outer{
  text-align:left;
  /* width:400px; */
  /* height: 250px; */
  padding:10px;
  }

.lorawan_node_window_outer > FORM > INPUT {
  width:300px;
  font-family:monospace;
  font-size:16px;
  }

.lorawan_node_window_outer > FORM > SELECT {
  width:300px;
  font-family:monospace;
  font-size:16px;
  }

.lorawan_node_window_submit{
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 19px;
  padding: 4px;
  font: inherit;
  user-select: none;
  }

.lorawan_data_window > H3 > IMG{
  float:right;
  width: 25px;
  height: 25px;
  margin-right: 20px;cursor: pointer;}

/* --------------------------------------------------------------------------
   LR-3 LoRaWAN žurnāla logs (subpage=lr3_lorawan; load_window class lr31_window)
   Saturs: .lr3_window_inner > TABLE, kur 1. rinda (TR) ir galvene:
   fCnt | datums | fPort | BASE64 | data | [[gw,rssi,snr],..]
   Dators: logs 948×543 kā agrāk; logs pats ritina (virsraksts lipīgs), galvenes
   rinda lipīga zem virsraksta; garās JSON vērtības lūzt, nevis izplešas pa labi.
   Atrodas main.css (nevis lr3_limited_view.css), jo < 1024px logs atveras
   device_standalone lapā, kur lapas CSS netiek ielādēts.
   Telefons/planšete (< 1024px, atsevišķa lapa): katrs ieraksts — kartīte ar
   etiķetēm no galvenes teksta (CSS, bez HTML izmaiņām).
   -------------------------------------------------------------------------- */
.lr31_window{
  width: 948px;
  height: 543px;
  text-align: left;
  }
.lr3_window_inner{
  padding: var(--mv-space-4);
  font-size: var(--mv-text-xs);
  text-align: left;   /* atsevišķajā lapā logam nav klases lr31_window */
  }
.lr3_window_inner TABLE{
  width: 100%;
  border-collapse: collapse;
  font-family: var(--mv-font-mono);
  font-variant-numeric: tabular-nums;
  }
.lr3_window_inner TD{
  padding: 6px var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  vertical-align: top;
  color: var(--mv-color-text);
  overflow-wrap: anywhere;
  }
.lr3_window_inner TR:nth-child(even) TD{
  background-color: var(--mv-color-surface-2);
  }
/* galvenes rinda */
.lr3_window_inner TR:first-child TD{
  position: sticky;
  top: var(--mv-window-title-h);
  z-index: 1;
  background-color: var(--mv-color-surface-3);
  color: var(--mv-color-text-2);
  font-family: var(--mv-font-sans);
  font-weight: var(--mv-weight-semibold);
  white-space: nowrap;
  }
/* šaurās kolonnas (fCnt, datums, fPort) — vienā rindā */
.lr3_window_inner TD:nth-child(-n+3){
  white-space: nowrap;
  }

@media (max-width: 1023px){
  .lr31_window{
    width: auto;
    height: auto;
    }
  .lr3_window_inner{
    padding: var(--mv-space-3) var(--mv-gutter);
    }
  .lr3_window_inner TABLE,
  .lr3_window_inner TBODY,
  .lr3_window_inner TR,
  .lr3_window_inner TD{
    display: block;
    width: auto;
    }
  .lr3_window_inner TR:first-child{
    display: none;
    }
  .lr3_window_inner TR{
    margin-bottom: var(--mv-space-3);
    padding: var(--mv-space-3);
    background-color: var(--mv-color-surface);
    border: 1px solid var(--mv-color-border);
    border-radius: var(--mv-radius-md);
    box-shadow: var(--mv-shadow-sm);
    }
  .lr3_window_inner TD,
  .lr3_window_inner TR:nth-child(even) TD{
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: var(--mv-space-2);
    padding: 3px 0;
    border: 0;
    background: none;
    white-space: normal;
    }
  .lr3_window_inner TD::before{
    color: var(--mv-color-muted);
    font-family: var(--mv-font-sans);
    }
  .lr3_window_inner TD:nth-child(1)::before{ content: "fCnt"; }
  .lr3_window_inner TD:nth-child(2)::before{ content: "datums"; }
  .lr3_window_inner TD:nth-child(3)::before{ content: "fPort"; }
  .lr3_window_inner TD:nth-child(4)::before{ content: "BASE64"; }
  .lr3_window_inner TD:nth-child(5)::before{ content: "data"; }
  .lr3_window_inner TD:nth-child(6)::before{ content: "gw, rssi, snr"; }
  /* fCnt + datums kartītes galvā — treknāki */
  .lr3_window_inner TD:nth-child(-n+2){
    font-weight: var(--mv-weight-semibold);
    }
  }



/* home page */


.circular_progress_x01{
    position: relative;
    height: 100%;
    width: 100%;
    border-radius: 50%;
    /* background: conic-gradient(#41a8ab 272deg, #e54b64 0deg); */
    display: flex;
    align-items: center;
    justify-content: center;
  }

.circular_progress_x01::before{
    content: "";
    position: absolute;
    height: 65%;
    width: 65%;
    border-radius: 50%;
    background-color: white;
  }

.circular_progress_x01>SPAN{
    position: relative;
    font-size: 300%;
    font-weight: 600;
  }

/* ============================================================

/* platas mantotās tabulas telefonā ritina sava konteinera iekšienē */
@media (max-width: 600px){
  /* Platas tabulas ritina horizontāli sava konteinera iekšienē, nevis
     izstiepj visu lapu. */
  .common_table{
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    }
  }


/* ==========================================================================
   8. SĀKUMA LAPA — pārvietota uz css/home.css (pārveide 2026-10).
   Šeit paliek tikai atskaišu lapas poga, kas vēsturiski atradās šajā blokā.
   ========================================================================== */

.reports_page_devivces_count_button{
  background-image:url('../img/devivces_count_button.png');
  }


/* ==========================================================================
   9. DRUKĀŠANA — mantots + jaunās čaulas elementi netiek drukāti
   ========================================================================== */

@media print {
  BODY{
    font-size:12px;
    background-color:white;
    }
  #footer{
    display:none;
    }
  .events_filter_container{
    display:none;
    }
  #mostouter_top_log_in_out_menu,
  .mv_nav,
  .mv_debug{
    display:none;
    }
  .hide_on_print{
    display:none;
    vsibility:hidden;
    }
  ::-webkit-scrollbar {
    display: none;
    }
  #page_reports_inner{
    width:auto;
    }
  }


/* --- search (pārveide 2026-10): nesasniedzama lapa, tikai kopīgais izkārtojums --- */
.search_card{
  max-width: 480px;
  padding: var(--mv-space-4);
  }

/* --- Contacts (nesasniedzama vietturu lapa; pārveide 2026-10) --- */
.contacts_table{
  display: table;
  max-width: 100%;
  padding: var(--mv-space-2) var(--mv-space-4);
  }
.contacts_table > DIV > DIV{
  padding: var(--mv-space-2) var(--mv-space-3);
  border: 0;
  border-bottom: 1px solid var(--mv-color-border);
  overflow-wrap: anywhere;
  }
.contacts_table > DIV > DIV:first-child{
  color: var(--mv-color-muted);
  font-size: var(--mv-text-sm);
  white-space: nowrap;
  overflow-wrap: normal;
  }

/* --- pārveide 2026-10-07: ierīču logu kopīgās daļas (mv_dev_* PHP palīgi, functions_html.php) --- */
/* LoRaWAN rīkjoslas datuma izvēle (loraWan_data) */
.mv_wm_inline_label{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-2);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  }
.mv_wm_inline_label > .mv_input{
  width: auto;
  min-height: 32px;
  font-size: var(--mv-text-sm);
  }
/* seriālie dati (JSON) - liels monospace teksta lauks */
.mv_wm_json{
  min-height: 360px;
  font-size: var(--mv-text-xs);
  line-height: 1.45;
  white-space: pre;
  resize: vertical;
  }
/* pogas kartītes apakšā (Datu ievade "Pievienot", CSV) */
.mv_wm_form_actions{
  display: flex;
  justify-content: flex-end;
  gap: var(--mv-space-2);
  margin-top: var(--mv-space-3);
  }
/* plata tabula kartītē - ritina horizontāli */
.mv_wm_table_wrap{
  max-width: 100%;
  overflow-x: auto;
  margin-top: var(--mv-space-3);
  }
/* universālās ierīces "Datu uzst." / "Alert bits": mantotā DIV tabula (rindas/lauki nemainīti) - mūsdienīga tabula */
.mv_wm_card .device_common_data_settings_data_table{
  display: table;
  width: 100%;
  border-collapse: collapse;
  font-size: var(--mv-text-sm);
  }
.mv_wm_card .device_common_data_settings_data_table > DIV{
  display: table-row;
  margin: 0;
  border: 0;
  }
.mv_wm_card .device_common_data_settings_data_table > DIV > DIV{
  display: table-cell;
  margin: 0;
  padding: var(--mv-space-1) var(--mv-space-2);
  border: 0;
  border-bottom: 1px solid var(--mv-color-border);
  vertical-align: middle;
  white-space: nowrap;
  }
.mv_wm_card .device_common_data_settings_data_table > DIV:first-child > DIV{
  position: sticky;
  top: 0;
  z-index: 1;
  padding-top: var(--mv-space-2);
  padding-bottom: var(--mv-space-2);
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-text-2);
  font-weight: var(--mv-weight-semibold);
  }
.mv_wm_card .device_common_data_settings_data_table > DIV:not(:first-child):hover > DIV{
  background-color: var(--mv-color-surface-2);
  }
.mv_wm_card .device_common_data_settings_data_table INPUT:not([type="checkbox"]):not([type="color"]){
  box-sizing: border-box;
  width: 100%;
  min-width: 90px;
  height: 32px;
  margin: 0;
  padding: 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border-strong);
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-surface);
  color: var(--mv-color-text);
  font: inherit;
  }
.mv_wm_card .device_common_data_settings_data_table INPUT:focus-visible{
  outline: none;
  box-shadow: var(--mv-focus-ring);
  }
.mv_wm_card .device_common_data_settings_data_table INPUT[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--mv-color-accent);
  }
.mv_wm_card .device_common_data_settings_data_table INPUT[type="color"]{
  width: 44px;
  height: 30px;
  padding: 2px;
  border: 1px solid var(--mv-color-border-strong);
  border-radius: var(--mv-radius-sm);
  background: var(--mv-color-surface);
  }
/* kolonnu platumi: nosaukumiem vairāk vietas, īsajām vērtībām (vienība, bool_val, bits) - mazāk */
FORM[name="device_common_data_settings_data_form"] .device_common_data_settings_data_table > DIV > DIV:nth-child(3) INPUT{
  min-width: 180px;
  }
FORM[name="device_common_data_settings_data_form"] .device_common_data_settings_data_table > DIV > DIV:is(:nth-child(5), :nth-child(8)) INPUT{
  width: 80px;
  min-width: 0;
  }
FORM[name="device_common_alert_bits_settings_data_form"] .device_common_data_settings_data_table > DIV > DIV:nth-child(2) INPUT{
  width: 64px;
  min-width: 0;
  }
FORM[name="device_common_alert_bits_settings_data_form"] .device_common_data_settings_data_table > DIV > DIV:nth-child(3) INPUT{
  min-width: 260px;
  }
/* rūtiņu saraksts (elektrības "Datu uzst.") - režģis */
.mv_wm_checks{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--mv-space-2) var(--mv-space-4);
  margin-top: var(--mv-space-3);
  }
/* rūtiņa kā LABEL (teksts tajā pašā elementā) */
LABEL.mv_wm_check{
  display: inline-flex;
  align-items: center;
  gap: var(--mv-space-2);
  min-height: 32px;
  color: var(--mv-color-text);
  font-size: var(--mv-text-sm);
  cursor: pointer;
  }
LABEL.mv_wm_check.mv_wm_field{
  flex-direction: row;
  margin-top: var(--mv-space-3);
  }
/* tabulas kartītē: centrētas rūtiņu kolonnas (Trauksmju uzst.) */
#content-outer .mv_wm_alerts :is(TH, TD).mv_wm_center{
  width: 1%;
  text-align: center;
  white-space: nowrap;
  }
.mv_wm_alerts TD > INPUT[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 0;
  vertical-align: middle;
  accent-color: var(--mv-color-accent);
  cursor: pointer;
  }
/* bloķēts lauks (piem. kanalizācijas stacijas uzstādījumi līdz nolasīšanai) - redzami atšķirīgs */
.mv_input:disabled{
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-text-2);
  cursor: not-allowed;
  }
/* telefons/planšete - ierīce kā lapa (device_standalone, 2026-10-07): cilne ar saglabāšanas joslu aizņem visu ekrāna
   augstumu zem lapas joslas un cilnēm, tādēļ arī īsā cilnē josla ir ekrāna apakšā (garā - pielīp, kā līdz šim).
   Augstums: lapas josla (+1px apmale) + cilņu josla + cilnes satura atstarpe augšā; apakšā atstarpes nav (josla līdz malai). */
#device_standalone_content [id*="_tab_"]:has(> .mv_wm_pane > .mv_wm_savebar){
  padding-bottom: 0;
  }
#device_standalone_content [id*="_tab_"] > .mv_wm_pane:has(> .mv_wm_savebar){
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-height: calc(100dvh - var(--mv-app-bar-h) - env(safe-area-inset-top) - 1px - var(--mv-window-tabs-h) - var(--mv-space-3));
  padding-bottom: 0;
  }
#device_standalone_content [id*="_tab_"] > .mv_wm_pane:has(> .mv_wm_savebar) > *{
  flex: none;
  }
#device_standalone_content [id*="_tab_"] > .mv_wm_pane > .mv_wm_savebar{
  margin-top: auto;
  }

/* --- Datumu izvēle ierīču logu galvenajās cilnēs (period_selector_create) — 2026-10-08, lietotāja lūgums:
   "slaidāka un glītāka", bez lielās atstarpes līdz grafikam. Marķējums nemainīts: JS iet pa kaimiņu elementiem
   (SPAN ikona → INPUT no → INPUT līdz → INPUT hidden → DIV ātrā izvēlne). 32px augsta josla: ikona | no – līdz. */
#content-outer .common_calendar_selector{
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  height: 32px;
  padding: 0 var(--mv-space-1) 0 2px;
  border: 1px solid var(--mv-color-border-strong);
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface);
  box-shadow: var(--mv-shadow-sm);
  font-family: var(--mv-font-sans);
  transition: border-color var(--mv-duration-fast) var(--mv-ease), box-shadow var(--mv-duration-fast) var(--mv-ease);
  }
#content-outer .common_calendar_selector:focus-within{
  border-color: var(--mv-color-accent);
  box-shadow: var(--mv-focus-ring);
  }
/* kalendāra ikona = ātrās perioda izvēlnes poga */
#content-outer .common_calendar_selector > SPAN{
  position: relative;
  display: inline-block;
  flex: none;
  width: 28px;
  height: 26px;
  border-radius: var(--mv-radius-sm);
  background: none;
  color: var(--mv-color-text-2);
  cursor: pointer;
  }
#content-outer .common_calendar_selector > SPAN::before{
  content: "";
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  background-color: currentColor;
  -webkit-mask: var(--mv-mask-calendar) center / contain no-repeat;
  mask: var(--mv-mask-calendar) center / contain no-repeat;
  }
#content-outer .common_calendar_selector > SPAN:hover{
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-accent);
  }
#content-outer .common_calendar_selector > INPUT[type="date"]{
  box-sizing: border-box;
  width: 134px;
  height: 26px;
  margin: 0;
  padding: 0 2px 0 var(--mv-space-2);
  border: 0;
  border-radius: var(--mv-radius-sm);
  outline: none;
  background-color: transparent;
  color: var(--mv-color-text);
  font-family: inherit;
  font-size: var(--mv-text-sm);
  font-variant-numeric: tabular-nums;
  vertical-align: middle;
  }
/* "–" starp datumiem (fona svītriņa - marķējumā nedrīkst likt jaunu elementu) */
#content-outer .common_calendar_selector > INPUT[name="to"]{
  width: 144px;   /* +10px vietai svītriņai, lai datums netiek nogriezts */
  padding-left: calc(var(--mv-space-2) + 10px);
  background: linear-gradient(var(--mv-color-text-2), var(--mv-color-text-2)) 2px center / 7px 1px no-repeat;
  }
#content-outer .common_calendar_selector > INPUT[type="date"]::-webkit-calendar-picker-indicator{
  margin-left: 2px;
  padding: 2px;
  opacity: 0.5;
  cursor: pointer;
  }
#content-outer .common_calendar_selector > INPUT[type="date"]:hover::-webkit-calendar-picker-indicator{
  opacity: 0.9;
  }
/* ātrā izvēlne (Pēdējās 24h, Šodien, …) - izkrītošs saraksts zem joslas, pie labās malas */
#content-outer .common_calendar_selector > DIV{
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: auto;
  z-index: 5;
  box-sizing: border-box;
  width: auto;
  min-width: 190px;
  padding: var(--mv-space-1);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface);
  box-shadow: var(--mv-shadow-lg);
  }
#content-outer .common_calendar_selector > DIV > SPAN{
  display: block;
  margin: 0;
  padding: 6px 10px;
  border: 0;
  border-radius: var(--mv-radius-sm);
  background: none;
  color: var(--mv-color-text);
  font-size: var(--mv-text-sm);
  white-space: nowrap;
  cursor: pointer;
  }
#content-outer .common_calendar_selector > DIV > SPAN:hover{
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-accent);
  }

/* --- Web Visu / VNC cilnes (iframe) aizpilda cilni bez ritjoslas — 2026-10-08, lietotāja lūgums. Mantotais
   iframe augstums 485px + cilnes atstarpes bija augstāks par 495px cilni. Marķējums nemainīts. */
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"]:has(> :is(.device_power_production_web_visu, .device_power_production_vnc)){
  padding: 0;
  overflow: hidden;
  }
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"] > :is(.device_power_production_web_visu, .device_power_production_vnc){
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  }
#device_standalone_content [id*="_tab_"]:has(> :is(.device_power_production_web_visu, .device_power_production_vnc)){
  padding: 0;
  }
#device_standalone_content [id*="_tab_"] > :is(.device_power_production_web_visu, .device_power_production_vnc){
  display: block;
  width: 100%;
  height: calc(100dvh - var(--mv-app-bar-h) - env(safe-area-inset-top) - 1px - var(--mv-window-tabs-h));
  border: 0;
  }
/* telefona lapa (device_standalone): josla pilnā platumā zem grafika (normālā plūsmā, kā līdz šim), tas pats izskats,
   44px pieskāriena augstums; device_standalone.css vecie noteikumi (rāmji ap katru datumu, flex-wrap) te pārrakstīti.
   Ātrā izvēlne atveras uz augšu (josla ir satura beigās). */
#content-outer #device_standalone_content .common_calendar_selector{
  position: relative !important;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  width: auto;
  height: var(--mv-touch);
  margin: var(--mv-space-2) var(--mv-space-3);
  padding: 0 var(--mv-space-1) 0 2px;
  }
#content-outer #device_standalone_content .common_calendar_selector > SPAN{
  width: 40px;
  height: 40px;
  }
#content-outer #device_standalone_content .common_calendar_selector > INPUT[type="date"]{
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  height: 40px;
  margin: 0;
  padding: 0 2px 0 var(--mv-space-2);
  border: 0;
  border-radius: var(--mv-radius-sm);
  font-size: var(--mv-text-md);
  }
#content-outer #device_standalone_content .common_calendar_selector > INPUT[name="to"]{
  padding-left: calc(var(--mv-space-2) + 10px);
  }
#content-outer #device_standalone_content .common_calendar_selector > DIV{
  top: auto;
  bottom: calc(100% + 4px);
  }
#content-outer #device_standalone_content .common_calendar_selector > DIV > SPAN{
  padding: 10px 12px;
  font-size: var(--mv-text-md);
  }
/* īss saraksts (viens rādītājs - ražošanas/ģeneratora "Grafiki"): grafiks zem tā pilnā platumā, nevis šaurs blakus
   49px augstam sarakstam (agrāk to nejauši panāca 60px atstarpe virs grafika; 2026-10-08). :has() nedrīkst likt
   :has() iekšā (pārlūks atmet visu noteikumu) - tādēļ :only-child / :empty. */
#content-outer > .draggableWindow:has(> .window_tabs) > [id*="_tab_"]:is(:has(:is(.device_power_production_graph_left_outer, .device_generator_graph_left_outer) > :only-child), :has(:is(.device_power_production_graph_left_outer, .device_generator_graph_left_outer):empty)) :is(.device_power_production_graph_container, .device_generator_graph_container){
  clear: left;
  }

/* --- "Mezgls" vizualizācija (get_device_heat_visual + js mvVisInit) — 2026-10-08, lietotāja lūgums: jārāda pareizi un
   jāder telefonam. Zīmējums ar fiksētiem px elementiem tiek mērogots kā vesels (transform), tāpēc elementi paliek savās
   vietās jebkurā izmērā. device_heat.css vecie noteikumi (attēls absolute, konteiners 0x0) šeit pārrakstīti. */
.mv_vis{
  display: grid;
  gap: var(--mv-space-2);
  min-width: 0;
  }
.mv_vis_bar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  }
.mv_vis_chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 0 var(--mv-space-2);
  border: 1px solid var(--mv-color-border);
  border-radius: 999px;
  background-color: var(--mv-color-surface-2);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  }
.mv_vis_chip::before{
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--mv-color-border-strong);
  }
/* savienojuma stāvoklis (JS pievieno vecās klases ..._ok / ..._error) - bez vecajām ikonām */
.mv_vis .mv_vis_conn{
  position: static;
  width: auto;
  height: auto;
  background-image: none;
  }
.mv_vis .mv_vis_conn.device_heat_visual_connection_ok::before{
  background-color: var(--mv-color-ok-solid, #1F9D55);
  }
.mv_vis .mv_vis_conn.device_heat_visual_connection_error{
  border-color: #F3C6C1;
  background-color: var(--mv-color-alarm-soft);
  color: var(--mv-color-alarm);
  }
.mv_vis .mv_vis_conn.device_heat_visual_connection_error::before{
  background-color: var(--mv-color-alarm-solid);
  }
.mv_vis_time::before{
  display: none;
  }
.mv_vis_time.mv_vis_stale{
  border-color: #F2D49B;
  background-color: #FFF6E5;
  color: #8A5A00;
  }
.mv_vis_zoom{
  margin-left: auto;
  }
/* skatuve: zīmējums ietilpināts (sizer = mērogotais izmērs); palielinātā skatā - horizontāla pārvietošana */
.mv_vis_stage{
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  }
.mv_vis_sizer{
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  }
.mv_vis .device_heat_visual{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  transform-origin: 0 0;
  }
.mv_vis .device_heat_visual_background{
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
  }
/* mērījumu lodziņi: kompakti, caurspīdīgi; globālie ievades lauku stili (augstums, polsterējums, rāmis) - noņemti */
.mv_vis .device_heat_visual_measure_element{
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 1px 2px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0.88);
  color: #1F2933;
  font: 600 12px/1.25 var(--mv-font-sans);
  white-space: nowrap;
  }
#content-outer .mv_vis .device_heat_visual_measure_element > INPUT{
  flex: 1 1 auto;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
  -webkit-text-fill-color: currentColor;
  opacity: 1;
  field-sizing: content;   /* veidnes elementam bez platuma - pēc satura (size atribūts - rezerve) */
  }
.mv_vis_unit{
  flex: none;
  color: #52606D;
  font-weight: 400;
  font-size: 12px;
  }

/* --- KSS stacijas "Galvenā" (functions_kss.php kss_panel_html) — 2026-10-08, lietotāja izvēlētais B variants:
   Apakštips "NAI - KSS" -> ierīces loga pirmā cilne. Kartes (līmenis, sūkņi, trauksmes) + 24 h laika josla. Panelis ir
   izmēra konteiners: šaurā logā / telefonā kartes vienā kolonnā un šaurā laika josla (360 viewBox, lasāms teksts). */
.kss_panel{
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  color: var(--mv-color-text);
  text-align: left;
  }
.kss_bar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  }
.kss_conn_ok::before{ background-color: var(--mv-color-ok-solid); }
.kss_conn_err{
  border-color: #F3C6C1;
  background-color: var(--mv-color-alarm-soft);
  color: var(--mv-color-alarm);
  }
.kss_conn_err::before{ background-color: var(--mv-color-alarm-solid); }
.kss_cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--mv-space-3);
  }
.kss_card{
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  padding: var(--mv-space-3);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface);
  }
.kss_alarmbar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px var(--mv-space-2);
  padding: 6px var(--mv-space-3);
  border: 1px solid #F3C6C1;
  border-radius: var(--mv-radius-md);
  background-color: #FFF8F7;
  }
.kss_alarmbar > .kss_card_lbl{ color: var(--mv-color-alarm); }
.kss_alarmbar > .kss_alarms{
  display: contents;                 /* trauksmes plūst vienā rindā ar virsrakstu */
  }
.kss_card_head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px var(--mv-space-2);
  }
.kss_card_head > .kss_state{ margin-left: auto; }
/* KSS cilne logā: mazāka atstarpe virs joslas; panelis aizpilda cilni, laika josla - atlikušo augstumu līdz loga apakšai
   (ja satura vairāk par loga augstumu - cilne ritina, josla min. 200 px) */
.kss_tab > .mv_wm_pane{ padding-top: var(--mv-space-1); }
#content-outer > .draggableWindow:has(> .window_tabs) > .kss_tab > .mv_wm_pane{
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  }
.kss_tab .kss_panel{ flex: 1 1 auto; }
.kss_panel > *{ flex: none; min-width: 0; }
.kss_card_lbl{
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  font-weight: var(--mv-weight-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  }
.kss_card_val{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--mv-space-2);
  font-size: 22px;
  font-weight: var(--mv-weight-semibold);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  }
.kss_card_sub{
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  font-variant-numeric: tabular-nums;
  }
/* līmeņa josla ar iestatījumu atzīmēm */
.kss_gauge{
  position: relative;
  height: 8px;
  margin: 4px 0;
  border-radius: 4px;
  background-color: var(--mv-color-surface-3);
  }
.kss_gauge_fill{
  display: block;
  height: 100%;
  border-radius: 4px;
  background-color: #6E8F86;
  }
.kss_gauge_tick{
  position: absolute;
  top: -4px;
  bottom: -4px;
  width: 2px;
  margin-left: -1px;
  border-radius: 1px;
  background-color: #33415C;
  }
.kss_floatrow{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  }
.kss_fchip{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-pill, 999px);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  }
.kss_fchip_on{
  border-color: var(--mv-color-ok-solid);
  background-color: var(--mv-color-ok-soft);
  color: var(--mv-color-ok);
  }
.kss_state{
  padding: 1px 10px;
  font-weight: var(--mv-weight-semibold);
  border-radius: var(--mv-radius-pill, 999px);
  background-color: var(--mv-color-surface-3);
  font-size: var(--mv-text-sm);
  }
.kss_state_run{ background-color: var(--mv-color-ok-soft); color: var(--mv-color-ok); }
.kss_state_fault{ background-color: var(--mv-color-alarm-soft); color: var(--mv-color-alarm); }
.kss_state_manual{ background-color: var(--mv-color-warning-soft); color: var(--mv-color-warning); }
.kss_mode{
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-xs);
  }
.kss_kv{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px var(--mv-space-2);
  margin: 0;
  font-size: var(--mv-text-sm);
  }
.kss_kv DT{ color: var(--mv-color-text-2); }
.kss_kv DD{ margin: 0; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kss_alarms{
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--mv-text-sm);
  }
.kss_alarms LI{
  padding: 4px 8px;
  border-radius: var(--mv-radius-sm);
  background-color: var(--mv-color-alarm-soft);
  color: var(--mv-color-alarm);
  }
.kss_ok{
  margin: 0;
  color: var(--mv-color-ok-solid);
  font-weight: var(--mv-weight-semibold);
  }
/* lauka nozīme vēl nav apstiprināta (paskaidrojums - title) */
.kss_unconf{
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--mv-color-warning-soft);
  color: var(--mv-color-warning);
  font-size: 11px;
  font-weight: var(--mv-weight-bold);
  letter-spacing: 0;
  text-decoration: none;
  vertical-align: middle;
  cursor: help;
  }
/* 24 h laika josla (js mvKssChart zīmē .kss_tl_plot izmērā) */
.kss_panel > .kss_tl{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 170px;
  padding: var(--mv-space-2) var(--mv-space-3);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  background-color: var(--mv-color-surface);
  }
.kss_tl_plot{
  position: relative;
  flex: 1 1 auto;
  min-height: 150px;
  touch-action: pan-y;               /* telefonā: vertikāli ritina lapu, horizontāli - kursors */
  cursor: crosshair;
  }
/* telefona lapā nav loga augstuma, ko aizpildīt - josla fiksētā, ērtā augstumā */
#device_standalone_content .kss_tl_plot{ min-height: 260px; }
.kss_tl_svg{
  position: absolute;
  inset: 0;
  display: block;
  }
.kss_tl_empty{
  margin: 0;
  padding: var(--mv-space-2) var(--mv-space-3);
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-md);
  color: var(--mv-color-text-2);
  font-size: var(--mv-text-sm);
  }
.kss_tl_bg{ fill: var(--mv-color-surface-2); }
.kss_tl_grid{ stroke: #E1E5EA; stroke-width: 1; }
.kss_tl_axis{ fill: #5B6672; font: 10px var(--mv-font-sans); }
.kss_tl_title{ fill: #374151; font: 600 11px var(--mv-font-sans); }
.kss_tl_none{ fill: #8A96A3; font: 12px var(--mv-font-sans); }
.kss_tl_sp{ stroke: #33415C; stroke-dasharray: 4 4; opacity: 0.55; }
.kss_tl_area{ fill: #6E8F86; opacity: 0.25; }
.kss_tl_line{ fill: none; stroke: #4E7369; stroke-width: 1.4; }
.kss_tl_lane{ fill: var(--mv-color-surface-3); }
.kss_tl_run{ fill: var(--mv-color-ok-solid); }
.kss_tl_alarm{ fill: var(--mv-color-alarm-solid); }
.kss_tl_line{ stroke-linejoin: round; }
.kss_tl_cur{ stroke: #33415C; stroke-width: 1; stroke-dasharray: 3 3; pointer-events: none; }
.kss_tl_dot{ fill: #FFFFFF; stroke: #4E7369; stroke-width: 2; pointer-events: none; }
.kss_tl_curtime{ pointer-events: none; }
.kss_tl_curtime rect{ fill: #33415C; }
.kss_tl_curtime text{ fill: #FFFFFF; font: 600 11px var(--mv-font-sans); }
/* rīka padoms (kā oriģinālajos grafikos - vērtības kursora brīdī) */
.kss_tip{
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 3px;
  min-width: 150px;
  max-width: 260px;
  padding: 6px 10px;
  border: 1px solid var(--mv-color-border);
  border-radius: var(--mv-radius-sm);
  background-color: rgba(255, 255, 255, 0.97);
  box-shadow: var(--mv-shadow-md);
  color: var(--mv-color-text);
  font-size: var(--mv-text-xs);
  pointer-events: none;
  }
.kss_tip[hidden]{ display: none; }
.kss_tip_time{ font-weight: var(--mv-weight-semibold); }
.kss_tip_row{
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  }
.kss_tip_row > B{ font-weight: var(--mv-weight-semibold); font-variant-numeric: tabular-nums; }
.kss_tip_sw{ width: 10px; height: 10px; border-radius: 2px; background-color: var(--mv-color-surface-3); }
.kss_tip_level{ background-color: #6E8F86; }
.kss_tip_run{ background-color: var(--mv-color-ok-solid); }
.kss_tip_alarm{ background-color: var(--mv-color-alarm-solid); }
.kss_tip_alarms{ padding-left: 16px; color: var(--mv-color-alarm); }
.kss_tip_none{ color: var(--mv-color-text-2); }
@container (max-width: 560px){
  .kss_cards{ grid-template-columns: minmax(0, 1fr); }
  .kss_panel > .kss_tl{ padding: var(--mv-space-2); }
  }
