:root{
  --brand-primary:#2563eb;
  --brand-primary-hover:#1d4ed8;
  --brand-primary-dark:#1e40af;
  --brand-accent:#38bdf8;
  --brand-accent-soft:rgba(56,189,248,.14);
  --brand-ink:#0f172a;
  --brand-soft:rgba(37,99,235,.10);
  --brand-glow:rgba(37,99,235,.20);
  --brand-signature:linear-gradient(135deg,#2563eb 0%,#1d4ed8 55%,#38bdf8 100%);

  --color-primary:var(--brand-primary);
  --color-primary-hover:var(--brand-primary-hover);
  --color-success:#16a34a;
  --color-warning:#f59e0b;
  --color-danger:#dc2626;
  --color-info:#0891b2;
  --color-maintenance:#f97316;
  --color-inactive:#94a3b8;

  --color-on-primary:#fff;
  --color-on-success:#fff;
  --color-on-warning:#fff;
  --color-on-danger:#fff;
  --color-on-info:#fff;

  --bg-main:#f8fafc;
  --bg-page:var(--bg-main);
  --bg-soft:#f1f5f9;
  --bg-muted:#e2e8f0;
  --bg-sidebar:#fff;
  --bg-header:#fff;
  --bg-card:#fff;
  --bg-input:#f8fafc;
  --bg-glass:rgba(255,255,255,.74);

  --bg-soft-primary:rgba(37,99,235,.10);
  --bg-soft-success:rgba(22,163,74,.10);
  --bg-soft-warning:rgba(245,158,11,.12);
  --bg-soft-danger:rgba(220,38,38,.10);
  --bg-soft-info:rgba(8,145,178,.10);
  --bg-soft-maintenance:rgba(249,115,22,.10);
  --bg-soft-inactive:rgba(148,163,184,.12);

  --text-primary:#0f172a;
  --text-secondary:#334155;
  --text-muted:#64748b;
  --text-soft:#94a3b8;
  --text-disabled:#cbd5e1;
  --text-white:#fff;
  --text-inverse:#fff;

  --border-soft:rgba(15,23,42,.06);
  --border-medium:rgba(15,23,42,.10);
  --border-strong:rgba(15,23,42,.16);
  --border-primary-soft:rgba(37,99,235,.22);
  --border-success-soft:rgba(22,163,74,.16);
  --border-warning-soft:rgba(245,158,11,.18);
  --border-danger-soft:rgba(220,38,38,.16);
  --border-info-soft:rgba(8,145,178,.16);

  --success:var(--color-success);
  --warning:var(--color-warning);
  --danger:var(--color-danger);
  --info:var(--color-info);
  --card-bg:var(--bg-card);
  --text-main:var(--text-primary);
  --text-light:var(--text-disabled);
  --border-color:var(--border-soft);
  --divider-soft:var(--border-soft);
  --divider:var(--border-medium);
  --divider-strong:var(--border-strong);
}
