/* Portal SENAC design system baseline.
   Keep this file conservative: tokens and shared primitives only. */

:root {
  --portal-font-family: "Segoe UI", Roboto, Arial, sans-serif;

  --portal-bg: #eef2f7;
  --portal-surface: #ffffff;
  --portal-surface-soft: #f7f9fd;
  --portal-border: #dfe7f3;

  --portal-text: #17233a;
  --portal-text-muted: #647084;
  --portal-text-soft: #7b879b;

  --portal-primary: #2f5f9a;
  --portal-primary-soft: #eaf2ff;
  --portal-primary-border: #cfe1ff;

  --portal-accent: #e05a00;
  --portal-accent-soft: #fff4e8;
  --portal-accent-border: #ffd8ad;

  --portal-success: #1b7a3f;
  --portal-success-soft: #effaf3;
  --portal-success-border: #d6f0df;

  --portal-warning: #8a5a13;
  --portal-warning-soft: #fff7ec;
  --portal-warning-border: #ffe4c4;

  --portal-danger: #a1202c;
  --portal-danger-soft: #fff1f1;
  --portal-danger-border: #ffd2d6;

  --portal-radius-sm: 6px;
  --portal-radius-md: 8px;
  --portal-radius-lg: 12px;
  --portal-shadow-sm: 0 1px 2px rgba(23, 35, 58, .05);
  --portal-shadow-md: 0 8px 22px rgba(23, 35, 58, .08);
}

html,
body {
  font-family: var(--portal-font-family);
  color: var(--portal-text);
  background: var(--portal-bg);
}

a {
  color: var(--portal-primary);
}

a:hover {
  color: #244f83;
}

.portal-surface {
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius-md);
  box-shadow: var(--portal-shadow-sm);
}

.portal-surface-soft {
  background: var(--portal-surface-soft);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius-lg);
}

.portal-page-title {
  color: var(--portal-text);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.portal-page-subtitle {
  color: var(--portal-text-muted);
  font-size: .95rem;
  font-weight: 500;
  line-height: 1.45;
}

.portal-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: 100%;
  padding: .24rem .55rem;
  border: 1px solid var(--portal-border);
  border-radius: 999px;
  background: var(--portal-surface);
  color: var(--portal-text-muted);
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.1;
}

.portal-chip--info {
  background: var(--portal-primary-soft);
  border-color: var(--portal-primary-border);
  color: var(--portal-primary);
}

.portal-chip--warning {
  background: var(--portal-warning-soft);
  border-color: var(--portal-warning-border);
  color: var(--portal-warning);
}

.portal-chip--danger {
  background: var(--portal-danger-soft);
  border-color: var(--portal-danger-border);
  color: var(--portal-danger);
}

.portal-chip--success {
  background: var(--portal-success-soft);
  border-color: var(--portal-success-border);
  color: var(--portal-success);
}

.portal-action-link {
  color: var(--portal-primary);
  font-weight: 600;
  text-decoration: none;
}

.portal-action-link:hover {
  color: #244f83;
  text-decoration: underline;
}

.btn:focus-visible,
.form-control:focus,
.form-select:focus,
.dropdown-item:focus-visible,
a:focus-visible {
  outline: 2px solid rgba(47, 95, 154, .32);
  outline-offset: 2px;
}
