/* ==========================================================================
   „Navy / üveg” téma – az ALAPÉRTELMEZETT megjelenés. A választást a theme.js végzi: a szerver beállítása (Adminisztráció › Beállítások ›
   Megjelenési téma, minden terminálon egyszerre), egy böngészőn a ?theme=graphite | navy | auto címparaméter felülírhatja.
   A <html data-theme="navy"> alatt él; a grafit téma az alap stíluslap (app.css, docs.css, work.css) változtatás nélkül.

   Elv: a belépő/zároló/menü/fejléc „héj” modernebb (mély kék, üveghatás, kerek számbillentyűk), a MUNKAFELÜLETEK
   (dokumentumlista, űrlapok, mérések, PDF) világosak és nagy kontrasztúak maradnak – műhelyfényben, kesztyűvel ez olvasható.
   Az üveghatás (backdrop-filter) csak kis felületeken van; mozgáscsökkentés esetén a globális szabály kikapcsolja az animációkat.
   ========================================================================== */

html[data-theme='navy'] {
  --nv-950: #050c1c; --nv-900: #07122a; --nv-800: #0b1d3e; --nv-700: #0f2144; --nv-600: #183463;
  --nv-mut: #a9bbd8; --nv-blue: #4f8cff; --nv-red: #e8002a;

  --bg: #eef2f8;
  --line: #e1e7f0;
  --red: #d10f2f; --red-strong: #a90c25; --red-soft: #fde6ea; --red-line: #f0b9c2;
  --radius: 0.9rem; --radius-lg: 1.35rem;
  --shadow-1: 0 1px 2px rgba(11, 29, 62, .06), 0 8px 24px rgba(11, 29, 62, .06);
  --shadow-2: 0 18px 54px rgba(5, 12, 28, .34);
}
html[data-theme='navy'] body {
  background: radial-gradient(1100px 520px at 8% -10%, rgba(37, 99, 235, .08), transparent 62%), radial-gradient(900px 480px at 100% 0, rgba(232, 0, 42, .05), transparent 60%), var(--bg);
  background-attachment: fixed;
}

/* ---------------------------------------------------------------- belépő / terminálválasztó / zárolás */
html[data-theme='navy'] .stage,
html[data-theme='navy'] .lock-overlay {
  background:
    radial-gradient(900px 560px at 12% -8%, rgba(28, 77, 148, .5), transparent 60%),
    radial-gradient(800px 520px at 100% 110%, rgba(232, 0, 42, .24), transparent 60%),
    linear-gradient(170deg, var(--nv-800), var(--nv-900) 60%, var(--nv-950));
}
html[data-theme='navy'] .stage::before {
  height: 2px; background: linear-gradient(90deg, transparent, var(--nv-red) 30%, var(--nv-blue) 70%, transparent);
}
html[data-theme='navy'] .stage::after {
  content: ''; position: absolute; inset: -20%; pointer-events: none;
  background: radial-gradient(520px 420px at 18% 22%, rgba(47, 111, 214, .2), transparent 70%), radial-gradient(620px 460px at 84% 78%, rgba(232, 0, 42, .15), transparent 70%);
  animation: nv-orbs 26s ease-in-out infinite alternate;
}
@keyframes nv-orbs { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-4%, 3%, 0) scale(1.12); } }
html[data-theme='navy'] .stage-inner { position: relative; z-index: 1; }

html[data-theme='navy'] .wordmark { border-left-color: rgba(255, 255, 255, .26); }

/* a „Érintsd a kártyádat” blokk üvegkártyán */
html[data-theme='navy'] .stage .touch-card {
  padding: 2.2rem 3rem 2.4rem; border-radius: 1.8rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .04));
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .12);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
html[data-theme='navy'] .touch-card p, html[data-theme='navy'] .lock-overlay p { color: var(--nv-mut); }
html[data-theme='navy'] .rfid-ring {
  border: 1px solid rgba(255, 255, 255, .3);
  background: radial-gradient(circle at 50% 22%, rgba(255, 255, 255, .22), rgba(255, 255, 255, .05) 62%);
  box-shadow: 0 0 80px rgba(79, 140, 255, .3), inset 0 1px 0 rgba(255, 255, 255, .28);
}
html[data-theme='navy'] .rfid-ring::before, html[data-theme='navy'] .rfid-ring::after { border-color: rgba(120, 170, 255, .3); }
html[data-theme='navy'] .rfid-ring.err { border-color: var(--nv-red); background: rgba(232, 0, 42, .18); box-shadow: 0 0 70px rgba(232, 0, 42, .3); }
html[data-theme='navy'] .rfid-ring.ok { border-color: #5fd196; background: rgba(95, 209, 150, .14); box-shadow: 0 0 70px rgba(95, 209, 150, .3); }

html[data-theme='navy'] .login-foot { color: var(--nv-mut); }
html[data-theme='navy'] .login-foot .clock b { font-weight: 300; font-size: 2.6rem; letter-spacing: 0.01em; }
html[data-theme='navy'] .login-foot .clock span { text-transform: uppercase; letter-spacing: .14em; font-size: .82rem; color: #7f95b8; }
html[data-theme='navy'] .hchip {
  border-radius: 2rem; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: blur(8px);
}
html[data-theme='navy'] .hchip.ok { color: #9be8c0; }
html[data-theme='navy'] .hchip.bad { background: var(--nv-red); border-color: var(--nv-red); }

html[data-theme='navy'] .launch-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .04)); border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 1.5rem; box-shadow: 0 18px 50px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .1); backdrop-filter: blur(10px);
}
html[data-theme='navy'] .launch-card span { color: var(--nv-mut); }

/* ---------------------------------------------------------------- fejléc, lábléc */
html[data-theme='navy'] .header { background: linear-gradient(180deg, #102349, #0a1a38); border-bottom: 1px solid rgba(255, 255, 255, .08); }
html[data-theme='navy'] .header::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--nv-red) 30%, var(--nv-blue) 70%, transparent); pointer-events: none;
}
html[data-theme='navy'] .avatar { background: linear-gradient(135deg, #f0213f, #8b0018); color: #fff; box-shadow: 0 6px 18px rgba(232, 0, 42, .35); }
html[data-theme='navy'] .clock span, html[data-theme='navy'] .userbox .nm span { color: #8ea3c3; }
html[data-theme='navy'] .footer { background: #0a1a38; color: #8ea3c3; border-top: 1px solid rgba(255, 255, 255, .07); }
html[data-theme='navy'] .footer .demo { color: #ffd24a; }

/* ---------------------------------------------------------------- főmenü */
html[data-theme='navy'] .tile {
  border: 1px solid var(--line); border-radius: 1.6rem; box-shadow: var(--shadow-1);
  transition: box-shadow .2s, transform .12s, border-color .2s;
}
html[data-theme='navy'] .tile:active { background: #f7f9fd; border-color: var(--nv-600); transform: translateY(1px); }
html[data-theme='navy'] .tile .t-ic { background: linear-gradient(145deg, var(--nv-600), var(--nv-800)); box-shadow: 0 10px 24px rgba(11, 29, 62, .28), inset 0 1px 0 rgba(255, 255, 255, .18); }
html[data-theme='navy'] .tile.hot .t-ic { background: linear-gradient(145deg, #f0213f, #a8001c); box-shadow: 0 10px 24px rgba(209, 15, 47, .32), inset 0 1px 0 rgba(255, 255, 255, .22); }
html[data-theme='navy'] .tile::after { background: linear-gradient(180deg, #dbe4f2, #c9d6ea); }
html[data-theme='navy'] .tile.hot::after { background: linear-gradient(180deg, #f0213f, #b3001d); }
html[data-theme='navy'] .menu-grid.more .tile .t-ic { background: linear-gradient(145deg, #2a4a7d, var(--nv-700)); }
html[data-theme='navy'] .resume-card { background: linear-gradient(135deg, var(--nv-700), var(--nv-800)); border: 1px solid rgba(255, 255, 255, .1); box-shadow: var(--shadow-1); }
html[data-theme='navy'] .resume-card small { color: var(--nv-mut); }
html[data-theme='navy'] .panel { border-color: var(--line); }

/* ---------------------------------------------------------------- gombok, választók, jelvények */
html[data-theme='navy'] .btn:not(.outline):not(.ghost):not(.accent):not(.danger):not(.danger-outline):not(.ok):not(.light):not(:disabled) {
  background: linear-gradient(180deg, var(--nv-600), #0f2142); border-color: #0f2142; box-shadow: 0 1px 2px rgba(11, 29, 62, .2);
}
html[data-theme='navy'] .btn:not(.outline):not(.ghost):not(.accent):not(.danger):not(.danger-outline):not(.ok):not(.light):not(:disabled):active {
  background: var(--nv-600); border-color: var(--nv-600);
}
html[data-theme='navy'] .btn.outline { color: #0f2142; border-color: #a9b8d0; }
html[data-theme='navy'] .btn.outline:active:not(:disabled) { background: #eaf0f9; border-color: #0f2142; }
html[data-theme='navy'] .btn.accent, html[data-theme='navy'] .btn.danger {
  background: linear-gradient(180deg, #f0213f, #c8001f); border-color: #c8001f; box-shadow: 0 8px 22px rgba(232, 0, 42, .28);
}
html[data-theme='navy'] .btn.ok { background: linear-gradient(180deg, #16bd76, #0e9a5c); border-color: #0e9a5c; }
html[data-theme='navy'] .seg { border-radius: 1rem; background: #e3e9f3; }
html[data-theme='navy'] .seg button[aria-pressed='true'], html[data-theme='navy'] .seg button[aria-selected='true'] {
  background: linear-gradient(180deg, var(--nv-600), #0f2142); box-shadow: 0 4px 12px rgba(15, 33, 66, .3);
}
html[data-theme='navy'] .chip.dark { background: var(--nv-700); }
html[data-theme='navy'] .toast { background: var(--nv-700); }
html[data-theme='navy'] .toast.err { background: var(--red); }
html[data-theme='navy'] .toggle[aria-checked='true'] { border-color: var(--nv-600); }
html[data-theme='navy'] .toggle[aria-checked='true'] .box { background: var(--nv-600); border-color: var(--nv-600); }
html[data-theme='navy'] .field.active, html[data-theme='navy'] .field:focus-within { border-color: var(--nv-600); box-shadow: 0 0 0 4px rgba(37, 99, 235, .14); }
html[data-theme='navy'] .progress > i { background: linear-gradient(90deg, var(--nv-600), #5b8cff); }

/* ---------------------------------------------------------------- ablakok, PIN-bevitel */
html[data-theme='navy'] .modal-back { background: rgba(5, 12, 28, .72); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
html[data-theme='navy'] .modal { border-radius: 1.6rem; box-shadow: 0 40px 120px rgba(0, 0, 0, .55); }
html[data-theme='navy'] .modal-f { background: #f4f7fb; }

/* a PIN-ablak (számbillentyűvel) sötét üvegkártya, kerek billentyűkkel – :has() nélkül (régi böngésző) marad a világos ablak */
html[data-theme='navy'] .modal:has(.pad-light) {
  background: linear-gradient(150deg, #16305a, #0d2042); color: #fff; border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 40px 100px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .1);
}
html[data-theme='navy'] .modal:has(.pad-light) .modal-h { border-bottom-color: rgba(255, 255, 255, .1); }
html[data-theme='navy'] .modal:has(.pad-light) .m-icon { background: rgba(255, 255, 255, .12); color: #fff; }
html[data-theme='navy'] .modal:has(.pad-light) .modal-f { background: rgba(255, 255, 255, .04); border-top-color: rgba(255, 255, 255, .1); }
html[data-theme='navy'] .modal:has(.pad-light) .muted { color: var(--nv-mut); }
html[data-theme='navy'] .modal:has(.pad-light) .btn.ghost { color: #fff; }
html[data-theme='navy'] .modal:has(.pad-light) .btn.outline { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .35); }
html[data-theme='navy'] .modal:has(.pad-light) .btn:not(.outline):not(.ghost):not(:disabled) { background: linear-gradient(180deg, #f0213f, #c8001f); border-color: #c8001f; box-shadow: 0 8px 22px rgba(232, 0, 42, .3); }
html[data-theme='navy'] .modal:has(.pad-light) .btn:disabled { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .35); }
html[data-theme='navy'] .modal:has(.pad-light) .field-err { color: #ff9fae; }
html[data-theme='navy'] .modal:has(.pad-light) .pin-dots { min-height: 2.6rem; gap: 1rem; }
html[data-theme='navy'] .modal:has(.pad-light) .pin-dots i { width: 1.5rem; height: 1.5rem; border: 1px solid rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .06); }
html[data-theme='navy'] .modal:has(.pad-light) .pin-dots i.f { background: #fff; border-color: #fff; box-shadow: 0 0 18px rgba(255, 255, 255, .7); }
html[data-theme='navy'] .modal:has(.pad-light) .pad-light { width: min(19.5rem, 100%); gap: 0.85rem; justify-items: center; }
html[data-theme='navy'] .modal:has(.pad-light) .pad-light button {
  width: 5rem; height: 5rem; min-height: 0; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .22); color: #fff; font-weight: 500;
  background: radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .22), rgba(255, 255, 255, .07) 62%);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .25);
}
html[data-theme='navy'] .modal:has(.pad-light) .pad-light button:active {
  background: radial-gradient(circle at 50% 30%, rgba(93, 151, 255, .55), rgba(47, 111, 214, .35) 70%); border-color: #7aa9ff; transform: scale(.94);
}

/* ---------------------------------------------------------------- képernyő-billentyűzet */
html[data-theme='navy'] .osk { background: linear-gradient(180deg, #0f2144, #0a1a38); border-top: 1px solid rgba(255, 255, 255, .14); }
html[data-theme='navy'] .osk-key { background: #1d3a66; }
html[data-theme='navy'] .osk-key:active { background: #2f5a9c; }
html[data-theme='navy'] .osk-key.fn { background: #13294d; }
html[data-theme='navy'] .osk-key.acc { background: #264a80; }
html[data-theme='navy'] .osk-key.act { color: #0f2142; }
html[data-theme='navy'] .osk-key.act.go { background: linear-gradient(180deg, #f0213f, #c8001f); color: #fff; }
