.charger-inventory-list{margin:0 0 26px;padding:22px;border:1px solid var(--hairline);border-radius:17px;background:var(--surface);box-shadow:0 10px 28px rgba(45,64,120,.05)}.inventory-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.inventory-heading h2{margin:2px 0 0;font-size:20px;color:var(--ink)}.inventory-heading>span{padding:7px 10px;border-radius:99px;background:var(--accent-tint);color:var(--accent-ink);font-size:12px;font-weight:800}.inventory-table{border:1px solid var(--hairline);border-radius:12px;overflow:hidden}.inventory-row{display:grid;grid-template-columns:1.5fr 1fr 1fr .62fr 1.2fr .72fr minmax(310px,1.65fr);gap:14px;align-items:center;padding:14px 15px;border-top:1px solid var(--hairline-2);font-size:13px}.inventory-row:first-child{border-top:0}.inventory-head{padding-block:10px;background:var(--surface-3);color:var(--ink-3);font-size:11px;font-weight:800;text-transform:uppercase}.inventory-row b,.inventory-row small{display:block}.inventory-row b{color:var(--ink)}.inventory-row small{margin-top:4px;color:var(--ink-3);font-size:11px}.inventory-status.online{color:var(--ok-ink)}.inventory-status.offline{color:var(--bad-ink)}.inventory-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:7px}.inventory-actions button{border:1px solid var(--hairline);border-radius:9px;background:var(--ground);color:var(--accent-ink);padding:7px 10px;font:700 12px Inter,Arial,sans-serif;cursor:pointer}.inventory-actions button:hover{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.inventory-actions button.danger{border-color:var(--bad);background:var(--ground);color:var(--bad-ink)}.inventory-actions button.danger:hover{background:var(--bad-tint)}@media(max-width:1250px){.inventory-table{border:0;overflow:visible}.inventory-head{display:none}.inventory-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px;border:1px solid var(--hairline);border-radius:12px}.inventory-actions{grid-column:1/-1;justify-content:flex-start}}@media(max-width:600px){.inventory-row{grid-template-columns:1fr}.inventory-actions{grid-column:auto}.inventory-heading{gap:10px;flex-direction:column}}
.charger-edit-dialog{width:min(700px,calc(100vw - 32px));padding:0;border:0;border-radius:18px;box-shadow:0 24px 70px rgba(13,28,53,.32)}.charger-edit-dialog::backdrop{background:rgba(18,39,61,.58)}.charger-edit-dialog form{position:relative;padding:28px}.charger-edit-dialog h2{margin:3px 0 8px;color:var(--ink)}.dialog-subtitle{margin:0 0 20px;color:var(--ink-3);font-size:13px}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:var(--ink-3);font-size:27px;cursor:pointer}.charger-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}/* A betutipus ugyanaz, mint a tobbi parbeszedablakban (`.form-grid label`):
   700-as cimke es NORMAL sulyu mezoertek. Sajat 800/600 parossal ez az ablak
   feltunoen nehezebb volt a tobbinel - ugyanaz az urlap ketfele hangon. */
.charger-edit-fields label{display:grid;gap:6px;color:var(--ink-2);font-size:12px;font-weight:700}.charger-edit-fields input,.charger-edit-fields select{min-width:0;border:1px solid var(--hairline);border-radius:9px;padding:10px;background:var(--surface);color:var(--ink);font:inherit}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions button{padding:10px 15px;border:0;border-radius:9px;font-weight:700;cursor:pointer}.dialog-actions .primary{background:var(--accent);color:var(--accent-contrast)}.dialog-actions .secondary{background:var(--hairline-2);color:var(--ink-2)}@media(max-width:600px){.charger-edit-fields{grid-template-columns:1fr}.charger-edit-dialog form{padding:22px}}
.charger-configuration-dialog{width:min(1120px,calc(100vw - 32px));max-height:88vh;padding:0;border:0;border-radius:18px;box-shadow:0 24px 70px rgba(13,28,53,.32)}.charger-configuration-dialog::backdrop{background:rgba(18,39,61,.58)}.charger-configuration-dialog form{position:relative;padding:28px;overflow:auto;max-height:88vh}.charger-configuration-dialog h2{margin:3px 0 8px;color:var(--ink)}.configuration-table{border:1px solid var(--hairline);border-radius:10px;overflow:auto}.configuration-table table{width:100%;border-collapse:collapse;font-size:13px}.configuration-table th,.configuration-table td{padding:10px 12px;border-bottom:1px solid var(--hairline);text-align:left}.configuration-table th{background:var(--surface-3);color:var(--ink-2);font-size:11px;text-transform:uppercase}.configuration-table input{width:100%;min-width:240px;padding:8px;border:1px solid var(--hairline);border-radius:7px}.configuration-table button{border:0;border-radius:7px;background:#0ba8a4;color:#fff;padding:8px 10px;font-weight:800;cursor:pointer}.configuration-loading{min-height:60px;color:var(--ink-2)}.config-error{color:var(--bad-ink);font-weight:700}
.delivery-select{display:grid;gap:7px;color:var(--ink-2);font-size:12px;font-weight:700}.delivery-select select{border:1px solid var(--hairline);border-radius:9px;padding:10px;background:var(--surface);color:var(--ink);font:inherit}
/* Az oldal a nyilvántartás + párbeszédablakok logikára épült át, ezért a régi
   OCPP-konfigurációs blokk rejtve marad. A CSATLAKOZÓTÁBLÁZAT viszont nem: a
   fázisbekötés rögzítésének és a mért fázistérkép megjelenítésének ez az egyetlen
   felülete - elrejtve mindkettőnek nem volt hova kikerülnie. */
#chargers-page>.section-title:not(#connector-title),
#chargers-page>.section-help:not(#connector-help),
#chargers-page>.config-table:not(#connector-section){display:none}
/* A sávból csak a töltőválasztó kell: a konfiguráció-lekérés és a naplóexport a
   sor műveleti menüjében él, itt csak megkettőzné őket. */
#chargers-page>.toolbar>#load-config,
#chargers-page>.toolbar>#export-debug-log,
#chargers-page>.toolbar>#export-raw-log,
#chargers-page>.toolbar>#config-count{display:none}

/* A lekérdezés eltarthat, ezért a várakozás megmondja, mire várunk. */
.configuration-loading small{display:block;margin-top:6px;color:var(--ink-3);font-size:11.5px;line-height:1.45;max-width:520px}
.configuration-note{margin:0 0 12px;padding:9px 11px;border-radius:9px;background:var(--warn-tint);color:var(--warn-ink);font-size:12px;line-height:1.45}

.configuration-note.is-stale{background:var(--bad-tint);color:var(--bad-ink)}
.configuration-table.is-stale{opacity:.82}

.configuration-retry{margin-left:8px;border:1px solid var(--bad);border-radius:999px;background:var(--surface);color:var(--bad-ink);font:700 11.5px Inter,system-ui,sans-serif;padding:5px 12px;cursor:pointer}
.configuration-retry:hover{background:var(--bad);color:var(--accent-contrast)}

/* A berendezés-adatlap magyarázósora: megmondja, mikor lép egyáltalán érvénybe,
   hogy senki ne itt keresse a terheléskezelés tényleges bemenetét. */
.dialog-hint{margin:14px 0 0;padding:9px 11px;border-radius:9px;background:var(--ground);color:var(--ink-2);font-size:11.5px;line-height:1.5}

/* A hosszú párbeszédablak jobb sarkai is legyenek lekerekítve.

   A `dialog` alapból maga görget, ha nem fér ki - és a Windows-os görgetősáv a
   keretdobozba rajzolódik, NEM követi a 18 px-es lekerekítést. Emiatt a
   "Hőszivattyú és fűtőpatron" ablak jobb felső és alsó sarka szögletesnek
   látszott, a bal kettő kereknek: egy ablak, kétféle sarok.

   A görgetés ezért az űrlapra kerül, az ablak pedig vág: a sáv így a
   lekerekített dobozon BELÜL fut. A magasság ugyanaz, amit a böngésző adna
   (`calc(100% - 6px - 2em)`), csak most az űrlapra írjuk. */
.charger-edit-dialog { overflow: hidden; }
.charger-edit-dialog form { max-height: calc(100dvh - 2em - 6px); overflow-y: auto; }
/* Atadas az ugyfelnek: a jelszo EGYSZER lathato, ezert olvashato tablaban all. */
.handover-table{width:100%;border-collapse:collapse;margin:0 0 4px;font-size:13px}
.handover-table td{padding:8px 0;border-bottom:1px solid var(--hairline-2);vertical-align:top}
.handover-table td:first-child{width:38%;color:var(--ink-2);font-weight:700}
.handover-table code{font:700 13px/1.4 ui-monospace,Consolas,monospace;color:var(--accent-ink);word-break:break-all}
.handover-sent{margin:0 0 14px;padding:10px 12px;border-radius:9px;background:var(--ok-tint);color:var(--ok-ink);font-size:13px;font-weight:650}
.handover-warn{margin:0 0 14px;padding:10px 12px;border-radius:9px;background:var(--warn-tint);color:var(--warn-ink);font-size:13px;font-weight:650}
/* OCPP-jelszo a raktari sorban: olvashato, masolhato, es nem tori a sort. */
.inv-login{white-space:nowrap}
.inv-secret{font:700 12.5px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.04em;color:var(--accent-ink);background:var(--accent-tint);padding:3px 7px;border-radius:6px}
.inv-copy{margin-left:7px;border:1px solid var(--hairline);border-radius:7px;background:var(--surface);color:var(--ink-2);font:700 11px Inter,system-ui,sans-serif;padding:4px 8px;cursor:pointer}
.inv-copy:hover{background:var(--surface-3);color:var(--ink)}
.inv-login small{display:block;margin-top:4px;color:var(--ink-3);font-size:11px}
.handover-mail{display:block;margin:16px 0 0;font-size:12px;font-weight:700;color:var(--ink-2)}
.handover-mail>span{display:flex;gap:8px;margin-top:6px}
.handover-mail input{flex:1;min-width:0;border:1px solid var(--hairline);border-radius:9px;padding:10px;background:var(--surface);color:var(--ink);font:inherit}
.handover-mail button{border:0;border-radius:9px;padding:10px 15px;font-weight:700;cursor:pointer;background:var(--hairline-2);color:var(--ink-2);white-space:nowrap}
.handover-mail small{display:block;margin-top:6px;color:var(--ink-3);font-weight:400;font-size:11.5px;line-height:1.45}
/* Az OCPP-cim es a visszajelzes a lista fejleceben - ablak helyett. */
.inventory-ocpp{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:12px;color:var(--ink-2)}
.inventory-ocpp code{font:700 12.5px/1.4 ui-monospace,Consolas,monospace;color:var(--ink);background:var(--surface-3);padding:5px 9px;border-radius:7px;word-break:break-all}
.inventory-ocpp small{flex-basis:100%;color:var(--ink-3);font-size:11.5px}
.inventory-note{margin:0 0 12px;padding:9px 12px;border-radius:9px;font-size:12.5px;font-weight:650;background:var(--surface-3);color:var(--ink-2)}
.inventory-note.ok{background:var(--ok-tint);color:var(--ok-ink)}
.inventory-note.warn{background:var(--warn-tint);color:var(--warn-ink)}
.inventory-note.error{background:var(--bad-tint);color:var(--bad-ink)}
