:root {
  --bg: #f2ede3;
  --bg-elevated: rgba(255, 250, 241, 0.94);
  --panel: rgba(255, 250, 241, 0.96);
  --panel-strong: #ffffff;
  --line: #d9d1c3;
  --line-strong: #b9afa0;
  --text: #111318;
  --muted: #606873;
  --soft: #333943;
  --accent: #0f63ff;
  --accent-dark: #ffffff;
  --glow: #0f63ff;
  --shadow: 0 24px 80px rgba(24, 27, 32, 0.12);
}

body,
.learner-body {
  color: var(--text);
  background:
    linear-gradient(90deg, rgba(17, 19, 24, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, #f2ede3 0%, #fffaf2 48%, #eee7d8 100%);
  background-size: 72px 100%, auto;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body::before,
.background-glow { display: none; }

h1, h2, .course-section h2, .course-intro h1, .ia-module-copy h3, .lesson h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.page-shell { width: min(calc(100% - 28px), 1480px); }
.site-header, .learner-topbar {
  border-color: var(--line);
  background: rgba(255, 250, 241, 0.94);
  box-shadow: 0 10px 36px rgba(24, 27, 32, 0.08);
}
.site-header { border-radius: 10px; }
.brand-mark {
  border-radius: 8px;
  border-color: #191c22;
  background: #191c22;
  color: #fff;
  box-shadow: 5px 5px 0 #0f63ff;
  font-family: Georgia, serif;
}
.brand-text small, .site-nav a { color: var(--muted); }
.site-nav a:hover { color: #0f63ff; }
.header-cta, .button-secondary {
  color: var(--text);
  border-color: var(--line-strong);
  background: rgba(255,255,255,.62);
}
.button-primary {
  border-color: #0f63ff;
  background: #0f63ff;
  color: #fff;
}
.eyebrow, .ia-module-copy > span, .module-code, .course-kicker { color: #123a87; }

.ia-hero, .ia-audience, .ia-program, .ia-project, .ia-method, .ia-cta,
.ia-module-card, .ia-command-card, .ia-deliverables, .ia-method-grid article,
.course-section, .welcome-grid article, .exam-grid article, .module-output,
.lesson-number, .concept-grid > div, .compliance-grid > div, .activity,
.knowledge-check, .oral-plan, .template {
  border-color: var(--line);
  background: rgba(255, 250, 241, 0.96);
  color: var(--text);
}
.ia-hero, .ia-audience, .ia-program, .ia-project, .ia-method, .ia-cta, .course-section {
  border-radius: 12px;
  box-shadow: var(--shadow);
}
.ia-hero::after { background: radial-gradient(circle, rgba(15,99,255,.12), transparent 68%); }
.ia-command-card { border-color: #191c22; box-shadow: 14px 14px 0 rgba(15,99,255,.13); }
.ia-command-steps li, .ia-keyfacts li, .roadmap > div, .kpi-grid > div, .prompt-framework > div {
  border-color: var(--line);
  background: rgba(255,255,255,.68);
}
.ia-command-steps li > span, .ia-module-number, .lesson-number, .prompt-framework span {
  background: #0f63ff;
  color: #fff;
}
.status-dot { color: #257548; }
.status-dot::before { background: #38a367; box-shadow: none; }
.ia-audience-grid article { background: rgba(255,255,255,.65); border-left-color: #0f63ff; }
.ia-deliverables { border-left: 5px solid #0f63ff; }
.ia-deliverables li, .lesson p, .method-list li, .course-lead, .welcome-grid p, .exam-grid p { color: var(--muted); }

.learner-topbar { border-bottom: 1px solid var(--line); }
.learner-progress { color: var(--muted); }
.progress-track { background: #ded7ca; }
#progress-bar { background: #0f63ff; }
.course-sidebar { border-color: var(--line); background: rgba(246,242,234,.94); }
.course-nav a { color: var(--muted); }
.course-nav a:hover, .course-nav a.is-active { background: #191c22; color: #fff; }
.course-nav a > span { background: rgba(15,99,255,.1); color: #123a87; }
.course-nav a.is-active > span { background: #0f63ff; color: #fff; }
.resource-link { border-color: var(--line-strong); color: var(--text); background: rgba(255,255,255,.62); }
.course-welcome { background: linear-gradient(145deg, rgba(15,99,255,.09), rgba(255,250,241,.96) 48%); }
.callout { border-color: #d8a75d; background: #fff7e8; }
.callout p { color: #65553e; }
.completion { border-color: #96c7aa; background: #effaf3; }
.completion input { accent-color: #257548; }
.rule { background: rgba(15,99,255,.06); border-left-color: #0f63ff; }
.knowledge-check { background: #f3eee5; }
.knowledge-check label { border-color: var(--line); color: var(--soft); background: rgba(255,255,255,.72); }
.prompt-example { background: #191c22; color: #edf3ff; }
.process-flow span, .criteria span { background: #f2ede3; border-color: var(--line); color: var(--soft); }
.worksheet input, .worksheet textarea { background: #fff !important; color: var(--text) !important; }

@media (max-width: 720px) {
  .page-shell { width: 100%; margin-top: 0; }
  .site-header { border-radius: 0; }
}

/* FIX FORMULAIRES ADMIN - LISIBILITE */
form input, form select, form textarea, input[type="text"], input[type="email"], input[type="password"], select, textarea { background-color:#ffffff !important; color:#111111 !important; -webkit-text-fill-color:#111111 !important; border:1px solid #b8b8b8 !important; caret-color:#111111 !important; }
form input:focus, form select:focus, form textarea:focus, input:focus, select:focus, textarea:focus { background-color:#ffffff !important; color:#111111 !important; -webkit-text-fill-color:#111111 !important; outline:2px solid #2563eb !important; }
select option { background:#ffffff !important; color:#111111 !important; }
input::placeholder, textarea::placeholder { color:#777777 !important; -webkit-text-fill-color:#777777 !important; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { -webkit-box-shadow:0 0 0 1000px #ffffff inset !important; -webkit-text-fill-color:#111111 !important; }
