:root {
  --tfk-blue: #1e40af;
  --tfk-blue-dark: #1e3a8a;
  --tfk-sky: #0ea5e9;
  --tfk-sky-dark: #0284c7;

  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;

  --color-success: #16a34a;
  --color-error: #dc2626;
  --color-warning: #d97706;

  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Montserrat", "Inter", sans-serif;
  --font-mono: "source-code-pro", Menlo, Monaco, Consolas, "Courier New", monospace;

  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

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

html,
body,
#root {
  height: 100%;
  overflow: hidden;
}

body {
  font-family: var(--font-sans);
  background: var(--tfk-blue-dark);
  -webkit-user-select: none;
  user-select: none;
}

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

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

select optgroup {
  font-weight: 700;
  color: #374151;
}
select option {
  font-weight: 400;
  color: #1f2937;
}

.selectable {
  -webkit-user-select: text;
  user-select: text;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.spin {
  display: inline-block;
  animation: spin 1s linear infinite;
}

@keyframes mwl-indeterminate {
  0% {
    left: -35%;
  }
  100% {
    left: 100%;
  }
}

@media print {
  [data-sidebar] {
    display: none;
  }
  [data-export-bar] {
    display: none;
  }
  [data-report] {
    width: 100%;
    box-shadow: none;
    padding: 0;
  }
  tr {
    break-inside: avoid;
  }
}
