:root {
  --ink: #172c33;
  --ink-soft: #40565c;
  --paper: #f4f1e9;
  --white: #fffdf8;
  --line: #d8d7ce;
  --coral: #ee684d;
  --coral-dark: #c94a35;
  --teal: #0c7777;
  --teal-pale: #dceceb;
  --blue: #3a6694;
  --sand: #d8ae69;
  --shadow: 0 18px 48px rgb(23 44 51 / 8%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; font-size: 15px; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: "Manrope", sans-serif; letter-spacing: -.035em; }

.topbar { height: 78px; background: var(--white); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 250px minmax(260px, 620px) 1fr; align-items: center; gap: 30px; padding: 0 28px; position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: center; }
.brand-logo { width: 205px; height: 53px; position: relative; display: block; flex: none; overflow: hidden; background: white; border-radius: 5px; }
.brand-logo img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 48.5%; }
.global-search { height: 42px; display: flex; align-items: center; gap: 10px; background: #eeeee8; border: 1px solid transparent; border-radius: 7px; padding: 0 12px; transition: .2s; }
.global-search:focus-within { background: var(--white); border-color: var(--teal); box-shadow: 0 0 0 3px rgb(12 119 119 / 10%); }
.global-search svg, .import-search svg { width: 19px; fill: none; stroke: var(--ink-soft); stroke-width: 1.8; }
.global-search input { background: transparent; border: 0; outline: 0; flex: 1; min-width: 0; }
.shortcut { color: #7a8585; border: 1px solid #cbcbc4; background: var(--white); border-radius: 4px; padding: 2px 6px; font-size: 11px; }
.top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.project-tabs { min-height: 44px; position: sticky; top: 78px; z-index: 19; display: flex; gap: 5px; align-items: center; overflow-x: auto; padding: 5px 28px 5px 245px; background: rgb(255 253 248 / 97%); border-bottom: 1px solid var(--line); box-shadow: 0 4px 12px rgb(23 44 51 / 4%); }
.project-tabs form { margin: 0; }.project-tabs-label, .project-tab { min-height: 32px; white-space: nowrap; display: inline-flex; align-items: center; padding: 5px 11px; color: #607174; background: transparent; border: 1px solid transparent; border-radius: 5px; font-size: 10px; font-weight: 800; cursor: pointer; }.project-tabs-label { color: var(--ink); }.project-tabs-label.active, .project-tab.active { color: white; background: var(--teal); }.project-tab:not(.active):hover { color: var(--teal); border-color: #bcd1cd; }.project-tab-add { color: var(--coral); border-color: #e6b9ae; font-size: 14px; }
.project-tabs + .app-shell { min-height: calc(100vh - 122px); }.project-tabs + .app-shell .sidebar { top: 122px; height: calc(100vh - 122px); }.project-tabs + .app-shell .tabs { top: 122px; }
.button { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 5px; padding: 8px 15px; font-weight: 700; cursor: pointer; transition: transform .16s, background .16s; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: white; background: var(--coral); box-shadow: 0 6px 14px rgb(238 104 77 / 18%); }
.button-primary:hover { background: var(--coral-dark); }
.button-quiet { background: transparent; border: 1px solid var(--line); }
.button-danger { color: white; background: #a33d31; }
.button-danger:hover { background: #832e26; }
.button-danger:disabled { background: #b9b8b1; cursor: not-allowed; transform: none; box-shadow: none; }
.button-large { min-height: 48px; padding: 12px 20px; }

.app-shell { min-height: calc(100vh - 78px); display: grid; grid-template-columns: 230px minmax(0, 1fr); }
.sidebar { position: sticky; top: 78px; height: calc(100vh - 78px); background: #192f35; color: #d9e2df; padding: 27px 16px 18px; display: flex; flex-direction: column; justify-content: space-between; }
.sidebar nav { display: grid; gap: 3px; }
.nav-label { color: #789095; margin: 22px 12px 7px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.nav-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 5px; color: #b7c7c8; font-size: 13px; }
.nav-item > span { width: 18px; text-align: center; font-weight: 700; }
.nav-item:hover { background: rgb(255 255 255 / 6%); color: white; }
.nav-item.active { background: var(--coral); color: white; box-shadow: 0 7px 20px rgb(0 0 0 / 12%); }
.sidebar-foot { border-top: 1px solid rgb(255 255 255 / 10%); padding: 18px 10px 0; display: flex; gap: 10px; align-items: center; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #63c3a5; box-shadow: 0 0 0 4px rgb(99 195 165 / 12%); }
.sidebar-foot b, .sidebar-foot small { display: block; }
.sidebar-foot b { font-size: 12px; }.sidebar-foot small { color: #8fa3a6; font-size: 10px; margin-top: 2px; }
.main-content { min-width: 0; padding: 48px clamp(28px, 4vw, 64px) 80px; max-width: 1600px; width: 100%; margin: 0 auto; }
.prospect-demo .topbar { grid-template-columns: 250px 1fr; }
.prospect-demo .app-shell { grid-template-columns: minmax(0, 1fr); }
.prospect-demo-label { justify-self: end; color: var(--teal); font: 800 10px "Manrope", sans-serif; letter-spacing: .12em; text-transform: uppercase; }

.page-heading { margin-bottom: 34px; }
.split-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; }
.page-heading h1, .entity-hero h1 { font-size: clamp(38px, 4vw, 58px); line-height: 1.04; margin: 8px 0 17px; }
.page-heading h1 em { color: var(--coral); font-style: normal; }
.page-heading p { max-width: 720px; color: var(--ink-soft); font-size: 16px; line-height: 1.65; margin: 0; }
.eyebrow { color: var(--teal); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.heading-actions { display: flex; flex-direction: column; align-items: center; gap: 10px; flex: none; }
.text-link { color: var(--ink-soft); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }

.metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.metric-card { min-height: 142px; border: 1px solid var(--line); background: var(--white); padding: 19px 20px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; border-radius: 7px; position: relative; overflow: hidden; box-shadow: 0 5px 16px rgb(23 44 51 / 3%); }
.metric-card::after { content: ""; position: absolute; inset: auto -20px -35px auto; width: 100px; height: 100px; border-radius: 50%; background: var(--accent); opacity: .08; }
.metric-card > span { font-size: 12px; font-weight: 700; color: var(--ink-soft); }
.metric-card strong { grid-row: 2; align-self: center; font: 800 36px/1 "Manrope", sans-serif; color: var(--accent); }
.metric-card small { grid-row: 3; color: #788487; font-size: 10px; }.metric-card.coral { --accent: var(--coral); }.metric-card.ink { --accent: var(--ink); }.metric-card.blue { --accent: var(--blue); }.metric-card.sand { --accent: #b6812e; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(330px, .8fr); gap: 22px; }
.panel, .content-section, .side-card { background: var(--white); border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 8px 30px rgb(23 44 51 / 4%); }
.panel-header { min-height: 83px; display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.panel-header h2 { font-size: 20px; margin: 3px 0 0; }.panel-header > a { color: var(--teal); font-size: 12px; font-weight: 700; }
.people-list { padding: 5px 20px 12px; }
.person-row { display: grid; grid-template-columns: 45px minmax(130px, 1fr) auto 22px; align-items: center; gap: 13px; min-height: 76px; border-bottom: 1px solid #e5e4dd; padding: 8px 2px; }
.person-row:last-child { border: 0; }.person-row:hover .row-arrow { transform: translateX(3px); color: var(--coral); }
.avatar { width: 43px; height: 43px; border-radius: 50%; display: grid; place-items: center; background: var(--teal-pale); color: var(--teal); font-weight: 800; overflow: hidden; }.avatar.alternate { background: #f6ddd5; color: var(--coral-dark); }.avatar img { width: 100%; height: 100%; object-fit: cover; }
.person-main b, .person-main small, .person-meta small { display: block; }.person-main b { font-size: 14px; }.person-main small, .person-meta small { color: #6d7a7c; font-size: 11px; margin-top: 3px; }.person-meta { text-align: right; }.verified { display: inline-block; color: var(--teal); background: var(--teal-pale); font-size: 9px; font-weight: 700; padding: 2px 5px; border-radius: 3px; margin-top: 3px; }.row-arrow { transition: .2s; }
.count-badge { min-width: 27px; height: 27px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50%; font-weight: 700; font-size: 11px; }
.validation-list { padding: 4px 19px 12px; }.validation-item { display: grid; grid-template-columns: 32px 1fr auto; gap: 11px; align-items: start; padding: 16px 0; border-bottom: 1px solid #e5e4dd; }.validation-item:last-child { border: 0; }.validation-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 4px; color: var(--coral); background: #f9e4dd; }.validation-item b { font-size: 12px; text-transform: capitalize; }.validation-item p { color: var(--ink-soft); font-size: 11px; line-height: 1.4; margin: 4px 0; }.validation-item small { color: #8a9292; font-size: 9px; }
.validation-actions { display: flex; gap: 4px; }.validation-actions form { margin: 0; }.icon-button { width: 27px; height: 27px; border: 1px solid var(--line); background: var(--white); border-radius: 4px; cursor: pointer; }.icon-button.approve { color: var(--teal); }.icon-button.reject { color: var(--coral); }.icon-button:hover { background: #f0f0ea; }
.principle-strip { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 22px; background: var(--ink); color: white; border-radius: 7px; padding: 23px 28px; }.principle-strip > div { display: grid; grid-template-columns: 30px 1fr; padding: 0 22px; border-right: 1px solid rgb(255 255 255 / 14%); }.principle-strip > div:last-child { border: 0; }.principle-strip span { grid-row: 1 / 3; color: var(--coral); font: 700 11px "Manrope"; }.principle-strip b { font-size: 12px; }.principle-strip p { color: #9fb1b2; font-size: 10px; margin: 3px 0 0; }

.empty-state { padding: 48px 25px; text-align: center; color: var(--ink-soft); }.empty-state > span { width: 42px; height: 42px; margin: 0 auto 13px; display: grid; place-items: center; background: var(--teal-pale); color: var(--teal); border-radius: 50%; font-size: 20px; }.empty-state h3 { color: var(--ink); margin-bottom: 7px; }.empty-state p { font-size: 13px; }.empty-compact { display: flex; align-items: center; justify-content: center; gap: 10px; color: #768487; padding: 28px; }.empty-compact > span { color: var(--teal); }.empty-compact p { margin: 0; font-size: 12px; }

.narrow-page { max-width: 900px; margin: 0 auto; }.back-link { display: inline-block; color: var(--ink-soft); font-size: 12px; margin-bottom: 32px; }.back-link:hover { color: var(--coral); }.import-hero { text-align: center; max-width: 670px; margin: 0 auto 28px; }.wiki-mark { width: 58px; height: 58px; display: grid; place-items: center; background: var(--ink); color: white; border-radius: 50%; font: 700 31px Georgia, serif; margin: 0 auto 15px; }.import-hero h1, .form-page h1 { font-size: 40px; margin: 7px 0 12px; }.import-hero p, .form-page > p { color: var(--ink-soft); line-height: 1.6; }.import-search { height: 64px; display: flex; align-items: center; gap: 13px; padding: 7px 8px 7px 18px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }.import-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; }.import-search .button { min-height: 48px; }.loader-line { text-align: center; color: var(--teal); font-size: 12px; padding: 16px; }.htmx-indicator { display: none; }.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { display: block; }.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 45px; }.process-grid > div { background: rgb(255 253 248 / 60%); border-top: 2px solid var(--line); padding: 19px 15px; }.process-grid span { color: var(--coral); font: 800 11px "Manrope"; }.process-grid b { display: block; margin: 9px 0 6px; }.process-grid p { color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.search-results-block { margin-top: 45px; }.search-results-block > header h2 { font-size: 24px; margin: 4px 0 17px; }.candidate-list { display: grid; gap: 10px; }.candidate-card { display: grid; grid-template-columns: 74px minmax(0, 1fr) auto; align-items: center; gap: 17px; background: var(--white); border: 1px solid var(--line); border-radius: 7px; padding: 12px; }.candidate-image { width: 74px; height: 74px; background: #ecebe4; border-radius: 5px; display: grid; place-items: center; overflow: hidden; font: 700 28px Georgia; }.candidate-image img { width: 100%; height: 100%; object-fit: cover; }.candidate-title { display: flex; align-items: center; gap: 8px; }.candidate-title h3 { font-size: 16px; margin: 0; }.candidate-copy p { margin: 5px 0; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }.candidate-copy > a { color: var(--teal); font-size: 10px; font-weight: 700; }.muted { color: #859092; font-size: 11px; }.alert { padding: 13px 15px; border-radius: 5px; margin-bottom: 15px; }.alert-error { color: #8e3427; background: #f9ded8; border: 1px solid #ecc0b7; }.alert-success { color: #176553; background: #dcece5; border: 1px solid #b9ddd0; }.alert-warning { color: #73511b; background: #f4e5c9; border: 1px solid #e7d0a5; }

.toast { position: fixed; right: 22px; top: 92px; z-index: 30; max-width: 420px; padding: 13px 17px; color: white; background: var(--teal); border-radius: 5px; box-shadow: var(--shadow); font-size: 12px; animation: toast-out .4s 5s forwards; }@keyframes toast-out { to { opacity: 0; transform: translateY(-8px); pointer-events: none; } }
.profile-hero { margin: -48px calc(clamp(28px, 4vw, 64px) * -1) 0; padding: 32px clamp(28px, 4vw, 64px) 31px; background: #e8e5dc; border-bottom: 1px solid var(--line); }.profile-hero .back-link { margin-bottom: 21px; }.profile-heading { display: grid; grid-template-columns: 118px minmax(0, 1fr) auto; gap: 25px; align-items: center; }.profile-photo { width: 116px; height: 130px; overflow: hidden; border-radius: 6px; background: var(--ink); color: white; display: grid; place-items: center; box-shadow: 8px 8px 0 #d2cec2; }.profile-photo img { width: 100%; height: 100%; object-fit: cover; }.profile-photo span { font: 800 35px "Manrope"; }.profile-intro h1 { font-size: 38px; margin: 7px 0 4px; }.role { color: var(--coral-dark); font: 600 16px "Manrope"; margin-bottom: 12px; }.tag-row, .profile-facts { display: flex; flex-wrap: wrap; gap: 7px 13px; }.profile-facts { font-size: 11px; color: var(--ink-soft); }.profile-facts a { color: var(--teal); font-weight: 700; }.tag { display: inline-flex; align-items: center; width: fit-content; padding: 3px 7px; color: var(--teal); background: var(--teal-pale); border-radius: 3px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }.tag.warning { color: #895b16; background: #f4e5c9; }.tag.success { color: #176553; background: #dcece5; }.tag.rejected { color: #933827; background: #f7ded8; }.tag.coral { color: #983925; background: #f8dfd8; }.profile-trust { min-width: 152px; display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; border-left: 1px solid #cbc9c0; padding-left: 25px; }.profile-trust span { color: #6d7b7d; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }.profile-trust strong { grid-row: 1 / 3; grid-column: 2; font: 800 28px "Manrope"; color: var(--teal); }.profile-trust small { color: #6d7b7d; font-size: 10px; }.profile-trust span:nth-of-type(2) { margin-top: 15px; grid-column: 1 / 3; }.profile-trust b { grid-column: 1 / 3; font-size: 11px; }
.tabs { position: sticky; top: 78px; z-index: 10; margin: 0 calc(clamp(28px, 4vw, 64px) * -1) 28px; padding: 0 clamp(28px, 4vw, 64px); display: flex; overflow-x: auto; background: var(--white); border-bottom: 1px solid var(--line); }.tabs a { white-space: nowrap; padding: 15px 13px 13px; color: var(--ink-soft); font-size: 10px; font-weight: 700; border-bottom: 2px solid transparent; }.tabs a:hover { color: var(--coral); border-color: var(--coral); }
.profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 22px; align-items: start; }.profile-main-column { display: grid; gap: 20px; }.content-section { padding: 27px 30px; scroll-margin-top: 140px; }.content-section > header { display: flex; align-items: end; gap: 10px; margin-bottom: 18px; }.content-section > header .eyebrow { position: absolute; align-self: start; }.content-section > header h2 { font-size: 22px; margin: 13px 0 0; }.section-count { margin-left: auto; color: var(--ink-soft); }.lead-copy { font-size: 15px; line-height: 1.7; color: #344b51; }.inline-notice { display: flex; gap: 11px; background: #e9f0ee; border-left: 3px solid var(--teal); padding: 11px 13px; margin-top: 20px; }.inline-notice > span { flex: none; width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid var(--teal); border-radius: 50%; font: 700 10px serif; }.inline-notice p { margin: 0; color: #456064; font-size: 10px; line-height: 1.5; }
.identity-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.identity-grid > div { padding: 14px 15px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.identity-grid dt { color: #7c8889; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }.identity-grid dd { margin: 5px 0 0; font-size: 12px; font-weight: 600; }.source-pin { color: var(--teal); font-size: 10px; }
.timeline { margin: 0 0 0 8px; }.timeline article { display: grid; grid-template-columns: 13px 65px 1fr; gap: 10px; position: relative; padding-bottom: 24px; }.timeline article::before { content: ""; position: absolute; left: 5px; top: 12px; bottom: -3px; border-left: 1px solid #bdc7c4; }.timeline article:last-child::before { display: none; }.timeline-dot { width: 11px; height: 11px; margin-top: 3px; background: var(--coral); border: 3px solid #f9d7ce; border-radius: 50%; z-index: 1; }.timeline time { color: var(--coral-dark); font: 800 11px "Manrope"; }.timeline h3 { font-size: 13px; margin: 0 0 4px; }.timeline p { color: var(--ink-soft); font-size: 10px; margin: 0 0 6px; }
.timeline time small { display: block; font: inherit; }.event-kind { color: var(--teal); display: block; font: 800 9px "Manrope"; letter-spacing: .05em; margin-bottom: 3px; text-transform: uppercase; }.timeline-status { align-items: center; display: flex; gap: 8px; }
.entity-match { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }.entity-match span { color: var(--ink-soft); font: 800 9px "Manrope"; letter-spacing: .06em; text-transform: uppercase; }.entity-match a { color: var(--teal-dark); font-size: 11px; font-weight: 800; }.entity-match code { background: #edf3f1; border-radius: 3px; color: var(--ink-soft); font-size: 10px; padding: 3px 5px; }
.safety-note { background: #f4ead9; color: #6f592e; font-size: 10px; padding: 10px 12px; border-radius: 4px; margin-bottom: 12px; }.statement-list { display: grid; gap: 10px; }.statement-list article { padding: 15px; border: 1px solid var(--line); border-radius: 5px; }.statement-list article > div { display: flex; justify-content: space-between; }.statement-list time { color: #7a8686; font-size: 9px; }.statement-list h3 { font-size: 14px; margin: 11px 0 5px; }.statement-list blockquote { margin: 8px 0; border-left: 2px solid var(--coral); padding-left: 10px; font: 500 12px/1.5 Georgia, serif; }.statement-list p { color: var(--ink-soft); font-size: 10px; margin: 0; }
.relation-list { display: grid; }.relation-list.padded { padding: 5px 22px 15px; }.relation-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid #e7e6df; }.relation-row:last-child { border: 0; }.entity-glyph { width: 33px; height: 33px; display: grid; place-items: center; background: #e5edeb; color: var(--teal); border-radius: 4px; font: 800 12px "Manrope"; text-transform: uppercase; }.relation-row div:nth-child(2) small, .relation-row div:nth-child(2) a, .relation-row div:nth-child(2) span { display: block; }.relation-row small { color: #7b8788; font-size: 8px; text-transform: uppercase; }.relation-row a { width: fit-content; font-weight: 700; font-size: 12px; margin: 2px 0; }.relation-row a:hover { color: var(--coral); }.relation-row div:nth-child(2) > span { color: var(--ink-soft); font-size: 10px; }
.source-list { display: grid; }.source-list article { display: grid; grid-template-columns: 31px 1fr auto; gap: 10px; align-items: start; padding: 11px 0; border-bottom: 1px solid #e7e6df; }.source-list article:last-child { border: 0; }.source-icon { width: 29px; height: 29px; display: grid; place-items: center; background: #e9e8e1; color: var(--ink-soft); border-radius: 4px; }.source-list a { font-size: 11px; font-weight: 700; }.source-list small, .source-list code { display: block; margin-top: 3px; color: #7a8585; font-size: 8px; }.source-list code { font-family: monospace; }.source-list.compact { padding: 2px 18px 15px; }.evidence-details { margin-top: 17px; border-top: 1px solid var(--line); padding-top: 13px; }.evidence-details summary { cursor: pointer; color: var(--teal); font-size: 10px; font-weight: 700; }.evidence-details p { display: grid; grid-template-columns: 130px 1fr auto; gap: 10px; font-size: 9px; border-bottom: 1px solid #e8e7e1; padding: 7px 0; margin: 0; }.evidence-details span { overflow-wrap: anywhere; }.evidence-details small { color: #7c8889; }
.correction-form, .stacked-form { display: grid; gap: 13px; }.correction-form { margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); }.correction-form label, .stacked-form label { color: var(--ink-soft); font-size: 10px; font-weight: 700; }.correction-form input, .correction-form textarea, .correction-form select, .stacked-form input, .stacked-form textarea, .stacked-form select { display: block; width: 100%; margin-top: 5px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 4px; background: white; outline: 0; }.correction-form input:focus, .correction-form textarea:focus, .correction-form select:focus, .stacked-form input:focus, .stacked-form textarea:focus, .stacked-form select:focus { border-color: var(--teal); }.changelog { margin-top: 22px; }.changelog h3 { font-size: 13px; }.changelog p { display: grid; grid-template-columns: 110px 120px 1fr; gap: 10px; border-top: 1px solid #e7e6df; margin: 0; padding: 7px 0; font-size: 9px; }.changelog time { color: #7a8585; }
.profile-side-column { display: grid; gap: 15px; position: sticky; top: 130px; }.side-card { padding: 19px; }.side-card h3 { font-size: 14px; margin: 5px 0 12px; }.side-card > p { color: var(--ink-soft); font-size: 10px; line-height: 1.5; margin: 8px 0 0; }.quality-meter { height: 7px; background: #e5e5dd; border-radius: 4px; overflow: hidden; }.quality-meter i { display: block; width: var(--value); height: 100%; background: linear-gradient(90deg, var(--coral), var(--sand), var(--teal)); }.side-card dl { margin: 0; }.side-card dl div { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #e7e6df; padding: 8px 0; font-size: 9px; }.side-card dt { color: #7a8585; }.side-card dd { margin: 0; font-weight: 700; }

.entity-hero { background: #e8e5dc; margin: -48px calc(clamp(28px, 4vw, 64px) * -1) 30px; padding: 32px clamp(28px, 4vw, 64px); }.entity-hero .back-link { margin-bottom: 25px; }.entity-title { display: flex; align-items: center; gap: 21px; }.entity-title h1 { font-size: 37px; margin: 4px 0 7px; }.entity-title p { color: var(--ink-soft); margin: 0; max-width: 750px; }.entity-monogram { width: 77px; height: 77px; flex: none; display: grid; place-items: center; color: white; background: var(--teal); border-radius: 6px; font: 800 21px "Manrope"; box-shadow: 7px 7px 0 #c9c8be; }.entity-monogram.small { width: 49px; height: 49px; box-shadow: none; font-size: 13px; }.entity-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .65fr); gap: 20px; align-items: start; }.compact-panel { min-height: 150px; }.profile-actions { display: flex; margin-top: 15px; }.profile-actions .button { width: fit-content; }.detail-delete-form { margin-top: 11px; }.text-danger-button { padding: 0; border: 0; background: transparent; color: #9b3c31; cursor: pointer; font-size: 10px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }.text-danger-button:hover { color: #73271f; }
.list-heading { display: flex; justify-content: space-between; align-items: end; }.list-heading h1 { font-size: 42px; }.entity-directory-form { display: grid; gap: 14px; }.bulk-toolbar { min-height: 58px; display: flex; align-items: center; gap: 16px; padding: 9px 12px 9px 17px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; }.bulk-select-all { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; cursor: pointer; }.bulk-select-all input { accent-color: var(--teal); }.bulk-selection-count { flex: 1; color: #758183; font-size: 10px; }.directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.directory-card { position: relative; min-height: 115px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; transition: border-color .16s, box-shadow .16s, background .16s; }.directory-card:hover { border-color: var(--teal); box-shadow: var(--shadow); }.directory-card.is-selected { border-color: var(--teal); background: #f2f8f6; box-shadow: 0 0 0 2px rgb(12 119 119 / 8%); }.directory-card-link { min-height: 113px; display: grid; grid-template-columns: 49px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 17px 45px 17px 49px; }.directory-card-copy { min-width: 0; }.directory-card-copy strong, .directory-card-copy > span:not(.tag), .directory-card-copy small { display: block; }.directory-card-copy strong { font: 700 15px "Manrope", sans-serif; margin: 5px 0 3px; }.directory-card-copy > span:not(.tag) { color: var(--ink-soft); font-size: 10px; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.directory-card-copy small { color: #859092; font-size: 9px; margin-top: 3px; }.entity-selector { position: absolute; z-index: 2; left: 14px; top: 50%; width: 22px; height: 22px; transform: translateY(-50%); cursor: pointer; }.entity-selector input { position: absolute; opacity: 0; pointer-events: none; }.entity-selector span { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #c8cbc5; border-radius: 4px; color: transparent; background: white; font-size: 11px; transition: .16s; }.entity-selector input:focus-visible + span { outline: 2px solid var(--teal); outline-offset: 2px; }.entity-selector input:checked + span { color: white; border-color: var(--teal); background: var(--teal); }.entity-delete-button { position: absolute; z-index: 2; right: 11px; top: 11px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #9b3c31; cursor: pointer; opacity: .55; }.entity-delete-button:hover, .entity-delete-button:focus-visible { opacity: 1; background: #f8dfd8; border-color: #ecc0b7; }.page-empty { background: var(--white); border: 1px solid var(--line); border-radius: 7px; }
.search-groups { display: grid; gap: 24px; }.search-groups > section { background: var(--white); border: 1px solid var(--line); border-radius: 7px; }.search-groups > section > header { display: flex; justify-content: space-between; align-items: center; padding: 15px 19px; border-bottom: 1px solid var(--line); }.search-groups h2 { margin: 0; font-size: 15px; }.search-groups header span { font-size: 10px; color: white; background: var(--teal); border-radius: 50%; width: 24px; height: 24px; display: grid; place-items: center; }.search-result-list { padding: 4px 18px; }.search-result-list > a { display: grid; grid-template-columns: 33px 1fr auto; gap: 11px; align-items: center; padding: 10px 0; border-bottom: 1px solid #e8e7e1; }.search-result-list > a:last-child { border: 0; }.search-result-list b, .search-result-list small { display: block; }.search-result-list b { font-size: 12px; }.search-result-list small { color: #788486; font-size: 9px; margin-top: 2px; }
.form-page { max-width: 700px; }.form-page h1 { margin-top: 8px; }.stacked-form { margin-top: 25px; background: var(--white); border: 1px solid var(--line); border-radius: 7px; padding: 25px; box-shadow: var(--shadow); }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 5px; }
.missing-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; margin-top: 22px; }

@media (max-width: 1050px) {
  .metrics-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid, .entity-layout { grid-template-columns: 1fr; }.profile-layout { grid-template-columns: 1fr; }.profile-side-column { position: static; grid-template-columns: repeat(2, 1fr); }.principle-strip { grid-template-columns: 1fr; gap: 16px; }.principle-strip > div { border: 0; padding: 0; }.profile-trust { display: none; }
}
@media (max-width: 760px) {
  .topbar { grid-template-columns: 1fr auto; height: 68px; padding: 0 15px; }.global-search { position: fixed; left: 12px; right: 12px; top: 78px; box-shadow: var(--shadow); display: none; }.top-actions .button-quiet { display: none; }.app-shell { display: block; }.sidebar { display: none; }.main-content { padding: 32px 16px 60px; }.split-heading, .list-heading { display: block; }.heading-actions { align-items: stretch; margin-top: 20px; }.metrics-grid { grid-template-columns: 1fr 1fr; }.metric-card { min-height: 120px; }.dashboard-grid { display: block; }.validation-panel { margin-top: 18px; }.profile-hero, .entity-hero { margin: -32px -16px 0; padding: 25px 16px; }.profile-heading { grid-template-columns: 82px 1fr; gap: 17px; }.profile-photo { width: 80px; height: 94px; box-shadow: 5px 5px 0 #d2cec2; }.profile-intro h1 { font-size: 27px; }.tabs { top: 68px; margin: 0 -16px 20px; padding: 0 7px; }.content-section { padding: 21px 17px; }.identity-grid, .directory-grid, .process-grid { grid-template-columns: 1fr; }.candidate-card { grid-template-columns: 58px 1fr; }.candidate-image { width: 58px; height: 58px; }.candidate-card form, .candidate-card > .muted { grid-column: 1 / 3; }.candidate-card .button { width: 100%; }.profile-side-column { grid-template-columns: 1fr; }.entity-title { align-items: flex-start; }.entity-monogram { width: 57px; height: 57px; }.form-row { grid-template-columns: 1fr; }.evidence-details p { grid-template-columns: 90px 1fr; }.evidence-details small { grid-column: 2; }
}
@media (max-width: 860px) {
  .market-core-grid, .market-positioning-grid { grid-template-columns: 1fr; }
  .prospect-demo-label { display: none; }
}

.logout-form { margin: 0; }
.login-page { min-height: 100vh; background: radial-gradient(circle at top right, #dceceb, transparent 38%), var(--paper); }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; }
.login-card { width: min(100%, 440px); padding: 38px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.login-brand { display: flex; align-items: center; margin-bottom: 34px; }
.login-brand .brand-logo { width: 260px; height: 67px; }
.login-card h1 { margin: 8px 0 12px; font-size: 34px; }
.login-card > p { margin-bottom: 24px; color: var(--ink-soft); line-height: 1.6; }
.login-form { display: grid; gap: 15px; }
.login-form label { color: var(--ink-soft); font-size: 11px; font-weight: 700; }
.login-form input { width: 100%; margin-top: 6px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 5px; background: white; outline: 0; }
.login-form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgb(12 119 119 / 10%); }
.login-form .button { width: 100%; margin-top: 5px; }
.login-footnote { display: block; margin-top: 22px; color: #788486; text-align: center; }
.login-demo-link { display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; gap: 10px; align-items: center; margin-top: 16px; padding: 10px 11px; color: #315f5d; background: #e8f1ed; border: 1px solid #cddfd7; border-radius: 6px; }.login-demo-link > span:first-child { width: 27px; height: 27px; display: grid; place-items: center; color: white; background: var(--teal); border-radius: 50%; }.login-demo-link b, .login-demo-link small { display: block; }.login-demo-link b { font-size: 10px; }.login-demo-link small { margin-top: 2px; color: #6f8381; font-size: 7px; }.login-demo-link > strong { font-size: 13px; transition: transform .16s; }.login-demo-link:hover > strong { transform: translateX(3px); }

/* Registres légaux des sociétés */
.registry-import-hero { max-width: 830px; }.registry-mark { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 15px; color: white; background: linear-gradient(145deg, var(--blue), #193c5b); border-radius: 50% 50% 8px 50%; font: 800 24px "Manrope", sans-serif; box-shadow: 7px 7px 0 #d3d0c5; }.registry-page-error { max-width: 900px; margin: 0 auto 20px; }.official-registry-panel, .registry-json-panel { max-width: 1040px; margin: 0 auto 20px; }.official-registry-content { padding: 22px; }.official-registry-content > p { color: var(--ink-soft); font-size: 12px; line-height: 1.55; }.registry-search { box-shadow: none; }.registry-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 24px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }.registry-principles > div { padding: 17px; background: #f9f8f3; }.registry-principles b { font-size: 11px; }.registry-principles p { margin: 5px 0 0; color: var(--ink-soft); font-size: 9px; line-height: 1.5; }.registry-results-block { margin-top: 26px; }.registry-results-block h3 { margin: 4px 0 13px; }.registry-candidate-list { display: grid; gap: 9px; }.registry-candidate { display: grid; grid-template-columns: 105px minmax(0, 1fr) 150px auto; gap: 16px; align-items: center; padding: 14px; background: #faf9f4; border: 1px solid var(--line); border-radius: 6px; }.registry-candidate-id { padding-right: 13px; border-right: 1px solid var(--line); }.registry-candidate-id small, .registry-candidate-id code { display: block; }.registry-candidate-id small { color: #7e898a; font-size: 8px; }.registry-candidate-id code { margin-top: 4px; color: var(--teal); font-size: 12px; font-weight: 800; }.registry-candidate h4 { margin: 0 0 3px; font: 700 13px "Manrope", sans-serif; }.registry-candidate p { margin: 0 0 3px; color: var(--ink-soft); font-size: 10px; }.registry-candidate > div > small { color: #7d898b; font-size: 8px; }.registry-candidate-meta { text-align: right; }.registry-candidate-meta .tag { margin-left: auto; }.registry-candidate-meta small { display: block; margin-top: 5px; }.registry-json-form { display: grid; gap: 17px; padding: 22px; }.registry-json-form label { color: var(--ink-soft); font-size: 10px; font-weight: 700; }.registry-json-form label > span { color: #8b9697; font-weight: 400; }.registry-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.registry-json-form select, .registry-json-form input[type="url"] { width: 100%; display: block; margin-top: 6px; padding: 10px 11px; background: white; border: 1px solid var(--line); border-radius: 4px; outline: 0; }.registry-json-form select:focus, .registry-json-form input:focus, .registry-textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgb(12 119 119 / 8%); }.registry-textarea { width: 100%; min-height: 330px; display: block; margin-top: 6px; padding: 14px; resize: vertical; color: #27434a; background: #f7f7f2; border: 1px solid var(--line); border-radius: 5px; outline: 0; font: 10px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }.registry-submit-row { display: flex; align-items: center; gap: 17px; }.registry-submit-row p { max-width: 610px; margin: 0; color: #788687; font-size: 9px; line-height: 1.45; }

.company-registry-section { margin-bottom: 24px; }.company-registry-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 15px; }.company-registry-heading h2 { margin: 5px 0 4px; }.company-registry-heading p { margin: 0; color: var(--ink-soft); font-size: 10px; }.registry-record-list { display: grid; gap: 14px; }.registry-record { overflow: hidden; }.registry-record.is-current { border-top: 3px solid var(--teal); }.registry-record-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 17px 21px; border-bottom: 1px solid var(--line); }.registry-record-header h3 { margin: 6px 0 2px; font-size: 15px; }.registry-record-header small { color: #7c898a; font-size: 8px; }.registry-record-header > a { color: var(--teal); font-size: 10px; font-weight: 700; }.registry-identity-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }.registry-identity-grid > div { min-height: 76px; padding: 13px 15px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.registry-identity-grid > div:nth-child(4n) { border-right: 0; }.registry-identity-grid .wide { grid-column: span 2; }.registry-identity-grid small, .registry-identity-grid b, .registry-identity-grid code, .registry-identity-grid span { display: block; }.registry-identity-grid small { color: #7b8788; font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }.registry-identity-grid b, .registry-identity-grid code { margin-top: 6px; font-size: 11px; }.registry-identity-grid code { color: var(--teal); font-weight: 800; }.registry-identity-grid span { margin-top: 3px; color: var(--ink-soft); font-size: 8px; }.registry-detail-grid { display: grid; grid-template-columns: 1.35fr .65fr; }.registry-detail-grid > section { padding: 18px 21px; }.registry-detail-grid > section + section { border-left: 1px solid var(--line); }.registry-detail-grid h4 { display: flex; justify-content: space-between; margin: 0 0 10px; font-size: 11px; }.registry-detail-grid h4 span { color: white; background: var(--coral); width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; font-size: 8px; }.officer-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }.officer-list > div { padding: 9px 10px; background: #f2f3ee; border-radius: 4px; }.officer-list b, .officer-list span { display: block; }.officer-list b { font-size: 10px; }.officer-list span { margin-top: 2px; color: var(--ink-soft); font-size: 8px; }.registry-detail-grid section > p { color: var(--ink-soft); font-size: 9px; }.registry-detail-grid dl { margin: 0 0 10px; }.registry-detail-grid dl > div { display: flex; justify-content: space-between; padding: 5px 0; border-bottom: 1px solid #e7e6df; font-size: 9px; }.registry-detail-grid dd { margin: 0; font-weight: 800; }.registry-detail-grid section > a { color: var(--teal); font-size: 9px; font-weight: 700; }.registry-empty { background: var(--white); border: 1px solid var(--line); border-radius: 7px; }.registry-empty .button { margin-top: 5px; }

@media (max-width: 1050px) {
  .registry-candidate { grid-template-columns: 95px minmax(0, 1fr) auto; }.registry-candidate form { grid-column: 2 / 4; }.registry-candidate form .button { width: 100%; }.registry-identity-grid { grid-template-columns: repeat(2, 1fr); }.registry-identity-grid > div:nth-child(4n) { border-right: 1px solid var(--line); }.registry-identity-grid > div:nth-child(2n) { border-right: 0; }
}
@media (max-width: 760px) {
  .registry-principles, .registry-form-row, .registry-detail-grid, .officer-list { grid-template-columns: 1fr; }.registry-candidate { grid-template-columns: 1fr; }.registry-candidate-id { border: 0; border-bottom: 1px solid var(--line); padding: 0 0 9px; }.registry-candidate-meta { text-align: left; }.registry-candidate-meta .tag { margin-left: 0; }.registry-candidate form { grid-column: auto; }.registry-submit-row, .company-registry-heading, .registry-record-header { align-items: stretch; flex-direction: column; }.registry-detail-grid > section + section { border-left: 0; border-top: 1px solid var(--line); }.registry-identity-grid { grid-template-columns: 1fr; }.registry-identity-grid > div, .registry-identity-grid > div:nth-child(2n), .registry-identity-grid > div:nth-child(4n) { border-right: 0; }.registry-identity-grid .wide { grid-column: auto; }
}
.registry-source-hero { background: linear-gradient(120deg, #e1e8ee, #e8e5dc 70%); }.registry-source-monogram { background: linear-gradient(145deg, var(--blue), #193c5b); border-radius: 50% 50% 8px 50%; }.registry-source-detail { display: grid; gap: 20px; }.registry-source-summary dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 6px 21px 18px; }.registry-source-summary dl > div { padding: 12px 0; border-bottom: 1px solid var(--line); }.registry-source-summary dl > div:nth-child(odd) { padding-right: 18px; }.registry-source-summary dt { color: #7c8889; font-size: 8px; text-transform: uppercase; }.registry-source-summary dd { margin: 5px 0 0; font-size: 11px; font-weight: 700; }.registry-source-side { padding: 21px; }.registry-source-side h3 { margin: 6px 0 10px; }.registry-source-side p { color: var(--ink-soft); font-size: 10px; line-height: 1.55; }.registry-source-side .button { width: 100%; margin-top: 8px; }
@media (max-width: 760px) { .registry-source-summary dl { grid-template-columns: 1fr; }.registry-source-summary dl > div:nth-child(odd) { padding-right: 0; } }

/* Import et lecture des rapports IA */
.wide-page { max-width: 1240px; margin: 0 auto; }
.ai-import-hero { max-width: 760px; }
.ai-mark { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 15px; color: white; background: linear-gradient(135deg, var(--teal), #164750); border-radius: 15px 15px 15px 4px; font: 800 19px "Manrope", sans-serif; box-shadow: 7px 7px 0 #d1cec4; }
.report-callout { max-width: 920px; display: flex; gap: 13px; align-items: flex-start; margin: 0 auto 24px; padding: 15px 18px; color: #684b1e; background: #f7ead2; border: 1px solid #e7cfaa; border-radius: 7px; }
.report-callout > span { width: 25px; height: 25px; flex: none; display: grid; place-items: center; color: white; background: #ad7928; border-radius: 50%; font-weight: 800; }
.report-callout b { font-size: 12px; }.report-callout p { margin: 4px 0 0; font-size: 11px; line-height: 1.55; }
.ai-import-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: 20px; align-items: start; }
.report-import-panel .panel-header { gap: 15px; }.report-import-panel .panel-header .button { color: var(--ink); }
.report-import-form { display: grid; gap: 18px; padding: 22px; }.report-import-form label { color: var(--ink-soft); font-size: 11px; font-weight: 700; }
.report-target { display: grid; gap: 3px; padding: 13px 15px; background: var(--teal-pale); border: 1px solid #bfd7d1; border-radius: 6px; }.report-target span { color: var(--teal); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.report-target strong { color: var(--ink); font: 800 15px "Manrope"; }.report-target small { color: var(--ink-soft); font-size: 10px; }
.report-file-label input { width: 100%; display: block; margin-top: 7px; padding: 11px; color: var(--ink-soft); background: #f2f1eb; border: 1px dashed #b9bfba; border-radius: 5px; }
.report-file-label small { display: block; margin-top: 5px; color: #819091; font-weight: 400; }
.report-textarea { width: 100%; min-height: 490px; display: block; margin-top: 7px; padding: 15px; resize: vertical; color: #264149; background: #f8f8f3; border: 1px solid var(--line); border-radius: 5px; outline: 0; font: 11px/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; tab-size: 2; }
.report-textarea:focus, .prompt-box:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgb(12 119 119 / 9%); }
.report-form-actions { display: flex; align-items: center; gap: 14px; }.report-form-actions small { color: #7b898a; font-size: 9px; }
.form-error { margin: 18px 22px 0; padding: 13px 15px; color: #87362c; background: #f8dfd9; border: 1px solid #e9bdb4; border-radius: 5px; }.form-error b { font-size: 12px; }.form-error p { margin: 4px 0 0; font-size: 10px; line-height: 1.5; }
.report-guide { display: grid; gap: 16px; }.report-guide .compact-panel { padding-bottom: 18px; }.report-guide .compact-panel > p { padding: 17px 19px 0; color: var(--ink-soft); font-size: 11px; line-height: 1.55; }
.prompt-box { width: calc(100% - 38px); min-height: 240px; display: block; margin: 13px 19px; padding: 12px; resize: vertical; color: #30494f; background: #f3f4ef; border: 1px solid var(--line); border-radius: 4px; outline: 0; font: 9px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.full-width { width: calc(100% - 38px); margin: 0 19px; }.report-rules ul, .limitations-list { margin: 0; padding: 17px 24px 0 36px; color: var(--ink-soft); font-size: 10px; line-height: 1.6; }.report-rules li + li, .limitations-list li + li { margin-top: 7px; }
.prompt-critical-rules { display: grid; gap: 5px; margin: 14px 19px 0; padding: 12px; color: #6e572f; background: #f7ecd8; border: 1px solid #e6d0a8; border-radius: 5px; }.prompt-critical-rules b { margin-bottom: 2px; color: #6b4c19; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }.prompt-critical-rules span { font-size: 8px; }.prompt-critical-rules code { color: #7a4323; font-size: 8px; font-weight: 800; }
.example-details { margin-top: 20px; background: var(--white); border: 1px solid var(--line); border-radius: 7px; }.example-details summary { padding: 16px 20px; color: var(--teal); cursor: pointer; font-size: 11px; font-weight: 700; }.example-details pre { max-height: 560px; margin: 0; padding: 20px; overflow: auto; color: #29434a; background: #eef0eb; border-top: 1px solid var(--line); font-size: 10px; line-height: 1.5; }.alternate-import { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 35px; padding: 14px 17px; color: var(--ink-soft); background: rgb(255 253 248 / 70%); border: 1px solid var(--line); border-radius: 6px; font-size: 11px; }.alternate-import a { color: var(--teal); font-weight: 800; }

.ai-report-entity-hero { background: linear-gradient(120deg, #e0ebe7, #e8e5dc 70%); }.ai-source-monogram { background: linear-gradient(135deg, var(--teal), #164750); border-radius: 16px 16px 16px 5px; }
.ai-report-detail { display: grid; gap: 20px; }.report-provenance-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); background: #203940; color: white; border-radius: 7px; overflow: hidden; }.report-provenance-strip > div { min-width: 0; padding: 15px 17px; border-right: 1px solid rgb(255 255 255 / 12%); }.report-provenance-strip > div:last-child { border: 0; }.report-provenance-strip small, .report-provenance-strip b, .report-provenance-strip a, .report-provenance-strip code { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.report-provenance-strip small { margin-bottom: 5px; color: #9cb0b2; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.report-provenance-strip b, .report-provenance-strip a { font-size: 11px; }.report-provenance-strip a { color: #8ed8d1; font-weight: 700; }.report-provenance-strip code { color: #e8c991; font-size: 10px; }
.report-layout { grid-template-columns: minmax(0, 1.5fr) minmax(245px, .55fr); }.report-main-column, .report-side-column { display: grid; gap: 16px; }.report-side-column { align-content: start; }.report-title-panel { padding: 22px; }.report-title-panel h2 { margin: 6px 0 0; font-size: 22px; }.report-sections { padding: 4px 23px 14px; }.report-section { padding: 19px 0; border-bottom: 1px solid #e6e5de; }.report-section:last-child { border: 0; }.report-section h3 { margin-bottom: 8px; font-size: 16px; }.report-section p { margin: 0; color: #385057; white-space: pre-line; font-size: 12px; line-height: 1.75; }.report-section small { display: block; margin-top: 10px; color: var(--teal); font-size: 9px; }
.report-count-grid { display: grid; grid-template-columns: repeat(5, 1fr); padding: 20px; }.report-count-grid > div { padding: 8px 13px; border-right: 1px solid var(--line); }.report-count-grid > div:last-child { border: 0; }.report-count-grid b, .report-count-grid span { display: block; }.report-count-grid b { color: var(--coral); font: 800 25px "Manrope", sans-serif; }.report-count-grid span { margin-top: 3px; color: var(--ink-soft); font-size: 9px; }
.reference-list { padding: 5px 22px 15px; }.reference-list article { display: grid; grid-template-columns: 24px 1fr; gap: 10px; padding: 14px 0; border-bottom: 1px solid #e6e5de; }.reference-list article:last-child { border: 0; }.reference-list article > span { width: 22px; height: 22px; display: grid; place-items: center; color: var(--teal); background: var(--teal-pale); border-radius: 50%; font-size: 9px; font-weight: 800; }.reference-list a { color: var(--ink); font-size: 11px; font-weight: 700; }.reference-list a:hover { color: var(--teal); }.reference-list small { display: block; margin-top: 4px; color: #7b8788; font-size: 8px; }.reference-list p { margin: 6px 0 0; color: var(--ink-soft); font-size: 9px; }.report-warning-card { padding: 20px; border-top: 3px solid #d0983e; }.report-warning-card h3 { margin: 5px 0 9px; }.report-warning-card p, .report-side-column .compact-panel > p { color: var(--ink-soft); font-size: 10px; line-height: 1.6; }.report-side-column .compact-panel:not(.report-warning-card) { padding: 19px; }.report-side-column .limitations-list { padding: 10px 0 0 17px; }

@media (max-width: 1050px) {
  .ai-import-grid, .report-layout { grid-template-columns: 1fr; }
  .report-guide { grid-template-columns: 1fr 1fr; }
  .report-side-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .ai-import-page .back-link { margin-bottom: 22px; }
  .ai-import-hero h1 { font-size: 33px; }
  .report-guide, .report-side-column { grid-template-columns: 1fr; }
  .report-import-panel .panel-header, .report-form-actions, .alternate-import { align-items: stretch; flex-direction: column; }
  .report-textarea { min-height: 380px; }
  .report-provenance-strip { grid-template-columns: 1fr 1fr; }
  .report-provenance-strip > div { border-bottom: 1px solid rgb(255 255 255 / 12%); }
  .report-count-grid { grid-template-columns: repeat(2, 1fr); }
  .report-count-grid > div { border-bottom: 1px solid var(--line); }
}

/* Cartographie relationnelle */
.cartography-page { max-width: 1440px; margin: 0 auto; }
.cartography-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 50px; align-items: end; margin-bottom: 25px; }
.cartography-hero h1 { margin: 7px 0 11px; font-size: clamp(36px, 4vw, 54px); line-height: 1.03; }
.cartography-hero h1 em { color: var(--coral); font-style: normal; }
.cartography-hero p { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }
.cartography-metrics { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; background: rgb(255 253 248 / 72%); }
.cartography-metrics > div { min-width: 105px; padding: 14px 16px; border-right: 1px solid var(--line); }
.cartography-metrics > div:last-child { border: 0; }
.cartography-metrics strong, .cartography-metrics span { display: block; }
.cartography-metrics strong { color: var(--teal); font: 800 25px/1 "Manrope", sans-serif; }
.cartography-metrics span { margin-top: 5px; color: #758385; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }

.cartography-toolbar { position: relative; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; padding: 11px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 7px 24px rgb(23 44 51 / 4%); }
.map-search-wrap { position: relative; flex: 1 1 260px; min-width: 220px; }
.map-search-wrap > svg { position: absolute; left: 11px; top: 10px; width: 17px; fill: none; stroke: #607174; stroke-width: 1.8; pointer-events: none; }
.map-search-wrap > input { width: 100%; height: 38px; padding: 0 12px 0 36px; outline: 0; color: var(--ink); background: #f0f1ec; border: 1px solid transparent; border-radius: 5px; font-size: 11px; }
.map-search-wrap > input:focus { background: white; border-color: var(--teal); box-shadow: 0 0 0 3px rgb(12 119 119 / 8%); }
.map-search-results { position: absolute; left: 0; right: 0; top: 44px; z-index: 20; padding: 5px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--shadow); }
.map-search-results button { width: 100%; display: grid; grid-template-columns: 30px 1fr; gap: 9px; align-items: center; padding: 7px 8px; text-align: left; background: transparent; border: 0; border-radius: 4px; cursor: pointer; }
.map-search-results button:hover { background: #f0f1ec; }
.map-search-results button > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; color: white; background: var(--teal); border-radius: 50%; font-size: 9px; font-weight: 800; }
.map-search-results button > span:first-child.person { background: #ee684d; }
.map-search-results button > span:first-child.entity { background: #296d72; }
.map-search-results button > span:first-child.entity-company { background: #315c67; border-radius: 4px; }
.map-search-results button > span:first-child.entity-finance { background: #a4712d; }
.map-search-results button > span:first-child.entity-institution { background: #526b91; border-radius: 2px; }
.map-search-results button > span:first-child.entity-regulator { background: #8b596e; }
.map-search-results button > span:first-child.entity-healthcare { background: #36826d; }
.map-search-results button > span:first-child.company { background: #263f4a; border-radius: 4px; }
.map-search-results button > span:first-child.media { background: #4f86a6; }
.map-search-results button > span:first-child.event { background: #7a6aa6; }
.map-search-results b, .map-search-results small { display: block; }
.map-search-results b { font-size: 10px; }.map-search-results small { margin-top: 2px; color: #7a8788; font-size: 8px; }
.map-search-results > p { margin: 0; padding: 12px; color: #7a8788; font-size: 10px; }
.map-signal-mode-switch { display: inline-flex; padding: 3px; background: #e9efec; border: 1px solid #cfdbd6; border-radius: 6px; }
.map-signal-mode-switch button { min-height: 29px; padding: 5px 10px; color: #577074; background: transparent; border: 0; border-radius: 4px; cursor: pointer; font: 800 9px "DM Sans", sans-serif; }
.map-signal-mode-switch button:hover { color: var(--teal); }.map-signal-mode-switch button.is-active { color: white; background: var(--teal); box-shadow: 0 2px 6px rgb(23 73 75 / 16%); }
.map-signal-mode-switch button:focus-visible { outline: 2px solid var(--coral); outline-offset: 1px; }
.map-filter-list { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.map-filter, .map-status-filter { position: relative; min-height: 30px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; color: #576a6d; background: #f7f6f1; border: 1px solid #deddd5; border-radius: 4px; cursor: pointer; font-size: 9px; font-weight: 700; user-select: none; }
.map-filter input, .map-status-filter input { position: absolute; opacity: 0; pointer-events: none; }
.map-filter > span { width: 8px; height: 8px; border-radius: 50%; background: #aab3b3; box-shadow: 0 0 0 2px white; }
.map-filter.person > span { background: #ee684d; }.map-filter.entity > span { background: #296d72; border-radius: 1px; }.map-filter.organization > span { background: #1d6870; transform: rotate(45deg); border-radius: 1px; }.map-filter.company > span { background: #263f4a; border-radius: 1px; }.map-filter.media > span { background: #4f86a6; }.map-filter.event > span { background: #7a6aa6; }
.map-filter:has(input:not(:checked)) { opacity: .42; text-decoration: line-through; }
.map-filter:has(input:focus-visible), .map-status-filter:has(input:focus-visible) { outline: 2px solid var(--teal); outline-offset: 2px; }
.map-status-filter { margin-left: auto; color: #79602e; background: #f7edda; border-color: #ead4ae; }
.map-status-filter > span { width: 18px; height: 10px; position: relative; background: #cf9b44; border-radius: 10px; }
.map-status-filter > span::after { content: ""; position: absolute; right: 2px; top: 2px; width: 6px; height: 6px; background: white; border-radius: 50%; transition: .15s; }
.map-status-filter:has(input:not(:checked)) > span { background: #b8b9b2; }.map-status-filter:has(input:not(:checked)) > span::after { right: 10px; }

.cartography-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 318px; gap: 12px; align-items: start; }
.map-stage { min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: #f8f7f2; border: 1px solid #cfd3cc; border-radius: 8px; box-shadow: 0 10px 35px rgb(23 44 51 / 5%); }
.map-stage-header { min-height: 54px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 10px 14px; background: var(--white); border-bottom: 1px solid var(--line); }
.map-stage-header > div { display: grid; grid-template-columns: 9px auto; align-items: center; gap: 1px 7px; }
.map-stage-header b { font-size: 11px; }.map-stage-header small { grid-column: 2; color: #7b8889; font-size: 8px; }
.map-stage-header > .map-stage-actions { width: max-content; flex: none; display: flex; grid-template-columns: none; align-items: center; gap: 7px; }
.map-stage-actions p { display: none; margin: 0 5px 0 0; color: #899394; font-size: 8px; }
.map-stage-actions button { min-width: 78px; min-height: 31px; flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 0 9px; color: #36575c; background: #f4f4ef; border: 1px solid #d9ddd6; border-radius: 4px; cursor: pointer; font: 700 8px "DM Sans", sans-serif; white-space: nowrap; }
.map-stage-actions button span { display: inline; }
.map-stage-actions button:hover, .map-stage-actions button.is-active { color: white; background: var(--teal); border-color: var(--teal); }
.map-live-dot { grid-row: 1 / 3; width: 7px; height: 7px; background: #43aa86; border-radius: 50%; box-shadow: 0 0 0 4px rgb(67 170 134 / 12%); }
.map-live-dot.is-calculating { background: #e09345; box-shadow: 0 0 0 4px rgb(224 147 69 / 16%); animation: map-layout-pulse .8s ease-in-out infinite alternate; }@keyframes map-layout-pulse { to { opacity: .45; } }
.map-layout-toolbar { min-height: 42px; display: grid; grid-template-columns: repeat(2, auto) auto 1fr repeat(2, auto); gap: 6px; align-items: center; padding: 6px 12px; background: #f2f3ee; border-bottom: 1px solid var(--line); }
.map-layout-toolbar button { min-height: 29px; padding: 5px 9px; color: #3f5f63; background: white; border: 1px solid #d3d9d3; border-radius: 4px; cursor: pointer; font: 800 8px "DM Sans", sans-serif; }
.map-layout-toolbar button:hover { color: white; background: var(--teal); border-color: var(--teal); }.map-layout-toolbar button:focus-visible { outline: 2px solid var(--coral); outline-offset: 1px; }
.map-layout-toolbar output { min-width: 94px; color: #758385; font: 700 8px "Manrope", sans-serif; text-align: center; }
.map-canvas-wrap { position: relative; height: clamp(520px, 62vh, 710px); overflow: hidden; background-color: #f8f7f2; background-image: radial-gradient(circle at 1px 1px, rgb(26 73 76 / 10%) 1px, transparent 0); background-size: 24px 24px; }
.map-canvas-wrap canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; outline: 0; }
.map-canvas-wrap canvas:focus-visible { box-shadow: inset 0 0 0 3px rgb(12 119 119 / 28%); }.map-canvas-wrap canvas.is-panning { cursor: grabbing; }
.map-loading, .map-empty { position: absolute; inset: 0; z-index: 3; display: grid; place-content: center; justify-items: center; text-align: center; background: rgb(248 247 242 / 88%); }
.map-loading[hidden], .map-empty[hidden] { display: none; }
.map-mobile-context-gate { display: none; }
.map-loading span { width: 31px; height: 31px; margin-bottom: 11px; border: 2px solid #d7dcd6; border-top-color: var(--coral); border-radius: 50%; animation: map-spin .8s linear infinite; }
.map-loading b { font-size: 11px; }@keyframes map-spin { to { transform: rotate(360deg); } }
.map-empty > span { width: 47px; height: 47px; display: grid; place-items: center; margin-bottom: 10px; color: var(--teal); background: var(--teal-pale); border-radius: 50%; font-size: 23px; }
.map-empty h3 { margin: 0 0 6px; font-size: 17px; }.map-empty p { max-width: 360px; margin: 0; color: var(--ink-soft); font-size: 10px; line-height: 1.5; }
.map-tooltip { position: absolute; z-index: 4; max-width: 185px; padding: 6px 8px; color: white; background: #1a343b; border-radius: 4px; box-shadow: 0 5px 16px rgb(23 44 51 / 18%); pointer-events: none; font-size: 8px; font-weight: 700; }
.map-zoom-controls { position: absolute; right: 12px; bottom: 12px; z-index: 4; display: flex; align-items: stretch; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 5px 16px rgb(23 44 51 / 10%); }
.map-zoom-controls button { min-width: 38px; height: 36px; padding: 0 9px; color: #36575c; background: white; border: 0; border-right: 1px solid var(--line); cursor: pointer; font-size: 16px; font-weight: 800; }
.map-zoom-controls button:hover { color: var(--coral); background: #f2f2ed; }.map-zoom-controls button:disabled { color: #b6bdbc; background: #f4f4ef; cursor: not-allowed; }
.map-zoom-controls output { min-width: 56px; display: grid; place-items: center; padding: 0 8px; color: #6c7b7d; background: #f7f7f3; border-right: 1px solid var(--line); font: 800 8px "Manrope", sans-serif; }
.map-zoom-controls .map-fit-button { min-width: 92px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: white; background: var(--teal); border: 0; font: 800 9px "DM Sans", sans-serif; }.map-zoom-controls .map-fit-button:hover { color: white; background: var(--coral); }.map-fit-button span { font-size: 13px; }
.map-stage-footer { min-height: 40px; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 8px 14px; color: #7a8788; background: var(--white); border-top: 1px solid var(--line); font-size: 8px; }
.map-edge-legend { display: flex; align-items: center; gap: 6px; }.map-edge-legend span { width: 25px; border-top: 2px solid #62787b; }.map-edge-legend span.proposed { margin-left: 8px; border-top-style: dashed; border-color: #c4974b; }

.map-inspector { position: sticky; top: 94px; max-height: calc(100vh - 112px); overflow: auto; background: var(--white); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 10px 35px rgb(23 44 51 / 5%); }
.map-inspector-empty { min-height: 410px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 35px 26px; text-align: center; }
.map-inspector-empty h2 { margin: 8px 0 8px; font-size: 20px; }.map-inspector-empty p { margin: 0; color: var(--ink-soft); font-size: 10px; line-height: 1.55; }
.map-inspector-orbit { position: relative; width: 72px; height: 62px; display: block; margin-bottom: 20px; }
.map-inspector-orbit::before, .map-inspector-orbit::after { content: ""; position: absolute; border: 1px solid #cad7d4; border-radius: 50%; transform: rotate(-20deg); }.map-inspector-orbit::before { inset: 7px 2px; }.map-inspector-orbit::after { inset: 1px 13px; transform: rotate(55deg); }
.map-inspector-orbit i { position: absolute; z-index: 2; width: 13px; height: 13px; background: var(--coral); border: 3px solid white; border-radius: 50%; box-shadow: 0 2px 7px rgb(23 44 51 / 15%); }.map-inspector-orbit i:nth-child(1) { left: 6px; top: 26px; }.map-inspector-orbit i:nth-child(2) { right: 9px; top: 5px; background: var(--teal); }.map-inspector-orbit i:nth-child(3) { right: 20px; bottom: 3px; background: #d49a35; }
.map-inspector-heading { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: center; padding: 18px; border-bottom: 1px solid var(--line); }
.map-inspector-heading h2 { margin: 4px 0 2px; font-size: 18px; line-height: 1.12; }.map-inspector-heading p { margin: 0; color: var(--ink-soft); font-size: 9px; line-height: 1.4; }
.map-inspector-glyph { width: 46px; height: 46px; display: grid; place-items: center; color: white; background: #1d6870; border: 3px solid white; border-radius: 50%; box-shadow: 0 0 0 1px #d2d8d3, 4px 4px 0 #e4e2d9; font: 800 12px "Manrope", sans-serif; }
.map-inspector-glyph.person { background: #ee684d; }.map-inspector-glyph.company { background: #263f4a; border-radius: 7px; }.map-inspector-glyph.organization { background: #1d6870; border-radius: 7px 50% 7px 50%; }.map-inspector-glyph.media { background: #4f86a6; }.map-inspector-glyph.event { background: #7a6aa6; border-radius: 50% 50% 8px 50%; }
.map-inspector-glyph.entity { background: #296d72; }.map-inspector-glyph.entity-company { background: #315c67; border-radius: 7px; }.map-inspector-glyph.entity-finance { background: #a4712d; }.map-inspector-glyph.entity-institution { background: #526b91; border-radius: 7px 50% 7px 50%; }.map-inspector-glyph.entity-regulator { background: #8b596e; border-radius: 50% 50% 8px 50%; }.map-inspector-glyph.entity-healthcare { background: #36826d; }
.map-inspector-facts { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }.map-inspector-facts > div { min-width: 0; padding: 12px 16px; }.map-inspector-facts > div + div { border-left: 1px solid var(--line); }.map-inspector-facts strong, .map-inspector-facts span { display: block; }.map-inspector-facts strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--teal); font: 800 14px "Manrope", sans-serif; }.map-inspector-facts span { margin-top: 3px; color: #7d898a; font-size: 7px; text-transform: uppercase; letter-spacing: .05em; }
.map-inspector-summary { margin: 0; padding: 14px 17px; color: #40575c; background: #f5f5ef; border-bottom: 1px solid var(--line); font-size: 9px; line-height: 1.55; }
.map-inspector-section-title { display: flex; justify-content: space-between; align-items: center; padding: 14px 17px 7px; }.map-inspector-section-title h3 { margin: 0; font-size: 12px; }.map-inspector-section-title span { width: 22px; height: 22px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50%; font-size: 8px; font-weight: 800; }
.map-inspector-relations { padding: 0 12px 5px; }.map-inspector-relations article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; padding: 9px 5px; border-bottom: 1px solid #e8e7e1; }.map-inspector-relations article:last-child { border: 0; }
.map-inspector-relations small { grid-column: 1 / 3; color: #758385; font-size: 7px; }.map-inspector-relations button { overflow: hidden; padding: 0; text-align: left; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); background: transparent; border: 0; cursor: pointer; font-size: 9px; font-weight: 800; }.map-inspector-relations button:hover { color: var(--coral); }
.map-relation-status { align-self: center; padding: 2px 4px; color: #79602e; background: #f5e7cb; border-radius: 3px; font-size: 6px; font-weight: 800; text-transform: uppercase; }.map-relation-status.validated, .map-relation-status.corrected { color: #176553; background: #dcece5; }
.map-relation-source { grid-column: 1 / 3; overflow: hidden; margin-top: 2px; color: var(--teal); text-overflow: ellipsis; white-space: nowrap; font-size: 7px; }.map-relation-source:hover { text-decoration: underline; }
.map-more-relations, .map-no-relations { margin: 0; padding: 8px 17px 13px; color: #7d898a; font-size: 8px; }.map-open-profile { width: calc(100% - 28px); margin: 10px 14px 16px; }
.map-center-entity { width: calc(100% - 28px); margin: 12px 14px 3px; color: var(--teal); background: #edf4f1; border: 1px solid #cbded8; }
.map-center-entity:hover { color: white; background: var(--teal); }
.map-note-section { padding-bottom: 11px; background: #fffaf4; border-bottom: 1px solid var(--line); }
.map-note-title { padding-top: 13px; }.map-note-title span { background: var(--teal); }
.map-note-list { max-height: 210px; overflow: auto; padding: 0 13px; }
.map-note-list article { padding: 9px 8px; background: white; border: 1px solid #e4dfd3; border-radius: 4px; }
.map-note-list article + article { margin-top: 6px; }
.map-note-list p { margin: 0; color: #354b50; font-size: 9px; line-height: 1.5; white-space: pre-wrap; }
.map-note-list small { display: block; margin-top: 5px; color: #899394; font-size: 7px; }
.map-note-empty { margin: 0; padding: 1px 17px 9px; color: #7c898a; font-size: 8px; line-height: 1.5; }
.map-note-form { display: grid; gap: 8px; margin: 10px 13px 0; padding-top: 10px; border-top: 1px dashed #d8d2c4; }
.map-note-form label { color: #506568; font-size: 8px; font-weight: 800; }
.map-note-form textarea { width: 100%; margin-top: 5px; padding: 9px; resize: vertical; outline: 0; color: var(--ink); background: white; border: 1px solid #cfd6d0; border-radius: 4px; font: 9px/1.5 "DM Sans", sans-serif; }
.map-note-form textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgb(12 119 119 / 8%); }
.map-note-form > div { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.map-note-form .button { flex: none; min-height: 31px; padding: 0 10px; font-size: 8px; }
.map-note-state { color: #829092; font-size: 7px; line-height: 1.35; }.map-note-state.is-error { color: #9f3829; font-weight: 800; }
.map-method-note { margin: 12px 2px 0; color: #738183; font-size: 9px; line-height: 1.55; }.map-method-note b { color: var(--ink); }
.map-entity-link { display: inline-block; margin-top: 10px; color: var(--teal); font-size: 10px; font-weight: 800; }
.map-entity-link:hover { color: var(--coral); }

/* Profiles V2 — Entity detail keeps graph assertions and their evidence distinct. */
.v2-entity-page { max-width: 1180px; margin: 0 auto; }
.v2-entity-hero { margin-bottom: 18px; padding: 28px 30px; color: white; background: linear-gradient(132deg, #18383f, #245f64); border-radius: 9px; box-shadow: var(--shadow); }
.v2-entity-hero .back-link { color: #c6dfdb; }
.v2-entity-title { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 18px; }
.v2-entity-title h1 { margin: 7px 0 8px; color: white; font-size: clamp(32px, 4vw, 48px); line-height: 1.04; }
.v2-entity-title p { max-width: 760px; margin: 0; color: #d9e7e5; line-height: 1.6; }
.v2-entity-title .map-entity-link { color: #ffc6b8; }
.v2-entity-monogram { width: 72px; height: 72px; display: grid; place-items: center; color: white; background: var(--coral); border: 4px solid rgb(255 255 255 / 82%); border-radius: 12px; box-shadow: 5px 5px 0 rgb(6 35 40 / 35%); font: 800 20px "Manrope", sans-serif; }
.v2-kicker-row { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.v2-object-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; color: #dcefed; background: #17626a; border: 1px solid #78a9a9; border-radius: 3px; font: 800 7px "Manrope", sans-serif; letter-spacing: .13em; }
.v2-object-badge.relation { color: #174e54; background: #dcefed; border-color: #9ac2bd; }
.v2-object-badge.evidence { color: #7c4c12; background: #fff1d5; border-color: #e3be7a; }
.v2-object-badge.technology { color: #3d317a; background: #ece8ff; border-color: #b6aae8; }
.signal-section { padding: 22px; border: 1px solid #d9c7a0; border-radius: 8px; background: #fffaf0; }
.signal-card-list { display: grid; gap: 14px; }
.signal-card { padding: 20px; border-left: 5px solid #bc7b20; background: #fffdf8; box-shadow: 0 8px 24px rgba(82, 54, 19, .06); }
.signal-analysis-badge { display: inline-flex; margin-bottom: 12px; padding: 6px 9px; border: 1px solid #bc7b20; border-radius: 3px; color: #6f4308; background: #fff0cb; font: 800 8px "Manrope", sans-serif; letter-spacing: .16em; }
.signal-status { color: #764c13; background: #f7e4bc; border-color: #dcbb7b; }
.signal-why-link { display: inline-block; margin-top: 13px; color: #80510e; font-size: 10px; font-weight: 800; }
.signal-hero { margin-bottom: 22px; padding: 30px; border: 1px solid #d8bd83; border-left: 7px solid #bc7b20; border-radius: 8px; background: linear-gradient(135deg, #fffaf0, #fff); }
.signal-hero h1 { max-width: 900px; margin: 10px 0; }
.signal-overview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.signal-overview dl > div { padding: 12px; background: #f8f6f0; }
.signal-overview dl > .wide { grid-column: 1 / -1; }
.signal-validation-controls { border-color: #d9c7a0; }
.signal-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.signal-actions form { margin: 0; }
.signal-why > h3 { margin-top: 24px; color: #6c552e; font-size: 12px; }
.counter-evidence-panel { border: 1px dashed #b79b69; background: #fffdf7; }
.counter-evidence-empty { color: #695c46; font-style: italic; }
.signal-limitations { border-left: 4px solid #8b7a5a; }
.market-navigation { position: sticky; top: 78px; z-index: 8; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin: 0 0 22px; padding: 7px; border: 1px solid var(--line); border-radius: 7px; background: rgb(255 253 248 / 96%); box-shadow: 0 8px 24px rgb(23 44 51 / 5%); }
.market-navigation a { min-width: 0; display: grid; place-items: center; padding: 8px 7px; color: var(--ink-soft); border-radius: 4px; font-size: 10px; font-weight: 800; line-height: 1.25; text-align: center; }
.market-navigation a:hover { color: white; background: var(--teal); }
.market-object-legend { display: flex; flex-wrap: wrap; gap: 7px; margin: -10px 0 20px; }.market-object-legend span { padding: 5px 7px; color: #496466; background: #eef2ee; border-radius: 3px; font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.market-subtitle { margin-bottom: 8px !important; color: #ffc8bb !important; font: 700 15px "Manrope", sans-serif; }
.market-core-grid, .market-positioning-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.market-core-card, .market-positioning-grid > article { padding: 20px; }
.market-core-card h3, .market-positioning-grid h3 { margin: 13px 0 7px; }
.market-core-card p, .market-positioning-grid p { color: var(--ink-soft); line-height: 1.5; }
.market-core-card small { color: var(--teal); font-weight: 700; }
.market-positioning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.market-demo-disclaimer { max-width: 850px; margin: 34px auto 0; color: #718082; text-align: center; font-size: 10px; line-height: 1.6; }
.market-page > section[id] { scroll-margin-top: 150px; }
.prospect-demo .signal-card { border-left-color: #a87324; }
.market-signal-lead { margin-bottom: 22px; padding: 27px; background: linear-gradient(145deg, #fff9ed, #fffdf8); box-shadow: 0 16px 42px rgb(95 64 18 / 7%); }
.market-signal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.market-signal-card { display: flex; min-height: 250px; flex-direction: column; }
.market-signal-card h3 { margin: 8px 0 10px; font-size: 18px; line-height: 1.25; }
.market-signal-card > p { display: -webkit-box; overflow: hidden; margin: 0; color: #5e6968; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.market-signal-card .signal-why-link { margin-top: auto; padding-top: 16px; }
.market-statistics { margin-top: 0; }
.market-companies { display: grid; gap: 25px; }
.market-company-group { display: grid; gap: 11px; }
.market-company-group > header, .market-evidence-source > header, .core-decision-summary > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.market-company-group > header { padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.market-company-group > header h3 { margin: 0; font-size: 16px; }
.market-company-group > header > span { min-width: 28px; color: var(--teal); font-weight: 800; text-align: right; }
.market-company-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.market-company-card { display: grid; min-height: 112px; align-content: start; padding: 16px; }
.market-company-card h4 { margin: 5px 0 7px; font-size: 13px; }
.market-company-card p { margin: 0; color: var(--ink-soft); font-size: 9px; line-height: 1.45; }
.market-ecosystem-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 24px; padding: 25px 28px; border-left: 5px solid var(--teal); }
.market-ecosystem-cta h2 { margin: 5px 0 8px; }
.market-ecosystem-cta p { max-width: 740px; margin: 0; color: var(--ink-soft); line-height: 1.55; }
.market-ecosystem-cta .button { flex: none; }
.market-timeline-filters { margin-bottom: 12px; }
.market-timeline-list { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: white; }
.market-timeline-item { display: grid; grid-template-columns: 100px 125px minmax(0, 1fr); gap: 14px; align-items: center; padding: 13px 17px; border-bottom: 1px solid #e8e8e1; }
.market-timeline-item:last-child { border-bottom: 0; }
.market-timeline-item time { color: #68787a; font-size: 9px; font-weight: 800; }
.market-timeline-item > span { width: fit-content; padding: 4px 6px; color: #376764; background: #e7f0ec; border-radius: 3px; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.market-timeline-item h3 { margin: 0; font-size: 12px; line-height: 1.35; }
.market-timeline-item small { grid-column: 3; color: #7a8788; font-size: 8px; }
.market-evidence-source-list { display: grid; gap: 14px; }
.market-evidence-source { padding: 20px; }
.market-evidence-source > header { align-items: flex-start; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.market-evidence-source > header h3 { margin: 5px 0 4px; font-size: 15px; }
.market-evidence-source > header p { margin: 0; color: var(--ink-soft); font-size: 8px; }
.market-evidence-claims { display: grid; gap: 10px; margin-top: 12px; }
.market-evidence-chain { display: grid; grid-template-columns: minmax(0, 1.35fr) 18px minmax(180px, .75fr) 18px minmax(170px, .65fr); gap: 10px; align-items: center; padding: 15px; background: #fbfbf7; border: 1px solid #e5e4dc; border-radius: 6px; }
.market-evidence-chain > div { min-width: 0; }
.market-evidence-chain > div > span, .market-evidence-chain > div > strong, .market-evidence-chain > div > small, .market-evidence-chain > div > a { display: block; }
.market-evidence-chain > div > span { margin-bottom: 5px; color: #738183; font-size: 7px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.market-evidence-chain > div > strong { overflow-wrap: anywhere; color: #294749; font-size: 9px; line-height: 1.45; }
.market-evidence-chain > div > small { margin-top: 5px; color: #778486; font-size: 8px; line-height: 1.45; }
.market-evidence-chain > div > a { margin-top: 6px; color: var(--teal); font-size: 8px; font-weight: 800; }
.market-evidence-chain > i { color: #c18125; font-size: 16px; font-style: normal; text-align: center; }
.market-evidence-chain blockquote { margin: 7px 0 0; color: #5c6f70; font-size: 8px; line-height: 1.5; }
.core-decision-summary { margin-bottom: 22px; padding: 24px 26px; border-top: 4px solid #b97b24; background: linear-gradient(135deg, #fffaf0, #fff); }
.core-decision-summary h2 { margin: 5px 0 0; }
.core-decision-lead { max-width: 920px; margin: 18px 0; color: #40585a; font-size: 12px; line-height: 1.7; }
.core-decision-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; }
.core-decision-summary dl > div { padding: 13px; background: #f6f4ec; border-radius: 5px; }
.core-decision-summary dt { color: #7a7f78; font-size: 7px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.core-decision-summary dd { margin: 5px 0 0; color: #29484a; font-size: 9px; font-weight: 700; line-height: 1.45; }

@media (max-width: 980px) {
  .market-navigation { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .market-core-grid, .market-signal-grid, .market-company-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-evidence-chain { grid-template-columns: 1fr; }
  .market-evidence-chain > i { transform: rotate(90deg); }
}

@media (max-width: 700px) {
  .market-navigation { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-core-grid, .market-signal-grid, .market-company-list, .core-decision-summary dl { grid-template-columns: 1fr; }
  .market-signal-card { min-height: 0; }
  .market-ecosystem-cta { display: grid; gap: 18px; }
  .market-ecosystem-cta .button { width: fit-content; }
  .market-timeline-item { grid-template-columns: 90px minmax(0, 1fr); gap: 8px 12px; align-items: start; }
  .market-timeline-item h3, .market-timeline-item small { grid-column: 1 / -1; }
  .market-company-group > header, .market-evidence-source > header, .core-decision-summary > header { align-items: flex-start; }
  .v2-entity-title { align-items: start; }
}
.v2-overview { margin-bottom: 22px; }
.v2-overview dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); }
.v2-overview dl > div { min-width: 0; padding: 14px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-overview dl > div:nth-child(3n) { border-right: 0; }
.v2-overview dl > div.wide { grid-column: 1 / -1; border-right: 0; }
.v2-overview dt, .v2-relation-facts dt, .v2-evidence-panel dt { color: #7d898a; font-size: 7px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.v2-overview dd, .v2-relation-facts dd, .v2-evidence-panel dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--ink); font-size: 10px; font-weight: 700; }
.v2-section-header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 0 2px 12px; }
.v2-section-header h2 { margin: 4px 0 0; }
.v2-relationship-list { display: grid; gap: 12px; }
.v2-relationship-card { overflow: hidden; padding: 0; }
.v2-relationship-card > header { padding: 18px 20px 14px; }
.v2-relationship-card > header h3 { margin: 8px 0 4px; font-size: 20px; }
.v2-relationship-card > header p { margin: 0; color: var(--ink-soft); font-size: 10px; }
.v2-relation-facts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0; background: #f5f5ef; border-top: 1px solid var(--line); }
.v2-relation-facts > div { min-width: 0; padding: 11px 13px; border-right: 1px solid var(--line); }
.v2-relation-facts > div:last-child { border-right: 0; }
.v2-evidence-drawer { border-top: 1px solid var(--line); }
.v2-evidence-drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 20px; color: #185d64; background: #edf4f1; cursor: pointer; font-size: 10px; font-weight: 800; list-style-position: inside; }
.v2-evidence-drawer > summary span { color: #6d7d7e; font-size: 8px; font-weight: 700; }
.v2-evidence-drawer[open] > summary { border-bottom: 1px solid #d5e1dc; }
.v2-evidence-panel { display: grid; gap: 9px; padding: 12px; background: #f8faf7; }
.v2-evidence-panel > article { padding: 15px 16px; background: white; border: 1px solid #dddcd3; border-left: 4px solid #d29a3d; border-radius: 5px; }
.v2-evidence-level { color: #7c5d27; font-size: 7px; font-weight: 800; }
.v2-evidence-claim { margin: 10px 0 12px; color: #314a4f; font-size: 10px; line-height: 1.65; }
.v2-evidence-panel blockquote { margin: 10px 0; padding: 10px 12px; color: #56686a; background: #fff9ed; border-left: 3px solid #d29a3d; font-size: 9px; }
.v2-evidence-panel dl { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 10px; margin: 0; }
.v2-evidence-panel dl > div.wide { grid-column: 1 / -1; }

@media (max-width: 760px) {
  .v2-entity-hero { padding: 21px; }.v2-entity-title { grid-template-columns: 54px minmax(0, 1fr); }.v2-entity-monogram { width: 52px; height: 52px; font-size: 14px; }.v2-overview dl { grid-template-columns: 1fr 1fr; }.v2-overview dl > div:nth-child(3n) { border-right: 1px solid var(--line); }.v2-overview dl > div:nth-child(2n) { border-right: 0; }.v2-relation-facts { grid-template-columns: 1fr 1fr; }.v2-relation-facts > div:nth-child(2n) { border-right: 0; }.v2-evidence-panel dl { grid-template-columns: 1fr 1fr; }
}

.cartography-workspace:fullscreen, .cartography-workspace.is-map-fullscreen { position: fixed; inset: 0; z-index: 1000; width: 100vw; height: 100vh; grid-template-columns: minmax(0, 1fr) 350px; align-items: stretch; padding: 12px; background: #ecece6; }
.cartography-workspace:fullscreen .map-stage, .cartography-workspace.is-map-fullscreen .map-stage { height: calc(100vh - 24px); }
.cartography-workspace:fullscreen .map-canvas-wrap, .cartography-workspace.is-map-fullscreen .map-canvas-wrap { height: auto; flex: 1; }
.cartography-workspace:fullscreen .map-inspector, .cartography-workspace.is-map-fullscreen .map-inspector { position: static; max-height: calc(100vh - 24px); }

.entity-note-archive { margin-bottom: 18px; padding: 20px; }
.entity-note-archive.is-embedded { margin: 15px 0 18px; padding: 16px; background: #fffaf4; border: 1px solid #e2d9c9; border-radius: 7px; }
.entity-note-archive-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.entity-note-archive-header h2 { margin: 4px 0 0; font-size: 18px; }
.entity-note-archive-list { display: grid; gap: 8px; margin-top: 14px; }
.entity-note-archive-list article { display: grid; grid-template-columns: 29px minmax(0, 1fr); gap: 10px; padding: 11px 12px; background: #f7f6f0; border: 1px solid #e2e1d9; border-radius: 5px; }
.entity-note-mark { width: 27px; height: 27px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50%; font: 800 9px "Manrope", sans-serif; }
.entity-note-archive-list p { margin: 0; color: #354b50; font-size: 10px; line-height: 1.55; white-space: pre-wrap; }
.entity-note-archive-list small { display: block; margin-top: 5px; color: #7e898b; font-size: 8px; }

@media (min-width: 1500px) {
  .map-stage-actions p { display: block; }
}

@media print {
  @page { size: landscape; margin: 9mm; }
  body { background: white !important; }
  .topbar, .sidebar, .cartography-hero, .cartography-toolbar, .map-method-note, .map-stage-actions, .map-layout-toolbar, .map-zoom-controls, noscript { display: none !important; }
  .app-shell, .main-content, .cartography-page { width: 100% !important; max-width: none !important; display: block !important; margin: 0 !important; padding: 0 !important; }
  .cartography-workspace { display: grid !important; grid-template-columns: minmax(0, 1fr) 72mm !important; gap: 4mm !important; align-items: stretch !important; }
  .map-stage { height: 182mm !important; border-color: #aeb7b4 !important; border-radius: 0 !important; box-shadow: none !important; break-inside: avoid; }
  .map-canvas-wrap { height: auto !important; min-height: 0 !important; flex: 1 !important; background-size: 18px 18px !important; }
  .map-inspector { position: static !important; max-height: 182mm !important; overflow: hidden !important; border-color: #aeb7b4 !important; border-radius: 0 !important; box-shadow: none !important; }
  .map-note-form, .map-open-profile { display: none !important; }
  .map-note-list { max-height: none !important; overflow: visible !important; }
  .map-stage-header { min-height: 13mm !important; }
  .map-stage-footer { min-height: 9mm !important; }
}

/* Gestion multi-projets */
.projects-page { max-width: 1220px; margin: 0 auto; }.projects-hero { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 35px; align-items: center; margin-bottom: 24px; }.projects-hero h1 { margin: 7px 0 11px; font-size: clamp(40px, 5vw, 58px); }.projects-hero h1 em { color: var(--coral); font-style: normal; }.projects-hero p { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }.active-project-card { display: grid; gap: 5px; padding: 20px; color: white; background: linear-gradient(135deg, #173f42, #286760); border-radius: 9px; box-shadow: 0 12px 32px rgb(23 63 66 / 16%); }.active-project-card small { color: #a8d1c9; font-size: 8px; font-weight: 800; text-transform: uppercase; }.active-project-card strong { font: 800 19px "Manrope", sans-serif; }.active-project-card span { color: #c8dbd6; font-size: 9px; line-height: 1.45; }
.project-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.project-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 14px; background: #f8f8f3; border: 1px solid #e1e2dc; border-radius: 7px; }.project-card.active { background: #eef6f1; border-color: #9cc8bd; }.project-monogram { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50% 50% 8px 50%; font: 800 14px "Manrope", sans-serif; }.project-card h3 { margin: 0 0 4px; font-size: 14px; }.project-card p { margin: 0; color: #718082; font-size: 8px; line-height: 1.45; }.project-current { color: #1f7367; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.projects-settings-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 18px; align-items: start; margin-top: 18px; }.project-side-stack { display: grid; gap: 18px; }.client-account-list { display: grid; gap: 8px; margin-bottom: 20px; }.client-account-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 8px; align-items: center; padding: 12px; background: #f7f8f4; border: 1px solid #e1e3dd; border-radius: 6px; }.client-account-list strong, .client-account-list code, .client-account-list small { display: block; }.client-account-list strong { font-size: 11px; }.client-account-list code { width: fit-content; margin-top: 4px; color: #285f5d; font-size: 9px; }.client-account-list small { margin-top: 3px; color: #7c898a; font-size: 7px; }.client-account-list .button { min-height: 31px; padding: 5px 9px; font-size: 8px; }.account-status { padding: 4px 6px; color: #815328; background: #f3e3cb; border-radius: 4px; font-size: 7px; font-weight: 800; }.account-status.active { color: #176553; background: #dcece5; }
.project-form { display: grid; gap: 12px; padding: 17px; background: #f4f6f2; border: 1px solid #dfe3dd; border-radius: 7px; }.project-form h3 { margin: 0; font-size: 14px; }.project-form label { display: grid; gap: 6px; color: #53696b; font-size: 9px; font-weight: 800; }.project-form label small { color: #819092; font-weight: 500; }.project-form input, .project-form textarea { width: 100%; padding: 10px 11px; outline: none; color: var(--ink); background: white; border: 1px solid #d3d9d3; border-radius: 5px; font-size: 10px; resize: vertical; }.project-form input:focus, .project-form textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgb(12 119 119 / 8%); }.project-form .button { justify-self: start; }
.credential-reveal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(350px, .7fr); gap: 24px; align-items: center; margin-bottom: 20px; padding: 20px; color: #54382f; background: #fff2e8; border: 2px solid #ee9c83; border-radius: 9px; }.credential-reveal h2 { margin: 5px 0 6px; font-size: 20px; }.credential-reveal p { margin: 0; font-size: 9px; }.credential-reveal dl { display: grid; gap: 7px; margin: 0; }.credential-reveal dl div { padding: 8px 10px; background: white; border-radius: 5px; }.credential-reveal dt { color: #88736c; font-size: 7px; font-weight: 800; text-transform: uppercase; }.credential-reveal dd { margin: 3px 0 0; overflow-wrap: anywhere; font: 800 11px monospace; user-select: all; }
@media (max-width: 900px) { .projects-hero, .projects-settings-grid, .credential-reveal { grid-template-columns: 1fr; }.project-tabs { padding-left: 15px; }.project-card-grid { grid-template-columns: 1fr; }.client-account-list article { grid-template-columns: 1fr auto; }.client-account-list article form { grid-row: 2; } }
@media (max-width: 680px) { .project-tabs { top: 68px; }.project-tabs + .app-shell { min-height: calc(100vh - 112px); }.project-tabs + .app-shell .tabs { top: 112px; }.project-card { grid-template-columns: 40px minmax(0, 1fr); }.project-card > :last-child { grid-column: 2; justify-self: start; } }
@media print { .project-tabs { display: none !important; } }

/* Espace client sécurisé et strictement en lecture seule */
.client-portal { min-height: 100vh; color: var(--ink); background: #f4f2eb; }
.client-topbar { position: sticky; z-index: 60; top: 0; min-height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; padding: 0 clamp(22px, 4vw, 58px); background: rgb(253 252 247 / 96%); border-bottom: 1px solid #d8dbd5; backdrop-filter: blur(12px); }.client-topbar .brand { justify-self: start; }.client-topbar .logout-form { justify-self: end; }.client-readonly-badge { display: flex; gap: 7px; align-items: center; padding: 7px 11px; color: #27665f; background: #e4f0ea; border: 1px solid #c7ddd2; border-radius: 999px; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }.client-readonly-badge i { width: 7px; height: 7px; background: #2f947b; border-radius: 50%; box-shadow: 0 0 0 4px rgb(47 148 123 / 11%); }
.client-nav { position: sticky; z-index: 50; top: 72px; display: flex; justify-content: center; gap: 5px; overflow-x: auto; padding: 9px 20px; background: #173b3e; }.client-nav a { flex: none; padding: 7px 12px; color: #c8dad6; border-radius: 5px; font-size: 9px; font-weight: 700; }.client-nav a:hover, .client-nav a.active { color: white; background: rgb(255 255 255 / 12%); }
.client-main { width: min(1320px, calc(100% - 42px)); min-height: calc(100vh - 180px); margin: 0 auto; padding: 38px 0 56px; }.client-preview-warning { margin-bottom: 18px; padding: 11px 14px; color: #755b23; background: #fff3cd; border: 1px solid #ead99c; border-radius: 6px; font-size: 9px; }.client-preview-warning b { margin-right: 5px; }.client-footer { display: flex; justify-content: space-between; gap: 20px; padding: 22px clamp(22px, 4vw, 58px); color: #a8bfba; background: #173b3e; font-size: 8px; }.client-footer span { color: white; font-weight: 800; }.client-footer p { margin: 0; }
.client-footer { align-items: center; }
.client-footer .brand-logo { width: 175px; height: 45px; box-shadow: 0 0 0 1px rgb(255 255 255 / 12%); }
.client-hero { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 24px; padding: 14px 0 30px; border-bottom: 1px solid #d3d7d1; }.client-hero h1, .client-page-heading h1, .client-profile-hero h1, .client-report-hero h1 { margin: 7px 0 10px; font-size: clamp(38px, 5vw, 62px); line-height: 1; }.client-hero h1 em, .client-report-hero h1 em { color: var(--coral); font-style: normal; }.client-hero p { max-width: 780px; margin: 0; color: #5d7072; font-size: 12px; line-height: 1.65; }.client-hero-actions, .client-report-actions, .client-external-actions { display: flex; flex: none; gap: 8px; }
.client-metrics { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 20px; overflow: hidden; background: #fff; border: 1px solid #d8dbd5; border-radius: 9px; box-shadow: 0 10px 32px rgb(24 58 57 / 5%); }.client-metrics div { padding: 16px 18px; border-right: 1px solid #e0e2dc; }.client-metrics div:last-child { border: 0; }.client-metrics strong, .client-metrics span { display: block; }.client-metrics strong { color: #176d65; font: 800 27px/1 "Manrope", sans-serif; }.client-metrics span { margin-top: 5px; color: #748183; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.client-search { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; align-items: center; margin-bottom: 25px; padding: 9px; background: #e9ebe5; border-radius: 8px; }.client-search > span { color: #66807e; font-size: 18px; text-align: center; }.client-search input { height: 40px; padding: 0 12px; outline: 0; background: white; border: 1px solid #d3d7d1; border-radius: 5px; font-size: 10px; }.client-search input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgb(29 104 112 / 8%); }
.client-section { margin-bottom: 28px; }.client-section > header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 13px; }.client-section > header h2 { margin: 5px 0 0; font-size: 25px; }.client-section > header > b { min-width: 39px; height: 39px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50%; font: 800 13px "Manrope", sans-serif; }
.client-person-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.client-person-card { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 16px; color: inherit; background: white; border: 1px solid #dce0da; border-radius: 8px; box-shadow: 0 7px 22px rgb(30 62 60 / 4%); transition: .16s ease; }.client-person-card:hover { border-color: #8fb8ae; box-shadow: 0 12px 30px rgb(30 62 60 / 9%); transform: translateY(-2px); }.client-monogram, .client-profile-avatar { display: grid; place-items: center; color: white; background: linear-gradient(135deg, var(--coral), #b74735); font: 800 11px "Manrope", sans-serif; }.client-monogram { width: 45px; height: 45px; border-radius: 50% 50% 8px 50%; }.client-person-card h3 { margin: 2px 0 4px; font-size: 14px; }.client-person-card p { margin: 0; color: #486164; font-size: 9px; }.client-person-card small { display: block; margin-top: 5px; color: #859091; font-size: 7px; }.client-person-card footer { grid-column: 1 / 3; display: flex; gap: 5px; padding-top: 10px; border-top: 1px solid #ecece7; }.client-person-card footer span { padding: 4px 6px; color: #3f6e69; background: #eaf2ed; border-radius: 4px; font-size: 7px; font-weight: 800; }
.client-entity-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.client-entity-groups > section { padding: 16px; background: white; border: 1px solid #dde0da; border-radius: 8px; }.client-entity-groups > section > header { display: flex; justify-content: space-between; gap: 10px; align-items: center; }.client-entity-groups h3 { margin: 0; font-size: 14px; }.client-entity-groups header a { color: var(--teal); font-size: 8px; font-weight: 800; }.client-entity-groups ul { display: grid; gap: 0; margin: 10px 0 0; padding: 0; list-style: none; }.client-entity-groups li { border-top: 1px solid #ecece7; }.client-entity-groups li a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; color: inherit; }.client-entity-groups li b, .client-entity-groups li small { display: block; }.client-entity-groups li b { font-size: 9px; }.client-entity-groups li small { color: #7a888a; font-size: 7px; }.client-entity-groups > section > p { color: #7a888a; font-size: 8px; }
.client-page-heading { margin-bottom: 20px; padding-bottom: 22px; border-bottom: 1px solid #d5d8d2; }.client-page-heading a, .client-back { display: block; width: fit-content; margin-bottom: 13px; color: var(--teal); font-size: 8px; font-weight: 800; }.client-page-heading p { margin: 0; color: #68787a; font-size: 10px; }.client-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.client-directory-grid > a { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 11px; padding: 14px; color: inherit; background: white; border: 1px solid #dfe1dc; border-radius: 7px; }.client-directory-grid > a:hover { border-color: #8db6ac; }.client-directory-glyph { width: 38px; height: 38px; display: grid; place-items: center; color: white; background: #1d6869; border-radius: 50%; font: 800 11px "Manrope", sans-serif; }.client-directory-grid h2 { margin: 1px 0 4px; font-size: 12px; }.client-directory-grid p { margin: 0; color: #617476; font-size: 8px; }.client-directory-grid small { color: #899293; font-size: 7px; }.client-empty { padding: 34px; color: #718082; text-align: center; background: white; border: 1px dashed #cbd0ca; border-radius: 8px; font-size: 10px; }
.client-profile-hero { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 22px; align-items: center; margin-bottom: 15px; padding: 23px; color: white; background: linear-gradient(135deg, #173f42, #235d5b); border-radius: 10px; box-shadow: 0 14px 42px rgb(18 56 57 / 13%); }.client-profile-avatar { width: 82px; height: 82px; border: 5px solid rgb(255 255 255 / 22%); border-radius: 50% 50% 13px 50%; font-size: 18px; }.client-profile-hero .client-back { color: #a8d2c8; }.client-profile-hero .eyebrow { color: #9ed0c4; }.client-profile-hero h1 { margin-top: 5px; color: white; font-size: clamp(34px, 4vw, 52px); }.client-profile-role { margin: 0; color: #d6e7e3; font-size: 12px; }.client-profile-bio { max-width: 830px; margin: 11px 0 0; color: #bfd4d0; font-size: 9px; line-height: 1.55; }.client-profile-actions { display: grid; gap: 7px; }.client-profile-actions .button-quiet { color: #d8e8e5; background: rgb(255 255 255 / 8%); border-color: rgb(255 255 255 / 18%); }
.client-fact-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 15px; overflow: hidden; background: white; border: 1px solid #daddd7; border-radius: 8px; }.client-fact-grid > div { min-width: 0; padding: 12px 13px; border-right: 1px solid #e3e4df; }.client-fact-grid > div:last-child { border: 0; }.client-fact-grid small, .client-fact-grid b { display: block; overflow-wrap: anywhere; }.client-fact-grid small { margin-bottom: 4px; color: #819092; font-size: 7px; text-transform: uppercase; }.client-fact-grid b { color: #2d5153; font-size: 9px; }
.client-detail-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 14px; }.client-detail-main, .client-detail-side { display: grid; align-content: start; gap: 14px; }.client-panel { overflow: hidden; background: white; border: 1px solid #dcded9; border-radius: 8px; box-shadow: 0 7px 24px rgb(28 61 59 / 4%); }.client-panel > header { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; background: #f3f5ef; border-bottom: 1px solid #e2e4de; }.client-panel > header h2 { margin: 0; font-size: 15px; }.client-panel > header span { color: #1e746a; font-size: 9px; font-weight: 800; }.client-empty-inline { margin: 0; padding: 17px; color: #7c898a; font-size: 9px; }
.client-timeline { padding: 6px 17px 15px; }.client-timeline article { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 15px; padding: 13px 0; border-bottom: 1px solid #e7e8e3; }.client-timeline article:last-child { border: 0; }.client-timeline time { color: #7d898b; font-size: 8px; }.client-timeline h3 { margin: 0 0 3px; font-size: 11px; }.client-timeline b { color: #41706c; font-size: 8px; }.client-timeline p { margin: 7px 0; color: #657779; font-size: 8px; line-height: 1.5; }
.client-status { width: fit-content; display: inline-block; padding: 3px 5px; color: #825f20; background: #f7eacb; border-radius: 3px; font-size: 7px; font-weight: 800; }.client-status.is-validated, .client-status.is-corrected { color: #176553; background: #dcece5; }.client-relation-list article { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 13px 16px; border-bottom: 1px solid #e6e7e2; }.client-relation-list article:last-child { border: 0; }.client-relation-list article > div { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }.client-relation-list a { color: #1d6869; font-size: 9px; font-weight: 800; }.client-relation-list div span { color: #657779; font-size: 8px; }.client-relation-list article > small { color: #849092; font-size: 7px; }.client-relation-list article > b { grid-row: 1 / 3; grid-column: 2; align-self: center; }
.client-statement-list, .client-analysis-list { display: grid; gap: 9px; padding: 13px; }.client-statement-list article, .client-analysis-list article { padding: 12px; background: #fafaf6; border: 1px solid #e5e6e1; border-radius: 5px; }.client-statement-list small, .client-analysis-list small { color: #7c898a; font-size: 7px; }.client-statement-list p, .client-analysis-list p { margin: 6px 0 8px; color: #4f6668; font-size: 9px; line-height: 1.55; }.client-analysis-list h3 { margin: 5px 0 0; font-size: 11px; }.client-analysis-list b { color: #247266; font-size: 8px; }
.client-chip-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px; }.client-chip-list > span { display: grid; gap: 2px; padding: 7px 8px; color: #315c5a; background: #eaf2ed; border-radius: 5px; font-size: 8px; font-weight: 800; }.client-chip-list small { color: #748987; font-size: 6px; }.client-contact-list article { padding: 11px 14px; border-bottom: 1px solid #e8e9e4; }.client-contact-list article:last-child { border: 0; }.client-contact-list small, .client-contact-list b, .client-contact-list a, .client-contact-list span { display: block; overflow-wrap: anywhere; }.client-contact-list small { color: #849092; font-size: 7px; }.client-contact-list b, .client-contact-list a { margin-top: 3px; color: #235f5c; font-size: 9px; }.client-contact-list span { margin-top: 3px; color: #7c898a; font-size: 7px; }.client-source-links { display: grid; gap: 0; }.client-source-links a { padding: 10px 14px; color: #1c6966; border-bottom: 1px solid #e6e8e2; font-size: 8px; font-weight: 700; }.client-source-links a:last-child { border: 0; }.client-external-link { display: block; padding: 11px 14px; color: #1c6966; background: white; border: 1px solid #dcded9; border-radius: 6px; font-size: 8px; font-weight: 800; }.client-registry-panel { margin-bottom: 14px; }.client-registry-panel .client-fact-grid { margin: 0; border: 0; border-radius: 0; }.client-external-actions { margin-top: 14px; }
.client-report-page { max-width: 1240px; margin: 0 auto; }.client-report-hero { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 20px; padding-bottom: 25px; border-bottom: 1px solid #d6d9d3; }.client-report-hero p { max-width: 760px; margin: 0 0 7px; color: #617476; font-size: 11px; line-height: 1.6; }.client-report-hero small { color: #829092; font-size: 8px; }.client-report-page .client-metrics { grid-template-columns: repeat(4, 1fr); }.client-report-index { position: sticky; z-index: 20; top: 122px; display: flex; gap: 6px; margin-bottom: 18px; padding: 8px; background: rgb(244 242 235 / 95%); border: 1px solid #d7dad4; border-radius: 6px; backdrop-filter: blur(8px); }.client-report-index a { padding: 6px 9px; color: #356765; border-radius: 4px; font-size: 8px; font-weight: 800; }.client-report-index a:hover { color: white; background: #1d6869; }
.client-report-section { margin-bottom: 18px; overflow: hidden; background: white; border: 1px solid #dbded8; border-radius: 8px; }.client-report-section > header { padding: 16px 19px; background: #f0f4ef; border-bottom: 1px solid #dfe3dd; }.client-report-section > header h2 { margin: 4px 0 0; font-size: 22px; }.client-report-person { margin: 13px; overflow: hidden; background: #fbfbf7; border: 1px solid #e0e2dd; border-radius: 6px; }.client-report-person > header { display: grid; grid-template-columns: 45px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 12px; background: #173f42; }.client-report-person > header h3 { margin: 0 0 3px; color: white; font-size: 14px; }.client-report-person > header p { margin: 0; color: #bcd4cf; font-size: 8px; }.client-report-person > header > a { color: #b9ded5; font-size: 8px; font-weight: 800; }.client-report-person > p { margin: 0; padding: 14px; color: #536a6c; font-size: 9px; line-height: 1.55; }.client-report-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 0 13px 13px; }.client-report-columns section { padding: 12px; background: white; border: 1px solid #e4e5e0; border-radius: 5px; }.client-report-columns h4 { margin: 0 0 8px; color: #2b5f5d; font-size: 10px; }.client-report-columns ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }.client-report-columns li { padding-bottom: 7px; border-bottom: 1px solid #ecece7; }.client-report-columns li:last-child { padding: 0; border: 0; }.client-report-columns b, .client-report-columns span, .client-report-columns small, .client-report-columns a { display: block; overflow-wrap: anywhere; }.client-report-columns b { font-size: 8px; }.client-report-columns span, .client-report-columns a { margin-top: 2px; color: #4e706e; font-size: 7px; }.client-report-columns small { margin-top: 2px; color: #889294; font-size: 6px; }
.client-report-table-wrap { overflow-x: auto; }.client-report-table-wrap table { width: 100%; border-collapse: collapse; }.client-report-table-wrap th { padding: 9px 11px; color: #748385; background: #f4f5f1; font-size: 7px; text-align: left; text-transform: uppercase; }.client-report-table-wrap td { min-width: 120px; padding: 11px; color: #506668; border-top: 1px solid #e7e8e3; font-size: 8px; vertical-align: top; }.client-report-table-wrap td a { color: #1d6869; font-weight: 800; }.client-report-table-wrap td b, .client-report-table-wrap td small { display: block; }.client-report-table-wrap td small { margin-top: 3px; color: #7f8a8c; }.client-report-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; padding: 13px; }.client-report-source-grid article { display: grid; align-content: start; padding: 12px; background: #f8faf6; border: 1px solid #e0e4de; border-radius: 5px; }.client-report-source-grid article > span { width: fit-content; padding: 3px 5px; color: #397168; background: #e3efe9; border-radius: 3px; font-size: 6px; font-weight: 800; }.client-report-source-grid h3 { margin: 7px 0 4px; font-size: 10px; }.client-report-source-grid p { margin: 0; color: #6c7c7e; font-size: 7px; }.client-report-source-grid small { margin: 5px 0; color: #879193; font-size: 6px; }.client-report-source-grid a { align-self: end; color: #1d6869; font-size: 7px; font-weight: 800; }.client-report-quality { padding: 18px; color: #d8e8e4; background: #173f42; border-radius: 8px; }.client-report-quality h2 { margin: 0 0 7px; color: white; font-size: 18px; }.client-report-quality p { max-width: 900px; margin: 0; font-size: 9px; line-height: 1.6; }.client-report-quality > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.client-report-quality span { padding: 7px 9px; background: rgb(255 255 255 / 8%); border-radius: 4px; font-size: 7px; }.client-report-quality b { margin-right: 4px; color: white; font-size: 11px; }
.client-cartography { max-width: none; }.client-cartography .cartography-workspace { min-height: 720px; }

@media (max-width: 980px) { .client-person-grid, .client-directory-grid, .client-report-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.client-entity-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }.client-profile-hero { grid-template-columns: 72px minmax(0, 1fr); }.client-profile-avatar { width: 68px; height: 68px; }.client-profile-actions { grid-column: 2; display: flex; }.client-fact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.client-fact-grid > div:nth-child(3n) { border-right: 0; }.client-detail-layout { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .client-topbar { grid-template-columns: 1fr auto; min-height: 64px; padding: 0 15px; }.client-topbar .brand small { font-size: 6px; }.client-readonly-badge { display: none; }.client-nav { top: 64px; justify-content: flex-start; }.client-main { width: min(100% - 24px, 1320px); padding-top: 23px; }.client-hero, .client-report-hero { display: grid; gap: 17px; }.client-hero-actions, .client-report-actions { flex-wrap: wrap; }.client-metrics { grid-template-columns: repeat(2, 1fr); }.client-metrics div { border-bottom: 1px solid #e0e2dc; }.client-person-grid, .client-directory-grid, .client-entity-groups, .client-report-source-grid, .client-report-columns { grid-template-columns: 1fr; }.client-profile-hero { grid-template-columns: 1fr; text-align: left; }.client-profile-avatar { width: 62px; height: 62px; }.client-profile-actions { grid-column: auto; display: grid; }.client-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.client-fact-grid > div:nth-child(3n) { border-right: 1px solid #e3e4df; }.client-fact-grid > div:nth-child(even) { border-right: 0; }.client-timeline article { grid-template-columns: 1fr; gap: 5px; }.client-footer { display: grid; }.client-report-index { top: 114px; overflow-x: auto; }.client-report-index a { flex: none; } }

/* Decision intelligence — sourced signals, never a moral score. */
.profile-main-column, .profile-main-column > * { min-width: 0; }
.decision-counters { min-width: 310px; display: grid; grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 8px; }.decision-counters div { padding: 9px 11px; border: 1px solid #cbc9c0; border-radius: 5px; background: rgb(255 255 255 / 35%); }.decision-counters strong { display: block; color: var(--teal); font: 800 20px "Manrope"; }.decision-counters span { color: #647476; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.decision-safety-note { display: flex; gap: 11px; margin: -3px 0 19px; padding: 12px 14px; border-left: 3px solid #597d78; background: #edf3f1; }.decision-safety-note > span { flex: none; width: 19px; height: 19px; display: grid; place-items: center; border: 1px solid #597d78; border-radius: 50%; font: 700 10px serif; }.decision-safety-note p { min-width: 0; margin: 0; color: #486064; font-size: 10px; line-height: 1.55; overflow-wrap: anywhere; }
.decision-filters, .financial-entity-selector { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }.decision-filters button, .financial-entity-selector button { appearance: none; padding: 7px 10px; border: 1px solid #ccd6d3; border-radius: 4px; color: #496064; background: #fff; font: 700 9px "Manrope"; cursor: pointer; }.decision-filters button.is-active, .financial-entity-selector button.is-active { color: #fff; border-color: var(--teal); background: var(--teal); }
.finding-list { display: grid; gap: 15px; }.finding-card { position: relative; padding: 19px 20px; border: 1px solid #dfe4e1; border-left: 4px solid #7e9a95; border-radius: 6px; background: #fff; }.finding-card.classification-attention_point, .finding-card.classification-to_clarify { border-left-color: #c78625; }.finding-card.classification-allegation { border-left-color: #b04b38; }.finding-card.classification-response, .finding-card.classification-positive_signal { border-left-color: #2d7b69; }.finding-heading { display: flex; justify-content: space-between; gap: 15px; align-items: start; }.finding-confidence { flex: none; color: #718083; font-size: 9px; font-weight: 700; }.finding-card h3 { margin: 11px 0 7px; font-size: 15px; }.finding-summary { margin: 0; color: #3f5559; font-size: 11px; line-height: 1.6; }.finding-scope { display: grid; gap: 7px; margin: 15px 0; }.finding-scope div { display: grid; grid-template-columns: 125px 1fr; gap: 12px; }.finding-scope dt { color: #788689; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.finding-scope dd { margin: 0; color: #30494d; font-size: 10px; }.finding-evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.finding-evidence-grid.is-single { grid-template-columns: 1fr; }.finding-evidence-grid section { padding: 12px 14px; border-radius: 5px; background: #f3f6f5; }.finding-evidence-grid .counter-evidence { background: #eef6f1; border: 1px solid #d3e7dc; }.finding-evidence-grid h4 { margin: 0 0 8px; color: #496064; font-size: 9px; text-transform: uppercase; }.finding-evidence-grid ul { margin: 0; padding-left: 16px; }.finding-evidence-grid li, .finding-evidence-grid p { color: #5f7174; font-size: 9px; line-height: 1.45; }.finding-evidence-grid a { color: var(--teal); font-weight: 700; }.finding-evidence-grid small { display: block; color: #7b898a; }.materiality-high, .materiality-critical { color: #8d3b2d; background: #f6ded8; }.materiality-medium { color: #895b16; background: #f4e5c9; }.materiality-low { color: #496d67; background: #e2eeeb; }
.decision-events, .decision-question-section { margin-top: 27px; padding-top: 22px; border-top: 1px solid #e0e5e3; }.decision-events > h3, .decision-question-section > h3 { margin: 0 0 14px; font-size: 15px; }.decision-event-list { display: grid; gap: 12px; }.decision-event-list article { display: grid; grid-template-columns: 90px 1fr; gap: 14px; padding: 14px; border: 1px solid #e0e5e3; border-radius: 5px; }.decision-event-list time { color: var(--coral-dark); font: 800 10px "Manrope"; }.decision-event-list h4 { margin: 8px 0 4px; font-size: 12px; }.decision-event-list p { margin: 0 0 7px; color: #53676a; font-size: 10px; line-height: 1.5; }.decision-event-list small { color: #778588; font-size: 8px; }.event-counter { margin-top: 9px; padding: 9px 11px; border-left: 3px solid #55917c; background: #eef6f1; color: #49635c; font-size: 9px; }.event-counter a { color: #2d6e60; }.decision-question-section ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: questions; }.decision-question-section li { position: relative; padding: 14px 15px 14px 48px; border: 1px solid #e0e5e3; border-radius: 5px; counter-increment: questions; }.decision-question-section li::before { content: counter(questions); position: absolute; left: 15px; top: 14px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--teal); font: 800 9px "Manrope"; }.decision-question-section p { margin: 8px 0 3px; color: #2f494d; font-size: 11px; font-weight: 700; }.decision-question-section small { color: #778588; font-size: 8px; }
.financial-entity-panel { display: none; }.financial-entity-panel.is-active { display: block; }.financial-entity-heading { display: flex; justify-content: space-between; align-items: end; gap: 15px; margin: 8px 0 14px; }.financial-entity-heading h3 { margin: 6px 0 0; font-size: 17px; }.financial-entity-heading > a { color: var(--teal); font-size: 9px; font-weight: 700; }.financial-table-wrap { overflow-x: auto; border: 1px solid #dfe4e1; border-radius: 5px; }.financial-table { width: 100%; min-width: 850px; border-collapse: collapse; }.financial-table th, .financial-table td { padding: 10px 11px; border-bottom: 1px solid #e5e9e7; text-align: right; white-space: nowrap; font-size: 9px; }.financial-table thead th { color: #68797b; background: #f3f6f5; font-size: 8px; text-transform: uppercase; }.financial-table th:first-child { text-align: left; }.financial-table td:first-child { text-align: left; }.financial-signal-row td { color: #81561a; background: #fbf3e4; text-align: left; white-space: normal; line-height: 1.5; }.financial-source-list { display: grid; gap: 5px; margin-top: 12px; }.financial-source-list p { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 10px; align-items: center; margin: 0; padding: 7px 9px; background: #f5f7f6; font-size: 8px; }.financial-source-list span { color: var(--coral-dark); font-weight: 800; }.financial-source-list a { color: var(--teal); font-weight: 700; }.financial-source-list small { color: #7d898b; }
@media (max-width: 1050px) { .decision-counters { display: none; } }
@media (max-width: 680px) { .finding-heading, .financial-entity-heading { display: grid; }.finding-evidence-grid { grid-template-columns: 1fr; }.finding-scope div, .decision-event-list article { grid-template-columns: 1fr; }.financial-source-list p { grid-template-columns: 38px 1fr; }.financial-source-list small { grid-column: 2; } }

@media print { .client-topbar, .client-nav, .client-footer, .client-preview-warning, .client-report-actions, .client-report-index { display: none !important; }.client-portal { background: white !important; }.client-main { width: 100%; margin: 0; padding: 0; }.client-report-page { max-width: none; }.client-report-hero { margin-bottom: 5mm; padding-bottom: 4mm; }.client-report-hero h1 { font-size: 30pt; }.client-report-page .client-metrics { box-shadow: none; }.client-report-section { break-inside: auto; box-shadow: none; }.client-report-person { break-inside: avoid; }.client-report-person > header { print-color-adjust: exact; -webkit-print-color-adjust: exact; }.client-report-source-grid { grid-template-columns: repeat(2, 1fr); }.client-report-quality { print-color-adjust: exact; -webkit-print-color-adjust: exact; } }

@media (max-width: 1180px) {
  .cartography-hero { grid-template-columns: 1fr; gap: 20px; }.cartography-metrics { width: fit-content; }.cartography-workspace { grid-template-columns: minmax(0, 1fr) 285px; }.map-filter-list { order: 3; width: 100%; }
}
@media (max-width: 900px) {
  .cartography-workspace { grid-template-columns: 1fr; }.map-inspector { position: static; max-height: none; }.map-inspector-empty { min-height: 220px; }.map-canvas-wrap { height: 570px; }
}
@media (max-width: 760px) {
  .cartography-hero { gap: 16px; }.cartography-hero h1 { font-size: 34px; }.cartography-hero p { font-size: 12px; }.cartography-metrics { width: 100%; }.cartography-metrics > div { min-width: 0; padding: 11px; }.cartography-metrics strong { font-size: 21px; }.cartography-toolbar { align-items: stretch; }.map-search-wrap { flex-basis: 100%; }.map-signal-mode-switch { width: 100%; }.map-signal-mode-switch button { flex: 1; }.map-filter-list { flex-wrap: nowrap; padding-bottom: 4px; overflow-x: auto; }.map-filter { flex: none; }.map-status-filter { margin-left: 0; width: fit-content; }.map-stage-actions p { display: none; }.map-stage-actions button span { display: none; }.map-stage-actions button[data-map-fullscreen] span { display: inline; }.map-layout-toolbar { grid-template-columns: repeat(4, minmax(0, 1fr)); }.map-layout-toolbar > span { display: none; }.map-layout-toolbar output { grid-column: 1 / -1; grid-row: 2; text-align: left; }.map-canvas-wrap { height: 510px; }.map-mobile-context-gate:not([hidden]) { position: absolute; inset: 0; z-index: 5; display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; background: rgb(248 247 242 / 97%); }.map-mobile-context-gate > span { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 12px; color: white; background: var(--teal); border-radius: 50%; font-size: 20px; }.map-mobile-context-gate strong { font: 800 17px/1.25 "Manrope", sans-serif; }.map-mobile-context-gate p { max-width: 330px; margin: 9px 0 18px; color: var(--ink-soft); font-size: 10px; line-height: 1.55; }.map-mobile-context-gate .button { min-height: 40px; }.cartography-workspace:fullscreen, .cartography-workspace.is-map-fullscreen { grid-template-columns: 1fr; padding: 6px; }.cartography-workspace:fullscreen .map-stage, .cartography-workspace.is-map-fullscreen .map-stage { height: calc(100vh - 12px); }.cartography-workspace:fullscreen .map-inspector, .cartography-workspace.is-map-fullscreen .map-inspector { display: none; }.map-stage-footer { align-items: flex-start; flex-direction: column; }.map-inspector-heading { grid-template-columns: 42px minmax(0, 1fr); }.map-inspector-glyph { width: 40px; height: 40px; }.map-method-note { font-size: 8px; }
}

/* Administration et remise à zéro */
.sidebar nav { min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgb(255 255 255 / 18%) transparent; }
.data-settings-page, .reset-confirm-page { max-width: 1180px; margin: 0 auto; }
.reset-success { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; padding: 14px 17px; color: #185d4e; background: #dcece5; border: 1px solid #b6dacd; border-radius: 7px; }
.reset-success > span { width: 27px; height: 27px; flex: none; display: grid; place-items: center; color: white; background: #308c72; border-radius: 50%; font-weight: 800; }
.reset-success b { font-size: 12px; }.reset-success p { margin: 3px 0 0; font-size: 10px; }
.data-settings-hero { display: grid; grid-template-columns: minmax(0, 1fr) 110px; gap: 50px; align-items: center; margin-bottom: 27px; }
.data-settings-hero h1 { margin: 7px 0 11px; font-size: clamp(38px, 4vw, 55px); }.data-settings-hero h1 em { color: var(--coral); font-style: normal; }
.data-settings-hero p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }
.data-settings-mark { width: 92px; height: 92px; position: relative; display: block; justify-self: end; }
.data-settings-mark::before, .data-settings-mark::after, .data-settings-mark i { content: ""; position: absolute; border: 2px solid #a8c4bf; border-radius: 50%; }
.data-settings-mark::before { inset: 8px 2px; transform: rotate(35deg); }.data-settings-mark::after { inset: 2px 18px; transform: rotate(-42deg); }
.data-settings-mark i { width: 18px; height: 18px; background: var(--paper); border: 5px solid var(--coral); box-shadow: 0 3px 9px rgb(23 44 51 / 12%); }
.data-settings-mark i:nth-child(1) { left: 0; top: 35px; }.data-settings-mark i:nth-child(2) { right: 7px; top: 6px; border-color: var(--teal); }.data-settings-mark i:nth-child(3) { right: 22px; bottom: 3px; border-color: #d09a40; }
.data-inventory { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 18px; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 7px 24px rgb(23 44 51 / 4%); }
.data-inventory > div { min-width: 0; padding: 15px 17px; border-right: 1px solid var(--line); }.data-inventory > div:last-child { border: 0; }
.data-inventory small, .data-inventory strong, .data-inventory span { display: block; }.data-inventory small { color: #718083; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.data-inventory strong { margin: 7px 0 3px; color: var(--teal); font: 800 26px/1 "Manrope", sans-serif; }.data-inventory span { overflow: hidden; color: #879192; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.data-settings-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr); gap: 18px; margin-bottom: 22px; }
.data-cycle-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 4px 22px 18px; list-style: none; }
.data-cycle-steps li { min-height: 108px; display: grid; grid-template-columns: 29px 1fr; gap: 10px; padding: 18px 20px 12px 0; border-bottom: 1px solid #e5e5de; }.data-cycle-steps li:nth-child(odd) { border-right: 1px solid #e5e5de; }.data-cycle-steps li:nth-child(even) { padding-left: 20px; }.data-cycle-steps li:nth-child(n+3) { border-bottom: 0; }
.data-cycle-steps li > span { color: var(--coral); font: 800 10px "Manrope", sans-serif; }.data-cycle-steps b { font-size: 11px; }.data-cycle-steps p { margin: 5px 0 0; color: var(--ink-soft); font-size: 9px; line-height: 1.5; }
.data-preserved-panel { padding: 22px; border-top: 3px solid var(--teal); }.data-preserved-panel h2 { margin: 7px 0 16px; font-size: 20px; }.data-preserved-panel ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.data-preserved-panel li { display: flex; gap: 8px; align-items: center; font-size: 10px; font-weight: 700; }.data-preserved-panel li span { width: 18px; height: 18px; display: grid; place-items: center; color: #176553; background: #dcece5; border-radius: 50%; font-size: 8px; }.data-preserved-panel p { margin: 18px 0 0; padding-top: 14px; color: #728183; border-top: 1px solid var(--line); font-size: 9px; line-height: 1.5; }
.danger-zone { display: grid; grid-template-columns: 48px minmax(0, 1fr) minmax(300px, .7fr); gap: 19px; align-items: start; padding: 25px; background: #fff9f6; border: 1px solid #dfaa9e; border-top: 4px solid #a64032; border-radius: 8px; box-shadow: 0 13px 40px rgb(112 41 31 / 7%); }
.danger-zone-icon { width: 43px; height: 43px; display: grid; place-items: center; color: white; background: #a64032; border-radius: 50% 50% 7px 50%; font: 800 19px "Manrope", sans-serif; box-shadow: 5px 5px 0 #f0d6cf; }
.danger-zone .eyebrow { color: #9c3b2e; }.danger-zone h2 { margin: 6px 0 8px; font-size: 22px; }.danger-zone-copy > p { max-width: 590px; margin: 0; color: #5c4a46; font-size: 10px; line-height: 1.6; }
.danger-checklist { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 13px; }.danger-checklist span { padding: 3px 6px; color: #843b31; background: #f6ded8; border-radius: 3px; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.reset-prepare-form { display: grid; gap: 11px; padding-left: 20px; border-left: 1px solid #e4c7c0; }.reset-prepare-form label { display: grid; grid-template-columns: 16px 1fr; gap: 8px; align-items: start; color: #5d4c48; cursor: pointer; font-size: 9px; line-height: 1.5; }.reset-prepare-form input { accent-color: #a64032; }.reset-prepare-form small { color: #8a726d; text-align: center; font-size: 8px; }
.backup-reset-order { display: grid; grid-template-columns: 22px auto 24px 22px auto; gap: 6px; align-items: center; color: #72564f; font-size: 8px; }.backup-reset-order span { width: 22px; height: 22px; display: grid; place-items: center; color: white; background: #a64032; border-radius: 50%; font-weight: 800; }.backup-reset-order i { color: #9b7d75; font-size: 7px; text-align: center; }.backup-reset-state { min-height: 15px; margin: 0; color: #8a726d; text-align: center; font-size: 8px; line-height: 1.45; }.backup-reset-state.is-working { color: #856423; }.backup-reset-state.is-success { color: #176553; font-weight: 800; }.backup-reset-state.is-error { color: #9c3427; font-weight: 800; }.reset-prepare-form noscript { color: #8c3529; font-size: 8px; line-height: 1.5; }.reset-prepare-form noscript a { color: inherit; text-decoration: underline; }
.reset-form-error { padding: 9px 10px; color: #8c3529; background: #f7ded8; border: 1px solid #ecc1b7; border-radius: 4px; font-size: 9px; line-height: 1.45; }

.reset-confirm-page { max-width: 760px; }.reset-confirm-page > .back-link { margin-bottom: 19px; }
.reset-progress { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; max-width: 500px; margin: 0 auto 20px; }.reset-progress > div { display: flex; align-items: center; gap: 8px; }.reset-progress > div:last-child { justify-content: flex-end; }.reset-progress span { width: 27px; height: 27px; display: grid; place-items: center; color: #176553; background: #dcece5; border-radius: 50%; font-size: 8px; font-weight: 800; }.reset-progress .active span { color: white; background: #a64032; }.reset-progress b { font-size: 9px; }.reset-progress i { border-top: 1px dashed #adb7b5; }
.reset-confirm-card { padding: 34px clamp(24px, 6vw, 56px); text-align: center; background: var(--white); border: 1px solid #d9b2a9; border-top: 5px solid #a64032; border-radius: 9px; box-shadow: 0 22px 60px rgb(81 35 28 / 10%); }
.reset-warning-symbol { width: 68px; height: 62px; position: relative; margin: 0 auto 16px; }.reset-warning-symbol::before { content: ""; position: absolute; inset: 5px 7px; background: #f2ddd7; transform: rotate(45deg); border-radius: 14px; }.reset-warning-symbol span { position: relative; z-index: 1; width: 45px; height: 45px; display: grid; place-items: center; margin: 8px auto; color: white; background: #a64032; border: 5px solid white; border-radius: 50%; font: 800 18px "Manrope", sans-serif; box-shadow: 0 5px 14px rgb(112 41 31 / 20%); }
.reset-confirm-card .eyebrow { color: #9c3b2e; }.reset-confirm-card h1 { margin: 8px 0 11px; font-size: clamp(28px, 5vw, 40px); line-height: 1.08; }.reset-confirm-card h1 em { color: #a64032; font-style: normal; }.reset-confirm-lead { max-width: 590px; margin: 0 auto; color: var(--ink-soft); font-size: 11px; line-height: 1.65; }
.reset-impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 22px 0; background: #f5f3ed; border: 1px solid var(--line); border-radius: 6px; }.reset-impact-grid > div { padding: 12px 9px; border-right: 1px solid var(--line); }.reset-impact-grid > div:last-child { border: 0; }.reset-impact-grid strong, .reset-impact-grid span { display: block; }.reset-impact-grid strong { color: #a64032; font: 800 19px "Manrope", sans-serif; }.reset-impact-grid span { margin-top: 3px; color: #7e898a; font-size: 7px; text-transform: uppercase; }
.reset-backup-proof { display: flex; gap: 10px; align-items: center; margin: 18px 0 -5px; padding: 11px 13px; color: #245d51; text-align: left; background: #e5f2eb; border: 1px solid #c5dfd2; border-radius: 6px; }.reset-backup-proof > span { width: 25px; height: 25px; flex: none; display: grid; place-items: center; color: white; background: #26806a; border-radius: 50%; font-weight: 800; }.reset-backup-proof b { font-size: 9px; }.reset-backup-proof p { margin: 3px 0 0; font-size: 8px; line-height: 1.45; }.reset-backup-proof code { color: #174e43; font-weight: 800; overflow-wrap: anywhere; }
.reset-confirm-form { display: grid; justify-items: stretch; padding: 22px; background: #fff9f6; border: 1px solid #ead1cb; border-radius: 7px; }.reset-confirm-form > label { color: #66514c; font-size: 9px; font-weight: 700; }.reset-confirm-phrase { width: fit-content; max-width: 100%; margin: 10px auto; padding: 7px 10px; color: #812f24; background: #f2ddd7; border: 1px dashed #ca8d80; border-radius: 4px; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.reset-confirm-form input[type="text"] { width: 100%; height: 44px; padding: 0 13px; text-align: center; outline: 0; color: var(--ink); background: white; border: 1px solid #cfcfc7; border-radius: 5px; font-size: 11px; font-weight: 700; letter-spacing: .04em; }.reset-confirm-form input[type="text"]:focus { border-color: #a64032; box-shadow: 0 0 0 3px rgb(166 64 50 / 9%); }
.reset-phrase-state { margin: 7px 0 13px; color: #89736e; font-size: 8px; }.reset-phrase-state.is-valid { color: #176553; font-weight: 800; }.reset-confirm-form .button:disabled { color: #f6ece9; background: #c8aaa3; box-shadow: none; cursor: not-allowed; transform: none; }
.reset-cancel-link { display: inline-block; margin-top: 17px; color: var(--teal); font-size: 9px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.reset-structure-note { display: flex; justify-content: center; gap: 7px; margin: 15px 0 0; color: #748284; font-size: 9px; }.reset-structure-note span { color: #176553; }

@media (max-width: 1050px) {
  .data-inventory { grid-template-columns: repeat(3, 1fr); }.data-inventory > div { border-bottom: 1px solid var(--line); }.data-inventory > div:nth-child(3) { border-right: 0; }.data-settings-grid { grid-template-columns: 1fr; }.danger-zone { grid-template-columns: 48px 1fr; }.reset-prepare-form { grid-column: 2; padding: 18px 0 0; border-left: 0; border-top: 1px solid #e4c7c0; }
}
@media (max-width: 760px) {
  .data-settings-hero { grid-template-columns: 1fr; gap: 15px; }.data-settings-mark { display: none; }.data-settings-hero h1 { font-size: 35px; }.data-inventory { grid-template-columns: 1fr 1fr; }.data-inventory > div, .data-inventory > div:nth-child(3) { border-right: 1px solid var(--line); }.data-inventory > div:nth-child(even) { border-right: 0; }.data-cycle-steps { grid-template-columns: 1fr; }.data-cycle-steps li, .data-cycle-steps li:nth-child(even) { min-height: 0; padding: 14px 0; border-right: 0; border-bottom: 1px solid #e5e5de; }.data-cycle-steps li:last-child { border: 0; }.danger-zone { grid-template-columns: 1fr; padding: 20px; }.danger-zone-icon { width: 36px; height: 36px; }.reset-prepare-form { grid-column: auto; }.reset-progress { grid-template-columns: 1fr 35px 1fr; }.reset-progress b { font-size: 8px; }.reset-confirm-card { padding: 25px 17px; }.reset-impact-grid { grid-template-columns: 1fr 1fr; }.reset-impact-grid > div:nth-child(2) { border-right: 0; }.reset-impact-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.reset-confirm-form { padding: 17px 13px; }.reset-confirm-phrase { font-size: 9px; }.reset-structure-note { align-items: flex-start; }
}

/* Fusion de profils */
.merge-page { max-width: 1240px; margin: 0 auto; }
.merge-page > .back-link { margin-bottom: 20px; }
.merge-hero { max-width: 820px; margin-bottom: 24px; }
.merge-hero h1 { margin: 7px 0 10px; font-size: clamp(36px, 4vw, 52px); line-height: 1.05; }
.merge-hero p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }
.merge-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.merge-profile-card { min-width: 0; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 28px rgb(23 44 51 / 4%); }
.merge-profile-card.is-primary { border-color: #8bbfb1; box-shadow: inset 0 3px 0 var(--teal), 0 8px 28px rgb(23 44 51 / 5%); }
.merge-profile-card .entity-monogram { width: 52px; height: 52px; }
.merge-profile-card h2 { overflow: hidden; margin: 6px 0 3px; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
.merge-profile-card p { overflow: hidden; margin: 0 0 4px; color: var(--ink-soft); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.merge-profile-card small { color: #7c898a; font-size: 8px; }
.merge-summary-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .55fr); gap: 16px; margin-bottom: 16px; }
.merge-count-table { padding: 0 19px 10px; }
.merge-count-table > div { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(90px, .7fr) minmax(90px, .7fr); gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid #e9e8e2; }
.merge-count-table > div:last-child { border: 0; }
.merge-count-table span { color: #52666a; font-size: 9px; }
.merge-count-table b { color: var(--teal); font-size: 10px; text-align: center; }
.merge-count-table .merge-count-heading { color: #788587; font-size: 7px; text-transform: uppercase; letter-spacing: .04em; }
.merge-count-table .merge-count-heading b { overflow: hidden; color: #788587; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.merge-help { margin: 0; padding: 12px 19px 17px; color: #738183; border-top: 1px solid var(--line); font-size: 8px; line-height: 1.55; }
.merge-risk-panel { display: grid; align-content: start; gap: 10px; padding: 21px; }
.merge-risk-panel > div { display: grid; grid-template-columns: 45px 1fr; gap: 9px; align-items: center; padding: 11px; background: #edf4ef; border-radius: 5px; }
.merge-risk-panel > div.has-conflicts { background: #f8ebd6; }
.merge-risk-panel strong { color: var(--teal); font: 800 24px/1 "Manrope", sans-serif; }
.merge-risk-panel .has-conflicts strong { color: #a76926; }
.merge-risk-panel span { color: #647476; font-size: 8px; line-height: 1.35; }
.merge-risk-panel p { margin: 4px 0 0; padding-top: 13px; color: #7d4c43; border-top: 1px solid var(--line); font-size: 9px; line-height: 1.5; }
.merge-fields-panel { margin-bottom: 16px; }
.merge-field-table { overflow-x: auto; }
.merge-field-heading, .merge-field-row { min-width: 880px; display: grid; grid-template-columns: 150px minmax(180px, 1fr) minmax(180px, 1fr) 210px; gap: 12px; align-items: start; padding: 10px 18px; border-top: 1px solid #ebeae4; }
.merge-field-heading { color: #798688; background: #f5f5f0; font-size: 7px; text-transform: uppercase; letter-spacing: .05em; }
.merge-field-row { font-size: 9px; line-height: 1.45; }
.merge-field-row > strong { font-size: 9px; }
.merge-field-row > span:not(.tag) { overflow-wrap: anywhere; color: #53676a; }
.merge-field-row.merge-action-conflict { background: #fffaf1; }
.merge-field-row.merge-action-copy, .merge-field-row.merge-action-combine { background: #f7fbf8; }
.merge-field-row .tag { white-space: normal; line-height: 1.35; }
.merge-confirm-panel { padding-bottom: 20px; border-top: 4px solid #a64032; }
.merge-confirm-panel .report-callout { margin: 0 19px 17px; }
.merge-confirm-form { margin: 0 19px; padding: 18px; background: #fff9f6; border: 1px solid #ead1cb; border-radius: 6px; }
.merge-confirm-form > label:not(.reset-acknowledgement) { display: grid; gap: 7px; color: #5c4b47; font-size: 9px; font-weight: 800; }
.merge-confirm-form input[name="confirmation_phrase"] { height: 42px; padding: 0 12px; outline: 0; background: white; border: 1px solid #d6bcb5; border-radius: 5px; font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.merge-confirm-form input[name="confirmation_phrase"]:focus { border-color: #a64032; box-shadow: 0 0 0 3px rgb(166 64 50 / 9%); }
.merge-confirm-state { margin: 0; color: #8b736d; font-size: 8px; }
.merge-confirm-state.is-valid { color: #176553; font-weight: 800; }
.merge-confirm-form .button:disabled { opacity: .52; cursor: not-allowed; transform: none; }

@media (max-width: 900px) {
  .merge-choice-grid, .merge-summary-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .merge-profile-card { grid-template-columns: 45px minmax(0, 1fr); }.merge-profile-card .entity-monogram { width: 42px; height: 42px; }.merge-profile-card .button { grid-column: 1 / 3; }.merge-count-table > div { grid-template-columns: minmax(110px, 1fr) 70px 70px; gap: 6px; }.merge-confirm-form { margin: 0 12px; padding: 14px; }
}

/* Personnes identifiées — administration interne */
.discovery-heading .heading-actions { align-items: flex-end; }.discovery-heading .heading-actions small { color: #788587; font-size: 9px; }
.discovery-directory { overflow-x: auto; }.discovery-row { min-width: 1040px; display: grid; grid-template-columns: 1.15fr 1fr 1fr 1.25fr 75px 88px 85px 22px; gap: 12px; align-items: center; padding: 13px 17px; border-top: 1px solid #e6e5df; font-size: 9px; }.discovery-row:first-child { border-top: 0; }.discovery-row-heading { color: #788587; background: #f3f3ed; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }.discovery-row strong { font-size: 11px; }.discovery-row > span, .discovery-row > time { min-width: 0; overflow: hidden; color: #607174; text-overflow: ellipsis; white-space: nowrap; }.discovery-row a:not(.row-arrow) { color: var(--teal); font-weight: 700; }.discovery-row .row-arrow { color: var(--coral); font-size: 15px; }
.discovery-status-identified { color: #765720; background: #f5e6c9; }.discovery-status-linked { color: #176553; background: #dcece5; }.discovery-status-dismissed { color: #6f7778; background: #e8e8e3; }
.discovery-hero { background: linear-gradient(120deg, #e4ece8, #e8e5dc 72%); }.discovery-detail-layout { grid-template-columns: minmax(0, 1.35fr) minmax(280px, .6fr); }.discovery-facts { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 6px 21px 18px; }.discovery-facts > div { min-width: 0; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--line); }.discovery-facts dt { color: #7c8889; font-size: 8px; text-transform: uppercase; }.discovery-facts dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 10px; font-weight: 700; }.discovery-facts a { color: var(--teal); }.discovery-raw { margin: 0 21px 20px; border: 1px solid var(--line); border-radius: 5px; }.discovery-raw summary { padding: 11px 13px; color: var(--teal); cursor: pointer; font-size: 9px; font-weight: 800; }.discovery-raw pre { max-height: 300px; margin: 0; padding: 13px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: #f2f3ee; border-top: 1px solid var(--line); font-size: 8px; line-height: 1.5; }.discovery-side-column { display: grid; gap: 16px; }.discovery-action-panel, .discovery-history { padding: 21px; }.discovery-action-panel h3, .discovery-history h3 { margin: 6px 0 9px; }.discovery-action-panel > p { color: var(--ink-soft); font-size: 9px; line-height: 1.55; }.discovery-link-form { margin-top: 15px; padding: 0; border: 0; box-shadow: none; }.discovery-dismiss-form { margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); }.discovery-history > p { display: grid; gap: 3px; margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--line); }.discovery-history time, .discovery-history small { color: #7d898a; font-size: 7px; }.discovery-history b { font-size: 9px; line-height: 1.4; }
@media (max-width: 760px) { .discovery-detail-layout, .discovery-facts { grid-template-columns: 1fr; }.discovery-side-column { margin-top: 16px; }.discovery-heading .heading-actions { align-items: flex-start; } }

/* Coordonnées publiques */
.contact-privacy-note { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 16px; padding: 11px 13px; color: #5f573f; background: #faf0dc; border-left: 3px solid #c4933f; }
.contact-privacy-note > span { width: 18px; height: 18px; flex: none; display: grid; place-items: center; color: #8a6224; border: 1px solid #c4933f; border-radius: 50%; font: 700 10px serif; }
.contact-privacy-note p { margin: 0; font-size: 9px; line-height: 1.55; }
.contact-list { display: grid; gap: 10px; }
.contact-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 15px; background: #fafaf6; border: 1px solid #e3e3dc; border-radius: 6px; }
.contact-kind { width: 40px; height: 40px; display: grid; place-items: center; color: white; background: var(--teal); border-radius: 50%; font: 800 14px "Manrope", sans-serif; }
.contact-kind-email { background: #4f86a6; }.contact-kind-address { background: #cf824e; border-radius: 50% 50% 7px 50%; }
.contact-card-main { min-width: 0; }
.contact-card-main h3 { margin: 7px 0 4px; font-size: 13px; }
.contact-value { display: block; margin: 0 0 5px; overflow-wrap: anywhere; color: var(--teal); font-size: 11px; font-weight: 800; font-style: normal; white-space: pre-line; }
.contact-card-main > small { display: block; color: #788688; font-size: 8px; }
.contact-card-main > p { margin: 8px 0 0; color: #53686b; font-size: 9px; line-height: 1.5; }
.contact-provenance { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 8px; padding-top: 7px; border-top: 1px solid #e3e3dc; }
.contact-provenance a, .contact-provenance span { color: #718083; font-size: 8px; }.contact-provenance a { color: var(--teal); font-weight: 800; }
.contact-actions { display: flex; gap: 4px; }
.contact-actions form { margin: 0; }.contact-actions .contact-delete { color: #963d31; background: #f5dfda; }
.contact-edit-details { grid-column: 2 / 4; margin-top: 1px; }
.contact-edit-details > summary, .contact-add-details > summary { width: fit-content; color: var(--teal); cursor: pointer; font-size: 8px; font-weight: 800; }
.contact-form { grid-template-columns: 1fr 1fr; }
.contact-form .wide { grid-column: 1 / 3; }
.contact-public-confirmation { display: grid !important; grid-template-columns: 16px 1fr; gap: 8px; align-items: start; padding: 10px; color: #5f573f !important; background: #faf0dc; border: 1px solid #ead5ad; border-radius: 4px; line-height: 1.45; }
.contact-public-confirmation input { width: auto !important; margin: 1px 0 0 !important; accent-color: var(--teal); }
.contact-add-details { margin-top: 16px; }

.digital-account-list { display: grid; gap: 10px; }
.digital-account-card { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 13px; align-items: start; padding: 15px; background: linear-gradient(145deg, #f7fbf9, #fbfaf5); border: 1px solid #dce5df; border-radius: 8px; }
.digital-account-platform { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: #193f42; border-radius: 13px; font: 800 11px/1 "IBM Plex Mono", monospace; }
.digital-account-main { min-width: 0; }
.digital-account-main h3 { margin: 7px 0 4px; color: #254d4f; font-size: 13px; }
.digital-account-main > small { display: block; color: #788688; font-size: 8px; }
.digital-account-main > p { margin: 8px 0 0; color: #53686b; font-size: 9px; line-height: 1.5; }
.digital-account-card > form { margin: 0; }
.digital-account-card .contact-delete { color: #963d31; background: #f5dfda; }

@media (max-width: 650px) {
  .contact-card, .digital-account-card { grid-template-columns: 36px minmax(0, 1fr); padding: 12px; }.contact-kind, .digital-account-platform { width: 34px; height: 34px; }.contact-actions { grid-column: 2; }.digital-account-card > form { grid-column: 2; }.contact-edit-details { grid-column: 1 / 3; }.contact-form { grid-template-columns: 1fr; }.contact-form .wide { grid-column: auto; }
}

/* Centre des agents de recherche */
.research-agent-center { max-width: 1160px; margin: 0 auto 24px; padding: 25px; border: 1px solid rgba(24, 76, 78, .13); border-radius: 22px; background: linear-gradient(145deg, #f7fbf9 0%, #f4f7f1 52%, #fff 100%); box-shadow: 0 18px 55px rgba(25, 65, 60, .08); }
.research-agent-heading { display: flex; justify-content: space-between; gap: 20px; align-items: start; margin-bottom: 18px; }
.research-agent-heading h2 { margin: 3px 0 6px; color: #173f41; font-size: 23px; }
.research-agent-heading p { max-width: 720px; margin: 0; color: #627274; font-size: 10px; line-height: 1.55; }
.agent-progress { flex: none; padding: 7px 10px; border: 1px solid rgba(25, 116, 107, .2); border-radius: 999px; background: #e8f4ef; color: #206d64; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.research-agent-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.research-agent-card, .research-agent-roadmap { border: 1px solid rgba(27, 68, 70, .12); border-radius: 16px; background: rgba(255, 255, 255, .88); padding: 18px; }
.research-agent-card.is-active { border-color: rgba(23, 118, 106, .28); box-shadow: inset 3px 0 0 #2a8d80; }
.research-agent-roadmap { grid-column: 1 / -1; }
.accounts-agent-card .agent-glyph { background: #235f64; }
.career-agent-card .agent-glyph { background: #775b2d; }
.organizations-agent-card .agent-glyph { background: #6b426f; }
.agent-card-top { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 13px; }
.agent-card-top > div { display: grid; justify-items: end; gap: 6px; }
.agent-card-top small { color: #708082; font-size: 8px; }
.agent-glyph { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #183f42; color: white; font: 800 12px/1 "IBM Plex Mono", monospace; letter-spacing: .04em; }
.research-agent-card h3, .research-agent-roadmap h3 { margin: 0 0 7px; color: #173f41; font-size: 17px; }
.research-agent-card > p, .research-agent-roadmap > p { margin: 0 0 12px; color: #617274; font-size: 9px; line-height: 1.6; }
.research-agent-card ul { display: grid; gap: 5px; margin: 0 0 15px; padding: 0; list-style: none; }
.research-agent-card li { color: #435f61; font-size: 8px; }
.research-agent-card li::before { content: "✓"; margin-right: 7px; color: #238174; font-weight: 900; }
.research-agent-card form { margin: 0; }
.research-agent-button { display: inline-flex; gap: 7px; align-items: center; }
.research-agent-button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.agent-cost-note { display: block; max-width: 670px; margin-top: 8px; color: #718083; font-size: 8px; line-height: 1.5; }
.agent-cost-note code { color: var(--teal); font-size: 8px; }
.agent-roadmap-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.agent-roadmap-tags span { padding: 6px 8px; border-radius: 7px; background: #edf1ed; color: #667477; font-size: 8px; }
.research-run-history { margin-top: 17px; padding-top: 16px; border-top: 1px solid rgba(24, 76, 78, .12); }
.research-run-history > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.research-run-history h3 { margin: 2px 0 0; color: #1b4749; font-size: 14px; }
.research-run-history > header > span { color: #6f8082; font: 700 9px/1 "IBM Plex Mono", monospace; }
.research-run-list { display: grid; gap: 7px; }
.research-run-list article { display: grid; grid-template-columns: 9px minmax(180px, 1fr) auto auto; gap: 11px; align-items: center; padding: 10px 12px; border: 1px solid rgba(24, 76, 78, .09); border-radius: 10px; background: rgba(255, 255, 255, .72); }
.research-run-list b { display: block; color: #294e50; font-size: 9px; }
.research-run-list small { color: #788486; font-size: 7px; }
.research-run-list a { color: #27796f; font-size: 8px; font-weight: 800; }
.run-status { width: 8px; height: 8px; border-radius: 50%; background: #8a999a; box-shadow: 0 0 0 3px rgba(138, 153, 154, .12); }
.run-status.is-resolved { background: #248776; box-shadow: 0 0 0 3px rgba(36, 135, 118, .12); }
.run-status.is-ambiguous { background: #c48a32; box-shadow: 0 0 0 3px rgba(196, 138, 50, .12); }
.run-metrics { display: flex; gap: 5px; }
.run-metrics span { padding: 4px 6px; border-radius: 6px; background: #f0f3ef; color: #657476; font-size: 7px; white-space: nowrap; }
.research-error { max-width: 1160px; margin: -8px auto 18px; }
.toast a { color: inherit; font-weight: 800; text-decoration: underline; }

@media (max-width: 800px) {
  .research-agent-grid { grid-template-columns: 1fr; }
  .research-agent-roadmap { grid-column: auto; }
  .research-agent-heading { display: grid; }
  .agent-progress { justify-self: start; }
  .research-run-list article { grid-template-columns: 9px 1fr auto; }
  .run-metrics { grid-column: 2 / 4; }
}

@media (min-width: 801px) and (max-width: 1050px) {
  .research-agent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Notes de recherche et validation humaine */
.research-note-intro { display: flex; gap: 10px; align-items: flex-start; margin: -2px 0 16px; padding: 12px 14px; color: #405f61; background: #edf5f1; border-left: 3px solid #278474; border-radius: 0 5px 5px 0; }
.research-note-intro > span { width: 19px; height: 19px; flex: none; display: grid; place-items: center; color: #1d7466; border: 1px solid #77aa9e; border-radius: 50%; font: 700 10px serif; }
.research-note-intro p { margin: 0; font-size: 9px; line-height: 1.55; }
.research-note-list { display: grid; gap: 16px; }
.research-note-card { overflow: hidden; border: 1px solid #d8ded9; border-radius: 9px; background: #fcfcf8; box-shadow: 0 8px 24px rgb(28 64 61 / 4%); }
.research-note-header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 17px 18px; color: white; background: linear-gradient(135deg, #183f42, #245f5d); cursor: pointer; list-style: none; }.research-note-header::-webkit-details-marker { display: none; }
.research-note-header .eyebrow { color: #acd4c9; }.research-note-header h3 { margin: 5px 0 0; color: white; font-size: 15px; line-height: 1.35; }
.research-note-metrics { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.research-note-metrics span { padding: 5px 7px; color: #d8ece7; background: rgb(255 255 255 / 9%); border: 1px solid rgb(255 255 255 / 13%); border-radius: 5px; font-size: 7px; font-weight: 800; white-space: nowrap; }
.research-note-summary { padding: 16px 18px; background: #f1f6f2; border-bottom: 1px solid #dfe6e0; }
.research-note-summary h4, .research-analysis-grid h4, .research-proposal-section h4 { margin: 0 0 7px; color: #204e4e; font-size: 11px; }
.research-note-summary p { margin: 0; color: #3f5a5d; font-size: 10px; line-height: 1.65; }
.research-analysis-grid { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #e1e4df; }
.research-analysis-grid section { padding: 15px 18px; border-right: 1px solid #e1e4df; border-bottom: 1px solid #e1e4df; }.research-analysis-grid section:nth-child(even) { border-right: 0; }
.research-analysis-grid ul, .research-note-details ul { display: grid; gap: 6px; margin: 0; padding-left: 16px; color: #526769; font-size: 8px; line-height: 1.5; }
.research-note-details { border-bottom: 1px solid #e1e4df; }.research-note-details > summary { padding: 12px 18px; color: #2d6f69; cursor: pointer; font-size: 8px; font-weight: 800; }.research-note-details > ul { padding: 0 34px 14px; }
.research-candidate-list { display: grid; gap: 7px; padding: 0 18px 14px; }.research-candidate-list article { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 10px; background: white; border: 1px solid #e2e4df; border-radius: 5px; }.research-candidate-list b { font-size: 9px; }.research-candidate-list span { color: #287a70; font-size: 8px; font-weight: 800; }.research-candidate-list p { grid-column: 1 / 3; margin: 0; color: #627173; font-size: 8px; line-height: 1.5; }
.research-source-list { display: grid; gap: 6px; padding: 0 18px 14px; }.research-source-list article { display: grid; grid-template-columns: 21px minmax(0, 1fr); gap: 8px; align-items: start; }.research-source-list article > span { width: 19px; height: 19px; display: grid; place-items: center; color: #27796f; background: #e4f0eb; border-radius: 50%; font-size: 7px; font-weight: 800; }.research-source-list a, .research-source-list b { display: block; overflow-wrap: anywhere; color: #245f5b; font-size: 8px; font-weight: 800; }.research-source-list small { display: block; margin-top: 2px; color: #7b8788; font-size: 7px; }
.research-proposal-section { padding: 17px 18px; }.research-proposal-section > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }.research-proposal-section > header h4 { margin: 4px 0 0; }.research-proposal-section > header > span { color: #758486; font: 800 9px "IBM Plex Mono", monospace; }
.research-proposal-list { display: grid; gap: 9px; }.research-proposal-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 230px); gap: 14px; align-items: center; padding: 13px; background: white; border: 1px solid #e0e3de; border-left: 3px solid #c58c36; border-radius: 6px; }.research-proposal-card.is-validated { border-left-color: #278474; background: #f8fcf9; }.research-proposal-card.is-rejected { border-left-color: #a64a3a; opacity: .72; }
.research-proposal-main { min-width: 0; }.research-proposal-main h5 { margin: 8px 0 4px; color: #263f44; font-size: 11px; }.research-proposal-main > p { margin: 5px 0 0; color: #5a6d70; font-size: 8px; line-height: 1.5; }.research-proposal-main .proposal-value { color: #203f43; font-size: 10px; font-weight: 800; overflow-wrap: anywhere; }.research-proposal-main > small { display: block; margin-top: 8px; color: #7a8687; font-size: 7px; }.research-proposal-main > small a { color: #24776e; font-weight: 800; }.proposal-confidence { align-self: center; color: #66787a; font-size: 7px; font-weight: 800; }
.research-proposal-actions { display: grid; gap: 6px; }.research-proposal-actions form { display: grid; gap: 6px; margin: 0; }.research-proposal-actions label { display: grid; gap: 4px; color: #657476; font-size: 7px; font-weight: 800; }.research-proposal-actions select { height: 32px; padding: 0 7px; background: #f8f8f4; border: 1px solid #d6d9d4; border-radius: 4px; color: #314b4f; font-size: 8px; }.research-proposal-actions .button { width: 100%; min-height: 32px; padding: 7px 9px; font-size: 7px; line-height: 1.35; }
.proposal-decision { padding: 9px; text-align: center; border-radius: 5px; font-size: 8px; font-weight: 800; }.proposal-decision.is-valid { color: #176553; background: #dcece5; }.proposal-decision.is-rejected { color: #933827; background: #f7ded8; }
.research-note-footer { display: flex; justify-content: space-between; gap: 12px; padding: 11px 18px; color: #778587; background: #f3f3ee; border-top: 1px solid #e1e3de; font-size: 8px; }.research-note-footer a { color: #216f68; font-weight: 800; }
.manual-note-editor { margin-top: 17px; border: 1px solid #dfe1dc; border-radius: 6px; }.manual-note-editor > summary { padding: 12px 14px; color: #285f5d; cursor: pointer; font-size: 9px; font-weight: 800; }.manual-note-editor > div { padding: 0 14px 14px; }.manual-note-editor > div > p { color: #5b6d70; font-size: 9px; white-space: pre-line; }

@media (max-width: 760px) {
  .research-note-header { display: grid; }.research-note-metrics { justify-content: flex-start; }.research-analysis-grid { grid-template-columns: 1fr; }.research-analysis-grid section { border-right: 0; }.research-proposal-card { grid-template-columns: 1fr; }.research-note-footer { align-items: flex-start; flex-direction: column; }
}

/* Rapport global et archives complètes */
.data-export-section { margin-bottom: 22px; padding: 24px; background: linear-gradient(135deg, #eef5f1, #f9f7ef); border: 1px solid #d8e1da; border-radius: 10px; box-shadow: 0 12px 38px rgb(25 65 60 / 5%); }
.data-export-section > header h2 { margin: 5px 0 7px; font-size: 24px; }.data-export-section > header p { max-width: 720px; margin: 0 0 18px; color: #657577; font-size: 10px; line-height: 1.55; }
.data-export-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.data-export-card { display: grid; grid-template-columns: 45px minmax(0, 1fr); gap: 14px; align-content: start; padding: 19px; background: rgb(255 255 255 / 88%); border: 1px solid rgb(31 78 75 / 12%); border-radius: 8px; }
.data-export-glyph { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: var(--teal); border-radius: 13px; font: 800 15px "Manrope", sans-serif; }.archive-export-card .data-export-glyph { background: var(--coral); border-radius: 50% 50% 8px 50%; }
.data-export-card small { color: #778587; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.data-export-card h3 { margin: 4px 0 7px; font-size: 18px; }.data-export-card p { margin: 0; color: #5f7072; font-size: 9px; line-height: 1.55; }.data-export-card ul { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0 0; padding: 0; list-style: none; }.data-export-card li { padding: 4px 6px; color: #48706c; background: #e9f2ed; border-radius: 4px; font-size: 7px; font-weight: 800; }.archive-export-card li { color: #765446; background: #f5e9e2; }
.data-export-card > .button, .data-export-actions { grid-column: 2; justify-self: start; margin-top: 3px; }.data-export-actions { display: flex; flex-wrap: wrap; gap: 7px; }

.global-report-page { max-width: 1240px; margin: 0 auto; }
.global-report-hero { display: flex; justify-content: space-between; gap: 35px; align-items: end; margin-bottom: 22px; padding: 7px 0 25px; border-bottom: 1px solid var(--line); }.global-report-hero h1 { margin: 6px 0 9px; font-size: clamp(38px, 5vw, 60px); line-height: 1; }.global-report-hero h1 em { color: var(--coral); font-style: normal; }.global-report-hero p { max-width: 760px; margin: 0 0 9px; color: var(--ink-soft); font-size: 12px; line-height: 1.65; }.global-report-hero small { color: #7b898a; font-size: 8px; }.global-report-actions { display: flex; flex: none; gap: 8px; }
.report-metric-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 15px; overflow: hidden; background: #173f42; border-radius: 8px; box-shadow: 0 10px 32px rgb(18 57 58 / 12%); }.report-metric-grid div { padding: 17px; border-right: 1px solid rgb(255 255 255 / 10%); }.report-metric-grid div:last-child { border: 0; }.report-metric-grid strong, .report-metric-grid span { display: block; }.report-metric-grid strong { color: white; font: 800 28px/1 "Manrope", sans-serif; }.report-metric-grid span { margin-top: 5px; color: #acd0c9; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.report-index { position: sticky; z-index: 10; top: 70px; display: flex; gap: 6px; align-items: center; margin-bottom: 20px; padding: 8px; background: rgb(243 243 237 / 94%); border: 1px solid var(--line); border-radius: 7px; backdrop-filter: blur(8px); }.report-index span { margin: 0 8px; color: #778485; font-size: 7px; font-weight: 800; text-transform: uppercase; }.report-index a { padding: 6px 9px; color: #3e6162; border-radius: 5px; font-size: 8px; font-weight: 800; }.report-index a:hover { color: white; background: var(--teal); }
.report-section { margin-bottom: 20px; scroll-margin-top: 125px; background: var(--white); border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 9px 30px rgb(28 64 61 / 4%); }.report-section > header { display: flex; justify-content: space-between; align-items: center; min-height: 73px; padding: 17px 21px; border-bottom: 1px solid var(--line); }.report-section > header h2 { margin: 4px 0 0; font-size: 23px; }.report-section > header > b { min-width: 42px; height: 42px; display: grid; place-items: center; color: var(--teal); background: #e8f2ed; border-radius: 50%; font: 800 15px "Manrope", sans-serif; }
.report-person-list { display: grid; gap: 10px; padding: 14px; }.report-person { overflow: hidden; border: 1px solid #dfe3de; border-radius: 7px; background: #fbfbf7; }.report-person > summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 15px; cursor: pointer; list-style: none; }.report-person > summary::-webkit-details-marker { display: none; }.report-person[open] > summary { color: white; background: linear-gradient(130deg, #173f42, #24615d); }.report-person-monogram { width: 39px; height: 39px; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50% 50% 7px 50%; font: 800 10px "Manrope", sans-serif; }.report-person > summary h3 { margin: 0 0 3px; font-size: 15px; }.report-person > summary p { margin: 0; color: #728082; font-size: 8px; }.report-person[open] > summary p { color: #bdd5d0; }.report-person > summary > span { color: #718082; font-size: 8px; font-weight: 800; }.report-person[open] > summary > span { color: #b9d3ce; }
.report-person-body { padding: 17px; }.report-identity-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }.report-identity-facts p { display: grid; gap: 3px; margin: 0; padding: 8px 10px; background: #eff3ef; border-radius: 5px; }.report-identity-facts b { color: #728082; font-size: 7px; text-transform: uppercase; }.report-identity-facts span { color: #2c4c4e; font-size: 9px; font-weight: 800; }.report-bio { max-width: 930px; margin: 0 0 14px; color: #52676a; font-size: 10px; line-height: 1.65; }
.report-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.report-detail-grid > section { padding: 14px; background: white; border: 1px solid #e3e5df; border-radius: 6px; }.report-detail-grid h4 { margin: 0 0 9px; color: #245758; font-size: 11px; }.report-detail-grid ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.report-detail-grid li { padding-bottom: 8px; border-bottom: 1px solid #ecece7; }.report-detail-grid li:last-child { padding: 0; border: 0; }.report-detail-grid li b, .report-detail-grid li span, .report-detail-grid li small, .report-detail-grid li a { display: block; overflow-wrap: anywhere; }.report-detail-grid li b { color: #344f52; font-size: 9px; }.report-detail-grid li span, .report-detail-grid li a { margin-top: 3px; color: #486c6d; font-size: 8px; }.report-detail-grid li small { margin-top: 3px; color: #889294; font-size: 7px; }.report-detail-grid li p, .report-internal-notes p { margin: 5px 0 0; color: #677779; font-size: 8px; line-height: 1.5; white-space: pre-wrap; }.report-internal-notes { background: #fff8ee !important; border-color: #ebdbc0 !important; }.report-internal-notes p { padding: 8px; background: rgb(255 255 255 / 70%); border-radius: 4px; }.report-internal-notes p small { display: block; margin-top: 5px; color: #9a8767; }.report-profile-link { display: inline-block; margin-top: 13px; color: var(--teal); font-size: 8px; font-weight: 800; }
.report-table-wrap { overflow-x: auto; }.report-table { width: 100%; border-collapse: collapse; }.report-table th { padding: 10px 13px; color: #768486; background: #f3f4ef; font-size: 7px; text-align: left; text-transform: uppercase; }.report-table td { min-width: 120px; padding: 12px 13px; color: #4c6164; border-top: 1px solid #e8e8e2; font-size: 8px; vertical-align: top; }.report-table td:nth-child(2) { min-width: 180px; }.report-table td:last-child { max-width: 240px; }.report-table a { color: var(--teal); font-weight: 800; overflow-wrap: anywhere; }.report-table td b, .report-table td small { display: block; }.report-table td small { margin-top: 4px; color: #7e8a8c; line-height: 1.4; }.report-status { display: inline-block; padding: 4px 6px; color: #76551e; background: #f6e9cf; border-radius: 4px; font-size: 7px; font-weight: 800; }.report-status.is-validated, .report-status.is-corrected { color: #176553; background: #dcece5; }.report-missing { color: #a14a3b; font-style: italic; }
.report-entity-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 14px; }.report-entity-groups > section { padding: 15px; background: #f8f8f3; border: 1px solid #e5e5df; border-radius: 6px; }.report-entity-groups h3 { display: flex; justify-content: space-between; margin: 0 0 10px; font-size: 13px; }.report-entity-groups h3 span { color: var(--teal); }.report-entity-groups ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }.report-entity-groups li { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid #e5e5de; }.report-entity-groups li b, .report-entity-groups li small { display: block; }.report-entity-groups li b { color: #304e50; font-size: 9px; }.report-entity-groups li small { margin-top: 3px; color: #7d898b; font-size: 7px; }.report-entity-groups li p { max-width: 470px; margin: 5px 0 0; color: #657678; font-size: 8px; line-height: 1.5; }.report-entity-groups li > span { flex: none; color: #738284; font-size: 7px; font-weight: 800; }
.report-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px; }.report-source-grid article { display: grid; align-content: start; padding: 13px; background: #f8faf6; border: 1px solid #e0e5df; border-radius: 6px; }.report-source-grid article > span { width: fit-content; padding: 3px 5px; color: #397168; background: #e3efe9; border-radius: 3px; font-size: 7px; font-weight: 800; text-transform: uppercase; }.report-source-grid h3 { margin: 8px 0 5px; font-size: 11px; line-height: 1.35; }.report-source-grid p { margin: 0; color: #708082; font-size: 8px; }.report-source-grid small { margin: 6px 0; color: #879193; font-size: 7px; }.report-source-grid a { align-self: end; margin-top: 5px; color: var(--teal); font-size: 8px; font-weight: 800; }
.report-quality { padding-bottom: 18px; }.report-quality-grid { display: grid; grid-template-columns: repeat(6, 1fr); margin: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; }.report-quality-grid div { padding: 13px 10px; text-align: center; border-right: 1px solid var(--line); }.report-quality-grid div:last-child { border: 0; }.report-quality-grid strong, .report-quality-grid span { display: block; }.report-quality-grid strong { color: var(--teal); font: 800 21px "Manrope", sans-serif; }.report-quality-grid span { color: #748183; font-size: 7px; line-height: 1.35; }.report-quality > p { margin: 0 18px; color: #6d7779; font-size: 8px; line-height: 1.55; }

.archive-restore-page { max-width: 790px; margin: 0 auto; }.archive-restore-page > .back-link { margin-bottom: 22px; }.archive-restore-hero { margin-bottom: 20px; }.archive-restore-hero h1 { margin: 7px 0 10px; font-size: clamp(35px, 5vw, 50px); line-height: 1.04; }.archive-restore-hero h1 em { color: var(--coral); font-style: normal; }.archive-restore-hero p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.65; }
.archive-restore-card { padding: 26px; background: white; border: 1px solid #d8c2ba; border-top: 4px solid var(--coral); border-radius: 9px; box-shadow: 0 18px 55px rgb(75 45 35 / 8%); }.archive-restore-warning { display: flex; gap: 12px; align-items: start; margin-bottom: 17px; padding: 13px; color: #70453b; background: #fff5f1; border-radius: 6px; }.archive-restore-warning > span { width: 27px; height: 27px; flex: none; display: grid; place-items: center; color: white; background: var(--coral); border-radius: 50%; font-weight: 800; }.archive-restore-warning b { font-size: 11px; }.archive-restore-warning p { margin: 4px 0 0; font-size: 9px; line-height: 1.5; }
.archive-restore-form { display: grid; gap: 14px; }.archive-file-field, .archive-phrase-field { display: grid; gap: 7px; color: #485f62; font-size: 9px; font-weight: 800; }.archive-file-field { padding: 16px; background: #f4f6f2; border: 1px dashed #aebcb8; border-radius: 6px; }.archive-file-field input { width: 100%; padding: 9px; color: #506366; background: white; border: 1px solid #d7ddd7; border-radius: 4px; font-size: 8px; }.archive-file-field small { color: #7d898b; font-size: 7px; font-weight: 500; }.archive-restore-check { display: grid; grid-template-columns: 17px 1fr; gap: 8px; align-items: start; color: #654b45; font-size: 9px; line-height: 1.5; }.archive-restore-check input { accent-color: var(--coral); }.archive-phrase-field { padding: 15px; background: #fff8f5; border: 1px solid #ecd6cf; border-radius: 6px; }.archive-phrase-field code { width: fit-content; padding: 6px 8px; color: #893f31; background: #f3dfd8; border-radius: 3px; font-size: 10px; }.archive-phrase-field input { height: 41px; padding: 0 11px; outline: none; color: var(--ink); background: white; border: 1px solid #d7c8c3; border-radius: 4px; font-size: 10px; }.archive-phrase-field input:focus { border-color: var(--coral); box-shadow: 0 0 0 3px rgb(219 101 76 / 9%); }.archive-restore-card footer { display: flex; gap: 7px; align-items: center; margin-top: 17px; padding-top: 14px; color: #657779; border-top: 1px solid var(--line); font-size: 8px; }.archive-restore-card footer span { color: #18705f; font-weight: 800; }

@media (max-width: 900px) {
  .global-report-hero { display: grid; }.global-report-actions { flex-wrap: wrap; }.report-metric-grid { grid-template-columns: repeat(3, 1fr); }.report-detail-grid, .report-entity-groups { grid-template-columns: 1fr; }.report-source-grid { grid-template-columns: repeat(2, 1fr); }.report-quality-grid { grid-template-columns: repeat(3, 1fr); }.report-quality-grid div { border-bottom: 1px solid var(--line); }.data-export-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .data-export-section { padding: 16px; }.data-export-card { grid-template-columns: 38px minmax(0, 1fr); padding: 14px; }.data-export-glyph { width: 36px; height: 36px; }.data-export-card > .button, .data-export-actions { grid-column: 1 / 3; }.global-report-hero h1 { font-size: 39px; }.global-report-actions { display: grid; }.report-metric-grid { grid-template-columns: 1fr 1fr; }.report-index { position: static; overflow-x: auto; }.report-index a { flex: none; }.report-person > summary { grid-template-columns: 38px minmax(0, 1fr); }.report-person > summary > span { grid-column: 2; }.report-identity-facts { display: grid; grid-template-columns: 1fr 1fr; }.report-source-grid { grid-template-columns: 1fr; }.report-quality-grid { grid-template-columns: 1fr 1fr; }.archive-restore-card { padding: 18px; }
}

@media print {
  @page { size: A4 portrait; margin: 12mm; }
  .global-report-page .global-report-actions, .global-report-page .report-index, .global-report-page .report-profile-link { display: none !important; }
  .global-report-page { max-width: none !important; color: #111 !important; }
  .global-report-hero { margin-bottom: 5mm; padding-bottom: 4mm; }.global-report-hero h1 { font-size: 28pt; }.global-report-hero p { font-size: 9pt; }
  .report-metric-grid { box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; }.report-metric-grid div { padding: 3mm; }.report-metric-grid strong { font-size: 16pt; }
  .report-section { box-shadow: none; break-inside: auto; }.report-section > header { min-height: 0; padding: 4mm; }.report-section > header h2 { font-size: 16pt; }
  .report-person { break-inside: avoid; }.report-person:not([open]) .report-person-body { display: block !important; }.report-person > summary { print-color-adjust: exact; -webkit-print-color-adjust: exact; }.report-detail-grid { grid-template-columns: 1fr 1fr; }
  .report-table { font-size: 7pt; }.report-source-grid { grid-template-columns: 1fr 1fr; }.report-source-grid article, .report-entity-groups > section { break-inside: avoid; }
}

@media (max-width: 760px) {
  .topbar .brand-logo { width: 155px; height: 40px; }
  .login-brand .brand-logo { width: 230px; height: 59px; }
}

@media (max-width: 680px) {
  .client-topbar .brand-logo { width: 165px; height: 43px; }
}
