@font-face { font-family: Poppins; src: local("Poppins"); font-display: swap; }
:root { --ink:#163250; --blue:#215583; --orange:#54abb4; --paper:#fbfaf7; --line:#dbe3eb; --muted:#62748a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font-family:Poppins,Arial,sans-serif; color:var(--ink); background:var(--paper); }
.logo { width:172px; height:auto; display:block; }
.auth-shell,.notice { min-height:100vh; display:grid; place-items:center; padding:24px; }
.auth-card { width:min(100%,480px); background:#fff; padding:44px; border:1px solid var(--line); border-radius:24px; box-shadow:0 18px 48px rgba(22,50,80,.08); }
.eyebrow { margin:24px 0 6px; color:var(--orange); font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
h1 { margin:0; font-size:2rem; line-height:1.2; } h2 { font-size:1.1rem; } .muted,td span { color:var(--muted); }
.form { display:grid; gap:18px; margin-top:28px; } label { display:grid; gap:7px; font-weight:600; font-size:.9rem; }
input,select,textarea { width:100%; border:1px solid #aebdcb; border-radius:10px; padding:13px; font:inherit; background:#fff; } input:focus,select:focus,textarea:focus { outline:3px solid #d7e9f8; border-color:var(--blue); }
button,.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:0; border-radius:10px; background:var(--orange); color:#fff; padding:0 18px; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.error { border-left:4px solid #b42318; padding:12px; background:#fff0ef; color:#8f1d14; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:260px minmax(0,1fr); }
aside { padding:32px 24px; background:var(--ink); color:#fff; display:flex; flex-direction:column; gap:26px; } aside .logo { padding:12px; border-radius:14px; background:#fff; } aside .eyebrow { margin:0; color:#54abb4; } nav { display:grid; gap:5px; } nav a,.link-button { color:#d9e8f5; padding:11px 12px; border-radius:8px; text-decoration:none; text-align:left; background:transparent; min-height:0; font-weight:500; } nav a.active,nav a:hover { background:#284a6d; color:#fff; } aside form { margin-top:auto; }
.content { padding:48px clamp(24px,6vw,90px); max-width:1300px; width:100%; } header { display:flex; justify-content:space-between; align-items:end; gap:20px; } header .eyebrow { margin:0 0 6px; }
.summary { display:grid; grid-template-columns:repeat(2,minmax(0,230px)); gap:16px; margin:36px 0; }.summary article,.panel { background:#fff; border:1px solid var(--line); border-radius:16px; }.summary article { padding:20px; display:grid; gap:5px; color:var(--muted); }.summary strong { font-size:1.4rem; color:var(--ink); }.panel { padding:24px; } table { border-collapse:collapse; width:100%; } th,td { border-bottom:1px solid var(--line); padding:15px 8px; text-align:left; font-size:.9rem; } th { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; } td a { color:var(--blue); font-weight:700; }.empty { color:var(--muted); text-align:center; padding:36px; }
.status { display:inline-block; border-radius:999px; padding:4px 9px; font-size:.75rem; font-weight:700; background:#edf2f7; }.status-open { background:#dcfce7; color:#166534; }.status-closed,.status-archived { background:#f2f4f7; color:#475467; }.status-draft { background:#fff5d6; color:#885300; }
.success { border-left:4px solid #157980; padding:12px; background:#eef8f8; color:#135d62; }.secondary { background:#215583; }.action-list,.actions,.header-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }.lilac-button { background:#f4effa; border:1px solid #d8cae8; color:#4f3668; }.lilac-button:hover { background:#e9dff3; }.adn-blue-button { background:#163250; box-shadow:0 3px 0 #0d2136; }.adn-blue-button:hover { background:#215583; }.campaign-secondary-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }.secondary-action { display:inline-flex; align-items:center; min-height:38px; padding:0 13px; border:1px solid #e2d9c8; border-radius:999px; background:#faf7ef; color:#79634c; font-weight:700; font-size:.9rem; text-decoration:none; }.secondary-action:hover { background:#f3ead8; }.secondary-action-danger { border-color:#e9d3cd; background:#fff8f5; color:#8a554d; }.secondary-action-danger:hover { background:#f9ece8; }.client-logo { max-width:120px; max-height:65px; object-fit:contain; }.respondent-shell { max-width:780px; margin:0 auto; padding:38px 20px; }.respondent-card { background:#fff; padding:clamp(24px,6vw,54px); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 48px rgba(22,50,80,.08); }.respondent-card .logo { max-width:160px; margin-bottom:20px; }.respondent-client-logo { display:block; max-width:150px; max-height:75px; object-fit:contain; margin:-4px 0 24px; }.respondent-card fieldset { margin:18px 0; border:1px solid var(--line); border-radius:12px; padding:16px; }.respondent-card legend { padding:0 6px; font-weight:700; }.choice { display:inline-flex; width:auto; align-items:center; margin:8px 13px 0 0; font-weight:500; }.choice input { width:auto; margin-right:6px; }.respondent-card .actions { margin-top:28px; }.respondent-card .actions button:first-child { background:#eef2f6; color:var(--ink); }
@media (max-width:760px) { .app-shell { grid-template-columns:1fr; } aside { padding:20px; gap:16px; } nav { grid-template-columns:repeat(3,1fr); } .content { padding:30px 20px; } header { align-items:start; flex-direction:column; } .summary { grid-template-columns:1fr; } .panel { overflow:auto; } .auth-card { padding:30px 24px; } }
.filters-panel { margin:30px 0; background:#f8faff; }.result-filters { display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)) auto; gap:14px; align-items:end; }.result-filters label { margin:0; }.filter-button { background:#163250; min-height:49px; }.results-summary { margin:30px 0; }.results-summary h2,.segmentation h2,.chart-title { color:#5a3293; }.results-summary>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #d8cae8; }.results-summary article { padding:20px; text-align:center; display:grid; gap:8px; border-right:1px solid #d8cae8; background:#fff; }.results-summary article:last-child { border-right:0; }.results-summary strong { font-size:2rem; }.score-lever { color:#157980 !important; }.score-brake { color:#b71c1c !important; }.result-chart { display:block; width:100%; height:auto; min-width:720px; margin:12px 0 24px; }.panel:has(.result-chart) { overflow-x:auto; }.segmentation { margin-top:34px; }.segmentation>h3 { margin-top:34px; }.chart-title { font-size:1.35rem; margin:28px 0 6px; }.focus-panel { border-color:#d8cae8; }.open-analysis { margin:24px 0; padding:20px; border:1px solid #d8cae8; border-radius:12px; background:#faf8fd; }.open-analysis h3 { color:#5a3293; margin-top:0; }.theme-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; }.theme-grid article { padding:14px; border:1px solid #e2d9ec; border-radius:10px; background:#fff; display:grid; gap:5px; }.theme-grid strong { color:#4f3668; }.theme-grid span { color:#62748a; font-size:.9rem; }.focus-panel blockquote { margin:14px 0; padding:14px 18px; border-left:4px solid #c39dc9; background:#fcfbfd; }.focus-panel blockquote p { margin:0; }.focus-panel blockquote footer { margin-top:10px; color:#62748a; font-size:.9rem; }
@media (max-width:900px) { .result-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .result-filters button { grid-column:1 / -1; } }
@media (max-width:560px) { .result-filters,.results-summary>div { grid-template-columns:1fr; }.results-summary article { border-right:0; border-bottom:1px solid #d8cae8; }.results-summary article:last-child { border-bottom:0; } }
.campaign-tabs { display:flex; flex-wrap:wrap; gap:9px; margin:30px 0 26px; padding-bottom:16px; border-bottom:1px solid #d8dfe6; }.campaign-tabs a { padding:10px 15px; border:1px solid #d8cae8; border-radius:999px; background:#f4effa; color:#4f3668; text-decoration:none; font-weight:700; font-size:.9rem; }.campaign-tabs a:hover,.campaign-tabs a:focus { background:#5a3293; border-color:#5a3293; color:#fff; }.interventions-intro { margin:30px 0; padding:28px; border:1px solid #d8cae8; border-radius:14px; background:#faf8fd; }.interventions-intro h2 { margin-top:0; color:#5a3293; }.intervention-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-top:20px; }.intervention-steps article { padding:16px; border:1px solid #e2d9ec; border-radius:10px; background:#fff; }.intervention-steps strong { display:block; color:#4f3668; }.intervention-steps span { display:block; margin-top:6px; color:#62748a; font-size:.9rem; line-height:1.45; }
.open-campaign-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 16px; border-radius:9px; background:#a3cbed; color:#163250; font-weight:800; text-decoration:none; }.open-campaign-button:hover { background:#80b5df; }.form-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }.form-back-button { background:#eef3f7; color:#163250; }.form-back-button:hover { background:#dce8f1; }

/* Charte ADN : la couleur indique une fonction, jamais une simple décoration. */
:root { --action-primary:#163250; --action-primary-hover:#215583; --action-secondary:#157980; --action-secondary-hover:#135d62; --surface-soft:#f7f9fb; }
.eyebrow, aside .eyebrow { color:var(--action-secondary); }
button,.button { background:var(--action-primary); }
button:hover,.button:focus { background:var(--action-primary-hover); }
.secondary,.lilac-button,.open-campaign-button,.form-back-button { background:var(--action-secondary); border-color:var(--action-secondary); color:#fff; }
.secondary:hover,.lilac-button:hover,.open-campaign-button:hover,.form-back-button:hover { background:var(--action-secondary-hover); border-color:var(--action-secondary-hover); color:#fff; }
.secondary-action { border-color:var(--action-secondary); background:var(--action-secondary); color:#fff; }
.secondary-action:hover { background:var(--action-secondary-hover); border-color:var(--action-secondary-hover); color:#fff; }
.secondary-action-danger,.secondary-action-danger:hover { border-color:#e9d3cd; background:#fff4f2; color:#9d3528; }
.filters-panel,.focus-panel,.interventions-intro { background:#fff; border-color:var(--line); }
.results-summary h2,.segmentation h2,.chart-title,.interventions-intro h2 { color:var(--ink); }
.results-summary>div,.results-summary article { border-color:var(--line); }
.campaign-tabs { border-color:var(--line); }
.campaign-tabs a { border-color:var(--line); background:#fff; color:var(--ink); }
.campaign-tabs a:hover,.campaign-tabs a:focus { background:var(--action-secondary); border-color:var(--action-secondary); color:#fff; }
/* Le mauve reste exclusivement dédié à la lecture qualitative des verbatims. */
.open-analysis { background:#faf8fd; border-color:#d8cae8; }
.open-analysis h3,.theme-grid strong { color:#4f3668; }
.campaign-tabs a { background:#f4effa; border-color:#d8cae8; color:#4f3668; }
.campaign-tabs a:hover,.campaign-tabs a:focus,.campaign-tabs a.is-active { background:#5a3293; border-color:#5a3293; color:#fff; }
.key-average-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); margin-top:20px; }.key-average-summary article { padding:18px; display:grid; gap:7px; text-align:center; border-right:1px solid var(--line); }.key-average-summary article:last-child { border-right:0; }.key-average-summary span { color:var(--muted); font-size:.9rem; }.key-average-summary strong { font-size:1.35rem; }
.open-response-filter { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:20px 0; padding:16px; border:1px solid #d8cae8; border-radius:12px; background:#faf8fd; }.open-response-filter label { flex:1 1 250px; margin:0; }.open-response-filter button { min-height:44px; background:var(--action-secondary); }.open-response-filter button:hover { background:var(--action-secondary-hover); }
@media (max-width:760px) { .key-average-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.key-average-summary article:nth-child(2) { border-right:0; }.key-average-summary article:nth-child(-n+2) { border-bottom:1px solid var(--line); } }
.respondent-card .welcome-lead { margin-top:24px; font-size:1.08rem; }.respondent-card .about-tool-title { margin:30px 0 8px; color:var(--ink); font-size:1.05rem; }.respondent-card .key-prompt { margin:8px 0 24px; color:#76528f; font-size:1.05rem; font-weight:700; }
.raw-response-header { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:16px; }.raw-response-header h2 { margin:0; }.raw-response-detail { margin-top:24px; }.raw-answer-key { margin-top:20px; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }.raw-answer-key h3 { margin:0 0 12px; color:var(--ink); }.raw-answer-key ol { margin:0; padding-left:22px; }.raw-answer-key li { margin:0 0 14px; line-height:1.45; }.raw-answer-key li:last-child { margin-bottom:0; }.raw-answer-key span { color:var(--muted); }.delete-response-form { margin-top:24px; }.delete-response-form .secondary-action-danger { cursor:pointer; }
.campaign-secondary-actions .campaign-management-action,.campaign-secondary-actions .campaign-management-action:hover { border-color:#e9d3cd; background:#fff4f2; color:#9d3528; }
.settings-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:28px 0; }.settings-card { display:grid; gap:8px; min-height:130px; padding:20px; border:1px solid #d8cae8; border-radius:14px; background:#faf8fd; color:var(--ink); text-decoration:none; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }.settings-card:hover,.settings-card:focus { transform:translateY(-2px); border-color:#8764b3; box-shadow:0 7px 18px rgba(79,54,104,.12); }.settings-card strong { color:#4f3668; font-size:1.05rem; }.settings-card span { color:var(--muted); font-size:.9rem; line-height:1.45; }.settings-section { margin:20px 0; scroll-margin-top:24px; }.settings-section h2 { margin-top:0; }.settings-section > p { max-width:780px; line-height:1.5; }.settings-form { max-width:680px; }.settings-form fieldset { border:1px solid var(--line); border-radius:12px; padding:16px; }.settings-form legend { padding:0 6px; font-weight:800; }.guide-settings details { margin:10px 0; padding:14px 16px; border:1px solid #e1d7ec; border-radius:10px; background:#faf8fd; }.guide-settings summary { cursor:pointer; color:#4f3668; font-weight:800; }.guide-settings details p,.guide-settings details ul { margin:12px 0 0; color:var(--ink); line-height:1.5; }.guide-settings details ul { padding-left:20px; }.guide-settings details li { margin:6px 0; }
@media (max-width:1000px) { .settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .settings-grid { grid-template-columns:1fr; }.settings-card { min-height:0; } }
.intervention-steps { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }.intervention-steps .intervention-card { padding:20px; border:1px solid var(--line); border-top:5px solid #157980; border-radius:12px; background:#fff; color:var(--ink); }.intervention-steps .intervention-card.is-priority { border-top-color:#b71c1c; }.intervention-steps .intervention-card.is-vigilance { border-top-color:#b98528; }.intervention-card h3 { margin:8px 0 16px; font-size:1.25rem; }.intervention-card p { line-height:1.5; }.intervention-card ul { margin:8px 0 0; padding-left:20px; }.intervention-card li { margin:7px 0; line-height:1.4; }.intervention-status { margin:0; font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#9d3528; }.is-vigilance .intervention-status { color:#8a631f; }.intervention-themes { margin:16px 0; padding:12px; border-radius:9px; background:#faf8fd; border:1px solid #e2d9ec; display:grid; gap:4px; }.intervention-themes strong { color:#4f3668; }.intervention-themes span { color:#62748a; font-size:.9rem; }
.axis-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 18px; }.axis-tabs a { display:inline-flex; gap:8px; align-items:center; padding:10px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font-weight:800; text-decoration:none; }.axis-tabs span { display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; font-size:.78rem; background:rgba(22,50,80,.08); }.axis-tabs a[data-axis-tab="freins"] { border-color:#edc9c6; color:#9d3528; }.axis-tabs a[data-axis-tab="freins"].is-active { background:rgba(183,28,28,.12); border-color:#c95a52; }.axis-tabs a[data-axis-tab="vigilances"] { border-color:#ead5ad; color:#8a631f; }.axis-tabs a[data-axis-tab="vigilances"].is-active { background:rgba(212,146,38,.14); border-color:#c99136; }.axis-tabs a[data-axis-tab="leviers"] { border-color:#b9dfcb; color:#17643c; }.axis-tabs a[data-axis-tab="leviers"].is-active { background:rgba(36,135,82,.13); border-color:#4a9c6e; }.axis-description { margin:0 0 18px; color:var(--muted); }.intervention-steps .intervention-card.is-frein { border-color:#edc9c6; border-top-color:#b71c1c; background:rgba(183,28,28,.06); }.intervention-steps .intervention-card.is-vigilance { border-color:#ead5ad; border-top-color:#c99136; background:rgba(212,146,38,.08); }.intervention-steps .intervention-card.is-levier { border-color:#b9dfcb; border-top-color:#248752; background:rgba(36,135,82,.07); }.is-frein .intervention-status { color:#9d3528; }.is-vigilance .intervention-status { color:#8a631f; }.is-levier .intervention-status { color:#17643c; }.axis-empty { padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; display:grid; gap:6px; }.axis-empty span { color:var(--muted); }
.axis-service-filter { margin:20px 0 14px; }.axis-selection-summary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; padding:12px 14px; border:1px solid #d8dfe6; border-radius:10px; background:#fff; color:var(--ink); }.axis-selection-summary span { color:var(--muted); font-weight:700; }.axis-caution { margin:12px 0; padding:10px 12px; border-left:4px solid #c99136; border-radius:7px; background:rgba(212,146,38,.10); color:#6f531f; }.axis-service-overview { margin:22px 0; padding:18px; border:1px solid #d8dfe6; border-radius:12px; background:#fff; }.axis-service-overview h3 { margin:0; }.axis-service-overview p { margin:7px 0 14px; }.axis-service-signals { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; }.axis-service-signal { display:grid; gap:5px; padding:13px 14px; border:1px solid; border-radius:10px; text-decoration:none; transition:transform .15s ease,box-shadow .15s ease; }.axis-service-signal:hover,.axis-service-signal:focus { transform:translateY(-1px); box-shadow:0 3px 10px rgba(22,50,80,.12); }.axis-service-signal strong { color:inherit; }.axis-service-signal span { color:inherit; font-size:.86rem; line-height:1.4; }
.axis-overview-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.axis-overview-heading .button { flex:0 0 auto; }.axis-service-table { margin:0; }.axis-service-table th,.axis-service-table td { vertical-align:middle; }.axis-selection-placeholder,.axis-selection-detail,.axis-zones { padding:20px; border:1px solid #d8dfe6; border-radius:12px; background:#fff; }.axis-selection-placeholder { border-left:5px solid #187d85; background:#f7fbfb; }.axis-selection-placeholder h3,.axis-selection-detail h3,.axis-zones > h3 { margin-top:0; }.axis-selection-placeholder p,.axis-selection-detail p { margin-bottom:0; color:var(--muted); }.axis-selection-detail { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:12px; }.axis-selection-detail .axis-caution { flex:1 1 280px; }.axis-zones { margin-top:16px; }.axis-zone-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.axis-zone-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }.axis-work-zone { padding:16px; border:1px solid; border-radius:12px; }.axis-work-zone h3 { margin:0 0 6px; }.axis-work-zone > p { margin:0 0 14px; color:var(--muted); font-size:.9rem; line-height:1.4; }.axis-work-zone .intervention-steps { grid-template-columns:1fr; margin-top:0; }.axis-work-zone .intervention-card { background:rgba(255,255,255,.62) !important; }.axis-work-zone .intervention-card h3 { margin-bottom:12px; }
.global-axis-list { display:grid; gap:9px; }.global-axis-card { padding:11px; border:1px solid rgba(23,56,91,.14); border-radius:9px; background:rgba(255,255,255,.58); }.global-axis-card strong { display:block; margin-bottom:4px; color:var(--ink); }.global-axis-card span { display:block; color:var(--muted); font-size:.87rem; line-height:1.42; }
.global-axis-card-button { display:grid !important; width:100%; min-height:0 !important; padding:16px !important; align-items:start !important; justify-content:start !important; gap:0; text-align:left; white-space:normal; font:inherit; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease; }.global-axis-card-button:hover,.global-axis-card-button:focus { transform:translateY(-1px); border-color:#a9756f; background:rgba(255,255,255,.92); box-shadow:0 4px 12px rgba(86,51,48,.10); }.global-axis-card-button em { display:block; margin-top:10px; color:#8d3b32; font-size:.82rem; font-style:normal; font-weight:800; }.clinical-signal-details { margin-top:18px; }.clinical-signal-detail { padding:22px; border:1px solid #d8cae8; border-left:5px solid #5a3293; border-radius:12px; background:#faf8fd; }.clinical-signal-detail[hidden] { display:none; }.clinical-signal-kicker { margin:0 0 6px !important; color:#4f3668 !important; font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }.clinical-signal-detail h3 { margin:0 0 8px; }.clinical-signal-detail > div > p { margin:0; color:var(--muted); line-height:1.5; }.clinical-signal-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; }.clinical-signal-columns section,.clinical-subthemes article { padding:14px; border:1px solid #e1d7ec; border-radius:10px; background:#fff; }.clinical-signal-columns h4,.clinical-subthemes h4 { margin:0 0 8px; color:#4f3668; }.clinical-signal-columns p,.clinical-subthemes > p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.48; }.clinical-signal-services { display:grid; gap:8px; margin:0; padding:0; list-style:none; }.clinical-signal-services li { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid #eee7f4; padding-bottom:8px; }.clinical-signal-services li:last-child { border-bottom:0; padding-bottom:0; }.clinical-signal-services span { color:var(--muted); font-size:.9rem; }.clinical-subthemes > p { margin-bottom:12px; }.clinical-subthemes > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.clinical-subthemes article { display:grid; gap:5px; }.clinical-subthemes article strong { color:var(--ink); }.clinical-subthemes article span { color:var(--muted); font-size:.9rem; line-height:1.45; }
.open-analysis h4 { margin:22px 0 10px; color:#4f3668; }.open-details-toggle { display:inline-flex; align-items:center; margin-top:16px; padding:9px 13px; border:1px solid #d8cae8; border-radius:999px; background:#f4effa; color:#4f3668; font:inherit; font-weight:700; cursor:pointer; }.open-details-toggle:hover { background:#e9dff3; }.open-details-content { margin-top:14px; }.open-details-content[hidden] { display:none; }.open-key-distribution { margin:26px 0 0; }.open-key-distribution h3 { margin-bottom:10px; }
@media (max-width:800px) { .axis-overview-heading { flex-direction:column; }.axis-zone-grid { grid-template-columns:1fr; } .axis-service-table th:nth-child(3),.axis-service-table td:nth-child(3) { display:none; } }
@media (max-width:700px) { .clinical-signal-columns,.clinical-subthemes > div { grid-template-columns:1fr; }.clinical-signal-services li { display:grid; gap:2px; } }

/* Axes d'intervention : quatre conditions cliniques, couleurs = niveau d'attention. */
.axis-signal-legend { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.axis-signal-legend span { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; font-size:.8rem; font-weight:800; }
.axis-signal-legend .is-frein { background:#fdf0ef; color:#9d3528; }
.axis-signal-legend .is-vigilance { background:#fdf6e9; color:#8a631f; }
.axis-signal-legend .is-levier { background:#eff8f2; color:#17643c; }
.axis-service-map { display:grid; gap:12px; }
.axis-service-map-card { padding:15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.axis-service-map-card.is-selected { border:2px solid var(--action-secondary); background:#f7fbfb; }
.axis-service-map-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.axis-service-map-heading h4 { margin:0; font-size:1.08rem; }
.axis-service-map-heading p { margin:3px 0 0; color:var(--muted); font-size:.87rem; }
.axis-service-map-dimensions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.axis-matrix-cell { display:grid; gap:6px; padding:11px; border:1px solid; border-radius:9px; min-width:0; }
.axis-matrix-cell strong { color:inherit; font-size:.83rem; line-height:1.25; }
.axis-matrix-cell span { color:inherit; font-size:.78rem; line-height:1.35; }
.axis-matrix-cell.is-frein { border-color:#edc9c6; background:#fdf0ef; color:#9d3528; }
.axis-matrix-cell.is-vigilance { border-color:#ead5ad; background:#fdf6e9; color:#8a631f; }
.axis-matrix-cell.is-levier { border-color:#b9dfcb; background:#eff8f2; color:#17643c; }
.axis-matrix-cell.is-empty { border-color:var(--line); background:var(--surface-soft); color:var(--muted); }
.axis-dimension-detail { margin-top:16px; padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.axis-dimension-detail > h3 { margin:0; }
.axis-dimension-detail > p { margin:7px 0 16px; }
.axis-dimension-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.axis-dimension-zone { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.axis-dimension-zone h3 { margin:0 0 7px; font-size:1.08rem; }
.axis-dimension-zone > p { margin:0 0 14px; color:var(--muted); font-size:.9rem; line-height:1.45; }
.axis-dimension-zone .intervention-steps { grid-template-columns:1fr; margin-top:0; }
.clinical-reading-levels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:22px 0 26px; }
.clinical-reading-levels .clinical-reading-card { display:flex !important; flex-direction:column; align-items:flex-start; gap:10px; min-height:168px; box-sizing:border-box; padding:24px; border:1px solid rgba(90,50,147,.28); border-radius:16px; background:rgba(90,50,147,.10); color:var(--ink) !important; text-decoration:none !important; box-shadow:0 3px 12px rgba(22,50,80,.04); transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease; }
.clinical-reading-levels .clinical-reading-card:hover,.clinical-reading-levels .clinical-reading-card:focus { transform:translateY(-2px); border-color:#5a3293; background:rgba(90,50,147,.16); box-shadow:0 8px 20px rgba(79,54,104,.14); }
.clinical-reading-levels .clinical-reading-card strong { color:#4f3668; font-size:1.18rem; line-height:1.3; }
.clinical-reading-levels .clinical-reading-card > span { color:#62748a; font-size:.96rem; line-height:1.45; }
.clinical-reading-levels .clinical-reading-card .clinical-reading-action { margin-top:auto; color:#157980; font-size:.9rem; font-weight:800; }

.qualitative-dynamics { margin-top:14px; }
.dynamic-insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.dynamic-insight { display:grid; gap:6px; padding:14px; border:1px solid; border-radius:10px; }
.dynamic-insight strong { color:var(--ink); }
.dynamic-insight span { color:var(--muted); font-size:.9rem; line-height:1.45; }
.dynamic-insight.is-concerns { background:#fdf0ef; border-color:#edc9c6; }
.dynamic-insight.is-resources { background:#eff8f2; border-color:#b9dfcb; }
.dynamic-insight.is-nuance { background:#fdf6e9; border-color:#ead5ad; }
.theme-family-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.theme-family-card { padding:18px !important; background:#f7f1fb !important; border-color:#d8cae8 !important; }
.theme-family-card strong { font-size:1rem; line-height:1.35; }
.theme-family-section { margin-top:16px; padding:15px; border:1px solid #e2d9ec; border-radius:11px; background:rgba(255,255,255,.58); }
.theme-family-section h4 { margin:0 0 11px; color:#4f3668; font-size:1rem; }
.tab-reference { margin:6px 0 20px; color:#4f3668; font-size:1.04rem; font-weight:700; }
.open-key-summary { background:#faf8fd; }
.open-key-card { background:#fff !important; }
.clinical-framework { margin:0 0 22px; padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.clinical-framework h3 { margin:0; }
.clinical-framework > p { margin:7px 0 16px; }
.clinical-framework > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.clinical-framework article { padding:15px; border:1px solid #d8cae8; border-radius:10px; background:#faf8fd; }
.clinical-framework h4 { margin:0 0 8px; color:#4f3668; font-size:1rem; }
.clinical-framework article p { margin:0 0 10px; color:var(--muted); font-size:.9rem; line-height:1.4; }
.clinical-framework ul { margin:0 0 12px; padding-left:19px; color:var(--ink); font-size:.88rem; line-height:1.45; }
.clinical-framework li { margin:4px 0; }
.clinical-framework article span { color:var(--muted); font-size:.82rem; font-weight:700; }
@media (max-width:900px) { .axis-service-map-dimensions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) { .axis-dimension-grid,.dynamic-insight-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .clinical-framework > div { grid-template-columns:1fr; } }
@media (max-width:600px) { .theme-family-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .clinical-reading-levels { grid-template-columns:1fr; } }
@media (max-width:520px) { .axis-service-map-heading { align-items:flex-start; flex-direction:column; }.axis-service-map-dimensions { grid-template-columns:1fr; } }
.restitution-panel > p { max-width:900px; line-height:1.5; }
.results-secondary-action { display:flex; justify-content:flex-end; margin:-2px 0 22px; }
.results-secondary-action a { display:grid; gap:4px; max-width:430px; padding:14px 18px; border:1px solid #e9cfc9; border-radius:12px; background:#fff4f2; color:#96382d; text-decoration:none; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.results-secondary-action a:hover,.results-secondary-action a:focus { transform:translateY(-1px); border-color:#c97468; box-shadow:0 5px 14px rgba(139,56,45,.10); }.results-secondary-action strong { font-size:1rem; }.results-secondary-action span { color:#855f58; font-size:.86rem; line-height:1.35; }
.campaign-tabs a.restitution-tab { margin-left:auto; background:#fff4f2; border-color:#e9cfc9; color:#96382d; }
.campaign-tabs a.restitution-tab:hover,.campaign-tabs a.restitution-tab:focus,.campaign-tabs a.restitution-tab.is-active { background:#f7e6e2; border-color:#c97468; color:#96382d; }
.restitution-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.restitution-download { display:grid; gap:9px; min-height:154px; padding:22px; border:1px solid #d8cae8; border-radius:14px; background:#faf8fd; color:var(--ink); text-decoration:none; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.restitution-download:hover,.restitution-download:focus { transform:translateY(-2px); border-color:#8764b3; box-shadow:0 7px 18px rgba(79,54,104,.12); }
.restitution-download strong { color:#4f3668; font-size:1.08rem; }.restitution-download span { color:var(--muted); line-height:1.45; }.restitution-download em { margin-top:auto; color:#157980; font-size:.9rem; font-style:normal; font-weight:800; }
.restitution-note { padding:16px; border-left:4px solid #157980; border-radius:9px; background:#f7fbfb; }.restitution-note h3 { margin:0 0 6px; color:var(--ink); }.restitution-note p { margin:0; color:var(--muted); line-height:1.45; }
@media (max-width:700px) { .restitution-downloads { grid-template-columns:1fr; } }
@media (max-width:600px) { .results-secondary-action { justify-content:stretch; }.results-secondary-action a { max-width:none; width:100%; } }
