/* =========================================================
   Tmvo - uj dizajn reteg ("B biztonsagi" sablon, latvanyterv-tmvo.html)
   Kulon fajl; a meglevo style.css / materialize.css UTAN toltodik,
   azt felulirja. A regi nezetek szerkezetet nem valtoztatja.
   Az eduway uj-dizajn.css mintajara (azonos alap-sablon).
   Keszult: 2026-10-20
   ========================================================= */

:root{
  --uj-brand:#123a5e;      /* fo szin - melykek */
  --uj-brand-dark:#0c2a45; /* hover */
  --uj-brand-2:#2b6ca3;    /* masodlagos kek */
  --uj-accent:#e8602c;     /* kiemeles - narancs */
  --uj-accent-dark:#c94e1f;
  --uj-ok:#15a35b; --uj-okbg:#e7f7ee;
  --uj-warn:#9a6a0a; --uj-warnbg:#fdf4e1;
  --uj-bad:#e5533c; --uj-badbg:#fdecea;
  --uj-soft:#e8eef5;       /* halvany kek hatter */
  --uj-bg:#f5f6f8;         /* oldal hatter */
  --uj-ink:#1a2433;
  --uj-ink-soft:#5a6679;
  --uj-line:#e3e8ef;
  --uj-hero:linear-gradient(135deg,#123a5e,#2b6ca3);
  --uj-shadow:0 2px 4px rgba(16,30,54,.06), 0 8px 24px rgba(16,30,54,.08);
  --uj-shadow-sm:0 1px 2px rgba(16,30,54,.08);
}

/* ---- Alap: betu es hatter ---- */
body{
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif !important;
  color:var(--uj-ink);
}
.sb2, .sb2-1, .sb2-2{ background:var(--uj-bg) !important; }
.sb1{ box-shadow:var(--uj-shadow-sm) !important; }
a{ color:var(--uj-brand-2); }

/* ---- Gombok ---- */
.btn, .btn-large, .btn-small, .btn-log-in,
button[type="submit"].waves-effect{
  background-color:var(--uj-brand) !important;
  border-radius:10px !important;
  box-shadow:var(--uj-shadow-sm) !important;
  text-transform:none !important;
  letter-spacing:.2px;
  font-weight:600;
}
.btn:hover, .btn-large:hover, .btn-small:hover, .btn-log-in:hover{
  background-color:var(--uj-brand-dark) !important;
}
.btn-log-in{ width:100%; height:46px; line-height:46px; border-radius:12px !important; }
.btn.green, .btn-large.green, .btn.btn-success{ background-color:var(--uj-ok) !important; }
/* fo cselekves-gomb (pl. Oktatas inditasa, Alairom) - narancs */
.btn-accent, .btn-large.btn-accent{ background-color:var(--uj-accent) !important; color:#fff !important; }
.btn-accent:hover, .btn-large.btn-accent:hover{ background-color:var(--uj-accent-dark) !important; }

/* ---- Urlapmezok ---- */
.input-field input[type=text]:focus,
.input-field input[type=email]:focus,
.input-field input[type=password]:focus,
.input-field input:focus{
  border-bottom:2px solid var(--uj-brand-2) !important;
  box-shadow:0 1px 0 0 var(--uj-brand-2) !important;
}
.input-field input:focus + label{ color:var(--uj-brand-2) !important; }
[type="checkbox"]:checked + label:before{ border-right-color:var(--uj-brand-2) !important; border-bottom-color:var(--uj-brand-2) !important; }
[type="checkbox"].filled-in:checked + label:after{ border-color:var(--uj-brand-2) !important; background-color:var(--uj-brand-2) !important; }

/* ---- Kezdolap statisztika-kartyak (regi) ---- */
.ad-hom-box{ border-radius:14px !important; box-shadow:var(--uj-shadow) !important; border:1px solid var(--uj-line); }

/* ---- Tartalom-dobozok ---- */
.box-inn-sp{ border-radius:14px !important; box-shadow:var(--uj-shadow) !important; border:1px solid var(--uj-line); }
.inn-title{ border-radius:14px 14px 0 0 !important; border-bottom:1px solid var(--uj-line) !important; }
.inn-title h4{ color:var(--uj-ink) !important; }
.sb2-2-2 ul li a{ color:var(--uj-ink-soft); }
.sb2-2-2 ul li a i{ color:var(--uj-brand-2); }

/* ---- Tablazatok ---- */
.table-desi thead th, .table thead th, table.table-hover thead th{
  background:#f1f4f8 !important; color:var(--uj-ink-soft) !important;
  border-bottom:1px solid var(--uj-line) !important; font-weight:600;
}
.table-hover tbody tr:hover, .table-desi tbody tr:hover{ background:var(--uj-soft) !important; }

/* ---- Materialize teal akcentus -> kek ---- */
.teal, .teal.lighten-1, .btn-floating{ background-color:var(--uj-brand) !important; }
.teal-text{ color:var(--uj-brand) !important; }
.dropdown-content li>a, .dropdown-content li>span{ color:var(--uj-brand); }
/* 2026-10-25: böngésző saját legördülője (custom.js) a Materialize-féle helyett */
select.browser-default.tm-select{ display:block; width:100%; height:44px; padding:0 10px; margin:4px 0 10px; border:1px solid var(--uj-line); border-radius:10px; background:#fff; color:var(--uj-ink); font-size:15px; }
select.browser-default.tm-select:focus{ outline:none; border-color:var(--uj-brand-2); box-shadow:0 0 0 3px rgba(18,58,94,.12); }
.input-field label.tm-sel-label, label.tm-sel-label{ position:static !important; transform:none !important; display:inline-block; font-size:13px !important; margin:0 0 2px !important; color:var(--uj-ink-soft); top:auto !important; left:auto !important; }
.progress{ background-color:var(--uj-line) !important; }
.progress .determinate, .progress .indeterminate{ background-color:var(--uj-ok) !important; }
.txt-success{ color:var(--uj-ok) !important; }

/* ---- Fokusz-lathatosag ---- */
a:focus-visible, button:focus-visible, select:focus-visible, .btn:focus-visible{
  outline:3px solid #c7d6e6; outline-offset:2px; border-radius:8px;
}

/* ---- Bal menu (regi elrendezes, ?dizajn=regi) ---- */
.sb2-12 h5{ font-size:13.5px; line-height:1.75; color:var(--uj-ink); }
.sb2-13 ul.collapsible{ border:0 !important; box-shadow:none !important; margin:4px 8px; }
.sb2-13 li a{ display:flex !important; align-items:center; gap:11px; padding:11px 14px !important; margin:2px 0; border-radius:11px; color:var(--uj-ink) !important; font-size:14px; font-weight:500; }
.sb2-13 li a i{ width:20px; text-align:center; color:var(--uj-brand-2) !important; }
.sb2-13 li a:hover{ background:var(--uj-soft) !important; color:var(--uj-brand) !important; }

/* =========================================================
   FELSO MENUSAV (minden bejelentkezett szerepkor)
   ========================================================= */
.lt-topnav{ background:#fff; border-bottom:1px solid var(--uj-line); padding:0 22px; display:flex; align-items:center; gap:16px; height:62px; position:sticky; top:0; z-index:100; box-shadow:var(--uj-shadow-sm); }
.lt-topnav .brand{ display:flex; align-items:center; gap:9px; font-weight:800; font-size:14px; color:var(--uj-brand); text-decoration:none; white-space:nowrap; }
.lt-topnav .brand img{ max-height:38px; max-width:150px; display:block; }
.lt-topnav nav{ display:flex; gap:3px; background:transparent !important; box-shadow:none !important; height:auto !important; line-height:normal !important; width:auto; }
.lt-topnav nav a{ padding:9px 12px; border-radius:10px; color:var(--uj-ink); font-size:13.5px; font-weight:500; text-decoration:none; display:flex; align-items:center; gap:7px; white-space:nowrap; }
.lt-topnav nav a:hover{ background:var(--uj-soft); color:var(--uj-brand); }
.lt-topnav nav a.on{ background:var(--uj-brand); color:#fff; }
.lt-topnav .right{ margin-left:auto; display:flex; align-items:center; gap:14px; }
.lt-topnav .acc{ display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--uj-ink); cursor:pointer; white-space:nowrap; }
.lt-topnav .acc .pic{ width:32px; height:32px; border-radius:50%; background:var(--uj-soft); color:var(--uj-brand); display:flex; align-items:center; justify-content:center; font-weight:700; }
.lt-dropdown{ position:relative; }
.lt-dropdown-menu{ position:absolute; right:0; top:calc(100% + 8px); background:#fff; border:1px solid var(--uj-line); border-radius:12px; box-shadow:var(--uj-shadow); min-width:240px; padding:6px; display:none; z-index:200; }
.lt-dropdown-menu.open{ display:block; }
.lt-dropdown-menu a{ display:flex; align-items:center; gap:9px; padding:9px 12px; border-radius:8px; color:var(--uj-ink); text-decoration:none; font-size:13.5px; }
.lt-dropdown-menu a i{ color:var(--uj-brand-2); width:16px; text-align:center; }
.lt-dropdown-menu a:hover{ background:var(--uj-soft); color:var(--uj-brand); }
.lt-dropdown-menu a.lt-logout{ border-top:1px solid var(--uj-line); margin-top:5px; }
.lt-dropdown-menu a.lt-logout i{ color:var(--uj-bad); }
.lt-dropdown-head{ padding:10px 12px 11px; border-bottom:1px solid var(--uj-line); margin-bottom:5px; }
.lt-dropdown-head strong{ display:block; font-size:14px; color:var(--uj-ink); }
.lt-dropdown-head span{ display:block; font-size:12px; color:var(--uj-ink-soft); margin-top:2px; }
.lt-dropdown-head .lt-dd-row{ margin-top:5px; }
.lt-hamburger{ display:none; width:42px; height:42px; border-radius:11px; background:var(--uj-soft); color:var(--uj-brand); align-items:center; justify-content:center; font-size:18px; cursor:pointer; border:0; }

/* Felso-menus mod: a regi .sb2-2 tartalomdobozt kozepre, teljes szelesseggel (nincs bal menu) */
body.lt-top-mode{ background:var(--uj-bg); }
body.lt-top-mode .sb2{ margin-top:0 !important; background:transparent !important; }
body.lt-top-mode .sb2-2{ float:none !important; width:auto !important; max-width:1180px !important; margin:0 auto !important; padding:26px 24px 56px !important; background:transparent !important; min-height:0 !important; height:auto !important; }

@media(max-width:860px){
  .lt-hamburger{ display:flex; }
  .lt-topnav{ padding:0 14px; }
  .lt-topnav nav{ display:none; position:absolute; top:62px; left:0; right:0; background:#fff !important; flex-direction:column; padding:10px; gap:3px; box-shadow:0 14px 28px rgba(16,30,54,.20); border-top:1px solid var(--uj-line); z-index:150; }
  .lt-topnav nav.open{ display:flex !important; }
  .lt-topnav nav a{ width:100%; padding:12px 14px !important; }
  .lt-topnav .acc .lt-acc-txt{ display:none; }
  body.lt-top-mode .sb2-2{ padding:16px 14px 40px !important; }
}

/* =========================================================
   LATVANYTERV-KOMPONENSEK (lt-*)
   ========================================================= */
.lt-hello{ background:var(--uj-hero); color:#fff; border-radius:16px; padding:20px 22px; margin-bottom:18px; }
.lt-hello h3{ font-size:19px; margin:0; color:#fff; } .lt-hello p{ margin:6px 0 0; opacity:.92; font-size:14px; }
.lt-note{ border-radius:12px; padding:12px 15px; margin:0 0 14px; font-size:13.5px; background:var(--uj-soft); color:var(--uj-ink); }
.lt-note.n-orange{ background:#fdeee7; border-left:4px solid var(--uj-accent); }
.lt-note.n-green{ background:var(--uj-okbg); border-left:4px solid var(--uj-ok); }
.lt-note.n-red{ background:var(--uj-badbg); border-left:4px solid var(--uj-bad); }
.lt-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.lt-stat{ background:#fff; border:1px solid var(--uj-line); border-radius:14px; padding:16px 18px; box-shadow:var(--uj-shadow-sm); }
.lt-stat .num{ font-size:26px; font-weight:800; color:var(--uj-ink); line-height:1.1; }
.lt-stat .num.g{ color:var(--uj-ok); } .lt-stat .num.w{ color:var(--uj-warn); } .lt-stat .num.r{ color:var(--uj-bad); }
.lt-stat .lbl{ font-size:12.5px; color:var(--uj-ink-soft); margin-top:4px; }
.lt-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.lt-card{ background:#fff; border:1px solid var(--uj-line); border-radius:16px; box-shadow:var(--uj-shadow-sm); overflow:hidden; margin-bottom:16px; }
.lt-card-head{ padding:14px 18px; font-weight:700; font-size:15px; border-bottom:1px solid var(--uj-line); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lt-card-head a{ font-size:13px; font-weight:600; }
.lt-card-body{ padding:14px 18px; }
.lt-card-body.flush{ padding:4px 6px; max-height:480px; overflow:auto; }
.lt-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.lt-table th{ text-align:left; padding:10px 12px; font-size:11.5px; text-transform:uppercase; letter-spacing:.4px; color:var(--uj-ink-soft); border-bottom:1px solid var(--uj-line); background:#f1f4f8; }
.lt-table td{ padding:10px 12px; border-bottom:1px solid #f0f3f7; color:var(--uj-ink); }
.lt-table tbody tr:hover{ background:var(--uj-soft); }
.lt-who{ display:flex; align-items:center; gap:9px; }
.lt-who .p{ width:28px; height:28px; border-radius:50%; background:var(--uj-soft); color:var(--uj-brand); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:11px; flex:none; }
.lt-badge{ display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
.lt-badge.ok{ background:var(--uj-okbg); color:var(--uj-ok); }
.lt-badge.warn{ background:var(--uj-warnbg); color:var(--uj-warn); }
.lt-badge.bad{ background:var(--uj-badbg); color:var(--uj-bad); }
.lt-badge.info{ background:var(--uj-soft); color:var(--uj-brand); }
.lt-btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; border:0; cursor:pointer; font:inherit; font-weight:600; padding:11px 18px; border-radius:10px; font-size:14px; text-decoration:none !important; line-height:1.2; }
.lt-btn.primary{ background:var(--uj-brand); color:#fff !important; } .lt-btn.primary:hover{ background:var(--uj-brand-dark); }
.lt-btn.accent{ background:var(--uj-accent); color:#fff !important; } .lt-btn.accent:hover{ background:var(--uj-accent-dark); }
.lt-btn.ghost{ background:var(--uj-soft); color:var(--uj-brand) !important; }
.lt-btn.block{ width:100%; }
.lt-btn[disabled]{ opacity:.55; cursor:not-allowed; }
.lt-mini{ font-size:12.5px; color:var(--uj-ink-soft); }

/* ---- Tanuloi oktatas-kartya ---- */
.lt-course{ background:#fff; border:1px solid var(--uj-line); border-radius:16px; box-shadow:var(--uj-shadow-sm); padding:18px; margin-bottom:18px; }
.lt-course.hl{ border:2px solid var(--uj-accent); }
.lt-course.done{ border:2px solid var(--uj-ok); }
.lt-course-top{ display:flex; align-items:center; gap:12px; }
.lt-course-ic{ width:46px; height:46px; border-radius:12px; background:var(--uj-soft); color:var(--uj-brand); display:flex; align-items:center; justify-content:center; font-size:22px; flex:none; }
.lt-course-top h4{ font-size:16px; margin:0; color:var(--uj-ink); font-weight:700; }
.lt-course-top .sub{ color:var(--uj-ink-soft); font-size:12.5px; margin-top:2px; }
.lt-course-top .lt-badge{ margin-left:auto; }
.lt-course p{ font-size:13.5px; color:var(--uj-ink-soft); margin:10px 0 0; }

/* =========================================================
   OKTATASI FOLYAMATJELZO (tm-folyamat) - bevezeto, tananyag,
   alairas, bekuldes; a dolgozo lassa, mi van meg hatra
   ========================================================= */
.tm-folyamat{ background:#fff; border:1px solid var(--uj-line); border-radius:14px; padding:14px 16px 12px; margin:14px 0; }
.tm-folyamat-fej{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:13px; color:var(--uj-ink-soft); margin-bottom:8px; }
.tm-folyamat-fej b{ color:var(--uj-ink); font-size:14px; }
.tm-folyamat-sav{ height:9px; background:var(--uj-line); border-radius:999px; overflow:hidden; margin-bottom:14px; }
.tm-folyamat-sav>b{ display:block; height:100%; background:linear-gradient(90deg,var(--uj-brand-2),var(--uj-ok)); border-radius:999px; transition:width .4s ease; }
.tm-lepesek{ display:flex; list-style:none; margin:0; padding:0; counter-reset:none; }
.tm-lepes{ flex:1; position:relative; text-align:center; font-size:12px; color:var(--uj-ink-soft); padding:0 4px; list-style:none; }
.tm-lepes:before{ content:""; position:absolute; top:15px; left:-50%; width:100%; height:3px; background:var(--uj-line); z-index:0; }
.tm-lepes:first-child:before{ display:none; }
.tm-lepes .kor{ position:relative; z-index:1; width:32px; height:32px; margin:0 auto 6px; border-radius:50%; background:#fff; border:3px solid var(--uj-line); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; color:var(--uj-ink-soft); }
.tm-lepes .nev{ display:block; font-weight:600; line-height:1.25; }
.tm-lepes .al{ display:block; font-size:11px; margin-top:2px; }
.tm-lepes.kesz .kor{ background:var(--uj-ok); border-color:var(--uj-ok); color:#fff; }
.tm-lepes.kesz:before, .tm-lepes.aktiv:before{ background:var(--uj-ok); }
.tm-lepes.kesz .nev{ color:var(--uj-ok); }
.tm-lepes.aktiv .kor{ border-color:var(--uj-accent); color:var(--uj-accent); box-shadow:0 0 0 4px #fdeee7; }
.tm-lepes.aktiv .nev{ color:var(--uj-ink); }
.tm-lepes.hiba .kor{ border-color:var(--uj-bad); color:var(--uj-bad); }
.tm-lepes.hiba .nev{ color:var(--uj-bad); }
@media(max-width:560px){
  .tm-lepes .nev{ font-size:11px; }
  .tm-lepes .al{ display:none; }
  .tm-lepes .kor{ width:28px; height:28px; font-size:12px; }
  .tm-lepes:before{ top:13px; }
}

/* ---- Oktatasi oldalak (app-answer elrendezes) ---- */
.tm-okt-fej{ background:#fff; border-bottom:1px solid var(--uj-line); box-shadow:var(--uj-shadow-sm); padding:10px 22px; display:flex; align-items:center; gap:12px; }
.tm-okt-fej img{ max-height:36px; }
.tm-okt-fej .cim{ font-weight:700; color:var(--uj-brand); font-size:14px; }
.tm-okt-fej .ki{ margin-left:auto; font-size:13px; color:var(--uj-ink-soft); text-decoration:none; }
.tm-okt-wrap{ max-width:1100px; margin:0 auto; padding:6px 20px 0; }
body.lt-top-mode .sb2 > div[style*="padding: 30px"]{ max-width:1100px; margin:0 auto; padding:0 20px 40px !important; }
body.lt-top-mode .sb2 .inn-title h4{ font-size:17px; }
@media(max-width:560px){ body.lt-top-mode .sb2 > div[style*="padding: 30px"]{ padding:0 10px 30px !important; } .tm-okt-wrap{ padding:6px 10px 0; } }
.question{ border:1px solid var(--uj-line) !important; border-radius:12px !important; box-shadow:var(--uj-shadow-sm) !important; padding:16px 18px !important; margin-bottom:14px !important; background:#fff; }
.question h4.validate{ font-size:16px; font-weight:700; color:var(--uj-ink); }
.inner_question{ border:1.5px solid var(--uj-line); border-radius:10px; padding:6px 12px !important; margin:7px 0 7px 10px !important; transition:background .15s; }
.inner_question:hover{ background:var(--uj-soft); }

/* ---- Siker / befejezes ---- */
.lt-finish{ max-width:640px; margin:10px auto 20px; background:#fff; border:1px solid var(--uj-line); border-radius:18px; box-shadow:var(--uj-shadow); padding:30px 26px; text-align:center; }
.lt-finish-medal{ width:84px; height:84px; border-radius:50%; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; font-size:38px; color:#fff; background:var(--uj-hero); box-shadow:0 10px 24px rgba(16,30,54,.18); }
.lt-finish-medal.ok{ background:linear-gradient(135deg,#2fa36b,#1e7d50); }
.lt-finish .tm-folyamat{ text-align:left; margin:16px 0 12px; }
.tm-level{ padding:8px 0; border-bottom:1px solid #f0f3f7; }
.tm-level:last-child{ border-bottom:0; }
.tm-level-fej{ display:flex; align-items:center; gap:8px; font-size:13.5px; margin-bottom:2px; }
.tm-level-fej b{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--uj-ink); }
.tm-level-ic{ font-size:15px; }
.tm-level .lt-mini{ padding-left:26px; }
.tm-reszek{ border-top:1px dashed var(--uj-line); margin-top:12px; padding-top:10px; }
.tm-reszek-fej{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; font-size:13px; color:var(--uj-ink-soft); margin-bottom:8px; }
.tm-reszek-fej b{ color:var(--uj-ink); }
.tm-reszek-sor{ display:flex; flex-wrap:wrap; gap:5px; }
.tm-resz{ flex:1 1 26px; min-width:26px; max-width:60px; height:26px; border-radius:7px; background:var(--uj-line); color:var(--uj-ink-soft); font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.tm-resz.kesz{ background:var(--uj-ok); color:#fff; }
.tm-resz.aktiv{ background:#fff; color:var(--uj-accent); box-shadow:inset 0 0 0 2px var(--uj-accent); }
.lt-finish-medal.warn{ background:linear-gradient(135deg,#e0a82e,#e8602c); }
.lt-finish h3{ font-size:21px; margin:0 0 8px; color:var(--uj-ink); font-weight:700; }
.lt-finish p{ color:var(--uj-ink-soft); font-size:14px; margin:6px auto 14px; max-width:460px; }
.tm-alairas{ text-align:left; margin-top:18px; }
.tm-alairas h4{ font-size:16px; font-weight:700; margin:0 0 6px; color:var(--uj-ink); }
.tm-alairas canvas{ border:2px dashed #b9c6d6 !important; border-radius:12px; background:#fbfcfe; touch-action:none; }
.tm-alairas.hianyzik canvas{ border-color:var(--uj-bad) !important; background:#fff7f6; }
@media(max-width:560px){ .tm-alairas #sign-canvas{ height:260px !important; } }
.tm-alairas .torles{ display:inline-block; margin-top:6px; font-size:13px; color:var(--uj-ink-soft); cursor:pointer; text-decoration:underline; }

/* ---- Bejelentkezes ---- */
.tm-login{ min-height:100vh; background:var(--uj-bg); display:flex; align-items:flex-start; justify-content:center; padding:7vh 16px 60px; }
.tm-login-box{ width:100%; max-width:420px; }
.tm-login-card{ background:#fff; border:1px solid var(--uj-line); border-radius:18px; box-shadow:var(--uj-shadow); overflow:hidden; }
.tm-login-hero{ background:var(--uj-hero); color:#fff; text-align:center; padding:26px 22px 22px; }
.tm-login-hero img{ width:96px; height:auto; filter:drop-shadow(0 0 1px rgba(255,255,255,.55)) drop-shadow(0 8px 16px rgba(0,0,0,.25)); }
.tm-login-hero h1{ font-size:18px; margin:12px 0 0; color:#fff; font-weight:700; }
.tm-login-hero p{ margin:4px 0 0; opacity:.9; font-size:13px; }
.tm-login-form{ padding:22px 24px 20px; }
.tm-login-form label.tm-l{ display:block; font-size:12.5px; font-weight:600; color:var(--uj-ink-soft); margin-bottom:5px; }
.tm-login-form input[type=email], .tm-login-form input[type=password]{ width:100%; height:auto !important; padding:11px 12px !important; border:1.5px solid var(--uj-line) !important; border-radius:10px !important; box-shadow:none !important; font-size:14px !important; margin:0 0 14px !important; box-sizing:border-box !important; background:#fff; }
.tm-login-form input:focus{ border-color:var(--uj-brand-2) !important; outline:none; }
.tm-login-forgot{ text-align:right; margin:-6px 0 14px; font-size:13px; }
.tm-login-err{ background:var(--uj-badbg); color:var(--uj-bad); border-radius:10px; padding:9px 12px; font-size:13px; margin-bottom:14px; }
.tm-login-links{ display:flex; gap:12px; margin-top:14px; }
.tm-login-links a{ flex:1; background:#fff; border:1px solid var(--uj-line); border-radius:12px; padding:12px; font-size:13px; font-weight:600; color:var(--uj-brand); text-align:center; text-decoration:none; box-shadow:var(--uj-shadow-sm); }
.tm-login-links a:hover{ background:var(--uj-soft); }

@media(max-width:900px){ .lt-stats{grid-template-columns:repeat(2,1fr);} .lt-grid{grid-template-columns:1fr;} }
@media(max-width:460px){ .lt-stats{grid-template-columns:1fr 1fr; gap:10px;} .lt-table th, .lt-table td{ padding:9px 8px; font-size:12.5px; } }

/* =====================================================================
   2026-10-22: CSOMAGVALASZTAS ES FIZETES (csomag.blade.php), teszt csomag
   ===================================================================== */
.tm-csomagok{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:6px 0 4px; }
@media (max-width:760px){ .tm-csomagok{ grid-template-columns:1fr; } }
.tm-csomag-radio{ position:absolute !important; opacity:0 !important; pointer-events:none; }
.tm-csomag-radio + label.tm-csomag{ display:block; position:relative; height:auto; padding:18px 16px 16px !important; border:2px solid var(--uj-line); border-radius:14px; background:#fff; cursor:pointer; color:var(--uj-ink); font-size:14px; line-height:1.4; transition:border-color .15s, box-shadow .15s; }
.tm-csomag-radio + label.tm-csomag:before, .tm-csomag-radio + label.tm-csomag:after{ display:none !important; }
.tm-csomag-radio:checked + label.tm-csomag{ border-color:var(--uj-accent); box-shadow:0 0 0 4px #fdeee7; }
.tm-csomag-radio:focus-visible + label.tm-csomag{ outline:2px solid var(--uj-brand-2); outline-offset:2px; }
.tm-csomag .cs-nev{ display:block; font-weight:700; font-size:16px; }
.tm-csomag .cs-fo{ display:block; color:var(--uj-ink-soft); font-size:13px; margin-top:2px; }
.tm-csomag .cs-ar{ display:block; font-size:24px; font-weight:800; color:var(--uj-brand); margin-top:12px; }
.tm-csomag .cs-ar small{ font-size:13px; font-weight:600; color:var(--uj-ink-soft); }
.tm-csomag .cs-brutto{ display:block; font-size:12px; color:var(--uj-ink-soft); }
.tm-csomag .cs-jel{ position:absolute; top:10px; right:12px; }
.tm-urlap{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px 14px; }
.tm-urlap .m6{ grid-column:span 6; } .tm-urlap .m4{ grid-column:span 4; } .tm-urlap .m3{ grid-column:span 3; } .tm-urlap .m2{ grid-column:span 2; }
@media (max-width:760px){ .tm-urlap .m4, .tm-urlap .m3, .tm-urlap .m2{ grid-column:span 6; } }
.tm-urlap label.tm-l{ display:block; font-size:12.5px; font-weight:600; color:var(--uj-ink-soft); margin:8px 0 5px; }
.tm-urlap input[type=text], .tm-urlap input[type=email], .tm-urlap input[type=tel], .tm-urlap input[type=password], .tm-urlap textarea,
.tm-mezo{ width:100%; height:auto !important; padding:10px 12px !important; border:1.5px solid var(--uj-line) !important; border-radius:10px !important; box-shadow:none !important; font-size:14px !important; margin:0 !important; box-sizing:border-box !important; background:#fff; }
.tm-urlap input:focus, .tm-urlap textarea:focus, .tm-mezo:focus{ border-color:var(--uj-brand-2) !important; outline:none; }
.tm-urlap .tm-hiba, .tm-hiba{ color:var(--uj-bad); font-size:12.5px; margin-top:4px; }
.tm-osszesito{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; background:var(--uj-soft); border-radius:12px; margin:14px 0; }
.tm-osszesito b{ font-size:20px; color:var(--uj-brand); }
.tm-modal-hatter{ position:fixed; inset:0; background:rgba(16,30,54,.45); display:none; align-items:center; justify-content:center; z-index:2000; padding:16px; }
.tm-modal-hatter.nyitva{ display:flex; }
.tm-modal{ background:#fff; border-radius:16px; max-width:480px; width:100%; padding:22px 22px 18px; box-shadow:var(--uj-shadow); }
.tm-modal h4{ margin:0 0 10px; font-size:18px; font-weight:700; color:var(--uj-ink); }
.tm-modal .gombok{ display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:16px; }
.tm-teszt-sav{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }body.lt-top-mode .sb2-2.tm-savok, .sb2-2.tm-savok{ padding-bottom:0 !important; min-height:0 !important; }
.sb2-2.tm-savok + .sb2-2, .sb2-2.tm-savok + div .sb2-2{ padding-top:0 !important; }

/* 2026-10-22: "Csomagod" doboz a cegvezeto kezdolapjanak tetejen (csomag-doboz.blade.php) */
.tm-csomagdoboz{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; background:#fff; border:1px solid var(--uj-line); border-left:6px solid var(--uj-ok); border-radius:16px; box-shadow:var(--uj-shadow); padding:16px 20px; margin:0 0 16px; }
.tm-csomagdoboz.warn{ border-left-color:#e0a82e; background:linear-gradient(90deg,#fffaf0,#fff 40%); }
.tm-csomagdoboz.bad{ border-left-color:var(--uj-bad); background:linear-gradient(90deg,#fff3f1,#fff 40%); }
.tm-csomagdoboz.info{ border-left-color:var(--uj-brand-2); }
.tm-cd-elem{ display:flex; flex-direction:column; gap:2px; min-width:150px; }
.tm-cd-cimke{ font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--uj-ink-soft); }
.tm-cd-ertek{ font-size:20px; font-weight:800; color:var(--uj-ink); line-height:1.2; }
.tm-csomagdoboz.warn .tm-cd-licenc .tm-cd-ertek{ color:#b7791f; }
.tm-csomagdoboz.bad .tm-cd-licenc .tm-cd-ertek{ color:var(--uj-bad); }
.tm-cd-sav{ display:block; width:150px; height:7px; background:var(--uj-line); border-radius:999px; overflow:hidden; margin-top:5px; }
.tm-cd-sav i{ display:block; height:100%; background:var(--uj-brand-2); border-radius:999px; }
.tm-cd-gomb{ margin-left:auto; }
@media (max-width:700px){ .tm-cd-gomb{ margin-left:0; width:100%; } .tm-cd-gomb .lt-btn{ width:100%; } }