/* A91 Admin · Operations dashboard — denser tables, badges, label print */

/* Reusa muito do portal-styles.css. Adiciona ajustes para densidade admin. */

.p-page-title.admin {
  font-size: 22px;
}

/* Sidebar com header diferente para admin */
.p-sidebar.admin .p-logo {
  background: linear-gradient(135deg, #C9A24A 0%, #6B4F12 100%);
  color: #07100B;
}
.p-theme-light .p-sidebar.admin .p-logo {
  background: linear-gradient(135deg, #D49A2F 0%, #B47C1A 100%);
  color: #FFFFFF;
}

/* Compact KPI variant */
.p-kpi-compact {
  padding: 14px 16px;
}
.p-kpi-compact .p-kpi-value {
  font-size: 24px;
}

/* Inventory grid header */
.adm-section {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fg-3);
  margin-bottom: 10px;
}

/* Status dots / badges for device statuses */
.adm-st {
  display: inline-flex; align-items: center; gap: 6px;
  height: 22px; padding: 0 10px;
  border-radius: 999px;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.adm-st::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: currentColor;
}
.adm-st.active     { background: rgba(168, 226, 126, 0.12); color: var(--green-neon); border: 1px solid rgba(168, 226, 126, 0.25); }
.adm-st.stock      { background: rgba(91, 180, 232, 0.10); color: var(--vital-o2); border: 1px solid rgba(91, 180, 232, 0.25); }
.adm-st.maintenance{ background: rgba(232, 184, 90, 0.10); color: var(--vital-temp); border: 1px solid rgba(232, 184, 90, 0.25); }
.adm-st.returning  { background: rgba(148, 118, 232, 0.10); color: var(--vital-sleep); border: 1px solid rgba(148, 118, 232, 0.25); }
.adm-st.trial      { background: rgba(232, 184, 90, 0.10); color: var(--vital-temp); border: 1px solid rgba(232, 184, 90, 0.25); }
.adm-st.at-risk    { background: rgba(232, 74, 95, 0.10); color: var(--vital-heart); border: 1px solid rgba(232, 74, 95, 0.25); }

/* Dense table — admin look */
.adm-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.adm-table th {
  text-align: left; padding: 9px 12px;
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--fg-3);
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.012);
}
.p-theme-light .adm-table th { background: rgba(20,30,18,0.02); }
.adm-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--p-divider);
  color: var(--fg-1);
  vertical-align: middle;
}
.adm-table tbody tr {
  transition: background 0.12s;
  cursor: pointer;
}
.adm-table tbody tr:hover { background: var(--p-table-row-hover); }
.adm-table tbody tr:hover td { color: var(--fg-0); }
.adm-table .mono {
  font-family: 'ui-monospace', 'SF Mono', 'JetBrains Mono', monospace;
  font-size: 11.5px; color: var(--fg-1);
}
.p-theme-light .adm-table .mono { color: var(--fg-0); }

/* Severity dot for ops alerts */
.adm-sev {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.adm-sev.high { background: var(--vital-heart); box-shadow: 0 0 6px rgba(232,74,95,0.5); }
.adm-sev.med  { background: var(--vital-temp); }
.adm-sev.low  { background: var(--vital-o2); }

/* Equipment label preview (printable) */
.adm-label {
  width: 320px; height: 200px;
  background: #FFFFFF;
  color: #07100B;
  border-radius: 14px;
  padding: 16px 18px;
  position: relative;
  font-family: 'Inter', sans-serif;
  box-shadow: 0 12px 32px rgba(0,0,0,0.4);
}
.adm-label .lbl-logo {
  font-size: 24px; font-weight: 800;
  letter-spacing: -0.04em;
  color: #2E5824;
}
.adm-label .lbl-kind {
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: #6B7568;
}
.adm-label .lbl-serial {
  font-family: 'ui-monospace', 'SF Mono', monospace;
  font-size: 13px; font-weight: 700;
  color: #07100B;
  margin-top: 4px;
}
.adm-label .lbl-qr {
  position: absolute; right: 16px; bottom: 14px;
  width: 80px; height: 80px;
  background: #FFFFFF; border: 1px solid #07100B;
  display: grid; grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 1fr);
  gap: 1px; padding: 4px;
}
.adm-label .lbl-qr i {
  background: #07100B;
}

/* Print rules — when printing only the .adm-print-only target shows */
@media print {
  body * { visibility: hidden; }
  .adm-print-only, .adm-print-only * { visibility: visible; }
  .adm-print-only {
    position: absolute; left: 0; top: 0;
    width: 100%; padding: 12mm;
    background: #FFFFFF;
  }
  .adm-print-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 10mm;
  }
  .adm-label {
    width: 100%; height: 200px;
    box-shadow: 0 0 0 1px #07100B;
    page-break-inside: avoid;
  }
}

/* Mini bar chart for MRR */
.adm-bars {
  display: flex; align-items: flex-end; gap: 4px;
  height: 80px;
}
.adm-bars > b {
  flex: 1;
  background: linear-gradient(180deg, var(--green-neon) 0%, var(--green) 100%);
  border-radius: 4px 4px 0 0;
  min-height: 4px;
  position: relative;
}
.adm-bars > b::after {
  content: attr(data-v);
  position: absolute;
  top: -16px; left: 50%; transform: translateX(-50%);
  font-size: 9px; font-weight: 700;
  color: var(--fg-3); letter-spacing: 0.04em;
  white-space: nowrap; opacity: 0;
  transition: opacity 0.15s;
}
.adm-bars > b:hover::after { opacity: 1; }
.p-theme-light .adm-bars > b {
  background: linear-gradient(180deg, var(--green) 0%, var(--green-deep) 100%);
}

/* Search input inside filters bar */
.adm-search {
  display: flex; align-items: center; gap: 8px;
  height: 34px; padding: 0 12px;
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border);
  flex: 1; max-width: 260px;
}
.adm-search input {
  flex: 1; background: transparent; border: 0; outline: 0;
  color: var(--fg-0); font-size: 12.5px; font-family: inherit;
}
.adm-search input::placeholder { color: var(--fg-3); }
.p-theme-light .adm-search {
  background: rgba(20,30,18,0.04);
  border-color: rgba(20,30,18,0.1);
}

/* Avatar list inline */
.adm-avs {
  display: inline-flex;
}
.adm-avs > * + * { margin-left: -8px; }
.adm-avs > * {
  border: 2px solid var(--bg-0);
}
.p-theme-light .adm-avs > * { border-color: #FFFFFF; }
