/* Månadsrapport — skärmvy + utskrift (A4) */

.report-toolbar { background:var(--paper); border-bottom:1px solid var(--line); }
.report-toolbar .wrap { display:flex; justify-content:space-between; align-items:center; padding:var(--sp-3) var(--sp-5); }

.sheet {
  max-width: 820px; margin: var(--sp-6) auto var(--sp-8);
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md);
  box-shadow:var(--sh-2); padding: var(--sp-7);
}
.rep-head { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:2px solid var(--gr-500); padding-bottom:var(--sp-4); margin-bottom:var(--sp-5); gap:var(--sp-4); }
.rep-head .brand { display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.05rem; }
.rep-head .brand .mark { width:30px;height:30px;border-radius:8px;background:var(--gr-500);color:#fff;display:inline-flex;align-items:center;justify-content:center; }
.rep-head .period { text-align:right; }
.rep-head .period .big { font-size:1.4rem; font-weight:800; }
.rep-head .period .muted { font-size:.85rem; }

.kpi-row { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-3); margin-bottom:var(--sp-6); }
.kpi { background:var(--gr-50); border:1px solid var(--gr-100); border-radius:var(--r-md); padding:var(--sp-4); }
.kpi .v { font-size:1.5rem; font-weight:800; color:var(--gr-700); line-height:1.1; }
.kpi .l { font-size:.78rem; color:var(--ink-500); margin-top:4px; }

.rep-section-title { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-400); font-weight:750; margin:var(--sp-5) 0 var(--sp-3); }

.split { display:grid; grid-template-columns: 220px 1fr; gap:var(--sp-5); align-items:center; margin-bottom:var(--sp-5); }
.legend { display:flex; flex-direction:column; gap:8px; }
.legend .li { display:flex; align-items:center; gap:8px; font-size:.88rem; }
.legend .sw { width:12px;height:12px;border-radius:3px;flex:none; }
.legend .amt { margin-left:auto; font-weight:700; }

table.org-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.org-table th, .org-table td { text-align:left; padding:10px 10px; border-bottom:1px solid var(--line); }
.org-table th { font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-400); }
.org-table td.num, .org-table th.num { text-align:right; font-variant-numeric:tabular-nums; }
.org-table tfoot td { font-weight:800; border-top:2px solid var(--ink-900); }

.campaign-note { background:var(--bg-warm); border:1px solid #f0dcc0; border-radius:var(--r-md); padding:var(--sp-4); font-size:.9rem; margin:var(--sp-5) 0; }

.mkit { background:var(--gr-50); border:1px dashed var(--gr-200); border-radius:var(--r-md); padding:var(--sp-5); margin-top:var(--sp-5); }
.mkit h4 { margin:0 0 var(--sp-3); }
.mkit .copybox { background:var(--paper); border:1px solid var(--line); border-radius:var(--r-sm); padding:var(--sp-3) var(--sp-4); font-size:.9rem; margin-bottom:var(--sp-2); }
.mkit .brandbadge { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1.5px solid var(--gr-300); color:var(--gr-700); border-radius:var(--r-pill); padding:8px 16px; font-weight:700; font-size:.9rem; }

.rep-foot { margin-top:var(--sp-6); padding-top:var(--sp-4); border-top:1px solid var(--line); font-size:.78rem; color:var(--ink-400); }

@media (max-width: 680px) {
  .kpi-row { grid-template-columns:repeat(2,1fr); }
  .split { grid-template-columns:1fr; }
  .sheet { padding: var(--sp-5); }
}

/* ---- Utskrift: ren A4 ---- */
@media print {
  .demobar, .report-toolbar, .no-print { display:none !important; }
  body { background:#fff; }
  .sheet { box-shadow:none; border:0; margin:0; max-width:none; padding:0 8mm; }
  .mkit { break-inside:avoid; }
  .org-table { break-inside:avoid; }
  @page { size: A4; margin: 14mm; }
}
