/*
 * GCU design tokens (app lens of the GCU brand). Shared by every layout:
 * Gestão Pedagógica (gp, gp_empty), login/error pages (empty) and public meeting pages.
 * Contrast ratios (WCAG 2.x) noted where a token is used for text or UI borders.
 */
:root {
    /* Brand */
    --gcu-indigo: #000977;
    --gcu-blue: #0000F7;
    --gcu-blue-700: #0000C4;
    --gcu-blue-100: #DCDEFE;
    --gcu-cyan: #00F0FC;
    --gcu-orange: #FF9C00;
    --gcu-orange-deep: #FF7100;
    --gcu-orange-100: #FFE7C2;

    /* App semantics */
    --gp-primary: var(--gcu-blue);              /* white on it 8.96:1; as text on #fff 8.96:1, on --gp-bg 8.37:1 */
    --gp-primary-hover: var(--gcu-blue-700);    /* white on it 11.69:1 */
    --gp-primary-soft: var(--gcu-blue-100);     /* indigo on it 12.20:1, primary on it 6.80:1 */
    --gp-accent: var(--gcu-cyan);               /* fill/indicator only, never text on white */
    --gp-text-strong: var(--gcu-indigo);        /* 16.09:1 */
    --gp-text: #2E345A;                         /* 11.97:1 on #fff, 11.18:1 on --gp-bg */
    --gp-text-muted: #545C81;                   /* 6.51:1 on #fff, 5.62:1 on --gp-surface-2 */
    --gp-placeholder: #6B7397;                  /* 4.64:1 on #fff */
    --gp-bg: #F6F7FB;
    --gp-surface: #fff;
    --gp-surface-2: #ECEEF5;
    --gp-border: #D9DCEA;                       /* decorative separators */
    --gp-field-border: #828AAC;                 /* 3.40:1 on #fff, 3.17:1 on --gp-bg */

    --gp-success: #187049;                      /* white on it 6.08:1 (brand #1F8A5B is 4.33:1) */
    --gp-success-hover: #125A3A;
    --gp-danger: #C8362F;                       /* white on it 5.22:1 */
    --gp-danger-hover: #A82C26;
    --gp-warning: var(--gcu-orange);            /* filled: indigo text 7.67:1, never white */
    --gp-warning-hover: var(--gcu-orange-deep); /* indigo text 5.83:1 */
    --gp-warning-text: #9A4A00;                 /* warning as text on #fff 6.26:1 */
    --gp-info: var(--gcu-blue);

    /* Soft states (pills, callouts) */
    --gp-success-bg: #DDF2E7; --gp-success-fg: #0F5C3B; /* 6.86:1 */
    --gp-warning-bg: var(--gcu-orange-100); --gp-warning-fg: #7A3E00; /* 6.94:1 */
    --gp-danger-bg: #FBE3E1;  --gp-danger-fg: #9E2A24;  /* 6.11:1 */
    --gp-info-bg: var(--gcu-blue-100); --gp-info-fg: var(--gcu-indigo); /* 12.20:1 */
    --gp-neutral-bg: var(--gp-surface-2); --gp-neutral-fg: var(--gp-text); /* 10.32:1 */

    /* Focus: white inner ring + indigo outer ring, visible on white and on brand blue */
    --gp-focus-ring: 0 0 0 2px #fff, 0 0 0 4px var(--gcu-indigo);

    /* Type */
    --font-sans: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    --fs-2xs: 1.1rem;   /* 11px floor */
    --fs-sm: 1.2rem;    /* 12px */
    --fs-base: 1.3rem;  /* 13px */
    --fs-md: 1.4rem;    /* 14px */
    --fs-lg: 1.6rem;    /* 16px */
    --fs-xl: clamp(1.8rem, 1.6rem + .5vw, 2rem);
    --fs-2xl: 2.4rem;

    /* Spacing, radius, elevation */
    --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px; --s-7: 48px;
    --r-xs: 2px; --r-sm: 4px; --r-md: 6px; --r-pill: 999px;
    --shadow-card: 0 1px 2px rgba(0, 9, 119, .06);
    --shadow-pop: 0 4px 14px rgba(0, 9, 119, .12);
    --shadow-modal: 0 24px 60px rgba(0, 9, 119, .32), 0 6px 16px rgba(0, 9, 119, .16);

    /* Shell */
    --header-h: 60px;
    --sidebar-w: 240px;
    --sidebar-w-c: 72px;
}
