/* ============ Admin felület – kiegészítő stílusok ============ */
/* A meglévő stílus.css változóit (--navy, --muted, --green, --red stb.) és */
/* alap osztályait (.btn, .callout, .section-label, .container) használjuk, */
/* csak az itt szereplő .adm- előtagú osztályok újak. */

.adm-wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 26px 22px 80px;
}

.adm-headrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.adm-title {
  font-family: var(--font-hand);
  font-size: 34px;
  color: var(--navy);
}

/* ---------- fülek ---------- */
.adm-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-bottom: 2px solid var(--border);
  margin-bottom: 18px;
}

.adm-tab {
  border: none;
  background: transparent;
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 15px;
  color: var(--muted);
  padding: 10px 16px;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: color 0.15s, border-color 0.15s;
}
.adm-tab:hover { color: var(--sky-dark); }
.adm-tab.active { color: var(--navy); border-bottom-color: var(--sky); }

.adm-count {
  color: var(--orange-dark);
  font-weight: 800;
}

.adm-body { min-height: 200px; }

/* ---------- eszköztár (kereső, szűrő) ---------- */
.adm-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.adm-input {
  font-family: var(--font-body);
  font-size: 14.5px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}
.adm-input:focus { outline: 2px solid var(--sky); outline-offset: 1px; }
input[type=search].adm-input { min-width: 220px; flex: 1 1 220px; }
select.adm-input { min-width: 170px; }

/* ---------- összesítő sor ---------- */
.adm-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-bottom: 12px;
  font-size: 14.5px;
  color: var(--muted);
  font-weight: 700;
}
.adm-summary b { color: var(--navy); font-size: 16px; }

/* ---------- táblázat ---------- */
.adm-table-scroll {
  overflow-x: auto;
  border-radius: 10px;
  box-shadow: var(--shadow);
}
.adm-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 760px;
  background: #fff;
  font-size: 14.5px;
}
.adm-table th {
  background: var(--navy);
  color: #fff;
  text-align: left;
  padding: 9px 12px;
  font-size: 13px;
  white-space: nowrap;
}
.adm-table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.adm-table tr:nth-child(even) td { background: #f8fafc; }
.adm-table tr:hover td { background: var(--sky-light); }

.adm-empty {
  text-align: center;
  color: var(--muted);
  font-weight: 700;
  padding: 22px 10px !important;
}
.adm-loading { color: var(--muted); font-weight: 700; padding: 20px 0; text-align: center; }

.adm-muted { color: var(--muted); }
.adm-ok { color: var(--green); font-weight: 800; }
.adm-bad { color: var(--red); font-weight: 800; }
.adm-mono {
  font-family: 'Courier New', Consolas, monospace;
  font-size: 12.5px;
  color: var(--muted);
  white-space: nowrap;
}

/* ---------- jelvények (badge) ---------- */
.adm-badge {
  display: inline-block;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  padding: 3px 10px;
  white-space: nowrap;
}
.adm-badge-ok { background: #f0fdf4; color: var(--green); border: 1px solid #bbf7d0; }
.adm-badge-off { background: #f1f5f9; color: var(--muted); border: 1px solid var(--border); }
.adm-badge-warn { background: #fff7ed; color: var(--orange-dark); border: 1px solid #fed7aa; }
.adm-badge-bad { background: #fef2f2; color: var(--red); border: 1px solid #fecaca; cursor: help; }

/* ---------- műveletoszlop, visszajelzés ---------- */
.adm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}
.adm-invoice-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.adm-row-flash { display: inline-flex; }
.adm-flash-ok {
  color: var(--green);
  font-weight: 800;
  font-size: 13px;
  white-space: nowrap;
  animation: adm-fadein 0.2s ease;
}
@keyframes adm-fadein { from { opacity: 0; } to { opacity: 1; } }

.adm-inline-error { margin-bottom: 12px; }
.callout.adm-error { background: #fef2f2; border-color: #fecaca; color: #7f1d1d; }
.callout.adm-error .co-title { color: var(--red); }

/* ---------- megjegyzés-kártyák ---------- */
.adm-comment {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px 18px;
  margin-bottom: 14px;
}
.adm-comment-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.adm-comment-author { font-weight: 800; color: var(--navy); }
.adm-comment-date { color: var(--muted); font-size: 13px; }
.adm-comment-meta { color: var(--muted); font-size: 13.5px; margin-bottom: 8px; }
.adm-comment-meta a { color: var(--sky-dark); }
.adm-comment-text {
  font-size: 15px;
  white-space: pre-wrap;
  background: #f8fafc;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 10px;
}
.adm-comment-reply {
  width: 100%;
  min-height: 64px;
  resize: vertical;
  margin-bottom: 10px;
}
.adm-comment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

/* ---------- beállítások űrlap ---------- */
.adm-form {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 560px;
  margin-bottom: 26px;
}
.adm-field { display: flex; flex-direction: column; gap: 5px; }
.adm-field span { font-weight: 800; font-size: 13.5px; color: var(--navy); }
.adm-field input[type=text],
.adm-field input[type=number],
.adm-field textarea {
  font-family: var(--font-body);
  font-size: 15px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  border-radius: 8px;
}
.adm-field textarea { resize: vertical; min-height: 70px; }
.adm-field-checkbox { flex-direction: row; align-items: center; gap: 8px; }
.adm-field-checkbox span { font-weight: 700; }

.adm-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.adm-integrations {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 20px;
  max-width: 560px;
}
.adm-section-title {
  font-family: var(--font-hand);
  font-size: 24px;
  color: var(--navy);
  margin-bottom: 10px;
}
.adm-status-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14.5px;
  margin-bottom: 14px;
}
.adm-status-grid .adm-mono { display: block; margin-top: 3px; word-break: break-all; }

/* ---------- reszponzív ---------- */
@media (max-width: 640px) {
  .adm-wrap { padding: 18px 14px 60px; }
  .adm-title { font-size: 28px; }
  .adm-toolbar { flex-direction: column; align-items: stretch; }
  input[type=search].adm-input, select.adm-input { min-width: 0; width: 100%; }
  .adm-form, .adm-integrations { max-width: 100%; }
}
