/* src/styles/styles.scss */
:root {
  --color-primary-50: #eef2ff;
  --color-primary-100: #e0e7ff;
  --color-primary: #6366f1;
  --color-primary-600: #4f46e5;
  --color-primary-700: #4338ca;
  --color-on-primary: #ffffff;
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  --color-bg: #f4f4f6;
  --color-surface: #ffffff;
  --color-surface-2: #f9fafb;
  --color-border: #e5e7eb;
  --color-text: #111827;
  --color-text-muted: #6b7280;
  --color-text-inverse: #ffffff;
  --color-overlay: rgb(17 24 39 / 50%);
  --color-success: #047857;
  --color-success-bg: #ecfdf5;
  --color-warning: #b45309;
  --color-warning-bg: #fffbeb;
  --color-danger: #dc2626;
  --color-danger-bg: #fef2f2;
  --color-info: #0369a1;
  --color-info-bg: #f0f9ff;
  --status-to-review: #b45309;
  --status-pending: #4f46e5;
  --status-visit-arranged: #0369a1;
  --status-visit-completed: #7c3aed;
  --status-in-progress: #047857;
  --status-in-progress-incident: #c2410c;
  --status-awaiting-report: #be185d;
  --status-completed: #4b5563;
  --risk-green: #047857;
  --risk-amber: #b45309;
  --risk-red: #dc2626;
  --risk-vencido: #111827;
  --color-focus-ring: #4f46e5;
}
[data-theme=dark] {
  --color-primary-50: #1e1b4b;
  --color-primary-100: #312e81;
  --color-primary: #818cf8;
  --color-primary-600: #6366f1;
  --color-primary-700: #4f46e5;
  --color-on-primary: #ffffff;
  --color-bg: #0f1218;
  --color-surface: #171b23;
  --color-surface-2: #1f242e;
  --color-border: #2b303b;
  --color-text: #e5e7eb;
  --color-text-muted: #9ca3af;
  --color-text-inverse: #111827;
  --color-overlay: rgb(0 0 0 / 60%);
  --color-success: #34d399;
  --color-success-bg: #064e3b;
  --color-warning: #fbbf24;
  --color-warning-bg: #451a03;
  --color-danger: #f87171;
  --color-danger-bg: #450a0a;
  --color-info: #38bdf8;
  --color-info-bg: #082f49;
  --status-to-review: #fbbf24;
  --status-pending: #818cf8;
  --status-visit-arranged: #38bdf8;
  --status-visit-completed: #a78bfa;
  --status-in-progress: #34d399;
  --status-in-progress-incident: #fb923c;
  --status-awaiting-report: #f472b6;
  --status-completed: #9ca3af;
  --risk-green: #34d399;
  --risk-amber: #fbbf24;
  --risk-red: #f87171;
  --risk-vencido: #e5e7eb;
  --color-focus-ring: #818cf8;
}
:root {
  --font-sans:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  --font-mono:
    "SFMono-Regular",
    "Cascadia Code",
    Consolas,
    "Liberation Mono",
    monospace;
  --font-size-xs: 0.6875rem;
  --font-size-sm: 0.75rem;
  --font-size-md: 0.875rem;
  --font-size-lg: 1rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.65;
}
:root {
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
}
:root {
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 999px;
}
:root {
  --shadow-xs: 0 1px 2px rgb(17 24 39 / 6%);
  --shadow-sm: 0 1px 3px rgb(17 24 39 / 10%), 0 1px 2px rgb(17 24 39 / 6%);
  --shadow-md: 0 4px 12px rgb(17 24 39 / 10%);
  --shadow-lg: 0 10px 28px rgb(17 24 39 / 14%);
  --shadow-focus: 0 0 0 3px rgb(79 70 229 / 35%);
}
[data-theme=dark] {
  --shadow-xs: 0 1px 2px rgb(0 0 0 / 40%);
  --shadow-sm: 0 1px 3px rgb(0 0 0 / 50%);
  --shadow-md: 0 4px 12px rgb(0 0 0 / 55%);
  --shadow-lg: 0 10px 28px rgb(0 0 0 / 60%);
  --shadow-focus: 0 0 0 3px rgb(129 140 248 / 45%);
}
:root {
  --z-base: 1;
  --z-sticky: 100;
  --z-dropdown: 200;
  --z-overlay: 900;
  --z-drawer: 950;
  --z-modal: 1000;
  --z-toast: 1100;
  --z-tooltip: 1200;
}
:root {
  --duration-fast: 120ms;
  --duration-base: 180ms;
  --duration-slow: 280ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1.2);
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html,
body {
  height: 100%;
}
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
}
:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 2px;
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-gray-400) transparent;
}
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-thumb {
  background: var(--color-gray-400);
  border-radius: var(--radius-full);
  border: 2px solid transparent;
  background-clip: padding-box;
}
.u-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.u-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
}
.u-grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-4);
}
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.feature-placeholder {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
}
.feature-placeholder h2 {
  margin: 0 0 var(--space-2);
}
.feature-placeholder p {
  margin: 0;
  color: var(--color-text-muted);
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
