:root {
    /*
     * =========================================================
     * HUB MÃOS SOLIDÁRIAS — DESIGN SYSTEM
     * Tokens globais de interface
     * =========================================================
     */

    /* =========================================================
     * PALETA DE CORES INSTITUCIONAL (ESCALA TAILWIND COMPATÍVEL)
     * =========================================================
     */

    /* brand-orange (50: #FFF7ED a 900: #7E430F) */
    --hms-color-brand-orange-50: #FFF7ED;
    --hms-color-brand-orange-100: #FDE7C7;
    --hms-color-brand-orange-200: #FBD19A;
    --hms-color-brand-orange-300: #F8BA6C;
    --hms-color-brand-orange-400: #F7A340;
    --hms-color-brand-orange-500: #F7931E; /* Laranja Principal */
    --hms-color-brand-orange-600: #E17F0C;
    --hms-color-brand-orange-700: #C96A10; /* Laranja Escuro */
    --hms-color-brand-orange-800: #A85712;
    --hms-color-brand-orange-900: #7E430F;

    /* brand-red (50: #FFF1F1 a 900: #6D1711) */
    --hms-color-brand-red-50: #FFF1F1;
    --hms-color-brand-red-100: #F9D6D5; /* Vermelho Claro */
    --hms-color-brand-red-200: #F3B1AF;
    --hms-color-brand-red-300: #EE8B88;
    --hms-color-brand-red-400: #EA625E;
    --hms-color-brand-red-500: #E53935; /* Vermelho Principal */
    --hms-color-brand-red-600: #D92D20;
    --hms-color-brand-red-700: #B42318; /* Vermelho Escuro */
    --hms-color-brand-red-800: #8F1C13;
    --hms-color-brand-red-900: #6D1711;

    /* brand-gray (50: #F7F7F7 a 900: #1F1F1F) */
    --hms-color-brand-gray-50: #F7F7F7;
    --hms-color-brand-gray-100: #EAEAEA;
    --hms-color-brand-gray-200: #D7D7D7; /* Cinza Claro */
    --hms-color-brand-gray-300: #B8B8B8;
    --hms-color-brand-gray-400: #949494;
    --hms-color-brand-gray-500: #6B6B6B; /* Cinza Médio */
    --hms-color-brand-gray-600: #5B5B5B;
    --hms-color-brand-gray-700: #4A4A4A; /* Cinza Escuro Institucional */
    --hms-color-brand-gray-800: #353535;
    --hms-color-brand-gray-900: #1F1F1F;

    /* brand-blue (50: #EFF6FF a 900: #1E3A8A) */
    --hms-color-brand-blue-50: #EFF6FF;
    --hms-color-brand-blue-100: #DBEAFE; /* Azul Claro */
    --hms-color-brand-blue-200: #BFDBFE;
    --hms-color-brand-blue-300: #93C5FD;
    --hms-color-brand-blue-400: #60A5FA;
    --hms-color-brand-blue-500: #3B82F6;
    --hms-color-brand-blue-600: #2563EB; /* Azul de Apoio */
    --hms-color-brand-blue-700: #1D4ED8; /* Azul Escuro */
    --hms-color-brand-blue-800: #1E40AF;
    --hms-color-brand-blue-900: #1E3A8A;

    /* brand-green (50: #F0FDF4 a 900: #193F1C) */
    --hms-color-brand-green-50: #F0FDF4;
    --hms-color-brand-green-100: #DDF3DF; /* Verde Claro */
    --hms-color-brand-green-200: #BDE7C1;
    --hms-color-brand-green-300: #93D49A;
    --hms-color-brand-green-400: #67BB70;
    --hms-color-brand-green-500: #43A047;
    --hms-color-brand-green-600: #2E7D32; /* Verde de Sucesso */
    --hms-color-brand-green-700: #25662A;
    --hms-color-brand-green-800: #1F5223;
    --hms-color-brand-green-900: #193F1C;

    /* Cores de núcleo institucional (ponte semântica) */
    --hms-color-brand-orange: var(--hms-color-brand-orange-500);
    --hms-color-brand-orange-rgb: 247, 147, 30;
    --hms-color-brand-orange-dark: var(--hms-color-brand-orange-700);
    --hms-color-brand-orange-soft: var(--hms-color-brand-orange-100);
    --hms-color-brand-orange-soft-rgb: 253, 231, 199;

    --hms-color-brand-red: var(--hms-color-brand-red-500);
    --hms-color-brand-red-rgb: 229, 57, 53;
    --hms-color-brand-red-dark: var(--hms-color-brand-red-700);
    --hms-color-brand-red-dark-rgb: 180, 35, 24;
    --hms-color-brand-red-soft: var(--hms-color-brand-red-100);
    --hms-color-brand-red-soft-rgb: 249, 214, 213;

    --hms-color-brand-gray: var(--hms-color-brand-gray-700);

    /* Cor Primary = Vermelho Institucional (cor dominante da marca).
       Laranja entra como ACENTO quente; azul como apoio; verde como sucesso. */
    --hms-color-primary: var(--hms-color-brand-red-500);
    --hms-color-primary-rgb: 229, 57, 53;
    --hms-color-primary-50: var(--hms-color-brand-red-50);
    --hms-color-primary-100: var(--hms-color-brand-red-100);
    --hms-color-primary-200: var(--hms-color-brand-red-200);
    --hms-color-primary-300: var(--hms-color-brand-red-300);
    --hms-color-primary-400: var(--hms-color-brand-red-400);
    --hms-color-primary-500: var(--hms-color-brand-red-500);
    --hms-color-primary-600: var(--hms-color-brand-red-600);
    --hms-color-primary-700: var(--hms-color-brand-red-700);
    --hms-color-primary-800: var(--hms-color-brand-red-800);
    --hms-color-primary-900: var(--hms-color-brand-red-900);

    --hms-color-accent: var(--hms-color-brand-orange-500);
    --hms-color-accent-dark: var(--hms-color-brand-orange-700);
    --hms-color-accent-bg: var(--hms-color-brand-orange-100);

    /* Cores neutras base */
    --hms-color-gray-50: var(--hms-color-brand-gray-50);
    --hms-color-gray-100: var(--hms-color-brand-gray-100);
    --hms-color-gray-200: var(--hms-color-brand-gray-200);
    --hms-color-gray-300: var(--hms-color-brand-gray-300);
    --hms-color-gray-400: var(--hms-color-brand-gray-400);
    --hms-color-gray-500: var(--hms-color-brand-gray-500);
    --hms-color-gray-600: var(--hms-color-brand-gray-600);
    --hms-color-gray-700: var(--hms-color-brand-gray-700);
    --hms-color-gray-800: var(--hms-color-brand-gray-800);
    --hms-color-gray-900: var(--hms-color-brand-gray-900);

    /* Cores semânticas oficiais */
    --hms-color-success: var(--hms-color-brand-green-600);
    --hms-color-success-rgb: 46, 125, 50;
    --hms-color-success-bg: var(--hms-color-brand-green-100);
    --hms-color-success-dark: var(--hms-color-brand-green-700);

    --hms-color-warning: var(--hms-color-brand-orange-500);
    --hms-color-warning-rgb: 247, 147, 30;
    --hms-color-warning-bg: var(--hms-color-brand-orange-100);

    --hms-color-danger: var(--hms-color-brand-red-500);
    --hms-color-danger-rgb: 229, 57, 53;
    --hms-color-danger-bg: var(--hms-color-brand-red-100);

    --hms-color-info: var(--hms-color-brand-blue-600);
    --hms-color-info-rgb: 37, 99, 235;
    --hms-color-info-bg: var(--hms-color-brand-blue-100);

    --hms-color-secondary: var(--hms-color-brand-gray-500);
    --hms-color-secondary-rgb: 107, 107, 107;
    --hms-color-secondary-bg: var(--hms-color-brand-gray-100);

    /* Surface tokens (padrões de luz) */
    --hms-surface-light: #FFFFFF;
    --hms-surface-light-alt: #F1ECE4;
    --hms-bg-light: #F7F4EE;
    --hms-border-light: #DDD5CA;

    /* Status base */
    --hms-status-neutral-bg: var(--hms-color-secondary-bg);
    --hms-status-neutral-text: var(--hms-color-secondary);
    --hms-status-info-bg: var(--hms-color-info-bg);
    --hms-status-info-text: var(--hms-color-info);
    --hms-status-warning-bg: var(--hms-color-warning-bg);
    --hms-status-warning-text: var(--hms-color-warning);
    --hms-status-danger-bg: var(--hms-color-danger-bg);
    --hms-status-danger-text: var(--hms-color-danger);
    --hms-status-success-bg: var(--hms-color-success-bg);
    --hms-status-success-text: var(--hms-color-success);

    /* Superfícies padrão (modo claro) */
    --hms-bg-page: var(--hms-bg-light);
    --hms-bg-page-rgb: 247, 244, 238;
    --hms-bg-surface: var(--hms-surface-light);
    --hms-bg-surface-rgb: 255, 255, 255;
    --hms-bg-surface-muted: var(--hms-surface-light-alt);
    --hms-table-striped-bg: rgba(var(--hms-shadow-color-rgb), 0.02);

    /* Texto padrão */
    --hms-text-primary: var(--hms-color-brand-gray-700);
    --hms-text-secondary: var(--hms-color-brand-gray-500);
    --hms-text-muted: var(--hms-color-brand-gray-400);
    --hms-text-inverse: #ffffff;
    --hms-text-inverse-rgb: 255, 255, 255;

    /* Bordas padrão */
    --hms-border-color: var(--hms-border-light);
    --hms-border-color-strong: var(--hms-color-brand-gray-200);

    /* Tipografia */
    --hms-font-family-heading: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --hms-font-family-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --hms-font-size-xs: 0.75rem;
    --hms-font-size-sm: 0.875rem;
    --hms-font-size-base: 1rem;
    --hms-font-size-lg: 1.125rem;
    --hms-font-size-xl: 1.25rem;
    --hms-font-size-2xl: 1.5rem;
    --hms-font-size-3xl: 1.875rem;
    --hms-font-size-4xl: 2.25rem;
    --hms-font-size-display-sm: 2.35rem;
    --hms-font-size-display-sm-compact: 2rem;
    --hms-font-size-display-md: 2.4rem;
    --hms-font-size-display-lg: 2.75rem;
    --hms-font-size-display-lg-compact: 2.2rem;
    --hms-font-size-display-xl: 4rem;
    --hms-font-size-display-xl-compact: 3.2rem;
    --hms-font-size-metric-sm: 1.7rem;
    --hms-font-size-metric-md: 1.8rem;
    --hms-font-size-metric-lg: 2.2rem;
    --hms-font-size-metric-lg-compact: 1.85rem;
    --hms-font-size-label-xs: .72rem;
    --hms-font-size-label-sm: .78rem;
    --hms-font-size-label-md: .82rem;
    --hms-font-size-helper: .9rem;
    --hms-font-size-subtitle: .92rem;
    --hms-font-size-section-title: 1.05rem;
    --hms-font-size-article: 1.1rem;
    --hms-font-size-crud-title: 1.22rem;
    --hms-font-size-icon-fallback: 0.72em;
    --hms-font-size-badge: .65rem;
    --hms-font-size-utility-xs: .7rem;
    --hms-font-size-utility-md: .8rem;
    --hms-font-size-utility-lg: .85rem;
    --hms-font-size-nav: .95rem;
    --hms-icon-size-md: 1.5rem;
    --hms-icon-size-lg: 1.7rem;
    --hms-icon-size-xl: 1.9rem;

    --hms-line-height-tight: 1.2;
    --hms-line-height-base: 1.5;
    --hms-line-height-display-tight: 1.12;
    --hms-line-height-display: 1.18;
    --hms-line-height-compact: 1.25;
    --hms-line-height-copy-tight: 1.6;
    --hms-line-height-copy: 1.65;
    --hms-line-height-relaxed: 1.75;
    --hms-line-height-readable: 1.8;
    --hms-line-height-icon: 1;

    /* Pesos */
    --hms-font-weight-normal: 400;
    --hms-font-weight-medium: 500;
    --hms-font-weight-semibold: 600;
    --hms-font-weight-bold: 700;

    /* Espaçamentos */
    --hms-space-0: 0;
    --hms-space-1: 0.25rem;
    --hms-space-2: 0.5rem;
    --hms-space-3: 0.75rem;
    --hms-space-4: 1rem;
    --hms-space-5: 1.25rem;
    --hms-space-6: 1.5rem;
    --hms-space-8: 2rem;
    --hms-space-10: 2.5rem;
    --hms-space-12: 3rem;
    --hms-space-16: 4rem;
    --hms-space-action-gap: .4rem;
    --hms-space-topbar-gap: .85rem;
    --hms-space-profile-gap: .65rem;
    --hms-space-sidebar-link-gap: .75rem;
    --hms-space-sidebar-link-block: .85rem;
    --hms-space-sidebar-sub-gap: .65rem;
    --hms-space-table-card-block: 1.15rem;
    --hms-space-table-card-inline: 1.35rem;
    --hms-space-table-cell-block: .85rem;
    --hms-space-footer-block-start: 3.25rem;
    --hms-space-footer-block-end: 2.25rem;
    --hms-space-footer-block-start-sm: 2.5rem;
    --hms-space-footer-block-end-sm: 2rem;
    --hms-space-footer-title-gap: 1.15rem;
    --hms-space-footer-link-gap: .7rem;
    --hms-space-footer-divider-gap: .9rem;

    /* Dimensoes recorrentes */
    --hms-size-avatar-sm: 32px;
    --hms-size-control-sm: 40px;
    --hms-size-touch-target: 44px;
    --hms-size-media-sm: 48px;
    --hms-size-feature-icon: 60px;
    --hms-size-thumb-md: 64px;
    --hms-logo-height-public: 42px;
    --hms-logo-width-public-max: 220px;
    --hms-topbar-theme-select-width: 112px;
    --hms-topbar-avatar-size: 38px;
    --hms-topbar-logout-min-height: 36px;
    --hms-topbar-min-height: 76px;
    --hms-hamburger-line-width: 20px;
    --hms-hamburger-line-height: 2px;
    --hms-hamburger-line-gap: 4px;
    --hms-progress-height-xs: 5px;
    --hms-progress-height-sm: 8px;
    --hms-progress-height-md: 10px;
    --hms-dashboard-seal-width: 110px;
    --hms-dashboard-avatar-size: 90px;
    --hms-dashboard-avatar-font-size: 2.5rem;
    --hms-dashboard-avatar-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    --hms-crud-card-image-height: 120px;
    --hms-crud-card-avatar-size: 90px;
    --hms-campaign-banner-height: 160px;
    --hms-logo-width-ministry: 160px;
    --hms-logo-height-ministry-sm: 80px;
    --hms-logo-height-ministry-md: 100px;
    --hms-logo-height-brand-xl: 200px;
    --hms-logo-height-institution-box: 180px;
    --hms-logo-width-institution-box: 200px;
    --hms-logo-height-seal: 120px;
    --hms-logo-height-auth: 100px;
    --hms-hero-metric-min-height: 104px;
    --hms-crud-loading-min-height: 96px;
    --hms-description-min-height: 4.5rem;
    --hms-task-status-select-width: 190px;
    --hms-note-width-sm: 150px;
    --hms-note-width-md: 180px;
    --hms-border-width-emphasis: 4px;
    --hms-skeleton-height-text: 1.15rem;
    --hms-skeleton-height-title: 1.6rem;
    --hms-skeleton-height-pill: 1.75rem;
    --hms-skeleton-width-pill: 80px;
    --hms-skeleton-width-70: 70%;
    --hms-skeleton-width-80: 80%;
    --hms-skeleton-width-85: 85%;
    --hms-skeleton-width-90: 90%;
    --hms-skeleton-width-95: 95%;
    --hms-skeleton-width-100: 100%;
    --hms-skeleton-pill-offset-top: 1rem;

    /* Raios */
    --hms-radius-sm: 0.25rem;
    --hms-radius-md: 0.375rem;
    --hms-radius-lg: 0.5rem;
    --hms-radius-xl: 0.75rem;
    --hms-radius-pill: 999px;

    /* Aspect-ratios padronizados */
    --hms-aspect-avatar: 1 / 1;
    --hms-aspect-logo: 3 / 2;
    --hms-aspect-card: 4 / 3;
    --hms-aspect-banner: 16 / 9;
    --hms-aspect-widescreen: 21 / 9;

    /* Largura de leitura confortável */
    --hms-content-width-readable: 65ch;


    /* Sombras */
    --hms-shadow-color-rgb: 74, 74, 74;
    --hms-shadow-sm: 0 1px 2px rgba(var(--hms-shadow-color-rgb), 0.06);
    --hms-shadow-md: 0 4px 12px rgba(var(--hms-shadow-color-rgb), 0.08);
    --hms-shadow-lg: 0 10px 25px rgba(var(--hms-shadow-color-rgb), 0.12);
    --hms-focus-ring-color-rgb: var(--hms-color-brand-red-rgb);
    --hms-focus-outline-color: rgb(var(--hms-focus-ring-color-rgb));
    --hms-focus-ring: 0 0 0 0.22rem rgba(var(--hms-focus-ring-color-rgb), 0.22);

    /* Layout */
    --hms-container-max-width: 1200px;
    --hms-sidebar-width: 280px;
    --hms-header-height: 64px;
    --hms-z-base: 1;
    --hms-z-content: 2;
    --hms-z-topbar: 1020;
    --hms-z-sidebar: 1030;
    --hms-z-alert: 9999;
    --hms-content-width-copy: 66ch;
    --hms-content-width-hero: 70ch;
    --hms-content-width-auth: 500px;
    --hms-content-width-narrow: 700px;
    --hms-content-width-maintenance: 720px;
    --hms-content-width-2xl: 42rem;
    --hms-content-width-legal: 920px;
    --hms-content-height-legal-box: 220px;
    --hms-scroll-height-md: 300px;
    --hms-scroll-height-lg: 360px;
    --hms-chart-height-sm: 260px;
    --hms-chart-height-md: 300px;
    --hms-chart-height-lg: 320px;
    --hms-truncate-width-xs: 150px;
    --hms-truncate-width-sm: 200px;
    --hms-truncate-width-md: 250px;
    --hms-truncate-width-lg: 300px;
    --hms-truncate-width-xl: 420px;
    --hms-truncate-width-2xl: 450px;
    --hms-table-col-width-xs: 70px;
    --hms-table-col-width-sm: 80px;
    --hms-table-col-width-md: 100px;
    --hms-table-col-width-lg: 130px;
    --hms-table-col-width-xl: 150px;
    --hms-table-col-width-2xl: 200px;
    --hms-table-col-width-3xl: 220px;

    /* Transições */
    --hms-transition-fast: 120ms ease;
    --hms-transition-base: 180ms ease;
    --hms-transition-slow: 250ms ease;
    --hms-transition-emphasis: 500ms ease;

    /* Aliases semanticos compartilhados */
    --hms-bg: var(--hms-bg-page);
    --hms-surface: var(--hms-bg-surface);
    --hms-surface-muted: var(--hms-bg-surface-muted);
    --hms-border: var(--hms-border-color);
    --hms-text: var(--hms-text-primary);
    --hms-primary: var(--hms-color-primary-500);
    --hms-primary-rgb: var(--hms-color-primary-rgb);
    --hms-primary-hover: var(--hms-color-primary-700);
    --hms-accent: var(--hms-color-accent);
    --hms-accent-rgb: var(--hms-color-brand-orange-rgb);
    --hms-accent-hover: var(--hms-color-accent-dark);
    --hms-link: var(--hms-color-brand-blue-600); /* Links em azul de apoio */
    --hms-link-rgb: 37, 99, 235;
    --hms-shadow: var(--hms-shadow-md);
    --hms-focus: var(--hms-focus-ring);

    /* Bootstrap bridge */
    --bs-primary: var(--hms-color-primary);
    --bs-primary-rgb: var(--hms-color-primary-rgb);
    --bs-success: var(--hms-color-success);
    --bs-success-rgb: var(--hms-color-success-rgb);
    --bs-danger: var(--hms-color-danger);
    --bs-danger-rgb: var(--hms-color-danger-rgb);
    --bs-warning: var(--hms-color-warning);
    --bs-warning-rgb: var(--hms-color-warning-rgb);
    --bs-info: var(--hms-color-info);
    --bs-info-rgb: var(--hms-color-info-rgb);
    --bs-secondary: var(--hms-color-secondary);
    --bs-secondary-rgb: var(--hms-color-secondary-rgb);
    --bs-body-font-family: var(--hms-font-family-base);
    --bs-heading-color: var(--hms-text-primary);
    --bs-body-color: var(--hms-text-primary);
    --bs-body-bg: var(--hms-bg-page);
    --bs-border-color: var(--hms-border-color);
    --bs-link-color: var(--hms-link);
    --bs-link-hover-color: var(--hms-primary-hover);
    --bs-border-radius-lg: var(--hms-radius-lg);
    --bs-border-radius-xl: var(--hms-radius-lg);
}
