:root{color-scheme:light;--ink:#183449;--muted:#627180;--navy:#152f42;--teal:#0d827e;--line:#dce4e9;--bg:#f4f7f9;--white:#fff;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #14a89b;outline-offset:3px}button{border:0;background:none}a{color:var(--teal);text-underline-offset:3px}.top{background:var(--navy);color:white;padding:20px max(24px,calc((100vw - 1400px)/2));display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;font-size:14px;letter-spacing:1.5px;font-weight:700}.brandmark{font-size:30px;line-height:1;color:#69d6ce}.brand-sub{display:block;color:#c6d6df;font-size:13px;letter-spacing:0;font-weight:400}.private{font-size:13px;border:1px solid #536b7b;border-radius:20px;padding:5px 12px;color:#d9e6ee}main{max-width:1448px;margin:auto;padding:34px 24px 20px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:750;color:var(--teal);margin:0 0 7px}h1{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;letter-spacing:-.8px;margin:0;font-weight:680}h2{font-size:20px;line-height:1.3;margin:0;font-weight:650}h3{font-size:17px;margin:0 0 12px}.asof{text-align:right;font-size:14px;color:var(--muted);margin:0}.asof strong{font-weight:500;color:var(--ink)}.filters{display:grid;grid-template-columns:1.15fr 1fr 1fr .65fr 1.25fr auto;align-items:end;gap:16px;padding:22px;background:white;border:1px solid var(--line);border-radius:12px}.filters label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:7px;min-width:0}.filters input,.filters select{min-width:0;width:100%;height:44px;border:1px solid #c8d4de;border-radius:6px;background:#fff;color:var(--ink);padding:8px 10px;font-size:16px}.reset{height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}.metrics{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;margin:22px 0}.metric{background:white;border:1px solid var(--line);border-radius:10px;padding:22px 25px}.metric.primary{background:var(--navy);color:white;border-color:var(--navy)}.metric-label{font-size:14px;color:var(--muted)}.primary .metric-label{color:#cadbe4}.metric-value{font-size:clamp(1.6rem,2.5vw,2.3rem);line-height:1.3;letter-spacing:-.6px;font-weight:650;margin:9px 0 4px;font-variant-numeric:tabular-nums}.metric-value small{font-size:16px;font-weight:450;letter-spacing:0}.metric-desc{font-size:13px;color:var(--muted)}.primary .metric-desc{color:#a9c9d8}.coverage{display:flex;gap:12px;align-items:start;padding:13px 16px;background:#e9f1f6;border-radius:7px;font-size:14px;margin-bottom:30px;color:#38576d}.coverage p{margin:0}.info-icon{flex-shrink:0;width:19px;height:19px;border:1px solid #648198;border-radius:50%;line-height:18px;text-align:center;font-size:12px;margin-top:1px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:28px;align-items:start}.section-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px}.tree-tools{display:flex;gap:12px;align-items:center}.tree-tools button{font-size:13px;padding:6px 0;color:var(--muted)}.tree-tools button:hover{color:var(--teal)}.hint{font-size:14px;color:var(--muted);margin:6px 0 18px}.cat{background:white;border:1px solid var(--line);border-radius:10px;margin:0 0 10px;overflow:hidden}.cat>summary{padding:19px 20px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:12px;align-items:center;list-style:none;position:relative}.cat>summary::-webkit-details-marker,.sub>summary::-webkit-details-marker,.recipient>summary::-webkit-details-marker,.transaction>summary::-webkit-details-marker{display:none}summary .chevron{display:block;width:8px;height:8px;border-right:2px solid #647b8a;border-bottom:2px solid #647b8a;transform:rotate(-45deg);transition:transform .16s}.cat[open]>summary .chevron,.sub[open]>summary .chevron,.recipient[open]>summary .chevron{transform:rotate(45deg)}.cat-name{font-size:16px;font-weight:650;display:block}.cat-meta{font-size:13px;color:var(--muted);display:block;margin-top:2px}.amount{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap;text-align:right}.amount small{font-size:12px;font-weight:400;color:var(--muted);margin-left:5px}.cat-progress{height:3px;background:#f2f5f7;grid-column:2/4;overflow:hidden;border-radius:3px}.cat-progress span{display:block;height:100%;background:#62b5b0;min-width:2px}.cat[open]>summary{background:#f9fcfd}.sub-list{border-top:1px solid var(--line);padding:0 20px 8px 48px}.sub{border-bottom:1px solid #e5ebef}.sub:last-child{border-bottom:0}.sub>summary{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;list-style:none;padding:16px 0;font-size:14px}.sub .amount{font-size:14px}.sub-count{color:var(--muted);font-size:12px;margin-left:6px}.tx-list{margin:0 0 15px 22px}.transaction{border-top:1px solid #e8edef}.transaction>summary{padding:13px 4px;display:grid;grid-template-columns:87px minmax(0,1fr) auto;gap:10px;align-items:start;list-style:none;font-size:14px}.tx-date{font-size:13px;color:var(--muted)}.tx-title{font-weight:500;overflow-wrap:anywhere}.tx-title small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px}.transaction .amount{font-size:14px}.transaction[open]>summary{color:var(--teal)}.tx-detail{background:#f4f8fa;border-radius:6px;padding:13px 16px;margin-bottom:12px;font-size:13px;overflow-wrap:anywhere}.tx-detail dl{display:grid;grid-template-columns:95px minmax(0,1fr);gap:6px 12px;margin:0}.tx-detail dt{color:var(--muted)}.tx-detail dd{margin:0}.tx-detail p{margin:10px 0 0}.refund{color:var(--teal)}aside{position:sticky;top:20px}.chart-card{border:1px solid var(--line);background:white;border-radius:10px;padding:23px 22px}.unit{font-size:13px;color:var(--muted)}.bar{width:100%;padding:9px 0;display:block;text-align:left}.bar-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:13px}.bar-label{max-width:67%;line-height:1.3}.bar-value{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.bar-track{height:7px;margin-top:7px;border-radius:2px;background:#eef2f5;overflow:hidden}.bar-track i{display:block;height:100%;background:#178784;border-radius:2px}.bar:hover .bar-label{text-decoration:underline}.small{font-size:12px;color:var(--muted);margin:13px 0 0}.side-note{padding:25px 10px;font-size:14px;color:var(--muted)}.side-note p{margin:0 0 12px}.method{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;font-size:14px}.method>summary{font-weight:650;padding:5px 0}.method>summary span{font-weight:400;font-size:13px;color:var(--muted);margin-left:14px;display:inline-block}.method-body{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:24px 0 10px;color:#526776}.method-body p{margin:0 0 13px}footer{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.empty{padding:40px 25px;text-align:center;border:1px dashed #c4d1da;border-radius:8px;color:var(--muted);background:white}.error{background:#fff0ef;border:1px solid #efb7b1;color:#8d342f;border-radius:8px;padding:14px;margin-top:18px}[hidden]{display:none!important}@media(max-width:1120px){.filters{grid-template-columns:1fr 1fr 1fr}.workspace{grid-template-columns:minmax(0,1fr) 290px}.section-heading{align-items:start}.tree-tools{gap:8px}.tree-tools button{font-size:12px}.sub-list{padding-left:28px}.metric{padding:19px}.metric-value{font-size:27px}}@media(max-width:800px){main{padding:26px 18px 18px}.top{padding:16px 18px}.intro{align-items:start}.asof{font-size:12px;max-width:140px}.workspace{grid-template-columns:1fr}.workspace aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px}.filters{gap:12px;padding:17px}.metrics{gap:10px}.metric{padding:16px 13px}.metric-value{font-size:25px}.metric-desc{font-size:12px}.method-body{gap:20px}.section-heading{align-items:center}}@media(max-width:520px){.intro{display:block}.asof{max-width:none;text-align:left;margin-top:12px}.asof br{display:none}.asof strong{margin-left:5px}.filters{grid-template-columns:1fr 1fr;gap:13px 10px}.filters label:first-child{grid-column:1/3}.scope{grid-column:1/3}.reset{grid-column:2;grid-row:3;text-align:right}.metrics{grid-template-columns:1fr 1fr}.metric.primary{grid-column:1/3}.primary .metric-value{font-size:35px}.metric-value{font-size:24px}.coverage{margin-bottom:24px}.section-heading{align-items:start}.tree-tools{display:block;text-align:right}.tree-tools button{display:block;margin-left:auto}.hint{font-size:13px}.cat>summary{padding:16px 13px;gap:9px;grid-template-columns:12px minmax(0,1fr) auto}.cat-name{font-size:15px}.amount{font-size:15px}.cat-meta{font-size:12px}.amount small{display:none}.sub-list{padding:0 12px 4px 25px}.sub>summary{font-size:14px;gap:8px}.sub-count{display:block;margin-left:0}.tx-list{margin-left:0}.transaction>summary{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.tx-date{grid-column:1/3;font-size:12px}.tx-title{grid-column:1}.transaction .amount{grid-column:2}.workspace aside{display:block}.side-note{padding:22px 6px 0}.method-body{grid-template-columns:1fr;gap:10px}.method>summary span{display:block;margin:7px 0 0}.tx-detail dl{grid-template-columns:75px minmax(0,1fr)}footer{display:block}footer span{display:block;margin-top:5px}}

/* Niveau destinataire : détails natifs utilisables au clavier et sur Safari iOS. */
.recipient-list{margin:0 0 10px 22px}
.recipient{border-top:1px solid #e5ebef}
.recipient>summary{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;list-style:none;padding:14px 4px;font-size:14px;min-height:44px}
.recipient-name{font-weight:500;overflow-wrap:anywhere}
.recipient-count{display:block;font-size:12px;color:var(--muted);font-weight:400}
.recipient[open]>summary{color:var(--teal)}
.recipient>.tx-list{margin-left:0}
@media(max-width:520px){
 .recipient-list{margin-left:0}
 .recipient>summary{grid-template-columns:12px minmax(0,1fr);gap:4px 8px}
 .recipient>summary>.amount{grid-column:2;justify-self:end}
 .recipient .tx-detail{padding:12px 10px}
}
