/* GÉNÉRÉ par design/build-tokens.js à partir de design/tokens.json : ne pas modifier à la main */

@font-face { font-family: Inter; src: url(../fonts/Inter-300.woff2) format("woff2"); font-weight: 300; font-style: normal; font-display: swap; } /* light */
@font-face { font-family: Inter; src: url(../fonts/Inter-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; } /* regular */
@font-face { font-family: Inter; src: url(../fonts/Inter-600.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; } /* semibold */
@font-face { font-family: Inter; src: url(../fonts/Inter-700.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; } /* bold */

:root {
  --ms-color-primary: #1A6FC9;
  --ms-color-primary-rgb: 26, 111, 201;
  --ms-color-primary-hover: #155DA8;
  --ms-color-primary-hover-rgb: 21, 93, 168;
  --ms-color-primary-active: #124E8C;
  --ms-color-primary-active-rgb: 18, 78, 140;
  --ms-color-primary-subtle: #F0F7FE;
  --ms-color-primary-subtle-rgb: 240, 247, 254;
  --ms-color-primary-light: #5EA2E6;
  --ms-color-primary-light-rgb: 94, 162, 230;
  --ms-color-success: #047857;
  --ms-color-success-rgb: 4, 120, 87;
  --ms-color-success-hover: #065F46;
  --ms-color-success-hover-rgb: 6, 95, 70;
  --ms-color-success-subtle: #ECFDF5;
  --ms-color-success-subtle-rgb: 236, 253, 245;
  --ms-color-warning: #F59E0B;
  --ms-color-warning-rgb: 245, 158, 11;
  --ms-color-warning-hover: #D97706;
  --ms-color-warning-hover-rgb: 217, 119, 6;
  --ms-color-warning-subtle: #FFFBEB;
  --ms-color-warning-subtle-rgb: 255, 251, 235;
  --ms-color-on-warning: #1E293B;
  --ms-color-on-warning-rgb: 30, 41, 59;
  --ms-color-warning-text: #B45309;
  --ms-color-warning-text-rgb: 180, 83, 9;
  --ms-color-danger: #DC2626;
  --ms-color-danger-rgb: 220, 38, 38;
  --ms-color-danger-hover: #B91C1C;
  --ms-color-danger-hover-rgb: 185, 28, 28;
  --ms-color-danger-subtle: #FEF2F2;
  --ms-color-danger-subtle-rgb: 254, 242, 242;
  --ms-color-info: #155DA8;
  --ms-color-info-rgb: 21, 93, 168;
  --ms-color-info-hover: #124E8C;
  --ms-color-info-hover-rgb: 18, 78, 140;
  --ms-color-info-subtle: #F0F7FE;
  --ms-color-info-subtle-rgb: 240, 247, 254;
  --ms-color-accent: #124E8C;
  --ms-color-accent-rgb: 18, 78, 140;
  --ms-color-male: #124E8C;
  --ms-color-male-rgb: 18, 78, 140;
  --ms-color-female: #3D8BDD;
  --ms-color-female-rgb: 61, 139, 221;
  --ms-color-on-primary: #FFFFFF;
  --ms-color-on-primary-rgb: 255, 255, 255;
  --ms-color-text: #1E293B;
  --ms-color-text-rgb: 30, 41, 59;
  --ms-color-text-muted: #64748B;
  --ms-color-text-muted-rgb: 100, 116, 139;
  --ms-color-text-subtle: #94A3B8;
  --ms-color-text-subtle-rgb: 148, 163, 184;
  --ms-color-background: #F8FAFC;
  --ms-color-background-rgb: 248, 250, 252;
  --ms-color-surface: #FFFFFF;
  --ms-color-surface-rgb: 255, 255, 255;
  --ms-color-surface-muted: #F1F5F9;
  --ms-color-surface-muted-rgb: 241, 245, 249;
  --ms-color-border: #E2E8F0;
  --ms-color-border-rgb: 226, 232, 240;
  --ms-role-superadmin: #124E8C;
  --ms-role-superadmin-rgb: 18, 78, 140;
  --ms-role-admin: #124E8C;
  --ms-role-admin-rgb: 18, 78, 140;
  --ms-role-teacher: #155DA8;
  --ms-role-teacher-rgb: 21, 93, 168;
  --ms-role-staff: #334155;
  --ms-role-staff-rgb: 51, 65, 85;
  --ms-role-accountant: #334155;
  --ms-role-accountant-rgb: 51, 65, 85;
  --ms-role-librarian: #475569;
  --ms-role-librarian-rgb: 71, 85, 105;
  --ms-role-parent: #475569;
  --ms-role-parent-rgb: 71, 85, 105;
  --ms-role-student: #1A6FC9;
  --ms-role-student-rgb: 26, 111, 201;
  --ms-font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --ms-font-size-xs: 0.75rem;
  --ms-font-size-sm: 0.8125rem;
  --ms-font-size-md: 0.875rem;
  --ms-font-size-lg: 1rem;
  --ms-font-size-xl: 1.125rem;
  --ms-font-size-2xl: 1.375rem;
  --ms-font-size-3xl: 1.75rem;
  --ms-space-1: 4px;
  --ms-space-2: 8px;
  --ms-space-3: 12px;
  --ms-space-4: 16px;
  --ms-space-5: 24px;
  --ms-space-6: 32px;
  --ms-space-7: 48px;
  --ms-radius-sm: 6px;
  --ms-radius-md: 10px;
  --ms-radius-lg: 14px;
  --ms-radius-xl: 20px;
  --ms-radius-pill: 999px;
  --ms-duration-fast: 150ms;
  --ms-duration-normal: 250ms;
  --ms-card-radius: 10px;
  --ms-button-radius: 6px;
  --ms-input-radius: 6px;
  --ms-badge-radius: 999px;

  /* Bootstrap */
  --bs-primary: #1A6FC9;
  --bs-primary-rgb: 26, 111, 201;
  --bs-success: #047857;
  --bs-success-rgb: 4, 120, 87;
  --bs-warning: #F59E0B;
  --bs-warning-rgb: 245, 158, 11;
  --bs-danger: #DC2626;
  --bs-danger-rgb: 220, 38, 38;
  --bs-info: #155DA8;
  --bs-info-rgb: 21, 93, 168;
  --bs-body-font-family: var(--ms-font-family);
}

/* Composants */
body { font-family: var(--ms-font-family); }
.card { border-radius: var(--ms-card-radius); }
.btn:not(.btn-rounded):not(.rounded-pill):not(.btn-link) { border-radius: var(--ms-button-radius); }
.form-control:not(.rounded-pill), .form-select { border-radius: var(--ms-input-radius); }
.input-group > .form-control:not(:first-child), .input-group > .form-select:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > .form-control:not(:last-child), .input-group > .form-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
/* Texte foncé sur jaune (contraste) */
.btn-warning, .btn-warning:hover, .btn-warning:focus, .badge.bg-warning { color: var(--ms-color-on-warning); }

/* Badges de rôle : <span class="badge ms-role-badge ms-role-teacher">...</span> */
.ms-role-badge { border-radius: var(--ms-badge-radius); color: rgb(var(--ms-role-rgb)); background-color: rgba(var(--ms-role-rgb), .12); font-weight: 600; }
.ms-role-superadmin { --ms-role-rgb: var(--ms-role-superadmin-rgb); }
.ms-role-admin { --ms-role-rgb: var(--ms-role-admin-rgb); }
.ms-role-teacher { --ms-role-rgb: var(--ms-role-teacher-rgb); }
.ms-role-staff { --ms-role-rgb: var(--ms-role-staff-rgb); }
.ms-role-accountant { --ms-role-rgb: var(--ms-role-accountant-rgb); }
.ms-role-librarian { --ms-role-rgb: var(--ms-role-librarian-rgb); }
.ms-role-parent { --ms-role-rgb: var(--ms-role-parent-rgb); }
.ms-role-student { --ms-role-rgb: var(--ms-role-student-rgb); }

/* Teintes : <div class="ms-kpi ms-tone-student"> ; lues via --ms-tone-rgb */
.ms-tone-primary { --ms-tone-rgb: var(--ms-color-primary-rgb); }
.ms-tone-success { --ms-tone-rgb: var(--ms-color-success-rgb); }
.ms-tone-warning { --ms-tone-rgb: var(--ms-color-warning-rgb); }
.ms-tone-danger { --ms-tone-rgb: var(--ms-color-danger-rgb); }
.ms-tone-info { --ms-tone-rgb: var(--ms-color-info-rgb); }
.ms-tone-superadmin { --ms-tone-rgb: var(--ms-role-superadmin-rgb); }
.ms-tone-admin { --ms-tone-rgb: var(--ms-role-admin-rgb); }
.ms-tone-teacher { --ms-tone-rgb: var(--ms-role-teacher-rgb); }
.ms-tone-staff { --ms-tone-rgb: var(--ms-role-staff-rgb); }
.ms-tone-accountant { --ms-tone-rgb: var(--ms-role-accountant-rgb); }
.ms-tone-librarian { --ms-tone-rgb: var(--ms-role-librarian-rgb); }
.ms-tone-parent { --ms-tone-rgb: var(--ms-role-parent-rgb); }
.ms-tone-student { --ms-tone-rgb: var(--ms-role-student-rgb); }
