/* TMR operator theme: single source of truth for the palette.
   Loaded FIRST on the operator/admin pages only (index, dashboard, controller,
   theme, buttons, buttonsAdmin, editor, panel, login, admin, overlays). Overlay pages never load it.
   Page stylesheets map their own variable names onto the --th-* roles below.
   Colours come from the Lumora Studios logo: lime #C1FF72 and black, with neutral greys between. */
:root {
  /* the palette */
  --pal-lime:   #c1ff72;
  --pal-black:  #000000;
  --pal-deep:   #0a0b09;   /* page background */
  --pal-slate:  #181b16;   /* cards, sidebar */
  --pal-ice:    #e9eee3;   /* main text */
  --pal-silver: #b4bcab;   /* quiet text */
  --pal-ash:    #7b8372;   /* faint text, strong borders */
  --pal-steel:  #343a2f;   /* borders */

  /* roles */
  --th-bg:         var(--pal-deep);   /* page background, inset wells */
  --th-panel:      var(--pal-slate);  /* cards, header, sidebar */
  --th-mid:        #11140f;           /* between deep and slate: hover rows, table headers */
  --th-border:     var(--pal-steel);
  --th-border-hi:  #565e4d;
  --th-text:       var(--pal-ice);    /* 15:1 on slate */
  --th-text-quiet: var(--pal-silver); /* 9:1 on slate */
  --th-text-faint: var(--pal-ash);    /* placeholders / disabled only */
  --th-accent:     var(--pal-lime);
  --th-accent-hover: #d6ff9e;
  --th-accent-ink: var(--pal-black);  /* text on a lime fill (15:1) */
  --th-accent-dim: rgba(193, 255, 114, 0.14);
  --th-accent-glow: rgba(193, 255, 114, 0.32);
  --th-hover:      rgba(233, 238, 227, 0.07);

  /* functional status colours: not part of the palette, kept only for live / ok / warning / error.
     ok is pushed toward teal so it never reads as the lime accent. */
  --th-ok:   #4fd1b0;
  --th-warn: #f0b95c;
  --th-err:  #ff8a80;

  color-scheme: dark;
  scrollbar-color: var(--pal-steel) var(--pal-deep);
}

/* ---- Lumora Studios branding (shared by all operator pages) ---- */
.lumora { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; text-align: center; text-shadow: none; --ln: 44px; --lb: 15px; }
.lumora-name { font-family: var(--font-head, var(--font, sans-serif)); font-weight: 800; font-size: var(--ln); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-hi, var(--text, #fff)); white-space: nowrap; }
.lumora-name em { font-style: normal; font-weight: 400; opacity: .85; }
.ctrl-logo.lumora, .login-wordmark.lumora { display: flex; }
.lumora-by { font-size: var(--lb); letter-spacing: 0.4em; margin-right: -0.4em; font-weight: 600; text-transform: uppercase; color: var(--text-dim, var(--text-low, #8a9aa8)); margin-top: 0.5em; white-space: nowrap; }
.lumora.sm { --ln: 24px; --lb: 10px; align-items: flex-start; text-align: left; }
.lumora.sm .lumora-by { margin-right: 0; letter-spacing: 0.3em; margin-top: 0.4em; }
.lumora.lg { --ln: 58px; --lb: 19px; }
@media (max-width: 480px) { .lumora { --ln: 32px; --lb: 12px; } .lumora.sm { --ln: 19px; --lb: 8px; } .lumora.lg { --ln: 27px; --lb: 11px; } }
