@font-face {
  font-family: InterVariable;
  src: url("/assets/fonts/inter-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --crm-paper: #f4f3ef;
  --crm-surface: #fffdfa;
  --crm-surface-soft: #f8faf9;
  --crm-navy: #071d3b;
  --crm-navy-2: #0c315a;
  --crm-accent: #2a8f86;
  --crm-accent-soft: #dcefeb;
  --crm-text: #15253d;
  --crm-muted: #657289;
  --crm-line: #d8dee4;
  --crm-danger: #b83b3b;
  --crm-danger-soft: #fbe7e5;
  --crm-warning: #8b6810;
  --crm-warning-soft: #fff4cf;
  --crm-success: #176d58;
  --crm-success-soft: #ddf2e9;
  --crm-info: #315d9a;
  --crm-info-soft: #e4edf9;
  --crm-shadow: 0 22px 70px rgba(7, 29, 59, .12);
  --crm-radius: 26px;
  --crm-container: min(100% - 32px, 1880px);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; color-scheme: light; background: var(--crm-paper); scroll-behavior: smooth; }
body { min-width: 300px; min-height: 100vh; margin: 0; color: var(--crm-text); background: radial-gradient(circle at 7% 0%, rgba(42,143,134,.12), transparent 25rem), radial-gradient(circle at 94% 2%, rgba(47,111,230,.08), transparent 27rem), var(--crm-paper); font-family: InterVariable, Inter, Arial, sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin-top: 0; }
.crm-icon { width: 18px; height: 18px; flex: 0 0 auto; display: block; }

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: crmPageOut .18s ease both; }
::view-transition-new(root) { animation: crmPageIn .34s cubic-bezier(.2,.8,.2,1) both; }
html.is-navigating body::after { opacity: 1; animation: crmNavigationProgress 1.4s cubic-bezier(.2,.8,.2,1) both; }
body::after { content: ''; position: fixed; top: 0; right: 0; z-index: 10000; width: 100%; height: 3px; pointer-events: none; opacity: 0; background: linear-gradient(90deg,var(--crm-accent),#69cfc6,var(--crm-accent)); box-shadow: 0 0 16px color-mix(in srgb,var(--crm-accent) 55%,transparent); transform-origin: left; transition: opacity .18s ease; }

.crm-skip-link { position: fixed; top: 12px; left: 12px; z-index: 1000; padding: 10px 14px; color: white; border-radius: 10px; background: var(--crm-navy); transform: translateY(-150%); }
.crm-skip-link:focus { transform: translateY(0); }

.crm-header { position: sticky; top: 12px; z-index: 50; width: var(--crm-container); min-height: 74px; margin: 12px auto 0; padding: 10px 12px 10px 18px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; border: 1px solid rgba(7,29,59,.09); border-radius: 24px; background: rgba(255,253,250,.91); box-shadow: 0 14px 42px rgba(7,29,59,.11); backdrop-filter: blur(18px); animation: crmHeaderIn .42s cubic-bezier(.2,.8,.2,1) both; }
.crm-brand { display: flex; align-items: center; gap: 14px; }
.crm-brand img { width: 135px; }
.crm-nav { justify-self: center; display: flex; align-items: center; gap: 6px; }
.crm-nav a { position: relative; padding: 9px 10px; display: inline-flex; align-items: center; gap: 7px; border-radius: 10px; color: #425067; font-size: .75rem; font-weight: 750; white-space: nowrap; transition: color .2s ease, background .2s ease, transform .2s ease; }
.crm-nav a:hover, .crm-nav a:focus-visible, .crm-nav a[aria-current="page"] { color: var(--crm-navy); background: var(--crm-accent-soft); }
.crm-nav a:hover, .crm-nav a:focus-visible { transform: translateY(-1px); }
.crm-nav a[aria-current="page"]::after { content: ''; position: absolute; right: 12px; bottom: 3px; left: 12px; height: 2px; border-radius: 999px; background: var(--crm-accent); transform-origin: center; animation: crmActiveNav .34s cubic-bezier(.2,.8,.2,1) both; }
.crm-user { position: relative; justify-self: end; display: flex; align-items: center; gap: 8px; }
.crm-user-menu { position: relative; }
.crm-user-menu summary { min-width: 158px; min-height: 52px; padding: 7px 10px; display: grid; grid-template-columns: 36px minmax(0,1fr) 16px; align-items: center; gap: 9px; border: 1px solid var(--crm-line); border-radius: 15px; color: var(--crm-navy); background: rgba(255,255,255,.65); cursor: pointer; list-style: none; transition: border-color .2s, background .2s, box-shadow .2s; }
.crm-user-menu summary::-webkit-details-marker { display: none; }
.crm-user-menu summary:hover, .crm-user-menu summary:focus-visible, .crm-user-menu[open] summary, .crm-user-menu.is-current summary { border-color: color-mix(in srgb,var(--crm-accent) 35%,var(--crm-line)); background: var(--crm-accent-soft); box-shadow: 0 8px 20px rgba(7,29,59,.07); }
.crm-user-menu summary:focus { outline: none; }
.crm-user-menu summary:focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb,var(--crm-accent) 28%,transparent), 0 8px 20px rgba(7,29,59,.07); }
.crm-user-menu__avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: white; background: linear-gradient(145deg,var(--crm-accent),var(--crm-navy-2)); font-size: .68rem; font-weight: 850; }
.crm-user-menu__identity { min-width: 0; display: grid; }
.crm-user-menu__identity strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-user-menu__identity small { overflow: hidden; color: var(--crm-muted); font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-user-menu__mobile { display: none; font-size: .72rem; font-weight: 800; }
.crm-user-menu__chevron { position: relative; width: 16px; height: 16px; display: block; color: var(--crm-muted); transition: transform .22s ease; }
.crm-user-menu__chevron::before { content: ''; position: absolute; top: 4px; left: 4px; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; border-radius: 1px; transform: rotate(45deg); }
.crm-user-menu[open] .crm-user-menu__chevron { transform: rotate(180deg); }
.crm-user-menu__panel { position: absolute; top: calc(100% + 10px); right: 0; z-index: 80; width: 310px; padding: 10px; display: grid; gap: 4px; border: 1px solid var(--crm-line); border-radius: 18px; background: rgba(255,253,250,.98); box-shadow: 0 24px 60px rgba(7,29,59,.2); backdrop-filter: blur(18px); }
.crm-user-menu__panel::before { content: ''; position: absolute; top: -6px; right: 24px; width: 11px; height: 11px; border-top: 1px solid var(--crm-line); border-left: 1px solid var(--crm-line); background: rgba(255,253,250,.98); transform: rotate(45deg); }
.crm-user-menu__label { padding: 10px 10px 5px; color: var(--crm-muted); font-size: .55rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.crm-user-menu__panel a { padding: 10px 11px; display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: center; gap: 9px; border-radius: 11px; }
.crm-user-menu__panel a:hover, .crm-user-menu__panel a:focus-visible, .crm-user-menu__panel a[aria-current="page"] { background: var(--crm-accent-soft); }
.crm-user-menu__panel a > .crm-icon { color: var(--crm-accent); }
.crm-user-menu__copy { min-width: 0; display: grid; gap: 2px; font-size: inherit; }
.crm-user-menu__copy > span { color: var(--crm-navy); font-size: .72rem; font-weight: 790; }
.crm-user-menu__copy > small { color: var(--crm-muted); font-size: .58rem; }
.crm-user-menu__panel form { margin-top: 6px; padding-top: 9px; border-top: 1px solid var(--crm-line); }
.crm-user-menu__panel form button { width: 100%; min-height: 40px; padding: 0 11px; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 11px; color: #a8312d; background: rgba(207,90,75,.1); font-size: .7rem; font-weight: 820; cursor: pointer; }
.crm-user-menu__panel form button:hover, .crm-user-menu__panel form button:focus-visible { color: white; background: #b93832; }

.crm-theme-toggle { min-height: 42px; padding: 5px 9px 5px 6px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--crm-line); border-radius: 13px; color: var(--crm-muted); background: rgba(255,255,255,.62); font-size: .64rem; font-weight: 800; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.crm-theme-toggle:hover, .crm-theme-toggle:focus-visible { color: var(--crm-navy); border-color: color-mix(in srgb,var(--crm-accent) 42%,var(--crm-line)); background: var(--crm-accent-soft); transform: translateY(-1px); }
.crm-theme-toggle__icons { position: relative; width: 30px; height: 30px; overflow: hidden; border-radius: 9px; color: var(--crm-navy); background: var(--crm-accent-soft); }
.crm-theme-toggle__icons > span { position: absolute; inset: 0; display: grid; place-items: center; transition: opacity .28s ease, transform .38s cubic-bezier(.2,.8,.2,1); }
.crm-theme-toggle__icons .crm-icon { width: 16px; height: 16px; }
.crm-theme-toggle__icons > span:last-child { opacity: 0; transform: translateY(105%) rotate(35deg); }
.crm-theme-toggle[aria-pressed="true"] .crm-theme-toggle__icons > span:first-child { opacity: 0; transform: translateY(-105%) rotate(-35deg); }
.crm-theme-toggle[aria-pressed="true"] .crm-theme-toggle__icons > span:last-child { opacity: 1; transform: none; }
.crm-theme-toggle--floating { position: fixed; top: 18px; right: 18px; z-index: 100; color: rgba(255,255,255,.82); border-color: rgba(255,255,255,.2); background: rgba(5,13,24,.36); backdrop-filter: blur(14px); }
.crm-theme-toggle--floating .crm-theme-toggle__icons { color: #071d3b; background: #fffdfa; }
.crm-theme-toggle--floating:hover, .crm-theme-toggle--floating:focus-visible { color: white; border-color: rgba(69,170,162,.55); background: rgba(5,13,24,.68); }
.crm-command-trigger { min-height:42px;padding:5px 9px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--crm-line);border-radius:13px;color:var(--crm-muted);background:rgba(255,255,255,.62);font-size:.64rem;font-weight:800;transition:color .2s,border-color .2s,background .2s,transform .2s }.crm-command-trigger:hover,.crm-command-trigger:focus-visible{color:var(--crm-navy);border-color:color-mix(in srgb,var(--crm-accent) 42%,var(--crm-line));background:var(--crm-accent-soft);transform:translateY(-1px)}.crm-command-trigger .crm-icon{width:16px;height:16px}.crm-command-trigger kbd{padding:3px 5px;border:1px solid var(--crm-line);border-radius:6px;color:var(--crm-muted);background:var(--crm-surface);font-size:.55rem;font-family:inherit;box-shadow:0 1px 0 var(--crm-line)}

.crm-main { width: var(--crm-container); min-height: calc(100vh - 190px); margin: 0 auto; padding: 56px 0 80px; animation: crmMainIn .44s .04s cubic-bezier(.2,.8,.2,1) both; }
.crm-body--auth { display: grid; grid-template-rows: 1fr auto; background: radial-gradient(circle at 18% 20%, rgba(42,143,134,.25), transparent 29rem), radial-gradient(circle at 80% 8%, rgba(70,103,134,.22), transparent 33rem), linear-gradient(145deg, #061832, #0b2b50 58%, #103f67); }
.crm-body--auth .crm-main { width: min(100% - 36px, 560px); min-height: calc(100vh - 80px); padding: 50px 0; display: grid; place-items: center; }
.crm-body--auth .crm-footer { color: rgba(255,255,255,.62); border-top-color: rgba(255,255,255,.12); }

.crm-page-header { margin-bottom: 34px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.crm-page-header > div:first-child { max-width: 820px; }
.crm-page-header h1 { margin-bottom: 12px; color: var(--crm-navy); font-size: clamp(2.4rem, 5vw, 5.2rem); line-height: .96; letter-spacing: -.06em; text-wrap: balance; }
.crm-page-header p:last-child { max-width: 720px; margin-bottom: 0; color: var(--crm-muted); }
.crm-page-header--client { align-items: center; }
.crm-page-header--client h1 { font-size: clamp(2.5rem, 4.5vw, 4.6rem); }
.crm-eyebrow { margin-bottom: 13px; color: var(--crm-accent); font-size: .68rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.crm-heading-meta { margin-bottom: 16px; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--crm-muted); font-size: .72rem; font-weight: 750; }
.crm-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.crm-actions form { margin: 0; }

.crm-button { min-height: 42px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 13px; font-size: .76rem; font-weight: 800; transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.crm-button:hover, .crm-button:focus-visible { transform: translateY(-2px); }
.crm-button--primary { color: white; background: linear-gradient(135deg, var(--crm-accent), #247d88); box-shadow: 0 12px 28px rgba(42,143,134,.2); }
.crm-button--secondary { color: var(--crm-navy); border-color: color-mix(in srgb, var(--crm-accent) 38%, var(--crm-line)); background: var(--crm-accent-soft); }
.crm-button--quiet { color: var(--crm-navy); border-color: var(--crm-line); background: rgba(255,255,255,.66); }
.crm-button--wide { width: 100%; }
.crm-text-link { color: var(--crm-accent); font-size: .76rem; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.crm-flash { margin: 0 0 22px; padding: 14px 17px; border: 1px solid transparent; border-radius: 14px; font-size: .82rem; font-weight: 650; }
.crm-flash-stack { margin: -8px 0 34px; display: grid; gap: 10px; }
.crm-flash-stack .crm-flash { margin: 0; }
.crm-flash-stack + .crm-breadcrumb { margin-top: 0; }
.crm-flash--success { color: var(--crm-success); border-color: color-mix(in srgb, var(--crm-success) 24%, transparent); background: var(--crm-success-soft); }
.crm-flash--error { color: var(--crm-danger); border-color: color-mix(in srgb, var(--crm-danger) 24%, transparent); background: var(--crm-danger-soft); }
.crm-flash--info { color: var(--crm-info); border-color: color-mix(in srgb, var(--crm-info) 24%, transparent); background: var(--crm-info-soft); }

.crm-auth-card { width: 100%; padding: clamp(28px, 6vw, 48px); border: 1px solid rgba(255,255,255,.2); border-radius: 34px; background: rgba(255,253,250,.96); box-shadow: 0 30px 100px rgba(0,0,0,.25); }
.crm-auth-card--wide { width: min(760px, calc(100vw - 36px)); }
.crm-body--auth .crm-main:has(.crm-auth-card--wide) { width: min(100% - 36px, 760px); }
.crm-auth-brand { margin-bottom: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.crm-auth-brand img { width: 155px; }
.crm-auth-brand span { color: var(--crm-muted); font-size: .65rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.crm-auth-heading { margin-bottom: 28px; }
.crm-auth-heading h1 { margin-bottom: 14px; color: var(--crm-navy); font-size: clamp(2.2rem, 7vw, 3.9rem); line-height: .98; letter-spacing: -.055em; }
.crm-auth-heading > p:last-child { margin-bottom: 0; color: var(--crm-muted); }
.crm-auth-help { margin: 24px 0 0; color: var(--crm-muted); font-size: .68rem; text-align: center; }

.crm-form { display: grid; gap: 17px; }
.crm-form--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.crm-field { min-width: 0; display: grid; align-content: start; gap: 7px; }
.crm-field > span { color: #425067; font-size: .7rem; font-weight: 800; }
.crm-field input, .crm-field select, .crm-field textarea { width: 100%; min-height: 47px; padding: 11px 13px; color: var(--crm-text); border: 1px solid var(--crm-line); border-radius: 12px; outline: none; background: rgba(255,255,255,.84); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.crm-field textarea { min-height: 160px; resize: vertical; }
.crm-field textarea.crm-textarea--compact { min-height: 86px; resize: vertical; }
.crm-field input:focus, .crm-field select:focus, .crm-field textarea:focus { border-color: var(--crm-accent); background: white; box-shadow: 0 0 0 4px rgba(42,143,134,.12); }
.crm-field > small { color: var(--crm-muted); font-size: .65rem; }
.crm-field .crm-field__error, .crm-field__error { color: var(--crm-danger); font-size: .66rem; font-weight: 750; }
.crm-field--full { grid-column: 1 / -1; }
.crm-field--search { min-width: min(100%, 440px); }
.crm-check { min-height: 47px; padding: 11px 13px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--crm-line); border-radius: 12px; background: rgba(255,255,255,.76); }
.crm-check input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; accent-color: var(--crm-accent); }
.crm-check span { font-size: .74rem; font-weight: 670; }
.crm-check--notice { display: grid; grid-template-columns: auto 1fr; align-self: end; }
.crm-check--notice .crm-field__error { grid-column: 1 / -1; }

.crm-filter-bar { margin-bottom: 26px; padding: 16px; display: flex; align-items: end; gap: 12px; border: 1px solid var(--crm-line); border-radius: 20px; background: rgba(255,253,250,.78); box-shadow: 0 10px 35px rgba(7,29,59,.05); }
.crm-advanced-filters { position: relative; align-self: end; }
.crm-advanced-filters > summary { min-height: 47px; padding: 0 14px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--crm-line); border-radius: 12px; color: var(--crm-navy); background: rgba(255,255,255,.84); font-size: .72rem; font-weight: 800; cursor: pointer; list-style: none; }
.crm-advanced-filters > summary::-webkit-details-marker { display: none; }
.crm-advanced-filters > summary:focus, .crm-context-menu > summary:focus, .crm-disclosure > summary:focus { outline: none; }
.crm-advanced-filters > summary:focus-visible, .crm-context-menu > summary:focus-visible, .crm-disclosure > summary:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb,var(--crm-accent) 24%,transparent); }
.crm-advanced-filters > summary::after { content: ''; width: 6px; height: 6px; margin-left: 2px; border-right: 1.5px solid var(--crm-muted); border-bottom: 1.5px solid var(--crm-muted); transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.crm-advanced-filters[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.crm-advanced-filters > summary > span { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 999px; color: white; background: var(--crm-accent); font-size: .58rem; }
.crm-advanced-filters > div { position: absolute; top: calc(100% + 8px); left: 0; z-index: 35; width: min(620px,calc(100vw - 48px)); padding: 16px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; border: 1px solid var(--crm-line); border-radius: 17px; background: rgba(255,253,250,.98); box-shadow: 0 20px 48px rgba(7,29,59,.16); }
.crm-client-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.crm-client-card { position: relative; min-height: 310px; padding: 24px; display: flex; flex-direction: column; gap: 24px; overflow: hidden; border: 1px solid var(--crm-line); border-radius: 22px; background: rgba(255,253,250,.86); box-shadow: 0 12px 34px rgba(7,29,59,.055); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.crm-client-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--crm-accent); }
.crm-client-card--inactive::before { background: #8994a4; }
.crm-client-card--archived::before { background: #9a6b6b; }
.crm-client-card:hover { border-color: color-mix(in srgb, var(--crm-accent) 38%, var(--crm-line)); box-shadow: var(--crm-shadow); transform: translateY(-4px); }
.crm-client-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.crm-client-card__top > small { color: var(--crm-muted); font-size: .62rem; }
.crm-client-card h2 { margin: 0 0 4px; color: var(--crm-navy); font-size: 1.42rem; line-height: 1.08; letter-spacing: -.035em; }
.crm-client-card h2 a:hover, .crm-client-card h2 a:focus-visible { color: var(--crm-accent); }
.crm-client-card__company { margin: 0; color: var(--crm-muted); font-size: .78rem; }
.crm-client-card__contact { margin: 0; display: grid; gap: 7px; }
.crm-client-card__contact div { min-width: 0; display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 8px; }
.crm-client-card__contact dt { color: var(--crm-muted); font-size: .62rem; font-weight: 750; text-transform: uppercase; }
.crm-client-card__contact dd { margin: 0; overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-client-card footer { margin-top: auto; padding-top: 16px; display: grid; gap: 2px; border-top: 1px solid var(--crm-line); color: var(--crm-muted); font-size: .63rem; }

.crm-status { width: max-content; padding: 5px 8px; display: inline-flex; align-items: center; border-radius: 999px; color: var(--crm-info); background: var(--crm-info-soft); font-size: .61rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.crm-status--active { color: var(--crm-success); background: var(--crm-success-soft); }
.crm-status--inactive { color: #5d6876; background: #e9edf0; }
.crm-status--archived { color: var(--crm-danger); background: var(--crm-danger-soft); }

.crm-empty-state { min-height: 380px; padding: 50px; display: grid; place-items: center; align-content: center; gap: 10px; border: 1px dashed #bdc7d0; border-radius: var(--crm-radius); text-align: center; background: rgba(255,255,255,.45); }
.crm-empty-state > span { color: var(--crm-accent); font-size: 3rem; }
.crm-empty-state h2 { margin: 0; color: var(--crm-navy); }
.crm-empty-state p { color: var(--crm-muted); }

.crm-pagination { margin-top: 28px; display: flex; align-items: center; justify-content: center; gap: 18px; color: var(--crm-muted); font-size: .73rem; }
.crm-pagination a { color: var(--crm-accent); font-weight: 800; }
.crm-breadcrumb { margin: -28px 0 34px; display: flex; align-items: center; gap: 10px; color: var(--crm-muted); font-size: .68rem; }
.crm-breadcrumb a { color: var(--crm-accent); font-weight: 780; }

.crm-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18px; }
.crm-panel { min-width: 0; padding: clamp(24px, 3vw, 34px); border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: rgba(255,253,250,.84); box-shadow: 0 12px 42px rgba(7,29,59,.05); }
.crm-panel h2 { margin-bottom: 22px; color: var(--crm-navy); font-size: 1.45rem; letter-spacing: -.035em; }
.crm-panel__title { display: flex; align-items: center; gap: 11px; }
.crm-panel__title .crm-icon { width: 22px; height: 22px; color: var(--crm-accent); }
.crm-panel > p { color: var(--crm-muted); font-size: .8rem; }
.crm-panel--full { grid-column: 1 / -1; }
.crm-panel--table { padding-right: 0; padding-left: 0; }
.crm-panel--narrow { max-width: 680px; }
.crm-panel--table > .crm-panel__heading { padding: 0 30px; }
.crm-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.crm-panel__heading > span { color: var(--crm-muted); font-size: .68rem; }
.crm-detail-list { margin: 0; display: grid; }
.crm-detail-list > div { padding: 11px 0; display: grid; grid-template-columns: minmax(110px,.55fr) minmax(0,1fr); gap: 18px; border-bottom: 1px solid var(--crm-line); }
.crm-detail-list > div:last-child { border-bottom: 0; }
.crm-detail-list dt { color: var(--crm-muted); font-size: .7rem; font-weight: 820; letter-spacing: .035em; text-transform: uppercase; }
.crm-detail-list dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-size: .9rem; font-weight: 680; }
.crm-detail-list a { color: var(--crm-accent); text-decoration: underline; text-underline-offset: 3px; }
.crm-family-details{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.crm-family-details>div:nth-last-child(-n+2){border-bottom:0}
.crm-family-children{grid-column:1/-1}.crm-family-children dd ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;list-style:none}.crm-family-children dd li{padding:6px 9px;border:1px solid color-mix(in srgb,var(--crm-info) 22%,var(--crm-line));border-radius:999px;color:var(--crm-info);background:var(--crm-info-soft);font-size:.7rem;font-weight:760}
.crm-notes { min-height: 80px; color: #38475d; font-size: .84rem; white-space: normal; }
.crm-notes > span { color: var(--crm-muted); }
.crm-share-list { margin: 20px 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; list-style: none; }
.crm-share-list li { padding: 14px; display: grid; gap: 2px; border: 1px solid var(--crm-line); border-radius: 14px; background: var(--crm-surface-soft); }
.crm-share-list strong { color: var(--crm-navy); font-size: .77rem; }
.crm-share-list span, .crm-share-list small { color: var(--crm-muted); font-size: .64rem; }
.crm-legal-hint { margin: 20px 0 0; padding: 12px 14px; border-radius: 12px; color: var(--crm-info) !important; background: var(--crm-info-soft); line-height: 1.55; }

.crm-client-form { gap: 22px; }
.crm-form-section { min-width: 0; margin: 0; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: rgba(255,253,250,.84); box-shadow: 0 12px 42px rgba(7,29,59,.05); }
.crm-form-section legend { padding: 0 10px; color: var(--crm-navy); font-size: 1.15rem; font-weight: 820; letter-spacing: -.025em; }
.crm-form-section--share > p { margin-bottom: 18px; color: var(--crm-muted); font-size: .76rem; }
.crm-share-options { margin-bottom: 20px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.crm-share-options label { min-width: 0; padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--crm-line); border-radius: 14px; background: rgba(255,255,255,.72); cursor: pointer; }
.crm-share-options input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--crm-accent); }
.crm-share-options span { min-width: 0; display: grid; }
.crm-share-options strong { overflow: hidden; color: var(--crm-navy); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-share-options small { color: var(--crm-muted); font-size: .61rem; }
.crm-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }

.crm-admin-grid { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); align-items: start; gap: 18px; }
.crm-panel--sticky { position: sticky; top: 104px; }
.crm-user-list { display: grid; gap: 10px; }
.crm-user-card { padding: 14px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto; align-items: center; gap: 13px; border: 1px solid var(--crm-line); border-radius: 16px; background: rgba(255,255,255,.67); }
.crm-user-card.is-disabled { opacity: .67; }
.crm-user-card__initial { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: linear-gradient(145deg,var(--crm-accent),var(--crm-navy-2)); font-size: .86rem; font-weight: 850; }
.crm-user-card h3 { margin: 0; color: var(--crm-navy); font-size: .88rem; }
.crm-user-card p { margin: 1px 0; overflow: hidden; color: var(--crm-muted); font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-user-card small { color: var(--crm-muted); font-size: .61rem; }
.crm-user-card__status { display: grid; justify-items: end; gap: 3px; }
.crm-user-card__actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.crm-user-card__actions form { margin: 0; }
.crm-you { color: var(--crm-accent); font-size: .65rem; font-weight: 800; }

.crm-table-wrap { width: 100%; overflow-x: auto; }
.crm-table { width: 100%; border-collapse: collapse; font-size: .73rem; }
.crm-table th, .crm-table td { padding: 13px 16px; border-bottom: 1px solid var(--crm-line); text-align: left; vertical-align: top; }
.crm-table th { color: var(--crm-muted); background: var(--crm-surface-soft); font-size: .61rem; letter-spacing: .06em; text-transform: uppercase; }
.crm-table td { max-width: 280px; overflow-wrap: anywhere; }

.crm-footer { width: var(--crm-container); margin: 0 auto; padding: 24px 0 34px; display: flex; align-items: center; justify-content: flex-end; gap: 20px; border-top: 1px solid var(--crm-line); color: var(--crm-muted); font-size: .68rem; }
.crm-footer small { max-width: 560px; text-align: right; }

@media (max-width: 1040px) {
  :root { --crm-container: min(100% - 32px, 920px); }
  .crm-header { grid-template-columns: auto 1fr; }
  .crm-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-self: stretch; justify-content: center; padding-top: 8px; border-top: 1px solid var(--crm-line); }
  .crm-user { justify-self: end; }
  .crm-client-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .crm-admin-grid { grid-template-columns: 1fr; }
  .crm-panel--sticky { position: static; }
}

@media (max-width: 700px) {
  :root { --crm-container: min(100% - 24px, 620px); --crm-radius: 20px; }
  .crm-header { top: 6px; min-height: 0; margin-top: 6px; padding: 10px; grid-template-columns: 1fr auto; gap: 10px; border-radius: 18px; }
  .crm-brand img { width: 100px; }
  .crm-user > span { display: none; }
  .crm-user { gap: 5px; }
  .crm-theme-toggle:not(.crm-theme-toggle--floating) { width: 38px; min-height: 38px; padding: 4px; justify-content: center; }
  .crm-theme-toggle:not(.crm-theme-toggle--floating) > [data-theme-label] { display: none; }
  .crm-theme-toggle:not(.crm-theme-toggle--floating) .crm-theme-toggle__icons { width: 28px; height: 28px; }
  .crm-user .crm-button { min-height: 36px; padding: 0 10px; }
  .crm-user-menu summary { min-width: 94px; min-height: 42px; grid-template-columns: 32px minmax(0,1fr) 14px; padding: 5px 7px; }
  .crm-user-menu__avatar { width: 32px; height: 32px; border-radius: 10px; }
  .crm-user-menu__identity { display: none; }
  .crm-user-menu__mobile { display: block; }
  .crm-user-menu__panel { position: fixed; top: 118px; right: 12px; left: 12px; width: auto; max-height: calc(100vh - 136px); overflow-y: auto; }
  .crm-user-menu__panel::before { display: none; }
  .crm-nav { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .crm-nav::-webkit-scrollbar { display: none; }
  .crm-nav a { flex: 0 0 auto; }
  .crm-main { padding: 56px 0 70px; }
  .crm-flash-stack { margin: -4px 0 26px; }
  .crm-page-header, .crm-page-header--client { align-items: flex-start; flex-direction: column; }
  .crm-page-header h1 { font-size: clamp(2.35rem, 13vw, 4rem); }
  .crm-page-header .crm-button { width: 100%; }
  .crm-actions { width: 100%; }
  .crm-actions > *, .crm-actions form, .crm-actions .crm-button { width: 100%; }
  .crm-filter-bar { align-items: stretch; flex-direction: column; }
  .crm-field--search { min-width: 0; }
  .crm-client-grid, .crm-detail-grid { grid-template-columns: 1fr; }
  .crm-panel--full { grid-column: auto; }
  .crm-client-card { min-height: 280px; }
  .crm-form--grid { grid-template-columns: 1fr; }
  .crm-field--full { grid-column: auto; }
  .crm-share-options, .crm-share-list { grid-template-columns: 1fr; }
  .crm-form-actions { align-items: stretch; flex-direction: column-reverse; }
  .crm-form-actions .crm-button { width: 100%; }
  .crm-detail-list > div { grid-template-columns: 1fr; gap: 3px; }
  .crm-user-card { grid-template-columns: 42px minmax(0,1fr) auto; }
  .crm-user-card__status { grid-column: 2 / -1; justify-items: start; }
  .crm-user-card__actions, .crm-you { grid-column: 2 / -1; grid-row: auto; justify-self: stretch; }
  .crm-user-card__actions { justify-content: flex-start; }
  .crm-user-card__actions .crm-button { min-height: 34px; padding: 0 9px; font-size: .65rem; }
  .crm-auth-card { padding: 28px 22px; border-radius: 25px; }
  .crm-auth-brand { margin-bottom: 28px; }
  .crm-auth-brand img { width: 130px; }
  .crm-auth-brand span { font-size: .55rem; }
  .crm-footer { align-items: flex-start; flex-direction: column; }
  .crm-footer small { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
}

/* CRM V2 — répertoire, AJAX, import et sécurité renforcée */
.crm-page-header--directory h1 em { color: var(--crm-accent); font-style: normal; }
.crm-directory-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.crm-directory-shell { position: relative; }
.crm-filter-bar--enhanced { position: sticky; top: 100px; z-index: 20; background: rgba(255,253,250,.94); backdrop-filter: blur(16px); }
.crm-ajax-indicator { min-width: 82px; margin-left: auto; color: var(--crm-muted); font-size: .65rem; font-weight: 750; text-align: right; }
.crm-bulk-select-all{min-height:47px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--crm-line);border-radius:12px;color:var(--crm-muted);background:var(--crm-surface);font-size:.67rem;font-weight:780;white-space:nowrap}.crm-bulk-select-all input{width:17px;height:17px;accent-color:var(--crm-accent)}
.crm-client-results { position: relative; transition: opacity .2s ease, transform .2s ease; }
.crm-client-results.is-loading { opacity: .48; transform: translateY(3px); pointer-events: none; }
.crm-client-results.is-loading::after { content: ''; position: absolute; top: 0; right: 0; left: 0; height: 3px; border-radius: 999px; background: linear-gradient(90deg,transparent,var(--crm-accent),transparent); background-size: 220% 100%; animation: crmLoadingShimmer .9s linear infinite; }
.crm-bulk-bar{position:sticky;bottom:12px;z-index:45;margin:18px auto 0;padding:12px;display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);align-items:center;gap:14px;border:1px solid color-mix(in srgb,var(--crm-accent) 30%,var(--crm-line));border-radius:20px;background:rgba(255,253,250,.96);box-shadow:0 22px 65px rgba(7,29,59,.2);backdrop-filter:blur(18px);animation:crmNoticeIn .28s ease both}.crm-bulk-bar[hidden]{display:none}.crm-bulk-bar__summary{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px}.crm-bulk-bar__summary>.crm-icon{width:20px;height:20px;padding:9px;box-sizing:content-box;border-radius:12px;color:white;background:var(--crm-accent)}.crm-bulk-bar__summary>span{min-width:0;display:grid}.crm-bulk-bar__summary strong{color:var(--crm-navy);font-size:.74rem}.crm-bulk-bar__summary small{overflow:hidden;color:var(--crm-muted);font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.crm-bulk-bar__summary>button{padding:7px 9px;border:0;border-radius:9px;color:var(--crm-muted);background:var(--crm-surface-soft);font-size:.62rem;font-weight:760}.crm-bulk-form{min-width:0;display:grid;grid-template-columns:minmax(185px,.9fr) minmax(190px,1fr) auto;align-items:end;gap:9px}.crm-bulk-form .crm-field{gap:4px}.crm-bulk-form .crm-field>span{font-size:.6rem}.crm-bulk-form .crm-field select{min-height:40px;padding:7px 10px;font-size:.67rem}.crm-bulk-field[hidden],.crm-bulk-legal[hidden]{display:none}.crm-bulk-legal{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);align-items:end;gap:9px}.crm-bulk-legal .crm-check{min-height:40px;padding:8px 10px}.crm-bulk-legal .crm-check span{font-size:.63rem}.crm-bulk-form>.crm-button{min-height:40px}.crm-bulk-errors{grid-column:1/-1}.crm-bulk-errors:empty{display:none}.crm-bulk-errors .crm-flash{margin:0}
.crm-client-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 370px), 1fr)); align-items: start; gap: 18px; }
.crm-client-card { --partner-color: var(--crm-accent); min-height: 0; padding: 23px; gap: 14px; border-color: color-mix(in srgb, var(--partner-color) 22%, var(--crm-line)); background: radial-gradient(circle at 96% 2%, color-mix(in srgb, var(--partner-color) 9%, transparent), transparent 38%), rgba(255,253,250,.94); }
.crm-client-card::before { width: 92px; right: auto; height: 4px; border-radius: 0 999px 999px 0; background: var(--partner-color); }
.crm-client-card--partner-tourbier { --partner-color: #466786; }
.crm-client-card--partner-chris { --partner-color: #d95743; }
.crm-client-card--partner-agence203 { --partner-color: #b39217; }
.crm-client-card--partner-syntaxeo { --partner-color: #5676e8; }
.crm-client-card__header { display: grid; grid-template-columns: 54px minmax(0,1fr) auto auto; align-items: center; gap: 11px; }
.crm-client-card__select{position:relative;width:29px;height:29px;display:grid;place-items:center;cursor:pointer}.crm-client-card__select input{position:absolute;opacity:0;pointer-events:none}.crm-client-card__select>span[aria-hidden]{position:relative;width:21px;height:21px;border:1.5px solid var(--crm-line);border-radius:7px;background:var(--crm-surface);box-shadow:0 2px 8px rgba(7,29,59,.06);transition:border-color .2s,background .2s,transform .2s}.crm-client-card__select input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--crm-accent) 24%,transparent);outline-offset:2px}.crm-client-card__select input:checked+span{border-color:var(--crm-accent);background:var(--crm-accent);transform:scale(1.04)}.crm-client-card__select input:checked+span::after{content:'';position:absolute;top:5px;left:4px;width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg)}.crm-client-card.is-selected{border-color:var(--crm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--crm-accent) 13%,transparent),var(--crm-shadow)}
.crm-client-avatar { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--partner-color) 34%, white); border-radius: 17px; color: white; background: linear-gradient(145deg, var(--partner-color), color-mix(in srgb, var(--partner-color) 58%, var(--crm-navy))); box-shadow: 0 10px 25px color-mix(in srgb, var(--partner-color) 22%, transparent); font-size: .9rem; font-weight: 860; letter-spacing: -.03em; }
.crm-client-card__identity { min-width: 0; }
.crm-client-card__identity h2 { margin: 0; font-size: 1.28rem; }
.crm-client-card__identity p { margin: 3px 0 0; overflow: hidden; color: var(--crm-muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-client-card__quick-actions { min-height: 42px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.crm-client-card__quick-actions a { max-width: 100%; padding: 8px 11px; display: inline-flex; align-items: center; gap: 6px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--partner-color) 24%, var(--crm-line)); border-radius: 999px; color: color-mix(in srgb, var(--partner-color) 76%, var(--crm-navy)); background: color-mix(in srgb, var(--partner-color) 7%, white); font-size: .72rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.crm-client-card__quick-actions a:hover, .crm-client-card__quick-actions a:focus-visible { border-color: var(--partner-color); background: color-mix(in srgb, var(--partner-color) 11%, white); }
.crm-client-card__quick-actions a span { font-size: .76rem; font-weight: 900; }
.crm-client-card__quick-actions a .crm-icon { width:15px;height:15px; }
.crm-client-card__missing { color: var(--crm-muted); font-size: .67rem; font-style: italic; }
.crm-client-card__facts{margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;list-style:none}.crm-client-card__facts>li{min-width:0;padding:10px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--partner-color) 14%,var(--crm-line));border-radius:12px;background:color-mix(in srgb,var(--partner-color) 4%,var(--crm-surface-soft))}.crm-client-card__facts>li:nth-child(odd):last-child{grid-column:1/-1}.crm-client-card__facts>li>.crm-icon{width:14px;height:14px;padding:7px;box-sizing:content-box;border-radius:9px;color:var(--partner-color);background:color-mix(in srgb,var(--partner-color) 10%,transparent)}.crm-client-card__facts>li>span{min-width:0;display:grid;gap:2px}.crm-client-card__facts small{color:var(--crm-muted);font-size:.51rem;font-weight:820;letter-spacing:.055em;text-transform:uppercase}.crm-client-card__facts strong{overflow-wrap:anywhere;color:var(--crm-navy);font-size:.63rem;line-height:1.3}.crm-client-card__facts>li.is-warning{border-color:color-mix(in srgb,var(--crm-danger) 25%,var(--crm-line));background:var(--crm-danger-soft)}.crm-client-card__facts>li.is-warning>.crm-icon{color:var(--crm-danger);background:color-mix(in srgb,var(--crm-danger) 10%,transparent)}
.crm-client-card__context{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px}.crm-client-card__context>div{min-width:0;padding:9px;border-radius:11px;background:var(--crm-surface-soft)}.crm-client-card__context dt{margin-bottom:3px;color:var(--crm-muted);font-size:.51rem;font-weight:820;letter-spacing:.05em;text-transform:uppercase}.crm-client-card__context dd{margin:0;overflow:hidden;color:#263a53;font-size:.65rem;font-weight:740;text-overflow:ellipsis;white-space:nowrap}
.crm-client-card__footer { margin-top:4px;padding-top:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 18px;border-top:1px solid var(--crm-line); }
.crm-client-card__signals{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.crm-client-card__signals>span:not(.crm-access-pill){padding:4px 7px;border-radius:999px;color:var(--crm-muted);background:var(--crm-surface-soft);font-size:.57rem;font-weight:780}
.crm-client-card__signals>small{color:var(--crm-muted);font-size:.56rem;font-weight:680;white-space:nowrap}
.crm-client-card__quality{min-width:110px;display:grid;gap:5px}.crm-client-card__quality span{color:var(--crm-muted);font-size:.56rem;font-weight:780;text-align:right}.crm-client-card__quality progress{width:100%;height:5px;display:block;overflow:hidden;border:0;border-radius:999px;background:var(--crm-line);appearance:none}.crm-client-card__quality progress::-webkit-progress-bar{background:var(--crm-line)}.crm-client-card__quality progress::-webkit-progress-value{border-radius:999px;background:var(--crm-warning)}.crm-client-card__quality progress::-moz-progress-bar{border-radius:999px;background:var(--crm-warning)}.crm-client-card__quality--good progress::-webkit-progress-value{background:var(--crm-success)}.crm-client-card__quality--good progress::-moz-progress-bar{background:var(--crm-success)}.crm-client-card__quality--danger progress::-webkit-progress-value{background:var(--crm-danger)}.crm-client-card__quality--danger progress::-moz-progress-bar{background:var(--crm-danger)}
.crm-access-pill { width: max-content; padding: 4px 7px; border-radius: 999px; color: var(--crm-muted); background: #eef1f3; font-size: .58rem; font-weight: 800; }
.crm-access-pill.is-shared { color: var(--crm-info); background: var(--crm-info-soft); }
.crm-quality{width:max-content;padding:4px 7px;border-radius:999px;font-size:.58rem;font-weight:820}.crm-quality--good{color:var(--crm-success);background:var(--crm-success-soft)}.crm-quality--warning{color:var(--crm-warning);background:var(--crm-warning-soft)}.crm-quality--danger{color:var(--crm-danger);background:var(--crm-danger-soft)}
.crm-client-card__buttons{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:9px}.crm-client-card__buttons .crm-button{min-height:44px;padding:0 15px;justify-content:space-between;font-size:.68rem}.crm-client-card__edit{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--crm-line);border-radius:12px;color:var(--crm-accent);background:var(--crm-surface-soft)}.crm-client-card__edit:hover,.crm-client-card__edit:focus-visible{color:white;border-color:var(--crm-accent);background:var(--crm-accent)}.crm-client-card__edit .crm-icon{width:16px;height:16px}
.crm-client-hero { display: flex; align-items: center; gap: 20px; }
.crm-client-avatar--large { width: 76px; height: 76px; flex: 0 0 76px; border-radius: 23px; font-size: 1.15rem; }
.crm-client-hero h1 { margin-bottom: 7px; }
.crm-client-hero p { margin: 0; }
.crm-client-profile-header { position: relative; margin-bottom: 22px; padding: clamp(20px,2.4vw,32px); align-items: center; overflow: visible; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: radial-gradient(circle at 8% 0%,rgba(42,143,134,.12),transparent 24rem),rgba(255,253,250,.9); box-shadow: var(--crm-shadow); }
.crm-client-profile-header::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 4px; border-radius: var(--crm-radius) 0 0 var(--crm-radius); background: var(--crm-accent); }
.crm-client-profile-header .crm-client-hero { min-width: 0; }
.crm-client-profile-header .crm-client-hero > div { min-width: 0; }
.crm-client-profile-header h1 { font-size: clamp(2.5rem,4.5vw,4.8rem); }
.crm-heading-pill { padding: 5px 8px; border: 1px solid var(--crm-line); border-radius: 999px; color: #35475e; background: rgba(255,255,255,.58); font-size: .66rem; font-weight: 780; }
.crm-client-type-pill,.crm-client-card__classification>span{padding:5px 8px;border-radius:999px;color:var(--crm-accent);background:var(--crm-accent-soft);font-size:.62rem;font-weight:840;letter-spacing:.035em;text-transform:uppercase}.crm-client-card__classification{display:flex;align-items:center;gap:8px}.crm-client-card__classification small{color:var(--crm-muted);font-size:.65rem;font-weight:700}
.crm-code-input { font-variant-numeric: tabular-nums; font-size: 1.18rem !important; font-weight: 800; letter-spacing: .13em; text-align: center; }
.crm-security-status { margin-bottom: 26px; display: flex; align-items: center; gap: 16px; }
.crm-security-status__icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 16px; color: white; background: var(--crm-success); font-size: 1.2rem; font-weight: 900; }
.crm-security-status h2, .crm-security-status p { margin: 0; }
.crm-security-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.crm-setup-steps { padding-left: 22px; color: var(--crm-muted); font-size: .8rem; }
.crm-secret-key { margin: 22px 0; padding: 17px; display: grid; gap: 6px; border: 1px solid color-mix(in srgb,var(--crm-accent) 35%,var(--crm-line)); border-radius: 15px; background: var(--crm-accent-soft); }
.crm-secret-key span { color: var(--crm-muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.crm-secret-key code { overflow-wrap: anywhere; color: var(--crm-navy); font-size: .94rem; font-weight: 820; letter-spacing: .1em; }
.crm-uri-details { margin: -10px 0 24px; color: var(--crm-muted); font-size: .68rem; }
.crm-uri-details code { display: block; margin-top: 8px; padding: 10px; overflow-wrap: anywhere; border-radius: 10px; background: #eef1f3; }
.crm-recovery-panel { border-color: color-mix(in srgb,var(--crm-warning) 35%,var(--crm-line)); background: linear-gradient(145deg,var(--crm-warning-soft),var(--crm-surface)); }
.crm-recovery-codes { margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; list-style: none; }
.crm-recovery-codes code { padding: 10px; display: block; border: 1px solid color-mix(in srgb,var(--crm-warning) 22%,var(--crm-line)); border-radius: 10px; color: var(--crm-navy); background: rgba(255,255,255,.7); font-weight: 800; text-align: center; letter-spacing: .08em; }
.crm-migration-list { margin: 22px 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.crm-migration-list li { padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--crm-line); border-radius: 12px; background: var(--crm-surface-soft); }
.crm-migration-list span { color: var(--crm-muted); font-size: .67rem; }
.crm-panel--upload { display: grid; gap: 24px; }
.crm-upload-intro { display: flex; align-items: center; gap: 18px; }
.crm-upload-intro > span { width: 62px; height: 62px; flex: 0 0 62px; display: grid; place-items: center; border-radius: 18px; color: white; background: linear-gradient(145deg,var(--crm-accent),var(--crm-navy-2)); font-size: .83rem; font-weight: 900; }
.crm-upload-intro h2, .crm-upload-intro p { margin: 0; }
.crm-upload-intro p { color: var(--crm-muted); font-size: .76rem; }
.crm-file-drop { min-height: 150px; padding: 26px; display: grid; place-items: center; border: 2px dashed color-mix(in srgb,var(--crm-accent) 35%,var(--crm-line)); border-radius: 20px; background: color-mix(in srgb,var(--crm-accent) 4%,white); cursor: pointer; text-align: center; }
.crm-file-drop:hover, .crm-file-drop:focus-within { border-color: var(--crm-accent); background: var(--crm-accent-soft); }
.crm-file-drop input { width: min(100%,330px); }
.crm-file-drop > span { margin-top: 12px; display: grid; gap: 3px; }
.crm-file-drop strong { color: var(--crm-navy); }
.crm-file-drop small { color: var(--crm-muted); }
.crm-import-preview { margin-top: 20px; }
.crm-import-notice { margin: 18px 0 0; }
.crm-import-preview[hidden], .crm-import-result[hidden] { display: none; }
.crm-mapping-grid { margin: 22px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.crm-preview-table { min-width: 820px; }
.crm-preview-table td { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-import-result { max-width: 780px; margin: 22px auto 0; text-align: center; }
.crm-import-summary { margin: 24px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.crm-import-summary div { padding: 18px 12px; display: grid; gap: 3px; border: 1px solid var(--crm-line); border-radius: 14px; background: var(--crm-surface-soft); }
.crm-import-summary strong { color: var(--crm-navy); font-size: 1.7rem; }
.crm-import-summary span { color: var(--crm-muted); font-size: .65rem; }
.crm-toast-region { position: fixed; right: 18px; bottom: 18px; z-index: 500; width: min(360px,calc(100vw - 36px)); display: grid; gap: 8px; pointer-events: none; }
.crm-toast { margin: 0; padding: 13px 15px; border: 1px solid var(--crm-line); border-radius: 13px; color: var(--crm-navy); background: var(--crm-surface); box-shadow: var(--crm-shadow); font-size: .75rem; font-weight: 750; animation: crmToastIn .3s ease both; }
.crm-toast--success { color: var(--crm-success); border-color: color-mix(in srgb,var(--crm-success) 30%,var(--crm-line)); background: var(--crm-success-soft); }
.crm-toast--error { color: var(--crm-danger); border-color: color-mix(in srgb,var(--crm-danger) 30%,var(--crm-line)); background: var(--crm-danger-soft); }
.is-submitting { opacity: .68; pointer-events: none; }
.is-submitting [type="submit"] { position: relative; overflow: hidden; }
.is-submitting [type="submit"]::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg,transparent,currentColor,transparent); background-size: 200% 100%; animation: crmLoadingShimmer .8s linear infinite; }
[aria-invalid="true"] { border-color: var(--crm-danger) !important; box-shadow: 0 0 0 4px color-mix(in srgb,var(--crm-danger) 12%,transparent) !important; }
@keyframes crmToastIn { from { opacity: 0; transform: translateY(12px); } }

@media (max-width: 900px) {
  .crm-filter-bar--enhanced { top: 138px; }
  .crm-mapping-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .crm-directory-actions { width: 100%; justify-content: stretch; }
  .crm-directory-actions .crm-button { flex: 1 1 140px; width: auto; }
  .crm-filter-bar--enhanced { position: static; }
  .crm-ajax-indicator { margin-left: 0; text-align: left; }
  .crm-client-card { min-height: 0; padding: 21px; }
  .crm-client-card__header { grid-template-columns: 48px minmax(0,1fr); }
  .crm-client-avatar { width: 48px; height: 48px; }
  .crm-client-card__header .crm-status { grid-column: 2; }
  .crm-client-card__meta div { grid-template-columns: 78px minmax(0,1fr); }
  .crm-client-card__footer { align-items: stretch; flex-direction: column; }
  .crm-client-card__buttons .crm-button { flex: 1; }
  .crm-security-actions { align-items: stretch; flex-direction: column; }
  .crm-security-actions .crm-button { width: 100%; }
  .crm-client-hero { align-items: flex-start; }
  .crm-client-avatar--large { width: 60px; height: 60px; flex-basis: 60px; border-radius: 19px; }
  .crm-mapping-grid, .crm-import-summary, .crm-recovery-codes { grid-template-columns: 1fr; }
  .crm-toast-region { right: 12px; bottom: 12px; }
}

/* Éditeur de fiche V3 */
.crm-client-form { grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 22px; }
.crm-editor-main { min-width: 0; display: grid; gap: 22px; }
.crm-form-grid-12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 17px 14px; }
.crm-col-3 { grid-column: span 3; }
.crm-col-4 { grid-column: span 4; }
.crm-col-5 { grid-column: span 5; }
.crm-col-6 { grid-column: span 6; }
.crm-col-7 { grid-column: span 7; }
.crm-col-8 { grid-column: span 8; }
.crm-col-12 { grid-column: 1 / -1; }
.crm-form-section legend { display: inline-flex; align-items: center; gap: 9px; }
.crm-form-section legend span { width: 28px; height: 28px; display: inline-grid; place-items: center; border-radius: 9px; color: var(--crm-accent); background: var(--crm-accent-soft); font-size: .62rem; letter-spacing: .04em; }
.crm-section-hint { margin: -2px 0 19px; color: var(--crm-muted); font-size: .72rem; }
.crm-field>span small{color:var(--crm-muted);font-size:.62rem;font-weight:650}.crm-couple-fields{margin-top:22px;padding-top:20px;border-top:1px solid var(--crm-line)}.crm-couple-fields[hidden],.crm-form-section[hidden]{display:none}.crm-couple-fields h3{margin:0 0 14px;color:var(--crm-navy);font-size:.88rem}.crm-field [data-age-for]:not(:empty){width:max-content;padding:3px 7px;border-radius:999px;color:var(--crm-info);background:var(--crm-info-soft);font-weight:780}
.crm-children-editor{margin-top:22px;padding-top:20px;border-top:1px solid var(--crm-line)}.crm-children-editor__heading{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.crm-children-editor__heading>span{display:grid;gap:2px}.crm-children-editor__heading h3{margin:0;color:var(--crm-navy);font-size:.88rem}.crm-children-editor__heading small{color:var(--crm-muted);font-size:.65rem}.crm-children-list{display:grid;gap:9px}.crm-child-row{padding:11px;display:grid;grid-template-columns:30px minmax(150px,.8fr) minmax(160px,.8fr) minmax(180px,1fr) 34px;align-items:end;gap:10px;border:1px solid var(--crm-line);border-radius:14px;background:var(--crm-surface-soft)}.crm-child-row__index{width:27px;height:27px;align-self:center;display:grid;place-items:center;border-radius:9px;color:var(--crm-accent);background:var(--crm-accent-soft);font-size:.64rem;font-weight:850}.crm-child-row .crm-field{gap:4px}.crm-child-row .crm-field>span{font-size:.62rem}.crm-child-row input{min-height:40px;padding:8px 10px}.crm-child-age{align-self:center;color:var(--crm-info);font-size:.68rem;font-weight:780}.crm-child-row>[data-child-remove]{width:32px;height:32px;align-self:center;padding:0;display:grid;place-items:center;border:1px solid var(--crm-line);border-radius:10px;color:var(--crm-danger);background:var(--crm-danger-soft);font-size:1rem}.crm-children-empty{margin:0;padding:18px;border:1px dashed var(--crm-line);border-radius:13px;color:var(--crm-muted);text-align:center;font-size:.7rem}.crm-children-empty[hidden]{display:none}
.crm-input-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.crm-input-action input { border-radius: 12px 0 0 12px; }
.crm-input-action button { padding: 0 12px; border: 1px solid color-mix(in srgb, var(--crm-accent) 38%, var(--crm-line)); border-left: 0; border-radius: 0 12px 12px 0; color: var(--crm-accent); background: var(--crm-accent-soft); font-size: .68rem; font-weight: 850; white-space: nowrap; }
.crm-input-action button:hover, .crm-input-action button:focus-visible { color: white; background: var(--crm-accent); }
.crm-sharing-details { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--crm-line); }
.crm-sharing-details[hidden] { display: none; }
.crm-form-actions--sticky { position: sticky; bottom: 12px; z-index: 18; padding: 12px; border: 1px solid rgba(7,29,59,.09); border-radius: 16px; background: rgba(255,253,250,.92); box-shadow: 0 14px 42px rgba(7,29,59,.13); backdrop-filter: blur(16px); }
.crm-editor-preview { --partner-color: var(--crm-accent); position: sticky; top: 100px; min-width: 0; padding: 24px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--partner-color) 24%, var(--crm-line)); border-radius: var(--crm-radius); background: radial-gradient(circle at 105% -5%, color-mix(in srgb, var(--partner-color) 16%, transparent), transparent 42%), rgba(255,253,250,.92); box-shadow: var(--crm-shadow); }
.crm-editor-preview::before { content: ""; position: absolute; top: 0; left: 0; width: 86px; height: 4px; border-radius: 0 999px 999px 0; background: var(--partner-color); }
.crm-editor-preview__top { margin-bottom: 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.crm-editor-preview__top .crm-eyebrow { margin: 0; }
.crm-client-avatar--editor { width: 66px; height: 66px; margin-bottom: 19px; border-radius: 21px; font-size: 1.05rem; }
.crm-editor-preview h2 { margin: 0 0 4px; overflow-wrap: anywhere; color: var(--crm-navy); font-size: 1.65rem; line-height: 1.02; letter-spacing: -.045em; }
.crm-editor-preview > p:not(.crm-editor-preview__hint) { margin: 0 0 22px; overflow: hidden; color: var(--crm-muted); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-editor-preview__details { margin: 0; display: grid; }
.crm-editor-preview__details div { padding: 10px 0; display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 9px; border-bottom: 1px solid var(--crm-line); }
.crm-editor-preview__details dt { color: var(--crm-muted); font-size: .58rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.crm-editor-preview__details dd { margin: 0; overflow: hidden; color: #34445a; font-size: .7rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.crm-editor-preview__hint { margin: 20px 0 0; padding: 12px; border-radius: 12px; color: var(--crm-info); background: var(--crm-info-soft); font-size: .64rem; line-height: 1.45; }

@media (max-width: 1120px) {
  .crm-client-form { grid-template-columns: 1fr; }
  .crm-editor-preview { position: static; order: -1; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 0 18px; }
  .crm-editor-preview__top { grid-column: 1 / -1; }
  .crm-client-avatar--editor { grid-row: 2 / span 3; }
  .crm-editor-preview h2, .crm-editor-preview > p:not(.crm-editor-preview__hint), .crm-editor-preview__details { grid-column: 2; }
  .crm-editor-preview__details { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
  .crm-editor-preview__hint { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .crm-form-grid-12 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 10px; }
  .crm-form-grid-12 > .crm-field, .crm-form-grid-12 > .crm-check { grid-column: 1 / -1; }
  .crm-form-grid-12 > .crm-col-6:first-child { grid-column: span 1; }
  .crm-form-grid-12 > .crm-col-6:nth-child(2) { grid-column: span 1; }
  .crm-form-section { padding: 24px 18px; }
  .crm-editor-preview { grid-template-columns: 54px minmax(0,1fr); padding: 20px; gap: 0 14px; }
  .crm-client-avatar--editor { width: 54px; height: 54px; border-radius: 17px; }
  .crm-editor-preview__details { grid-template-columns: 1fr; }
  .crm-editor-preview__details div { grid-template-columns: 76px minmax(0,1fr); }
  .crm-form-actions--sticky { bottom: 8px; }
}

@media (max-width: 430px) {
  .crm-nav { justify-content: flex-start; flex-wrap: nowrap; gap: 0; overflow-x: auto; }
  .crm-nav a { padding: 7px 6px; font-size: .64rem; letter-spacing: -.015em; }
  .crm-form-grid-12 { grid-template-columns: 1fr; }
  .crm-form-grid-12 > .crm-col-6:first-child, .crm-form-grid-12 > .crm-col-6:nth-child(2) { grid-column: 1; }
  .crm-form-actions--sticky { align-items: stretch; flex-direction: column-reverse; }
  .crm-form-actions--sticky .crm-button { width: 100%; }
}

/* CRM V3 — pilotage, contrats, recommandations, tâches et documents */
.crm-metric-grid { margin-bottom: 20px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.crm-metric { --metric-color: var(--crm-accent); min-height: 138px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid color-mix(in srgb,var(--metric-color) 25%,var(--crm-line)); border-radius: 20px; background: radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--metric-color) 16%,transparent),transparent 42%),var(--crm-surface); }
.crm-metric span { color: var(--crm-navy); font-size: 2.8rem; font-weight: 820; line-height: 1; letter-spacing: -.06em; }
.crm-metric p { margin: 0; color: var(--crm-muted); font-size: .72rem; font-weight: 760; }
.crm-metric--blue { --metric-color: #5676e8; }.crm-metric--gold { --metric-color: #c4a11d; }.crm-metric--red { --metric-color: #cf5a4b; }
.crm-dashboard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.crm-compact-list,.crm-referral-strip { margin: 0; padding: 0; display: grid; list-style: none; }
.crm-compact-list li { padding: 13px 0; display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: center; gap: 11px; border-bottom: 1px solid var(--crm-line); }
.crm-compact-list li:last-child { border-bottom: 0; }
.crm-compact-list div { min-width: 0; display: grid; }.crm-compact-list strong { color: var(--crm-navy); font-size: .78rem; }.crm-compact-list small { overflow: hidden; color: var(--crm-muted); font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }.crm-compact-list a { color: var(--crm-accent); font-size: .66rem; font-weight: 800; }
.crm-priority { width: 8px; height: 8px; border-radius: 50%; background: #8793a3; }.crm-priority--high { background: var(--crm-danger); box-shadow: 0 0 0 4px var(--crm-danger-soft); }.crm-priority--low { background: var(--crm-accent); }.crm-contract-dot { width: 8px; height: 8px; border-radius: 3px; background: #c4a11d; transform: rotate(45deg); }
.crm-referral-strip li { padding: 13px 0; display: grid; grid-template-columns: auto 18px auto minmax(0,1fr) auto auto; align-items: center; gap: 10px; border-bottom: 1px solid var(--crm-line); font-size: .68rem; }.crm-referral-strip li:last-child{border-bottom:0}.crm-referral-strip span { padding: 5px 8px; border-radius: 999px; background: var(--crm-accent-soft); font-weight: 750; }.crm-referral-strip strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-referral-strip small{color:var(--crm-muted)}.crm-referral-strip a{color:var(--crm-accent);font-weight:800}
.crm-chip-nav { margin-bottom: 22px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }.crm-chip-nav a { padding: 8px 11px; border: 1px solid var(--crm-line); border-radius: 999px; background: var(--crm-surface); font-size: .68rem; font-weight: 760; }.crm-chip-nav a[aria-current="page"]{color:white;border-color:var(--crm-accent);background:var(--crm-accent)}
.crm-task-board { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,330px),1fr)); gap: 14px; }.crm-task-card { min-height: 220px; padding: 22px; display:flex;flex-direction:column;border:1px solid var(--crm-line);border-radius:20px;background:var(--crm-surface)}.crm-task-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.crm-task-card h2{margin:20px 0 5px;color:var(--crm-navy);font-size:1.15rem}.crm-task-card>p{color:var(--crm-muted);font-size:.72rem}.crm-task-card footer{margin-top:auto;padding-top:16px;display:flex;align-items:end;justify-content:space-between;gap:12px;border-top:1px solid var(--crm-line)}.crm-task-card footer>div{display:flex;gap:7px}.crm-task-card time{color:var(--crm-muted);font-size:.64rem}
.crm-module-section { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--crm-line); scroll-margin-top: 110px; }
.crm-module-heading { margin-bottom: 18px; display: flex; align-items: end; justify-content: space-between; gap: 18px; }.crm-module-heading .crm-eyebrow{margin-bottom:6px}.crm-module-heading h2{margin:0;color:var(--crm-navy);font-size:clamp(1.75rem,3vw,2.8rem);letter-spacing:-.045em}
.crm-module-empty { padding: 30px; border: 1px dashed #bbc5ce; border-radius: 18px; color: var(--crm-muted); background: rgba(255,255,255,.4); text-align: center; }
.crm-contract-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px}.crm-contract-card{padding:22px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--crm-line);border-radius:20px;background:var(--crm-surface)}.crm-contract-card.is-archived{opacity:.62}.crm-contract-card header{display:flex;justify-content:space-between;gap:10px;color:var(--crm-muted);font-size:.62rem}.crm-contract-card header b{color:var(--crm-accent)}.crm-contract-card h3{margin:0;color:var(--crm-navy);font-size:1.2rem}.crm-contract-card>p{margin:0;color:var(--crm-muted);font-size:.7rem}.crm-contract-card dl{margin:0;display:grid;gap:7px}.crm-contract-card dl div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px}.crm-contract-card dt{color:var(--crm-muted);font-size:.58rem;text-transform:uppercase}.crm-contract-card dd{margin:0;font-size:.7rem;font-weight:650}.crm-contract-card footer{margin-top:auto;padding-top:14px;display:flex;gap:7px;border-top:1px solid var(--crm-line)}
.crm-referral-list,.crm-task-list{display:grid;gap:9px}.crm-referral-list article{padding:17px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid var(--crm-line);border-radius:16px;background:var(--crm-surface)}.crm-referral-route{display:flex;align-items:center;gap:7px}.crm-referral-route span{padding:6px 8px;border-radius:999px;background:var(--crm-accent-soft);font-size:.62rem;font-weight:760}.crm-referral-list p{margin:3px 0;color:var(--crm-muted);font-size:.7rem}.crm-referral-list small{color:var(--crm-success);font-size:.62rem}
.crm-task-row{padding:14px 16px;display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:13px;border:1px solid var(--crm-line);border-radius:15px;background:var(--crm-surface)}.crm-task-row--done{opacity:.7}.crm-task-row>div:nth-child(2){display:grid}.crm-task-row small{color:var(--crm-muted);font-size:.62rem}.crm-task-row>div:last-child{display:flex;gap:7px}.crm-task-row form{margin:0}
.crm-secondary-modules{margin-top:28px}.crm-tag-cloud{margin:0 0 18px;display:flex;flex-wrap:wrap;gap:7px}.crm-tag-cloud form{margin:0}.crm-tag{padding:6px 9px;border:0;border-radius:999px;color:#176d58;background:var(--crm-success-soft);font-size:.65rem;font-weight:780}.crm-tag--blue{color:#315d9a;background:#e4edf9}.crm-tag--gold{color:#80610d;background:#fff4cf}.crm-tag--red{color:#a13e35;background:#fbe7e5}.crm-tag--gray{color:#566171;background:#e9edf0}.crm-inline-form{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:7px}.crm-inline-form input,.crm-inline-form select{min-width:0;padding:9px;border:1px solid var(--crm-line);border-radius:10px;background:white}
.crm-document-upload{margin-bottom:18px;display:grid;grid-template-columns:1fr;gap:9px}.crm-document-upload input,.crm-document-upload select{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--crm-line);border-radius:10px;background:white}.crm-document-upload .crm-button{width:100%}.crm-document-list{margin:0 0 16px;padding:0;display:grid;list-style:none}.crm-document-list li{padding:11px 0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;border-bottom:1px solid var(--crm-line)}.crm-document-list li>div{min-width:0;display:grid}.crm-document-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.crm-document-list small{color:var(--crm-muted);font-size:.6rem}.crm-document-list form{margin:0}

@media(max-width:900px){.crm-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-dashboard-grid{grid-template-columns:1fr}.crm-referral-strip li{grid-template-columns:auto 18px auto minmax(0,1fr)}.crm-referral-strip small,.crm-referral-strip a{grid-column:4}.crm-secondary-modules{grid-template-columns:1fr}.crm-referral-list article{grid-template-columns:1fr}.crm-task-row{grid-template-columns:10px minmax(0,1fr) auto}.crm-task-row>div:last-child{grid-column:2/-1}.crm-document-upload{grid-template-columns:1fr}}
@media(max-width:600px){.crm-metric-grid{grid-template-columns:1fr 1fr}.crm-metric{min-height:116px;padding:17px}.crm-metric span{font-size:2.2rem}.crm-module-heading{align-items:stretch;flex-direction:column}.crm-module-heading .crm-button{width:100%}.crm-task-row{grid-template-columns:10px minmax(0,1fr)}.crm-task-row>.crm-status{grid-column:2}.crm-referral-route{flex-wrap:wrap}.crm-inline-form{grid-template-columns:1fr}.crm-document-list li{grid-template-columns:1fr 1fr}.crm-document-list li>div{grid-column:1/-1}.crm-document-list .crm-button{width:100%}}

@media (max-width: 600px) {
  .crm-table--activity thead { display: none; }
  .crm-table--activity, .crm-table--activity tbody, .crm-table--activity tr, .crm-table--activity td { display: block; width: 100%; }
  .crm-table--activity tbody tr { padding: 15px 18px; border-bottom: 1px solid var(--crm-line); }
  .crm-table--activity tbody tr:last-child { border-bottom: 0; }
  .crm-table--activity td { padding: 6px 0; display: grid; grid-template-columns: minmax(92px, 36%) minmax(0, 1fr); gap: 12px; border: 0; overflow-wrap: anywhere; }
  .crm-table--activity td::before { content: attr(data-label); color: var(--crm-muted); font-size: .58rem; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
}

/* CRM V4 — pipeline, recherche, doublons, RGPD et santé */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.crm-button--danger { color: #fff; background: #b93832; box-shadow: 0 12px 28px rgba(185,56,50,.18); }
.crm-button:disabled { cursor: not-allowed; opacity: .5; transform: none; }

.crm-duplicate-alert { margin-top: 18px; padding: 15px 17px; border: 1px solid rgba(196,161,29,.35); border-radius: 15px; background: rgba(255,246,204,.62); }
.crm-duplicate-alert strong { display: block; color: var(--crm-navy); font-size: .78rem; }
.crm-duplicate-alert ul { margin: 10px 0 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.crm-duplicate-alert li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.crm-duplicate-alert a { color: var(--crm-accent); font-size: .75rem; font-weight: 820; }
.crm-duplicate-alert small { color: var(--crm-muted); font-size: .63rem; text-align: right; }

.crm-pipeline-toolbar { margin-bottom: 18px; padding: 11px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--crm-line); border-radius: 16px; background: rgba(255,253,250,.8); }
.crm-pipeline-toolbar label { min-width: 280px; flex: 1; }
.crm-pipeline-toolbar input { width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid var(--crm-line); border-radius: 11px; outline: 0; background: white; }
.crm-pipeline-toolbar input:focus { border-color: var(--crm-accent); box-shadow: 0 0 0 4px rgba(42,143,134,.1); }
.crm-pipeline-toolbar > a { color: var(--crm-accent); font-size: .68rem; font-weight: 780; }
.crm-pipeline-toolbar > span { margin-left: auto; color: var(--crm-muted); font-size: .65rem; font-weight: 760; white-space: nowrap; }
.crm-pipeline { width: 100%; margin: 0; padding: 2px 2px 18px; display: grid; grid-template-columns: repeat(6,minmax(190px,1fr)); gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; }
.crm-pipeline-column { height: clamp(420px,55vh,560px); min-height: 0; padding: 12px; display: flex; flex-direction: column; border: 1px solid var(--crm-line); border-radius: 21px; background: color-mix(in srgb,var(--crm-surface) 84%,#dfeaed); scroll-snap-align: start; transition: border-color .2s,background .2s; }
.crm-pipeline-column.is-dragover { border-color: var(--crm-accent); background: var(--crm-accent-soft); }
.crm-pipeline-column>header { padding: 7px 6px 14px; display:flex;align-items:center;justify-content:space-between;gap:10px; }
.crm-pipeline-column h2 { margin:0;color:var(--crm-navy);font-size:.86rem; }
.crm-pipeline-column>header span { min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:#fff;color:var(--crm-muted);font-size:.63rem;font-weight:800; }
.crm-pipeline-stack { min-height:0;padding-right:3px;display:grid;gap:10px;align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:transparent transparent; }
.crm-pipeline-stack:hover,.crm-pipeline-stack:focus-within { scrollbar-color:color-mix(in srgb,var(--crm-accent) 42%,transparent) transparent; }
.crm-pipeline-stack::-webkit-scrollbar { width:6px; }
.crm-pipeline-stack::-webkit-scrollbar-track { background:transparent; }
.crm-pipeline-stack::-webkit-scrollbar-thumb { border-radius:999px;background:transparent; }
.crm-pipeline-stack:hover::-webkit-scrollbar-thumb,.crm-pipeline-stack:focus-within::-webkit-scrollbar-thumb { background:color-mix(in srgb,var(--crm-accent) 42%,transparent); }
.crm-pipeline-stack::-webkit-scrollbar-button { display:none;width:0;height:0; }
.crm-pipeline-card { padding:16px;display:grid;gap:10px;border:1px solid rgba(7,29,59,.09);border-radius:16px;background:var(--crm-surface);box-shadow:0 8px 22px rgba(7,29,59,.06);cursor:grab; }
.crm-pipeline-card.is-dragging { opacity:.42; }
.crm-pipeline-card.is-just-moved { animation: crmMoved .55s ease both; }
.crm-pipeline-card>div:first-child { display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--crm-muted);font-size:.55rem; }
.crm-pipeline-card h3 { margin:0;font-size:.95rem;line-height:1.1; }.crm-pipeline-card h3 a{color:var(--crm-navy)}
.crm-pipeline-card p,.crm-pipeline-card small { margin:0;color:var(--crm-muted);font-size:.62rem; }
.crm-pipeline-card footer { padding-top:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--crm-line); }.crm-pipeline-card footer a{color:var(--crm-accent);font-size:.62rem;font-weight:800}
.crm-pipeline-move>summary{color:var(--crm-muted);font-size:.62rem;font-weight:720;cursor:pointer;list-style:none}.crm-pipeline-move>summary::-webkit-details-marker{display:none}.crm-pipeline-move>summary::after{content:' →';color:var(--crm-accent)}
.crm-pipeline-card form { padding-top:10px;display:grid;grid-template-columns:1fr;gap:7px;border-top:1px solid var(--crm-line); }
.crm-pipeline-card form .crm-button { width:100%; }
.crm-pipeline-card label span { position:absolute;clip:rect(0,0,0,0); }.crm-pipeline-card select{width:100%;min-height:38px;padding:0 8px;border:1px solid var(--crm-line);border-radius:10px;background:#fff;font-size:.65rem}.crm-pipeline-card .crm-button{min-height:38px;padding:0 10px;font-size:.63rem}
.crm-pipeline-empty { margin:0;padding:22px 8px;color:var(--crm-muted);font-size:.64rem;text-align:center; }
.crm-pipeline-load { min-height:36px;margin-top:9px;border:1px solid color-mix(in srgb,var(--crm-accent) 30%,var(--crm-line));border-radius:11px;color:var(--crm-accent);background:var(--crm-accent-soft);font-size:.62rem;font-weight:800; }
.crm-pipeline-load:hover,.crm-pipeline-load:focus-visible{color:white;background:var(--crm-accent)}

.crm-search-shell { max-width:980px;margin:0 auto; }.crm-search-hero{padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1px solid var(--crm-line);border-radius:21px;background:var(--crm-surface);box-shadow:var(--crm-shadow)}.crm-search-hero input{width:100%;height:54px;padding:0 18px;border:0;outline:0;background:transparent;color:var(--crm-navy);font-size:1.08rem}.crm-search-hint{margin:18px 5px;color:var(--crm-muted);font-size:.7rem}.crm-search-results{display:grid;gap:9px}.crm-search-results>a{padding:16px 18px;display:grid;grid-template-columns:115px minmax(0,1fr) auto;align-items:center;gap:15px;border:1px solid var(--crm-line);border-radius:16px;background:var(--crm-surface)}.crm-search-results>a:hover{border-color:var(--crm-accent);transform:translateY(-1px)}.crm-search-results span{color:var(--crm-accent);font-size:.6rem;font-weight:850;text-transform:uppercase}.crm-search-results strong{color:var(--crm-navy);font-size:.82rem}.crm-search-results small{max-width:340px;overflow:hidden;color:var(--crm-muted);font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}

.crm-quick-actions { margin:0 0 24px;padding:11px 14px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;border:1px solid var(--crm-line);border-radius:16px;background:rgba(255,255,255,.7); }.crm-quick-actions>strong{margin-right:5px;color:var(--crm-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}.crm-quick-actions a,.crm-quick-actions button{padding:9px 12px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:10px;color:var(--crm-navy);background:var(--crm-accent-soft);font-size:.7rem;font-weight:780;cursor:pointer}.crm-quick-actions a .crm-icon{width:16px;height:16px;color:var(--crm-accent)}.crm-quick-actions a:hover,.crm-quick-actions button:hover{color:#fff;background:var(--crm-accent)}.crm-quick-actions a:hover .crm-icon{color:#fff}
.crm-client-section-nav{position:sticky;top:98px;z-index:32;margin:0 0 24px;padding:8px 10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--crm-accent) 22%,var(--crm-line));border-radius:16px;background:rgba(255,253,250,.92);box-shadow:0 12px 34px rgba(7,29,59,.1);backdrop-filter:blur(17px)}.crm-client-section-nav>strong{padding:0 5px;color:var(--crm-muted);font-size:.57rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.crm-client-section-nav>div{min-width:0;display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}.crm-client-section-nav>div::-webkit-scrollbar{display:none}.crm-client-section-nav a{padding:8px 10px;display:inline-flex;align-items:center;gap:6px;border-radius:10px;color:var(--crm-muted);font-size:.62rem;font-weight:780;white-space:nowrap;transition:color .18s,background .18s,transform .18s}.crm-client-section-nav a .crm-icon{width:14px;height:14px}.crm-client-section-nav a:hover,.crm-client-section-nav a:focus-visible{color:var(--crm-navy);background:var(--crm-surface-soft);transform:translateY(-1px)}.crm-client-section-nav a[aria-current="location"]{color:var(--crm-accent);background:var(--crm-accent-soft)}.crm-main :is(#client-summary,#family-title,#shared-context,#relationships,#contracts,#referrals,#tasks,#documents){scroll-margin-top:170px}
.crm-scroll-top{position:fixed;right:18px;bottom:18px;z-index:70;min-height:42px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--crm-accent) 35%,var(--crm-line));border-radius:13px;color:#fff;background:color-mix(in srgb,var(--crm-accent) 88%,var(--crm-navy));box-shadow:0 14px 36px rgba(7,29,59,.24);font-size:.62rem;font-weight:820;animation:crmNoticeIn .22s ease both}.crm-scroll-top[hidden]{display:none}.crm-scroll-top:hover,.crm-scroll-top:focus-visible{background:var(--crm-navy);transform:translateY(-2px)}.crm-scroll-top .crm-icon{width:16px;height:16px}
.crm-context-menu { position: relative; }
.crm-context-menu > summary { list-style: none; cursor: pointer; }
.crm-context-menu > summary::-webkit-details-marker { display: none; }
.crm-context-menu > summary .crm-user-menu__chevron { margin-left: 3px; }
.crm-context-menu[open] > summary .crm-user-menu__chevron, .crm-disclosure[open] > summary .crm-user-menu__chevron { transform: rotate(180deg); }
.crm-context-menu__panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 100; width: 390px; padding: 13px; display: grid; gap: 11px; border: 1px solid var(--crm-line); border-radius: 20px; background: rgba(255,253,250,.99); box-shadow: 0 24px 65px rgba(7,29,59,.22); }
.crm-context-menu__heading { padding: 2px 3px 10px; display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--crm-line) }.crm-context-menu__heading>span{display:grid;gap:2px}.crm-context-menu__heading strong{color:var(--crm-navy);font-size:.8rem}.crm-context-menu__heading small{color:var(--crm-muted);font-size:.62rem}.crm-context-menu__heading>button{width:32px;height:32px;padding:0;display:grid;place-items:center;border:1px solid var(--crm-line);border-radius:10px;color:var(--crm-muted);background:var(--crm-surface-soft);font-size:1.15rem;line-height:1}.crm-context-menu__heading>button:hover,.crm-context-menu__heading>button:focus-visible{color:var(--crm-navy);border-color:var(--crm-accent);background:var(--crm-accent-soft)}
.crm-context-menu__actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px }
.crm-context-menu__actions>a,.crm-context-menu__actions>button{min-width:0;min-height:76px;padding:12px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--crm-line);border-radius:13px;color:var(--crm-text);background:var(--crm-surface-soft);text-align:left}.crm-context-menu__actions>a:hover,.crm-context-menu__actions>a:focus-visible,.crm-context-menu__actions>button:hover,.crm-context-menu__actions>button:focus-visible{border-color:color-mix(in srgb,var(--crm-accent) 48%,var(--crm-line));background:var(--crm-accent-soft);transform:translateY(-1px)}.crm-context-menu__actions .crm-icon{width:20px;height:20px;padding:7px;box-sizing:content-box;border-radius:10px;color:var(--crm-accent);background:color-mix(in srgb,var(--crm-accent) 12%,transparent)}.crm-context-menu__actions span{min-width:0;display:grid;gap:2px}.crm-context-menu__actions strong{color:var(--crm-navy);font-size:.75rem}.crm-context-menu__actions small{overflow-wrap:anywhere;color:var(--crm-muted);font-size:.63rem;line-height:1.35}
.crm-context-menu__panel > a { padding: 10px 11px; display: grid; gap: 1px; border-radius: 10px; }
.crm-context-menu__panel > a:hover, .crm-context-menu__panel > a:focus-visible { background: var(--crm-accent-soft); }
.crm-context-menu__panel > a span { color: var(--crm-navy); font-size: .72rem; font-weight: 790; }
.crm-context-menu__panel > a small { color: var(--crm-muted); font-size: .58rem; overflow-wrap: anywhere; }
.crm-context-menu__panel > button { padding: 9px 11px; border: 0; border-radius: 10px; color: var(--crm-muted); background: transparent; font-size: .65rem; font-weight: 700; text-align: left; }
.crm-context-menu__panel > button:hover, .crm-context-menu__panel > button:focus-visible { color: var(--crm-navy); background: var(--crm-surface-soft); }
.crm-context-menu__panel form { margin:0;padding-top:10px;border-top:1px solid var(--crm-line) }
.crm-context-menu__panel form button { width:100%;min-height:44px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(207,90,75,.2);border-radius:12px;color:#a8312d;background:rgba(207,90,75,.1);font-size:.7rem;font-weight:820 }.crm-context-menu__panel form button .crm-icon{width:17px;height:17px}.crm-context-menu__panel form button:hover,.crm-context-menu__panel form button:focus-visible{color:#fff;border-color:#b93832;background:#b93832}
.crm-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.crm-disclosure > summary::-webkit-details-marker { display: none; }
.crm-disclosure > summary > span:first-child { display: grid; gap: 2px; }
.crm-disclosure > summary strong { color: var(--crm-navy); font-size: 1.18rem; letter-spacing: -.025em; }
.crm-disclosure > summary small { color: var(--crm-muted); font-size: .66rem; font-weight: 650; }
.crm-disclosure__body { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--crm-line); }
.crm-disclosure__body > p:first-child { margin-bottom: 0; color: var(--crm-muted); font-size: .8rem; }
.crm-tool-links{margin-bottom:18px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.crm-tool-links a{padding:9px 11px;border:1px solid color-mix(in srgb,var(--crm-accent) 28%,var(--crm-line));border-radius:10px;color:var(--crm-accent);background:var(--crm-accent-soft);font-size:.65rem;font-weight:780}.crm-tool-links a:hover,.crm-tool-links a:focus-visible{color:white;background:var(--crm-accent)}.crm-tool-data{margin:0 0 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.crm-tool-data>div{padding:9px 0;display:grid;grid-template-columns:115px minmax(0,1fr);gap:10px;border-bottom:1px solid var(--crm-line)}.crm-tool-data dt{color:var(--crm-muted);font-size:.6rem;font-weight:780;text-transform:uppercase}.crm-tool-data dd{margin:0;overflow-wrap:anywhere;font-size:.7rem;font-weight:650}.crm-tool-note{margin:14px 0 0!important;color:var(--crm-muted);font-size:.63rem!important}

.crm-metric-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }.crm-table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.crm-table-actions a{color:var(--crm-accent);font-size:.68rem;font-weight:760}.crm-table-actions a.is-danger{color:#b93832}.crm-command{margin:18px 0 0;padding:12px 14px;border-radius:11px;background:#071d3b;color:#fff;overflow-wrap:anywhere}.crm-command code{color:inherit}
.crm-dashboard-grid + .crm-legal-hint, .crm-panel + .crm-legal-hint, .crm-panel--table + .crm-legal-hint { margin-top: 24px; }
@media(max-width:700px){.crm-legal-hint{margin-top:16px}.crm-dashboard-grid + .crm-legal-hint,.crm-panel + .crm-legal-hint,.crm-panel--table + .crm-legal-hint{margin-top:18px}}
.crm-health-grid{margin-bottom:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.crm-health-check{padding:18px;display:flex;gap:13px;border:1px solid var(--crm-line);border-radius:17px;background:var(--crm-surface)}.crm-health-check>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#b38a16;font-weight:900}.crm-health-check.is-ok>span{background:var(--crm-accent)}.crm-health-check.is-info>span{background:#5676a5}.crm-health-check h2{margin:1px 0 5px;color:var(--crm-navy);font-size:.8rem}.crm-health-check p{margin:0;color:var(--crm-muted);font-size:.63rem;line-height:1.45}
.crm-backup-action{margin-top:20px}.crm-backup-action .crm-button{width:100%}.crm-technical-details{margin-top:12px}.crm-technical-details>summary{color:var(--crm-accent);font-size:.68rem;font-weight:780;cursor:pointer}.crm-technical-details .crm-command{margin-top:10px}

.crm-client-card,.crm-pipeline-card,.crm-task-card,.crm-task-row,.crm-search-results>a,.crm-document-list li,.crm-health-check,.crm-metric,.crm-panel,.crm-form-section,.crm-pipeline-column { animation: crmItemIn .38s cubic-bezier(.2,.8,.2,1) both; }
.crm-pipeline-card { animation-name:crmPipelineCardIn; }
.crm-client-card:nth-child(2),.crm-health-check:nth-child(2){animation-delay:.035s}.crm-client-card:nth-child(3),.crm-health-check:nth-child(3){animation-delay:.07s}.crm-health-check:nth-child(4){animation-delay:.105s}.crm-health-check:nth-child(5){animation-delay:.14s}.crm-health-check:nth-child(6){animation-delay:.175s}
.crm-metric:nth-child(2),.crm-pipeline-column:nth-child(2){animation-delay:.035s}.crm-metric:nth-child(3),.crm-pipeline-column:nth-child(3){animation-delay:.07s}.crm-metric:nth-child(4),.crm-pipeline-column:nth-child(4){animation-delay:.105s}.crm-pipeline-column:nth-child(5){animation-delay:.14s}.crm-pipeline-column:nth-child(6){animation-delay:.175s}
.crm-metric { transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.crm-metric:hover { transform: translateY(-3px); border-color: color-mix(in srgb,var(--crm-accent) 36%,var(--crm-line)); box-shadow: var(--crm-shadow); }
.crm-flash { animation: crmNoticeIn .36s cubic-bezier(.2,.8,.2,1) both; }
.crm-flash--error { animation-name: crmNoticeIn,crmShake; animation-duration:.36s,.34s; animation-delay:0s,.08s; }
.crm-duplicate-alert { animation: crmNoticeIn .3s ease both; }
[aria-invalid="true"] { animation: crmShake .34s ease; }
@keyframes crmItemIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes crmPipelineCardIn { from { opacity:0; } to { opacity:1; } }
@keyframes crmNoticeIn { from { opacity:0; transform:translateY(-8px) scale(.99); } to { opacity:1; transform:none; } }
@keyframes crmShake { 0%,100%{transform:translateX(0)} 30%{transform:translateX(-4px)} 60%{transform:translateX(4px)} }
@keyframes crmMoved { 0%{box-shadow:0 0 0 0 rgba(42,143,134,.35)} 45%{box-shadow:0 0 0 7px rgba(42,143,134,.12)} 100%{box-shadow:0 8px 22px rgba(7,29,59,.06)} }
@keyframes crmHeaderIn { from { opacity:0; } to { opacity:1; } }
@keyframes crmMainIn { from { opacity:0; } to { opacity:1; } }
@keyframes crmActiveNav { from { opacity:0; transform:scaleX(.35); } to { opacity:1; transform:scaleX(1); } }
@keyframes crmLoadingShimmer { from { background-position:200% 0; } to { background-position:-20% 0; } }
@keyframes crmNavigationProgress { 0% { transform:scaleX(.05); } 55% { transform:scaleX(.72); } 100% { transform:scaleX(.92); } }
@keyframes crmPageOut { to { opacity:0; transform:scale(.995); } }
@keyframes crmPageIn { from { opacity:0; transform:translateY(5px); } }

@media(max-width:900px){.crm-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-metric-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.crm-search-results>a{grid-template-columns:90px minmax(0,1fr)}.crm-search-results small{grid-column:2}}
@media(max-width:1400px) and (min-width:701px){.crm-header{gap:12px}.crm-nav{gap:2px}.crm-nav a{padding-inline:8px;font-size:.7rem}}
@media(max-width:700px){.crm-advanced-filters{width:100%;align-self:stretch}.crm-advanced-filters>summary{justify-content:center}.crm-advanced-filters>div{position:static;width:100%;margin-top:8px;grid-template-columns:1fr;box-shadow:none}.crm-context-menu{width:100%}.crm-context-menu>summary{width:100%}.crm-context-menu__panel{position:static;width:100%;margin-top:8px}.crm-disclosure__body{margin-top:18px;padding-top:16px}}
@media(max-width:700px){.crm-tool-data{grid-template-columns:1fr}.crm-tool-links a{flex:1 1 calc(50% - 8px);text-align:center}}
@media(max-width:700px){.crm-pipeline-toolbar{align-items:stretch;flex-wrap:wrap}.crm-pipeline-toolbar label{min-width:100%;flex-basis:100%}.crm-pipeline-toolbar .crm-button{flex:1}.crm-pipeline-toolbar>span{align-self:center}}
@media(max-width:600px){.crm-pipeline{grid-template-columns:repeat(6,minmax(82vw,1fr))}.crm-pipeline-column{height:520px}.crm-search-hero{grid-template-columns:1fr}.crm-search-results>a{grid-template-columns:1fr;gap:5px}.crm-search-results small{grid-column:auto;white-space:normal}.crm-quick-actions{align-items:stretch}.crm-quick-actions strong{width:100%}.crm-quick-actions a{flex:1 1 calc(33.333% - 7px);text-align:center}.crm-metric-grid--three,.crm-health-grid{grid-template-columns:1fr}.crm-duplicate-alert li{align-items:flex-start;flex-direction:column;gap:2px}.crm-duplicate-alert small{text-align:left}}

#web-tools .crm-tool-data>div:nth-child(2) dt{font-size:0}
#web-tools .crm-tool-data>div:nth-child(2) dt::after{content:'Renouvellement domaine';font-size:.6rem}
.crm-web-checks{margin-top:28px}
.crm-trade-modules{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.crm-trade-modules article{padding:16px;display:flex;flex-direction:column;gap:9px;border:1px solid var(--crm-line);border-radius:15px;background:var(--crm-surface-soft)}.crm-trade-modules article.is-recommended{border-color:color-mix(in srgb,var(--crm-accent) 45%,var(--crm-line));background:var(--crm-accent-soft)}.crm-trade-modules header{display:flex;align-items:center;justify-content:space-between;gap:8px}.crm-trade-modules header strong{color:var(--crm-navy);font-size:.76rem}.crm-trade-modules header span{padding:4px 6px;border-radius:999px;color:var(--crm-accent);background:white;font-size:.52rem;font-weight:800;text-transform:uppercase}.crm-trade-modules p{margin:0;color:var(--crm-muted);font-size:.63rem}.crm-trade-modules b{color:var(--crm-success);font-size:.68rem}.crm-trade-modules a{margin-top:auto;color:var(--crm-accent);font-size:.66rem;font-weight:800}
@media(max-width:700px){.crm-trade-modules{grid-template-columns:1fr}}

.crm-command-open{overflow:hidden}.crm-command-palette{position:fixed;inset:0;z-index:1000;padding:8vh 18px 18px;display:grid;place-items:start center;background:rgba(3,9,20,.48);backdrop-filter:blur(8px);animation:crmNoticeIn .2s ease both}.crm-command-palette[hidden]{display:none}.crm-command-palette__panel{width:min(720px,100%);max-height:84vh;overflow:hidden;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;border:1px solid var(--crm-line);border-radius:24px;background:rgba(255,253,250,.99);box-shadow:0 35px 110px rgba(0,0,0,.34);animation:crmContextSheetIn .28s cubic-bezier(.2,.8,.2,1) both}.crm-command-palette__panel>header{padding:17px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.crm-command-palette__panel>header>div{display:flex;align-items:center;gap:11px}.crm-command-palette__panel>header .crm-icon{width:21px;height:21px;color:var(--crm-accent)}.crm-command-palette__panel>header span{display:grid}.crm-command-palette__panel>header strong{color:var(--crm-navy);font-size:.88rem}.crm-command-palette__panel>header small{color:var(--crm-muted);font-size:.62rem}.crm-command-palette__panel>header button{width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--crm-line);border-radius:10px;color:var(--crm-muted);background:var(--crm-surface-soft);font-size:1.2rem}.crm-command-palette__search{margin:0 14px;padding:0 14px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--crm-accent) 38%,var(--crm-line));border-radius:15px;background:var(--crm-surface)}.crm-command-palette__search .crm-icon{width:19px;height:19px;color:var(--crm-accent)}.crm-command-palette__search input{width:100%;height:58px;border:0;outline:0;color:var(--crm-text);background:transparent;font-size:1rem}.crm-command-palette__hint{margin:0;padding:13px 18px 8px;color:var(--crm-muted);font-size:.62rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.crm-command-palette__quick,.crm-command-palette__results{padding:0 14px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto}.crm-command-palette__quick[hidden]{display:none}.crm-command-palette__quick>a,.crm-command-palette__results>a{min-width:0;padding:12px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--crm-line);border-radius:13px;background:var(--crm-surface-soft);transition:border-color .18s,background .18s,transform .18s}.crm-command-palette__quick>a:hover,.crm-command-palette__quick>a:focus-visible,.crm-command-palette__results>a:hover,.crm-command-palette__results>a:focus-visible{border-color:var(--crm-accent);background:var(--crm-accent-soft);transform:translateY(-1px);outline:0}.crm-command-palette__quick>a>.crm-icon{width:19px;height:19px;padding:8px;box-sizing:content-box;border-radius:11px;color:var(--crm-accent);background:color-mix(in srgb,var(--crm-accent) 12%,transparent)}.crm-command-palette__quick>a>span,.crm-command-palette__results>a>span:last-child{min-width:0;display:grid}.crm-command-palette__quick strong,.crm-command-palette__results strong{overflow:hidden;color:var(--crm-navy);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.crm-command-palette__quick small,.crm-command-palette__results small{overflow:hidden;color:var(--crm-muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.crm-command-palette__results{grid-template-columns:1fr}.crm-command-palette__results>a{grid-template-columns:92px minmax(0,1fr)}.crm-command-palette__results>p{padding:24px;color:var(--crm-muted);text-align:center}.crm-command-palette__type{color:var(--crm-accent);font-size:.58rem;font-weight:850;text-transform:uppercase}.crm-command-palette__panel>footer{padding:11px 18px;display:flex;align-items:center;justify-content:flex-end;gap:14px;border-top:1px solid var(--crm-line);color:var(--crm-muted);font-size:.57rem}.crm-command-palette__panel>footer span{display:flex;align-items:center;gap:3px}.crm-command-palette__panel kbd{padding:2px 5px;border:1px solid var(--crm-line);border-radius:5px;background:var(--crm-surface-soft);font:inherit;box-shadow:0 1px 0 var(--crm-line)}

/* Thème sombre — même préférence persistante que le site public */
html[data-theme="dark"] {
  color-scheme: dark;
  --crm-paper: #07111f;
  --crm-surface: #0d1929;
  --crm-surface-soft: #122238;
  --crm-navy: #eef5fb;
  --crm-navy-2: #173e62;
  --crm-accent: #50b9af;
  --crm-accent-soft: #113a3a;
  --crm-text: #e2ebf4;
  --crm-muted: #9aadc1;
  --crm-line: #293b50;
  --crm-danger: #ff9189;
  --crm-danger-soft: #3b1d24;
  --crm-warning: #e4bd5e;
  --crm-warning-soft: #382f19;
  --crm-success: #65c8a9;
  --crm-success-soft: #12372e;
  --crm-info: #8ab8f4;
  --crm-info-soft: #172f50;
  --crm-shadow: 0 22px 70px rgba(0,0,0,.38);
}
html[data-theme="dark"] body {
  background: radial-gradient(circle at 7% 0%, rgba(69,170,162,.15), transparent 27rem), radial-gradient(circle at 94% 2%, rgba(77,132,235,.12), transparent 29rem), var(--crm-paper);
}
html[data-theme="dark"] .crm-skip-link { color: #fff; background: #14243a; }
html[data-theme="dark"] .crm-header { border-color: rgba(188,207,226,.14); background: rgba(9,20,34,.9); box-shadow: 0 18px 48px rgba(0,0,0,.34); }
html[data-theme="dark"] .crm-brand img,
html[data-theme="dark"] .crm-auth-brand img { filter: brightness(0) invert(1) drop-shadow(0 8px 18px rgba(0,0,0,.22)); }
html[data-theme="dark"] .crm-nav a { color: #aebed0; }
html[data-theme="dark"] .crm-nav a:hover,
html[data-theme="dark"] .crm-nav a:focus-visible,
html[data-theme="dark"] .crm-nav a[aria-current="page"] { color: #f3f8fc; background: rgba(69,170,162,.14); }
html[data-theme="dark"] .crm-user-menu summary,
html[data-theme="dark"] .crm-theme-toggle,
html[data-theme="dark"] .crm-command-trigger { color: #c6d4e2; border-color: var(--crm-line); background: rgba(255,255,255,.045); }
html[data-theme="dark"] .crm-theme-toggle__icons { color: #eaf2f9; background: #173149; }
html[data-theme="dark"] .crm-user-menu summary:hover,
html[data-theme="dark"] .crm-user-menu summary:focus-visible,
html[data-theme="dark"] .crm-user-menu[open] summary,
html[data-theme="dark"] .crm-user-menu.is-current summary,
html[data-theme="dark"] .crm-theme-toggle:hover,
html[data-theme="dark"] .crm-theme-toggle:focus-visible { color: #f3f8fc; background: var(--crm-accent-soft); }
html[data-theme="dark"] .crm-user-menu__panel,
html[data-theme="dark"] .crm-user-menu__panel::before,
html[data-theme="dark"] .crm-advanced-filters > div,
html[data-theme="dark"] .crm-context-menu__panel { background: rgba(13,25,41,.985); box-shadow: 0 24px 65px rgba(0,0,0,.48); }
html[data-theme="dark"] .crm-theme-toggle--floating { color: #d6e4f1; border-color: rgba(188,207,226,.2); background: rgba(8,18,31,.72); }
html[data-theme="dark"] .crm-theme-toggle--floating .crm-theme-toggle__icons { color: #f3f8fc; background: #173149; }
html[data-theme="dark"] .crm-body--auth { background: radial-gradient(circle at 18% 20%, rgba(69,170,162,.2), transparent 29rem), radial-gradient(circle at 80% 8%, rgba(77,132,235,.16), transparent 33rem), linear-gradient(145deg,#030914,#071426 58%,#0b2944); }
html[data-theme="dark"] .crm-auth-card { border-color: rgba(188,207,226,.16); background: rgba(13,25,41,.97); box-shadow: 0 34px 110px rgba(0,0,0,.52); }
html[data-theme="dark"] .crm-button--quiet,
html[data-theme="dark"] .crm-filter-bar,
html[data-theme="dark"] .crm-filter-bar--enhanced,
html[data-theme="dark"] .crm-quick-actions { background: rgba(13,25,41,.82); }
html[data-theme="dark"] .crm-client-section-nav{border-color:var(--crm-line);background:rgba(13,25,41,.92);box-shadow:0 14px 40px rgba(0,0,0,.28)}html[data-theme="dark"] .crm-client-section-nav a:hover,html[data-theme="dark"] .crm-client-section-nav a:focus-visible{background:#17263a}
html[data-theme="dark"] .crm-field > span { color: #bac9d8; }
html[data-theme="dark"] .crm-field input,
html[data-theme="dark"] .crm-field select,
html[data-theme="dark"] .crm-field textarea,
html[data-theme="dark"] .crm-check,
html[data-theme="dark"] .crm-advanced-filters > summary,
html[data-theme="dark"] .crm-inline-form input,
html[data-theme="dark"] .crm-inline-form select,
html[data-theme="dark"] .crm-document-upload input,
html[data-theme="dark"] .crm-document-upload select,
html[data-theme="dark"] .crm-pipeline-toolbar input,
html[data-theme="dark"] .crm-pipeline-card select { color: var(--crm-text); border-color: var(--crm-line); background: #101e31; }
html[data-theme="dark"] .crm-field input:focus,
html[data-theme="dark"] .crm-field select:focus,
html[data-theme="dark"] .crm-field textarea:focus,
html[data-theme="dark"] .crm-pipeline-toolbar input:focus { background: #14253a; }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #73869a; }
html[data-theme="dark"] .crm-panel,
html[data-theme="dark"] .crm-form-section,
html[data-theme="dark"] .crm-user-card,
html[data-theme="dark"] .crm-share-options label,
html[data-theme="dark"] .crm-empty-state,
html[data-theme="dark"] .crm-module-empty,
html[data-theme="dark"] .crm-health-check { background: rgba(13,25,41,.86); box-shadow: 0 14px 46px rgba(0,0,0,.2); }
html[data-theme="dark"] .crm-client-card { background: radial-gradient(circle at 96% 2%, color-mix(in srgb,var(--partner-color) 13%,transparent), transparent 40%), rgba(13,25,41,.91); box-shadow: 0 14px 38px rgba(0,0,0,.2); }
html[data-theme="dark"] .crm-client-card:hover { box-shadow: var(--crm-shadow); }
html[data-theme="dark"] .crm-client-avatar { border-color: color-mix(in srgb,var(--partner-color) 42%,#26384c); background: linear-gradient(145deg,var(--partner-color),color-mix(in srgb,var(--partner-color) 58%,#07111f)); }
html[data-theme="dark"] .crm-client-card__quick-actions a { color: color-mix(in srgb,var(--partner-color) 74%,#eef5fb); background: color-mix(in srgb,var(--partner-color) 12%,#0d1929); }
html[data-theme="dark"] .crm-client-card__quick-actions a:hover,
html[data-theme="dark"] .crm-client-card__quick-actions a:focus-visible { background: color-mix(in srgb,var(--partner-color) 20%,#0d1929); }
html[data-theme="dark"] .crm-client-card__meta dd,
html[data-theme="dark"] .crm-editor-preview__details dd,
html[data-theme="dark"] .crm-notes { color: #c8d5e2; }
html[data-theme="dark"] .crm-client-profile-header { border-color:var(--crm-line);background:radial-gradient(circle at 8% 0%,rgba(69,170,162,.16),transparent 25rem),rgba(13,25,41,.92) }
html[data-theme="dark"] .crm-heading-pill { color:#c5d3e1;border-color:var(--crm-line);background:rgba(255,255,255,.045) }
html[data-theme="dark"] .crm-context-menu__actions>a,
html[data-theme="dark"] .crm-context-menu__actions>button { color:var(--crm-text);border-color:var(--crm-line);background:#122238 }
html[data-theme="dark"] .crm-context-menu__actions>a:hover,
html[data-theme="dark"] .crm-context-menu__actions>a:focus-visible,
html[data-theme="dark"] .crm-context-menu__actions>button:hover,
html[data-theme="dark"] .crm-context-menu__actions>button:focus-visible { background:var(--crm-accent-soft) }
html[data-theme="dark"] .crm-bulk-bar,
html[data-theme="dark"] .crm-command-palette__panel { border-color:var(--crm-line);background:rgba(13,25,41,.98);box-shadow:0 28px 85px rgba(0,0,0,.48) }
html[data-theme="dark"] .crm-bulk-select-all,
html[data-theme="dark"] .crm-command-palette__search { color:var(--crm-text);border-color:var(--crm-line);background:#101e31 }
html[data-theme="dark"] .crm-command-palette__search input { color:var(--crm-text) }
html[data-theme="dark"] .crm-command-palette__quick>a,
html[data-theme="dark"] .crm-command-palette__results>a { border-color:var(--crm-line);background:#122238 }
html[data-theme="dark"] .crm-command-palette__quick>a:hover,
html[data-theme="dark"] .crm-command-palette__quick>a:focus-visible,
html[data-theme="dark"] .crm-command-palette__results>a:hover,
html[data-theme="dark"] .crm-command-palette__results>a:focus-visible { background:var(--crm-accent-soft) }
html[data-theme="dark"] .crm-access-pill,
html[data-theme="dark"] .crm-uri-details code { background: #17263a; }
html[data-theme="dark"] .crm-recovery-codes code { background: rgba(255,255,255,.045); }
html[data-theme="dark"] .crm-file-drop { background: color-mix(in srgb,var(--crm-accent) 8%,#0d1929); }
html[data-theme="dark"] .crm-form-actions--sticky,
html[data-theme="dark"] .crm-editor-preview { background: rgba(13,25,41,.94); box-shadow: var(--crm-shadow); }
html[data-theme="dark"] .crm-table th { background: #122238; }
html[data-theme="dark"] .crm-table td { background: rgba(13,25,41,.44); }
html[data-theme="dark"] .crm-tag--gray { color: #b7c6d5; background: #263548; }
html[data-theme="dark"] .crm-tag--blue { color: #a8cbfa; background: #19365a; }
html[data-theme="dark"] .crm-tag--gold { color: #e8c96d; background: #3a311b; }
html[data-theme="dark"] .crm-tag--red { color: #ffa099; background: #45232a; }
html[data-theme="dark"] .crm-duplicate-alert { border-color: rgba(228,189,94,.28); background: rgba(82,65,20,.42); }
html[data-theme="dark"] .crm-pipeline-toolbar { background: rgba(13,25,41,.82); }
html[data-theme="dark"] .crm-pipeline-column { background: color-mix(in srgb,var(--crm-surface) 88%,#1b3047); }
html[data-theme="dark"] .crm-pipeline-column > header span,
html[data-theme="dark"] .crm-trade-modules header span { background: #17263a; }
html[data-theme="dark"] .crm-pipeline-card { background: #101e31; box-shadow: 0 8px 22px rgba(0,0,0,.2); }
html[data-theme="dark"] .crm-search-results > a { background: var(--crm-surface); }
html[data-theme="dark"] .crm-trade-modules article { background: #122238; }
html[data-theme="dark"] .crm-command { color: #edf5fb; background: #030914; }
html[data-theme="dark"] .crm-footer { border-top-color: var(--crm-line); }

.crm-context-form{display:grid;gap:18px}.crm-context-form fieldset{margin:0}.crm-context-form legend{padding:0 10px 0 0;display:flex;align-items:center;gap:9px;color:var(--crm-navy);font-size:1rem;font-weight:850}.crm-context-form legend>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;color:var(--crm-accent);background:var(--crm-accent-soft);font-size:.62rem}.crm-form-section-intro{margin:0 0 18px;color:var(--crm-muted);font-size:.68rem;line-height:1.55}.crm-contact-editor__heading{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.crm-contact-editor__heading strong{color:var(--crm-navy);font-size:.76rem}.crm-contact-list{display:grid;gap:9px}.crm-contact-row{padding:11px;display:grid;grid-template-columns:130px minmax(150px,.7fr) minmax(190px,1fr) 125px 34px;align-items:end;gap:10px;border:1px solid var(--crm-line);border-radius:14px;background:var(--crm-surface-soft)}.crm-contact-row .crm-field{gap:4px}.crm-contact-row .crm-field>span{font-size:.6rem}.crm-contact-row input,.crm-contact-row select{min-height:40px;padding:8px 10px}.crm-contact-preferred{min-height:40px;margin:0;align-self:end}.crm-contact-row>[data-contact-remove]{width:32px;height:32px;align-self:center;padding:0;display:grid;place-items:center;border:1px solid var(--crm-line);border-radius:10px;color:var(--crm-danger);background:var(--crm-danger-soft);font-size:1rem}.crm-relationship-editor{align-items:start}.crm-relationship-editor>.crm-panel{height:auto}.crm-relationship-editor h2{margin:0 0 8px;color:var(--crm-navy);font-size:1rem}.crm-relationship-external{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.crm-relationship-list{display:grid;gap:9px}.crm-relationship-list article{padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--crm-line);border-radius:14px;background:var(--crm-surface-soft)}.crm-relationship-list article>div{min-width:0;display:grid;gap:3px}.crm-relationship-list article span{color:var(--crm-accent);font-size:.58rem;font-weight:820;text-transform:uppercase}.crm-relationship-list article strong{overflow-wrap:anywhere;color:var(--crm-navy);font-size:.76rem}.crm-relationship-list article small{color:var(--crm-muted);font-size:.61rem}.crm-relationship-list article>a{color:var(--crm-accent);font-size:.63rem;font-weight:800}.crm-relationship-list form{margin:0}.crm-context-summary{display:grid;gap:10px}.crm-context-summary__flags{display:flex;flex-wrap:wrap;gap:6px}.crm-context-flag{padding:5px 8px;border-radius:999px;color:var(--crm-info);background:var(--crm-info-soft);font-size:.58rem;font-weight:780}.crm-context-flag--warning{color:var(--crm-danger);background:var(--crm-danger-soft)}.crm-panel__title-action{margin-left:auto;color:var(--crm-accent);font-size:.62rem;font-weight:800}.crm-contact-mini-list,.crm-relationship-cards{margin:0;padding:0;display:grid;gap:7px;list-style:none}.crm-contact-mini-list li{display:flex;align-items:center;justify-content:space-between;gap:12px}.crm-contact-mini-list small{color:var(--crm-muted)}.crm-relationship-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.crm-relationship-cards li{padding:12px;display:grid;gap:4px;border:1px solid var(--crm-line);border-radius:13px;background:var(--crm-surface-soft)}.crm-relationship-cards span{color:var(--crm-accent);font-size:.56rem;font-weight:820;text-transform:uppercase}.crm-relationship-cards strong{color:var(--crm-navy);font-size:.74rem}.crm-relationship-cards small{color:var(--crm-muted);font-size:.6rem}.crm-relationship-cards a{color:var(--crm-accent);font-size:.61rem;font-weight:800}
.crm-relationship-map__intro{margin:-10px 0 22px!important;max-width:760px;color:var(--crm-muted);font-size:.68rem!important}.crm-relationship-map{--map-line:color-mix(in srgb,var(--crm-accent) 32%,var(--crm-line));position:relative;padding:6px 0 2px}.crm-relationship-map__root{--partner-color:var(--crm-accent);position:relative;z-index:2;width:min(440px,100%);margin:0 auto;padding:15px 18px;display:flex;align-items:center;gap:13px;border:1px solid color-mix(in srgb,var(--crm-accent) 38%,var(--crm-line));border-radius:19px;background:linear-gradient(135deg,var(--crm-accent-soft),var(--crm-surface));box-shadow:0 12px 30px rgba(7,29,59,.08)}.crm-relationship-map__root .crm-client-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:15px}.crm-relationship-map__root>div{min-width:0;display:grid;gap:2px}.crm-relationship-map__root small,.crm-relationship-map__node small{color:var(--crm-accent);font-size:.54rem;font-weight:850;letter-spacing:.065em;text-transform:uppercase}.crm-relationship-map__root strong{overflow-wrap:anywhere;color:var(--crm-navy);font-size:.95rem}.crm-relationship-map__root em,.crm-relationship-map__node em{color:var(--crm-muted);font-size:.59rem;font-style:normal}.crm-relationship-map__root::after{content:'';position:absolute;top:100%;left:50%;width:1px;height:34px;background:var(--map-line)}.crm-relationship-map__branches{position:relative;margin-top:34px;padding-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.crm-relationship-map__branches::before{content:'';position:absolute;top:0;right:25%;left:25%;height:1px;background:var(--map-line)}.crm-relationship-map__branch{position:relative;min-width:0}.crm-relationship-map__branch::before{content:'';position:absolute;bottom:100%;left:50%;width:1px;height:26px;background:var(--map-line)}.crm-relationship-map__branch>h3{margin:0 0 12px;padding:10px 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--map-line);border-radius:13px;color:var(--crm-navy);background:var(--crm-surface-soft);font-size:.7rem}.crm-relationship-map__branch>h3 .crm-icon{width:16px;height:16px;color:var(--crm-accent)}.crm-relationship-map__branch>h3 span{flex:1}.crm-relationship-map__branch>h3 b{min-width:23px;height:23px;display:grid;place-items:center;border-radius:999px;color:var(--crm-accent);background:var(--crm-accent-soft);font-size:.58rem}.crm-relationship-map__branch ul{margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:9px;list-style:none}.crm-relationship-map__node{position:relative;min-width:0;padding:12px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--crm-line);border-radius:14px;background:var(--crm-surface)}.crm-relationship-map__node-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--crm-accent);background:var(--crm-accent-soft)}.crm-relationship-map__node-icon .crm-icon{width:16px;height:16px}.crm-relationship-map__node>div{min-width:0;display:grid;gap:2px}.crm-relationship-map__node strong{overflow:hidden;color:var(--crm-navy);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.crm-relationship-map__node>a{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;color:var(--crm-accent);background:var(--crm-accent-soft);font-weight:900}.crm-relationship-map__node--partner{border-color:color-mix(in srgb,var(--crm-info) 26%,var(--crm-line))}.crm-relationship-map__node--child .crm-relationship-map__node-icon{color:var(--crm-info);background:var(--crm-info-soft)}.crm-relationship-map__node--protected{border-style:dashed;opacity:.72}.crm-relationship-map__empty{padding:28px;display:grid;justify-items:center;gap:7px;border:1px dashed var(--map-line);border-radius:16px;color:var(--crm-muted);text-align:center}.crm-relationship-map__empty>.crm-icon{width:24px;height:24px;color:var(--crm-accent)}.crm-relationship-map__empty strong{color:var(--crm-navy);font-size:.78rem}.crm-relationship-map__empty span,.crm-relationship-map__empty a{font-size:.63rem}.crm-relationship-map__empty a{color:var(--crm-accent);font-weight:800}
html[data-theme="dark"] .crm-contact-row,html[data-theme="dark"] .crm-relationship-list article,html[data-theme="dark"] .crm-relationship-cards li{background:#122238}
html[data-theme="dark"] .crm-client-card__facts>li,html[data-theme="dark"] .crm-client-card__context>div,html[data-theme="dark"] .crm-relationship-map__branch>h3,html[data-theme="dark"] .crm-relationship-map__node{background:#122238}html[data-theme="dark"] .crm-client-card__context dd{color:#c8d5e2}html[data-theme="dark"] .crm-relationship-map__root{background:linear-gradient(135deg,var(--crm-accent-soft),#101e31)}

@media (max-width:700px) {
  .crm-client-section-nav{top:122px;margin-bottom:18px;padding:6px 7px;grid-template-columns:1fr}.crm-client-section-nav>strong{display:none}.crm-client-section-nav a{padding:8px 9px}.crm-main :is(#client-summary,#family-title,#shared-context,#relationships,#contracts,#referrals,#tasks,#documents){scroll-margin-top:180px}.crm-scroll-top{right:12px;bottom:12px;width:42px;padding:0;justify-content:center}.crm-scroll-top>span{display:none}
  .crm-command-trigger{width:38px;min-height:38px;padding:4px;justify-content:center}.crm-command-trigger>span,.crm-command-trigger>kbd{display:none}
  .crm-client-profile-header { padding:19px; }
  .crm-client-profile-header .crm-client-hero { width:100%; }
  .crm-client-profile-header .crm-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .crm-client-profile-header .crm-actions > *,
  .crm-client-profile-header .crm-actions .crm-button { width:auto; }
  .crm-context-menu > summary { width:100%!important; }
  .crm-context-menu[open] { z-index:110; }
  .crm-context-menu[open]::before { content:'';position:fixed;inset:0;z-index:90;background:rgba(3,9,20,.48);backdrop-filter:blur(3px);pointer-events:none;animation:crmNoticeIn .2s ease both; }
  .crm-context-menu__panel { position:fixed;top:auto;right:12px;bottom:12px;left:12px;z-index:120;width:auto;max-height:calc(100vh - 24px);margin:0;overflow-y:auto;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.34);animation:crmContextSheetIn .28s cubic-bezier(.2,.8,.2,1) both; }
  .crm-context-menu__actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crm-context-menu__actions>a,.crm-context-menu__actions>button { min-height:72px;padding:10px;grid-template-columns:30px minmax(0,1fr);gap:8px; }
  .crm-context-menu__actions .crm-icon { width:17px;height:17px;padding:6px; }
  .crm-detail-grid { gap:14px; }
  .crm-panel { padding:22px; }
  .crm-detail-list dd { font-size:.84rem; }
  .crm-family-details{grid-template-columns:1fr}.crm-family-details>div{border-bottom:1px solid var(--crm-line)}.crm-family-details>div:last-child{border-bottom:0}
  .crm-children-editor__heading{align-items:stretch;flex-direction:column}.crm-children-editor__heading .crm-button{width:100%}.crm-child-row{grid-template-columns:28px minmax(0,1fr) 32px}.crm-child-row .crm-field{grid-column:2}.crm-child-row__index{grid-column:1;grid-row:1/3}.crm-child-age{grid-column:1/-1;padding:8px;border-radius:10px;background:var(--crm-info-soft)}.crm-child-row>[data-child-remove]{grid-column:3;grid-row:1/3}
  .crm-client-card__header{grid-template-columns:48px minmax(0,1fr) auto}.crm-client-card__header .crm-status{grid-column:2;grid-row:2}.crm-client-card__select{grid-column:3;grid-row:1}
  .crm-bulk-select-all{width:100%;justify-content:center}
  .crm-bulk-bar{bottom:6px;grid-template-columns:1fr;max-height:calc(100vh - 24px);overflow-y:auto}.crm-bulk-form{grid-template-columns:1fr}.crm-bulk-legal{grid-template-columns:1fr}.crm-bulk-form>.crm-button{width:100%}
  .crm-command-palette{padding:3vh 10px 10px}.crm-command-palette__panel{max-height:94vh;border-radius:20px}.crm-command-palette__quick{grid-template-columns:1fr}.crm-command-palette__results>a{grid-template-columns:70px minmax(0,1fr)}.crm-command-palette__panel>footer{justify-content:flex-start;overflow-x:auto}.crm-command-palette__panel>footer span:nth-child(2){display:none}
  .crm-contact-editor__heading{align-items:stretch;flex-direction:column}.crm-contact-row{grid-template-columns:1fr 34px}.crm-contact-row .crm-field,.crm-contact-preferred{grid-column:1}.crm-contact-row>[data-contact-remove]{grid-column:2;grid-row:1/5}.crm-relationship-external{grid-template-columns:1fr}.crm-relationship-list article{grid-template-columns:1fr}.crm-relationship-list article>a,.crm-relationship-list article>form{justify-self:start}.crm-relationship-cards{grid-template-columns:1fr}
  .crm-client-card__context{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.crm-client-card__footer{grid-template-columns:1fr}.crm-client-card__quality{min-width:0}.crm-client-card__quality span{text-align:left}.crm-relationship-map__root{margin:0}.crm-relationship-map__root::after{left:20px;height:24px}.crm-relationship-map__branches{margin-top:24px;padding:0 0 0 20px;grid-template-columns:1fr;gap:16px;border-left:1px solid var(--map-line)}.crm-relationship-map__branches::before{display:none}.crm-relationship-map__branch::before{top:22px;right:100%;bottom:auto;left:auto;width:20px;height:1px}.crm-relationship-map__branch ul{grid-template-columns:1fr}
}

.crm-client-card__facts>li.is-wide{grid-column:1/-1}
.crm-client-card--compact{padding:20px;gap:10px}.crm-client-card--compact .crm-client-card__quick-actions{min-height:0}.crm-client-card__facts--compact>li{padding:8px;grid-template-columns:24px minmax(0,1fr)}.crm-client-card__facts--compact>li>.crm-icon{width:13px;height:13px;padding:5px}.crm-client-card__facts--compact>li>span{display:flex;align-items:baseline;gap:6px}.crm-client-card__facts--compact small::after{content:' :'}.crm-client-card--compact .crm-client-card__context>div{padding:8px}.crm-client-card--compact .crm-client-card__footer{margin-top:0;padding-top:14px;gap:12px 16px}.crm-client-card--compact .crm-client-card__buttons .crm-button{min-height:42px}.crm-client-card--compact .crm-client-card__edit{width:40px;height:40px}
@keyframes crmContextSheetIn { from { opacity:0;transform:translateY(24px) scale(.985); } to { opacity:1;transform:none; } }
