/* ============ FTrack — tema shadcn/ui (light) · accent azul oceano ============ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* shadcn neutral (zinc) ladder */
  --background: 0 0% 100%;
  --foreground: 240 10% 3.9%;
  --card: 0 0% 100%;
  --card-foreground: 240 10% 3.9%;
  --popover: 0 0% 100%;
  --popover-foreground: 240 10% 3.9%;
  --muted: 240 4.8% 95.9%;
  --muted-foreground: 240 3.8% 46.1%;
  --accent-bg: 240 4.8% 95.9%;
  --border: 240 5.9% 90%;
  --input: 240 5.9% 90%;
  --ring: 201 96% 32%;

  /* ocean blue primary (#0369a1 ≈ hsl 201 96% 32%) */
  --primary: 201 96% 32%;
  --primary-foreground: 0 0% 100%;
  --primary-50: 204 100% 97%;
  --primary-100: 204 94% 94%;
  --primary-600: 201 96% 32%;
  --primary-700: 202 90% 26%;

  /* semantic */
  --success: 142 71% 38%;
  --success-bg: 141 79% 95%;
  --warning: 38 92% 45%;
  --warning-bg: 48 96% 92%;
  --danger: 0 72% 48%;
  --danger-bg: 0 86% 97%;

  --radius: 8px;
  --radius-sm: 6px;

  --sidebar-w: 232px;
  --topbar-h: 52px;

  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.08), 0 1px 2px -1px rgb(0 0 0 / 0.06);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05);
  --shadow-lg: 0 10px 22px -4px rgb(0 0 0 / 0.12), 0 4px 8px -4px rgb(0 0 0 / 0.06);

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  font-family: var(--font-sans);
  color: hsl(var(--foreground));
  background: hsl(var(--muted));
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "cv11", "ss01";
}

#root { height: 100%; }

::selection { background: hsl(var(--primary) / 0.18); }

/* tabular numbers everywhere data lives */
.tnum { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* scrollbars — thin, neutral */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: hsl(240 5% 84%); border-radius: 99px; border: 2px solid hsl(var(--background)); }
::-webkit-scrollbar-thumb:hover { background: hsl(240 5% 74%); }

/* focus ring */
.focusable:focus-visible,
input:focus-visible, button:focus-visible, select:focus-visible {
  outline: 2px solid hsl(var(--ring) / 0.55);
  outline-offset: 1px;
}

button { font-family: inherit; cursor: pointer; }
input, select { font-family: inherit; }

@keyframes ft-fade-in { from { transform: translateY(8px); } to { transform: none; } }
@keyframes ft-pop { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }
@keyframes ft-bar { from { transform: scaleY(.12); opacity: .4; } to { transform: scaleY(1); opacity: 1; } }
.anim-fade { animation: ft-fade-in .38s cubic-bezier(.16,1,.3,1) both; }
.anim-pop { animation: ft-pop .18s ease both; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001s !important; }
}

/* impressão — só o documento de relatório */
@media print {
  body { background: #fff !important; }
  aside, header, .tweaks-host, [data-tweaks-root] { display: none !important; }
  #report-scroll { overflow: visible !important; }
  #report-sheet { box-shadow: none !important; border: none !important; margin: 0 !important; width: 100% !important; }
  @page { size: A4 portrait; margin: 12mm; }
}
