:root{
  --navy:#162953;
  --navy-2:#1f3971;
  --slate:#71869f;
  --sky:#7794bb;
  --beige:#ede3d2;
  --mist:#dfe2df;
  --paper:#ffffff;
  --ink:#1d2a3b;
  --muted:#6e7a89;
  --line:#dce2e7;
  --line-dark:#cbd3dc;
  --success:#26704f;
  --danger:#aa3f48;
  --warning:#9b6b20;
  --shadow:0 15px 38px rgba(22,41,83,.09);
  --shadow-soft:0 8px 22px rgba(22,41,83,.06);
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f4f6f8}
body{margin:0;background:linear-gradient(135deg,#f7f8fa 0%,#f1f3f5 70%,#eef1f2 100%);min-height:100vh}
a{color:var(--navy-2);text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:274px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy) 0%,#122345 100%);color:#fff;padding:24px 18px 18px;display:flex;flex-direction:column;z-index:30;box-shadow:8px 0 30px rgba(22,41,83,.12)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;min-width:0}
.brand img{width:50px;height:50px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 3px rgba(237,227,210,.14)}
.brand strong,.brand small{display:block}
.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;letter-spacing:.11em;line-height:1}
.brand small{margin-top:5px;color:var(--beige);font-size:8.5px;letter-spacing:.34em}
.sidebar-close{display:none;background:none;border:0;color:#fff;font-size:29px;line-height:1;cursor:pointer}
.sidebar-label{margin:31px 12px 8px;color:#8fa2bd;font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.sidebar nav{display:grid;gap:5px}
.sidebar nav a{display:flex;align-items:center;gap:12px;color:#cdd6e3;padding:11px 12px;border-radius:11px;font-size:13.5px;font-weight:600;transition:.18s ease}
.sidebar nav a svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(2px)}
.sidebar nav a.active{background:linear-gradient(90deg,rgba(237,227,210,.20),rgba(119,148,187,.13));color:#fff;box-shadow:inset 3px 0 0 var(--beige)}
.sidebar-bottom{margin-top:auto;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.13)}
.user-chip{display:flex;align-items:center;gap:10px;min-width:0}
.user-chip>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--beige);color:var(--navy);font-weight:800}
.user-chip div{min-width:0}
.user-chip strong,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-chip strong{font-size:11.5px;font-weight:700;color:#fff}
.user-chip small{font-size:10px;color:#9eb0c8;margin-top:2px}
.logout-button{margin:11px 0 5px;padding:7px 0;background:none;border:0;color:var(--beige);font-size:11px;font-weight:700;cursor:pointer}
.version{display:block;color:#7186a2;font-size:9px}
.sidebar-overlay{display:none}
.content{padding:30px 36px 0;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}
.topbar h1{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:30px;line-height:1.15;margin:3px 0 0;font-weight:500}
.eyebrow{margin:0;color:var(--slate);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.topbar-actions{display:flex;align-items:center;gap:10px}
.security-badge{display:inline-flex;align-items:center;gap:7px;background:#edf5f0;color:var(--success);border:1px solid #d7e8df;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;white-space:nowrap}
.security-badge>span{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px rgba(38,112,79,.12)}
.menu-button{display:none;border:0;background:var(--paper);border-radius:10px;padding:10px;box-shadow:var(--shadow-soft);cursor:pointer}
.menu-button span{display:block;width:20px;height:2px;background:var(--navy);margin:4px 0}
.page-actions{display:flex;align-items:center;gap:8px}
.primary,.button-secondary,.button-ghost,.button-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d6e0eb;border-radius:13px;padding:10px 16px;min-height:42px;font-size:13px;font-weight:750;cursor:pointer;transition:.18s ease;text-decoration:none;line-height:1.2;box-shadow:0 3px 10px rgba(22,41,83,.04)}
.primary{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(22,41,83,.18)}
.primary:hover{background:var(--navy-2);border-color:var(--navy-2);transform:translateY(-1px)}
.button-secondary{background:#f6f9fc;border-color:#d9e3ee;color:var(--navy)}
.button-secondary:hover{background:#edf3f9;border-color:#cbd8e5;transform:translateY(-1px)}
.button-ghost{background:#fff;border-color:#d9e3ee;color:var(--navy)}
.button-ghost:hover{background:#f6f9fc;border-color:#cbd8e5;transform:translateY(-1px)}
.button-danger{background:#fff5f6;border-color:#f0d7da;color:var(--danger)}
.button-danger:hover{background:#feedef;transform:translateY(-1px)}
.small-button{padding:8px 12px;min-height:36px;font-size:12px}
.flash{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:12px;font-weight:650;border:1px solid transparent}
.flash.success{background:#eaf4ee;color:var(--success);border-color:#d5e6dc}
.flash.error{background:#f9eded;color:var(--danger);border-color:#edd5d8}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}
.metric-card,.card{background:rgba(255,255,255,.97);border:1px solid rgba(220,226,231,.95);border-radius:15px;box-shadow:var(--shadow)}
.metric-card{position:relative;overflow:hidden;padding:18px 19px;min-height:128px}
.metric-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--navy)}
.metric-card.sky::before{background:var(--sky)}
.metric-card.slate::before{background:var(--slate)}
.metric-card.beige::before{background:#c5a76c}
.metric-card span,.metric-card small{display:block;color:var(--muted);font-size:11px}
.metric-card strong{display:block;color:var(--navy);font-size:24px;line-height:1.1;margin:12px 0 8px;letter-spacing:-.02em}
.metric-card small{font-size:10px;line-height:1.35}
.metric-icon{position:absolute;right:16px;top:15px;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#eef2f7;color:var(--navy)}
.metric-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card{padding:21px}
.card+.card{margin-top:18px}
.card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}
.card-title h2,.card h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:21px;font-weight:500;margin:4px 0 0}
.card-title>a{font-size:11px;font-weight:800;color:var(--navy-2)}
.card-subtitle{margin:7px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}
.grid-2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid-form-list{display:grid;grid-template-columns:minmax(300px,365px) minmax(0,1fr);gap:18px;align-items:start}
.sticky-card{position:sticky;top:20px}
.narrow{max-width:760px}
.table-wrap{overflow:auto;border-radius:11px;border:1px solid #e8ecef}
table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}
th{text-align:left;color:#6d7c8e;font-weight:750;padding:10px 11px;border-bottom:1px solid var(--line);background:#f6f8fa;white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
td{padding:13px 11px;border-bottom:1px solid #edf0f3;vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fbfcfd}
td strong,td small{display:block}
td strong{color:#26364b}
td small{color:var(--muted);font-size:10.5px;line-height:1.45;margin-top:3px}
.num{text-align:right;white-space:nowrap}
.empty{text-align:center!important;color:var(--muted);padding:28px!important;font-style:italic}
.positive{color:var(--success)!important}.negative{color:var(--danger)!important}
.tag,.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:9.5px;font-weight:800;white-space:nowrap}
.tag{background:#edf1f6;color:var(--navy-2)}
.status-pill{background:#eef1f5;color:#617186}
.status-idee{background:#eef1f5;color:#617186}
.status-brouillon{background:#fff4df;color:#8a601f}
.status-pret{background:#e8eff8;color:#315d91}
.status-publie{background:#e9f4ee;color:var(--success)}
.status-sponsorise{background:#f4ebf7;color:#79518a}
.status-recycler{background:#f5ece5;color:#8b6045}
.status-finaliser{background:#fdf0e4;color:#9a5b26}
.status-programme{background:#e5eefb;color:#2f5aa8}
.status-archive{background:#eef1f3;color:#68737e}
.stack-form{display:grid;gap:14px}
.stack-form.compact{gap:12px}
.stack-form label{display:grid;gap:6px;color:#39485b;font-size:11px;font-weight:750}
.stack-form input,.stack-form select,.stack-form textarea{width:100%;padding:10px 11px;border:1px solid #cdd6de;border-radius:8px;background:#fff;color:var(--ink);outline:none;transition:.15s ease}
.stack-form textarea{min-height:115px;resize:vertical;line-height:1.45}
.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-row.three{grid-template-columns:repeat(3,1fr)}
.actions{display:flex;justify-content:flex-end;gap:9px;align-items:center}
.danger-link{background:none;border:0;color:var(--danger);font-size:10.5px;font-weight:700;cursor:pointer;padding:5px}
.activity-list{display:grid}
.activity-list article{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.activity-list article:last-child{border-bottom:0}
.activity-list strong,.activity-list span{display:block}
.activity-list strong{font-size:12px;color:#26364b}
.activity-list span{color:var(--muted);font-size:10.5px;margin-top:3px;line-height:1.4}
.bar-list{display:grid;gap:14px}
.bar-item{display:grid;gap:7px}
.bar-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;font-size:11px}
.bar-head strong{color:#26364b;font-size:11.5px}
.bar-head span{color:var(--muted);font-size:10px}
.bar-track{height:8px;background:#edf0f3;border-radius:999px;overflow:hidden}
.bar-track svg{display:block;width:100%;height:100%}
.bar-track rect{fill:var(--sky)}
.bar-item:nth-child(2n) .bar-track rect{fill:var(--slate)}
.bar-item:nth-child(3n) .bar-track rect{fill:var(--navy-2)}
.kpi-inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.kpi-inline span{background:#f1f4f7;border-radius:8px;padding:7px 9px;font-size:10px;color:#617186}
.kpi-inline strong{color:var(--navy);margin-left:4px}
.hero-card{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--navy),var(--navy-2));color:#fff;border:0}
.hero-card::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-130px;border:45px solid rgba(237,227,210,.08)}
.hero-card .eyebrow{color:#b6c5d8}.hero-card h2{color:#fff}.hero-card p{position:relative;z-index:1;color:#dbe3ed;max-width:760px;line-height:1.6;font-size:12px}
.hero-card .button-secondary{position:relative;z-index:1}
.dashboard-split{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px;margin-top:18px}
.quick-list{display:grid;gap:8px}
.quick-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #e5e9ed;border-radius:10px;background:#fbfcfd}
.quick-item strong{display:block;font-size:11.5px;color:#27374b}.quick-item small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.quick-item .date-box{min-width:47px;text-align:center;background:var(--beige);border-radius:8px;padding:6px;color:var(--navy);font-size:10px;font-weight:800}
.report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.report-context{display:flex;gap:8px;flex-wrap:wrap}
.report-section{margin-top:18px}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.report-bar-table{display:grid;gap:12px}
.report-bar-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(170px,1.3fr) 100px;gap:12px;align-items:center}
.report-bar-row .label strong{display:block;font-size:11.5px}.report-bar-row .label small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.report-bar-row .amount{text-align:right;font-size:11px;font-weight:750;color:var(--navy)}
.report-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.report-meta article{background:#f6f8fa;border:1px solid #e6eaee;border-radius:11px;padding:14px}
.report-meta span{display:block;color:var(--muted);font-size:10px}.report-meta strong{display:block;color:var(--navy);font-size:18px;margin-top:8px}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--slate);font-size:11px;font-weight:700;margin-bottom:10px}
.social-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}
.social-summary article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow-soft)}
.social-summary span{display:block;color:var(--muted);font-size:10px}.social-summary strong{display:block;color:var(--navy);font-size:20px;margin-top:8px}
.social-layout{display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:18px;align-items:start}
.social-filter{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.social-filter a{padding:7px 10px;border-radius:999px;background:#eef2f5;color:#5b6d82;font-size:10px;font-weight:750}
.social-filter a.active{background:var(--navy);color:#fff}
.social-list{display:grid;gap:11px}
.social-card{border:1px solid #e1e6ea;border-radius:12px;background:#fff;padding:15px;box-shadow:var(--shadow-soft)}
.social-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.social-card h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:17px;font-weight:500;margin:0}
.social-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.social-meta span{font-size:9.5px;color:#657489;background:#f1f4f7;border-radius:999px;padding:5px 8px}
.social-copy{margin:12px 0 0;color:#526174;font-size:11px;line-height:1.55;white-space:pre-line;max-height:100px;overflow:hidden}
.social-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.social-stats div{background:#f6f8fa;border-radius:8px;padding:8px;text-align:center}
.social-stats span{display:block;color:var(--muted);font-size:8.5px}.social-stats strong{display:block;color:var(--navy);font-size:12px;margin-top:3px}
.social-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid #edf0f3}
.tool-callout{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px}.tool-callout h2{margin-bottom:8px}.tool-callout p{margin:0;max-width:760px}.tool-launch{white-space:nowrap}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,45%) 1fr;background:#fff}
.login-panel{padding:8vh 9vw;display:flex;flex-direction:column;justify-content:center;position:relative}
.login-brand{color:var(--navy);margin-bottom:54px}.login-brand img{width:62px;height:62px}.login-brand strong{font-size:27px}.login-brand small{color:var(--navy-2)}
.login-panel h1{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:43px;font-weight:500;margin:10px 0}
.muted{color:var(--muted);line-height:1.6}
.login-panel form{margin:28px 0}
.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(22,41,83,.96),rgba(31,57,113,.88));display:flex;align-items:flex-end;padding:8vh 6vw;color:var(--beige)}
.login-visual::before,.login-visual::after{content:"";position:absolute;border-radius:50%;border:70px solid rgba(237,227,210,.08)}
.login-visual::before{width:440px;height:440px;right:-180px;top:-180px}.login-visual::after{width:280px;height:280px;left:-140px;bottom:-130px}
.login-visual-inner{position:relative;z-index:1}.login-visual img{width:118px;height:118px;border-radius:50%;background:#fff;margin-bottom:34px}
.login-visual p{font-family:Georgia,"Times New Roman",serif;font-size:42px;font-weight:400;margin:7px 0}.login-visual p:nth-of-type(2){margin-left:36px}.login-visual p:nth-of-type(3){margin-left:72px}
footer{padding:25px 4px;color:#84909e;font-size:9.5px}
@media(max-width:1180px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-split,.grid-2,.report-grid{grid-template-columns:1fr}.social-summary{grid-template-columns:repeat(3,1fr)}.report-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.content{padding:26px 24px 0}.grid-form-list,.social-layout{grid-template-columns:1fr}.sticky-card{position:static}.social-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body.sidebar-open{overflow:hidden}.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:285px;transform:translateX(-105%);transition:.2s ease}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:rgba(10,22,43,.45);z-index:25}.sidebar-open .sidebar-overlay{display:block}.sidebar-close,.menu-button{display:block}.content{padding:19px 14px 0}.topbar{align-items:flex-start}.topbar h1{font-size:25px}.security-badge{display:none}.metrics{grid-template-columns:1fr 1fr}.metric-card{min-height:118px;padding:16px}.metric-card strong{font-size:20px}.grid-3{grid-template-columns:1fr}.form-row,.form-row.three{grid-template-columns:1fr}.report-bar-row{grid-template-columns:minmax(100px,1fr) minmax(100px,1fr);}.report-bar-row .amount{grid-column:2}.social-stats{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:35px 24px}.login-brand{margin-bottom:42px}.topbar-actions .button-ghost{display:none}}
@media(max-width:480px){.metrics,.social-summary,.report-meta{grid-template-columns:1fr}.topbar{margin-bottom:18px}.topbar h1{font-size:23px}.card{padding:17px}.report-bar-row{display:block}.report-bar-row .bar-track{margin:8px 0}.report-bar-row .amount{text-align:left}.social-card-head{display:block}.status-pill{margin-top:8px}}
@media print{body{background:#fff}.sidebar,.sidebar-overlay,.menu-button,.security-badge,.page-actions,.topbar-actions,.flash,footer,.no-print{display:none!important}.app-shell{display:block}.content{padding:0}.topbar{margin-bottom:18px}.topbar h1{font-size:25px}.card,.metric-card,.social-card{box-shadow:none;break-inside:avoid}.metrics{grid-template-columns:repeat(4,1fr)}.report-grid{grid-template-columns:1fr 1fr}.table-wrap{overflow:visible}table{font-size:10px}}

/* V4 — outils, enveloppes et valorisations centralisées */
[hidden]{display:none!important}
.checkbox-line{display:flex!important;align-items:center;gap:9px;padding:8px 10px;border:1px solid #e0e5ea;border-radius:9px;background:#f8fafb;cursor:pointer}
.checkbox-line input{width:auto!important;margin:0;accent-color:var(--navy)}
.checkbox-line span{line-height:1.35}
.prominent-check{background:#eef3f8;border-color:#d7e2ec;color:var(--navy)!important}
.disabled-field{opacity:.55}
.manual-muted{opacity:.72}
.form-note{margin:0;color:var(--muted);font-size:10.5px;line-height:1.45}
.form-note a{font-weight:750}
.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;white-space:nowrap}
.row-actions form{margin:0}
.positions-layout{margin-top:18px}
.valuation-form{display:grid;gap:14px}
.valuation-table input{min-width:125px;width:100%;padding:8px 9px;border:1px solid #cdd6de;border-radius:7px;color:var(--ink);background:#fff;text-align:right}
.valuation-table td:nth-child(3) input{text-align:left}
.valuation-table input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.valuation-actions{display:flex;justify-content:space-between;align-items:center;gap:18px}
.valuation-actions span{color:var(--muted);font-size:10.5px;line-height:1.45}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.tool-hero{margin-bottom:0}
.tool-card{display:flex;flex-direction:column;align-items:flex-start;min-height:255px}
.tool-card p:not(.eyebrow){color:var(--muted);font-size:11.5px;line-height:1.6;max-width:620px}
.tool-card .button-link{margin-top:auto}
.tool-card-muted{background:linear-gradient(145deg,#fff,#f3f5f6)}
.tool-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--beige);color:var(--navy);margin-bottom:18px}
.tool-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.account-help{margin-top:-4px}

@media(max-width:980px){.tools-grid{grid-template-columns:1fr}.valuation-actions{align-items:flex-start;flex-direction:column}.valuation-actions .primary{width:100%}}
@media(max-width:760px){.row-actions{align-items:flex-end;flex-direction:column}.valuation-table input{min-width:110px}}

/* V5 — documents, PNB et reporting paramétrable */
.edit-doc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:18px;align-items:start}
.document-upload-form{padding-bottom:16px;border-bottom:1px solid var(--line)}
.document-list{display:grid;gap:9px;margin-top:15px}
.document-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e2e7eb;border-radius:10px;background:#fafcfd}
.document-row strong{display:block;color:var(--navy);font-size:11.5px}
.document-row span{display:block;color:var(--muted);font-size:9.5px;margin-top:4px;word-break:break-word}
.report-filter-card{margin-bottom:18px}
.report-filter-form{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr .8fr auto;gap:10px;align-items:end}
.report-filter-form label{display:grid;gap:6px;color:#39485b;font-size:10.5px;font-weight:750}
.report-filter-form input,.report-filter-form select{width:100%;padding:9px 10px;border:1px solid #cdd6de;border-radius:8px;background:#fff;color:var(--ink)}
.report-filter-form button{height:38px;white-space:nowrap}
.metrics-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.bar-negative .bar-track rect,.timeline-bar.negative .timeline-track rect{fill:var(--danger)}
.timeline-bars{display:grid;grid-template-columns:repeat(var(--timeline-month-count,12),minmax(58px,72px));gap:10px;align-items:end;min-height:235px;overflow-x:auto;padding:10px 2px 8px;justify-content:start}
.timeline-bar{display:grid;grid-template-rows:auto 150px auto;gap:7px;min-width:54px;text-align:center}
.timeline-value{font-size:9px;font-weight:750;color:var(--navy);white-space:nowrap;transform:rotate(-24deg);transform-origin:center}
.timeline-track{height:150px;border-radius:8px 8px 2px 2px;background:#edf1f4;overflow:hidden}
.timeline-track svg{display:block;width:100%;height:100%}
.timeline-track rect{fill:var(--sky)}
.timeline-bar:nth-child(2n) .timeline-track rect{fill:var(--slate)}
.timeline-bar:nth-child(3n) .timeline-track rect{fill:var(--navy-2)}
.timeline-bar strong{font-size:9px;color:#5e6d80}
@media(max-width:1250px){.metrics-five{grid-template-columns:repeat(3,1fr)}.report-filter-form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.edit-doc-layout{grid-template-columns:1fr}.report-filter-form{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.metrics-five{grid-template-columns:1fr 1fr}.report-filter-form{grid-template-columns:1fr}.document-row{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.metrics-five{grid-template-columns:1fr}}

/* V6 — partage HODAS/Sève, rendez-vous et objectifs */
.valuation-section{margin-top:18px}
.meeting-filter-form{display:grid;grid-template-columns:1fr 1fr .8fr .8fr auto;gap:10px;align-items:end}
.meeting-filter-form label{display:grid;gap:6px;color:#39485b;font-size:10.5px;font-weight:750}
.meeting-filter-form input,.meeting-filter-form select{width:100%;padding:9px 10px;border:1px solid #cdd6de;border-radius:8px;background:#fff;color:var(--ink)}
.meeting-filter-form button{height:38px}
.meeting-list{display:grid;gap:12px}
.meeting-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:15px;padding:14px;border:1px solid #e1e7eb;border-radius:12px;background:#fbfcfd}
.meeting-date{border-radius:10px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;padding:9px;text-align:center}
.meeting-date strong{font-size:25px;line-height:1}.meeting-date span{font-size:9px;color:var(--beige);margin-top:5px}.meeting-date small{font-size:10px;margin-top:6px}
.meeting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.meeting-head h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:17px;font-weight:500;margin:0}.meeting-head p{color:var(--muted);font-size:10.5px;margin:5px 0 0}
.meeting-summary{color:#4c5c70;font-size:11px;line-height:1.55;white-space:pre-line;margin:11px 0 0;max-height:100px;overflow:hidden}
.meeting-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.meeting-meta span{font-size:9.5px;background:#eef2f5;color:#627186;padding:5px 8px;border-radius:999px}
.status-planifie{background:#e8eff8;color:#315d91}.status-realise{background:#e9f4ee;color:var(--success)}.status-annule{background:#f9eded;color:var(--danger)}
.objective-list{display:grid;gap:18px}.objective-card{margin:0!important}.goal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.goal-item{padding:12px;background:#f7f9fa;border:1px solid #e5e9ed;border-radius:10px}.goal-head{display:grid;gap:6px}.goal-head span{font-size:9.5px;color:var(--muted);font-weight:750}.goal-head strong{font-size:11px;color:var(--navy)}.goal-track{height:8px;background:#e4e9ed;border-radius:999px;overflow:hidden;margin:10px 0 7px}.goal-track svg{width:100%;height:100%;display:block}.goal-track rect{fill:var(--navy-2)}.goal-item:nth-child(2) rect{fill:var(--sky)}.goal-item:nth-child(3) rect{fill:var(--slate)}.goal-item:nth-child(4) rect{fill:#b99d68}.goal-item:nth-child(5) rect{fill:var(--success)}.goal-item small{font-size:9px;color:var(--muted)}.objective-note{margin-top:14px}
.metrics-six{grid-template-columns:repeat(6,minmax(0,1fr))}.report-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-form-six{grid-template-columns:1.15fr 1fr 1fr 1fr .8fr .8fr auto}
@media(max-width:1400px){.metrics-six{grid-template-columns:repeat(3,1fr)}.goal-grid{grid-template-columns:repeat(3,1fr)}.report-grid-three{grid-template-columns:1fr 1fr}.report-filter-form-six{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.meeting-filter-form{grid-template-columns:1fr 1fr}.goal-grid{grid-template-columns:1fr 1fr}.report-grid-three{grid-template-columns:1fr}.report-filter-form-six{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.meeting-filter-form,.report-filter-form-six{grid-template-columns:1fr}.meeting-card{grid-template-columns:1fr}.meeting-date{min-height:auto;display:grid;grid-template-columns:auto auto auto;justify-content:start;gap:8px}.meeting-date strong{font-size:18px}.meeting-date span,.meeting-date small{margin:0;align-self:center}.meeting-head{display:block}.meeting-head .status-pill{margin-top:8px}.goal-grid,.metrics-six{grid-template-columns:1fr}}

/* V7 — catégories produits, rendement cible, fin de rémunération et patrimoine extérieur */
.product-groups{display:grid;gap:18px;min-width:0}
.product-summary-card{background:linear-gradient(135deg,#fff,#f6f8fa)}
.product-category-card{padding:0;overflow:hidden}
.product-category-card>.card-title{padding:18px 20px 14px;margin:0;border-bottom:1px solid var(--line)}
.product-category-card>.empty{padding:18px 20px;margin:0}
.product-category-card table{margin:0}
.muted-row{background:#f7f8f9;color:#697688}
.muted-row strong,.muted-row a{color:#526174}
.status-pill.status-active{background:#e9f4ee;color:var(--success)}
.status-pill.status-ended{background:#f2f2f2;color:#68737e}
.status-editor{display:grid;gap:10px;padding:13px;border:1px solid #dfe5e9;border-radius:10px;background:#f8fafb}
.summary-strip{display:flex;flex-wrap:wrap;gap:10px;padding:12px;border-radius:10px;background:var(--beige);color:var(--navy);font-size:11px}
.summary-strip span{flex:1;min-width:180px}
.long-text{white-space:pre-line;color:#4b5b6f;line-height:1.6;margin:0}
.report-meta-five{grid-template-columns:repeat(5,1fr)}
.report-meta-six{grid-template-columns:repeat(6,1fr)}
.report-filter-form-six{grid-template-columns:1.1fr .8fr 1fr 1fr 1fr .8fr .8fr auto}
@media(max-width:1400px){.report-meta-five,.report-meta-six{grid-template-columns:repeat(3,1fr)}.report-filter-form-six{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.report-meta-five,.report-meta-six{grid-template-columns:repeat(2,1fr)}.report-filter-form-six{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.report-meta-five,.report-meta-six,.report-filter-form-six{grid-template-columns:1fr}}

/* V8 — périmètres, tris, partenaires et charges */
.scope-switcher{display:inline-flex;align-items:center;padding:3px;background:#e9edf1;border:1px solid #dce2e7;border-radius:10px;white-space:nowrap}
.scope-switcher a{padding:6px 9px;border-radius:7px;color:#66768a;font-size:10px;font-weight:800}
.scope-switcher a.active{background:var(--navy);color:#fff;box-shadow:0 3px 9px rgba(22,41,83,.16)}
.sortable-table th[role="button"]{cursor:pointer;padding-right:25px;position:relative;user-select:none}
.sortable-table th[role="button"]::after{content:"↕";position:absolute;right:8px;color:#a1adba;font-size:11px}
.sortable-table th[aria-sort="ascending"]::after{content:"↑";color:var(--navy)}
.sortable-table th[aria-sort="descending"]::after{content:"↓";color:var(--navy)}
.form-details{border:1px solid var(--line);border-radius:10px;background:#f8fafb;padding:0 12px}
.form-details>summary{cursor:pointer;color:var(--navy);font-size:11px;font-weight:800;padding:12px 0}
.form-details>.stack-form,.form-details>.form-row{padding:0 0 12px}
.form-section{display:grid;gap:12px;padding:14px;border:1px solid var(--line);background:#f8fafb;border-radius:11px}
.form-section h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:17px;font-weight:500;margin:0}
.expenses-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.expenses-grid>.card{margin:0}
.compact-filter{grid-template-columns:minmax(180px,280px) auto;justify-content:start}
.mini-list{display:grid;gap:8px;margin-top:15px}
.mini-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfd}
.mini-list strong{color:var(--navy);font-size:11px}.mini-list span{color:var(--muted);font-size:9.5px}.mini-list a{grid-column:2;grid-row:1/3;align-self:center;font-size:10px;font-weight:800}
@media(max-width:1200px){.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.expenses-grid{grid-template-columns:1fr}}
@media(max-width:760px){.scope-switcher{order:3;width:100%;justify-content:stretch}.scope-switcher a{flex:1;text-align:center}.compact-filter{grid-template-columns:1fr}.topbar-actions{display:none}}
.target-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.target-market-grid article{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafcfd}
.target-market-grid span{display:block;color:var(--muted);font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.target-market-grid strong{display:block;color:#34455b;font-size:11px;line-height:1.5;white-space:pre-line}
@media(max-width:760px){.target-market-grid{grid-template-columns:1fr}}


/* V9 - marché cible, import Google et lisibilité du reporting */
.bar-name-share{display:flex!important;align-items:baseline;justify-content:flex-start;gap:16px;flex-wrap:wrap}
.bar-name-share>strong{margin-right:4px}.bar-name-share>span{color:var(--muted);font-size:11px;white-space:nowrap}
.target-market-builder{display:grid;gap:14px;margin-top:12px}
.target-market-legend{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.target-market-legend span{border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}
.target-legend-positive{background:#e8f4d5;color:#46620b}.target-legend-neutral{background:#eef1f3;color:#66727d}.target-legend-negative{background:#f8e1ee;color:#9b155d}
.target-market-group{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.target-market-group h4{margin:0;padding:10px 12px;background:#f2f4f6;color:var(--navy);font-size:12px}
.target-market-options{display:grid;gap:0}
.target-market-option{display:grid;grid-template-columns:minmax(180px,1fr) 90px 90px;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid #e5e8eb;font-size:11px}
.target-market-option>span{font-weight:650;color:#354455}
.target-choice{display:flex!important;align-items:center;gap:6px;margin:0!important;font-size:10px!important;font-weight:800!important}
.target-choice input{width:auto;margin:0}.positive-choice{color:#55750d!important}.negative-choice{color:#a31361!important}
.google-import-card{margin-bottom:18px;border-left:4px solid var(--gold)}
.google-import-form{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(260px,1.5fr) auto;gap:12px;align-items:end;margin-top:14px}
.google-import-form button{height:42px}
@media(max-width:900px){.google-import-form{grid-template-columns:1fr}.target-market-option{grid-template-columns:1fr 1fr 1fr}.target-market-option>span{grid-column:1/-1}}

.legacy-target-market-note{display:grid;gap:3px;padding:10px 12px;border:1px solid #e7d19c;border-radius:8px;background:#fff7e5;color:#755315;font-size:10.5px}.legacy-target-market-note strong{color:#65450e}

.target-market-structured-view{display:grid;gap:10px}
.target-market-report-row{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfd}
.target-market-report-row h3{margin:4px 0 0;color:var(--navy);font-size:12px}
.target-market-report-row>div{display:grid;gap:6px}
.target-market-report-row>div>span{width:max-content;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}
.target-market-report-row>div>strong{font-size:10.5px;line-height:1.45;color:#405166}
@media(max-width:850px){.target-market-report-row{grid-template-columns:1fr}.target-market-report-row h3{margin-bottom:2px}}

/* V10 — tableau de bord annuel, allocations AV/PER et IK automatiques */
.sidebar-dashboard-nav{padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.12)}
.dashboard-year-card{padding:14px 18px;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f7f9fb)}
.dashboard-year-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.dashboard-year-form label{min-width:220px}.dashboard-year-form select{min-width:190px}
.filter-summary{align-self:center;margin-left:auto;padding:7px 11px;border-radius:999px;background:var(--beige);color:var(--navy);font-size:10px;font-weight:800}
.bar-product-meta{display:grid;gap:7px;min-width:0;padding-right:18px}
.bar-product-meta>strong{display:block;line-height:1.25;color:var(--navy)}
.bar-product-meta>span{display:block;color:var(--muted);font-size:10px;line-height:1.35}
.allocation-form{display:grid;gap:14px}
.allocation-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.allocation-weight{width:100px!important;min-width:90px;text-align:right}
.allocation-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;background:var(--beige);color:var(--navy);font-weight:800}
.valuation-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0 0}
.valuation-actions span{font-size:10px;color:var(--muted)}
.mileage-export-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;border-left:4px solid var(--gold)}
.mileage-export-card .compact-filter{margin:0}
.prominent-check{padding:10px 12px;border:1px solid #d8e0e6;border-radius:9px;background:#f7fafc}
.form-note{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:900px){.mileage-export-card{grid-template-columns:1fr}.filter-summary{margin-left:0}.dashboard-year-form{align-items:stretch}.dashboard-year-form>*{width:100%}}

/* V11 — navigation dépliable, marché cible exclusif et KYC client */
.sidebar-nav-actions{display:flex;gap:6px;margin:20px 4px 8px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar-nav-actions button{flex:1;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(255,255,255,.05);color:#aebcd0;padding:6px 5px;font-size:8.5px;font-weight:800;cursor:pointer}
.sidebar-nav-actions button:hover{background:rgba(255,255,255,.10);color:#fff}
.sidebar-sections{display:grid;gap:8px;overflow-y:auto;min-height:0;padding-right:2px;margin-bottom:14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.sidebar-section{border-top:1px solid rgba(255,255,255,.13);padding-top:5px}
.sidebar-section:last-child{border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:7px}
.sidebar-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#93a6c0;padding:8px 10px;font-size:9.5px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.sidebar-section-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}
.sidebar-section.collapsed .sidebar-section-toggle svg{transform:rotate(-90deg)}
.sidebar-section nav{max-height:520px;overflow:hidden;opacity:1;transition:max-height .22s ease,opacity .15s ease}
.sidebar-section.collapsed nav{max-height:0;opacity:0;pointer-events:none}
.sidebar-bottom{flex:0 0 auto}

.target-market-option{grid-template-columns:minmax(180px,1fr) minmax(280px,auto)}
.target-state-choices{display:grid;grid-template-columns:repeat(3,minmax(74px,1fr));gap:6px}
.target-choice{position:relative;display:block!important;margin:0!important;cursor:pointer}
.target-choice input{position:absolute;opacity:0;pointer-events:none}
.target-choice span{display:flex;align-items:center;justify-content:center;min-height:31px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#f7f9fa;color:#687582;font-size:9.5px;font-weight:850;transition:.14s ease}
.neutral-choice input:checked+span{background:#e9edf0;border-color:#bcc6cf;color:#4f5c68;box-shadow:inset 0 0 0 1px #bcc6cf}
.positive-choice input:checked+span{background:#e6f3d0;border-color:#94ba45;color:#496808;box-shadow:inset 0 0 0 1px #94ba45}
.negative-choice input:checked+span{background:#f8dbea;border-color:#d45a9c;color:#981158;box-shadow:inset 0 0 0 1px #d45a9c}
.target-choice span:hover{transform:translateY(-1px);border-color:var(--sky)}

.client-kyc-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(520px,1.15fr);gap:18px;align-items:start}
.client-kyc-layout>.card{margin:0}
.kyc-status-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:11px;margin-bottom:15px;border:1px solid var(--line)}
.kyc-status-banner strong,.kyc-status-banner span{display:block}.kyc-status-banner span{font-size:10px;margin-top:3px;color:var(--muted)}
.kyc-status-ok{background:#eaf5ee;border-color:#bedeca;color:var(--success)}
.kyc-status-update{background:#fff4df;border-color:#ead098;color:var(--warning)}
.kyc-status-ko{background:#f9e8ea;border-color:#e8bbc0;color:var(--danger)}
.kyc-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:9.5px;font-weight:850;white-space:nowrap}
.kyc-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.kyc-pill.kyc-status-ok{background:#e6f3eb}.kyc-pill.kyc-status-update{background:#fff0cf}.kyc-pill.kyc-status-ko{background:#f8dde0}
.kyc-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:17px}
.kyc-check-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfd}
.kyc-check-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:11px;font-weight:900}
.kyc-check-item.complete .kyc-check-icon{background:#dff0e6;color:var(--success)}
.kyc-check-item.expired .kyc-check-icon{background:#ffedc9;color:var(--warning)}
.kyc-check-item.missing .kyc-check-icon{background:#f6dfe2;color:var(--danger)}
.kyc-check-item strong,.kyc-check-item small{display:block}.kyc-check-item strong{font-size:10.5px;color:#33445a}.kyc-check-item small{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.35}
.kyc-upload-form{padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafb;margin-bottom:16px}
.kyc-documents{display:grid;gap:8px}.kyc-document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.kyc-document-row strong,.kyc-document-row span{display:block}.kyc-document-row strong{font-size:11px;color:var(--navy)}.kyc-document-row span{font-size:9.5px;color:var(--muted);margin-top:3px}
.kyc-report-card{border-left:4px solid var(--navy)}

@media(max-width:1050px){.client-kyc-layout{grid-template-columns:1fr}.sticky-card{position:static}}
@media(max-width:760px){.target-market-option{grid-template-columns:1fr}.target-state-choices{grid-template-columns:repeat(3,1fr)}.kyc-checklist{grid-template-columns:1fr}.sidebar-nav-actions{margin-top:13px}}
.sidebar-sections{flex:1 1 auto}
.export-all-vehicles{display:grid;gap:3px;align-self:center;padding:8px 11px;border-radius:9px;background:#eef2f5;min-width:210px}.export-all-vehicles strong{font-size:11px;color:var(--navy)}.export-all-vehicles span{font-size:9.5px;color:var(--muted)}

/* V12 — conformité client et questionnaires */
.compliance-form{gap:18px}.compliance-section{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fafcfd}.compliance-section h3{margin:0 0 13px;color:var(--navy);font-size:14px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.section-heading h3{margin:0}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}
.switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.switch-line{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:white}.switch-line span{font-size:10.5px;font-weight:700;color:#44546a}.switch-line input{width:34px;height:19px;accent-color:var(--navy);flex:0 0 auto}
.external-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.external-check-card{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px;background:white}.external-check-card>div strong,.external-check-card>div small{display:block}.external-check-card>div strong{color:var(--navy);font-size:12px}.external-check-card>div small{color:var(--muted);font-size:9.5px;margin-top:4px;line-height:1.4}.inline-link{font-size:10px;font-weight:800;color:var(--blue);text-decoration:none}.mini-check{display:flex!important;align-items:center;gap:6px;margin-top:7px;font-size:9px!important;font-weight:750!important;color:#536276!important}.mini-check input{width:auto;margin:0}.compliance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compliance-metrics article{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8fafb}.compliance-metrics span,.compliance-metrics strong,.compliance-metrics small{display:block}.compliance-metrics span{font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.compliance-metrics strong{font-size:11px;color:var(--navy);margin-top:5px}.compliance-metrics small{font-size:9px;color:var(--muted);margin-top:3px}.questionnaire-mini-list{display:grid;gap:5px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.questionnaire-mini-list span{font-size:9.5px;color:#526174}
.questionnaire-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.questionnaire-header h2{margin:2px 0 7px}.questionnaire-header p{margin:0;color:var(--muted);max-width:850px;line-height:1.5}.profile-badges{display:flex;gap:7px;flex-wrap:wrap}.questionnaire-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start;margin-top:18px}.questionnaire-result{position:sticky;top:18px}.questionnaire-result label{margin-top:11px}.questionnaire-result h2{margin:3px 0 13px}.question-block{border:0;border-bottom:1px solid var(--line);padding:0 0 18px;margin:0 0 18px}.question-block:last-child{border-bottom:0;margin-bottom:0}.question-block legend{font-size:12px;font-weight:850;color:var(--navy);line-height:1.45;margin-bottom:11px}.answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.answer-options.multi{grid-template-columns:repeat(3,minmax(0,1fr))}.answer-options label{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fafcfd;font-size:10px;color:#44546a;cursor:pointer}.answer-options input{width:auto;margin:1px 0 0;flex:0 0 auto}.danger-zone{margin-top:14px;text-align:right}
@media(max-width:1100px){.questionnaire-layout{grid-template-columns:1fr}.questionnaire-result{position:static}.compliance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.external-check-grid{grid-template-columns:1fr}.switch-grid{grid-template-columns:1fr}}
@media(max-width:720px){.answer-options,.answer-options.multi{grid-template-columns:1fr}.compliance-metrics{grid-template-columns:1fr}.questionnaire-header{display:block}.profile-badges{margin-top:12px}}

/* V13 — repli fiable de la navigation */
.sidebar-sections{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  align-content:flex-start;
  gap:8px;
}
.sidebar-section{flex:0 0 auto;min-height:0}
.sidebar-section nav{max-height:none;overflow:visible;opacity:1;transition:opacity .14s ease}
.sidebar-section.collapsed nav{display:none;max-height:0;opacity:0;pointer-events:none}
.sidebar-section.collapsed{padding-bottom:0}

/* V13 — séparation lisible entre montant et pourcentage */
.bar-head>.num{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;white-space:nowrap}
.bar-head>.num strong,.bar-head>.num span{display:inline-block;margin:0}

/* V13 — questionnaires adaptés au type de client */
.questionnaire-context-note{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:13px 14px;border:1px solid #d9e2ec;border-left:4px solid var(--sky);border-radius:10px;background:#f7f9fb}
.questionnaire-context-note strong{flex:0 0 auto;color:var(--navy);font-size:11px}
.questionnaire-context-note span{color:var(--muted);font-size:10.5px;line-height:1.5}

/* V13 — préparation du circuit documentaire */
.document-automation-hero{margin-bottom:18px}
.document-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.document-workflow article{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-soft)}
.document-workflow article>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:850}
.document-workflow strong,.document-workflow small{display:block}
.document-workflow strong{color:var(--navy);font-size:11.5px}
.document-workflow small{margin-top:4px;color:var(--muted);font-size:9.5px;line-height:1.45}
.regulatory-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.regulatory-document-card{display:grid;grid-template-rows:auto 1fr auto;gap:15px;min-height:330px}
.regulatory-document-code{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;font-size:13px;font-weight:900;letter-spacing:.06em}
.regulatory-document-card h2{margin:2px 0 9px}
.regulatory-document-card p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.55}
.regulatory-document-card button[disabled]{cursor:not-allowed;opacity:.62}
.document-feature-list{display:grid;gap:8px;margin-top:16px}
.document-feature-list span{display:flex;align-items:flex-start;gap:8px;color:#536276;font-size:10px;line-height:1.4}
.document-feature-list i{font-style:normal;color:var(--success);font-weight:850}
.roadmap-card{margin-top:18px}
.roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.roadmap-grid span{padding:11px 12px;border:1px solid #e2e7eb;border-radius:9px;background:#f7f9fa;color:#4f6074;font-size:10.5px;font-weight:700}

@media(max-width:1050px){
  .document-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .regulatory-document-grid{grid-template-columns:1fr}
  .regulatory-document-card{min-height:0}
}
@media(max-width:680px){
  .document-workflow,.roadmap-grid{grid-template-columns:1fr}
  .bar-head>.num{gap:8px}
}


/* V14 — tableau de bord, produits et espacements */
.dashboard-split{grid-template-columns:repeat(2,minmax(0,1fr))}
.client-bar-track svg rect{fill:var(--slate)}
.bar-label{display:grid;gap:6px;min-width:0;padding-right:14px}
.bar-label>strong,.bar-label>span{display:block}
.form-top-actions{justify-content:flex-end;margin:0 0 4px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.sri-column{width:66px;white-space:nowrap}
.target-status-column{width:112px;min-width:112px}
.product-category-card table td.target-status-column,.product-category-card table th.target-status-column{padding-left:8px;padding-right:8px}
@media(max-width:1180px){.dashboard-split{grid-template-columns:1fr}}

/* V15 — frais produits */
.form-fieldset { border: 1px solid var(--line, #d8e0ea); border-radius: 12px; padding: 14px; margin: 2px 0 10px; }
.form-fieldset legend { padding: 0 8px; color: var(--navy, #162953); font-weight: 700; }
.form-row.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .form-row.three-columns { grid-template-columns: 1fr; } }

/* V16 — archives, documents et bibliothèques internes */
.page-heading-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.page-heading-actions .back-link{margin:0}
.yield-column{width:88px;min-width:88px;white-space:nowrap}
.documents-column{width:132px;min-width:132px}
.document-badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.document-badges a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:4px 6px;border-radius:7px;background:#edf1f6;color:var(--navy);font-size:8.5px;font-weight:850;border:1px solid #d8e0e9}
.document-badges a:hover{background:var(--beige)}
.muted-inline{color:var(--muted)}
.text-button{border:0;background:transparent;color:#315d83;font:inherit;font-weight:700;padding:2px 0;cursor:pointer}
.text-button:hover{text-decoration:underline}
.bar-label{display:flex!important;align-items:baseline;gap:10px!important;flex-wrap:wrap;padding-right:14px}
.bar-label>strong,.bar-label>span{display:inline-block!important}
.palette-grid{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:12px}
.palette-grid article{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff;display:grid}
.palette-grid article>span{height:72px;background:var(--swatch)}
.palette-grid strong,.palette-grid small{padding:7px 10px 0}
.palette-grid small{padding-top:0;padding-bottom:9px;color:var(--muted)}
.resource-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.resource-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfd;display:flex;flex-direction:column;gap:7px}
.resource-card h3{margin:0;color:var(--navy);font-size:15px}
.resource-card p,.resource-card small{margin:0;color:var(--muted);word-break:break-word}
.resource-card .row-actions{margin-top:auto;padding-top:8px}
@media(max-width:1100px){.palette-grid{grid-template-columns:repeat(3,1fr)}.resource-card-grid{grid-template-columns:1fr}.documents-column{min-width:105px;width:105px}}
@media(max-width:760px){.palette-grid{grid-template-columns:repeat(2,1fr)}.page-heading-actions{align-items:flex-start}}


/* V16.2 — tableau produits compact et icône PNB en euros */
.metric-icon-currency{font-size:19px;font-weight:850;line-height:1;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.products-page-layout{grid-template-columns:minmax(270px,315px) minmax(0,1fr)}
.products-compact-table{table-layout:fixed;font-size:10.5px}
.products-compact-table th{padding:7px 6px;font-size:8.5px;letter-spacing:.025em}
.products-compact-table td{padding:8px 6px;line-height:1.25}
.products-compact-table td strong{font-size:10.5px;line-height:1.25}
.products-compact-table td small{font-size:8.8px;line-height:1.3;margin-top:2px}
.products-compact-table .product-name-cell strong{font-size:12.5px;line-height:1.22}
.products-compact-table .product-name-cell a{display:block;overflow-wrap:anywhere}
.products-compact-table .status-pill{padding:4px 6px;font-size:8px}
.products-compact-table .document-badges{gap:3px}
.products-compact-table .document-badges a{min-width:25px;padding:3px 4px;font-size:7.5px}
.products-compact-table .text-button{font-size:8.5px}
.products-compact-table .compact-archive-button{margin-top:5px}
.products-compact-table .col-product{width:24%}
.products-compact-table .col-sri{width:4.5%}
.products-compact-table .col-target{width:8.5%}
.products-compact-table .col-yield{width:7%}
.products-compact-table .col-fees{width:9%}
.products-compact-table .col-valuation{width:10.5%}
.products-compact-table .col-assets{width:11%}
.products-compact-table .col-documents{width:8%}
.products-compact-table .col-pnb{width:10.5%}
.products-compact-table .col-status{width:7%}
.products-compact-table .sri-column,.products-compact-table .yield-column,.products-compact-table .target-status-column,.products-compact-table .documents-column{width:auto;min-width:0}
.products-compact-table .product-status-cell{white-space:normal}
@media(max-width:1250px){.products-page-layout{grid-template-columns:1fr}.products-page-layout .sticky-card{position:static}.products-compact-table{min-width:980px}}

/* V17 — allocations en pourcentage ou en parts, encours sous-jacents et arbitrages */
.allocation-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.allocation-metrics span{font-size:10px;color:var(--muted);font-weight:650}
.allocation-units{width:120px!important;min-width:105px;text-align:right}
[data-allocation-input-mode="percentage"] .allocation-units-column,
[data-allocation-input-mode="units"] .allocation-percentage-column{display:none!important}
.allocation-form table th,.allocation-form table td{vertical-align:middle}
.allocation-form .hero-card{margin-bottom:0}
@media(max-width:900px){.allocation-metrics{align-items:flex-start}.allocation-title{align-items:flex-start;flex-direction:column}}

/* V19 — positions filtrées par catégorie et valorisation portée par les allocations AV / PER */
.position-value-fields{display:grid;gap:12px}
.allocation-position-note{padding:10px 12px;border-radius:10px;background:#f3f6fa;border-left:3px solid var(--blue);color:var(--navy)}
.allocation-calculated-units-column{min-width:105px}
.allocation-calculated-units{white-space:nowrap}
[data-allocation-input-mode="units"] .allocation-calculated-units-column{display:none!important}

/* V20 — frais produits et DCA */
.fee-grid > label{min-width:0}
.fee-grid input,.fee-grid select{width:100%}
.product-fees-cell{min-width:150px}
.product-fees-cell>span{display:block;white-space:nowrap;margin:2px 0}
.product-fees-cell>span small{display:inline;margin-left:5px}
.dca-amount-input,.dca-weight-input{min-width:92px}

/* V21 — frais lisibles et dossier patrimonial / espace client */
.product-fees-cell{font-weight:500;color:#425268}
.product-fees-cell>span{font-weight:500}
.product-fees-cell>span small{font-size:7px;font-weight:850;letter-spacing:.08em;color:var(--slate);background:#eef2f6;border-radius:5px;padding:2px 4px;vertical-align:1px}
.fee-report-line{display:block;margin-top:7px;color:var(--navy);font-size:11px;font-weight:500}
.fee-report-line small{font-size:8px;font-weight:850;letter-spacing:.08em;background:#edf1f6;border-radius:5px;padding:2px 4px;color:var(--slate)}

.patrimony-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(125deg,#f8fafc,#fff)}
.patrimony-hero h2{margin:3px 0 7px}.patrimony-hero p:not(.eyebrow){margin:0;color:var(--muted);font-size:11px}
.patrimony-kpis,.client-portal-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0}
.patrimony-kpis article,.client-portal-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow-soft)}
.patrimony-kpis span,.client-portal-kpis span{display:block;color:var(--muted);font-size:9.5px}.patrimony-kpis strong,.client-portal-kpis strong{display:block;color:var(--navy);font-size:18px;margin-top:7px}.patrimony-kpis small,.client-portal-kpis small{display:block;color:#8491a0;font-size:8.5px;margin-top:4px}
.client-subnav,.client-portal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px;padding:0;background:transparent;border-radius:0}
.client-subnav a,.client-portal-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border-radius:13px;color:#52657b;font-size:12px;font-weight:750;background:#f6f9fc;border:1px solid #d9e3ee;box-shadow:0 2px 6px rgba(22,41,83,.03)}
.client-subnav a:hover,.client-portal-tabs a:hover{background:#edf3f9;color:var(--navy);border-color:#cbd8e5;transform:translateY(-1px)}
.patrimony-section{margin-top:18px;scroll-margin-top:88px}
.patrimony-editor{border:1px solid #e2e7ec;border-radius:10px;background:#f8fafb;margin:12px 0}
.patrimony-editor summary{cursor:pointer;padding:11px 13px;color:var(--navy);font-size:10.5px;font-weight:800;list-style:none}
.patrimony-editor summary::-webkit-details-marker{display:none}.patrimony-editor[open] summary{border-bottom:1px solid #e2e7ec}.patrimony-editor form{padding:13px}
.patrimony-list{display:grid;gap:8px;margin-top:12px}.patrimony-list>article{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid #e6eaee;border-radius:10px;background:#fff}.patrimony-list>article>div:first-child{min-width:0}.patrimony-list strong{color:var(--navy);font-size:10.5px}.patrimony-list span,.patrimony-list small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.patrimony-row-value{text-align:right;min-width:210px}.patrimony-row-value .row-actions{justify-content:flex-end;margin-top:6px}

.client-portal-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px;border-radius:16px;background:linear-gradient(130deg,var(--navy),var(--navy-2));color:#fff;box-shadow:0 12px 28px rgba(22,41,83,.17)}
.client-portal-hero h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500;margin:4px 0 8px;color:#fff}.client-portal-hero p:not(.eyebrow){margin:0;color:#dce5ef;font-size:11px;max-width:650px}.client-portal-hero .eyebrow{color:#b8c7da}
.client-portal-total{text-align:right;min-width:240px}.client-portal-total span,.client-portal-total small{display:block;color:#cfdbea;font-size:9.5px}.client-portal-total strong{display:block;font-size:27px;margin:7px 0;color:#fff}
.client-preview-badge{background:#edf5f1;color:#446b5c}.client-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.client-portal-panel{margin-top:18px}.client-portal-grid>.client-portal-panel{margin-top:0}
.client-position-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 240px;gap:10px;margin:12px 0}.client-position-toolbar input,.client-position-toolbar select{min-height:38px}
.client-position-cards{display:grid;gap:9px}.client-position-cards>article{border:1px solid #e4e9ee;border-radius:12px;padding:13px 14px;background:#fbfcfd;transition:transform .15s ease,box-shadow .15s ease}.client-position-cards>article:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(31,57,113,.07)}.client-position-cards>article[hidden]{display:none}
.client-position-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.client-position-main>div{min-width:0}.client-position-main strong{color:var(--navy);font-size:11.5px}.client-position-main>strong{font-size:15px;white-space:nowrap}.client-position-main span,.client-position-main small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.client-position-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid #e8ecef}.client-position-metrics span{color:var(--muted);font-size:8.5px}.client-position-metrics strong{display:block;color:var(--navy);font-size:10px;margin-top:2px}
.client-simple-list{display:grid;gap:2px}.client-simple-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf0f3}.client-simple-list>div:last-child{border-bottom:0}.client-simple-list strong{color:var(--navy);font-size:10.5px}.client-simple-list span{display:block;color:var(--muted);font-size:9px;margin-top:3px}.client-simple-list>div>strong{white-space:nowrap}
.client-preview-note{margin-top:18px;padding:10px 12px;border-radius:9px;background:#f3f5f7;color:var(--muted);font-size:9px;text-align:center}

@media(max-width:1250px){.patrimony-kpis,.client-portal-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.client-portal-grid{grid-template-columns:1fr}.client-portal-hero{grid-template-columns:1fr}.client-portal-total{text-align:left}.client-position-toolbar{grid-template-columns:1fr}.patrimony-row-value{min-width:150px}}
@media(max-width:650px){.patrimony-kpis,.client-portal-kpis{grid-template-columns:repeat(2,1fr)}.patrimony-list>article,.client-position-main{flex-direction:column}.patrimony-row-value{text-align:left;min-width:0}.patrimony-row-value .row-actions{justify-content:flex-start}.client-position-metrics{grid-template-columns:1fr}}

/* V22 — dossier client, foyer, formulaires modernisés et placements détaillables */
select:not([multiple]){
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #cfd8e2;
  border-radius:10px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23162953' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:14px;
  padding:9px 34px 9px 11px;
  min-height:39px;
  color:var(--ink);
  box-shadow:0 1px 2px rgba(22,41,83,.03);
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
select:not([multiple]):hover{border-color:#aebdcd;background-color:#fcfdff}
select:not([multiple]):focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
input[type="file"]{border:1px solid #cfd8e2;border-radius:10px;background:#fff;color:var(--muted);padding:5px;min-height:42px}
input[type="file"]::file-selector-button{border:0;border-radius:7px;background:var(--beige);color:var(--navy);font-weight:800;padding:8px 11px;margin-right:9px;cursor:pointer}
.google-import-form label{display:grid;gap:6px;color:#39485b;font-size:10.5px;font-weight:750}
.google-import-form select,.google-import-form input[type="file"]{width:100%}

.client-owner-static{display:flex;flex-direction:column;justify-content:center;min-width:180px;max-width:260px;border-radius:10px;padding:7px 11px;border:1px solid #dce3ea;background:#f4f7fa;line-height:1.15}
.client-owner-static span{font-size:10.5px;font-weight:850;color:var(--navy)}
.client-owner-static small{font-size:8.5px;color:var(--muted);margin-top:3px}
.client-owner-static.owner-seve{background:#f7f3ea;border-color:#e9deca}.client-owner-static.owner-seve span{color:#745b2e}
.client-owner-static.owner-hodas{background:#eef3f8;border-color:#d9e3ed}

.client-file-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(130deg,var(--navy),var(--navy-2));color:#fff;overflow:hidden;position:relative}
.client-file-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.06)}
.client-file-hero h2{font-size:25px;margin:4px 0 6px;color:#fff}.client-file-hero p:not(.eyebrow){margin:0;color:#dce5ef;font-size:10.5px}
.client-file-hero .eyebrow,.client-file-hero .client-identity-summary,.client-file-hero .client-contact-summary{color:#dce5ef}
.client-file-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;position:relative;z-index:1}.client-file-status small{color:#dce5ef;font-size:9px}
.client-main-nav{margin-top:18px}.client-main-nav a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.client-file-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.client-file-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:18px;margin-top:18px}
.relationship-list{display:grid;gap:8px}.relationship-list>article{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:1px solid #e4e9ee;border-radius:10px;background:#fbfcfd;padding:11px 12px}.relationship-list strong{color:var(--navy);font-size:10.5px}.relationship-list span,.relationship-list small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.household-summary-card{margin-top:18px;background:linear-gradient(130deg,#fff,#f8fafc)}.household-members{display:flex;gap:7px;flex-wrap:wrap;margin:5px 0 14px}.household-members a{padding:5px 9px;border-radius:999px;background:#edf2f7;color:var(--navy);font-size:9.5px;font-weight:750}
.household-editor{margin-top:14px}

.client-position-cards>details.client-position-card{border:1px solid #e4e9ee;border-radius:12px;background:#fbfcfd;transition:box-shadow .15s ease,border-color .15s ease;overflow:hidden}
.client-position-cards>details.client-position-card:hover{box-shadow:0 8px 18px rgba(31,57,113,.07)}
.client-position-cards>details.client-position-card[open]{background:#fff;border-color:#cfdbe6;box-shadow:0 10px 24px rgba(31,57,113,.08)}
.client-position-cards>details.client-position-card[hidden]{display:none}
.client-position-summary{cursor:pointer;list-style:none;padding:13px 14px}.client-position-summary::-webkit-details-marker{display:none}.client-position-summary::marker{content:""}
.client-position-value{text-align:right}.client-position-value small{font-size:8px!important;color:var(--slate)!important;margin-top:5px!important}
.client-position-details{padding:0 14px 15px;border-top:1px solid #e7ebef;background:#fff}
.position-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px}.position-detail-grid article{border:1px solid #e7ebef;background:#f8fafb;border-radius:9px;padding:9px 10px}.position-detail-grid span{display:block;color:var(--muted);font-size:8px}.position-detail-grid strong{display:block;color:var(--navy);font-size:9.5px;margin-top:4px;word-break:break-word}
.client-allocation-detail{margin-top:12px;border:1px solid #e5e9ed;border-radius:10px;padding:11px}.detail-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.detail-section-head strong{font-size:10px;color:var(--navy)}.detail-section-head span{font-size:8.5px;color:var(--muted)}
.allocation-support-list{display:grid;gap:0}.allocation-support-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f3}.allocation-support-list>div:last-child{border-bottom:0}.allocation-support-list strong{font-size:9.5px;color:var(--navy)}.allocation-support-list span{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}
.client-position-documents{margin-top:12px;padding-top:10px;border-top:1px solid #e7ebef}.client-position-documents>strong{font-size:9.5px;color:var(--navy)}.client-position-documents>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.client-position-documents a{font-size:8.5px;font-weight:700;padding:5px 7px;border-radius:7px;background:#eef2f6;color:var(--navy)}

@media(max-width:1100px){.client-file-grid{grid-template-columns:1fr}.client-file-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.client-owner-static{display:none}.client-file-hero{flex-direction:column}.client-file-status{align-items:flex-start}.client-file-kpis{grid-template-columns:1fr 1fr}.position-detail-grid{grid-template-columns:1fr}.detail-section-head{align-items:flex-start;flex-direction:column}}
.relationship-main{min-width:0;flex:1}.relationship-settings{margin-top:8px}.relationship-settings summary{cursor:pointer;color:var(--navy-2);font-size:8.5px;font-weight:800}.relationship-settings form{margin-top:8px;padding:10px;border:1px solid #e5e9ed;border-radius:9px;background:#fff}

/* V23 — valorisations, formulaires internes scrollables, marketing visuel */
.sidebar-standalone{padding:0 6px 10px;margin:0 0 6px;border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar-standalone a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#d8e2ee;font-size:10px;font-weight:760;text-decoration:none}
.sidebar-standalone a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.sidebar-standalone a:hover,.sidebar-standalone a.active{background:rgba(119,148,187,.2);color:#fff}
@media(min-width:1001px){.scrollable-create-card{max-height:calc(100vh - 138px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.scrollable-create-card::-webkit-scrollbar{width:7px}.scrollable-create-card::-webkit-scrollbar-thumb{background:#cbd5df;border-radius:999px}}
.valuation-category-stack{display:grid;gap:16px;margin-top:16px}.valuation-category-card .valuation-table input{min-width:115px}.valuation-category-card .valuation-table input[type="url"]{min-width:220px}.valuation-intro-card{position:sticky;top:12px;z-index:4}.valuation-sticky-actions{position:sticky;bottom:10px;z-index:4;margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border:1px solid #d8e1ea;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 9px 24px rgba(22,41,83,.11)}.valuation-sticky-actions span{font-size:9px;color:var(--muted)}
.compact-link-card{margin-top:16px}.funding-form{max-width:760px}.funding-form+ .table-wrap{margin-top:14px}
.marketing-groups{display:grid;gap:16px}.marketing-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.visual-resource-card{padding:0;overflow:hidden}.resource-preview{display:block;height:155px;background:#f3f5f7;border-bottom:1px solid #e4e8ed}.resource-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.resource-file-placeholder{height:120px;display:grid;place-items:center;background:linear-gradient(145deg,#f1f4f7,#e8edf2);border-bottom:1px solid #e1e6eb}.resource-file-placeholder span{font-size:18px;font-weight:850;color:var(--slate)}.resource-card-body{padding:12px}.resource-card-body h3{margin:0 0 5px}.resource-card-body p{word-break:break-word}.marketing-category{overflow:hidden}
[data-private-structure-field][hidden],[data-private-position-field][hidden]{display:none!important}
@media(max-width:1200px){.marketing-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.marketing-resource-grid{grid-template-columns:1fr}.valuation-intro-card{position:static}.valuation-sticky-actions{position:static;flex-direction:column;align-items:stretch}}

/* V24 — conformité client, multi-upload KYC et enveloppes. */
.compliance-status-row,.client-compliance-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.seve-compliance-box{border:1px solid #b7d8c2;background:#f3fbf5;border-radius:12px;padding:12px}
.seve-compliance-box .checkbox-line{align-items:flex-start}.seve-compliance-box small{display:block;margin-top:3px;color:var(--muted);font-weight:500}
.kyc-upload-rows{display:grid;gap:9px}.kyc-upload-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(180px,1.5fr) 135px 105px minmax(140px,1fr) minmax(140px,1fr) 36px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafbfd}
.kyc-upload-row label{margin:0}.kyc-upload-row .compact-check{align-self:center;margin-top:18px}.danger-row-button{align-self:end;margin-bottom:2px}
.valuation-top-actions{margin-bottom:12px}
@media(max-width:1180px){.kyc-upload-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kyc-upload-row .danger-row-button{grid-column:2;justify-self:end}.kyc-upload-row .compact-check{margin-top:0}}
@media(max-width:700px){.kyc-upload-row{grid-template-columns:1fr}.kyc-upload-row .danger-row-button{grid-column:auto}}

/* V24 — conformité, enveloppes et corrections marketing */
.client-file-status .client-compliance-pills{justify-content:flex-end;flex-wrap:wrap}.seve-compliance-box{border:1px solid rgba(34,139,94,.28);background:rgba(34,139,94,.07);border-radius:14px;padding:12px 14px}.kyc-upload-row{align-items:end}.valuation-top-actions{margin-bottom:14px}.marketing-resource-grid img{display:block;width:100%;height:180px;object-fit:contain;background:#f7f8fa}.resource-preview{display:block;overflow:hidden;border-radius:12px 12px 0 0}.envelope-note{font-size:.78rem;color:var(--muted)}

/* V25 — détail allocation client et formulaire KYC compact */
.allocation-performance-list{display:grid;gap:8px}
.allocation-performance-row{display:grid!important;grid-template-columns:minmax(230px,1.8fr) repeat(4,minmax(105px,.72fr));gap:12px;align-items:center;padding:10px 0!important;border-bottom:1px solid #edf0f3}
.allocation-performance-row:last-child{border-bottom:0}
.allocation-fund-identity strong{font-size:10px;color:var(--navy)}
.allocation-fund-identity span{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}
.allocation-fund-metric{text-align:right;min-width:0}
.allocation-fund-metric span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}
.allocation-fund-metric strong{display:block;font-size:9.3px;color:var(--navy);white-space:nowrap}
.allocation-fund-metric small{display:block;font-size:8px;margin-top:2px;color:var(--muted)}
.allocation-fund-metric.positive strong,.allocation-fund-metric.positive small{color:#1f7a55}
.allocation-fund-metric.negative strong,.allocation-fund-metric.negative small{color:#b44343}
.compact-top-save{padding:9px 14px;font-size:.76rem;white-space:nowrap}
.kyc-upload-rows{border:1px solid var(--line);border-radius:12px;background:#fafbfd;padding:8px;gap:7px}
.kyc-upload-row{grid-template-columns:minmax(125px,1fr) minmax(175px,1.35fr) 120px 104px minmax(120px,1fr) 26px;padding:8px;border:0;border-bottom:1px solid #e8edf1;border-radius:0;background:transparent;gap:7px;align-items:end}
.kyc-upload-row:last-of-type{border-bottom:0}
.kyc-upload-row .kyc-row-custom{grid-column:1 / span 2}
.danger-row-button{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;border-radius:7px!important;font-size:12px!important;line-height:1!important;align-self:center!important;margin:0!important}
.kyc-add-row-inside{display:flex;justify-content:flex-end;padding:5px 2px 1px}
@media(max-width:1200px){.allocation-performance-row{grid-template-columns:minmax(200px,1.5fr) repeat(2,minmax(110px,1fr))}.allocation-fund-metric.performance-metric{grid-column:auto}.kyc-upload-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kyc-upload-row .danger-row-button{grid-column:2;justify-self:end}.kyc-upload-row .kyc-row-custom{grid-column:auto}}
@media(max-width:760px){.allocation-performance-row{grid-template-columns:1fr 1fr}.allocation-fund-identity{grid-column:1/-1}.allocation-fund-metric{text-align:left}.kyc-upload-row{grid-template-columns:1fr}.kyc-upload-row .danger-row-button{grid-column:auto;justify-self:end}.compact-top-save{width:100%}}

/* V27 — prêts amortissables, co-emprunteurs et immobilier net de dette */
.patrimony-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.patrimony-real-estate-title{align-items:flex-start}.patrimony-real-estate-summary{display:grid;grid-template-columns:repeat(3,auto);gap:6px 14px;text-align:right;align-items:end}.patrimony-real-estate-summary span{font-size:8.5px;color:var(--muted)}.patrimony-real-estate-summary span strong{display:block;margin-top:2px;color:var(--navy);font-size:11px}.patrimony-real-estate-summary .net-real-estate strong{font-size:13px}.patrimony-real-estate-summary small{grid-column:1/-1;font-size:7.5px;color:#8b97a4}
.shared-debt-box{border:1px solid #dfe6ed;border-radius:12px;background:#f8fafc;padding:12px}.shared-debt-box .compact-title{margin-bottom:8px}.shared-debt-box h3{margin:2px 0 0;font-size:12px;color:var(--navy)}
@media(max-width:900px){.patrimony-real-estate-title{flex-direction:column}.patrimony-real-estate-summary{text-align:left;grid-template-columns:1fr 1fr 1fr}.form-row.four-columns{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.patrimony-real-estate-summary{grid-template-columns:1fr}.patrimony-real-estate-summary small{grid-column:auto}.form-row.four-columns{grid-template-columns:1fr}}
.form-row.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.form-row.four-columns{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.form-row.four-columns{grid-template-columns:1fr}}

/* V28 — comptes externes par parts et fiche fiscale importable */
.external-valuation-box{border:1px solid #dfe6ed;border-radius:12px;background:#f8fafc;padding:12px}
.external-valuation-box .compact-title{margin-bottom:8px}.external-valuation-box h3{margin:2px 0 0;font-size:12px;color:var(--navy)}
.tax-sheet-card{scroll-margin-top:88px}.tax-sheet-title{align-items:flex-start}.tax-import-box{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,.7fr);gap:12px;margin:12px 0 16px;padding:12px;border:1px solid #dce4eb;border-radius:12px;background:linear-gradient(135deg,#f7f9fb,#fff)}
.tax-import-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.tax-import-form .tax-import-file{grid-column:1/-1}.tax-import-form>button{grid-column:2}.tax-import-form label{margin:0}.tax-import-form label>span{display:block;font-size:9px;font-weight:780;color:var(--navy);margin-bottom:6px}.tax-import-form small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.tax-import-source{display:flex;flex-direction:column;justify-content:center;padding:10px 12px;border-left:1px solid #e2e7ec}.tax-import-source strong{font-size:9.5px;color:var(--navy);word-break:break-word}.tax-import-source span{font-size:8px;color:var(--muted);margin-top:4px}
.tax-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tax-form-column{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfcfd}.tax-form-column h3{font-size:12px;color:var(--navy);margin:0 0 10px}.tax-declarants-panel{margin-top:15px;padding-top:14px;border-top:1px solid #e5e9ed}.tax-declarants-table{min-width:760px}.tax-declarants-table td,.tax-declarants-table th{padding:8px 9px}.tax-declarants-table td strong{font-size:10px;color:var(--navy)}
.per-ceiling-panel{margin-top:15px;padding-top:14px;border-top:1px solid #e5e9ed}.per-ceiling-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:10px 0}.per-ceiling-card{border:1px solid var(--line,#d9e0ea);border-radius:12px;padding:12px;background:#fff}.per-ceiling-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:10px;color:var(--navy)}.per-ceiling-card-head span{font-size:8.5px;color:var(--muted);text-align:right}.per-ceiling-table{width:100%;font-size:9px}.per-ceiling-table td{padding:4px 6px;border-bottom:1px solid #f0f2f5}.per-ceiling-hint{display:block;margin-top:6px}
@media(max-width:980px){.tax-import-box,.tax-form-grid{grid-template-columns:1fr}.tax-import-form{grid-template-columns:1fr}.tax-import-source{border-left:0;border-top:1px solid #e2e7ec}.external-valuation-box .three-columns{grid-template-columns:1fr}}
.tax-sheet-card{padding:0!important;overflow:hidden}.tax-sheet-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none}.tax-sheet-summary::-webkit-details-marker{display:none}.tax-sheet-summary h2{margin:2px 0 4px}.tax-sheet-summary p{margin:0}.tax-sheet-summary-metrics{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:8.5px}.tax-sheet-summary-metrics span{display:flex;flex-direction:column;align-items:flex-end}.tax-sheet-summary-metrics strong{font-size:11px;color:var(--navy);margin-top:2px}.tax-sheet-summary-metrics b{font-size:18px;color:var(--navy);transition:transform .18s ease}.tax-sheet-card[open] .tax-sheet-summary-metrics b{transform:rotate(180deg)}.tax-sheet-body{padding:0 18px 18px;border-top:1px solid #e5e9ed}.tax-sheet-body>.card-title{margin-top:14px}
@media(max-width:700px){.tax-sheet-summary{align-items:flex-start;flex-direction:column}.tax-sheet-summary-metrics span{align-items:flex-start}}

/* V29 — profil investisseur, simulateurs et portail documentaire. */
.profile-radar-card{overflow:hidden}.profile-radar{display:grid;grid-template-columns:minmax(300px,430px) minmax(220px,1fr);gap:22px;align-items:center}.profile-radar svg{width:100%;max-width:430px;height:auto;margin:auto}.profile-radar text{font-size:9px;fill:#5e6878;font-family:Arial,sans-serif}.radar-ring{fill:none;stroke:#e6e8ec;stroke-width:1}.radar-ring-3,.radar-ring-4{fill:#fff5d7}.radar-ring-5{fill:#f9e7c0}.radar-ring-6,.radar-ring-7{fill:#fde0e9}.radar-axis{stroke:#d7dce3;stroke-width:1}.profile-radar [data-radar-value]{fill:rgba(201,154,46,.62);stroke:#c99a2e;stroke-width:2}.profile-radar-legend{display:grid;gap:8px}.profile-radar-legend span{display:flex;justify-content:space-between;gap:15px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fafbfc;color:var(--muted)}.profile-radar-legend strong{color:var(--navy);font-size:10px;text-align:right}.mini-format-badge{display:inline-flex;align-items:center;padding:1px 5px;border-radius:999px;background:#eaf0fb;color:var(--navy);font-size:8px;font-weight:850}

.simulator-intro{margin-bottom:16px}.simulator-intro h2{margin:3px 0 6px}.simulator-intro p{margin:0;color:var(--muted);max-width:900px}.simulator-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.simulator-card{position:relative;min-height:175px;padding:18px;border:1px solid #e9edf1;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(22,41,83,.05);text-decoration:none;color:inherit;transition:.18s ease}.simulator-card:hover,.simulator-card.active{transform:translateY(-2px);border-color:#b9c6d8;box-shadow:0 10px 25px rgba(22,41,83,.10)}.simulator-card h3{margin:9px 0 7px;color:var(--navy);font-size:15px}.simulator-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.simulator-category{position:absolute;right:12px;top:0;transform:translateY(-1px);padding:5px 9px;border-radius:0 0 7px 7px;background:var(--navy);color:#fff;font-size:8px;font-weight:850}.simulator-icon{font-size:27px;color:var(--sky)}.category-fiscalite .simulator-category{background:var(--navy-2)}.category-financement .simulator-category{background:var(--warning)}.category-immobilier .simulator-category{background:var(--success)}.category-entreprise .simulator-category{background:#7794bb}.simulator-workbench{margin-top:18px}.simulator-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:20px;align-items:start}.simulator-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.simulator-results{display:grid;gap:10px;position:sticky;top:18px}.simulator-results article{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.simulator-results span{display:block;color:var(--muted);font-size:9px}.simulator-results strong{display:block;color:var(--navy);font-size:19px;margin-top:4px}.simulator-results small{display:block;color:var(--slate);font-size:8px;margin-top:3px}

.client-portal-docs{margin-top:18px}.portal-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-document-group{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fbfcfd}.portal-document-group h3{margin:0 0 9px;color:var(--navy);font-size:12px}.portal-document-list{display:grid;gap:7px}.portal-document-list a{display:flex;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:8px;background:#fff;border:1px solid #e5e9ee;color:var(--navy);text-decoration:none;font-size:9px}.portal-document-list a span{color:var(--muted);font-size:8px}.portal-upload-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

/* La palette doit montrer la couleur dans tout le pavé supérieur, indépendamment des variables CSS. */
.palette-grid article>span{display:block;height:82px;border-bottom:1px solid rgba(0,0,0,.06)}

@media(max-width:1100px){.simulator-card-grid{grid-template-columns:repeat(2,1fr)}.simulator-form{grid-template-columns:1fr}.simulator-results{position:static}.profile-radar{grid-template-columns:1fr}.portal-document-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.simulator-card-grid,.simulator-inputs,.portal-document-grid{grid-template-columns:1fr}.profile-radar text{font-size:8px}}

.tax-sheet-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.tax-sheet-actions .tag{margin-left:2px}
@media(max-width:760px){.tax-sheet-title{flex-direction:column}.tax-sheet-actions{justify-content:flex-start}}

/* V31 - Editeur DER et espace client */
.regulatory-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-self:center}.der-editor-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px;margin-bottom:16px}.der-editor-hero h2{margin:2px 0 7px}.der-editor-hero p{margin:0;color:var(--muted);max-width:760px}.der-editor-hero small{display:block;margin-top:7px;color:var(--slate)}.der-top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.der-editor-form{display:grid;gap:16px}.der-editor-section{padding:18px}.der-editor-section>.card-title{margin-bottom:14px}.der-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.der-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.der-field-grid label{display:grid;gap:6px;color:var(--navy);font-size:10px;font-weight:750}.der-field-grid label.wide{grid-column:span 2}.der-field-grid input,.der-edit-table input,.der-edit-table textarea{width:100%;border:1px solid #cdd6de;border-radius:8px;background:#fff;color:var(--ink);padding:9px 10px;font:inherit;outline:none}.der-field-grid input:focus,.der-edit-table input:focus,.der-edit-table textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}.der-edit-table-wrap{overflow-x:auto}.der-edit-table{min-width:760px}.der-edit-table td{padding:8px}.der-edit-table textarea{resize:vertical;min-height:48px}.der-save-bar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;position:sticky;bottom:12px;z-index:4;box-shadow:0 10px 30px rgba(22,41,83,.15)}.der-save-bar>div:first-child{display:grid;gap:3px}.der-save-bar small{color:var(--muted)}.der-save-bar>div:last-child{display:flex;gap:8px}.der-reset-form{display:flex;justify-content:flex-end;margin-top:10px}@media(max-width:900px){.der-editor-hero,.der-save-bar{align-items:flex-start;flex-direction:column}.der-field-grid,.der-field-grid.two{grid-template-columns:1fr}.der-field-grid label.wide{grid-column:auto}.der-top-actions,.der-save-bar>div:last-child{width:100%}.der-top-actions>*{flex:1}.der-save-bar>div:last-child>*{flex:1}}

/* V31 — espace client, questionnaires et palette */
.palette-grid .palette-swatch{display:block;height:86px;border-bottom:1px solid rgba(0,0,0,.08)}
.palette-grid .palette-swatch-1{background:#162953}
.palette-grid .palette-swatch-2{background:#1F3971}
.palette-grid .palette-swatch-3{background:#71869F}
.palette-grid .palette-swatch-4{background:#7794BB}
.palette-grid .palette-swatch-5{background:#EDE3D2}
.palette-grid .palette-swatch-6{background:#DFE2DF}

.client-portal-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px;align-items:stretch}
.client-portal-overview-grid>.client-portal-panel{margin-top:0;min-width:0}
.portal-half-card .profile-radar{grid-template-columns:minmax(230px,.95fr) minmax(180px,.75fr);gap:14px}
.portal-half-card .profile-radar svg{max-width:330px}
.portal-half-card .profile-radar-legend span{padding:7px 9px;font-size:9px}
.patrimony-pie-card>.card-title>strong{font-size:16px;color:var(--navy);white-space:nowrap}
.patrimony-pie-layout{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(210px,1.1fr);gap:20px;align-items:center;min-height:285px}
.patrimony-pie{width:100%;max-width:300px;margin:auto;overflow:visible}
.pie-base{fill:none;stroke:#edf0f3;stroke-width:18}
.pie-segment{fill:none;stroke-width:18;transform:rotate(-90deg);transform-origin:60px 60px;stroke-linecap:butt}
.pie-color-1{stroke:#162953}.pie-color-2{stroke:#7794BB}.pie-color-3{stroke:#C99A2E}.pie-color-4{stroke:#71869F}
.patrimony-pie text{fill:#71869F;font-size:8px;font-family:Inter,Arial,sans-serif}.patrimony-pie .pie-center-value{fill:#162953;font-size:9px;font-weight:800}
.patrimony-pie-legend{display:grid;gap:9px}.patrimony-pie-legend>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-template-areas:'dot label share' '. value value';gap:2px 7px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.patrimony-pie-legend .pie-legend-dot{grid-area:dot;width:9px;height:9px;border-radius:50%;display:block}.patrimony-pie-legend .pie-color-1{background:#162953}.patrimony-pie-legend .pie-color-2{background:#7794BB}.patrimony-pie-legend .pie-color-3{background:#C99A2E}.patrimony-pie-legend .pie-color-4{background:#71869F}.patrimony-pie-legend strong{grid-area:label;color:var(--navy);font-size:9.5px}.patrimony-pie-legend span:not(.pie-legend-dot){grid-area:share;color:var(--navy);font-size:9px;font-weight:800}.patrimony-pie-legend small{grid-area:value;color:var(--muted);font-size:8px;text-align:right}
.position-title-with-badge{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.hodas-badge{display:inline-flex;align-items:center;min-height:17px;padding:2px 6px;border-radius:999px;background:#eaf0f8;color:#162953;font-size:7px;font-weight:900;letter-spacing:.06em;border:1px solid #d6e0ed}
.portal-kyc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.portal-kyc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd}.portal-kyc-row>div:first-child{display:grid;gap:3px}.portal-kyc-row strong{font-size:9.5px;color:var(--navy)}.portal-kyc-row small{font-size:8px;color:var(--muted)}.kyc-mini-status{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:7.5px;font-weight:850;white-space:nowrap}.kyc-row-ok .kyc-mini-status{background:#e7f4ec;color:#2b7054}.kyc-row-expired .kyc-mini-status{background:#fff1d9;color:#9a6515}.kyc-row-missing .kyc-mini-status{background:#fbe7e7;color:#9f3d3d}.kyc-row-optional .kyc-mini-status{background:#eef1f5;color:#6d7887}.portal-signed-questionnaires{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.portal-signed-questionnaires>strong{display:block;margin-bottom:8px;color:var(--navy);font-size:10px}

.questionnaire-layout-clean{grid-template-columns:minmax(0,1fr) 355px}.questionnaire-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.questionnaire-section-heading h2{margin:2px 0 0}.question-block{padding:14px 0 18px}.question-block legend{display:flex;align-items:flex-start;gap:10px;width:100%;margin-bottom:12px}.question-block legend>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;height:26px;border-radius:50%;background:var(--beige);color:var(--navy);font-size:9px;font-weight:900}.question-block legend>strong{font-size:11.5px;line-height:1.45;color:var(--navy);padding-top:4px}.question-block>input,.question-block>textarea{width:100%;border:1px solid #cdd6de;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}.answer-options label{transition:.15s ease}.answer-options label:has(input:checked){border-color:#7794BB;background:#eef3f8;box-shadow:0 0 0 1px rgba(119,148,187,.18)}
.questionnaire-result-clean{position:sticky;top:18px;padding:18px}.questionnaire-result-heading{padding-bottom:13px;margin-bottom:4px;border-bottom:1px solid var(--line)}.questionnaire-result-heading h2{margin:2px 0 5px}.questionnaire-result-heading p:last-child{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.questionnaire-result-fields{display:grid;gap:11px;margin-top:14px}.questionnaire-result-clean .questionnaire-result-fields>label{display:grid;gap:6px;margin:0;color:#39485b;font-size:9.5px;font-weight:780}.questionnaire-result-clean .questionnaire-result-fields>label>span:first-child{display:block}.questionnaire-result-clean input:not([type=checkbox]),.questionnaire-result-clean select,.questionnaire-result-clean textarea{width:100%;min-width:0;border:1px solid #cdd6de;border-radius:9px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit}.questionnaire-result-clean textarea{resize:vertical;min-height:100px}.questionnaire-result-clean .questionnaire-apply{display:flex!important;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#f7f9fb}.questionnaire-result-clean .questionnaire-apply input{width:auto;margin-top:2px}.questionnaire-save{width:100%;margin-top:14px}.questionnaire-documents{margin-top:18px}.signed-document-highlight{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;margin:0 0 14px;border:1px solid #cfe5d8;border-radius:10px;background:#f2faf5}.signed-document-highlight>div{display:grid;gap:3px}.signed-document-highlight span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#3c8a69;font-weight:850}.signed-document-highlight strong{color:var(--navy);font-size:10.5px}.signed-document-highlight small{color:var(--muted);font-size:8px}.questionnaire-history-actions{min-width:250px}.questionnaire-history-actions .small-button{white-space:nowrap}
@media(max-width:1180px){.client-portal-overview-grid{grid-template-columns:1fr}.portal-half-card .profile-radar{grid-template-columns:minmax(260px,430px) minmax(220px,1fr)}.questionnaire-layout-clean{grid-template-columns:1fr}.questionnaire-result-clean{position:static}}
@media(max-width:760px){.patrimony-pie-layout,.portal-half-card .profile-radar{grid-template-columns:1fr}.portal-kyc-grid{grid-template-columns:1fr}.signed-document-highlight{align-items:flex-start;flex-direction:column}}

/* V32 — LCB-FT interne, patrimoine interactif et rapports d'adéquation */
.lcbft-secret-banner{margin-top:10px;padding:9px 11px;border:1px solid #d8a7a7;border-radius:8px;background:#fff3f3;color:#8d3030;font-size:8.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.pie-debt-base{fill:none;stroke:#f0f1f3;stroke-width:10}.pie-debt-segment{fill:none;stroke-width:10;transform:rotate(-90deg);transform-origin:60px 60px;stroke-linecap:butt}.pie-debt-real-estate{stroke:#9aa3ae}.pie-debt-other{stroke:#c3c8cf}.pie-clickable{cursor:pointer;transition:opacity .15s ease,stroke-width .15s ease}.pie-clickable:hover,.pie-clickable.is-active{opacity:.78}.pie-segment.is-active{stroke-width:20}.pie-debt-segment.is-active{stroke-width:12}.pie-debt-caption{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:-3px;color:var(--muted);font-size:8px}.pie-debt-caption span,.pie-debt-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9aa3ae}.patrimony-pie-legend>button{appearance:none;border:1px solid var(--line);font:inherit;text-align:left;display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-template-areas:'dot label share' '. value value';gap:2px 7px;align-items:center;padding:9px 10px;border-radius:9px;background:#fafbfc;color:inherit;cursor:pointer;transition:.15s ease}.patrimony-pie-legend>button:hover,.patrimony-pie-legend>button.is-active{border-color:#9fb1c8;background:#f2f6fa;box-shadow:0 0 0 2px rgba(119,148,187,.12)}.patrimony-pie-legend>button .pie-legend-dot{grid-area:dot}.patrimony-pie-legend>button strong{grid-area:label;color:var(--navy);font-size:9.5px}.patrimony-pie-legend>button>span:not(.pie-legend-dot){grid-area:share;color:var(--navy);font-size:9px;font-weight:800}.patrimony-pie-legend>button small{grid-area:value;color:var(--muted);font-size:8px;text-align:right}.patrimony-pie-legend .pie-debt-legend{background:#f4f5f6}.patrimony-pie-details{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.pie-detail-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-end;margin-bottom:9px}.pie-detail-head h3{margin:1px 0 0;color:var(--navy);font-size:14px}.pie-detail-head>strong{color:var(--navy);font-size:13px}.pie-detail-list{display:grid;gap:6px}.pie-detail-list>div{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:9px 10px;border:1px solid #e2e6ea;border-radius:8px;background:#fff}.pie-detail-list>div>div:first-child{display:grid;gap:2px;min-width:0}.pie-detail-list strong{color:var(--navy);font-size:9px}.pie-detail-list small{color:var(--muted);font-size:7.8px}.pie-detail-values{display:grid;gap:2px;text-align:right;white-space:nowrap}.pie-detail-values span{font-size:7.8px;color:var(--slate)}
.suitability-home-grid{grid-template-columns:330px minmax(0,1fr)}.suitability-editor{display:grid;gap:16px}.suitability-editor-section{padding:18px}.suitability-editor-section>.card-title{margin-bottom:14px}.suitability-editor label{display:grid;gap:6px;color:#3d4b5c;font-size:9.5px;font-weight:760}.suitability-editor textarea{resize:vertical;min-height:80px}.client-profile-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.client-profile-snapshot-grid article{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.client-profile-snapshot-grid span{font-size:7.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.client-profile-snapshot-grid strong{font-size:9.5px;color:var(--navy)}.suitability-template-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.suitability-risk-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.suitability-risk-grid label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.suitability-risk-grid input{width:auto}.document-timing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-timing-grid label{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.document-timing-grid label>span{font-size:9px;color:var(--navy);font-weight:850}.document-timing-grid label:last-child{grid-template-columns:1fr 170px;align-items:end}.suitability-save-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;box-shadow:0 10px 28px rgba(22,41,83,.15)}.suitability-save-bar>div:first-child{display:grid;gap:2px}.suitability-save-bar small{color:var(--muted)}.suitability-history-actions{min-width:180px}
@media(max-width:1180px){.suitability-home-grid{grid-template-columns:1fr}.suitability-risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-profile-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pie-detail-list>div{align-items:flex-start;flex-direction:column}.pie-detail-values{text-align:left;white-space:normal}.client-profile-snapshot-grid,.suitability-risk-grid,.document-timing-grid{grid-template-columns:1fr}.document-timing-grid label:last-child{grid-template-columns:1fr}.suitability-save-bar{align-items:flex-start;flex-direction:column}.suitability-save-bar .row-actions{width:100%}}


/* V33 — rapport d'adéquation harmonisé */
.suitability-editor input:not([type="checkbox"]):not([type="radio"]),.suitability-editor select,.suitability-editor textarea{width:100%;padding:10px 11px;border:1px solid #cdd6de;border-radius:9px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.suitability-editor input:not([type="checkbox"]):not([type="radio"]):focus,.suitability-editor select:focus,.suitability-editor textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.suitability-editor input:disabled{background:#f1f4f7;color:#657487}.suitability-editor label{line-height:1.25}.suitability-editor textarea{line-height:1.48}
.suitability-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#eef2f6;width:max-content}.suitability-tabs button{border:0;border-radius:8px;background:transparent;color:var(--slate);padding:8px 13px;font-size:9px;font-weight:850;cursor:pointer}.suitability-tabs button.is-active{background:var(--navy);color:#fff;box-shadow:0 4px 12px rgba(22,41,83,.18)}
.suitability-person-fields[hidden],[data-suitability-panel][hidden]{display:none!important}.field-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 6px}.field-heading-row>label{margin:0}.field-heading-row .small-button{white-space:nowrap}
.suitability-risk-grid.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-choice{align-items:flex-start!important;min-height:112px}.risk-choice input{margin-top:3px}.risk-choice span{display:grid;gap:5px}.risk-choice strong{color:var(--navy);font-size:9.5px}.risk-choice small{display:block;color:var(--muted);font-size:8.2px;line-height:1.45;font-weight:500}
.suitability-auto-risk{display:grid;gap:6px;padding:14px 15px;border:1px solid rgba(119,148,187,.42);border-radius:11px;background:#f5f7fb;margin-bottom:14px}.suitability-auto-risk>span{font-size:7.8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.suitability-auto-risk>strong{color:var(--navy);font-size:11px}.suitability-auto-risk>p{margin:0;color:#40506a;font-size:9px;line-height:1.55;text-align:justify}.suitability-complementary-risk-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 9px}.suitability-complementary-risk-heading h3{margin:0;color:var(--navy);font-size:10px}.suitability-complementary-risk-heading p{margin:3px 0 0;color:var(--muted);font-size:8.3px}
.document-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-selection-grid article{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr);gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;transition:.15s ease}.document-selection-grid article:last-child{grid-template-columns:minmax(150px,.7fr) minmax(220px,1.2fr) minmax(180px,.8fr)}.document-selection-grid article.is-disabled{opacity:.57;background:#f3f5f7}.document-toggle{display:flex!important;align-items:center;gap:8px!important;align-self:center}.document-toggle input{width:auto!important}.document-toggle span{font-size:10px;color:var(--navy);font-weight:850}
.signature-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.signature-editor-grid article{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.signature-editor-grid h3{margin:0;color:var(--navy);font-size:12px}.signed-report-section input[type="file"]{padding:8px;background:#fafbfc}.signed-report-section .signed-document-highlight{margin-bottom:14px}
@media(max-width:900px){.suitability-risk-grid.detailed,.document-selection-grid,.signature-editor-grid{grid-template-columns:1fr}.document-selection-grid article,.document-selection-grid article:last-child{grid-template-columns:1fr}.field-heading-row{align-items:flex-start;flex-direction:column}}

/* V35 — espace client net, identité physique, lettre de mission et risques */
.client-portal-overview-grid>.portal-half-card{overflow:hidden}
.portal-half-card .profile-radar{grid-template-columns:1fr;gap:10px;align-content:start}
.portal-half-card .profile-radar svg{max-width:270px}
.portal-half-card .profile-radar-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.portal-half-card .profile-radar-legend span{min-width:0;padding:7px 8px;font-size:8.2px}
.portal-half-card .profile-radar-legend strong{min-width:0;overflow-wrap:anywhere;font-size:8.7px}
.patrimony-pie-card .card-title{align-items:flex-start}.patrimony-pie-card .card-title>div{min-width:0}.patrimony-pie-card .card-subtitle{max-width:470px}
.patrimony-pie-layout{grid-template-columns:minmax(150px,185px) minmax(0,1fr);gap:13px;min-height:0;align-items:center}
.patrimony-pie{max-width:185px}.patrimony-pie .pie-center-value{font-size:7.6px}.patrimony-pie text{font-size:6.8px}
.patrimony-pie-legend{min-width:0;gap:6px}.patrimony-pie-legend>button{min-width:0;padding:7px 8px;grid-template-columns:10px minmax(0,1fr) auto;gap:1px 5px}.patrimony-pie-legend>button strong{min-width:0;overflow-wrap:anywhere;font-size:8.5px}.patrimony-pie-legend>button>span:not(.pie-legend-dot){font-size:8px;white-space:nowrap}.patrimony-pie-legend>button small{font-size:7.5px;white-space:normal;overflow-wrap:anywhere}
.patrimony-pie-details{margin-top:10px;padding-top:10px}.pie-detail-list>div{min-width:0}.pie-detail-list>div>div{min-width:0}.pie-detail-values{min-width:155px;max-width:55%;white-space:normal}.pie-detail-values strong,.pie-detail-values span,.pie-detail-values small{overflow-wrap:anywhere}
.physical-client-identity{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.physical-client-identity[hidden]{display:none!important}
.letter-mission-editor input:not([type="checkbox"]):not([type="radio"]),.letter-mission-editor select,.letter-mission-editor textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid #cdd6de;border-radius:9px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.letter-mission-editor input:focus,.letter-mission-editor select:focus,.letter-mission-editor textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.letter-person-fields[hidden],[data-letter-panel][hidden]{display:none!important}.mission-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.checkbox-card{display:flex!important;align-items:center!important;gap:8px!important;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fafbfc;color:var(--navy)!important;font-weight:800!important}.checkbox-card input{width:auto!important;flex:0 0 auto}.letter-objective-grid{align-items:start}
.letter-risk-reference-wrap{margin-top:4px}.letter-risk-reference-table{min-width:980px}.letter-risk-reference-table th{white-space:normal;line-height:1.25}.letter-risk-reference-table td{vertical-align:middle;line-height:1.45}.letter-risk-reference-table td:first-child{min-width:170px}.letter-risk-reference-table td:last-child{min-width:250px}
@media(max-width:1350px){.client-portal-overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.patrimony-pie-layout{grid-template-columns:150px minmax(0,1fr)}.portal-half-card .profile-radar svg{max-width:235px}.portal-half-card .profile-radar-legend{grid-template-columns:1fr 1fr}}
@media(max-width:1120px){.client-portal-overview-grid{grid-template-columns:1fr}.portal-half-card .profile-radar{grid-template-columns:minmax(230px,.8fr) minmax(220px,1fr)}.portal-half-card .profile-radar svg{max-width:300px}.portal-half-card .profile-radar-legend{grid-template-columns:1fr}.patrimony-pie-layout{grid-template-columns:minmax(170px,220px) minmax(0,1fr)}.patrimony-pie{max-width:220px}.mission-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-half-card .profile-radar,.patrimony-pie-layout,.mission-type-grid{grid-template-columns:1fr}.portal-half-card .profile-radar-legend{grid-template-columns:1fr}.pie-detail-values{max-width:none;min-width:0}}
.client-identity-summary{display:block;margin-top:6px;color:var(--muted);font-size:8.5px;line-height:1.4}
.letter-mission-editor .form-grid{display:grid;gap:10px;align-items:end}.letter-mission-editor .form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.letter-mission-editor .form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.letter-mission-editor .form-grid.two-col,.letter-mission-editor .form-grid.three-col{grid-template-columns:1fr}}

/* V36 — allocation du rapport, lettre de mission et documents client. */
.letter-duration-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}
.mission-renewal-check{min-height:42px;padding:0 2px 10px;white-space:nowrap}
.allocation-report-preview{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.client-portal-docs .portal-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.letter-duration-row,.client-portal-docs .portal-document-grid{grid-template-columns:1fr}.mission-renewal-check{padding-bottom:0}}

/* V37 — Assistant de rendez-vous / transcription audio */
.edit-doc-side{display:grid;gap:18px;min-width:0}
.assistant-entry-card{display:grid;gap:14px}
.assistant-open-button{justify-self:start;margin-top:4px}
.meeting-recorder{display:grid;gap:13px}
.meeting-recorder-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.meeting-file-button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.meeting-recorder-status{padding:13px 14px;border:1px solid #ead7d4;border-radius:11px;background:#fff8f7}
.meeting-recorder-status strong{display:block;color:#9a3530;font-variant-numeric:tabular-nums;font-size:13px}
.meeting-recorder-controls{display:flex;gap:8px;margin-top:10px}
.meeting-audio-ready{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dce6e0;border-radius:11px;background:#f6faf7}
.meeting-audio-ready strong{display:block;color:var(--navy);font-size:11px}
.meeting-audio-ready span{display:block;color:var(--muted);font-size:9.5px;margin-top:3px;word-break:break-word}
.meeting-audio-retention{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}
.meeting-audio-retention span small{display:block;margin-top:4px;color:var(--muted);font-weight:500;line-height:1.45}
.meeting-recorder-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.meeting-recorder-message{font-size:10px;color:var(--muted);line-height:1.4}
.meeting-recorder-message.error{color:var(--danger);font-weight:700}
.assistant-page-head{display:grid;gap:12px;margin-bottom:18px}
.assistant-meeting-context{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#fff}
.assistant-meeting-context h2{margin:3px 0 5px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:500}
.assistant-meeting-context p{margin:0;color:var(--muted);font-size:10px}
.assistant-capture-card{margin-bottom:14px}
.assistant-session-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px}
.assistant-session-chip{display:grid;gap:3px;min-width:170px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none}
.assistant-session-chip.active{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.assistant-session-chip strong{font-size:9.5px;color:var(--navy)}
.assistant-session-chip span{font-size:9px;color:var(--muted)}
.assistant-error-card{display:flex;justify-content:space-between;align-items:center;gap:18px;border-color:#ecd1ce;background:#fff9f8;margin-bottom:14px}
.assistant-error-card p{margin:5px 0 0;color:#7a4a46;font-size:10.5px}
.assistant-review-form{display:grid;gap:16px}
.assistant-review-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:start}
.assistant-transcript-panel{position:sticky;top:16px}
.assistant-transcript-textarea{min-height:650px;width:100%;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:10.5px;line-height:1.6}
.assistant-audio-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;align-items:center}
.assistant-audio-meta>span:not(.tag){font-size:9px;color:var(--muted)}
.assistant-report-panel{display:grid;gap:12px}
.assistant-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.assistant-actions-card,.assistant-crm-card{margin:0}
.assistant-action-list,.assistant-suggestion-list{display:grid;gap:10px}
.assistant-action-row{display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd}
.assistant-suggestion-card{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}
.assistant-suggestion-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.assistant-suggestion-head strong{display:block;color:var(--navy);font-size:11px}
.assistant-suggestion-head small{display:block;color:var(--muted);font-size:9.5px;line-height:1.45;margin-top:4px}
.assistant-value-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.assistant-value-compare>div,.assistant-value-compare>label{display:grid;gap:5px;padding:10px;border:1px solid #e4e8ec;border-radius:9px;background:#fff}
.assistant-value-compare span{font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750}
.assistant-value-compare strong{font-size:10.5px;color:#4f5d70;white-space:pre-wrap;word-break:break-word}
.assistant-suggestion-choice{display:flex;justify-content:flex-end;gap:14px;align-items:center}
.assistant-suggestion-choice label{font-size:10px;font-weight:750;color:var(--muted);cursor:pointer}
.assistant-suggestion-choice label.apply{color:var(--success)}
.assistant-validation-bar{position:sticky;bottom:12px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;background:rgba(22,41,83,.97);border-radius:12px;box-shadow:0 8px 30px rgba(15,30,60,.2);color:#fff}
.assistant-validation-bar strong{display:block;font-size:10.5px}
.assistant-validation-bar span{display:block;margin-top:3px;color:#d8e0eb;font-size:9px}
.assistant-delete-audio-form{display:flex;justify-content:flex-end;margin-top:10px}
.client-meeting-assistant-card{margin-top:18px}
.client-assistant-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.client-assistant-grid h3{margin:0 0 10px;color:var(--navy);font-size:12px}
.client-task-list{display:grid;gap:8px}
.client-task-row{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd}
.client-task-row form{margin:0}.task-check{border:0;background:transparent;color:var(--navy);font-size:21px;line-height:1;cursor:pointer;padding:0}
.client-task-row strong{display:block;font-size:10.5px;color:var(--navy)}
.client-task-row span,.client-task-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px;line-height:1.4}
@media(max-width:1100px){.assistant-review-grid{grid-template-columns:1fr}.assistant-transcript-panel{position:static}.assistant-transcript-textarea{min-height:420px}.client-assistant-grid{grid-template-columns:1fr}}
@media(max-width:700px){.assistant-form-grid,.assistant-value-compare{grid-template-columns:1fr}.assistant-suggestion-head,.assistant-validation-bar,.assistant-meeting-context{align-items:flex-start;flex-direction:column}.assistant-validation-bar{bottom:8px}.assistant-validation-bar .primary{width:100%}.meeting-recorder-actions>*{width:100%}}

/* V39 — Assistant de rendez-vous : choix micro / visioconférence et états de capture. */
.meeting-recording-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.meeting-recording-mode{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;color:var(--navy);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.meeting-recording-mode:hover:not(:disabled){border-color:#aebccf;background:#fbfcfe;box-shadow:0 3px 12px rgba(15,36,68,.06)}
.meeting-recording-mode:disabled{opacity:.55;cursor:not-allowed}
.meeting-recording-mode-icon{font-size:18px;line-height:1}
.meeting-recording-mode strong{display:block;font-size:10.5px}
.meeting-recording-mode small{display:block;margin-top:4px;color:var(--muted);font-size:8.8px;font-weight:500;line-height:1.45}
.meeting-videoconference-help{display:grid;gap:3px;padding:10px 12px;border:1px solid #dde4ed;border-radius:10px;background:#f8fafc}
.meeting-videoconference-help strong{font-size:9.5px;color:var(--navy)}
.meeting-videoconference-help span{font-size:8.8px;color:var(--muted);line-height:1.45}
.meeting-recorder-state{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;color:var(--muted);font-size:8.5px;font-weight:700}
.meeting-recorder-active-mode{display:block;margin-top:4px;color:#7d4b47;font-size:9px;font-weight:700}
.meeting-recorder[data-recording-state="requesting"] .meeting-recorder-state,.meeting-recorder[data-recording-state="processing"] .meeting-recorder-state,.meeting-recorder[data-recording-state="transcribing"] .meeting-recorder-state{border-color:#d8e1ee;background:#f4f7fb;color:var(--navy)}
.meeting-recorder[data-recording-state="recording"] .meeting-recorder-state,.meeting-recorder[data-recording-state="paused"] .meeting-recorder-state{border-color:#ead7d4;background:#fff8f7;color:#9a3530}
.meeting-recorder[data-recording-state="complete"] .meeting-recorder-state{border-color:#dce6e0;background:#f6faf7;color:#3e7254}
.meeting-recorder[data-recording-state="error"] .meeting-recorder-state{border-color:#ecd1ce;background:#fff9f8;color:var(--danger)}
@media(max-width:700px){.meeting-recording-modes{grid-template-columns:1fr}}

/* V40 — lecture rendez-vous, profil client et champs IA harmonisés. */
.assistant-report-panel>label,.assistant-form-grid>label,.assistant-action-row>label:not(.checkbox-line){display:grid;grid-template-columns:1fr;gap:6px;align-content:start;margin:0;color:var(--navy);font-size:9.5px;font-weight:750}
.assistant-report-panel textarea,.assistant-report-panel input,.assistant-form-grid textarea,.assistant-form-grid input,.assistant-action-row textarea,.assistant-action-row input:not([type="checkbox"]){display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 10px;color:var(--text);font:inherit;line-height:1.45}
.assistant-report-panel textarea,.assistant-form-grid textarea{min-height:96px;resize:vertical}
.assistant-report-panel>label>textarea{min-height:104px}.assistant-report-panel>label:first-of-type>textarea{min-height:118px}
.assistant-form-grid{align-items:start}.assistant-form-grid>label{height:100%}.assistant-form-grid>label>textarea{height:100%;min-height:104px}
.client-detail-profile-card .profile-radar{grid-template-columns:minmax(430px,1.45fr) minmax(280px,.55fr)}
.client-detail-profile-card .profile-radar svg{max-width:650px}
.client-detail-patrimony-card{margin-top:16px}.client-detail-patrimony-card>.patrimony-pie-card{width:100%}.client-detail-patrimony-card .patrimony-pie-layout{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr)}.client-detail-patrimony-card .patrimony-pie{max-width:300px}
.meeting-detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.meeting-detail-hero{margin-bottom:16px}.meeting-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.meeting-detail-facts>div{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.meeting-detail-facts span{color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.04em}.meeting-detail-facts strong{color:var(--navy);font-size:10px;overflow-wrap:anywhere}.meeting-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.meeting-detail-grid>.card{margin:0}.meeting-detail-text{white-space:pre-wrap;color:#4f5d70;font-size:10.5px;line-height:1.65;margin-top:10px}.meeting-card[data-meeting-detail-url]{cursor:pointer}.meeting-card[data-meeting-detail-url]:hover{border-color:#aebccf;box-shadow:0 3px 12px rgba(15,36,68,.05)}.meeting-head h3 a{color:inherit;text-decoration:none}.meeting-head h3 a:hover{text-decoration:underline}
.suitability-ai-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 12px;border:1px solid #d9e1eb;border-radius:10px;background:#f7f9fc}.suitability-ai-toolbar .form-note{margin:0;flex:1;min-width:220px}
@media(max-width:980px){.client-detail-profile-card .profile-radar,.client-detail-patrimony-card .patrimony-pie-layout{grid-template-columns:1fr}.meeting-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-detail-grid{grid-template-columns:1fr}}
@media(max-width:650px){.meeting-detail-topbar{align-items:flex-start;flex-direction:column}.meeting-detail-facts{grid-template-columns:1fr}.suitability-ai-toolbar{align-items:stretch;flex-direction:column}.suitability-ai-toolbar .primary{width:100%}}
/* V40 — vue rendez-vous exhaustive. */
.meeting-transcript-card,.meeting-tasks-card{margin-bottom:16px}
.meeting-transcript-details{margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd;overflow:hidden}
.meeting-transcript-details>summary{cursor:pointer;padding:11px 13px;color:var(--navy);font-size:9.5px;font-weight:750;list-style-position:inside}
.meeting-detail-transcript{max-height:520px;overflow:auto;padding:14px;border-top:1px solid var(--line);background:#fff;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:10px;line-height:1.6;color:#415066}

/* V41 — référentiel dynamique, agrégateur réglementaire et responsive renforcé. */
*,*::before,*::after{box-sizing:border-box}
.content,.content>*,.card,.form-row>*{min-width:0;max-width:100%}
.page-heading-actions,.topbar,.topbar-actions,.row-actions,.actions{flex-wrap:wrap}
.row-actions{white-space:normal}
.suitability-editor textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:10.5px!important;font-weight:500!important;line-height:1.5!important}
.document-selection-grid article,.document-selection-grid article:last-child{grid-template-columns:minmax(135px,.72fr) minmax(0,1fr)}
.document-selection-grid article:last-child{grid-template-columns:minmax(135px,.62fr) minmax(160px,1.12fr) minmax(150px,.82fr)}
.document-selection-grid label,.document-selection-grid input,.document-selection-grid select{min-width:0;max-width:100%}
.client-profile-patrimony-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch;margin-bottom:16px}
.client-profile-patrimony-row>.card,.client-profile-patrimony-row .patrimony-pie-card{height:100%;margin:0}
.client-profile-patrimony-row .client-detail-profile-card .profile-radar{grid-template-columns:1fr;gap:8px}
.client-profile-patrimony-row .client-detail-profile-card .profile-radar svg{max-width:360px;max-height:250px;margin-inline:auto}
.client-profile-patrimony-row .profile-radar-legend{grid-template-columns:repeat(2,minmax(0,1fr))}
.client-profile-patrimony-row .client-detail-patrimony-card{margin:0;min-width:0}
.client-profile-patrimony-row .client-detail-patrimony-card .patrimony-pie-layout{grid-template-columns:minmax(145px,.7fr) minmax(0,1.3fr);gap:10px}
.client-profile-patrimony-row .client-detail-patrimony-card .patrimony-pie{max-width:190px}
.client-profile-patrimony-row .patrimony-pie-details{max-height:240px;overflow:auto}
.questionnaire-auto-profile-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #dce4ed;border-radius:9px;background:#f7f9fc}
.questionnaire-auto-profile-note>div{display:grid;gap:3px}.questionnaire-auto-profile-note strong{font-size:9.5px;color:var(--navy)}.questionnaire-auto-profile-note span{font-size:8.7px;color:var(--muted);line-height:1.4}
.questionnaire-result-radar{border:1px solid var(--line);border-radius:10px;background:#fbfcfd;padding:8px}
.questionnaire-result-radar .profile-radar{grid-template-columns:1fr}.questionnaire-result-radar .profile-radar svg{max-width:315px;margin:auto}.questionnaire-result-radar .profile-radar-legend{display:none}
.regulatory-signature-aggregator{margin-bottom:18px}.regulatory-client-picker{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}.regulatory-client-picker label{display:grid;gap:5px;color:var(--navy);font-size:9.5px;font-weight:750}.regulatory-client-picker select{width:100%}
.regulatory-package-form{display:grid;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.regulatory-package-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.regulatory-package-head>div{display:grid;gap:3px}.regulatory-package-head strong{color:var(--navy);font-size:12px}.regulatory-package-head span{color:var(--muted);font-size:9.5px}
.regulatory-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.regulatory-package-grid>label,.regulatory-package-missing{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd;min-width:0}.regulatory-package-grid input{width:auto;margin-top:2px;accent-color:var(--navy)}.regulatory-package-grid span{display:grid;gap:3px;min-width:0}.regulatory-package-grid strong{color:var(--navy);font-size:9.5px;overflow-wrap:anywhere}.regulatory-package-grid small{color:var(--muted);font-size:8.5px;line-height:1.35;overflow-wrap:anywhere}.regulatory-package-missing{display:grid;gap:3px;opacity:.6}
.asset-class-create-form,.asset-class-edit-form{min-width:0}.asset-class-create-form input,.asset-class-create-form textarea,.asset-class-edit-form input,.asset-class-edit-form textarea{min-width:0;width:100%}
@media(max-width:1250px){.document-selection-grid article:last-child{grid-template-columns:minmax(135px,.7fr) minmax(0,1fr)}.document-selection-grid article:last-child label:last-child{grid-column:2}.regulatory-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.client-profile-patrimony-row{grid-template-columns:1fr}.client-profile-patrimony-row .client-detail-patrimony-card .patrimony-pie-layout{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}}
@media(max-width:900px){.document-selection-grid article:last-child,.document-selection-grid article{grid-template-columns:1fr}.document-selection-grid article:last-child label:last-child{grid-column:auto}.regulatory-package-grid{grid-template-columns:1fr}.regulatory-client-picker{grid-template-columns:1fr}.regulatory-client-picker button{width:100%}}
@media(max-width:760px){.topbar-actions{display:flex!important;width:100%;justify-content:flex-start}.topbar-actions .button-ghost{display:inline-flex}.content{width:100%;overflow-x:hidden}.table-wrap{max-width:100%;overflow-x:auto}.questionnaire-auto-profile-note,.regulatory-package-head{align-items:stretch;flex-direction:column}.questionnaire-auto-profile-note .button-secondary,.regulatory-package-head .primary{width:100%}.suitability-save-bar{position:static;align-items:stretch;flex-direction:column}.suitability-save-bar .row-actions{width:100%;justify-content:stretch}.suitability-save-bar .row-actions>*{flex:1}}
.asset-class-manager-intro{margin-bottom:16px}.asset-class-create-form{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(120px,.65fr)) minmax(220px,1.5fr) auto;gap:9px;align-items:end}.asset-class-create-form label,.asset-class-edit-form label{display:grid;gap:5px;color:var(--navy);font-size:9px;font-weight:750}.asset-class-list{display:grid;gap:10px}.asset-class-row{display:flex;gap:10px;align-items:end}.asset-class-edit-form{display:grid;grid-template-columns:70px minmax(150px,1fr) repeat(3,minmax(120px,.65fr)) minmax(220px,1.5fr) auto;gap:9px;align-items:end;flex:1}.asset-class-risks-field textarea{min-height:58px;resize:vertical}.asset-class-row>form:last-child{padding-bottom:9px}
@media(max-width:1350px){.asset-class-create-form,.asset-class-edit-form{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-class-risks-field{grid-column:span 2}.asset-class-edit-form .row-actions{align-self:end}}
@media(max-width:760px){.asset-class-create-form,.asset-class-edit-form{grid-template-columns:1fr}.asset-class-risks-field{grid-column:auto}.asset-class-row{align-items:stretch;flex-direction:column}.asset-class-row>form:last-child{padding:0}}

/* V42 — listes pleine largeur et formulaires de création en fenêtre. */
.list-only-layout{display:grid;gap:16px;min-width:0}.list-page-actions{margin-bottom:0}.hodas-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border:0;border-radius:18px;padding:0;background:transparent;box-shadow:0 24px 80px rgba(12,30,64,.28)}.hodas-modal.wide-modal{width:min(920px,calc(100vw - 32px))}.hodas-modal::backdrop{background:rgba(9,25,52,.48);backdrop-filter:blur(2px)}.hodas-modal>.card{margin:0;border-radius:18px}.modal-close-row{position:sticky;top:8px;z-index:6;display:flex;justify-content:flex-end;height:0;padding:0 10px}.icon-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--navy);color:white;font-size:24px;line-height:1;cursor:pointer}.modal-heading{padding:28px 28px 0;background:white}.modal-form{padding:20px 28px 28px;background:white}.hodas-modal .card{box-shadow:none;border:0}.hodas-modal .card>form:last-child{margin-bottom:0}
.client-filter-form{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(5,minmax(130px,1fr)) auto;gap:10px;align-items:end}.compact-filter-card{margin-bottom:0}.client-filter-form label{min-width:0}.client-filter-form input,.client-filter-form select{width:100%;min-width:0}
.client-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.client-contact-card{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfcfd;display:grid;gap:10px}.client-contact-card>div{display:grid;gap:3px}.client-contact-card span,.client-contact-card small{color:var(--muted)}
.meeting-relations-fields{display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd}.meeting-relations-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:14px}.meeting-client-picker,.participant-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:6px}.compact-check-card{padding:10px 12px;min-height:auto}.compact-check-card span{display:grid;gap:2px}.compact-check-card small{font-size:11px;color:var(--muted);font-weight:500}.field-label{display:block;color:var(--navy);font-weight:750;margin-bottom:4px}.meeting-participant-picker{display:grid;gap:8px}.participant-option[hidden]{display:none!important}
.asset-class-card-list{display:grid;gap:12px}.asset-class-card{position:relative}.asset-class-fields{grid-template-columns:80px minmax(170px,1.1fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(170px,.9fr) minmax(260px,1.5fr);align-items:start}.asset-class-risks-field{grid-column:auto}.asset-class-delete-form{position:absolute;right:22px;bottom:22px}.letter-mission-type-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.letter-mission-type-list .checkbox-card span{display:grid;gap:3px}.letter-mission-type-list .checkbox-card small{font-weight:500;color:var(--muted)}
@media(max-width:1300px){.client-filter-form{grid-template-columns:repeat(3,minmax(160px,1fr)) auto}.asset-class-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-class-risks-field{grid-column:span 2}.asset-class-delete-form{position:static;margin-top:8px}.meeting-relations-grid{grid-template-columns:1fr}}
@media(max-width:760px){.hodas-modal,.hodas-modal.wide-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.client-filter-form{grid-template-columns:1fr}.asset-class-fields{grid-template-columns:1fr}.asset-class-risks-field{grid-column:auto}.meeting-client-picker,.participant-option-grid{grid-template-columns:1fr}.modal-heading{padding:22px 18px 0}.modal-form{padding:16px 18px 22px}}

/* V43 — filtres harmonisés et sélecteur multiple de participants. */
.list-filter-card{margin:0 0 18px;padding:18px 20px;box-shadow:var(--shadow-soft)}
.list-filter-card .card-title{align-items:center;margin-bottom:12px}
.list-filter-form{display:grid;grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(150px,1fr));gap:10px;align-items:end}
.list-filter-form label{display:grid;gap:6px;min-width:0;color:#39485b;font-size:11px;font-weight:750}
.list-filter-form input,.list-filter-form select{width:100%;min-width:0;height:40px;padding:9px 11px;border:1px solid #cdd6de;border-radius:9px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:.15s ease;box-shadow:none}
.list-filter-form input:focus,.list-filter-form select:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.filter-search-field input{padding-left:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371869f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:11px center}

.multi-select-dropdown{position:relative;width:100%}
.multi-select-dropdown>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;padding:10px 12px;border:1px solid #cdd6de;border-radius:9px;background:#fff;color:var(--ink);font-size:12px;font-weight:650;cursor:pointer}
.multi-select-dropdown>summary::-webkit-details-marker{display:none}
.multi-select-dropdown[open]>summary{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.12)}
.multi-select-chevron{color:var(--slate);font-size:16px;transition:transform .15s ease}.multi-select-dropdown[open] .multi-select-chevron{transform:rotate(180deg)}
.multi-select-panel{position:absolute;z-index:45;left:0;right:0;top:calc(100% + 6px);padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 36px rgba(22,41,83,.16);max-height:330px;overflow:auto}
.multi-select-search{display:grid;gap:5px;margin-bottom:8px;color:#39485b;font-size:10px;font-weight:750}.multi-select-search input{width:100%;padding:9px 10px;border:1px solid #cdd6de;border-radius:8px;outline:none}.multi-select-search input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.12)}
.participant-option-list{display:grid;gap:4px}.multi-select-option{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border-radius:8px;cursor:pointer}.multi-select-option:hover{background:#f3f6f8}.multi-select-option input{margin-top:2px}.multi-select-option span{display:grid;gap:2px}.multi-select-option strong{font-size:11.5px;color:var(--navy)}.multi-select-option small{font-size:10px;color:var(--muted)}.multi-select-empty{margin:8px 0;padding:12px!important}

.asset-class-table{min-width:1180px}.asset-class-table td{vertical-align:top}.asset-class-table .asset-risk-cell{min-width:230px;max-width:360px;white-space:normal;line-height:1.45}.modal-danger-zone{padding:0 22px 22px;text-align:right}

@media(max-width:1250px){.list-filter-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.filter-search-field{grid-column:span 2}}
@media(max-width:800px){.list-filter-card{padding:15px}.list-filter-form{grid-template-columns:1fr}.filter-search-field{grid-column:auto}.multi-select-panel{position:static;margin-top:6px;box-shadow:var(--shadow-soft)}}

/* V43 — cible explicite des suggestions CRM issues d'un rendez-vous multi-participants */
.assistant-target-pill{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0 0 .35rem;
  padding:.2rem .55rem;
  border-radius:999px;
  background:var(--surface-soft, #f4f6fa);
  color:var(--navy, #142e5d);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.02em;
}

/* V44 — rendez-vous : sélection unique des participants et formulaire modal */
.compact-relations-grid{grid-template-columns:minmax(0,420px)}
.meeting-create-form .meeting-relations-fields{margin:2px 0}
.meeting-create-form .multi-select-panel{max-height:min(360px,45vh)}
@media(max-width:760px){.compact-relations-grid{grid-template-columns:1fr}.meeting-create-form .form-row{grid-template-columns:1fr}}

/* V45 — Compte rendu PDF & enrichissement CRM post-validation */
.meeting-detail-actions{flex-wrap:wrap;justify-content:flex-end}.meeting-detail-actions form{margin:0}.meeting-detail-actions form button{height:100%}
.crm-completion-hero{display:grid;gap:14px}.crm-completion-rules{display:grid;gap:4px;padding:11px 13px;border:1px solid #d9e4df;border-radius:10px;background:#f4faf7}.crm-completion-rules strong{color:var(--success);font-size:10px}.crm-completion-rules span{color:var(--muted);font-size:9.5px;line-height:1.5}.crm-completion-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.assistant-post-validation-choice{padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.assistant-post-validation-choice small{display:block;color:var(--muted);font-size:9px;margin-top:3px;font-weight:500}.meeting-crm-completion-card{margin-bottom:16px}
@media(max-width:760px){.meeting-detail-actions{width:100%;justify-content:flex-start}.meeting-detail-actions>*{flex:1 1 190px}.meeting-detail-actions form button,.meeting-detail-actions a{width:100%;justify-content:center}.crm-completion-tags{justify-content:flex-start}}

/* V45 - complétion CRM robuste */
.crm-completion-heading{align-items:flex-start;gap:1rem;flex-wrap:wrap}.crm-completion-bulk-actions{display:flex;gap:.55rem;flex-wrap:wrap}.crm-suggestion-warning{border-color:#d9a441;background:#fffaf0}.crm-normalization-warning{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;border-radius:12px;background:#fff3d6;color:#76510a;margin:.75rem 0}.crm-normalization-warning span{font-size:.9rem}.crm-source-excerpt{margin:.85rem 0 0;padding:.8rem 1rem;border-left:3px solid #d8c8aa;background:#faf8f4;border-radius:0 10px 10px 0;display:flex;flex-direction:column;gap:.35rem}.crm-source-excerpt span{font-size:.92rem;line-height:1.45}.assistant-value-compare{grid-template-columns:repeat(3,minmax(0,1fr))}.assistant-suggestion-choice .disabled{opacity:.5;cursor:not-allowed}@media(max-width:980px){.assistant-value-compare{grid-template-columns:1fr}}

/* V45 - corbeille 7 jours */
.recycle-list{display:flex;flex-direction:column;gap:.7rem}.recycle-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--border,#d9e0ea);border-radius:14px;background:#fff}.recycle-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.recycle-main span,.recycle-main small{color:var(--muted,#68758c)}.recycle-expiry{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.recycle-expiry span{font-size:.78rem;color:var(--muted,#68758c)}@media(max-width:760px){.recycle-row{grid-template-columns:1fr}.recycle-expiry{align-items:flex-start}}

/* V46 - compléments CRM lisibles et import de transcription */
.crm-completion-hero,.assistant-crm-card{overflow:hidden}
.assistant-suggestion-card{min-width:0;padding:16px 18px;border-radius:14px}
.assistant-suggestion-head>div:first-child{min-width:0;flex:1}
.assistant-suggestion-head strong,.assistant-suggestion-head small{overflow-wrap:anywhere}
.assistant-value-compare{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.assistant-value-compare>div,.assistant-value-compare>label{min-width:0;padding:12px}
.assistant-value-compare input,.assistant-value-compare select,.assistant-value-compare textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.assistant-value-compare textarea{resize:vertical;min-height:82px;line-height:1.45}
.crm-source-excerpt{min-width:0}.crm-source-excerpt span{overflow-wrap:anywhere;white-space:normal}
.assistant-suggestion-choice{flex-wrap:wrap}
.assistant-transcript-import-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.assistant-transcript-import-divider::before,.assistant-transcript-import-divider::after{content:"";height:1px;background:var(--line);flex:1}
.assistant-transcript-import{border:1px solid var(--line);border-radius:12px;background:#fbfcfd;overflow:hidden}
.assistant-transcript-import>summary{cursor:pointer;padding:13px 15px;color:var(--navy);font-weight:800;list-style:none}
.assistant-transcript-import>summary::-webkit-details-marker{display:none}
.assistant-transcript-import[open]>summary{border-bottom:1px solid var(--line);background:#f7f9fb}
.assistant-transcript-import form{padding:15px}
.assistant-transcript-import textarea{min-height:210px}
@media(max-width:1180px){.assistant-value-compare{grid-template-columns:1fr 1fr}.assistant-value-compare>label{grid-column:1/-1}}
@media(max-width:720px){.assistant-value-compare{grid-template-columns:1fr}.assistant-value-compare>label{grid-column:auto}.assistant-suggestion-card{padding:13px}.assistant-suggestion-choice{justify-content:flex-start}}

/* V47 — Fiche patrimoniale Word */
.patrimonial-sheet-hero { max-width: none; }
.patrimonial-sheet-builder { max-width: 980px; }
.patrimonial-sheet-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.patrimonial-sheet-summary article {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--border, #d9e0e8);
  border-radius: 14px;
  background: #f8fafc;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.patrimonial-sheet-summary span,
.patrimonial-sheet-summary small { color: var(--muted, #66758c); }
.patrimonial-sheet-summary strong { color: var(--navy, #162953); font-size: 1.25rem; }
.patrimonial-sheet-download-form { display: grid; gap: 14px; }
.compact-empty-state { min-height: 140px; }
@media (max-width: 1050px) {
  .patrimonial-sheet-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .patrimonial-sheet-summary { grid-template-columns: 1fr; }
}

/* V48 — fiches partenaires */
.table-primary-link{color:var(--navy,#162953);text-decoration:none}.table-primary-link:hover{text-decoration:underline}
.partner-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}
.partner-detail-grid .detail-hero-card{grid-column:1 / -1}
.detail-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.detail-kpi-grid>div,.detail-list>div{border:1px solid var(--border,#d6dee8);border-radius:14px;padding:12px 14px;background:#fff}
.detail-kpi-grid span,.detail-list span{display:block;color:var(--muted,#66758c);font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;margin-bottom:5px}
.detail-kpi-grid strong,.detail-list strong{color:var(--navy,#162953)}
.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-list-wide{grid-column:1 / -1}.detail-list p{margin:4px 0 0;white-space:pre-wrap}
.partner-score-list strong{font-size:1.05rem}.partner-documents-layout{align-items:start}.partner-document-list .document-row{gap:18px}.form-card-narrow{max-width:980px;margin-inline:auto}
@media(max-width:900px){.partner-detail-grid{grid-template-columns:1fr}.detail-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-list{grid-template-columns:1fr}.detail-list-wide{grid-column:auto}}
@media(max-width:560px){.detail-kpi-grid{grid-template-columns:1fr}.partner-document-list .document-row{align-items:flex-start}.partner-document-list .row-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}

/* V49 — Fiche patrimoniale : outil + réintégration IA. */
.patrimonial-tool-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;align-items:start}
.patrimonial-import-list{display:grid;gap:12px}
.patrimonial-import-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--border,#d9e0ea);border-radius:16px;background:#fff}
.patrimonial-import-check{padding-top:4px}
.patrimonial-import-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.patrimonial-import-head>div{display:grid;gap:3px}.patrimonial-import-head span{font-size:.85rem;color:var(--muted,#64748b)}
.patrimonial-import-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.patrimonial-import-values>div{padding:10px 12px;border-radius:12px;background:#f7f9fc;display:grid;gap:4px;min-width:0}
.patrimonial-import-values span,.patrimonial-import-source>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#64748b);font-weight:700}
.patrimonial-import-values strong{overflow-wrap:anywhere}
.patrimonial-import-source{margin-top:12px}.patrimonial-import-source blockquote{margin:6px 0 0;padding:10px 12px;border-left:3px solid #d7c7a8;background:#fbfaf7;border-radius:0 10px 10px 0}.patrimonial-import-source small{display:block;margin-top:6px;color:var(--muted,#64748b)}
.client-contact-summary,.client-portal-contact{display:block;margin-top:5px;overflow-wrap:anywhere}
@media(max-width:980px){.patrimonial-tool-grid{grid-template-columns:1fr}.patrimonial-import-values{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.patrimonial-import-values{grid-template-columns:1fr}.patrimonial-import-head{flex-direction:column}}
.compact-empty-state{display:grid;gap:4px}

/* V50 — arbitrage d'allocation et avis d'impôt IA. */
.suitability-arbitrage-editor {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line, #d9e0ea);
  border-radius: 18px;
  background: #f8fafc;
}
.arbitrage-target-table input {
  min-width: 92px;
  width: 100%;
  box-sizing: border-box;
}
.arbitrage-new-supports {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}
.arbitrage-new-support-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(130px, 180px) auto;
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--line, #d9e0ea);
  border-radius: 14px;
  background: #fff;
}
.arbitrage-new-support-row label,
.arbitrage-new-support-row select,
.arbitrage-new-support-row input { min-width: 0; width: 100%; box-sizing: border-box; }
.arbitrage-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.arbitrage-metrics article {
  padding: 12px 14px;
  border: 1px solid var(--line, #d9e0ea);
  border-radius: 14px;
  background: #fff;
}
.arbitrage-metrics span { display: block; font-size: .76rem; color: var(--muted, #637083); margin-bottom: 4px; }
.arbitrage-saved-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(237,227,210,.55);
  font-size: .82rem;
}
.tax-import-mode {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line, #d9e0ea);
  border-radius: 12px;
  background: #fff;
}
.tax-import-mode legend {
  padding: 0 4px;
  font-size: 9px;
  font-weight: 780;
  color: var(--navy);
}
.tax-import-mode-choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin: 0;
  cursor: pointer;
}
.tax-import-mode-choice input { margin-top: 3px; }
.tax-import-mode-choice strong { display: block; font-size: 9.5px; color: var(--navy); }
.tax-import-mode-choice small { display: block; color: var(--muted); font-size: 8px; margin-top: 2px; }
.tax-import-hint {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 8.5px;
  color: var(--muted);
}
.tax-declarant-map { margin: 4px 0 18px; }
.tax-declarant-map .tag.warning { background: rgba(198, 124, 33, .14); color: #8a5410; }
.tax-ai-review-group { margin-bottom: 18px; }
.tax-ai-target-select {
  display: grid;
  gap: 4px;
  margin: 10px 0 0;
  max-width: 320px;
  font-size: 8.5px;
  font-weight: 700;
  color: var(--navy);
}
.tax-ai-review-list { display: grid; gap: 12px; }
.tax-ai-review-item {
  display: grid;
  grid-template-columns: auto minmax(180px, .7fr) minmax(220px, 1fr) minmax(220px, 1.2fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--line, #d9e0ea);
  border-radius: 14px;
  background: #fff;
}
@media (max-width: 1180px) {
  .arbitrage-metrics { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
  .tax-ai-review-item { grid-template-columns: auto 1fr 1fr; }
  .tax-ai-review-item > :last-child { grid-column: 2 / -1; }
}
@media (max-width: 760px) {
  .arbitrage-new-support-row,
  .tax-ai-review-item,
  .arbitrage-metrics { grid-template-columns: 1fr; }
  .tax-ai-review-item > :last-child { grid-column: auto; }
}
.tax-ai-review-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--line, #d9e0ea);
  border-radius: 14px;
  background: #fff;
}
.tax-ai-review-main { min-width: 0; }
.tax-ai-review-main .patrimonial-import-values { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
@media (max-width: 760px) {
  .tax-ai-review-row { grid-template-columns: 1fr; }
}
.patrimony-flow-summary{display:flex;gap:18px;flex-wrap:wrap;text-align:right;align-items:flex-end}.patrimony-flow-summary span{font-size:8.5px;color:var(--muted)}.patrimony-flow-summary strong{display:block;margin-top:2px;color:var(--navy);font-size:12px}.patrimony-subsection{margin-top:16px;padding-top:14px;border-top:1px solid #e3e8ee}.real-estate-charge-box,.credit-details-box{border:1px solid #dfe6ed;border-radius:12px;background:#f8fafc;padding:12px}.real-estate-charge-box .compact-title,.credit-details-box .compact-title{margin-bottom:8px}.real-estate-charge-box h3,.credit-details-box h3{margin:2px 0 0;font-size:12px;color:var(--navy)}
@media(max-width:760px){.patrimony-flow-summary{text-align:left}.patrimony-flow-summary span{min-width:140px}}


/* V51 — questionnaire combiné investisseur + ESG */
.questionnaire-combined-divider{display:flex;align-items:center;gap:12px;margin:2px 0 14px;padding:12px 14px;border:1px solid #d9e2ec;border-left:4px solid var(--sky);border-radius:10px;background:#f7f9fb}.questionnaire-combined-divider.first{margin-top:0}.questionnaire-combined-divider>span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 8px;border-radius:999px;background:var(--beige);color:var(--navy);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.questionnaire-combined-divider>div{display:grid;gap:2px}.questionnaire-combined-divider strong{color:var(--navy);font-size:11px}.questionnaire-combined-divider small{color:var(--muted);font-size:8.5px;line-height:1.4}

/* V51 — impression de la vue client au format HODAS */
.print-only{display:none!important}
@media print{
  @page{size:A4 portrait;margin:13mm 12mm 15mm}
  .client-space-preview-page{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}
  .client-space-preview-page .topbar,.client-space-preview-page .print-exclude{display:none!important}
  .client-space-preview-page .content{padding:0!important;max-width:none!important}
  .client-space-preview-page .client-space-preview-print{display:block}
  .client-space-preview-page .print-only{display:flex!important}
  .client-space-preview-page .client-print-header{align-items:center;justify-content:space-between;gap:20px;margin:0 0 8mm;padding:0 0 4mm;border-bottom:1.5px solid #162953}
  .client-space-preview-page .client-print-brand{align-items:center;gap:9px}.client-space-preview-page .client-print-brand img{width:38px;height:38px;object-fit:contain}.client-space-preview-page .client-print-brand>div{display:grid;line-height:1}.client-space-preview-page .client-print-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:17px;letter-spacing:.08em;color:#162953}.client-space-preview-page .client-print-brand span{margin-top:3px;font-size:7px;letter-spacing:.24em;color:#71869F}
  .client-space-preview-page .client-print-title{display:grid;gap:2px;text-align:right}.client-space-preview-page .client-print-title>span{font-size:7px;text-transform:uppercase;letter-spacing:.09em;color:#71869F;font-weight:850}.client-space-preview-page .client-print-title strong{font-family:Georgia,"Times New Roman",serif;font-size:15px;color:#162953}.client-space-preview-page .client-print-title small{font-size:7.5px;color:#71869F}
  .client-space-preview-page .client-portal-hero{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 16px;border-radius:10px;box-shadow:none;background:#162953!important;break-inside:avoid}.client-space-preview-page .client-portal-hero h2{font-size:20px}.client-space-preview-page .client-portal-hero p:not(.eyebrow){font-size:8.5px}.client-space-preview-page .client-portal-total{min-width:185px}.client-space-preview-page .client-portal-total strong{font-size:20px}.client-space-preview-page .client-portal-total span,.client-space-preview-page .client-portal-total small{font-size:7.5px}
  .client-space-preview-page .client-portal-kpis{grid-template-columns:repeat(3,1fr)!important;gap:7px;margin:8px 0}.client-space-preview-page .client-portal-kpis article{padding:9px;border-radius:8px;box-shadow:none}.client-space-preview-page .client-portal-kpis span{font-size:7px}.client-space-preview-page .client-portal-kpis strong{font-size:13px;margin-top:4px}.client-space-preview-page .client-portal-kpis small{font-size:6.8px;margin-top:2px}
  .client-space-preview-page .client-portal-overview-grid,.client-space-preview-page .client-portal-grid{grid-template-columns:1fr 1fr!important;gap:8px;margin-top:8px}.client-space-preview-page .client-portal-panel{margin-top:8px;padding:10px!important;border-radius:8px;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.client-space-preview-page .client-portal-grid>.client-portal-panel{margin-top:0}.client-space-preview-page .card-title{margin-bottom:7px}.client-space-preview-page .card-title h2{font-size:11px}.client-space-preview-page .card-title .eyebrow{font-size:6.5px}.client-space-preview-page .card-subtitle{font-size:7px}
  .client-space-preview-page .portal-half-card .profile-radar{grid-template-columns:minmax(150px,.85fr) minmax(130px,1fr)!important;gap:5px}.client-space-preview-page .portal-half-card .profile-radar svg{max-width:175px!important}.client-space-preview-page .portal-half-card .profile-radar-legend{grid-template-columns:1fr!important;gap:3px}.client-space-preview-page .portal-half-card .profile-radar-legend span{padding:4px 5px;font-size:6.5px}.client-space-preview-page .portal-half-card .profile-radar-legend strong{font-size:6.8px}
  .client-space-preview-page .patrimony-pie-layout{grid-template-columns:110px minmax(0,1fr)!important;gap:6px}.client-space-preview-page .patrimony-pie{max-width:110px}.client-space-preview-page .patrimony-pie-legend>button{padding:4px 5px}.client-space-preview-page .patrimony-pie-legend>button strong,.client-space-preview-page .patrimony-pie-legend>button>span:not(.pie-legend-dot){font-size:6.5px}.client-space-preview-page .patrimony-pie-legend>button small{font-size:6px}
  .client-space-preview-page .bar-list{gap:5px}.client-space-preview-page .bar-head,.client-space-preview-page .client-simple-list>div,.client-space-preview-page .client-position-metrics{font-size:7px}.client-space-preview-page .bar-label strong,.client-space-preview-page .client-simple-list strong{font-size:7.5px}.client-space-preview-page .bar-label span,.client-space-preview-page .client-simple-list span,.client-space-preview-page .client-simple-list small{font-size:6.5px}
  .client-space-preview-page .client-position-panel{break-before:auto}.client-space-preview-page .client-position-card{break-inside:avoid;border-radius:7px}.client-space-preview-page .client-position-summary{padding:8px}.client-space-preview-page .client-position-main{gap:6px}.client-space-preview-page .client-position-main strong{font-size:8px}.client-space-preview-page .client-position-main span,.client-space-preview-page .client-position-main small,.client-space-preview-page .client-position-value small{font-size:6.5px}.client-space-preview-page .client-position-value strong{font-size:8px}.client-space-preview-page .client-position-metrics{grid-template-columns:repeat(3,1fr);padding-top:5px;margin-top:5px}.client-space-preview-page .client-position-metrics span{font-size:6.3px}
  .client-space-preview-page .client-print-footer{justify-content:center;margin-top:7mm;padding-top:3mm;border-top:1px solid #dfe2df;font-size:6.5px;letter-spacing:.08em;text-transform:uppercase;color:#71869F}
}

/* V52 — Simulateurs HODAS détaillés */
/* ================= Simulateurs HODAS =================
   Atelier de simulation : panneau de saisie à gauche, résultats et pédagogie
   à droite. Palette, typographies et champs strictement alignés sur la charte
   HODAS (navy/beige/sky, Georgia pour les titres, Inter pour le texte). */
.sim-shell{margin-top:18px;background:var(--paper);border:1px solid #e5eaf1;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.sim-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fbfcfd 0%,#f5f7fa 100%)}
.sim-head h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:22px;font-weight:500;margin:4px 0 0}
.sim-head-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}
.sim-crumb{margin:6px 0 0;color:var(--muted);font-size:10.5px}
.sim-crumb a{color:var(--navy-2);font-weight:650}
.sim-doc-status{margin:0;padding:9px 24px;font-size:11px;color:var(--navy-2);background:#f1f5fa;border-bottom:1px solid var(--line)}
.sim-doc-status.is-error{color:var(--danger);background:#fbeeee}

/* Sélecteur de mode de calcul (ex. mensualité / capacité d'emprunt). */
.sim-modes{display:flex;gap:8px;flex-wrap:wrap;padding:14px 24px;border-bottom:1px solid var(--line);background:#fbfcfd}
.sim-mode{flex:1 1 150px;padding:11px 14px;border:1px solid #d9e1ea;border-radius:10px;background:var(--paper);color:var(--navy-2);font-size:11.5px;font-weight:750;text-align:center;cursor:pointer;transition:.16s ease}
.sim-mode:hover{border-color:var(--sky);background:#f7f9fc}
.sim-mode[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(22,41,83,.18)}

.sim-body{display:grid;grid-template-columns:340px minmax(0,1fr);align-items:start}
.sim-panel{padding:22px;background:#fbfcfd;border-right:1px solid var(--line);align-self:stretch}
.sim-output{padding:24px;min-width:0;background:var(--paper)}

/* Barre de reprise des données d'un client du CRM. */
.sim-client-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;padding:13px 14px;margin-bottom:18px;border:1px solid #dfe6ee;border-left:3px solid var(--beige);border-radius:11px;background:linear-gradient(135deg,#fbfaf7,#f7f9fb)}
.sim-client-bar label{display:grid;gap:5px;color:#39485b;font-size:10px;font-weight:800;letter-spacing:.02em}
.sim-client-bar select{width:100%;padding:8px 10px;border:1px solid #cdd6de;border-radius:8px;background:#fff;color:var(--ink);font-size:11px;outline:none}
.sim-client-bar select:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.sim-client-bar button{padding:8px 13px;border:1px solid var(--navy);border-radius:8px;background:var(--navy);color:#fff;font-size:10.5px;font-weight:750;cursor:pointer;white-space:nowrap;transition:.16s ease}
.sim-client-bar button:hover{background:var(--navy-2)}
.sim-client-bar button:disabled{opacity:.45;cursor:not-allowed}
.sim-client-note{grid-column:1/-1;margin:2px 0 0;color:var(--muted);font-size:9.5px;line-height:1.5}
.sim-client-note.filled{color:var(--success);font-weight:650}

/* Groupes de champs du panneau de saisie. */
.sim-group{margin-bottom:20px}
.sim-group:last-child{margin-bottom:0}
.sim-group-title{display:flex;align-items:center;gap:9px;margin:0 0 11px;color:var(--navy);font-size:11.5px;font-weight:800;letter-spacing:.02em}
.sim-group-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--beige),transparent)}
.sim-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px}
.sim-fields.single{grid-template-columns:1fr}
.sim-field{display:grid;gap:5px;min-width:0}
.sim-field>span{color:#4a5a70;font-size:9.5px;font-weight:750;line-height:1.35}
.sim-field>span em{display:block;font-style:normal;font-weight:600;color:var(--muted);font-size:8.5px;margin-top:2px}
.sim-input{display:flex;align-items:stretch;border:1px solid #cdd6de;border-radius:8px;background:#fff;overflow:hidden;transition:.15s ease}
.sim-input:focus-within{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.sim-input input,.sim-input select{flex:1;min-width:0;padding:9px 10px;border:0;background:transparent;color:var(--ink);font-size:11.5px;outline:none}
.sim-input select{cursor:pointer}
.sim-unit{display:grid;place-items:center;padding:0 10px;background:#f2f5f8;border-left:1px solid #e2e8ef;color:var(--slate);font-size:10px;font-weight:750;white-space:nowrap}
.sim-check{display:flex;align-items:center;gap:9px;color:#4a5a70;font-size:10.5px;font-weight:700;cursor:pointer;padding:4px 0}
.sim-check input{width:16px;height:16px;accent-color:var(--navy);cursor:pointer}
.sim-hint{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.55}

/* Curseur de répartition (ex. fonds euros / UC, salaire / dividendes). */
.sim-slider-head{display:flex;justify-content:space-between;gap:10px;color:#4a5a70;font-size:9.5px;font-weight:750}
.sim-slider-head b{color:var(--navy-2);font-weight:800}
.sim-range{width:100%;accent-color:var(--navy-2);margin:9px 0 4px}
.sim-slider-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}

/* Interrupteur (ex. financer à crédit). */
.sim-switch{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--navy);font-size:10.5px;font-weight:800;cursor:pointer}
.sim-switch input{position:absolute;opacity:0;pointer-events:none}
.sim-switch i{width:38px;height:22px;border-radius:20px;background:#dbe2ea;position:relative;transition:.2s;flex:0 0 auto}
.sim-switch i:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;left:2px;top:2px;box-shadow:0 1px 4px rgba(22,41,83,.25);transition:.2s}
.sim-switch input:checked+i{background:var(--sky)}
.sim-switch input:checked+i:after{left:18px}
.sim-switch input:focus-visible+i{box-shadow:0 0 0 3px rgba(119,148,187,.3)}
.sim-conditional{display:none}
.sim-conditional.visible{display:block}

/* Résultats : vignettes de chiffres clés. */
.sim-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:11px}
.sim-kpi{padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.sim-kpi>span{display:block;color:var(--slate);font-size:9.5px;font-weight:700}
.sim-kpi>strong{display:block;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:500;margin-top:6px;line-height:1.15}
.sim-kpi>small{display:block;color:var(--muted);font-size:9px;margin-top:4px;line-height:1.45}
.sim-kpi.is-primary{background:linear-gradient(135deg,var(--navy) 0%,#1b3563 100%);border-color:var(--navy)}
.sim-kpi.is-primary>span{color:#b9c8de}
.sim-kpi.is-primary>strong{color:#fff}
.sim-kpi.is-primary>small{color:#93a7c4}
.sim-kpi.is-positive>strong{color:var(--success)}
.sim-kpi.is-negative>strong{color:var(--danger)}

/* Bloc pédagogique ("Comprendre", "En savoir plus"). */
.sim-note{margin-top:16px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow-soft)}
.sim-note.is-soft{background:linear-gradient(135deg,#fbfaf7,#f8fafc);border-left:3px solid var(--beige)}
.sim-note h3{font-family:Georgia,"Times New Roman",serif;margin:0 0 9px;color:var(--navy);font-size:16px;font-weight:500}
.sim-note h4{margin:14px 0 6px;color:var(--navy-2);font-size:11.5px;font-weight:800}
.sim-note p{margin:0 0 8px;color:var(--muted);font-size:10.5px;line-height:1.65}
.sim-note p:last-child{margin-bottom:0}
.sim-note ul{margin:0;padding-left:17px;color:var(--muted);font-size:10.5px;line-height:1.7}
.sim-note strong{color:var(--ink);font-weight:750}
.sim-note mark{background:#f5efe2;color:var(--navy);padding:0 3px;border-radius:2px}
.sim-summary{margin-top:16px;padding:16px 18px;border:1px solid #e6ebf1;border-left:3px solid var(--sky);border-radius:12px;background:#fafbfd;color:var(--ink);font-size:11px;line-height:1.75}
.sim-summary mark{background:#f5efe2;color:var(--navy);padding:0 3px;border-radius:2px;font-weight:700}

/* Tableaux de comparaison et de sensibilité. */
.sim-table-wrap{margin-top:16px;overflow-x:auto}
.sim-table{width:100%;border-collapse:collapse;font-size:10.5px}
.sim-table caption{caption-side:top;text-align:left;padding:0 0 9px;color:var(--navy);font-size:11.5px;font-weight:800}
.sim-table th{background:#eef2f7;color:var(--navy);padding:10px 9px;text-align:center;font-weight:750;white-space:nowrap;border-bottom:1px solid var(--line)}
.sim-table th:first-child,.sim-table td:first-child{text-align:left}
.sim-table td{padding:9px;text-align:center;color:var(--ink);border-bottom:1px solid #eef1f5}
.sim-table tbody tr:nth-child(even){background:#fafbfc}
.sim-table tfoot td{font-weight:800;color:var(--navy);background:#f6f8fb;border-top:1px solid var(--line-dark)}
.sim-table .num{font-variant-numeric:tabular-nums}
.sim-table .is-positive{color:var(--success);font-weight:700}
.sim-table .is-negative{color:var(--danger);font-weight:700}

/* Colonnes comparées côte à côte (ex. salaire vs dividendes). */
.sim-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.sim-compare-col{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}
.sim-compare-col>h4{margin:0;padding:11px 14px;background:#eef2f7;color:var(--navy);font-size:11.5px;font-weight:800;text-align:center}
.sim-compare-col dl{margin:0;padding:4px 14px 12px}
.sim-compare-col div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f0f3f6;font-size:10.5px}
.sim-compare-col div:last-child{border-bottom:0;padding-top:10px;margin-top:2px;border-top:1px solid var(--line-dark)}
.sim-compare-col dt{color:var(--muted)}
.sim-compare-col dd{margin:0;color:var(--ink);font-weight:750;font-variant-numeric:tabular-nums}
.sim-compare-col div:last-child dt{color:var(--navy);font-weight:800}
.sim-compare-col div:last-child dd{color:var(--navy);font-weight:850}

/* Graphique en barres (projection). */
.sim-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:8px;height:150px;padding:6px 8px;border-bottom:1px solid var(--line);margin-top:6px}
.sim-bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-width:0}
.sim-bar{width:72%;max-width:34px;min-height:6px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--sky),var(--navy))}
.sim-bar-col>span{color:var(--muted);font-size:8.5px;white-space:nowrap}
.sim-bar-col>b{color:var(--navy);font-size:9px;font-weight:750;white-space:nowrap}

/* Barres empilées horizontales (tranches d'imposition). */
.sim-brackets{display:grid;gap:7px;margin-top:6px}
.sim-bracket{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr) minmax(80px,auto);gap:11px;align-items:center;font-size:10px}
.sim-bracket>span{color:var(--muted)}
.sim-bracket>b{color:var(--navy);text-align:right;font-variant-numeric:tabular-nums;font-weight:750}
.sim-bracket-track{height:12px;border-radius:6px;background:#eef1f5;overflow:hidden}
.sim-bracket-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--sky),var(--navy));min-width:2px}
.sim-bracket.is-current .sim-bracket-fill{background:linear-gradient(90deg,#c8b391,var(--navy))}
.sim-bracket.is-current>span{color:var(--navy);font-weight:800}

/* Anneau de répartition. */
.sim-donut-row{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-top:6px}
.sim-donut{position:relative;width:150px;height:150px}
.sim-donut svg{transform:rotate(-90deg)}
.sim-donut-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.sim-donut-center b{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:22px;font-weight:500}
.sim-donut-center span{display:block;color:var(--muted);font-size:9px;margin-top:2px}

.sim-empty{padding:34px 20px;text-align:center;color:var(--muted);font-size:11px}
.sim-disclaimer{margin-top:16px;color:var(--muted);font-size:9.5px;line-height:1.6}

@media(max-width:1100px){
  .sim-body{grid-template-columns:1fr}
  .sim-panel{border-right:0;border-bottom:1px solid var(--line)}
  .sim-compare{grid-template-columns:1fr}
  .sim-donut-row{grid-template-columns:1fr;justify-items:center;text-align:center}
}
@media(max-width:720px){
  .sim-head{flex-direction:column;align-items:flex-start}
  .sim-fields{grid-template-columns:1fr}
  .sim-bracket{grid-template-columns:1fr;gap:4px}
  .sim-bracket>b{text-align:left}
}
@media print{
  .sim-modes,.sim-panel,.sim-head-actions,.sim-client-bar,.simulator-card-grid,.simulator-intro{display:none!important}
  .sim-shell{box-shadow:none;border:0;margin:0}
  .sim-body{display:block}
  .sim-output{padding:0}
  .sim-head{padding:0 0 12px;border-bottom:1px solid #ddd}
  .sim-kpi,.sim-note,.sim-table-wrap,.sim-compare{break-inside:avoid}
}

/* V53 — Arbitrages, historique et leads */
.arbitrage-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#162953,#243d70);color:#fff}.arbitrage-hero h2,.arbitrage-hero p{color:#fff}.arbitrage-hero .eyebrow{color:#d8e2ef}.arbitrage-hero-total{min-width:170px;padding:13px 17px;border:1px solid rgba(255,255,255,.22);border-radius:12px;text-align:right;background:rgba(255,255,255,.08)}.arbitrage-hero-total span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#d8e2ef}.arbitrage-hero-total strong{display:block;margin-top:3px;font-size:23px;color:#fff}
.arbitrage-wizard{display:grid;gap:16px}.arbitrage-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0}.arbitrage-stepper button{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:12px 14px;border:1px solid #dfe6ee;border-radius:12px;background:#fff;color:#66758c;cursor:pointer}.arbitrage-stepper button>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#eef2f7;color:#71839b;font-weight:900}.arbitrage-stepper button strong{font-size:11px;color:var(--navy)}.arbitrage-stepper button small{font-size:8px;color:var(--muted)}.arbitrage-stepper button.active{border-color:#7f97bb;box-shadow:0 5px 16px rgba(22,41,83,.08);background:#f8fafc}.arbitrage-stepper button.active>span{background:var(--navy);color:#fff}
.arbitrage-step[hidden]{display:none!important}.arbitrage-stage-table input{width:105px;text-align:right}.arbitrage-step-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid #e6ebf0}.arbitrage-step-footer>span{font-size:9px;color:var(--muted)}.arbitrage-live-balance,.arbitrage-final-total{min-width:150px;padding:9px 12px;border-radius:10px;background:#f1f5f9;text-align:right}.arbitrage-live-balance span,.arbitrage-final-total span{display:block;font-size:8px;color:var(--muted)}.arbitrage-live-balance strong,.arbitrage-final-total strong{display:block;margin-top:2px;color:var(--navy);font-size:17px}.arbitrage-comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 16px}.arbitrage-comparison-grid article{padding:13px;border:1px solid #e3e8ef;border-radius:11px;background:#f9fafb}.arbitrage-comparison-grid span{display:block;font-size:8px;color:var(--muted)}.arbitrage-comparison-grid strong{display:block;margin-top:5px;color:var(--navy);font-size:12px}.arbitrage-comparison-grid b{font-weight:850}.arbitrage-operation-card{margin-top:16px;padding:16px;border:1px solid #e2e8ef;border-radius:12px;background:#fafbfc}.arbitrage-operation-card .card-title{margin-bottom:10px}
.arbitrage-history-list{display:grid;gap:12px}.arbitrage-history-list.compact{gap:9px}.arbitrage-history-card{padding:15px;border:1px solid #e2e7ed;border-radius:12px;background:#fff}.arbitrage-history-card.is-highlighted{border-color:#7f97bb;box-shadow:0 0 0 3px rgba(127,151,187,.14)}.arbitrage-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.arbitrage-history-head>div:first-child{display:grid;gap:3px}.arbitrage-history-head strong{color:var(--navy);font-size:11px}.arbitrage-history-head span{font-size:8.5px;color:var(--muted)}.arbitrage-history-movements{display:grid;grid-template-columns:1fr 1fr .8fr;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid #edf0f3}.arbitrage-history-movements>div{display:grid;align-content:start;gap:4px}.arbitrage-history-movements>div>span{font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#7b8798;font-weight:850}.arbitrage-history-movements strong{font-size:9px;color:#283d61}.arbitrage-history-movements strong small,.arbitrage-history-movements small{font-size:7.5px;color:var(--muted);font-weight:500}.arbitrage-history-note{margin:10px 0 0;padding:8px 10px;border-radius:8px;background:#f7f8fa;color:#596779;font-size:8.5px}.client-arbitrage-history-card{scroll-margin-top:18px}
.lead-hero-actions{display:flex;gap:8px;align-items:center}.lead-contact-link{word-break:break-word}
.suitability-arbitrage-origin{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px;padding:12px 14px;border:1px solid #d8e2ed;border-left:4px solid var(--navy);border-radius:10px;background:#f7f9fc}.suitability-arbitrage-origin div{display:grid;gap:2px}.suitability-arbitrage-origin strong{font-size:11px;color:var(--navy)}.suitability-arbitrage-origin span{font-size:8.5px;color:var(--muted)}
@media(max-width:900px){.arbitrage-comparison-grid{grid-template-columns:1fr 1fr}.arbitrage-history-movements{grid-template-columns:1fr}.arbitrage-history-head{flex-direction:column}.arbitrage-hero{align-items:flex-start;flex-direction:column}.arbitrage-hero-total{text-align:left}}
@media(max-width:650px){.arbitrage-stepper{grid-template-columns:1fr}.arbitrage-step-footer{align-items:stretch;flex-direction:column}.arbitrage-step-footer .row-actions{width:100%;flex-direction:column}.arbitrage-step-footer .row-actions>*{width:100%}.arbitrage-comparison-grid{grid-template-columns:1fr}.arbitrage-stage-table input{width:90px}}

/* V54 — arbitrage en parts / pourcentage et formulaires HODAS. */
.arbitrage-wizard.stack-form{gap:16px}
.arbitrage-wizard .arbitrage-stage-table input.hodas-number-input,
.arbitrage-wizard .arbitrage-operation-card input,
.arbitrage-wizard .arbitrage-operation-card select,
.arbitrage-wizard .arbitrage-operation-card textarea,
.arbitrage-wizard .arbitrage-add-support select{
  width:100%;min-width:0;padding:9px 10px;border:1px solid #cdd6de;border-radius:8px;background:#fff;color:var(--ink);outline:none;box-shadow:none;transition:.15s ease
}
.arbitrage-wizard .arbitrage-stage-table input.hodas-number-input:focus,
.arbitrage-wizard .arbitrage-operation-card input:focus,
.arbitrage-wizard .arbitrage-operation-card select:focus,
.arbitrage-wizard .arbitrage-operation-card textarea:focus,
.arbitrage-wizard .arbitrage-add-support select:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.arbitrage-wizard .arbitrage-stage-table input.hodas-number-input:disabled{background:#f1f4f7;color:#8c98a7;border-color:#e0e5ea;cursor:not-allowed}
.arbitrage-wizard .arbitrage-stage-table input.hodas-number-input{width:116px;height:36px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--navy)}
.arbitrage-percent-input{position:relative;display:inline-flex;align-items:center;min-width:116px}
.arbitrage-percent-input input{padding-right:29px!important}
.arbitrage-percent-input>span{position:absolute;right:10px;color:#78879b;font-size:10px;font-weight:750;pointer-events:none}
.arbitrage-dual-table th,.arbitrage-dual-table td{vertical-align:middle}
.arbitrage-dual-table td.num strong{font-variant-numeric:tabular-nums}
.arbitrage-dual-table td.num small{font-size:8px;text-align:right}
.arbitrage-warning{padding:11px 13px;margin-bottom:13px;border:1px solid #eadfbf;border-left:4px solid #c5a76c;border-radius:9px;background:#fffaf0;color:#6d5a34;font-size:10px;line-height:1.45}
.arbitrage-live-balance small{display:block;margin-top:3px;color:var(--muted);font-size:7.5px}
.arbitrage-add-support{display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,1.25fr) auto;gap:12px;align-items:end;margin-top:14px;padding:14px 15px;border:1px dashed #ccd7e3;border-radius:12px;background:#f8fafc}
.arbitrage-add-support>div{display:grid;gap:3px}.arbitrage-add-support>div>strong{font-size:10px;color:var(--navy)}.arbitrage-add-support>div>small{font-size:8.5px;color:var(--muted)}
.arbitrage-add-support label{display:grid;gap:6px;color:#39485b;font-size:10px;font-weight:750}
.arbitrage-new-row{background:#fbfcfe}.arbitrage-new-row:hover{background:#f7f9fc}.arbitrage-remove-new{display:block;margin-top:4px;padding:0;font-size:8.5px}
.arbitrage-operation-card{background:linear-gradient(180deg,#fbfcfd 0%,#f7f9fb 100%)}
.arbitrage-operation-card label{display:grid;gap:6px;color:#39485b;font-size:10.5px;font-weight:750}
.arbitrage-operation-card textarea{min-height:92px;resize:vertical;line-height:1.45}
.arbitrage-auto-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.arbitrage-auto-amounts article{padding:13px 14px;border:1px solid #e0e6ec;border-radius:11px;background:#fff;box-shadow:0 5px 14px rgba(22,41,83,.035)}
.arbitrage-auto-amounts span,.arbitrage-auto-amounts strong,.arbitrage-auto-amounts small{display:block}
.arbitrage-auto-amounts span{font-size:8px;text-transform:uppercase;letter-spacing:.055em;color:#758396;font-weight:800}
.arbitrage-auto-amounts strong{margin-top:6px;color:var(--navy);font-size:15px;font-variant-numeric:tabular-nums}
.arbitrage-auto-amounts small{margin-top:4px;color:var(--muted);font-size:7.5px;line-height:1.35}
[data-arb-validation-message]{display:block;margin-top:14px!important;padding:10px 12px;border-radius:9px;background:#fff4e5;color:#875d1e;font-weight:700}
[data-arb-validation-message].is-valid{background:#eaf4ee;color:var(--success)}
@media(max-width:1100px){.arbitrage-add-support{grid-template-columns:1fr 1fr}.arbitrage-add-support>button{grid-column:2}.arbitrage-auto-amounts{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.arbitrage-add-support{grid-template-columns:1fr}.arbitrage-add-support>button{grid-column:auto;width:100%}.arbitrage-auto-amounts{grid-template-columns:1fr}.arbitrage-wizard .arbitrage-stage-table input.hodas-number-input,.arbitrage-percent-input{width:100px;min-width:100px}}

/* V55 — arbitrage pré-trade : poids libéré, montant à replacer et workflow brouillon/finalisation. */
.arbitrage-title-with-balance{align-items:flex-start;gap:18px}
.arbitrage-reduce-balance{min-width:190px;padding:11px 14px;background:linear-gradient(145deg,#f4f7fb,#edf2f7);border:1px solid #dbe4ed}
.arbitrage-reduce-balance small b{color:var(--navy);font-weight:850}
.arbitrage-replace-dashboard{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px;min-width:420px}
.arbitrage-replace-dashboard article{padding:10px 12px;border:1px solid #dfe6ee;border-radius:10px;background:#f7f9fb;text-align:right}
.arbitrage-replace-dashboard span,.arbitrage-replace-dashboard strong{display:block}
.arbitrage-replace-dashboard span{font-size:7.5px;text-transform:uppercase;letter-spacing:.045em;color:#7b8797;font-weight:800}
.arbitrage-replace-dashboard strong{margin-top:3px;color:var(--navy);font-size:15px;font-variant-numeric:tabular-nums}
.arbitrage-replace-dashboard .is-emphasis{background:#eef4fa;border-color:#cfdce9}
.arbitrage-replace-dashboard .is-amount{background:linear-gradient(145deg,#162953,#243d70);border-color:#162953}
.arbitrage-replace-dashboard .is-amount span{color:#d9e3ef}.arbitrage-replace-dashboard .is-amount strong{color:#fff}
.arbitrage-draft-note{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:12px 14px;border:1px solid #d8e3ee;border-left:4px solid var(--sky);border-radius:10px;background:#f5f8fb}
.arbitrage-draft-note strong{white-space:nowrap;color:var(--navy);font-size:10px}.arbitrage-draft-note span{color:#64748a;font-size:9px;line-height:1.5}
.arbitrage-status{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.arbitrage-status.is-draft{background:#fff3d8;color:#8a6417;border:1px solid #efd89b}.arbitrage-status.is-final{background:#e8f4ec;color:#276340;border:1px solid #c8e4d2}
.arbitrage-finalize-form{display:inline-flex;margin:0}
@media(max-width:1100px){.arbitrage-title-with-balance{flex-direction:column}.arbitrage-replace-dashboard{width:100%;min-width:0}}
@media(max-width:700px){.arbitrage-replace-dashboard{grid-template-columns:1fr 1fr}.arbitrage-draft-note{flex-direction:column}.arbitrage-reduce-balance{width:100%;text-align:left}}
.suitability-arbitrage-origin>.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}

/* V58 - Annexes pré-trade automatiques des rapports d'adéquation */
.suitability-auto-annex-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:12px 14px;border:1px solid #dbe4ef;border-radius:12px;background:#f7f9fc;color:#1f355d}.suitability-auto-annex-note strong{white-space:nowrap;font-size:.82rem}.suitability-auto-annex-note span{font-size:.78rem;line-height:1.45;color:#52637f}@media(max-width:760px){.suitability-auto-annex-note{flex-direction:column;gap:4px}.suitability-auto-annex-note strong{white-space:normal}}

/* V61 — leads : potentiel commercial, multi-produits et import/export */
.lead-page-actions{flex-wrap:wrap;justify-content:flex-end}.lead-target-products{border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fafbfc}.lead-target-products legend{padding:0 6px;color:var(--navy);font-size:9.5px;font-weight:800}.lead-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lead-product-grid .checkbox-card{margin:0}.lead-product-grid .checkbox-card span{line-height:1.25}.lead-page-actions .button-secondary{white-space:nowrap}@media(max-width:900px){.lead-product-grid{grid-template-columns:1fr 1fr}.lead-page-actions{justify-content:flex-start}}@media(max-width:620px){.lead-product-grid{grid-template-columns:1fr}}

.client-page-heading{margin-bottom:16px}
.client-page-heading .row-actions{gap:10px}
.client-compliance-summary-card{margin-bottom:18px}
.client-compliance-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:10px}
.client-compliance-overview article{padding:14px 15px;border:1px solid #e3e9ef;border-radius:14px;background:#fbfcfe}
.client-compliance-overview span{display:block;color:var(--slate);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.client-compliance-overview strong{display:block;color:var(--navy);font-size:16px;margin-bottom:4px}
.client-compliance-overview small{display:block;color:var(--muted);font-size:11px}
.compact-kyc-grid{margin-top:16px}
.client-compliance-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.compliance-progress{margin:12px 0 4px}
.compliance-progress-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:10px;color:var(--navy)}
.compliance-progress-head strong{font-size:13px}
.compliance-progress-track{height:8px;border-radius:999px;background:#eef1f5;overflow:hidden}
.compliance-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3f6f52,#5c9a76);transition:width .3s ease}
.compliance-checklist{display:grid;gap:6px;margin:14px 0}
.compliance-checklist-row{display:grid;grid-template-columns:auto minmax(140px,.9fr) minmax(0,1.4fr) auto;align-items:center;gap:12px;padding:9px 12px;border:1px solid #e3e9ef;border-radius:10px;background:#fbfcfe;text-decoration:none;color:inherit}
.compliance-checklist-row:hover{border-color:#c9d3dd}
.compliance-checklist-dot{width:9px;height:9px;border-radius:50%;background:#b7bfc9}
.compliance-checklist-label{font-size:10px;font-weight:750;color:var(--navy)}
.compliance-checklist-detail{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compliance-checklist-status{justify-self:end;font-size:8px}
.compliance-checklist-row.status-complet .compliance-checklist-dot,.compliance-checklist-row.status-signe .compliance-checklist-dot{background:#3f9d6c}
.compliance-checklist-row.status-complet .compliance-checklist-status,.compliance-checklist-row.status-signe .compliance-checklist-status{background:#e7f4ec;color:#2b7054}
.compliance-checklist-row.status-manquant .compliance-checklist-dot,.compliance-checklist-row.status-expire .compliance-checklist-dot{background:#c65b5b}
.compliance-checklist-row.status-manquant .compliance-checklist-status,.compliance-checklist-row.status-expire .compliance-checklist-status{background:#fbe7e7;color:#9f3d3d}
.compliance-checklist-row.status-genere .compliance-checklist-dot,.compliance-checklist-row.status-a_valider .compliance-checklist-dot,.compliance-checklist-row.status-a_relancer .compliance-checklist-dot{background:#c68c33}
.compliance-checklist-row.status-genere .compliance-checklist-status,.compliance-checklist-row.status-a_valider .compliance-checklist-status,.compliance-checklist-row.status-a_relancer .compliance-checklist-status{background:#fff1d9;color:#9a6515}
.compliance-checklist-row.status-non_applicable{opacity:.6}
.compliance-checklist-row.status-non_applicable .compliance-checklist-status{background:#eef1f5;color:#6d7887}
.compliance-kyc-detail{margin-top:6px}
.compliance-kyc-detail summary{cursor:pointer;font-size:9.5px;color:var(--slate);font-weight:700}
@media (max-width: 720px){.compliance-checklist-row{grid-template-columns:auto 1fr;grid-template-areas:"dot label" "dot detail" "dot status"}.compliance-checklist-detail{white-space:normal}.compliance-checklist-status{justify-self:start}}
.client-documents-bottom{margin-top:18px;margin-bottom:30px}
.client-blue-hero .kyc-pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
.client-blue-hero .kyc-status-ok{background:rgba(54,123,88,.25);border-color:rgba(171,220,194,.45)}
.client-blue-hero .kyc-status-warning{background:rgba(177,131,47,.25);border-color:rgba(233,201,138,.4)}
.client-blue-hero .kyc-status-missing{background:rgba(170,63,72,.25);border-color:rgba(239,186,192,.35)}
.client-blue-hero .kyc-status-seve{background:rgba(84,124,183,.28);border-color:rgba(177,203,238,.38)}
@media (max-width: 980px){.client-compliance-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 720px){.client-compliance-overview{grid-template-columns:1fr}.client-compliance-actions{flex-direction:column}.client-main-nav a,.client-portal-tabs a,.button-secondary,.button-ghost,.primary,.button-danger{width:100%}.client-page-heading .row-actions{width:100%;justify-content:stretch}}


/* V63 — harmonisation fiche client */
.client-shared-hero{margin-bottom:14px}
.client-file-hero .client-hero-line,
.client-file-hero .client-identity-summary,
.client-file-hero .client-contact-summary,
.client-file-hero .hero-risk-line{display:block;font-size:13px;line-height:1.45;color:#eef3fa;font-weight:500;margin-top:6px}
.client-file-hero .eyebrow{margin-bottom:6px}
.client-file-hero h2{margin-bottom:8px}
.client-file-hero .client-file-status{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:10px}
.client-file-hero .client-compliance-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.client-blue-hero .kyc-pill{border:1px solid transparent;box-shadow:none}
.client-blue-hero .kyc-pill.kyc-status-ok{background:#e6f3eb;border-color:#bedeca;color:var(--success)}
.client-blue-hero .kyc-pill.kyc-status-update{background:#fff0cf;border-color:#ead098;color:var(--warning)}
.client-blue-hero .kyc-pill.kyc-status-ko{background:#f8dde0;border-color:#e8bbc0;color:var(--danger)}
.client-main-nav{margin-bottom:18px}
.client-main-nav a.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(22,41,83,.12)}
.client-main-nav a{min-width:102px}
.client-compliance-summary-card{margin-top:14px}
.client-file-kpis{margin:18px 0 14px}
.client-file-grid{align-items:stretch}
.client-file-grid>.card{height:100%}
.client-simple-list>div,.relationship-list>article,.arbitrage-history-card{padding-block:12px}
.relationship-list{align-content:start;min-height:140px}
.relationship-list .empty{margin:auto 0;padding:28px 10px;text-align:center}
.client-arbitrage-history-card .card-title,
.arbitrage-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.client-arbitrage-history-card .row-actions{justify-content:flex-end;flex-wrap:wrap}
.client-compliance-overview article strong{font-size:16px}
@media (max-width: 900px){
  .client-file-hero .client-file-status{align-items:flex-start}
  .client-file-hero .client-compliance-pills{justify-content:flex-start}
}

/* V64 — alignements fiche client, arbitrages et vue allocation */
.client-file-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:100%}
.client-file-grid>.card{min-width:0;height:100%;display:flex;flex-direction:column}
.client-file-grid>.card>.client-simple-list,.client-file-grid>.card>.relationship-list{flex:1}
.client-file-grid .card-title{min-height:58px;align-items:flex-start}
.client-file-grid .relationship-list{align-content:start}
.client-file-grid .household-editor{margin-top:auto}
.client-file-kpis{width:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.client-file-kpis>article{min-width:0}
.client-compliance-summary-card{width:100%;overflow:hidden}
.arbitrage-draft-actions{position:relative}
.arbitrage-draft-actions>summary{list-style:none;cursor:pointer;border:1px solid #d9e3ee;border-radius:10px;background:#f6f9fc;color:var(--navy);padding:8px 11px;font-size:11px;font-weight:800}
.arbitrage-draft-actions>summary::-webkit-details-marker{display:none}
.arbitrage-draft-action-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:210px;padding:9px;border:1px solid #dce3eb;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(22,41,83,.14);display:grid;gap:7px}
.arbitrage-draft-action-menu form,.arbitrage-draft-action-menu button{width:100%}
.allocation-readonly-hero{margin-bottom:18px}
.allocation-view-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.allocation-readonly-card{margin-top:18px}
.allocation-readonly-card .allocation-performance-row{grid-template-columns:minmax(250px,1.5fr) repeat(5,minmax(105px,.7fr));align-items:center}
.allocation-linked-positions{margin-top:18px}
.position-title-with-badge+span+small a,.detail-section-head a{font-weight:800;color:var(--navy-2)}
@media(max-width:1100px){
  .client-file-grid{grid-template-columns:1fr}
  .allocation-view-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .allocation-readonly-card .allocation-performance-row{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(100px,.8fr))}
}
@media(max-width:700px){
  .client-file-kpis,.allocation-view-kpis{grid-template-columns:1fr 1fr}
  .allocation-readonly-card .allocation-performance-row{grid-template-columns:1fr 1fr}
  .arbitrage-draft-action-menu{position:static;margin-top:7px;box-shadow:none}
}

/* V67 — immobilier : prix d'achat et historique des valorisations */
.real-estate-list .real-estate-asset-card{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:14px 24px;align-items:start}
.real-estate-value-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px}.real-estate-value-meta span{font-size:10px;color:var(--muted)}.real-estate-value-meta span strong{display:inline;color:var(--navy);font-size:11px;margin-left:3px}
.real-estate-valuation-editor,.real-estate-valuation-history{grid-column:1/-1;border:1px solid #e2e8ef;border-radius:12px;background:#f9fbfd;overflow:hidden}
.real-estate-valuation-editor summary,.real-estate-valuation-history summary{cursor:pointer;padding:10px 13px;font-size:11px;font-weight:800;color:var(--navy);list-style:none}.real-estate-valuation-editor summary::-webkit-details-marker,.real-estate-valuation-history summary::-webkit-details-marker{display:none}
.real-estate-valuation-editor form{padding:12px 13px;border-top:1px solid #e2e8ef}.real-estate-history-list{display:grid;border-top:1px solid #e2e8ef}.real-estate-history-list>div{display:grid;grid-template-columns:120px 150px minmax(0,1fr);gap:12px;padding:9px 13px;border-bottom:1px solid #edf1f5;align-items:center}.real-estate-history-list>div:last-child{border-bottom:0}.real-estate-history-list span,.real-estate-history-list small{font-size:10px;color:var(--muted)}.real-estate-history-list strong{font-size:11px;color:var(--navy)}
@media(max-width:850px){.real-estate-list .real-estate-asset-card{grid-template-columns:1fr}.real-estate-history-list>div{grid-template-columns:1fr}.real-estate-valuation-editor,.real-estate-valuation-history{grid-column:1}}

/* ================= Anonymiseur de documents =================
   Deux colonnes : liste des éléments détectés à gauche, aperçu du document
   masqué à droite. Charte HODAS, aucune couleur importée. */
.anonymizer-intro{margin-bottom:16px}
.anonymizer-form{max-width:760px}
.anonymizer-form input[type=file]{padding:9px 10px;border:1px dashed #c3cedb;border-radius:9px;background:#fbfcfd;width:100%}
.anonymizer-form small{display:block;margin-top:5px;color:var(--muted);font-size:9.5px;line-height:1.5}
.anonymizer-help{margin-top:16px}
.anonymizer-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.anonymizer-help-grid article{padding:15px 16px;border:1px solid var(--line);border-left:3px solid var(--beige);border-radius:12px;background:#fbfcfd}
.anonymizer-help-grid h3{font-family:Georgia,"Times New Roman",serif;margin:0 0 7px;color:var(--navy);font-size:14px;font-weight:500}
.anonymizer-help-grid p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.6}

.anonymizer-summary-meta{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}
.anonymizer-workspace{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:16px;align-items:start;margin-top:16px}
.anonymizer-entity-list{display:grid;gap:10px;max-height:640px;overflow-y:auto;padding-right:4px}
.anonymizer-entity{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd;transition:.15s ease}
.anonymizer-entity.is-off{opacity:.5;background:#f5f6f8}
.anonymizer-entity-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.anonymizer-entity-check input{margin-top:2px;width:16px;height:16px;flex:0 0 auto;accent-color:var(--navy);cursor:pointer}
.anonymizer-entity-text{color:var(--ink);font-size:12px;font-weight:750;word-break:break-word;line-height:1.4}
.anonymizer-entity-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 0;padding-left:26px;color:var(--muted);font-size:9px}
.anonymizer-entity-meta .tag{font-size:8.5px;padding:3px 7px}
.tag-ai{background:#eef1f7;color:var(--navy-2)}
.tag-rule{background:#eef5f1;color:var(--success)}
.anonymizer-entity-reason{margin:7px 0 0;padding-left:26px;color:var(--muted);font-size:9.5px;line-height:1.5}
.anonymizer-entity-replacement{display:flex;align-items:center;gap:9px;margin:9px 0 0;padding-left:26px}
.anonymizer-entity-replacement>span{color:#4a5a70;font-size:9.5px;font-weight:750;white-space:nowrap}
.anonymizer-entity-replacement input{flex:1;min-width:0;padding:6px 9px;border:1px solid #cdd6de;border-radius:7px;background:#fff;color:var(--ink);font-size:10.5px;outline:none}
.anonymizer-entity-replacement input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.anonymizer-actions{margin-top:14px;flex-wrap:wrap;gap:8px}
.anonymizer-preview{position:sticky;top:18px}
.anonymizer-preview-text{margin:0;padding:16px 18px;max-height:640px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fbfcfd;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.7;white-space:pre-wrap;word-break:break-word}

@media(max-width:1100px){
  .anonymizer-workspace{grid-template-columns:1fr}
  .anonymizer-preview{position:static}
  .anonymizer-entity-list{max-height:none}
}

/* ==================================================================
   V68 — Suivi, échéances et registres de conformité
   ================================================================== */

/* Cloche de suivi : <details> natif, donc aucun script requis. */
.followup-bell{position:relative}
.followup-bell>summary{display:inline-flex;align-items:center;gap:7px;list-style:none;cursor:pointer;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:11px;font-weight:750;white-space:nowrap}
.followup-bell>summary::-webkit-details-marker{display:none}
.followup-bell>summary:hover{border-color:var(--line-dark);background:#f7f9fb}
.followup-bell>summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.followup-bell[open]>summary{border-color:var(--navy-2);box-shadow:0 0 0 3px rgba(31,57,113,.10)}
.followup-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:850;color:#fff;background:var(--warning)}
.followup-badge.is-late{background:var(--danger)}
.followup-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(400px,86vw);padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(22,41,83,.18)}
.followup-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.followup-panel-head h3{margin:3px 0 0;font-size:13px;color:var(--navy)}
.followup-panel-counts{display:grid;gap:4px;justify-items:end}
.followup-chip{padding:3px 8px;border-radius:999px;font-size:9px;font-weight:800;background:#eef2f6;color:var(--slate);white-space:nowrap}
.followup-chip.severity-late{background:#f9e8ea;color:var(--danger)}
.followup-chip.severity-soon{background:#fff4df;color:var(--warning)}
.followup-panel-list{display:grid;gap:2px;margin:8px 0;max-height:min(52vh,380px);overflow-y:auto}
.followup-panel-row{display:flex;align-items:flex-start;gap:9px;padding:9px 8px;border-radius:9px;text-decoration:none;color:inherit}
.followup-panel-row:hover{background:#f5f8fa}
.followup-panel-text{display:grid;gap:2px;min-width:0}
.followup-panel-text strong{font-size:11px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.followup-panel-text small{font-size:9px;color:var(--muted)}
.followup-dot{flex:0 0 auto;width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--slate)}
.followup-panel-row.severity-late .followup-dot{background:var(--danger)}
.followup-panel-row.severity-soon .followup-dot{background:var(--warning)}
.followup-panel-row.severity-info .followup-dot{background:var(--sky)}
.followup-panel-link{display:block;padding-top:9px;border-top:1px solid var(--line);font-size:10px;font-weight:750;color:var(--navy-2)}
.sidebar-count{margin-left:auto;padding:1px 7px;border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-weight:850}

/* Écran de suivi */
.followup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.followup-kpi{display:grid;gap:3px;margin:0!important;border-left:4px solid var(--line-dark)}
.followup-kpi span{font-size:9.5px;color:var(--muted);font-weight:750}
.followup-kpi strong{font-size:26px;color:var(--navy);line-height:1.1}
.followup-kpi small{font-size:9px;color:var(--slate)}
.followup-kpi.severity-late{border-left-color:var(--danger)}
.followup-kpi.severity-soon{border-left-color:var(--warning)}
.followup-kpi.severity-info{border-left-color:var(--sky)}
.followup-group{margin-bottom:16px}
.followup-list{display:grid;gap:8px}
.followup-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--line-dark);border-radius:11px;background:#fff}
.followup-row.severity-late{border-left-color:var(--danger);background:#fffafa}
.followup-row.severity-soon{border-left-color:var(--warning);background:#fffdf7}
.followup-row.severity-info{border-left-color:var(--sky)}
.followup-row-main{display:flex;align-items:flex-start;gap:12px;min-width:0}
.followup-severity{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#eef2f6;color:var(--slate);font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.03em}
.followup-row.severity-late .followup-severity{background:#f9e8ea;color:var(--danger)}
.followup-row.severity-soon .followup-severity{background:#fff4df;color:var(--warning)}
.followup-row-text{display:grid;gap:3px;min-width:0}
.followup-row-text strong{font-size:12px;color:var(--navy)}
.followup-row-text strong a{color:inherit;text-decoration:none}
.followup-row-text strong a:hover{text-decoration:underline}
.followup-row-text span{font-size:10px;color:var(--muted);line-height:1.5}
.followup-row-text small{font-size:9px;color:var(--slate)}
.followup-row-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.followup-snooze-form{display:flex;align-items:center;gap:6px}
.followup-snooze-form select{padding:5px 8px;font-size:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Pastilles d'état de revue, partagées avec la fiche client. */
.review-ok{background:#eaf5ee;border-color:#bedeca;color:var(--success)}
.review-soon{background:#fff4df;border-color:#ead098;color:var(--warning)}
.review-late{background:#f9e8ea;border-color:#e8bbc0;color:var(--danger)}
.review-none{background:#f2f5f8;border-color:#d9e1e8;color:var(--slate)}
.review-paused{background:#f2f5f8;border-color:#d9e1e8;color:var(--muted)}
.status-pill.severity-late{background:#f9e8ea;color:var(--danger)}

/* Fiche client — bloc de suivi */
.client-followup-card{margin-bottom:16px}
.client-followup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:16px}
.client-followup-grid h3{margin:0 0 10px;font-size:12px;color:var(--navy)}
.client-alert-list>div{border-left:3px solid var(--line-dark);padding-left:10px}
.client-alert-list>div.severity-late{border-left-color:var(--danger)}
.client-alert-list>div.severity-soon{border-left-color:var(--warning)}
.client-alert-list>div.severity-info{border-left-color:var(--sky)}
.client-review-history{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.client-review-history h3{margin:0;font-size:12px;color:var(--navy)}
.client-registers-card{margin-bottom:16px}
.client-register-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.client-register-grid h3{margin:0 0 10px;font-size:12px;color:var(--navy)}
.review-confirmations{border:1px solid var(--line);border-radius:11px;padding:12px 13px}
.review-confirmations legend{padding:0 6px;font-size:9.5px;font-weight:800;color:var(--muted)}

/* Registres de conformité */
.register-tabs{margin-bottom:16px}
.register-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:7px;padding:0 5px;border-radius:999px;background:#eef2f6;color:var(--slate);font-size:9px;font-weight:850}
.register-tabs a.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(22,41,83,.12)}
.register-tabs a.active .register-tab-count{background:rgba(255,255,255,.22);color:#fff}
.register-intro{margin-bottom:14px}
.compliance-group{border:1px solid var(--line);border-radius:11px;padding:14px;margin:0 0 14px}
.compliance-group legend{padding:0 7px;font-size:9.5px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.compliance-group-help{margin:0 0 12px;font-size:9.5px}
.compliance-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.compliance-field-full{grid-column:1/-1}
.compliance-check{align-self:end}
.field-help{display:block;margin-top:4px;font-size:9px;color:var(--muted);font-weight:500}
tr.row-alert{background:#fffafa}
tr.row-alert td:first-child{box-shadow:inset 3px 0 0 var(--danger)}
.wide-modal{max-width:min(920px,94vw)}

@media(max-width:1100px){
  .followup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-followup-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .followup-row{flex-direction:column;align-items:stretch}
  .followup-row-actions{justify-content:flex-end}
  .followup-panel{position:fixed;left:12px;right:12px;top:64px;width:auto}
}

/* ================= V68 — alignement des cartes dans les grilles =================
   `.card + .card { margin-top: 18px }` (ligne 87) sert à espacer les cartes
   empilées dans le flux normal de la page. Dès qu'un conteneur passe en
   `display:grid`, cette marge s'ajoute au `gap` du conteneur : la 2e carte
   (et les suivantes) descendent de 18 px, dépassent leur ligne de grille et ne
   sont donc plus alignées avec la carte voisine. Trois conteneurs avaient déjà
   été rustinés au cas par cas (`.expenses-grid`, `.client-kyc-layout`,
   `.meeting-detail-grid`) ; on neutralise ici la marge pour tous les conteneurs
   qui gèrent déjà leur propre espacement via `gap`. */
.anonymizer-workspace>.card,
.arbitrage-wizard>.card,
.assistant-review-form>.card,
.assistant-review-grid>.card,
.client-file-grid>.card,
.client-kyc-layout>.card,
.client-portal-grid>.card,
.client-profile-patrimony-row>.card,
.dashboard-split>.card,
.der-editor-form>.card,
.detail-grid>.card,
.edit-doc-layout>.card,
.edit-doc-side>.card,
.expenses-grid>.card,
.followup-kpis>.card,
.grid-2>.card,
.grid-form-list>.card,
.list-only-layout>.card,
.marketing-groups>.card,
.meeting-detail-grid>.card,
.objective-list>.card,
.patrimonial-tool-grid>.card,
.product-groups>.card,
.questionnaire-layout>.card,
.report-grid>.card,
.social-layout>.card,
.tools-grid>.card,
.two-column-layout>.card,
.valuation-category-stack>.card{margin-top:0}

/* `.detail-grid` (fiche partenaire) et `.two-column-layout` (lettres de mission)
   étaient utilisés dans les gabarits sans jamais être déclarés en CSS : les
   `grid-template-columns` posés par `.partner-detail-grid` et
   `.suitability-home-grid` restaient sans effet et les cartes s'empilaient sur
   toute la largeur au lieu de former deux colonnes. */
.detail-grid,
.two-column-layout{display:grid;gap:18px;align-items:start;margin-top:18px;min-width:0}

/* ================= Recherche globale =================
   Barre unique dans l'en-tête : clients, produits, procédures, simulateurs et
   écrans. Palette HODAS, panneau de résultats groupés navigable au clavier. */
.global-search{position:relative;flex:1 1 260px;min-width:0;max-width:520px;display:flex;align-items:center;gap:9px;padding:0 12px;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:var(--shadow-soft);transition:.16s ease}
.global-search:focus-within{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.global-search-icon{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--slate);stroke-width:1.8;stroke-linecap:round}
.global-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-size:12.5px;outline:none}
.global-search input::placeholder{color:#9aa6b4}
.global-search input::-webkit-search-cancel-button{cursor:pointer}
.global-search-shortcut{flex:0 0 auto;padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:#f5f7fa;color:var(--slate);font-family:inherit;font-size:9.5px;font-weight:750;letter-spacing:.02em}
.global-search:focus-within .global-search-shortcut{display:none}

.global-search-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;max-height:min(72vh,560px);overflow-y:auto;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 20px 46px rgba(22,41,83,.16)}
.global-search-group{padding:4px 0}
.global-search-group+.global-search-group{border-top:1px solid #eef1f5;margin-top:4px}
.global-search-group>p{margin:6px 10px 5px;color:var(--slate);font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.global-search-hit{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;border-radius:9px;color:inherit;text-decoration:none;cursor:pointer;transition:.12s ease}
.global-search-hit:hover,.global-search-hit.is-active{background:#f3f6fa}
.global-search-hit.is-active{box-shadow:inset 2px 0 0 var(--beige)}
.global-search-hit strong{display:block;color:var(--ink);font-size:12px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-hit small{display:block;margin-top:2px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-hit>div{min-width:0}
.global-search-hit .global-search-enter{flex:0 0 auto;color:var(--slate);font-size:13px;opacity:0;transition:.12s ease}
.global-search-hit.is-active .global-search-enter{opacity:1}
.global-search-empty,.global-search-status{padding:22px 14px;text-align:center;color:var(--muted);font-size:11px;line-height:1.6}
.global-search-empty strong{display:block;color:var(--ink);margin-bottom:4px;font-size:12px}

@media(max-width:1200px){.global-search-shortcut{display:none}}
@media(max-width:900px){.global-search{max-width:none;flex-basis:180px}.global-search input{font-size:12px}}
@media(max-width:760px){
  .topbar{flex-wrap:wrap}
  .global-search{order:3;flex:1 1 100%;max-width:none;margin-top:4px}
}
@media print{.global-search{display:none!important}}

/* ==================================================================
   V69 — Connexion Google Agenda et Gmail
   ================================================================== */

.google-setup-card{margin-bottom:16px}
.google-steps{margin:6px 0 0;padding-left:20px;display:grid;gap:10px;color:var(--ink);font-size:11px;line-height:1.6}
.google-steps strong{color:var(--navy)}
.google-steps code,.google-redirect{display:inline-block;margin-top:5px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#f5f8fa;color:var(--navy);font-size:10.5px;word-break:break-all}
.google-env{margin:6px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f5f8fa;color:var(--navy);font-size:10.5px;line-height:1.6;white-space:pre-wrap;word-break:break-all}
.google-account-card{margin-bottom:16px}
.google-sync-summary{margin:14px 0 0;padding:10px 12px;border:1px solid #d5e6dc;border-radius:9px;background:#f2f9f5;color:var(--success);font-size:10.5px;font-weight:650}
.google-sync-error{margin:10px 0 0;padding:10px 12px;border:1px solid #edd5d8;border-radius:9px;background:#fdf5f5;color:var(--danger);font-size:10.5px;font-weight:650}
.google-scope-note{display:grid;gap:4px;margin-top:14px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}
.google-scope-note strong{color:var(--navy);font-size:10.5px}
.google-scope-note span{color:var(--ink);font-size:10.5px}
.google-scope-note small{color:var(--muted);font-size:9.5px;line-height:1.55}
.google-permission-list{display:grid;gap:12px}
.google-permission{display:grid;gap:6px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.google-permission.is-fixed{background:#f6f9fc;border-style:dashed}
.google-permission>span{color:var(--muted);font-size:10px;line-height:1.55}
.google-permission strong{color:var(--navy);font-size:11.5px}
.google-danger-card{border-color:#edd5d8}

/* Fil des échanges sur la fiche client */
.client-emails-card{margin-bottom:16px}
.client-email-list{display:grid;gap:6px}
.client-email-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.client-email-row.direction-out{background:#f8fafc}
.email-direction{font-size:13px;font-weight:850;color:var(--sky);line-height:1.4}
.client-email-row.direction-in .email-direction{color:var(--navy-2)}
.client-email-row strong{display:block;font-size:11.5px;color:var(--navy)}
.client-email-row strong a{color:inherit;text-decoration:none}
.client-email-row strong a:hover{text-decoration:underline}
.client-email-row span{display:block;margin-top:2px;font-size:10px;color:var(--muted)}
.email-snippet{display:block;margin-top:4px;font-size:9.5px;color:var(--slate);line-height:1.5}
.email-date{flex:0 0 auto;font-size:10px!important;color:var(--slate)!important;white-space:nowrap}

@media(max-width:760px){
  .client-email-row{grid-template-columns:auto minmax(0,1fr)}
  .email-date{grid-column:2;text-align:left}
}



/* ================= Reporting — outil de pilotage =================
   Un moteur de graphique unique (.rp-chart), une barre de configuration sobre,
   des vignettes KPI avec micro-tendance, une répartition et un suivi
   d'objectifs. Charte HODAS : navy / sky / beige, Georgia pour les titres. */

.rp{display:grid;gap:16px}

/* --- barre de configuration --- */
.rp-bar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft)}
.rp-field{display:grid;gap:5px;min-width:0}
.rp-field>span{color:var(--slate);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.rp-field select,.rp-field input{padding:8px 10px;border:1px solid #cdd6de;border-radius:8px;background:#fff;color:var(--ink);font-size:12px;outline:none;max-width:220px}
.rp-field select:focus,.rp-field input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(119,148,187,.17)}
.rp-field.rp-metric select{font-weight:750;color:var(--navy)}
.rp-bar-spacer{flex:1 1 auto}
.rp-chart-types{display:inline-flex;border:1px solid #cdd6de;border-radius:8px;overflow:hidden}
.rp-chart-types button{padding:8px 10px;border:0;background:#fff;color:var(--slate);cursor:pointer;font-size:11px;font-weight:700;display:grid;place-items:center}
.rp-chart-types button+button{border-left:1px solid #e3e9ef}
.rp-chart-types button[aria-pressed="true"]{background:var(--navy);color:#fff}
.rp-chart-types svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rp-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--navy-2);font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap;padding-bottom:8px}
.rp-toggle input{width:15px;height:15px;accent-color:var(--navy);cursor:pointer}
.rp-more{border:1px solid #d9e1ea;background:#f6f9fc;border-radius:8px;padding:8px 12px;color:var(--navy);font-size:11px;font-weight:750;cursor:pointer}
.rp-more[aria-expanded="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}

/* --- rangée de filtres avancés, repliable --- */
.rp-filters{display:none;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px;padding:14px 16px;background:#fbfcfd;border:1px solid var(--line);border-radius:12px}
.rp-filters.is-open{display:grid}
.rp-filters .rp-field select{max-width:none;width:100%}
.rp-filters-actions{grid-column:1/-1;display:flex;gap:8px}
.rp-context{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:var(--muted);font-size:10.5px}
.rp-context .tag{background:#eef1f6;color:var(--navy-2)}

/* --- vignettes KPI --- */
.rp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.rp-kpi{position:relative;padding:15px 16px 12px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:var(--shadow-soft);cursor:pointer;transition:.15s ease;overflow:hidden}
.rp-kpi:hover{border-color:#b9c6d8;transform:translateY(-1px)}
.rp-kpi.is-active{border-color:var(--navy);box-shadow:0 0 0 2px rgba(22,41,83,.12)}
.rp-kpi>span{display:block;color:var(--slate);font-size:10px;font-weight:750}
.rp-kpi>strong{display:block;margin-top:6px;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:22px;font-weight:500;line-height:1.1}
.rp-kpi-delta{display:inline-flex;align-items:center;gap:3px;margin-top:6px;font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 7px}
.rp-kpi-delta.up{background:#e9f4ee;color:var(--success)}

.rp-kpi-delta.down{background:#fbeced;color:var(--danger)}
.rp-kpi-delta.flat{background:#eef1f5;color:var(--muted)}
.rp-kpi-spark{position:absolute;right:0;bottom:0;width:82px;height:34px;opacity:.5}
.rp-kpi-spark svg{width:100%;height:100%;display:block}
.rp-kpi-spark path{fill:none;stroke:var(--sky);stroke-width:2}

/* --- carte graphique principale --- */
.rp-main{border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}
.rp-main-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 18px 8px}
.rp-main-head h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:19px;font-weight:500;margin:0}
.rp-main-head p{margin:2px 0 0;color:var(--muted);font-size:10.5px}
.rp-main-total{font-family:Georgia,serif;color:var(--navy);font-size:20px;font-weight:500}
.rp-chart-wrap{padding:6px 12px 16px;position:relative}

/* moteur de graphique */
.rp-chart{width:100%;display:block;overflow:visible}
.rp-chart .grid-line{stroke:#eef1f5;stroke-width:1}
.rp-chart .axis-label{fill:var(--muted);font-size:9px}
.rp-chart .series-line{fill:none;stroke:var(--navy-2);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.rp-chart .series-line.is-compare{stroke:#b9c6d8;stroke-dasharray:5 4;stroke-width:2}
.rp-chart .series-area{fill:url(#rpArea);opacity:.85}
.rp-chart .series-dot{fill:var(--navy-2)}
.rp-chart .bar{fill:var(--sky)}
.rp-chart .bar.is-compare{fill:#dfe6ee}
.rp-chart .bar:hover,.rp-chart .bar.is-hover{fill:var(--navy-2)}
.rp-chart .bar-negative{fill:#d8a0a4}
.rp-chart .donut-seg{stroke:#fff;stroke-width:2}
.rp-chart .hover-guide{stroke:var(--line-dark);stroke-width:1;stroke-dasharray:3 3}
.rp-chart-empty{padding:40px 16px;text-align:center;color:var(--muted);font-size:11px}
.rp-chart-legend{display:flex;flex-wrap:wrap;gap:14px;padding:0 18px 14px;color:var(--muted);font-size:10.5px}
.rp-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.rp-chart-legend i{width:12px;height:3px;border-radius:2px;background:var(--navy-2)}
.rp-chart-legend i.compare{background:#b9c6d8}

/* tooltip (position via CSSOM, pas de style inline en HTML) */
.rp-tooltip{position:absolute;pointer-events:none;z-index:5;background:var(--navy);color:#fff;border-radius:8px;padding:7px 10px;font-size:11px;line-height:1.5;box-shadow:0 10px 24px rgba(22,41,83,.28);opacity:0;transition:opacity .1s ease;white-space:nowrap}
.rp-tooltip.is-visible{opacity:1}
.rp-tooltip b{display:block;font-size:10px;color:#b9c8de;font-weight:700}

/* --- répartition + objectifs côte à côte --- */
.rp-lower{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
.rp-panel{border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-soft);padding:16px 18px}
.rp-panel h3{font-family:Georgia,serif;color:var(--navy);font-size:16px;font-weight:500;margin:0 0 4px}
.rp-panel .rp-panel-sub{margin:0 0 12px;color:var(--muted);font-size:10.5px}
.rp-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.rp-panel-head select{padding:6px 9px;border:1px solid #cdd6de;border-radius:7px;background:#fff;font-size:11px;color:var(--navy-2);font-weight:700;outline:none}

.rp-break{display:grid;gap:9px}
.rp-break-row{display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(0,2fr) minmax(70px,auto);gap:10px;align-items:center;font-size:11px}
.rp-break-row>span:first-child{color:var(--ink);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-break-track{height:12px;border-radius:6px;background:#eef1f5;overflow:hidden}
.rp-break-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--sky),var(--navy));min-width:2px}
.rp-break-row>b{text-align:right;color:var(--navy);font-variant-numeric:tabular-nums;font-weight:750}
.rp-break-row small{color:var(--muted);font-weight:600}

.rp-obj{display:grid;gap:14px}
.rp-obj-card{border:1px solid var(--line);border-left:3px solid var(--beige);border-radius:11px;padding:12px 14px;background:#fbfcfd}
.rp-obj-card.is-current{border-left-color:var(--navy)}
.rp-obj-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.rp-obj-head strong{color:var(--navy);font-size:12px}
.rp-obj-head span{color:var(--muted);font-size:9.5px}
.rp-obj-line{display:grid;grid-template-columns:minmax(80px,auto) minmax(0,1fr) minmax(96px,auto);gap:9px;align-items:center;font-size:10.5px;padding:4px 0}
.rp-obj-line>span:first-child{color:var(--muted)}
.rp-obj-line>b{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.rp-obj-bar{height:9px;border-radius:5px;background:#eef1f5;overflow:hidden;position:relative}
.rp-obj-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,var(--sky),var(--navy))}
.rp-obj-bar.ahead i{background:linear-gradient(90deg,#8fc4a6,var(--success))}
.rp-obj-bar.behind i{background:linear-gradient(90deg,#e0b48f,var(--warning))}
.rp-obj-pace{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--navy);opacity:.55}

/* --- vues sauvegardées --- */
.rp-views{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rp-view-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d9e1ea;border-radius:999px;background:#f6f9fc;color:var(--navy-2);font-size:11px;font-weight:700;cursor:pointer}
.rp-view-chip:hover{border-color:var(--sky)}
.rp-view-chip.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.rp-view-chip button{border:0;background:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;opacity:.6;padding:0}
.rp-view-chip button:hover{opacity:1}
.rp-view-save{padding:6px 12px;border:1px dashed #c3cedb;border-radius:999px;background:#fff;color:var(--navy);font-size:11px;font-weight:750;cursor:pointer}

@media(max-width:1100px){
  .rp-lower{grid-template-columns:1fr}
  .rp-bar{position:static}
}
@media(max-width:760px){
  .rp-bar{flex-direction:column;align-items:stretch}
  .rp-field select,.rp-field input{max-width:none;width:100%}
  .rp-bar-spacer{display:none}
  .rp-kpis{grid-template-columns:1fr 1fr}
}
@media print{
  .rp-bar,.rp-filters,.rp-more,.rp-views,.rp-chart-types,.rp-toggle{display:none!important}
  .rp-main,.rp-panel{box-shadow:none;break-inside:avoid}
}

/* ================= V70 — Réseaux sociaux : pipeline + calendrier éditorial ================= */
.social-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.social-tabs a{padding:8px 14px;border-radius:999px;background:#eef2f5;color:#5b6d82;font-size:11px;font-weight:750;text-decoration:none}
.social-tabs a.active{background:var(--navy);color:#fff}
.social-tabs a.social-tab-export{margin-left:auto;background:transparent;border:1px solid var(--line);color:#5b6d82}
.social-summary article strong{font-size:18px}

.social-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:16px;padding:14px;background:#f6f8fa;border:1px solid var(--line);border-radius:12px}
.social-filters label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--muted);font-weight:700}
.social-filters label span{text-transform:uppercase;letter-spacing:.03em}
.social-filters input,.social-filters select{padding:7px 9px;border:1px solid #d5dde4;border-radius:8px;font-size:12px;background:#fff}
.social-filter-search{flex:1 1 220px}
.social-filter-actions{display:flex;gap:8px}

.social-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.social-col{background:#f6f8fa;border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
.social-col>header{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#5b6d82;padding:4px 6px 10px}
.social-col>header b{background:#fff;border:1px solid var(--line);border-radius:999px;padding:1px 8px;color:var(--navy)}
.social-col-body{display:flex;flex-direction:column;gap:10px}
.social-col-body .social-card{padding:12px}
.social-col-body .social-card h3{font-size:14px}
.social-col-body .social-card h3 a{color:inherit;text-decoration:none}
.social-col[data-status-group="À produire"]{border-top:3px solid #d9a441}
.social-col[data-status-group="Prêt à partir"]{border-top:3px solid #4f79c7}
.social-col[data-status-group="Fait"]{border-top:3px solid var(--success,#3c8a69)}
.social-col[data-status-group="Sorti du flux"]{border-top:3px solid #9aa7b4}
.social-card .social-actions form{display:inline}
.social-serie{background:#ece4f4!important;color:#6b4b95!important}
.social-sponso{background:#fdecc8!important;color:#8a601f!important;font-weight:800}
.social-check{display:flex;align-items:center;gap:8px;font-size:12px}
.social-check input{width:auto}

.social-detail-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start}
.social-detail-danger{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.social-detail-danger form{display:inline}
.social-history-table td .social-sponso{font-size:8.5px;padding:2px 6px}

/* Calendrier éditorial */
.edito-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.edito-cal-head h2{margin:0}
.edito-legend{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0;font-size:10px;color:#5b6d82}
.edito-legend span{display:flex;align-items:center;gap:6px}
.edito-legend span::before{content:"";width:10px;height:10px;border-radius:3px;background:#9aa7b4}
.edito-legend span[data-status-group="À produire"]::before{background:#d9a441}
.edito-legend span[data-status-group="Prêt à partir"]::before{background:#4f79c7}
.edito-legend span[data-status-group="Fait"]::before{background:var(--success,#3c8a69)}
.edito-calendar{width:100%;border-collapse:collapse;table-layout:fixed}
.edito-calendar th{background:#f1f4f7;color:#5b6d82;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:8px 6px;border:1px solid var(--line)}
.edito-day{border:1px solid var(--line);vertical-align:top;height:104px;padding:5px;background:#fff}
.edito-day.is-out{background:#fafbfc;color:#b8c2cc}
.edito-day.is-today{background:#fff8ec;box-shadow:inset 0 0 0 2px #d9a441}
.edito-daynum{font-size:11px;font-weight:800;color:#5b6d82}
.edito-day.is-out .edito-daynum{color:#c3cbd3}
.edito-chips{display:flex;flex-direction:column;gap:3px;margin-top:4px}
.edito-chip{display:block;font-size:9.5px;line-height:1.25;padding:3px 5px;border-radius:5px;background:#eef2f5;color:#33414f;text-decoration:none;border-left:3px solid #9aa7b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.edito-chip[data-status-group="À produire"]{background:#fbf1dd;border-left-color:#d9a441}
.edito-chip[data-status-group="Prêt à partir"]{background:#e8eefa;border-left-color:#4f79c7}
.edito-chip[data-status-group="Fait"]{background:#e6f2ec;border-left-color:var(--success,#3c8a69)}
.edito-chip[data-status-group="Sorti du flux"]{background:#eef1f3;border-left-color:#9aa7b4}

@media(max-width:1180px){.social-board{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.social-detail-layout{grid-template-columns:1fr}}
@media(max-width:760px){.social-board{grid-template-columns:1fr}.edito-calendar{font-size:9px}.edito-day{height:auto;min-height:64px}}
@media print{.social-tabs,.social-filters,.social-actions,.social-detail-danger,.edito-cal-head a{display:none!important}.edito-day{height:auto}}
