/* Fermag Platform – Tejautomata (FERMAT) modul (7-fermat.js) */
.fm-late{color:var(--danger);font-weight:700}
.fm-soon{color:#B7860B;font-weight:700}
:root[data-theme="dark"] .fm-soon{color:var(--gold)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .fm-soon{color:var(--gold)} }
.fm-sm{font-size:11.5px}
.badge.red{background:var(--danger-bg);color:var(--danger)}
.badge.mint{background:var(--mint-light);color:var(--forest)}
.linkbtn{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-align:left}
.linkbtn:hover{text-decoration:underline}

/* gyártási tábla */
.fm-board{grid-auto-columns:minmax(232px,1fr)}
.fm-card{border-left-color:var(--gold)}
.fm-card .tt{font-size:14px;font-weight:600}
.fm-card .warnline svg,.fm-onway svg{width:13px;height:13px;vertical-align:-2px}
.fm-onway{font-size:12px;font-weight:600;color:#B7860B;line-height:1.35}
.fm-backbtn{justify-self:start;display:inline-flex;align-items:center;gap:4px}
.fm-backbtn svg{width:16px;height:16px}

/* táblázatok */
.fm-tbl{width:100%;border-collapse:collapse;font-size:14px}
.fm-tbl th{text-align:left;font-family:var(--f-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.fm-tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.fm-tbl .num{text-align:right}
.fm-row{cursor:pointer;transition:background .12s}
.fm-row:hover,.fm-row:focus-visible{background:var(--tint-2);outline:none}
.fm-warnbox{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* hibajegyek */
.fm-tks{display:grid;gap:10px}
.fm-tk{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:grid;gap:6px;background:var(--surface)}
.fm-tk.urgent{border-color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}
.fm-tk p{margin:0}
.fm-photo{max-width:220px;max-height:160px;border-radius:var(--r-sm);border:1px solid var(--line);object-fit:cover}
.fm-photo.sm{max-width:96px;max-height:72px}

/* gépútlevél */
.mono-h{font-family:var(--f-mono)!important;letter-spacing:.02em}
.fm-tab{display:grid;gap:14px}
.fm-steps{display:grid;gap:12px}
.fm-step h3{display:flex;align-items:center;gap:10px;margin:0}
.fm-num{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;background:var(--surface-2);color:var(--muted);flex:none}
.fm-num svg{width:15px;height:15px}
.fm-step.done .fm-num{background:var(--mint);color:#fff}
.fm-step.cur{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-light)}
.fm-step.cur .fm-num{background:var(--gold);color:#122D1E}
.fm-step.todo{opacity:.62;padding-block:12px}
.fm-chk{display:grid;gap:2px}
.fm-ci{display:flex;gap:10px;align-items:flex-start;padding:7px 4px;border-radius:var(--r-sm);cursor:pointer}
.fm-ci:hover{background:var(--tint-2)}
.fm-ci input{width:18px;height:18px;margin-top:2px;accent-color:var(--forest);flex:none}
.fm-ci span{display:grid;gap:1px}
.fm-ci.on>span{color:var(--muted)}
.fm-ci .hint{font-size:11.5px}
.fm-tele .spread h3{display:flex;align-items:center;gap:6px;margin:0}
.fm-tele h3 svg{width:18px;height:18px}
.fm-tele.hot{border-color:var(--danger);background:linear-gradient(0deg,var(--danger-bg),var(--surface) 70%)}
.fm-tele .pulse{display:inline-block;width:8px;height:8px;border-radius:99px;background:var(--mint);box-shadow:0 0 0 0 rgba(45,189,110,.6);animation:fmpulse 1.8s infinite;margin-right:4px}
.fm-tele.hot .pulse{background:var(--danger)}
@keyframes fmpulse{0%{box-shadow:0 0 0 0 rgba(45,189,110,.55)}70%{box-shadow:0 0 0 8px rgba(45,189,110,0)}100%{box-shadow:0 0 0 0 rgba(45,189,110,0)}}
.fm-tele-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.fm-tele-g>div{display:grid;gap:3px}
.fm-tele-g .label{font-family:var(--f-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.fm-tele-g b{font-family:var(--f-mono);font-size:24px;font-weight:500}
.fm-qrpanel{grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start}
.fm-qrbox{background:#fff;border-radius:var(--r-md);padding:8px;border:1px solid var(--line);line-height:0}
.fm-qrpanel p{margin:0}
.fm-url{font-size:12px;word-break:break-all;color:var(--muted)}
.fm-noqr{font-size:13px;color:var(--muted);line-height:1.4;padding:10px;max-width:200px}

/* QR-matrica */
.fm-label-prev{display:flex;justify-content:center;background:var(--surface-2);border-radius:var(--r-md);padding:18px}
.fm-label{width:86mm;height:50mm;box-sizing:border-box;background:#fff;color:#122D1E;border:1.5px solid #122D1E;border-radius:3mm;display:grid;grid-template-columns:42mm minmax(0,1fr);gap:3mm;padding:3mm;align-items:center;font-family:var(--f-body)}
.fm-label-q svg{width:40mm;height:40mm;display:block}
.fm-label-t{display:grid;gap:1mm;font-size:9pt;line-height:1.15}
.fm-label-brand{font-weight:800;letter-spacing:.14em;font-size:13pt;color:#1B4D31;border-bottom:1mm solid #F6BA1A;padding-bottom:1mm;margin-bottom:1mm}
.fm-label-t b{font-size:12pt;color:#122D1E}
.fm-label-cta{font-weight:700;font-size:8pt;margin-top:1mm}
.fm-label-t .mono{font-size:9pt}
#fmPrint{display:none}
@media print{
  body.fm-printing>*:not(#fmPrint){display:none!important}
  body.fm-printing #fmPrint{display:block}
  .fm-sheet{display:grid;grid-template-columns:repeat(2,86mm);gap:6mm;padding:8mm}
  .fm-label{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* nyilvános QR-oldal */
.fm-pub{align-items:start}
.fm-pub-wrap{position:relative;z-index:1;width:100%;max-width:460px;display:grid;gap:14px}
.fm-pub-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fm-pub-brand{font-weight:800;letter-spacing:.18em;font-size:22px;color:#fff;border-bottom:3px solid #F6BA1A;padding-bottom:2px}
.fm-lang{display:flex;border:1px solid rgba(255,255,255,.2);border-radius:999px;overflow:hidden}
.fm-lang button{border:0;background:transparent;color:rgba(255,255,255,.75);padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.fm-lang button[aria-pressed="true"]{background:#F6BA1A;color:#122D1E}
.fm-kinds{display:flex;flex-wrap:wrap;gap:6px}
.fm-kinds .chip{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:var(--r-sm);padding:9px 12px;font:inherit;font-size:14px;cursor:pointer}
.fm-kinds .chip[aria-pressed="true"]{background:#2DBD6E;border-color:#2DBD6E;color:#0A1A11;font-weight:700}
.fm-pub textarea.input{resize:vertical}
.fm-ci-dark{color:#fff}
.fm-ci-dark:hover{background:rgba(255,255,255,.05)}
.fm-pub-ok{width:56px;height:56px;border-radius:99px;background:#2DBD6E;color:#0A1A11;display:grid;place-items:center}
.fm-pub-ok svg{width:30px;height:30px}
.fm-pub-foot{color:rgba(255,255,255,.5)!important;text-align:center;font-size:12px}
.fm-pub-link{color:#6EE8A8;justify-self:center}

@media (max-width: 820px){
  .fm-qrpanel{grid-template-columns:minmax(0,1fr);justify-items:start}
  .fm-tbl{font-size:13px}
  .fm-tbl th,.fm-tbl td{padding:9px 8px}
  .fm-label-prev{padding:10px;overflow-x:auto;justify-content:flex-start}
}
