/* =====================================================================
   Paczka 190 -- skaner adresu MAC z etykiety.

   Ekran na caly telefon, bo skanuje sie w ruchu, jedna reka, czesto
   w rekawicy. Wszystko, co da sie nacisnac, ma co najmniej 48 px
   wysokosci i stoi NA DOLE, w zasiegu kciuka -- nie przy gornej
   krawedzi, gdzie trzeba przelozyc telefon.
   ===================================================================== */

body.macScannerOpen{overflow:hidden}

.macScanner{
  position:fixed;inset:0;z-index:2147483000;
  background:#000;color:#fff;
  display:flex;flex-direction:column;justify-content:flex-end;
  /* Wciecia iPhone'a: bez tego przycisk Anuluj chowa sie pod paskiem. */
  padding:0 0 calc(16px + env(safe-area-inset-bottom,0px));
}

.macScannerVideo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;background:#000;
}
.macScanner.noCamera .macScannerVideo,
.macScanner.noCamera .macScannerFrame{display:none}

/* Ramka celownika. Sam prostokat, bez ozdob: ma powiedziec "tu trzymaj
   kod", a nie przyciagac wzrok. */
.macScannerFrame{
  position:absolute;left:8%;right:8%;top:50%;transform:translateY(-50%);
  height:34vh;min-height:150px;
  border:2px solid rgba(255,255,255,.9);border-radius:14px;
  box-shadow:0 0 0 100vmax rgba(0,0,0,.45);
  pointer-events:none;
}

.macScannerHead{
  position:absolute;left:0;right:0;top:0;
  padding:calc(14px + env(safe-area-inset-top,0px)) 18px 14px;
  display:grid;gap:4px;
  background:linear-gradient(#000c,#0000);
}
.macScannerHead strong{font-size:17px}
.macScannerHead span{font-size:13px;color:#e2e8f0}

.macScannerStatus{
  position:relative;margin:0 16px 12px;
  background:rgba(17,24,39,.9);border-radius:12px;
  padding:11px 14px;font-size:14px;line-height:1.35;
  min-height:20px;
}
/* Odczytana wartosc stoi w osobnym elemencie -- staly napis obok niej
   przechodzi przez warstwe tlumaczen, sam adres nie. */
.macScannerValue{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.06em;
}
.macScannerValue:not(:empty){display:block;margin-top:3px;font-size:16px}
.macScannerStatus.ok{background:#166534}
.macScannerStatus.warn{background:#92400e}

.macScannerActions{
  position:relative;display:flex;gap:10px;padding:0 16px;
}
.macScannerActions>*{
  flex:1 1 0;min-height:52px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  border-radius:12px;border:0;font:inherit;font-weight:700;font-size:15px;
  cursor:pointer;
}
.macScannerPhoto{background:#e5e7eb;color:#111827}
.macScannerPhoto input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.macScannerCancel{background:rgba(255,255,255,.18);color:#fff}
.macScannerTorch{flex:0 0 76px;background:rgba(255,255,255,.18);color:#fff}
.macScannerTorch.on{background:#facc15;color:#111827}

/* Bez kamery zostaje samo zdjecie -- wtedy ekran nie udaje podgladu. */
.macScanner.noCamera{justify-content:center;background:#111827}

/* =====================================================================
   Pole adresu MAC w oknie zgloszenia u Workera.
   ===================================================================== */
.macField{display:grid;gap:8px;margin-top:4px}
/* Paczka 197: ".macField{display:grid}" przebijal atrybut hidden --
   regula autora wygrywa z domyslnym [hidden]{display:none} przegladarki.
   Skutek: pole adresu MAC moglo stac w oknie zgloszenia przy KAZDYM
   punkcie, a nie tylko przy WAP/telefonie z etapem Installed -- chyba ze
   akurat ktorys inny arkusz na stronie mial globalne [hidden] z !important.
   Nie opieramy sie na tym "chyba": pole ma sie chowac samo. Wazne tym
   bardziej przy zgloszeniu wielu punktow, gdzie adresu MAC byc nie moze. */
.macField[hidden]{display:none!important}
.macFieldRow{display:flex;gap:8px}
.macFieldRow input{
  flex:1 1 auto;min-width:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;
  text-transform:uppercase;
}
.macScanButton{
  flex:0 0 auto;min-height:44px;padding:0 16px;
  border:0;border-radius:10px;background:#111827;color:#fff;
  font:inherit;font-weight:700;cursor:pointer;
}
.macScanButton:disabled{opacity:.5;cursor:default}
.macFieldHint{margin:0;font-size:12px;color:#64748b;min-height:16px}
.macFieldHint.ok{color:#166534}
.macFieldHint.warn{color:#b45309}
