/* ── RESET & GLOBAL ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html, body { height:100%; background:var(--bg-deep); color:var(--text); font-family:'Exo 2',sans-serif; overflow-x:hidden; }

body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(26,111,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,111,255,.025) 1px, transparent 1px);
  background-size:48px 48px;
}
body::after {
  content:''; position:fixed; top:-15%; right:-8%; width:700px; height:700px;
  pointer-events:none; z-index:0;
  background:radial-gradient(circle, rgba(26,111,255,.07) 0%, transparent 65%);
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar       { width:5px; height:5px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:var(--border-bright); border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:var(--accent); }

/* ── PRINT ── */
@media print {
  .header-actions, .settings-panel, .live-card, .charts-card,
  .pkgstatus-card, .year-banner, .del-btn, .btn-proj, .btn-primary { display:none !important; }
  header   { position:static; box-shadow:none; }
  body     { background:#fff; color:#000; }
  .stat-card, .table-card { border:1px solid #ccc; background:#fff; box-shadow:none; }
  main     { padding:0; }
  .app     { background:#fff; }
}
