/* ================================================================
   SiPAD v3 — Design System Base
   AI Fiscal Intelligence Platform · Provinsi Lampung
   Redesigned for accessibility: Boomer → Gen Z
   ================================================================ */

:root {
  /* Brand — Government Navy */
  --navy:        #1a3d6e;
  --navy-dark:   #0f2547;
  --navy-light:  #2256a0;
  --navy-faint:  #eef3fb;
  --accent:      #2563eb;
  --accent-lt:   #60a5fa;
  --accent-bg:   #eff6ff;

  /* Semantic — Danger */
  --danger:         #dc2626;
  --danger-hover:   #b91c1c;
  --danger-bg:      #fef2f2;
  --danger-border:  #fecaca;

  /* Semantic — Warning */
  --warning:        #d97706;
  --warning-bg:     #fffbeb;
  --warning-border: #fde68a;

  /* Semantic — Success */
  --success:        #16a34a;
  --success-bg:     #f0fdf4;
  --success-border: #bbf7d0;

  /* Semantic — Info */
  --info:           #0369a1;
  --info-bg:        #f0f9ff;
  --info-border:    #bae6fd;

  /* Neutral Palette */
  --g900: #111827;
  --g800: #1f2937;
  --g700: #374151;
  --g600: #4b5563;
  --g500: #6b7280;
  --g400: #9ca3af;
  --g300: #d1d5db;
  --g200: #e5e7eb;
  --g150: #eef0f3;
  --g100: #f3f4f6;
  --g50:  #f8fafc;
  --white: #ffffff;

  /* Neutral aliases (--neutral-* maps to --g*) */
  --neutral-900: var(--g900);
  --neutral-800: var(--g800);
  --neutral-700: var(--g700);
  --neutral-600: var(--g600);
  --neutral-500: var(--g500);
  --neutral-400: var(--g400);
  --neutral-300: var(--g300);
  --neutral-200: var(--g200);
  --neutral-150: var(--g150);
  --neutral-100: var(--g100);
  --neutral-50:  var(--g50);

  /* Typography */
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-size-base: 15px;
  --line-height-base: 1.65;

  /* Border Radius — softer for modern look */
  --r-sm:   5px;
  --r-md:   8px;
  --r-lg:   10px;
  --r-xl:   12px;
  --r-2xl:  16px;
  --r-full: 9999px;

  /* Shadows — layered for depth */
  --sh-xs: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
  --sh-sm: 0 2px 6px rgba(0,0,0,0.07), 0 1px 3px rgba(0,0,0,0.04);
  --sh-md: 0 6px 16px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04);
  --sh-lg: 0 12px 28px rgba(0,0,0,0.09), 0 4px 10px rgba(0,0,0,0.05);

  /* Layout */
  --nav-h:   60px;
  --agent-w: 300px;
}

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; scroll-behavior: smooth; }
body {
  font-family: var(--font);
  font-size: var(--font-size-base);
  color: var(--g900);
  background: #e8ecf4;
  line-height: var(--line-height-base);
  height: 100vh;
  overflow: hidden;
}
a { text-decoration: none; color: inherit; }
button { font-family: var(--font); cursor: pointer; border: none; background: none; }
select, input, textarea { font-family: var(--font); }
table { border-collapse: collapse; }
img { max-width: 100%; display: block; }

/* ── Accessibility ──────────────────────────────────────── */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-sm); }

/* ── Print Styles ───────────────────────────────────────── */
@media print {
  .agent-panel, .sipad-nav, .btn { display: none !important; }
  .main-layout { display: block !important; }
  .data-card { box-shadow: none !important; border: 1px solid #ccc !important; }
}
