/* Iroko Stages — variables de design et reset.
   Source : Specifications/modele-caisse-iroko.html
   Aucune couleur en dur ailleurs que dans ce fichier. */

:root {
  /* Bleus Iroko */
  --blue-950: #082c5a;
  --blue-900: #073d78;
  --blue-800: #0757a6;
  --blue-700: #0968c7;
  --blue-100: #e7f2ff;
  --blue-50: #f4f9ff;

  /* Rouges */
  --red-700: #c90018;
  --red-600: #df0a24;
  --red-50: #fff1f3;

  /* Jaunes */
  --yellow-500: #ffc928;
  --yellow-100: #fff5ca;

  /* Neutres */
  --ink: #152033;
  --ink-soft: #48546a;
  --muted: #667085;
  --line: #e5eaf1;
  --surface: #ffffff;
  --surface-2: #f5f7fb;

  /* États */
  --success: #14804a;
  --success-bg: #eaf8f0;
  --warning: #9a6700;
  --warning-bg: var(--yellow-100);
  --danger: var(--red-700);
  --danger-bg: var(--red-50);

  /* Ombres */
  --shadow: 0 18px 45px rgba(18, 42, 76, .09);
  --shadow-sm: 0 8px 22px rgba(18, 42, 76, .07);

  /* Rayons */
  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 14px;
  --radius-sm: 10px;

  /* Layout */
  --sidebar: 264px;

  /* Typographie */
  --font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.5;
  background:
    radial-gradient(circle at 88% 3%, rgba(255, 201, 40, .16), transparent 24rem),
    linear-gradient(145deg, #f8fbff 0%, #f3f6fb 52%, #f9fbfd 100%);
  background-attachment: fixed;
}

h1,
h2,
h3 {
  margin: 0;
  letter-spacing: -.03em;
  font-weight: 850;
}

a {
  color: var(--blue-800);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button {
  font: inherit;
  cursor: pointer;
}

img,
svg {
  max-width: 100%;
}

svg {
  fill: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

:focus-visible {
  outline: 3px solid rgba(9, 104, 199, .24);
  outline-offset: 2px;
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
