:root {
  --brand-red: #E70F1F;
  --brand-teal: #01A1B8;
  --brand-teal-dark: #007C8B;
}

* { box-sizing: border-box; }

body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; }

a:focus, button:focus, input:focus, select:focus, textarea:focus, [tabindex]:focus {
  outline: 3px solid var(--brand-teal-dark);
  outline-offset: 1px;
}

.btn-primary {
  background-color: var(--brand-teal-dark);
  color: white;
}
.btn-primary:hover { background-color: #006975; }

.btn-danger-outline {
  color: var(--brand-red);
  border: 1px solid var(--brand-red);
}

.badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; }
.badge-urgent { background: #FDEAEB; color: var(--brand-red); }
.badge-ok { background: #E6F7F9; color: var(--brand-teal-dark); }
.badge-neutral { background: #EEF0F2; color: #4B5563; }
.badge-warn { background: #FEF3E2; color: #92610B; }

.synthetic-banner {
  background: repeating-linear-gradient(45deg, #FFF8E1, #FFF8E1 10px, #FFEFC2 10px, #FFEFC2 20px);
  border-bottom: 2px solid #D97706;
}

table.ia-table th { position: sticky; top: 0; background: white; }
table.ia-table tbody tr:hover { background: #F6F8F9; }

.skeleton { background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%); background-size: 400% 100%; animation: skeleton-loading 1.4s ease infinite; }
@keyframes skeleton-loading { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

.nav-link.active { background-color: #E6F7F9; color: var(--brand-teal-dark); font-weight: 600; }

.sr-only-focusable:not(:focus) {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
