@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/* TIGER GDPR RMM - base theme inspired by Ninja RMM */
:root {
  --bg: #f8fafc;
  --text: #0f172a;
  --muted: #94a3b8;
  --card: #ffffff;
  --card-border: #e2e8f0;
  --brand: #0f172a;
}

html, body { height: 100%; }
body { font-family: system-ui, Arial, sans-serif; margin: 0; background: var(--bg); color: var(--text); }

/* Sidebar layout */
.layout { display: flex; }
.sidebar { width: 220px; background: #0b1220; color: #cbd5e1; position: fixed; top: 0; bottom: 0; left: 0; padding: 12px 10px; }
.sidebar-brand { font-weight: 700; color: #fff; margin: 6px 6px 12px; }
.sidebar-nav a { display: block; padding: 8px 10px; border-radius: 6px; color: #cbd5e1; text-decoration: none; margin: 4px 6px; }
.sidebar-nav i { width: 18px; text-align: center; margin-right: 8px; }
.sidebar-nav a.active, .sidebar-nav a:hover { background: #1f2937; color: #fff; }
.content { margin-left: 220px; }

/* Header */
header { background: var(--brand); color: #fff; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 10; }
.brand { display: flex; align-items: center; gap: 10px; }
.brand img { height: 32px; }
.brand .name { font-weight: 700; font-size: 20px; letter-spacing: 0.2px; }
.muted { color: var(--muted); margin-left: 8px; font-weight: 500; }
.search input { width: 280px; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; }

/* Cards & tables */
main { padding: 20px; }
.status { margin: 10px 0 16px; color: #334155; }
.card { background: var(--card); border: 1px solid var(--card-border); border-radius: 10px; padding: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 16px; }
.chartbox { min-width: 280px; }
.table { width: 100%; border-collapse: collapse; background: var(--card); border: 1px solid var(--card-border); border-radius: 10px; overflow: hidden; }
th, td { border-bottom: 1px solid var(--card-border); padding: 10px; font-size: 14px; }
th { background: #f1f5f9; text-align: left; }

/* Buttons */
.btn { padding: 8px 12px; border-radius: 8px; border: 1px solid #334155; background: #fff; color: var(--text); cursor: pointer; }
.btn.primary { background: var(--brand); color: #fff; }
.btn-success { background:#16a34a; color:#fff; border-color:#15803d; }
.btn-outline { background:transparent; color:#0f172a; border-style:dashed; }
.btn-danger { background:#dc2626; color:#fff; border-color:#b91c1c; }

/* Badges */
.ok { color: #16a34a; font-weight: 600; }
.bad { color: #dc2626; font-weight: 600; }
.warn { color: #d97706; font-weight: 600; }
.unk { color: #64748b; font-weight: 600; }

.chip { display:inline-block; padding:4px 8px; border-radius:999px; border:1px solid #e2e8f0; background:#fff; font-weight:600; }
.chip.ok { border-color:#16a34a; color:#16a34a; }
.chip.warn { border-color:#d97706; color:#d97706; }
.chip.bad { border-color:#dc2626; color:#dc2626; }
.chip.unk { border-color:#64748b; color:#64748b; }

.bar { display:flex; height:10px; border-radius:999px; overflow:hidden; background:#e2e8f0; }
.bar-seg { height:100%; }
.bar-seg.ok { background:#16a34a; }
.bar-seg.warn { background:#d97706; }
.bar-seg.bad { background:#dc2626; }
.bar-seg.unk { background:#64748b; }

/* Empty state */
.empty { margin-top: 12px; }
.empty .title { font-weight: 700; margin-bottom: 6px; }
.empty .steps { margin-top: 8px; }
.empty code { background: #f1f5f9; padding: 2px 6px; border-radius: 6px; }

.pill { display:inline-flex; align-items:center; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:600; }
.pill.blue { background:#e0f2fe; color:#0369a1; }
.pill.green { background:#dcfce7; color:#166534; }
.pill.gray { background:#e5e7eb; color:#374151; }
.pill.yellow { background:#fef9c3; color:#854d0e; }

.chart-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:16px; margin-top:12px; }
.chart-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:14px 16px; box-shadow:0 1px 2px rgba(15,23,42,0.06); }
.chart-title { font-weight:600; margin-bottom:4px; }
.chart-value { font-size:22px; font-weight:700; margin-top:4px; }
.chart-sub { font-size:12px; color:#6b7280; margin-top:6px; }

.report-cover { text-align:center; padding:40px 32px; margin-bottom:20px; background:linear-gradient(135deg,#f8fafc,#eef2ff); border:1px solid #e5e7eb; border-radius:16px; box-shadow:0 12px 24px rgba(15,23,42,0.08); }
.report-cover-logo { margin-bottom:24px; display:inline-flex; align-items:center; justify-content:center; padding:16px 28px; border-radius:999px; background:rgba(15,23,42,0.04); }
.report-cover-logo img { height:96px; filter:drop-shadow(0 4px 8px rgba(15,23,42,0.18)); }
.report-cover-title { font-size:22px; font-weight:700; margin-bottom:8px; }
.report-cover-subtitle { font-size:16px; font-weight:600; color:#4b5563; margin-bottom:16px; }
.report-cover-meta { font-size:13px; color:#4b5563; margin-bottom:16px; }
.report-cover-lead { font-size:14px; color:#4b5563; margin-bottom:16px; max-width:640px; margin-left:auto; margin-right:auto; }
.report-cover-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:16px; max-width:860px; margin:0 auto; text-align:left; }
.report-cover-block-title { font-weight:600; margin-bottom:6px; }
.report-cover-block-text { font-size:13px; color:#4b5563; line-height:1.5; }
.report-cover-strip { display:flex; justify-content:center; gap:8px; margin-bottom:18px; }
.report-cover-strip-pill { font-size:11px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:#0f172a; color:#e5e7eb; }
.report-cover-highlights { display:flex; justify-content:center; gap:16px; margin:18px auto 8px; max-width:860px; flex-wrap:wrap; }
.report-cover-highlight { flex:1 1 180px; min-width:180px; border-radius:14px; padding:12px 14px; display:flex; align-items:flex-start; gap:10px; }
.report-cover-highlight.monitoring { background:rgba(37,99,235,0.06); border:1px solid rgba(37,99,235,0.22); }
.report-cover-highlight.patch { background:rgba(124,58,237,0.06); border:1px solid rgba(124,58,237,0.22); }
.report-cover-highlight.security { background:rgba(34,197,94,0.06); border:1px solid rgba(34,197,94,0.22); }
.report-cover-highlight-icon { width:28px; height:28px; border-radius:999px; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; color:#fff; flex-shrink:0; }
.report-cover-highlight.monitoring .report-cover-highlight-icon { background:#2563eb; }
.report-cover-highlight.patch .report-cover-highlight-icon { background:#7c3aed; }
.report-cover-highlight.security .report-cover-highlight-icon { background:#22c55e; }
.report-cover-highlight-body { text-align:left; }
.report-cover-highlight-title { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:4px; color:#111827; }
.report-cover-highlight-text { font-size:12px; color:#4b5563; line-height:1.5; }

.legend { display:flex; flex-direction:column; gap:4px; font-size:13px; }
.legend-row { display:flex; align-items:center; justify-content:space-between; }
.legend-item { display:flex; align-items:center; gap:6px; }
.legend-dot { width:10px; height:10px; border-radius:999px; display:inline-block; }
.legend-dot.blue { background:#2563eb; }
.legend-dot.purple { background:#7c3aed; }
.legend-dot.green { background:#22c55e; }
.legend-dot.orange { background:#f97316; }
.legend-dot.red { background:#ef4444; }
.legend-dot.gray { background:#9ca3af; }

.pie-container { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.pie { width:220px; height:220px; border-radius:50%; background:#e5e7eb; margin-top:8px; }
.bar-chart { margin-top:12px; }

/* Toolbars */
.toolbar { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
.toolbar select, .toolbar input { padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; }

@page {
  size: A4;
  margin: 15mm;
}

@media print {
  body { background:#ffffff; }
  .sidebar { display:none; }
  header { position:static; box-shadow:none; }
  .content { margin-left:0; }
  .sidebar-nav, .sidebar-brand { display:none; }
  .btn { display:none; }
   .report-cover { page-break-after: always; }
   .report-cover-logo img { height:120px; }
  .card { break-inside: avoid; page-break-inside: avoid; }
}
