[hidden]{display:none!important}
/* A pointer-only alternative when keyboard input is unavailable in the host. */
[data-pilot-login="france-food"] .otp-keypad{margin-top:16px;max-width:320px;border-top:1px solid var(--line);padding-top:4px}
[data-pilot-login="france-food"] .otp-keypad>summary{min-height:44px;align-content:center;cursor:pointer;font-weight:600;color:var(--text);font-size:var(--type-body,1rem)}
[data-pilot-login="france-food"] .otp-keypad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
[data-pilot-login="france-food"] .otp-keypad-grid>button{margin:0;min-height:48px;padding:8px 4px;background:var(--bg);border:1px solid var(--control-line,var(--line));color:var(--text);font-size:18px;font-weight:600;touch-action:manipulation}
[data-pilot-login="france-food"] .otp-keypad-grid>button[data-email-edit]{font-size:var(--type-body,1rem);font-weight:500;white-space:normal}
[data-pilot-login="france-food"] .otp-keypad-grid>button:hover{border-color:var(--cyan);background:var(--surface)}
[data-pilot-login="france-food"] .otp-keypad :is(summary,button):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.comparison-context{border:1px solid #d8e6ec;background:#f0f7f9;border-radius:12px;padding:16px 20px;margin:0 0 20px;font-size:var(--type-caption);color:#284c5e;line-height:1.55}.comparison-context p{margin:5px 0;overflow-wrap:anywhere}.comparison-unavailable{font-weight:600;color:#845011}.comparison-values{display:grid;gap:6px;margin-top:10px;font-size:var(--type-caption);line-height:1.55;font-weight:400;white-space:normal}.metric .comparison-values{border-top:1px solid #e5edf1;padding-top:13px;font-size:var(--type-body)}.comparison-prior{color:#654182}.comparison-change{color:#264b5c}.comparison-legend{color:#40596b;font-size:var(--type-caption);line-height:1.5;margin:0 0 8px}.trend-change{font-size:var(--type-caption);font-weight:600;line-height:1.6;margin:0 0 8px;color:#24485a}.distribution-change{margin:7px 0 0;color:#38596a;font-size:var(--type-caption);line-height:1.5}.distribution-fill.prior{background:repeating-linear-gradient(120deg,#8055a0 0,#8055a0 3px,#d7c9e4 3px,#d7c9e4 6px)}.distribution-fill.negative{background:#ae5246}.distribution-fill.prior.negative{background:repeating-linear-gradient(120deg,#ae5246 0,#ae5246 3px,#ebc9bf 3px,#ebc9bf 6px)}.distribution-item>.distribution-line{margin-top:8px}.distribution-line strong{white-space:nowrap}.distribution-item>strong{display:block;overflow-wrap:anywhere}.chart-values>div{overflow:auto}.chart-values td,.chart-values th{white-space:nowrap}#table-body .comparison-values,#table-total .comparison-values{min-width:160px;max-width:240px}#detail-values .comparison-values{grid-column:1/-1}.metric small{display:block}






#pilot-host{position:fixed;inset:0;z-index:20;background:#f6f8fa;display:flex;flex-direction:column}
.pilot-review-banner{display:flex;align-items:center;gap:16px;background:#10252f;color:#fff;padding:10px 22px;font:var(--type-body) var(--type-family);flex-wrap:wrap}
.pilot-review-banner strong{margin-right:auto}.pilot-review-banner button{width:auto;margin:0;padding:10px 14px;min-height:44px;background:#24434e;color:#fff;border:1px solid #55717c;border-radius:8px;font:inherit;cursor:pointer}
.pilot-review-banner select{width:auto;max-width:100%;margin:0;padding:10px 12px;min-height:44px;background:#24434e;color:#fff;border:1px solid #55717c;border-radius:8px;font:inherit;cursor:pointer}
.pilot-review-banner a{color:#b5ebf2;padding:10px 0;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font:inherit}
#pilot-frame{width:100%;flex:1;min-height:0;border:0;background:#f6f8fa}
.pilot-review-content{position:relative;display:flex;flex:1;min-height:0}
#pilot-recovery{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:#f6f8fa;color:#183747;font:var(--type-body)/1.6 var(--type-family);text-align:center}
#pilot-recovery>div{max-width:420px}#pilot-recovery strong{font-size:var(--type-heading)}#pilot-recovery p{margin:12px 0 0}
html[data-theme="dark"] #pilot-recovery{background:var(--bg);color:var(--text)}
#pilot-frame-loading{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:#f6f8fa;color:#183747;font:var(--type-body)/1.6 var(--type-family);text-align:center}
#pilot-frame-loading>div{max-width:420px}#pilot-frame-loading strong{font-size:var(--type-heading)}#pilot-frame-loading p{margin:12px 0 0}
#pilot-frame-loading button{width:auto;min-height:44px;margin-top:12px;padding:10px 16px;font:inherit}
html[data-theme="dark"] #pilot-frame-loading{background:var(--bg);color:var(--text)}
#pilot-network-status{position:absolute;right:18px;bottom:18px;z-index:4;max-width:calc(100% - 36px);margin:0;padding:9px 13px;border:1px solid #91aebb;border-radius:9px;background:#f0f7fa;color:#28495a;font:var(--type-caption)/1.5 var(--type-family);box-shadow:0 3px 14px #0002;pointer-events:none}
html[data-theme="dark"] #pilot-network-status{background:#183043;color:#d3e9f5;border-color:#537087}
#pilot-open-form input,#pilot-open-form select{width:100%;box-sizing:border-box;margin:10px 0}
.metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.metric dd{font-size:calc(clamp(21px,2.1vw,29px) * var(--pilot-font-scale,1));white-space:normal;overflow-wrap:anywhere}
.main-nav button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:13px 16px;border:0;background:transparent;color:#b9c7d0;border-radius:9px;font:inherit;cursor:pointer;min-height:44px}
.main-nav button:hover,.main-nav button:focus-visible{background:#1d3643;color:white}.main-nav button span{font-size:var(--type-heading);width:22px;text-align:center}
.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}

.source-hash{overflow-wrap:anywhere;font-family:monospace;font-size:var(--type-caption)}





@media(max-width:600px){.sidebar{overflow-y:auto}}
@media(max-width:600px){.pilot-review-banner{gap:6px;padding:8px 12px;font-size:var(--type-caption)}.pilot-review-banner strong{flex:1 1 55%}.pilot-review-banner button{padding:8px 10px}.pilot-review-banner #pilot-expiry{font-size:var(--type-caption)}.main-nav button{padding:11px 14px}}
.metric:first-child .comparison-prior{color:#ddd1f4}.metric:first-child .comparison-change{color:#bcebf1}.metric:first-child .comparison-values{border-color:#45606e}.distribution-item .distribution-fill.prior{background:repeating-linear-gradient(120deg,#8055a0 0,#8055a0 3px,#d7c9e4 3px,#d7c9e4 6px)}.distribution-item .distribution-fill.negative{background:#ae5246}.distribution-item .distribution-fill.prior.negative{background:repeating-linear-gradient(120deg,#ae5246 0,#ae5246 3px,#ebc9bf 3px,#ebc9bf 6px)}.comparison-context summary{cursor:pointer;padding:8px 0;min-height:28px}

/* Integer figures with visible grouping and directional comparison badges. */
[data-pilot] .metric dd{font-family:var(--type-family);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.025em;font-size:calc(clamp(23px,2.1vw,30px) * var(--pilot-font-scale,1));line-height:1.25;overflow-wrap:normal;word-break:normal}
[data-pilot] .comparison-prior,[data-pilot] .change-amount,[data-pilot] .distribution-line strong,[data-pilot] td{font-family:var(--type-family);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
.change-indicator{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;line-height:1.5;margin-top:8px;min-width:0}.change-badge{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;max-width:100%;border-radius:7px;padding:4px 9px;font-size:var(--type-caption);font-weight:600;white-space:nowrap;letter-spacing:0;font-variant-numeric:tabular-nums}.change-arrow{font-size:var(--type-heading);font-weight:600;line-height:1}.change-indicator.up .change-badge{background:#e5f5ed;color:#146c49}.change-indicator.down .change-badge{background:#fcebec;color:#aa3943}.change-indicator.flat .change-badge{background:#eef2f5;color:#536877}.change-amount{font-size:var(--type-caption);font-weight:600;white-space:nowrap;color:#3b5869}.change-note{font-size:var(--type-caption);color:#657986}.metric .change-indicator{gap:10px;margin-top:2px}.metric .change-badge{font-size:var(--type-caption);padding:5px 10px}.metric .change-amount{flex-basis:100%;font-size:var(--type-body)}.metric:first-child .change-indicator.up .change-badge{background:#214b43;color:#b8f0d4}.metric:first-child .change-indicator.down .change-badge{background:#533641;color:#ffd0d4}.metric:first-child .change-indicator.flat .change-badge{background:#284452;color:#dae6ed}.metric:first-child .change-amount{color:#d6e7ed}.metric:first-child .change-note{color:#b7cbd5}.distribution-change{margin-top:10px}.trend-change{margin-top:6px;margin-bottom:12px}#table-body .comparison-values,#table-total .comparison-values{min-width:190px}#detail-values>div{flex-wrap:wrap}#detail-values .comparison-values{flex-basis:100%}
@media(max-width:420px){[data-pilot] .metric dd{font-size:var(--type-value)}.distribution-change{gap:6px 10px}.distribution-change .change-amount{flex-basis:100%}}
.distribution-item:has(>.distribution-change){display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,auto);column-gap:12px;align-items:start}
.distribution-item:has(>.distribution-change)>strong{grid-column:1;grid-row:1;padding-top:5px;line-height:1.5}
.distribution-item>.distribution-change{grid-column:2;grid-row:1;margin:0;justify-content:flex-end;gap:5px 10px;max-width:260px}
.distribution-item:has(>.distribution-change)>.distribution-line,.distribution-item:has(>.distribution-change)>.distribution-track{grid-column:1/-1}
.distribution-item>.distribution-change .change-amount{flex-basis:auto;text-align:right}
@media(max-width:420px){.distribution-item>.distribution-change{max-width:185px}.distribution-item>.distribution-change .change-amount{flex-basis:100%}}
:is(#distribution,#distribution-families,#distribution-suppliers):has(.distribution-change){grid-template-columns:minmax(0,1fr)}
:is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill:not(.prior){background:#36a6b4}
:is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill.prior{background:repeating-linear-gradient(120deg,#8055a0 0,#8055a0 3px,#d7c9e4 3px,#d7c9e4 6px)}
/* A numeric table cell always has four right-aligned lines. */
#table-body td,#table-total td{vertical-align:top;padding:18px 24px;font-size:var(--type-caption);font-weight:600;line-height:1.5}
#table-body th,#table-total th{vertical-align:middle}
#table-body .comparison-values,#table-total .comparison-values{display:block;min-width:150px;max-width:none;width:100%;margin-top:6px;text-align:right;font-size:var(--type-caption);font-weight:400}
#table-body .comparison-prior,#table-total .comparison-prior{display:block;white-space:nowrap}
#table-body .change-indicator,#table-total .change-indicator{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-end;gap:6px;width:100%;margin-top:8px;text-align:right}
#table-body .change-badge,#table-total .change-badge{align-self:flex-end;padding:3px 8px;font-size:var(--type-caption);line-height:1.5}
#table-body .change-amount,#table-total .change-amount{flex:none;align-self:flex-end;font-size:var(--type-caption);font-weight:400;line-height:1.5;white-space:nowrap}
#table-body .change-note,#table-total .change-note{max-width:190px}
#table-total td{border-top:2px solid #dce7ed}
/* France Food appearance. The selected palette is applied before the first paint. */
html[data-theme="light"]{color-scheme:light;--bg:#f6f8fb;--surface:#fff;--text:#19374a;--muted:#526b7b;--cyan:#087e91;--line:#d9e4eb}
html[data-theme="dark"]{color-scheme:dark;--bg:#0b1420;--surface:#132131;--text:#e6eef6;--muted:#a5b8c9;--cyan:#61d6e3;--line:#304256}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;width:auto;min-width:88px;min-height:44px;max-width:none;margin:0;padding:8px 12px;border:1px solid #cddce5;border-radius:9px;background:#f5f9fb;color:#244b60;font:500 var(--type-caption) var(--type-family);cursor:pointer}.theme-toggle [data-theme-icon]{font-size:var(--type-heading);line-height:1}.theme-toggle:hover{background:#eaf3f6}.theme-toggle:focus-visible{outline:3px solid #087e91;outline-offset:3px}.header-right{flex-shrink:0}
html[data-theme="light"][data-pilot-login] :is(input,select){background:#fff;color:var(--text);border-color:#a3b5c4}
html[data-theme="light"][data-pilot-login] .secondary:hover{background:#e7eff4}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .workspace-shell{background:var(--bg)}
html[data-theme="dark"] :is(#pilot-host,#pilot-frame){background:var(--bg)}
html[data-theme="dark"] :is(.workspace-header,.panel,.filter-card,.metric,.side-dialog,.about-dialog,.column-choice){background:var(--surface);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] :is(h1,h2,h3,h4,.page-heading h1,.panel-heading h2,.breadcrumb strong,.row-detail,.distribution-line strong,.metric dd){color:var(--text)}
html[data-theme="dark"] :is(.page-description,.panel-heading p,.data-line,.header-trial,.breadcrumb,.filter-label,.metric dt,.metric small,.chart-unit,.distribution-caption,.comparison-legend,.workspace-footer,.table-footnote,.columns-panel p,.table-footer,.row-count,.empty-state,.empty-state span,.side-dialog>p,.about-dialog>p,.comparison-context p,.column-choice label){color:var(--muted)}
html[data-theme="dark"] :is(.period-button,.period-settings,.columns-panel,thead,tfoot){background:#182b3c;color:var(--text);border-color:var(--line)}
html[data-theme="dark"] :is(td,th,.table-footnote,.table-footer,.filter-divider,.side-dialog dl>div){border-color:var(--line)}
html[data-theme="dark"] :is(td,tbody th,tfoot th,tfoot td,.distribution-line,.pagination,.table-footer>label){color:var(--text)}
/* Fusion : en clair, le pied des tableaux (« Groupes par page », « Page 1 sur 1 ») gardait les gris d’analytics.css (3:1 environ). */
html[data-pilot="france-food"]:not([data-theme="dark"]) :is(.pagination,.table-footer>label){color:var(--muted)}
/* Fusion : texte du dialogue « À propos de cet espace » en clair (gris d’analytics.css à 4:1 environ). */
html[data-pilot="france-food"]:not([data-theme="dark"]) :is(.side-dialog,.about-dialog)>p{color:var(--muted)}
/* Keep the active targets and specificity after removing the former dialog branches. */
html[data-theme="dark"] :is(:where(thead) th,:where(thead th)>button):nth-child(n){background:#182b3c;color:#b9d1df}
html[data-theme="dark"] tbody tr:hover:nth-child(n){background:#1b3042}
html[data-theme="dark"] :is(input,select,.period-controls input,.period-controls select,.filter-label select,.table-footer select){background:#0d1b29;color:var(--text);border-color:#486078}
html[data-theme="dark"] :is(.search-box,.secondary-button,.column-choice,button.secondary-button){background:#182b3c;border-color:#486078;color:var(--text)}
html[data-theme="dark"] .search-box input{background:transparent;color:var(--text)}
html[data-theme="dark"] :is(input::placeholder,.search-box input::placeholder){color:#a4b7c9}
html[data-theme="dark"] :is(.quiet-button,.text-link,.chart-values summary,.column-choice button,.icon-button){color:#81dbe4}
html[data-theme="dark"] :is(.primary-button){background:#66d0df;color:#092331;border-color:#66d0df}
html[data-theme="dark"] .primary-button:hover{background:#8bdfea}
html[data-theme="dark"] .avatar{background:#214452;color:#aff0f4}
html[data-theme="dark"] .coverage{background:#302b1d;border-color:#71613e;color:#e8cc94}
html[data-theme="dark"] .comparison-context{background:#112c3a;border-color:#2b5263;color:#deeff5}
html[data-theme="dark"] .comparison-unavailable{color:#f1cb91}
html[data-theme="dark"] .metric:first-child{background:#103442;border-color:#2d5968}
html[data-theme="dark"] .comparison-values{border-color:var(--line)}
html[data-theme="dark"] .comparison-prior{color:#d3b8ed}
html[data-theme="dark"] :is(.comparison-change,.change-amount,.trend-change){color:#d3e2ee}
html[data-theme="dark"] .change-note{color:var(--muted)}
html[data-theme="dark"] .change-indicator.up .change-badge{background:#1c493c;color:#b1efcc}
html[data-theme="dark"] .change-indicator.down .change-badge{background:#512d39;color:#ffc2cb}
html[data-theme="dark"] .change-indicator.flat .change-badge{background:#304355;color:#dce7ef}
html[data-theme="dark"] .distribution-track{background:#253b4c}
html[data-theme="dark"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill:not(.prior){background:#58c4d1}
html[data-theme="dark"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill.prior{background:repeating-linear-gradient(120deg,#b88bda 0,#b88bda 3px,#604874 3px,#604874 6px)}
html[data-theme="dark"] svg text{fill:#b7cbdc}
html[data-theme="dark"] :is(#trend,#margin-trend) svg line{stroke:#344c60}
html[data-theme="dark"] svg :is([stroke="#087e91"],[stroke="#1696a9"],[stroke="#087c93"]){stroke:#69d2e0}
html[data-theme="dark"] svg [stroke="#8055a0"]{stroke:#d0a8ef}
html[data-theme="dark"] svg [stroke="#193b51"]{stroke:#c4dbe9}
html[data-theme="dark"] svg :is([fill="#fff"],[fill="white"]){fill:#132131}


html[data-theme="dark"] .feedback{background:#163d36;border-color:#387363;color:#bdebd6}
html[data-theme="dark"] .error-message{background:#402530;border-color:#915360;color:#ffc8d1}
html[data-theme="dark"] .theme-toggle{background:#1a3041;border-color:#4d697e;color:#d4f1f7}
html[data-theme="dark"] .theme-toggle:hover{background:#27475b}
html[data-theme]{background:var(--bg);color:var(--text)}
html[data-theme="dark"] :is(.icon-button,.skip-link){background:#1a3041;border-color:#486078;color:#d4f1f7}
html[data-theme="dark"] :is(.icon-button:hover,.secondary-button:hover){background:#27475b}
html[data-theme="dark"] :is(.period-controls label,legend span,.preference-actions>span,.chart-values,.eyebrow){color:var(--muted)}

html[data-theme="dark"] .month-label span{background:#0d1b29;border-color:#486078;color:#c5d8e6}
html[data-theme="dark"] .month-label input:checked+span{background:#214857;border-color:#67cbd8;color:#d4f8fc}
html[data-theme="dark"] :is(input[type="checkbox"],input[type="radio"]){accent-color:#67cbd8}
html[data-theme="light"][data-pilot-login] button:not(.secondary):not(.theme-toggle):not([data-text-size-choice]):not([data-email-digit]):not([data-email-edit]){color:#fff}
html[data-theme="light"][data-pilot-login] button:not(.secondary):not(.theme-toggle):not([data-text-size-choice]):not([data-email-digit]):not([data-email-edit]):hover{background:#06687a}
html[data-theme="dark"] :focus-visible{outline-color:#75dce6}
html[data-theme="dark"] ::selection{background:#2f6f85;color:#fff}
@media(max-width:420px){.theme-toggle{min-width:76px;padding:8px;font-size:var(--type-caption)}.header-right{gap:7px}.header-right .avatar{width:28px;height:28px}.header-right .header-trial{display:none}}

/* N−1 bleu ardoise : choix utilisateur du 15 septembre 2026. */
html{--series-current:#088caa;--series-prior:#667d96;--series-prior-text:#526a82;--series-prior-hatch:#dce4ed;--series-forecast:#956500}
html[data-theme="dark"]{--series-current:#27d1e4;--series-prior:#718aa8;--series-prior-text:#a8bbd1;--series-prior-hatch:#253449;--series-forecast:#f2c75c}
html .comparison-prior,html[data-theme="dark"] .comparison-prior{color:var(--series-prior-text)}
html .metric:first-child .comparison-prior{color:#cbd9e8}
html :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill:not(.prior),html[data-theme="dark"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill:not(.prior){background:var(--series-current)}
html :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill.prior,html[data-theme="dark"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill.prior{background:var(--series-prior)}
html svg .series-current,html[data-theme="dark"] svg .series-current{stroke:var(--series-current)}
html svg .series-prior,html[data-theme="dark"] svg .series-prior{stroke:var(--series-prior)}
html svg .series-forecast,html[data-theme="dark"] svg .series-forecast{stroke:var(--series-forecast)}
html[data-pilot="france-food"] .forecast-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 16px}
html[data-pilot="france-food"] .forecast-heading>p{color:var(--muted);font-size:var(--type-body)}
html[data-pilot="france-food"] .forecast-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;flex-shrink:0}
html[data-pilot="france-food"] .forecast-toggle[aria-pressed="false"] .forecast-swatch{opacity:.4}
.forecast-swatch{display:inline-block;width:20px;height:0;border-top:3px dashed var(--series-forecast);flex-shrink:0}
html[data-pilot="france-food"] .trend-legend{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.trend-legend>span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.trend-swatch{display:inline-block;width:22px;height:0;border-top:3px solid var(--series-current)}
.trend-swatch.prior{border-color:var(--series-prior);border-top-style:dashed}
.trend-swatch.forecast{border-color:var(--series-forecast);border-top-style:dotted}
html .forecast-region,html[data-theme="dark"] .forecast-region{fill:var(--series-forecast);opacity:.055}
html svg .forecast-region-label,html[data-theme="dark"] svg .forecast-region-label{fill:var(--series-forecast);font-size:12px;font-weight:600}
html[data-pilot="france-food"] .forecast-performance{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding-top:14px;margin-top:10px;border-top:1px solid var(--line);font-size:var(--type-body);line-height:1.5}
.forecast-count{color:var(--muted);margin-left:auto}
html[data-pilot="france-food"] .forecast-method{margin-top:8px;font-size:var(--type-body);color:var(--muted);line-height:1.6}
.forecast-method summary{cursor:pointer;width:fit-content;padding:5px 0}
.forecast-method p{margin:10px 0;overflow-wrap:anywhere}
.forecast-unavailable{color:var(--muted);font-size:var(--type-body);line-height:1.5;margin:10px 0}
@media(max-width:600px){html[data-pilot="france-food"] .forecast-heading{align-items:stretch;flex-direction:column;gap:8px}.forecast-heading>p{margin:0}.forecast-count{margin-left:30px;width:100%}}
.chart-interactive{position:relative}
.chart-tooltip{position:absolute;z-index:5;box-sizing:border-box;width:max-content;max-width:320px;padding:13px 15px;border:1px solid #bccbd8;border-radius:12px;background:#fff;color:#193649;box-shadow:0 9px 28px #0c233326;pointer-events:none;font-size:var(--type-caption);line-height:1.5;overflow-wrap:anywhere;text-align:left}
.chart-tooltip[hidden]{display:none!important}
.chart-tooltip.chart-tooltip-floating{position:fixed;inset:auto;margin:0;overflow:auto;overscroll-behavior:contain;pointer-events:auto}
.chart-tooltip>strong{display:block;font-size:var(--type-caption);margin-bottom:8px}
.chart-tooltip dl{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(105px,1fr)!important;gap:6px 14px!important;margin:0!important}
.chart-tooltip dt{color:#526a82}.chart-tooltip dd{margin:0!important;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .chart-tooltip{background:#172a3c;color:#e5eff8;border-color:#718aa8;box-shadow:0 9px 28px #0006}
html[data-theme="dark"] .chart-tooltip dt{color:#a8bbd1}
html .chart-tooltip dt.chart-tooltip-forecast,html .chart-tooltip dd.chart-tooltip-forecast{color:var(--series-forecast);font-weight:700}
.chart-hit{cursor:crosshair}.chart-hit:focus{outline:none}.chart-hit:hover,.chart-hit:focus-visible{fill:#718aa814;stroke:var(--series-prior);stroke-width:1;stroke-dasharray:3 4}
:is(#distribution,#distribution-families,#distribution-suppliers) [data-chart-point]{cursor:help;border-radius:8px}:is(#distribution,#distribution-families,#distribution-suppliers) [data-chart-point]:focus-visible{outline:2px solid var(--series-current);outline-offset:6px}
.chart-reveal{transform-origin:0 0}.chart-animated .chart-reveal{animation:chart-trace 1500ms cubic-bezier(.25,.6,.35,1) both}
.chart-animated .chart-area{animation:chart-area 1600ms ease-out both}
.chart-pending .chart-reveal,.distribution-item.chart-pending .distribution-fill{transform:scaleX(0)}
.distribution-fill{transform-origin:left center}
.distribution-item.chart-animated .distribution-fill{animation:chart-trace 1100ms cubic-bezier(.25,.6,.35,1) var(--chart-delay,0ms) both}
.radar-reveal{transform-box:fill-box;transform-origin:center}
.chart-pending .radar-reveal{opacity:0;transform:scale(.88)}
.chart-animated .radar-reveal{animation:chart-radar 1000ms cubic-bezier(.25,.6,.35,1) both}
@keyframes chart-trace{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes chart-area{from{opacity:0}to{opacity:1}}
@keyframes chart-radar{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.chart-reveal,.chart-area,.radar-reveal,.distribution-fill{animation:none!important;transform:none!important;opacity:1!important}}

/* Compact comparison header on every France Food KPI card. */
html[data-pilot="france-food"] .metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.metric-compared{padding:18px 16px}
.metric-compared dt{display:grid;grid-template-columns:minmax(45px,1fr) max-content;gap:10px;align-items:center;min-height:32px}
.metric-compared .metric-title{line-height:1.4}
.metric-compared .metric-change{display:grid;grid-template-columns:max-content max-content;align-items:center;justify-content:end;gap:4px 8px;margin:0;font-size:var(--type-caption)}
.metric-compared .change-badge{font-size:var(--type-caption);padding:4px 6px;gap:4px}
.metric-compared .change-arrow{font-size:var(--type-body)}
.metric-compared .change-amount{font-size:var(--type-caption);flex-basis:auto}
.metric-compared .change-note{grid-column:1/-1;text-align:right;white-space:normal;max-width:220px}
.metric-compared .metric-change.unavailable{display:block;max-width:220px;text-align:right;white-space:normal}
.metric-compared dd{margin:16px 0 7px}
.metric-compared small.comparison-prior{font-size:var(--type-caption);line-height:1.5}

/* France Food: comfortable reading, including secondary values and controls. */
html[data-pilot="france-food"]{font-size:var(--type-body)}
[data-pilot="france-food"] body{font-size:var(--type-body);line-height:1.5}
[data-pilot="france-food"] :is(.page-description,.primary-button,.secondary-button,.quiet-button,.period-button,.filter-label,.filter-label select,.period-controls label,.period-controls input,.period-controls select,.text-link,legend,.month-label span,.search-box input,.row-count,.table-footer,.table-footnote,.column-choice label,.columns-panel p,.preference-actions>span,.chart-values,.distribution-caption,.distribution-line,.comparison-legend,.comparison-prior,.comparison-change,.change-badge,.change-amount,.change-note,.chart-tooltip,.side-dialog>p,.about-dialog>p,.side-dialog dl>div,.theme-toggle){font-size:var(--type-body);line-height:1.5}
[data-pilot="france-food"] :is(.data-line,.breadcrumb,.eyebrow,.workspace-footer,legend span,.header-trial,.sidebar-caption,.company-label,.sidebar-bottom p,.sidebar-bottom label,.sidebar-bottom select,.sidebar-help,.preview-badge,.metric-definition){font-size:var(--type-body);line-height:1.5}
[data-pilot="france-food"] :is(.main-nav a,.main-nav button,.company-select){font-size:var(--type-body)}
[data-pilot="france-food"] h2{font-size:var(--type-heading);line-height:1.35}
[data-pilot="france-food"] h3{font-size:var(--type-heading);line-height:1.4}
[data-pilot="france-food"] .filter-row{gap:16px;align-items:end}
[data-pilot="france-food"] .filter-label{flex:1 1 210px;display:grid;gap:5px;color:var(--muted)}
[data-pilot="france-food"] .filter-label select{width:100%;max-width:none;min-width:0;border:1px solid var(--line);padding:10px}
[data-pilot="france-food"] .period-button{max-width:100%;white-space:normal;text-align:left}
[data-pilot="france-food"] .filter-divider{display:none}
[data-pilot="france-food"] .month-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
[data-pilot="france-food"] .month-label span{padding:10px 4px;min-height:48px}
[data-pilot="france-food"] .period-controls label{flex:1 1 190px;min-width:0}
[data-pilot="france-food"] .period-controls input{width:100%}
.filter-status{font-size:var(--type-body);color:var(--muted);margin:12px 0 20px;line-height:1.5}
[data-pilot="france-food"] :is(.notice,.coverage,.feedback,.error-message,.table-subtitle,.panel-heading p,.chart-unit,.table-head button,.table-footer label,.pagination){font-size:var(--type-body);line-height:1.5}
select[aria-invalid="true"]{border:2px solid #b96030!important}
html[data-pilot="france-food"] .metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,450px),1fr));gap:18px}
[data-pilot="france-food"] .metric-compared{padding:22px 20px;min-width:0}
[data-pilot="france-food"] .metric-compared dt{grid-template-columns:minmax(85px,1fr) minmax(0,1.8fr);gap:14px;align-items:start}
[data-pilot="france-food"] .metric-title{font-size:var(--type-heading);line-height:1.4}
[data-pilot="france-food"] .metric-compared .metric-change{display:grid;grid-template-columns:auto auto;gap:10px;max-width:none;font-size:var(--type-body);align-items:start}
[data-pilot="france-food"] .metric-compared :is(.change-badge,.change-amount){font-size:var(--type-body);line-height:1.5;white-space:normal;padding:4px 6px}
[data-pilot="france-food"] .metric-compared .change-amount{padding:4px 0;text-align:right}
[data-pilot="france-food"] .metric-compared .change-arrow{font-size:var(--type-heading)}
[data-pilot="france-food"] .metric-compared dd{font-size:var(--type-display);line-height:1.3;margin:20px 0 8px}
[data-pilot="france-food"] .metric-compared small.comparison-prior{font-size:var(--type-heading);line-height:1.5}
.metric-definition{margin:12px 0 0;color:var(--muted)}
.margin-toggle{display:inline-flex;border:1px solid var(--line);background:var(--bg,#f5f7f9);border-radius:10px;padding:3px;gap:4px;margin-top:16px;max-width:100%}
.margin-toggle button{padding:8px 13px;background:transparent;color:var(--text,#1b2e40);font-size:var(--type-body);line-height:1.5}
.margin-toggle button[aria-pressed="true"]{color:white}
html[data-theme="dark"] .margin-toggle button[aria-pressed="true"]{color:#effdff}
[data-pilot="france-food"] :is(#table-head th,#table-body td,#table-body th,#table-total td,#table-total th){font-size:var(--type-heading);line-height:1.5}
[data-pilot="france-food"] :is(#table-body,#table-total) :is(.comparison-values,.comparison-prior,.change-badge,.change-amount){font-size:var(--type-body);line-height:1.5}
[data-pilot="france-food"] :is(#table-body,#table-total) .comparison-values{min-width:210px}


[data-pilot="france-food"] .chart-tooltip>strong{font-size:var(--type-heading)}
[data-pilot="france-food"] .distribution-item>strong{font-size:var(--type-heading);line-height:1.5}
[data-pilot="france-food"] :is(.chart-values summary){font-size:var(--type-body);line-height:1.5}
[data-pilot="france-food"] :is(#table-head button,#table-body button,#table-total button){font-size:var(--type-heading);line-height:1.5}
html[data-theme="light"][data-pilot="france-food"] :is(.metric-title,.data-line,.breadcrumb,.row-count,.workspace-footer,.chart-unit,.panel-heading p){color:var(--muted)}
html[data-theme="light"][data-pilot="france-food"] :is(:where(thead) th,:where(thead) th>button):nth-child(n){color:var(--text)}
html[data-theme="light"][data-pilot="france-food"] .metric:first-child .metric-title{color:#cce5eb}
[data-pilot="france-food"] .trend-chart svg text{font-size:var(--type-body)}




[data-pilot="france-food"] .distribution-item>.distribution-change{max-width:320px}
[data-pilot="france-food"] .chart-grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:1500px){[data-pilot="france-food"] .chart-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:600px){
  [data-pilot="france-food"] main{padding-left:16px;padding-right:16px}
  [data-pilot="france-food"] .month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  [data-pilot="france-food"] .metric-compared{padding:18px 16px}
  [data-pilot="france-food"] .metric-compared dt{grid-template-columns:minmax(0,1fr);gap:10px}
  [data-pilot="france-food"] .metric-compared .metric-change{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;justify-content:end}
  [data-pilot="france-food"] .metric-compared .change-badge{justify-self:end}
  [data-pilot="france-food"] .metric-compared dd{font-size:var(--type-display)}
  [data-pilot="france-food"] .data-line{align-items:start;flex-direction:column}
  [data-pilot="france-food"] .distribution-item:has(>.distribution-change){grid-template-columns:minmax(70px,1fr) minmax(0,1.7fr)}
  [data-pilot="france-food"] .distribution-item>.distribution-change{max-width:100%}
  [data-pilot="france-food"] .distribution-item .change-amount{white-space:normal}
  [data-pilot="france-food"] .workspace-header{padding-left:16px;padding-right:16px;height:auto;min-height:78px;flex-wrap:wrap;gap:8px}
  [data-pilot="france-food"] .breadcrumb{flex-wrap:wrap;gap:6px}
  [data-pilot="france-food"] .workspace-footer{flex-wrap:wrap}
}

/* Two ordered rows: revenue / margin / rate, then weight / packages / client average. */
html[data-pilot="france-food"] .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
[data-pilot="france-food"] .metric-compared{padding:20px 16px;container-type:inline-size}
[data-pilot="france-food"] .metric-compared dt{grid-template-columns:minmax(0,1fr) minmax(200px,1.8fr);gap:10px;align-items:center;min-height:54px}
[data-pilot="france-food"] .metric-compared .metric-change{grid-template-columns:minmax(0,1fr) minmax(105px,1.15fr);gap:8px;justify-self:stretch;align-items:center}
[data-pilot="france-food"] .metric-compared .change-badge{justify-self:end}
[data-pilot="france-food"] .metric-compared dd{font-size:calc(clamp(25px,2.2vw,32px) * var(--pilot-font-scale,1))}
[data-pilot="france-food"] .margin-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-content:start}
[data-pilot="france-food"] .margin-metric dt{grid-column:1/-1}
[data-pilot="france-food"] .margin-metric .margin-amount{grid-column:1;grid-row:2;align-self:center}
[data-pilot="france-food"] .margin-metric>small{grid-column:1/-1;grid-row:3}
[data-pilot="france-food"] .margin-metric .margin-toggle{grid-column:2;grid-row:2;align-self:center;display:grid;grid-template-columns:1fr;position:relative;isolation:isolate;margin:12px 0 4px;gap:0;padding:3px}
[data-pilot="france-food"] .margin-metric .margin-toggle button{position:relative;padding:5px 7px;font-size:var(--type-body);min-height:38px;white-space:nowrap;background:transparent;transition:color 180ms ease}
.margin-toggle-indicator{position:absolute;left:3px;top:3px;width:calc(100% - 6px);height:calc((100% - 6px)/2);border-radius:7px;background:#096b7a;box-shadow:0 2px 5px #001e3524;pointer-events:none;transform:translateY(0);transition:transform 280ms cubic-bezier(.22,.8,.25,1)}
html[data-theme="dark"] .margin-toggle-indicator{background:#285f70}
.margin-toggle[data-selected="after"] .margin-toggle-indicator{transform:translateY(100%)}
@container(min-width:400px){
  [data-pilot="france-food"] .margin-metric .margin-toggle{grid-template-columns:repeat(2,1fr)}
  .margin-toggle-indicator{width:calc((100% - 6px)/2);height:calc(100% - 6px);transform:translateX(0)}
  .margin-toggle[data-selected="after"] .margin-toggle-indicator{transform:translateX(100%)}
}
@media(prefers-reduced-motion:reduce){
  .margin-toggle-indicator,[data-pilot="france-food"] .margin-metric .margin-toggle button{transition:none}
}
@container(max-width:310px){
  [data-pilot="france-food"] .metric-compared dt{min-height:76px}
}
@media(max-width:1320px){
  html[data-pilot="france-food"] .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  html[data-pilot="france-food"] .metric-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:650px){
  [data-pilot="france-food"] .metric-compared dd{font-size:var(--type-display)}
  [data-pilot="france-food"] .margin-metric .margin-amount{font-size:calc(clamp(24px,7vw,30px) * var(--pilot-font-scale,1))}
}

/* Selected design 3: guided overview, readable type and restrained surfaces. */
html[data-pilot="france-food"]{--bg:#f4f7fc;--surface:#fff;--text:#122b44;--muted:#526e8e;--line:#d5e0ee;--cyan:#007f9b;--performance-up:#117947;--performance-down:#b02c43;--control-line:#8da2ba;background:var(--bg);color:var(--text)}
html[data-pilot="france-food"][data-theme="dark"]{--bg:#060b14;--surface:#192a39;--text:#f1f6ff;--muted:#b8cbdf;--line:#405467;--cyan:#32d4ef;--performance-up:#4ed69d;--performance-down:#ff8292;--control-line:#536b89}
html[data-pilot="france-food"] body{background:var(--bg);color:var(--text)}
html[data-pilot="france-food"] :is(.workspace-header,.sidebar){background:#060b14;border-color:#22334c}
html[data-pilot="france-food"] .workspace-header{background:var(--bg)}
html[data-pilot="france-food"] .sidebar{border-right:1px solid #22334c}
html[data-pilot="france-food"] .main-nav :is(a,button){color:#b7c9df}
html[data-pilot="france-food"] .main-nav [aria-current="page"]{background:#0c2533;color:#32d4ef}
html[data-pilot="france-food"] :is(h1,h2,h3){font-weight:600}
html[data-pilot="france-food"] h1{font-size:var(--type-display);letter-spacing:-.035em}
html[data-pilot="france-food"] .eyebrow{color:var(--cyan);font-weight:600}
html[data-pilot="france-food"] :is(.filter-card,.panel,.metric,.metric:first-child,.guided-summary){background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:none;color:var(--text)}
html[data-pilot="france-food"] :is(.metric dt,.metric:first-child dt,.metric-title,.metric:first-child .metric-title,.metric small,.metric:first-child small,.metric-definition){color:var(--muted)}
html[data-pilot="france-food"] :is(.filter-label select,.period-button,.period-controls input,.period-controls select,.secondary-button,.search-box,.theme-toggle){background:var(--surface);border-color:var(--control-line);color:var(--text)}
html[data-pilot="france-food"] :is(.text-link,.quiet-button){color:var(--cyan)}
html[data-pilot="france-food"] .guided-summary{padding:22px 24px;margin:0 0 22px}
html[data-pilot="france-food"] #results .guided-summary{border-left:3px solid var(--cyan)}
html[data-pilot="france-food"] .guided-eyebrow{color:var(--cyan);font-size:var(--type-body);font-weight:600;letter-spacing:.1em;margin-bottom:12px}
html[data-pilot="france-food"] .guided-summary h2{font-size:var(--type-value);line-height:1.4;letter-spacing:-.02em;color:var(--text)}
html[data-pilot="france-food"] #guided-facts{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:var(--type-body);margin-top:10px;color:var(--muted)}
html[data-pilot="france-food"] .guided-summary .text-link{padding:6px 0;text-align:left;font-weight:600;font-size:var(--type-body)}
html[data-pilot="france-food"] .metrics-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 14px}
html[data-pilot="france-food"] .metrics-heading h2{font-size:var(--type-heading);color:var(--text)}
html[data-pilot="france-food"] #margin-choice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:var(--type-body);color:var(--muted)}
html[data-pilot="france-food"] #margin-choice .margin-toggle{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;border-color:var(--control-line);background:var(--surface)}
html[data-pilot="france-food"] #margin-choice .margin-toggle button{position:relative;min-height:44px;white-space:nowrap;padding:8px 12px;background:transparent;transition:color 180ms ease;color:var(--text)}
html[data-pilot="france-food"] #margin-choice .margin-toggle button[aria-pressed="true"]{color:#fff}
html[data-pilot="france-food"] #margin-choice .margin-toggle-indicator{width:calc((100% - 6px)/2);height:calc(100% - 6px);transform:translateX(0)}
html[data-pilot="france-food"] #margin-choice [data-selected="after"] .margin-toggle-indicator{transform:translateX(100%)}
html[data-pilot="france-food"] .margin-metric{display:block}
html[data-pilot="france-food"] #metrics .metric-compared dd{font-weight:600;font-size:calc(clamp(28px,2.1vw,34px) * var(--pilot-font-scale,1));letter-spacing:-.025em;margin:18px 0 7px;color:var(--text)}
html[data-pilot="france-food"] :is(#metrics,:is(#trend,#margin-trend),:is(#distribution,#distribution-families,#distribution-suppliers)) .change-badge{background:transparent;padding:0;color:var(--muted)}
html[data-pilot="france-food"] :is(#metrics,:is(#trend,#margin-trend),:is(#distribution,#distribution-families,#distribution-suppliers)) .up .change-badge{color:var(--performance-up)}
html[data-pilot="france-food"] :is(#metrics,:is(#trend,#margin-trend),:is(#distribution,#distribution-families,#distribution-suppliers)) .down .change-badge{color:var(--performance-down)}
html[data-pilot="france-food"] #metrics .change-amount{color:var(--muted)}
html[data-pilot="france-food"] #table-body tr[data-performance="up"]{--row-performance:var(--performance-up)}
html[data-pilot="france-food"] #table-body tr[data-performance="down"]{--row-performance:var(--performance-down)}
html[data-pilot="france-food"] #table-body tr:is([data-performance="flat"],[data-performance="unavailable"]){--row-performance:var(--muted)}
html[data-pilot="france-food"] #table-body tr[data-performance] :is(th,td,button,.comparison-prior,.comparison-change,.change-badge,.change-amount,.change-note){color:var(--row-performance)}
html[data-pilot="france-food"] #table-body tr[data-performance] .change-badge{background:transparent}
html[data-pilot="france-food"] :is(thead,tfoot){background:var(--bg)}
html[data-pilot="france-food"] :is(th,td){border-color:var(--line)}
html[data-pilot="france-food"] #family-performance-key{padding-bottom:0;color:var(--muted)}
html[data-pilot="france-food"] #table-title{scroll-margin-top:24px}
html[data-pilot="france-food"] .chart-grid{align-items:start}
@media(min-width:1440px){html[data-pilot="france-food"] .chart-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}}
@media(max-width:600px){html[data-pilot="france-food"] .guided-summary{padding:18px 16px}html[data-pilot="france-food"] .guided-summary h2{font-size:var(--type-heading)}}
@media(prefers-reduced-motion:reduce){html[data-pilot="france-food"] #margin-choice .margin-toggle button{transition:none}}

/* Reference details: thin paired bars and a single readable line per family. */
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers){gap:22px;padding-top:8px}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;padding:4px 0;min-height:48px}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-item>strong{grid-column:1;grid-row:1;font-size:var(--type-body);font-weight:500;line-height:1.5;margin-bottom:5px;color:var(--text)}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-change{grid-column:2;grid-row:1;align-self:start;justify-self:end;font-size:var(--type-body);line-height:1.5;color:var(--muted);margin:0}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-line{display:none}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-track{grid-column:1/-1;height:3px;border-radius:0;background:var(--line)}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-fill{border-radius:0;height:3px}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .comparison-legend{font-size:var(--type-body);margin:0}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .distribution-caption{font-size:var(--type-body);margin:0}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .chart-tooltip{max-height:min(70vh,540px);overflow-y:auto}
html[data-pilot="france-food"] .compact-family-table :is(th,td){padding:9px 18px;vertical-align:middle}
html[data-pilot="france-food"] .compact-family-table tbody .row-detail{white-space:nowrap;padding:3px 0;min-height:44px;max-width:none;font-weight:500}
html[data-pilot="france-food"] .compact-family-table tbody td{font-weight:500}
html[data-pilot="france-food"] .compact-family-table thead :is(th,button){font-size:var(--type-body)}
html[data-pilot="france-food"] .compact-family-table thead th[aria-sort] button{color:var(--cyan)}
html[data-pilot="france-food"] .compact-family-table .family-evolution{white-space:nowrap}
html[data-pilot="france-food"] #table-head th[draggable="true"]{cursor:grab}
html[data-pilot="france-food"] #table-head .column-drag-handle{color:var(--muted);font-size:var(--type-heading);letter-spacing:-3px;margin-right:8px;display:inline-block;vertical-align:middle;cursor:grab}
html[data-pilot="france-food"] #table-head th[data-drag-over]{box-shadow:inset 3px 0 var(--cyan)}
/* Evidence and configurable fact table, retaining the guided visual theme. */
.guided-explanation { max-width: 100ch; line-height: 1.55; font-size:var(--type-body); }
.guided-explanation p { margin: .45rem 0; }
html[data-pilot="france-food"][data-theme="light"] #metric-revenue .metric-title { color: var(--muted); }
.rich-column-options { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(280px, 1.7fr) minmax(220px, 1fr); gap: 20px; width: 100%; }
.rich-column-options section { min-width: 0; }
.rich-column-options h4 { margin: 0 0 12px; font-size:var(--type-heading); }
.rich-column-options p { font-size:var(--type-body); line-height: 1.45; }
.rich-column-options .column-choice { display: flex; align-items: center; gap: 6px; margin: 5px 0; }
.rich-column-options .column-choice > label,.rich-column-options .column-choice > span { flex: 1; min-width: 0; }
.rich-column-options button { min-width: 38px; min-height: 40px; }
.table-metric-options fieldset { display: flex; flex-wrap: wrap; gap: 10px 16px; padding: 10px 12px; margin: 8px 0; border: 1px solid var(--line); border-radius: 10px; }
.table-metric-options legend { font-weight: 600; font-size:var(--type-body); }
.table-metric-options label { display: flex; align-items: center; gap: 6px; font-size:var(--type-body); min-height: 34px; }
.rich-table th button { font: inherit; color: inherit; background: transparent; border: 0; text-align: inherit; cursor: pointer; }
.rich-table td,.rich-table th { white-space: nowrap; }
.rich-table thead th { min-width: 130px; }
.rich-table thead button { white-space: normal; max-width: 210px; }
.rich-table tfoot th { text-align: left; }
@media(max-width:1100px){.rich-column-options { grid-template-columns: minmax(0,1fr) minmax(0,2fr); }.table-selected-columns { grid-column: 1 / -1; }}
@media(max-width:650px){.rich-column-options { grid-template-columns: minmax(0,1fr); }.table-selected-columns { grid-column: auto; }.rich-column-options button { min-width:44px; min-height:44px; }}

/* Guided organization and nested sales rows. */
.table-editor { display:block; width:100%; min-width:0; }
.organizer-tabs { display:flex; gap:12px; margin:20px 0 24px; }
.organizer-tabs button { flex:1; display:grid; gap:5px; text-align:left; padding:16px 20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text); cursor:pointer; }
.organizer-tabs strong { font-size:var(--type-heading); }.organizer-tabs span { color:var(--muted); font-size:var(--type-body); }
.organizer-tabs button[aria-pressed="true"] { border-color:var(--cyan); box-shadow:inset 0 3px 0 var(--cyan); background:color-mix(in srgb,var(--cyan) 7%,var(--surface)); }
.organizer-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr); align-items:start; gap:28px; }
.organizer-layout h4 { font-size:var(--type-heading); margin:0 0 10px; }.organizer-layout p { font-size:var(--type-body); line-height:1.55; margin:0 0 16px; }
.organizer-list,.organizer-add { min-width:0; }.organizer-add { border:1px solid var(--line); border-radius:14px; padding:20px; background:var(--surface); }
.organizer-item { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:10px; padding:12px; margin:8px 0; background:var(--surface); transition:border-color 160ms,background 160ms; }
.organizer-item[data-drag-over] { border-color:var(--cyan); background:color-mix(in srgb,var(--cyan) 12%,var(--surface)); }
.organizer-number { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; color:var(--cyan); background:color-mix(in srgb,var(--cyan) 10%,var(--surface)); border:1px solid var(--line); font-variant-numeric:tabular-nums; }
.organizer-label { display:grid; gap:5px; flex:1; min-width:0; overflow-wrap:anywhere; }.organizer-label strong { font-size:var(--type-body); }.organizer-label span { color:var(--muted); font-size:var(--type-body); line-height:1.4; }
.organizer-actions { display:flex; gap:5px; flex-wrap:wrap; }
.table-editor button { min-height:44px; font:inherit; cursor:pointer; }.organizer-actions button,.organizer-footer>button:not(.primary-button) { color:var(--text); background:transparent; border:1px solid var(--line); border-radius:8px; padding:8px 10px; font-size:var(--type-body); }
.table-editor button:disabled { cursor:default; opacity:.45; }.table-editor button:focus-visible,.tree-table button:focus-visible,.tree-fold:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
.organizer-add label { display:block; font-size:var(--type-body); margin:15px 0 7px; }.organizer-add select { width:100%; min-height:46px; padding:10px 12px; border-radius:8px; border:1px solid var(--line); font:inherit; color:var(--text); background:var(--surface); }
.organizer-add>.primary-button { width:100%; margin-top:14px; }.organizer-preview { border-top:1px solid var(--line); margin-top:22px; padding-top:20px; }.organizer-preview h4 { font-size:var(--type-body); color:var(--muted); }
.preview-level { display:flex; gap:9px; margin:9px 0 9px min(calc(var(--level) * 15px),100px); padding:7px 10px; border-left:2px solid var(--cyan); font-size:var(--type-body); }.preview-level>span:first-child { color:var(--cyan); }
.organizer-preview p { margin:18px 0 0; }.organizer-add .organizer-tip { margin:16px 0 0; font-size:var(--type-body); }
.organizer-footer { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:24px 0 0; padding-top:20px; border-top:1px solid var(--line); }.organizer-status { flex:1; min-width:180px; font-size:var(--type-body); line-height:1.5; color:var(--muted); }
#columns-panel .preference-actions { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.tree-table .tree-label { display:flex; align-items:center; gap:12px; padding-left:calc(var(--depth) * 23px); position:relative; }
.tree-table .tree-label::before { content:''; position:absolute; left:calc(var(--depth) * 23px - 12px); top:0; bottom:0; width:1px; background:var(--line); }.tree-table tr[data-depth="0"] .tree-label::before { display:none; }
.tree-table .tree-name { display:flex; align-items:center; gap:9px; min-height:44px; padding:0 4px; font-weight:600; white-space:normal; text-align:left; }.tree-table .tree-name>span:last-child { min-width:120px; max-width:310px; overflow-wrap:anywhere; }
.tree-chevron { display:inline-grid; place-items:center; font-size:var(--type-value); width:24px; height:28px; color:var(--cyan); transition:transform 220ms ease; }.tree-name[aria-expanded="true"] .tree-chevron { transform:rotate(90deg); }
.tree-table .tree-info { margin-left:auto; padding:7px 9px; min-height:40px; font-size:var(--type-caption); font-weight:400; color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.tree-table tr:not([data-depth="0"]) .tree-name { font-weight:400; }.tree-table th:first-child { min-width:280px; }.tree-table tr[data-depth="0"] th { font-weight:600; }
.tree-reveal { animation:tree-reveal 230ms ease-out both; }@keyframes tree-reveal { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.tree-fold { margin-left:12px; padding:7px 12px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:transparent; min-height:40px; cursor:pointer; }
.tree-table td.tree-notice { white-space:normal; color:var(--muted); font-size:var(--type-body); }
@media(max-width:1200px){.organizer-item{flex-wrap:wrap}.organizer-actions{flex-basis:100%;padding-left:42px}}
@media(max-width:800px){.organizer-layout{grid-template-columns:minmax(0,1fr)}.organizer-add{padding:16px}.organizer-tabs button{padding:14px}.organizer-tabs span{font-size:var(--type-body)}.organizer-footer>button{flex:1 1 220px}.organizer-actions{padding-left:0}.tree-table .tree-label{gap:6px}.tree-table th:first-child{min-width:255px}}
@media(prefers-reduced-motion:reduce){.tree-reveal{animation:none}.tree-chevron,.organizer-item{transition:none}}
.organizer-actions button,.organizer-label span,.organizer-status,.organizer-add .organizer-tip { font-size:var(--type-body); }
@media(min-width:801px){.tree-table th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 var(--line)}.tree-table thead th:first-child{z-index:2}}

/* Fields are visible side by side; each measure owns its comparison color. */
.organizer-layout { grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr); gap:22px; }
.organizer-add { padding:0; border:0; background:transparent; }
.available-fields,.selected-field-list { max-height:620px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:3px 10px 3px 3px; }
.available-group { background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:12px; margin:5px 0 12px; }
.available-group h5 { margin:0 0 8px; font-size:var(--type-body); font-weight:600; }
.available-field { display:flex; align-items:center; gap:12px; padding:6px 0; min-width:0; }
.available-fields>.available-field { padding:12px; margin:5px 0 8px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.available-field>span { flex:1; min-width:0; font-size:var(--type-body); line-height:1.4; }
.available-field>button { flex:none; padding:8px 12px; min-width:98px; background:transparent; border:1px solid var(--control-line,var(--line)); border-radius:8px; color:var(--cyan); font-size:var(--type-body); }
.available-field>button:disabled { color:var(--muted); opacity:1; border-color:transparent; }
.organizer-summary { padding:12px 2px 0; font-size:var(--type-body); color:var(--muted); }
.selected-field-list .organizer-item { flex-wrap:wrap; }.selected-field-list .organizer-actions { flex-basis:100%; padding-left:42px; }
html[data-pilot="france-food"] .tree-table :is(#table-body,#table-total) td[data-direction="up"] { color:var(--performance-up); }
html[data-pilot="france-food"] .tree-table :is(#table-body,#table-total) td[data-direction="down"] { color:var(--performance-down); }
html[data-pilot="france-food"] .tree-table :is(#table-body,#table-total) td:is([data-direction="flat"],[data-direction="unavailable"]) { color:var(--muted); }
html[data-pilot="france-food"] .tree-table :is(#table-body,#table-total) th { color:var(--text); }
html[data-pilot="france-food"] #table-head .column-heading { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }
html[data-pilot="france-food"] #table-head th:first-child .column-heading { justify-content:flex-start; }
html[data-pilot="france-food"] #table-head .column-sort-button { display:flex; align-items:center; gap:8px; min-width:0; max-width:none; padding:6px 0; text-align:right; font:inherit; }
html[data-pilot="france-food"] #table-head .column-heading-label { font:inherit; white-space:normal; line-height:1.35; overflow-wrap:normal; word-break:normal; }
html[data-pilot="france-food"] #table-head .column-sort-icon { flex:0 0 14px; width:14px; font:inherit; white-space:nowrap; }
html[data-pilot="france-food"] #table-head .column-drag-handle { flex:0 0 12px; width:12px; margin:0; font-size:var(--type-heading); letter-spacing:0; line-height:1; }
html[data-pilot="france-food"] .tree-table thead th { min-width:172px; vertical-align:middle; padding-block:14px; }
html[data-pilot="france-food"] .tree-table thead th:first-child { min-width:280px; }
html[data-pilot="france-food"] .workspace-header { height:auto; min-height:76px; padding-block:12px; gap:12px; flex-wrap:wrap; }

html[data-pilot="france-food"] .header-right { gap:10px; min-width:0; flex-wrap:wrap; }
html { --pilot-font-scale:1; }html[data-text-size="normal"] { --pilot-font-scale:.875; }
/* Préférences du compte (12/11) : texte agrandi de 12,5 % ou 25 %, à partir de la taille des pages validées. */
html[data-account-text="large"] { --pilot-font-scale:1.125; }html[data-account-text="large"][data-text-size="normal"] { --pilot-font-scale:.984375; }
html[data-account-text="larger"] { --pilot-font-scale:1.25; }html[data-account-text="larger"][data-text-size="normal"] { --pilot-font-scale:1.09375; }

@media(min-width:1320px){.selected-field-list .organizer-item{flex-wrap:nowrap}.selected-field-list .organizer-actions{flex-basis:auto;padding-left:0}}
@media(max-width:900px){.organizer-layout{grid-template-columns:minmax(0,1fr)}.selected-field-list{max-height:420px}.available-fields{max-height:480px}.selected-field-list .organizer-actions{padding-left:0}}
@media(max-width:760px){html[data-pilot="france-food"] .header-right{width:100%;justify-content:flex-end}}
.selected-field-list .organizer-actions { flex-shrink:0; }
.selected-field-list .organizer-label strong { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.organizer-item[draggable="true"],.available-field[draggable="true"] { cursor:grab; }
.organizer-item[data-drop-position="before"] { box-shadow:0 -4px 0 var(--cyan); }
.organizer-item[data-drop-position="after"],.organizer-drop-end[data-drop-position] { box-shadow:0 4px 0 var(--cyan); }
.available-fields[data-drop-position="remove"] { outline:2px dashed var(--cyan); outline-offset:-3px; background:color-mix(in srgb,var(--cyan) 8%,transparent); }
.organizer-drop-end { padding:18px 12px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); text-align:center; font-size:var(--type-body); }
.brief-comparison-periods { color:var(--muted); font-size:var(--type-caption); line-height:1.5; margin:10px 0 18px; }
.brief-comparison-periods p { margin:3px 0; overflow-wrap:anywhere; }
.brief-comparison-periods details { margin:6px 0; padding:0; border:0; }
.brief-explore { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px; margin:20px 0; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.brief-explore h4 { flex:1 1 200px; margin:0; }
.brief-card>.row-analysis-button { margin-top:16px; white-space:normal; text-align:left; }
.business-detail-dialog { width:min(1100px,calc(100vw - 32px)); max-width:1100px; max-height:calc(100dvh - 32px); padding:0; color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:18px; }
.business-detail-dialog::backdrop { background:rgb(0 0 0 / 65%); }
.business-detail-dialog[open] { display:flex; flex-direction:column; }
.business-detail-heading { flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid var(--line); }
.business-detail-heading h2 { margin:0; font-size:var(--type-heading); }
.business-detail-body { overflow:auto; overscroll-behavior:contain; padding:22px 24px; min-height:0; }
.business-detail-controls { display:flex; flex-wrap:wrap; gap:14px; align-items:end; }
.business-detail-controls label { display:grid; gap:6px; flex:1 1 170px; color:var(--muted); font-size:var(--type-body); }
.business-detail-controls select { max-width:100%; min-width:0; border:1px solid var(--control-line,var(--line)); background:var(--surface); color:var(--text); border-radius:8px; padding:10px; font:inherit; min-height:44px; }
.business-detail-controls .business-detail-common { display:flex; align-items:center; flex:1 1 100%; }
.business-detail-common input { width:20px; height:20px; accent-color:var(--cyan); }
.business-detail-selection,.business-detail-pager { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:18px 0; }
.business-detail-selection h3 { margin:0; overflow-wrap:anywhere; }
.business-detail-row { border:1px solid var(--line); border-radius:12px; padding:18px; margin:14px 0; background:color-mix(in srgb,var(--cyan) 3%,var(--surface)); }
.business-detail-row-heading { display:flex; align-items:start; justify-content:space-between; gap:14px; margin-bottom:15px; flex-wrap:wrap; }
.business-detail-row-heading h3 { margin:0; font-size:var(--type-body); flex:1 1 220px; overflow-wrap:anywhere; }
.business-detail-row-heading strong { font-size:var(--type-body); font-variant-numeric:tabular-nums; }
.business-detail-row [data-tone="positive"] { color:var(--performance-up); }.business-detail-row [data-tone="alert"] { color:var(--performance-down); }
.business-detail-bar-row { display:grid; grid-template-columns:35px minmax(40px,1fr) minmax(95px,auto); align-items:center; gap:12px; margin:9px 0; font-size:var(--type-body); }
.business-detail-bar-row>strong { text-align:right; font-variant-numeric:tabular-nums; }
.business-detail-track { position:relative; height:9px; background:color-mix(in srgb,var(--cyan) 8%,transparent); border-radius:4px; }
.business-detail-track::after { content:''; position:absolute; height:15px; top:-3px; width:1px; left:var(--zero); background:var(--muted); }
.business-detail-bar { position:absolute; height:100%; background:var(--cyan); border-radius:4px; }
.business-detail-bar-row[data-period="N−1"] .business-detail-bar { background:var(--comparison-prior,#718aa8); }
.business-detail-row-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:15px; }
.business-detail-row-actions button { white-space:normal; text-align:left; }
.business-detail-status { padding:22px 0; }
@media(max-width:600px){.business-detail-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:12px}.business-detail-heading,.business-detail-body{padding:16px}.business-detail-heading h2{font-size:var(--type-heading)}.business-detail-bar-row{grid-template-columns:28px minmax(20px,1fr) minmax(80px,auto);gap:7px}.business-detail-row{padding:12px}.business-detail-pager button{padding:8px}.business-detail-row-heading strong{font-size:var(--type-body)}}

/* Two complementary trends, then the three contribution rankings. */
html[data-pilot="france-food"] .chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
html[data-pilot="france-food"] .contributors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 24px;align-items:stretch}
html[data-pilot="france-food"] .contributors-grid .panel{min-width:0}
html[data-pilot="france-food"] .contributors-grid .panel-heading{padding:24px 22px 14px}
html[data-pilot="france-food"] .contributors-grid .distribution{padding:8px 22px 24px}
html[data-pilot="france-food"] .contributors-grid .distribution-item>strong{overflow-wrap:anywhere}
html[data-pilot="france-food"] .table-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex-shrink:0}
html[data-pilot="france-food"] .table-heading-actions button{white-space:nowrap}
html[data-pilot="france-food"] .chart-grid .trend-chart{min-width:0}
@media(max-width:1150px){html[data-pilot="france-food"] .contributors-grid{gap:16px}html[data-pilot="france-food"] .contributors-grid .panel-heading{padding:20px 16px 12px}html[data-pilot="france-food"] .contributors-grid .distribution{padding:8px 16px 20px}html[data-pilot="france-food"] .data-panel>.panel-heading{flex-wrap:wrap}}
@media(max-width:1000px){html[data-pilot="france-food"] .contributors-grid{grid-template-columns:1fr}html[data-pilot="france-food"] .chart-grid{grid-template-columns:1fr}}
@media(max-width:600px){html[data-pilot="france-food"] .table-heading-actions{width:100%;gap:8px}html[data-pilot="france-food"] .table-heading-actions button{flex:1;padding-left:10px;padding-right:10px}html[data-pilot="france-food"] .data-panel>.panel-heading{gap:16px}}

html[data-pilot="france-food"] .contributors-grid .distribution{grid-template-columns:minmax(0,1fr)}

/* One rounded focus treatment for the complete search control. */
html[data-pilot="france-food"] .search-box{transition:border-color .18s ease,box-shadow .18s ease}
html[data-pilot="france-food"] .search-box:focus-within{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}
html[data-pilot="france-food"] .search-box input:focus,html[data-pilot="france-food"] .search-box input:focus-visible{outline:none;box-shadow:none}
html[data-pilot="france-food"] .rankings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 16px}
html[data-pilot="france-food"] .rankings-heading>p{font-size:var(--type-body);color:var(--muted)}
html[data-pilot="france-food"] .ranking-toggle{display:grid;grid-template-columns:1fr 1fr;position:relative;isolation:isolate;padding:4px;border:1px solid var(--control-line);border-radius:12px;background:var(--surface);flex-shrink:0;min-width:204px}
html[data-pilot="france-food"] .ranking-toggle-indicator{position:absolute;left:4px;top:4px;bottom:4px;width:calc((100% - 8px)/2);background:var(--cyan);border-radius:8px;z-index:-1;transition:transform .24s ease}
html[data-pilot="france-food"] .ranking-toggle[data-selected="flop"] .ranking-toggle-indicator{transform:translateX(100%)}
html[data-pilot="france-food"] .ranking-toggle button{background:transparent;color:var(--muted);padding:8px 18px;font-size:var(--type-body);font-weight:600;white-space:nowrap;border-radius:8px}
html[data-pilot="france-food"] .ranking-toggle button[aria-pressed="true"]{color:var(--surface)}
html[data-pilot="france-food"] .ranking-toggle button:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}
html[data-pilot="france-food"] .distribution .ranking-delta{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .ranking-delta[data-direction="up"]{color:var(--performance-up)}
html[data-pilot="france-food"] :is(#distribution,#distribution-families,#distribution-suppliers) .ranking-delta[data-direction="down"]{color:var(--performance-down)}
@media(max-width:600px){html[data-pilot="france-food"] .rankings-heading{align-items:start;flex-direction:column;gap:12px}html[data-pilot="france-food"] .ranking-toggle{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){html[data-pilot="france-food"] .ranking-toggle-indicator,html[data-pilot="france-food"] .search-box{transition:none}}
/* Director's reading: one conclusion, three explanations, then practical review points. */
html[data-pilot="france-food"] .activity-summary{margin-top:14px}
html[data-pilot="france-food"] .activity-summary .activity-period{font-size:var(--type-caption);color:var(--muted);margin:0 0 14px}
html[data-pilot="france-food"] .activity-summary .activity-lead{font-size:var(--type-heading);line-height:1.65;color:var(--text);max-width:1000px;margin:0 0 24px}
html[data-pilot="france-food"] .activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:22px 0;border-block:1px solid var(--line)}
html[data-pilot="france-food"] .activity-summary h3{font-size:var(--type-heading);font-weight:600;letter-spacing:-.01em;margin:0 0 12px;color:var(--text)}
html[data-pilot="france-food"] .activity-summary p{font-size:var(--type-body);line-height:1.65;margin:0 0 12px;color:var(--muted);overflow-wrap:anywhere}
html[data-pilot="france-food"] .activity-card p:first-of-type{color:var(--text)}
html[data-pilot="france-food"] .activity-priorities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
html[data-pilot="france-food"] .activity-priorities section{padding:16px 18px;border:1px solid var(--line);border-left:2px solid var(--cyan);border-radius:8px;background:var(--surface)}
html[data-pilot="france-food"] .activity-priorities h3{font-size:var(--type-body);color:var(--cyan)}
html[data-pilot="france-food"] .activity-priorities p{margin:0}
html[data-pilot="france-food"] .activity-details>summary{font-size:var(--type-body);cursor:pointer;color:var(--cyan);padding:10px 0}
html[data-pilot="france-food"] .activity-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:18px 0}
html[data-pilot="france-food"] .activity-summary .activity-note{font-size:var(--type-caption);border-top:1px solid var(--line);padding-top:16px}
@media(max-width:1100px){html[data-pilot="france-food"] .activity-grid{grid-template-columns:1fr;gap:18px}html[data-pilot="france-food"] .activity-card+ .activity-card{padding-top:18px;border-top:1px solid var(--line)}}
@media(max-width:600px){html[data-pilot="france-food"] .activity-priorities,html[data-pilot="france-food"] .activity-breakdown{grid-template-columns:1fr}html[data-pilot="france-food"] .activity-summary .activity-lead{font-size:var(--type-heading)}}
/* Short reading first; the detailed arithmetic remains behind the disclosure. */
html[data-pilot="france-food"] .activity-key-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:22px 0 24px;padding:0 0 24px;border-bottom:1px solid var(--line)}
html[data-pilot="france-food"] .activity-figure{min-width:0}
html[data-pilot="france-food"] .activity-figure h3{font-family:var(--type-family);font-size:var(--type-body);font-weight:500;color:var(--muted);margin-bottom:10px}
html[data-pilot="france-food"] .activity-number{display:block;font-family:var(--type-family);font-size:clamp(19px,2.1vw,28px);font-weight:600;line-height:1.4;letter-spacing:.01em;word-spacing:.05em;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
html[data-pilot="france-food"] .activity-change{display:inline-block;margin:8px 0;font-size:var(--type-body);font-weight:600;color:var(--muted)}
html[data-pilot="france-food"] .activity-change[data-direction=up]{color:#157443}html[data-pilot="france-food"] .activity-change[data-direction=down]{color:#b03736}
html[data-pilot="france-food"][data-theme=dark] .activity-change[data-direction=up]{color:#73d6a2}html[data-pilot="france-food"][data-theme=dark] .activity-change[data-direction=down]{color:#ff9995}
html[data-pilot="france-food"] .activity-figure p{font-size:var(--type-caption);margin:0;word-spacing:.035em}
html[data-pilot="france-food"] .activity-takeaways{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:22px}
html[data-pilot="france-food"] .activity-takeaways h3{font-size:var(--type-body);margin-bottom:8px}
html[data-pilot="france-food"] .activity-takeaways p{margin:0;font-size:var(--type-body);color:var(--text);word-spacing:.035em}
html[data-pilot="france-food"] .activity-weather{padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--cyan) 4%,var(--surface));margin-bottom:14px}
html[data-pilot="france-food"] .activity-weather-heading h3{font-size:var(--type-body);margin-bottom:6px;color:var(--cyan)}
html[data-pilot="france-food"] .activity-weather-heading p{font-size:var(--type-body);color:var(--text);margin-bottom:16px}
html[data-pilot="france-food"] .activity-weather-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:12px 0 16px}
html[data-pilot="france-food"] .activity-weather-figures span{font-size:var(--type-caption);color:var(--muted)}
html[data-pilot="france-food"] .activity-weather-figures strong{display:block;font-size:var(--type-heading);font-weight:600;line-height:1.5;color:var(--text);font-variant-numeric:tabular-nums}
html[data-pilot="france-food"] .activity-weather-figures p{font-size:var(--type-caption);margin:2px 0 0}
html[data-pilot="france-food"] .activity-weather .activity-weather-note,html[data-pilot="france-food"] .activity-weather .activity-weather-source{font-size:var(--type-caption);margin:5px 0 0;line-height:1.6}
html[data-pilot="france-food"] .activity-weather-source a{text-underline-offset:3px;color:inherit}
html[data-pilot="france-food"] .activity-review{border-left:2px solid var(--cyan);padding-left:14px}
@media(max-width:1100px){html[data-pilot="france-food"] .activity-key-figures{gap:14px}html[data-pilot="france-food"] .activity-number{font-size:var(--type-heading)}}
@media(max-width:650px){html[data-pilot="france-food"] .activity-key-figures{grid-template-columns:1fr;gap:0;margin:18px 0;padding-bottom:0}html[data-pilot="france-food"] .activity-figure{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:12px 0;border-top:1px solid var(--line)}html[data-pilot="france-food"] .activity-figure h3{grid-column:1;margin:0 0 5px}html[data-pilot="france-food"] .activity-figure .activity-number{grid-column:1;grid-row:2;font-size:var(--type-value)}html[data-pilot="france-food"] .activity-change{grid-column:2;grid-row:2;margin:4px 0}html[data-pilot="france-food"] .activity-figure p{grid-column:1/-1;margin-top:6px}html[data-pilot="france-food"] .activity-takeaways{grid-template-columns:1fr;gap:18px}html[data-pilot="france-food"] .activity-weather{padding:16px}html[data-pilot="france-food"] .activity-weather-figures{grid-template-columns:1fr;gap:12px}html[data-pilot="france-food"] .activity-weather-figures>div{display:grid;grid-template-columns:1fr auto;gap:0 10px}html[data-pilot="france-food"] .activity-weather-figures strong{grid-column:2;grid-row:1/3;font-size:var(--type-heading)}html[data-pilot="france-food"] .activity-weather-figures p{grid-column:1}}
@media(max-width:1150px){html[data-pilot="france-food"] .activity-key-figures{grid-template-columns:1fr;gap:0;margin:18px 0;padding-bottom:0}html[data-pilot="france-food"] .activity-figure{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:12px 0;border-top:1px solid var(--line)}html[data-pilot="france-food"] .activity-figure h3{grid-column:1;grid-row:1;margin:0 0 5px}html[data-pilot="france-food"] .activity-figure .activity-number{grid-column:1/-1!important;grid-row:2;font-size:var(--type-value)}html[data-pilot="france-food"] .activity-figure .activity-change{grid-column:2;grid-row:1!important;margin:0}html[data-pilot="france-food"] .activity-figure p{grid-column:1/-1;margin-top:6px}}
html[data-pilot="france-food"] #results details.guided-summary{padding:0}
html[data-pilot="france-food"] .essential-trigger{display:flex;align-items:center;gap:15px;list-style:none;padding:20px 24px;min-height:84px;cursor:pointer;border-radius:10px}
html[data-pilot="france-food"] .essential-trigger::-webkit-details-marker{display:none}
html[data-pilot="france-food"] .essential-symbol{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 7%,var(--surface));font-size:25px}
html[data-pilot="france-food"] .essential-heading{display:grid;gap:6px;min-width:0}
html[data-pilot="france-food"] .essential-heading .guided-eyebrow{margin:0;font-size:var(--type-body);line-height:1.45}
html[data-pilot="france-food"] .essential-subtitle{font-size:var(--type-caption);color:var(--muted);line-height:1.5}
html[data-pilot="france-food"] .essential-command{display:flex;align-items:center;gap:12px;margin-left:auto;flex:none;color:var(--cyan);font-size:var(--type-body)}
html[data-pilot="france-food"] .essential-chevron{display:inline-block;font-size:23px;transition:transform .18s ease}
.guided-summary[open] .essential-chevron{transform:rotate(180deg)}
html[data-pilot="france-food"] .essential-content{padding:0 24px 22px;border-top:1px solid var(--line)}
html[data-pilot="france-food"] .essential-content>h2{padding-top:21px}
html[data-pilot="france-food"] .summary-icon{display:inline-block;width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
html[data-pilot="france-food"] .activity-figure h3,html[data-pilot="france-food"] .activity-takeaways h3,html[data-pilot="france-food"] .activity-weather-heading h3,html[data-pilot="france-food"] .activity-weather-figures span{display:flex;align-items:center;gap:9px}
html[data-pilot="france-food"] .activity-figure h3 .summary-icon{color:var(--cyan);width:24px;height:24px}
html[data-pilot="france-food"] .activity-figure .activity-change{display:inline-flex;align-items:center;gap:5px}
html[data-pilot="france-food"] .activity-figure .activity-change .summary-icon{width:17px;height:17px;stroke-width:2.2}
html[data-pilot="france-food"] .activity-takeaways section{border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:9px;padding:15px 17px}
html[data-pilot="france-food"] .activity-takeaways section[data-signal=up]{border-left-color:#157443}html[data-pilot="france-food"] .activity-takeaways section[data-signal=up] .summary-icon{color:#157443}
html[data-pilot="france-food"] .activity-takeaways section[data-signal=down]{border-left-color:#b03736}html[data-pilot="france-food"] .activity-takeaways section[data-signal=down] .summary-icon{color:#b03736}
html[data-pilot="france-food"][data-theme=dark] .activity-takeaways section[data-signal=up]{border-left-color:#73d6a2}html[data-pilot="france-food"][data-theme=dark] .activity-takeaways section[data-signal=up] .summary-icon{color:#73d6a2}
html[data-pilot="france-food"][data-theme=dark] .activity-takeaways section[data-signal=down]{border-left-color:#ff9995}html[data-pilot="france-food"][data-theme=dark] .activity-takeaways section[data-signal=down] .summary-icon{color:#ff9995}
html[data-pilot="france-food"] .activity-weather-figures .summary-icon{color:var(--cyan);width:20px;height:20px}
html[data-pilot="france-food"] .forecast-scope-note{font-size:var(--type-caption);color:var(--muted);line-height:1.55;margin-top:8px}
@media(max-width:600px){html[data-pilot="france-food"] .essential-trigger{padding:16px;gap:10px}html[data-pilot="france-food"] .essential-symbol{width:33px;height:36px;font-size:21px}html[data-pilot="france-food"] .essential-heading .guided-eyebrow{font-size:var(--type-caption);letter-spacing:.06em}html[data-pilot="france-food"] .essential-command{font-size:var(--type-caption);gap:5px}html[data-pilot="france-food"] .essential-subtitle{font-size:var(--type-caption)}html[data-pilot="france-food"] .essential-content{padding:0 16px 18px}html[data-pilot="france-food"] .activity-takeaways section{padding:13px 14px}}
@media(prefers-reduced-motion:reduce){.essential-chevron{transition:none!important}}
html[data-pilot="france-food"] .activity-weather-figures{grid-template-columns:repeat(4,minmax(0,1fr))}
html[data-pilot="france-food"] .activity-weather-figures strong{display:flex;align-items:center;gap:8px}
html[data-pilot="france-food"] .activity-weather-figures strong .summary-icon{width:18px;height:18px;color:var(--cyan)}
.metrics-actions,.cards-editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.result-cards-editor{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:18px 20px;margin-bottom:16px}
.cards-help{margin:0 0 14px;color:var(--muted);line-height:1.6}.cards-save-status{color:var(--muted);margin:12px 0 0;font-size:var(--type-body)}
.cards-editor-actions select{min-width:200px;flex:1;max-width:350px}.card-tool{min-height:40px;padding:7px 10px;background:var(--surface-2,var(--surface));color:var(--text);border:1px solid var(--line);border-radius:7px;font:inherit;font-size:var(--type-body);cursor:pointer}
.card-tool:hover:not(:disabled){border-color:var(--cyan)}.card-tool:disabled{opacity:.5;cursor:default}.card-drag{cursor:grab;font-size:24px;line-height:1;padding:4px 12px}.card-drag:active{cursor:grabbing}
.result-card-controls{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.result-card-controls select{width:100%;margin-bottom:8px}.result-card-tools{display:flex;align-items:center;gap:7px}.result-card-tools button:last-child{margin-left:auto}
html[data-pilot="france-food"] #metrics .metric[data-drag-over=true]{outline:2px solid var(--cyan);outline-offset:-2px}#metrics .metric[data-dragging=true]{opacity:.5}
.credit-context{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px}.credit-context .comparison-prior{white-space:nowrap}.credit-impact{font-weight:600;margin:0;color:var(--text);font-size:var(--type-body);line-height:1.5;white-space:nowrap}
html[data-pilot="france-food"] #financial-credits-card .change-indicator.up .change-badge{color:var(--performance-down)}
html[data-pilot="france-food"] #financial-credits-card .change-indicator.down .change-badge{color:var(--performance-up)}
.cards-empty{grid-column:1/-1;padding:24px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}
/* Read the result first, then its reference and a single grouped change line. */
html[data-pilot="france-food"] #metrics .metric{display:flex;flex-direction:column}
html[data-pilot="france-food"] #metrics .metric dt{display:block;min-height:calc(26px * var(--pilot-font-scale,1))}
html[data-pilot="france-food"] #metrics .metric-title{display:block;min-width:0;overflow-wrap:anywhere}
html[data-pilot="france-food"] #metrics .metric>.comparison-prior,html[data-pilot="france-food"] #metrics .metric>.credit-context,html[data-pilot="france-food"] #metrics .metric>.metric-definition{margin-bottom:16px}
html[data-pilot="france-food"] #metrics .metric-change{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px 12px;width:100%;margin:auto 0 0;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);max-width:none}
html[data-pilot="france-food"] #metrics .change-badge{padding:3px 8px;border:1px solid transparent;border-radius:6px;white-space:nowrap;flex:none;font-size:var(--type-body);line-height:1.5}
html[data-pilot="france-food"] #metrics .change-amount{display:flex;align-items:baseline;gap:5px;margin:0;padding:0;white-space:nowrap;flex:0 1 auto;font-size:var(--type-body);font-weight:500}
html[data-pilot="france-food"] #metrics .change-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-pilot="france-food"] #metrics .change-value{white-space:nowrap}
html[data-pilot="france-food"] #metrics .change-note{flex-basis:100%;text-align:left}
html[data-pilot="france-food"] #metrics .metric-change.unavailable{justify-content:flex-start;text-align:left}
html[data-pilot="france-food"] #metrics .change-indicator.up .change-badge{background:color-mix(in srgb,var(--performance-up) 9%,var(--surface));border-color:color-mix(in srgb,var(--performance-up) 22%,var(--surface))}
html[data-pilot="france-food"] #metrics .change-indicator.down .change-badge{background:color-mix(in srgb,var(--performance-down) 9%,var(--surface));border-color:color-mix(in srgb,var(--performance-down) 22%,var(--surface))}
html[data-pilot="france-food"] #metrics .change-indicator.flat .change-badge{background:color-mix(in srgb,var(--muted) 8%,var(--surface));border-color:var(--line)}
html[data-pilot="france-food"] #metrics :is(#purchase-kg-card,#financial-credits-card) .change-indicator.up .change-badge{background:color-mix(in srgb,var(--performance-down) 9%,var(--surface));border-color:color-mix(in srgb,var(--performance-down) 22%,var(--surface))}
html[data-pilot="france-food"] #metrics :is(#purchase-kg-card,#financial-credits-card) .change-indicator.down .change-badge{background:color-mix(in srgb,var(--performance-up) 9%,var(--surface));border-color:color-mix(in srgb,var(--performance-up) 22%,var(--surface))}
html[data-pilot="france-food"] #purchase-kg-card .change-indicator.up .change-badge,
html[data-pilot="france-food"] #purchase-kg-card .evolution-value[data-direction="up"]{color:var(--performance-down)}
html[data-pilot="france-food"] #purchase-kg-card .change-indicator.down .change-badge,
html[data-pilot="france-food"] #purchase-kg-card .evolution-value[data-direction="down"]{color:var(--performance-up)}
@media(max-width:1000px){html[data-pilot="france-food"] .activity-weather-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.metrics-actions{width:100%;justify-content:space-between}.result-cards-editor{padding:16px}.cards-editor-actions{align-items:stretch}.cards-editor-actions select{width:100%;max-width:none}.cards-editor-actions .card-tool{flex:1;min-height:44px}.result-card-tools .card-tool{min-height:44px}html[data-pilot="france-food"] .activity-weather-figures{grid-template-columns:1fr}}
html[data-pilot="france-food"] .page-heading-with-weather{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:center}
.page-introduction,.page-weather{min-width:0}.page-weather[aria-busy=true]{opacity:.6}
html[data-pilot="france-food"] .page-weather .activity-weather{margin:0;padding:14px 18px}
html[data-pilot="france-food"] .page-weather .activity-weather-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px}
html[data-pilot="france-food"] .page-weather .activity-weather-heading h3{margin:0;font-size:var(--type-body)}
html[data-pilot="france-food"] .page-weather .activity-weather-heading p{margin:0;font-size:var(--type-caption)}
html[data-pilot="france-food"] .page-weather .activity-weather-figures{gap:12px;margin:10px 0}
html[data-pilot="france-food"] .page-weather .activity-weather-figures strong{font-size:var(--type-heading);line-height:1.4}
html[data-pilot="france-food"] .page-weather .activity-weather-figures span{gap:6px}
html[data-pilot="france-food"] .page-weather .activity-weather-figures>div{min-width:0}
html[data-pilot="france-food"] .page-weather .activity-weather-note,html[data-pilot="france-food"] .page-weather .activity-weather-source{font-size:var(--type-caption);margin:3px 0 0;line-height:1.5}
@media(min-width:1200px){html[data-pilot="france-food"] .page-heading-with-weather:has(.page-weather:not([hidden])){grid-template-columns:minmax(240px,.75fr) minmax(0,2.5fr);gap:26px}}
@media(min-width:651px) and (max-width:1199px){html[data-pilot="france-food"] .page-weather .activity-weather-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){html[data-pilot="france-food"] .page-weather .activity-weather{padding:14px}html[data-pilot="france-food"] .page-weather .activity-weather-figures{grid-template-columns:1fr}}

html[data-pilot="france-food"][data-view="overview"] .filter-card{padding:14px 16px}
html[data-pilot="france-food"][data-view="overview"] .filter-row{align-items:center;gap:16px}
html[data-pilot="france-food"][data-view="overview"] .period-button{flex-shrink:0}
.overview-months{flex:1 1 610px;min-width:0}
html[data-pilot="france-food"][data-view="overview"] #months-fieldset{display:flex;align-items:center;gap:12px;margin:0;min-width:0}
html[data-pilot="france-food"][data-view="overview"] #months-fieldset legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
html[data-pilot="france-food"][data-view="overview"] .month-grid{flex:1;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;min-width:0}
html[data-pilot="france-food"][data-view="overview"] .month-label span{font-size:var(--type-body);min-height:44px;padding:7px 3px;font-weight:500}
html[data-pilot="france-food"][data-view="overview"] #all-months{font-size:var(--type-caption);margin:0;white-space:nowrap;min-height:44px;flex-shrink:0}
@media(max-width:760px){html[data-pilot="france-food"][data-view="overview"] #months-fieldset{align-items:stretch;flex-direction:column;gap:7px}html[data-pilot="france-food"][data-view="overview"] .month-grid{grid-template-columns:repeat(6,minmax(0,1fr))}html[data-pilot="france-food"][data-view="overview"] #all-months{align-self:flex-end}html[data-pilot="france-food"][data-view="overview"] .metrics-actions{justify-content:flex-start;gap:8px}html[data-pilot="france-food"][data-view="overview"] .metrics-actions>button{flex:1}}
@media(max-width:420px){html[data-pilot="france-food"][data-view="overview"] .month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-pilot="france-food"][data-view="overview"] .period-button{width:100%;justify-content:space-between}}
@media(min-width:761px) and (max-width:900px){html[data-pilot="france-food"][data-view="overview"] .month-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Vue dirigeant : the same controls and data, disclosed when needed. */
html[data-pilot="france-food"][data-view="overview"]{--overview-positive:#137443;--overview-alert:#b03736}
html[data-pilot="france-food"][data-view="overview"][data-theme="dark"]{--overview-positive:#73d6a2;--overview-alert:#ff9995}
html[data-pilot="france-food"][data-view="overview"] .page-heading{margin-bottom:20px}
html[data-pilot="france-food"][data-view="overview"] .data-line{margin:12px 1px 14px}
html[data-pilot="france-food"][data-view="overview"] .coverage{border:0;background:transparent;padding:0;margin-bottom:16px}
html[data-pilot="france-food"][data-view="overview"] .coverage summary{cursor:pointer;min-height:32px;align-content:center}
html[data-pilot="france-food"][data-view="overview"] .coverage p{padding:10px 14px;margin:6px 0 0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:var(--type-caption)}
html[data-pilot="france-food"][data-view="overview"] .overview-months{flex:1 1 200px}
html[data-pilot="france-food"][data-view="overview"] .overview-months[open]{flex-basis:100%}
html[data-pilot="france-food"][data-view="overview"] .overview-months>summary{width:fit-content;cursor:pointer;color:var(--cyan);min-height:44px;align-content:center;font-size:var(--type-body)}
html[data-pilot="france-food"][data-view="overview"] .overview-months[open]>summary{margin-bottom:6px}
html[data-pilot="france-food"][data-view="overview"] .essential-content{padding-top:16px}
html[data-pilot="france-food"][data-view="overview"] .essential-content>.text-link{font-size:var(--type-body);margin:12px 22px 0 0;min-height:40px}
html[data-pilot="france-food"][data-view="overview"] .overview-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
html[data-pilot="france-food"][data-view="overview"] .overview-signals{--signal:var(--overview-positive);padding:18px 20px;background:color-mix(in srgb,var(--signal) 8%,var(--surface));border-top:2px solid var(--signal);border-radius:9px;min-width:0}
html[data-pilot="france-food"][data-view="overview"] .overview-signals[data-signal="down"]{--signal:var(--overview-alert)}
html[data-pilot="france-food"][data-view="overview"] .overview-signals>h3{display:flex;align-items:center;gap:8px;color:var(--signal);font-size:var(--type-body);margin:0 0 16px}
html[data-pilot="france-food"][data-view="overview"] .overview-signal+.overview-signal{border-top:1px solid color-mix(in srgb,var(--signal) 20%,transparent);margin-top:16px;padding-top:16px}
html[data-pilot="france-food"][data-view="overview"] .overview-signal-line{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:5px 16px}
html[data-pilot="france-food"][data-view="overview"] .overview-signal-line>span{font-size:var(--type-body);overflow-wrap:anywhere;flex:1 1 170px;color:var(--text)}
html[data-pilot="france-food"][data-view="overview"] .overview-signal-line>strong{display:flex;align-items:center;gap:7px;color:var(--signal);font-weight:600;font-size:var(--type-heading);font-variant-numeric:tabular-nums;white-space:nowrap}
html[data-pilot="france-food"][data-view="overview"] .overview-signals .summary-icon{width:18px;height:18px;flex-shrink:0}
html[data-pilot="france-food"][data-view="overview"] .overview-signals p{font-size:var(--type-body);line-height:1.6;color:var(--muted);margin:7px 0 0}
html[data-pilot="france-food"][data-view="overview"] .overview-plain{margin-top:14px}
html[data-pilot="france-food"][data-view="overview"] .overview-plain>summary{cursor:pointer;color:var(--cyan);min-height:40px;align-content:center;font-size:var(--type-body)}
html[data-pilot="france-food"][data-view="overview"] .overview-plain dl{margin:4px 0 0;padding:0 16px;border-left:2px solid var(--line)}
html[data-pilot="france-food"][data-view="overview"] .overview-plain dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:5px 16px;padding:9px 0;font-size:var(--type-body);line-height:1.6}
html[data-pilot="france-food"][data-view="overview"] .overview-plain dt{color:var(--text);font-weight:600}
html[data-pilot="france-food"][data-view="overview"] .overview-plain dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
html[data-pilot="france-food"][data-view="overview"] .metric{padding:18px}
html[data-pilot="france-food"][data-view="overview"] .metric-compared dt{min-height:0}
html[data-pilot="france-food"][data-view="overview"] .metric-compared dd{margin-top:12px;margin-bottom:7px}
html[data-pilot="france-food"][data-view="overview"] .metric-grid{gap:12px;margin-bottom:20px}
html[data-pilot="france-food"][data-view="overview"] .metrics-heading h2{font-size:var(--type-heading)}
html[data-pilot="france-food"][data-view="overview"] .overview-section-fold{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:0 0 18px}
html[data-pilot="france-food"][data-view="overview"] .overview-section-fold>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:18px 20px;min-height:64px;color:var(--text)}
html[data-pilot="france-food"][data-view="overview"] .overview-section-fold>summary::-webkit-details-marker{display:none}
html[data-pilot="france-food"][data-view="overview"] .overview-section-title{font-size:var(--type-heading);font-weight:600}
html[data-pilot="france-food"][data-view="overview"] .overview-section-hint{font-size:var(--type-caption);color:var(--muted)}
html[data-pilot="france-food"][data-view="overview"] .overview-section-chevron{margin-left:auto;color:var(--cyan);font-size:22px}
html[data-pilot="france-food"][data-view="overview"] .overview-section-fold[open]>summary .overview-section-chevron{transform:rotate(180deg)}
html[data-pilot="france-food"][data-view="overview"] .overview-section-content{padding:0 18px 18px}
html[data-pilot="france-food"][data-view="overview"] .overview-section-content .chart-grid,html[data-pilot="france-food"][data-view="overview"] .overview-section-content .contributors-grid{margin-bottom:0}
html[data-pilot="france-food"][data-view="overview"] .overview-weather-details{font-size:var(--type-caption);color:var(--muted)}
html[data-pilot="france-food"][data-view="overview"] .overview-weather-details>summary{cursor:pointer;min-height:32px;align-content:center;color:var(--cyan)}
html[data-pilot="france-food"][data-view="overview"] .overview-weather-details dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
html[data-pilot="france-food"][data-view="overview"] .overview-weather-details dt{font-weight:600;color:var(--text)}
html[data-pilot="france-food"][data-view="overview"] .overview-weather-details dd{margin:2px 0 0}
html[data-pilot="france-food"][data-view="overview"] .overview-weather-details p{font-size:inherit;margin:9px 0 0}
html[data-pilot="france-food"][data-view="overview"] .page-weather .activity-weather-figures{grid-template-columns:repeat(4,minmax(0,1fr))}
html[data-pilot="france-food"][data-view="overview"] .page-weather .activity-weather-figures>div{display:block}
html[data-pilot="france-food"][data-view="overview"] .page-weather .activity-weather-figures strong{margin-top:5px;white-space:nowrap}
@media(min-width:1001px) and (max-width:1199px){html[data-pilot="france-food"][data-view="overview"] .page-heading-with-weather:has(.page-weather:not([hidden])){grid-template-columns:minmax(220px,.65fr) minmax(0,1.5fr)}}
@media(max-width:1000px){html[data-pilot="france-food"][data-view="overview"] .overview-balance{grid-template-columns:1fr}html[data-pilot="france-food"][data-view="overview"] .overview-section-hint{display:none}html[data-pilot="france-food"][data-view="overview"] .overview-section-content{padding:0 12px 14px}}
@media(max-width:600px){html[data-pilot="france-food"][data-view="overview"] .page-weather .activity-weather-figures{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-pilot="france-food"][data-view="overview"] .overview-signals{padding:16px}html[data-pilot="france-food"][data-view="overview"] .overview-plain dl>div{grid-template-columns:1fr}html[data-pilot="france-food"][data-view="overview"] .overview-section-fold>summary{padding:15px 16px}html[data-pilot="france-food"][data-view="overview"] .overview-weather-details dl{grid-template-columns:1fr}html[data-pilot="france-food"][data-view="overview"] .overview-signal-line>strong{font-size:var(--type-heading)}}
/* Shared type scale. Components use roles, never their own text-size scale. */
html{
  --type-family:Figtree,system-ui,sans-serif;
  --type-caption:calc(14px * var(--pilot-font-scale,1));
  --type-body:calc(16px * var(--pilot-font-scale,1));
  --type-heading:calc(20px * var(--pilot-font-scale,1));
  --type-value:calc(24px * var(--pilot-font-scale,1));
  --type-display:calc(32px * var(--pilot-font-scale,1));
}



.trend-granularity button:focus-visible{outline:2px solid var(--cyan,#00819b);outline-offset:3px}

.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:7px}.weekday-grid{display:flex;gap:8px;flex-wrap:wrap}.weekday-grid .month-label{min-width:54px}#weekdays-fieldset{margin-top:16px}#weeks-fieldset{margin-top:16px}.period-settings legend span{display:block}
.trend-granularity{display:inline-flex;gap:3px;align-items:center;padding:3px;border:1px solid var(--border);border-radius:10px}.trend-granularity button{background:transparent;color:var(--muted);font:inherit;padding:8px 16px;min-height:44px;border:0;border-radius:7px;cursor:pointer}.trend-granularity button[aria-pressed="true"]{background:var(--cyan);color:#06111c;font-weight:600}
.chart-tooltip{overflow-wrap:normal!important}.chart-tooltip dd{overflow-wrap:break-word;min-width:0}.chart-tooltip dt{min-width:0;overflow-wrap:break-word}
@media(max-width:600px){.forecast-heading{flex-wrap:wrap;gap:12px}.header-right{gap:8px}#period-label{white-space:normal;overflow-wrap:anywhere}.week-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* A readable decision brief, shared by the overview and its complete report. */
html[data-pilot="france-food"] .business-brief{--brief-up:var(--performance-up);--brief-down:var(--performance-down);--brief-up-bg:#edf9f3;--brief-down-bg:#fff3f3;font-size:var(--type-body);line-height:1.6;color:var(--text);text-align:left}
html[data-theme="dark"] .business-brief{--brief-up-bg:#17342e;--brief-down-bg:#3b2631}
html[data-pilot="france-food"] .business-brief :is(h3,h4,p){margin:0}
html[data-pilot="france-food"] .business-brief p{font-size:inherit;line-height:1.65;color:var(--muted);overflow-wrap:break-word}
html[data-pilot="france-food"] .business-brief h3{font:600 var(--type-heading)/1.35 var(--type-family);color:var(--text);letter-spacing:-.02em}
html[data-pilot="france-food"] .business-brief h4{font:600 var(--type-body)/1.45 var(--type-family);color:var(--text)}
html[data-pilot="france-food"] .business-brief .brief-eyebrow{font-size:var(--type-caption);color:var(--cyan);font-weight:600;letter-spacing:.02em;margin-bottom:10px}
html[data-pilot="france-food"] .brief-intro h3{font-size:var(--type-value);max-width:780px;margin-bottom:8px}
html[data-pilot="france-food"] .business-brief .brief-caption{font-size:var(--type-caption)}
.brief-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px 0 26px;border-bottom:1px solid var(--line)}
.brief-figures>div{display:flex;flex-direction:column;gap:6px;min-width:0}.brief-figures>div>span:first-child{color:var(--muted);font-size:var(--type-caption)}.brief-figures strong{color:var(--text);font-size:var(--type-value);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.brief-change{font-weight:600;font-size:var(--type-body)}
.brief-section{padding:26px 0;border-bottom:1px solid var(--line)}.brief-section>h3{margin-bottom:14px!important}.brief-grid,.brief-recent-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.brief-card{border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:12px;padding:18px 20px;background:var(--surface);min-width:0}.brief-card[data-tone="positive"]{background:var(--brief-up-bg);border-left-color:var(--brief-up)}.brief-card[data-tone="alert"]{background:var(--brief-down-bg);border-left-color:var(--brief-down)}
.brief-card h4{display:flex;align-items:flex-start;gap:8px}.brief-sign{font-size:1.2em;line-height:1.2;flex-shrink:0}.brief-card-value{display:block;font-size:var(--type-value);line-height:1.3;font-weight:600;margin:13px 0 9px;font-variant-numeric:tabular-nums}.brief-card[data-tone="positive"] :is(.brief-sign,.brief-card-value),.business-brief [data-tone="positive"]:is(span,strong){color:var(--brief-up)}.brief-card[data-tone="alert"] :is(.brief-sign,.brief-card-value),.business-brief [data-tone="alert"]:is(span,strong){color:var(--brief-down)}
.brief-card details{margin-top:14px;border-top:1px solid var(--line);padding-top:8px}.business-brief summary{cursor:pointer;color:var(--cyan);min-height:36px;align-content:center;font-weight:500}.brief-card details p{padding-top:6px;font-size:var(--type-caption)!important}.brief-card>.text-link{margin-top:10px;min-height:44px}
.brief-spark{height:126px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;max-width:750px;margin:22px auto 18px}.brief-spark>div{height:100%;display:grid;grid-template-rows:100px 26px;align-items:end;text-align:center;border-radius:5px;position:relative;color:var(--muted);font-size:var(--type-caption)}.brief-spark-bar{display:block;justify-self:center;height:var(--height);min-height:2px;width:60%;max-width:54px;background:#7a91ab;border-radius:4px 4px 0 0}.brief-spark [data-window="current"] .brief-spark-bar{background:var(--cyan)}.brief-spark>div:nth-child(5){border-left:1px dashed var(--muted)}.brief-spark>div:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.brief-recent-metrics .brief-card{padding:15px 18px}.brief-recent-metrics .brief-card-value{font-size:var(--type-heading)}.brief-season-context{padding:16px 0 20px}.brief-section>h4{margin-bottom:12px!important}.brief-seasonal{display:flex;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--cyan) 6%,var(--surface));margin-top:14px}.brief-seasonal>.brief-sign{color:var(--cyan)}.brief-seasonal h4{margin-bottom:7px!important}
.brief-breakdown{border-bottom:1px solid var(--line);padding:15px 0}.brief-breakdown>summary{font-size:var(--type-body);min-height:44px}.brief-breakdown>div,.brief-breakdown>p{margin-top:18px!important}.brief-breakdown>p:last-child{margin-bottom:8px!important}.brief-breakdown h4{margin-bottom:10px!important}.brief-contributor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:12px 0;border-bottom:1px solid var(--line)}.brief-contributor>span{overflow-wrap:anywhere}.brief-contributor strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.brief-contributor small{grid-column:1/-1;color:var(--muted);font-size:var(--type-caption)}.brief-method{padding-top:20px;font-size:var(--type-caption)!important}

.period-mode-tabs{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:11px;flex-shrink:0}.period-mode-tabs button{min-height:44px;padding:8px 17px;background:transparent;border:0;border-radius:7px;font:600 var(--type-body)/1.3 var(--type-family);color:var(--muted);cursor:pointer}.period-mode-tabs button[aria-pressed="true"]{background:var(--cyan);color:#07141d}html[data-theme="light"] .period-mode-tabs button[aria-pressed="true"]{color:#fff}.period-mode-tabs button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.period-availability{color:var(--muted);font-size:var(--type-caption);margin:0 0 15px}.period-settings .period-controls{margin-bottom:14px}.period-settings #months-fieldset,.period-settings #weeks-fieldset{margin-bottom:16px}.period-settings #weeks{grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:8px}.period-settings .month-label span{min-height:44px;align-content:center}
@media(max-width:700px){.brief-grid,.brief-recent-metrics{grid-template-columns:1fr}.brief-figures{gap:12px}.brief-figures strong{font-size:var(--type-heading)}.brief-card{padding:16px}.brief-intro h3{font-size:var(--type-heading)!important}.brief-contributor{grid-template-columns:minmax(0,1fr)}.brief-contributor strong{white-space:normal}.brief-spark{gap:5px}.period-mode-tabs{margin-left:auto}.period-mode-tabs button{padding-inline:12px}}
@media(max-width:440px){.brief-figures{grid-template-columns:1fr}.brief-figures>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px}.brief-figures>div>span:first-child{grid-column:1}.brief-figures strong{grid-column:2;grid-row:1/3;font-size:var(--type-heading)}.brief-change{grid-column:1;font-size:var(--type-caption)}.period-mode-tabs{margin-left:0;width:100%;justify-content:space-between}.period-mode-tabs button{flex:1}.period-settings #weeks{grid-template-columns:repeat(5,minmax(0,1fr))}}
.brief-financial-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.brief-financial-column{display:grid;gap:12px}.brief-financial-column[data-tone="positive"]>.brief-column-title{color:var(--brief-up)}.brief-financial-column[data-tone="alert"]>.brief-column-title{color:var(--brief-down)}.brief-recent-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.business-brief .brief-verdict{font-weight:600;color:var(--text)!important;margin-top:20px!important}.business-brief .brief-season-context{font-size:var(--type-caption)!important;padding-top:8px}.brief-financial-columns:has(>.brief-financial-column:only-child){grid-template-columns:1fr}.brief-financial-column:only-child{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-financial-column:only-child>.brief-column-title{grid-column:1/-1}
@media(max-width:700px){.brief-financial-columns,.brief-recent-metrics,.brief-financial-column:only-child{grid-template-columns:1fr}}



/* Linked calendar selection: explicit choices and correspondences remain distinct. */
.period-kind{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;color:var(--muted)}
.period-kind select{min-height:44px;max-width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px}
.linked-period-top{display:grid;grid-template-columns:minmax(180px,26%) minmax(0,1fr);gap:24px;align-items:start}
.linked-period-top #year-controls{display:flex;flex-direction:column;gap:14px;min-width:0}
[data-pilot="france-food"] .linked-period-top #year-controls label{flex:0 1 auto;width:100%}
.linked-period-top #weeks-fieldset{margin-top:0;min-width:0}
.linked-period-top #months-fieldset{margin-top:0;min-width:0}
.range-comparison-choice{position:relative}
.range-comparison-choice [role="tooltip"]{display:none;position:absolute;z-index:8;top:100%;right:0;width:320px;max-width:calc(100vw - 56px);padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);box-shadow:0 8px 24px #0003;font-size:var(--type-caption);line-height:1.5}
.range-comparison-choice:hover [role="tooltip"],.range-comparison-choice:focus-within [role="tooltip"]{display:block}
.period-settings #weeks{grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:6px}
.period-settings .month-label.is-linked span{outline:1px dashed var(--cyan);outline-offset:-4px}
.period-settings .month-label.is-partial span{border-bottom:3px double var(--cyan)}
.period-settings .month-label input:disabled+span{opacity:.45;cursor:not-allowed}
.period-settings .month-label input:checked:not(:focus-visible)+span{outline:none}
.period-settings .month-label input:checked+span::after{content:'✓';position:absolute;right:3px;top:0;font-size:11px;font-weight:800}
.period-settings .month-label input:focus-visible+span{outline:3px solid var(--cyan);outline-offset:2px}
.period-legend,.period-selection,.period-focus{font-size:var(--type-caption);line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.period-selection{color:var(--text);margin:16px 0 6px}.period-focus{min-height:2em;margin:0}
.filter-row .period-mode-tabs{width:auto;flex:0 0 auto}.period-button{min-width:0;max-width:100%}#period-label{overflow-wrap:anywhere;text-align:left}
html[data-pilot="france-food"][data-view="overview"] #period-settings #months-fieldset{display:block;margin:18px 0 16px}
html[data-pilot="france-food"][data-view="overview"] #period-settings #months-fieldset legend{position:static;width:auto;height:auto;padding:0;margin:0 0 12px;overflow:visible;clip:auto;white-space:normal}
.period-settings #months{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:760px){.linked-period-top{grid-template-columns:minmax(0,1fr);gap:12px}.linked-period-top #year-controls{flex-direction:row;flex-wrap:wrap}.linked-period-top #year-controls label{flex:1 1 150px!important}.period-settings #weeks{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.period-settings #months{grid-template-columns:repeat(3,minmax(0,1fr))}}
.brief-card-comparison{font-size:var(--type-body);font-variant-numeric:tabular-nums;color:var(--muted);margin:-2px 0 12px!important}
.brief-card-facts{padding:0;margin:0 0 12px;list-style:none;font-size:var(--type-body);line-height:1.6;font-variant-numeric:tabular-nums}
.brief-card-facts li+li{margin-top:4px}.brief-card-facts li{overflow-wrap:anywhere}
.rankings-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.ranking-metric-toggle{display:flex;gap:3px;padding:4px;border:1px solid var(--control-line);border-radius:12px;background:var(--surface)}
.ranking-metric-toggle button{min-height:44px;padding:8px 17px;font-size:var(--type-body);font-weight:600;background:transparent;color:var(--muted)}
.ranking-metric-toggle button[aria-pressed="true"]{background:var(--cyan);color:var(--surface)}
.ranking-metric-toggle button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:1100px){html[data-pilot="france-food"] .rankings-heading{align-items:flex-start;flex-wrap:wrap}.rankings-controls{margin-left:auto}}
@media(max-width:440px){.rankings-controls{width:100%;justify-content:space-between}.rankings-controls .ranking-toggle{min-width:170px}.ranking-metric-toggle button{padding-inline:12px}}

/* Unit economics: two explicit margin definitions within one analysis. */
.brief-unit-sections{display:grid;gap:12px;margin-top:16px}.brief-unit-section{border-top:1px solid var(--line);padding-top:12px}.business-brief .brief-unit-section h5{margin:0 0 6px;font-size:var(--type-body);color:var(--text);font-weight:600}.brief-unit-value{display:block;font-size:var(--type-heading);color:var(--text);font-variant-numeric:tabular-nums;line-height:1.4;margin-bottom:5px}.business-brief .brief-unit-section p{font-size:var(--type-body);font-variant-numeric:tabular-nums}.business-brief :is(.brief-unit-cost,.brief-unit-total,.brief-unit-conclusion){margin-top:8px}.business-brief .brief-unit-total{color:var(--text);font-weight:600}

/* Same viewport gradient as the preparation screen, including the light theme. */
html:is([data-pilot="france-food"],[data-pilot-login]){--lynova-page-background:radial-gradient(ellipse at 80% 0%,#dceff2,transparent 55%),#f5f8fa}
html[data-theme="dark"]:is([data-pilot="france-food"],[data-pilot-login]){--lynova-page-background:radial-gradient(ellipse at 80% 0%,#123443,transparent 60%),#0b1420}
html:is([data-pilot="france-food"],[data-pilot-login]) body{background:var(--lynova-page-background);background-attachment:fixed;min-height:100vh}
html[data-pilot="france-food"] .workspace-shell{background:transparent}
html[data-pilot-login] #pilot-host{background:var(--lynova-page-background);background-attachment:fixed}
.brief-value-row,.brief-unit-value-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:12px 0 8px}
.brief-value-row .brief-card-value,.brief-unit-value-row .brief-unit-value{margin:0}
.brief-metric-change{font-size:var(--type-body);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text)}
.brief-unit-headlines{display:grid;gap:12px;margin:16px 0 18px}
.brief-unit-headlines .brief-unit-section{border:0;padding:0}
.brief-unit-value-row{margin:4px 0}.brief-unit-headlines .brief-unit-value{font-size:var(--type-value)}
html[data-pilot="france-food"] .business-brief :is(.brief-unit-detail,.brief-recommendation) h5{margin:0 0 6px;font-size:var(--type-body);font-weight:600;color:var(--text)}
.brief-unit-detail{border-top:1px solid var(--line);padding-top:12px}
.margin-focus{border:1px solid var(--line);border-top:3px solid var(--cyan);border-radius:14px;padding:24px;background:var(--surface);min-width:0}
.client-evolution{border:1px solid var(--line);border-radius:14px;padding:24px;margin-top:20px;background:var(--surface);min-width:0}
.client-evolution-hero{padding-bottom:26px;margin-bottom:24px;border-bottom:1px solid var(--line);max-width:100%}
html[data-pilot="france-food"] .business-brief .client-evolution-eyebrow{font-size:var(--type-caption);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
html[data-pilot="france-food"] .business-brief .client-evolution-hero h3{font-size:var(--type-display);line-height:1.15;margin-bottom:18px}
.client-evolution-hero h3>span{color:var(--cyan)}
html[data-pilot="france-food"] .business-brief .client-evolution-hero>p:last-child{font-size:var(--type-body);line-height:1.65;color:var(--muted)}
.client-waterfall-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
html[data-pilot="france-food"] .business-brief .client-waterfall-heading h4{font:600 var(--type-heading)/1.3 var(--type-family);margin-bottom:5px}
.client-waterfall-balance{text-align:right;flex-shrink:0;display:flex;flex-direction:column;color:var(--cyan);font-variant-numeric:tabular-nums}
.client-waterfall-balance>strong{font-size:var(--type-value);line-height:1.25}.client-waterfall-balance>span{color:var(--muted);font-size:var(--type-caption);margin-top:3px}
html[data-pilot="france-food"] .business-brief .client-waterfall-unit{font-size:var(--type-caption);color:var(--muted);margin:24px 0 0}
.client-waterfall-scroll{max-width:100%;overflow-x:auto;padding:32px 1px 4px;scrollbar-width:thin}
.client-waterfall-chart{position:relative;min-width:350px;padding-left:36px}
.client-waterfall-axis{position:absolute;left:36px;right:0;top:0;height:240px;pointer-events:none}
.client-waterfall-tick{position:absolute;left:0;right:0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.client-waterfall-tick[data-zero="true"]{border-color:var(--muted)}
.client-waterfall-tick>span{position:absolute;right:calc(100% + 9px);transform:translateY(-50%);font-size:var(--type-caption);color:var(--muted);white-space:nowrap}
.client-waterfall-columns{display:grid;gap:0;position:relative}
.client-waterfall-column{display:flex;flex-direction:column;min-width:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;text-align:center;cursor:pointer;white-space:normal;box-shadow:none}
.client-waterfall-column:hover{background:color-mix(in srgb,var(--cyan) 4%,transparent)}
.client-waterfall :is(button,summary,[tabindex]):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.client-waterfall-plot{height:240px;position:relative;display:block;width:100%}
.client-waterfall-bar{position:absolute;left:10%;right:10%;background:#329d89;border-radius:5px 5px 2px 2px;z-index:1}
.client-waterfall-column[aria-pressed="true"] .client-waterfall-bar{background:#43d8b3;outline:2px solid var(--text);outline-offset:3px}
.client-waterfall-column[data-sign="negative"] .client-waterfall-bar{background:#ad6272}.client-waterfall-column[data-sign="negative"][aria-pressed="true"] .client-waterfall-bar{background:#e68b9d}
.client-waterfall-column[data-cohort="total"] .client-waterfall-bar{background:var(--cyan)}
.client-waterfall-bar[data-zero="true"]{height:2px!important;border-radius:0}
.client-waterfall-value{position:absolute;left:0;right:0;margin-bottom:8px;font-size:var(--type-body);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;z-index:2}
.client-waterfall-connector{position:absolute;left:90%;width:20%;border-bottom:1px dashed var(--muted)}
.client-waterfall-caption{display:flex;flex-direction:column;gap:4px;padding:15px 3px 10px;width:100%;font-size:var(--type-caption);line-height:1.4;color:var(--muted)}
.client-waterfall-column[aria-pressed="true"] .client-waterfall-caption{color:var(--text);font-weight:600}
.client-waterfall-label-short{display:none}
.essential-view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 20px}
.essential-view-context{font-size:var(--type-caption);color:var(--muted)}
.essential-snapshot{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:24px}
.essential-tile{min-width:0;padding:0 0 4px}.essential-tile+.essential-tile{border-left:1px solid var(--line);padding-left:24px}
html[data-pilot="france-food"] .essential-tile h3{font-size:var(--type-heading);margin:0 0 16px;font-weight:600}
.essential-big{display:block;font-size:var(--type-display);line-height:1.2;color:var(--cyan);font-variant-numeric:tabular-nums}
.essential-tile .essential-reference{font-size:var(--type-caption);color:var(--muted);line-height:1.6;margin-top:5px}
.essential-pair{display:grid;gap:8px;margin:18px 0}.essential-pair>div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;align-items:center;font-size:var(--type-caption);color:var(--muted)}
.essential-pair-track{height:8px;border-radius:3px;background:color-mix(in srgb,var(--muted) 10%,transparent)}.essential-pair-track i{display:block;height:100%;background:var(--muted);border-radius:3px}.essential-pair>div[data-side="current"] i{background:var(--cyan)}
.essential-small-stats{margin:18px 0}.essential-small-stats>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--type-caption)}.essential-small-stats dd{margin:0;font-weight:600;white-space:nowrap}
.essential-tile [data-direction="up"]{color:var(--performance-up)}.essential-tile [data-direction="down"]{color:var(--performance-down)}
.essential-contributions{display:grid;gap:12px;margin:20px 0}.essential-contribution{display:grid;grid-template-columns:1fr auto;gap:5px 10px;text-align:left;border:0;border-radius:4px;padding:0;background:transparent;color:var(--text);font:inherit;font-size:var(--type-caption);cursor:pointer}.essential-contribution:disabled{cursor:default}.essential-contribution:hover:not(:disabled){color:var(--cyan)}.essential-contribution:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.essential-diverging{grid-column:1/-1;display:block;position:relative;height:6px;background:color-mix(in srgb,var(--muted) 9%,transparent);border-radius:2px}.essential-diverging:before{content:'';position:absolute;left:50%;top:-2px;height:10px;border-left:1px solid var(--muted)}.essential-diverging i{display:block;position:absolute;height:6px;background:var(--performance-up);border-radius:2px}.essential-diverging i[data-direction="down"]{background:var(--performance-down)}
.essential-tile .essential-conclusion{font-size:var(--type-body);font-weight:600;line-height:1.55;margin:16px 0 8px}.essential-tile .essential-footnote{font-size:var(--type-caption);color:var(--muted);line-height:1.65}
.essential-distribution{display:flex;height:12px;overflow:hidden;border-radius:3px;margin:14px 0}.essential-distribution i{background:var(--muted)}.essential-distribution i[data-direction="up"]{background:var(--performance-up)}.essential-distribution i[data-direction="down"]{background:var(--performance-down)}
.essential-basket-legend{list-style:none;padding:0;display:grid;gap:9px;margin:14px 0}.essential-basket-legend li{display:flex;justify-content:space-between;gap:12px;font-size:var(--type-caption)}.essential-basket-legend li:before{content:'●';margin-right:-6px;font-size:10px}.essential-basket-legend span{flex:1;color:var(--text)}
@media(max-width:1100px){.essential-snapshot{grid-template-columns:1fr}.essential-tile+.essential-tile{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:22px}.essential-pair,.essential-contributions{max-width:560px}}
.family-insights{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);min-width:0}
html[data-pilot="france-food"] .business-brief .family-insights>h4{font-size:var(--type-heading);margin-bottom:12px}
.family-insights>label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--type-caption);color:var(--muted);margin:10px 0}
.family-insights select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px 30px 8px 10px;max-width:100%}
html[data-pilot="france-food"] .business-brief .family-insights-intro{font-size:var(--type-caption);color:var(--muted);line-height:1.6;margin:10px 0 14px}
html[data-pilot="france-food"] .business-brief .family-insights-note{font-size:var(--type-caption);color:var(--muted);line-height:1.65;margin-top:12px}
.family-insights-scroll{max-width:100%;overflow:auto;scrollbar-width:thin}
.family-insights-table{width:100%;border-collapse:collapse;font-size:var(--type-caption);font-variant-numeric:tabular-nums}
.family-insights-table :is(th,td){padding:11px 10px;border:0;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;color:var(--text)}
html[data-pilot="france-food"] .family-insights-table thead{background:transparent}.family-insights-table thead th{font-weight:400;color:var(--muted);font-size:var(--type-caption)}
.family-insights-table th:first-child{text-align:left;white-space:normal;min-width:145px;font-weight:600}.family-insights-table td small{display:block;margin-top:3px;font-size:var(--type-caption);color:var(--muted)}
.family-insights-score{min-width:126px;font-weight:600}.family-mini-track{height:5px;position:relative;margin-top:8px;background:color-mix(in srgb,var(--muted) 10%,transparent);width:100%;border-radius:2px}
.family-mini-track:not([data-counts="true"]):before{content:'';position:absolute;left:50%;height:9px;top:-2px;border-left:1px solid var(--muted)}
.family-mini-track>span{position:absolute;height:5px;border-radius:2px;background:var(--performance-up)}.family-mini-track>span[data-tone="negative"]{background:var(--performance-down)}.family-mini-track>span[data-tone="neutral"]{background:var(--cyan)}
html[data-pilot="france-food"] .family-insights-score[data-cost="true"] .evolution-value[data-direction="up"]{color:var(--performance-down)}html[data-pilot="france-food"] .family-insights-score[data-cost="true"] .evolution-value[data-direction="down"]{color:var(--performance-up)}
.family-ranking-content>details{margin-top:12px}.family-ranking-content>details>summary{color:var(--cyan);font-size:var(--type-caption);cursor:pointer;padding:7px 0}.family-insights :is(select,summary,[tabindex]):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:600px){.family-insights-table th:first-child{width:115px;min-width:115px;max-width:115px;overflow-wrap:anywhere}.family-insights-score{min-width:105px}.family-insights-table thead th{white-space:normal;min-width:95px}.family-insights-table :is(th,td){padding-inline:8px}}
.client-waterfall-selection{border-top:1px solid var(--line);margin-top:16px;padding-top:18px;min-height:112px}
html[data-pilot="france-food"] .business-brief .client-waterfall-selection h4{margin-bottom:7px}.client-waterfall-selection p{color:var(--muted);line-height:1.6}
.client-waterfall-detail{display:inline-block;border:0;background:none;padding:8px 0;color:var(--cyan);font:600 var(--type-caption)/1.5 var(--type-family);cursor:pointer}
.client-waterfall-exact>summary{cursor:pointer;color:var(--cyan);font-size:var(--type-caption);padding:8px 0}
.client-waterfall-table-wrap{max-width:100%;overflow:auto;margin-top:12px;scrollbar-width:thin}
.client-waterfall-table{width:100%;border-collapse:collapse;font-size:var(--type-caption);font-variant-numeric:tabular-nums;line-height:1.5}
.client-waterfall-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.client-waterfall-table :is(th,td){padding:10px 8px;border:0;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;background:transparent;color:var(--text)}
.client-waterfall-table th:first-child{text-align:left;white-space:normal;min-width:115px}.client-waterfall-table thead th{font-weight:400;color:var(--muted)}.client-waterfall-table tbody th{font-weight:600}html[data-pilot="france-food"] .client-waterfall-table tfoot :is(th,td){color:var(--cyan);font-weight:600}html[data-pilot="france-food"] .client-waterfall-table :is(thead,tfoot){background:transparent}
@media(max-width:600px){html[data-pilot="france-food"] .business-brief .client-evolution-hero h3{font-size:var(--type-value)}.client-waterfall-heading{flex-wrap:wrap}.client-waterfall-balance{text-align:left}.client-waterfall-chart{min-width:0;padding-left:24px}.client-waterfall-axis{left:24px}.client-waterfall-value{font-size:var(--type-caption)}.client-waterfall-caption{font-size:var(--type-caption)}.client-waterfall-label-full{display:none}.client-waterfall-label-short{display:block}.client-waterfall-table{font-size:var(--type-caption)}}
.client-evolution-lead,.client-evolution-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;font-variant-numeric:tabular-nums}.client-evolution-lead{margin:16px 0 5px}.client-evolution-lead>strong{font-size:var(--type-display);line-height:1.3}.client-evolution-delta{color:var(--muted);font-size:var(--type-body)}
html[data-pilot="france-food"] .business-brief .client-evolution-verdict{font-size:var(--type-heading);margin:20px 0 14px}
.client-evolution-cohorts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.client-evolution-cohorts>section,.client-evolution-cohorts>button{padding:14px;border:1px solid var(--line);border-radius:8px;min-width:0;background:transparent;color:var(--text);text-align:left;font:inherit;display:flex;flex-direction:column;align-items:flex-start;white-space:normal}.client-evolution-cohorts>button{cursor:pointer;transition:border-color .18s,background .18s}.client-evolution-cohorts>button:hover{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 5%,var(--surface))}.client-evolution-cohorts>button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.client-cohort-title{font-weight:600;font-size:var(--type-body);line-height:1.5}.client-cohort-description{color:var(--muted);font-size:var(--type-caption);line-height:1.5;margin:8px 0 0;min-height:3em}.client-cohort-link{color:var(--cyan);font-size:var(--type-caption);font-weight:600;padding-top:14px;margin-top:auto}.client-cohort-delta{display:block;margin:10px 0 7px;font-size:var(--type-heading);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.business-detail-cohort-description{color:var(--muted);margin:0 0 16px}.business-detail-cohort-total{display:flex;flex-direction:column;gap:5px;padding:16px;margin:14px 0;border:1px solid var(--line);border-radius:8px}.business-detail-cohort-total>strong{font-size:var(--type-value)}.business-detail-cohort-total>span:last-child{color:var(--muted);font-size:var(--type-caption)}
.business-detail-dialog[data-layout="table"] .business-detail-body{padding-top:18px}
.business-detail-cohort-overview{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;margin-bottom:12px}
.business-detail-cohort-overview p{margin:0;line-height:1.6}
.business-detail-cohort-overview .business-detail-cohort-total{padding:0;margin:0;border:0;gap:2px;text-align:right}
.business-detail-cohort-total>strong{font-variant-numeric:tabular-nums}
.business-detail-context{margin:0 0 18px;font-size:var(--type-caption);color:var(--muted)}
.business-detail-context>summary{cursor:pointer;color:var(--cyan);padding:5px 0;min-height:24px}
.business-detail-context[open]{padding-bottom:10px;border-bottom:1px solid var(--line)}
.business-detail-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}
.business-detail-table{width:100%;border-collapse:collapse;font-size:var(--type-body);font-variant-numeric:tabular-nums}
.business-detail-table th,.business-detail-table td{padding:12px 16px;border:0;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;background:transparent;color:var(--text)}
.business-detail-table thead th{font-size:inherit;font-weight:500;color:var(--muted);background:color-mix(in srgb,var(--cyan) 5%,var(--surface))}
.business-detail-table th:first-child{text-align:left;white-space:normal;min-width:190px;width:40%}
.business-detail-table tbody th,.business-detail-table tbody td{padding-block:2px}
.business-detail-table tbody th{font-weight:600}
.business-detail-table tbody tr:last-child>*{border-bottom:0}
.business-detail-table tbody tr:hover{background:color-mix(in srgb,var(--cyan) 4%,var(--surface))}
.business-detail-table .business-detail-contribution{font-weight:600}
.business-detail-name{display:inline-block;min-height:44px;padding:8px 0;border:0;border-radius:3px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.business-detail-name:hover{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.business-detail-name:focus-visible,.business-detail-table-wrap:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.business-detail-cell-note{display:block;color:var(--muted);font-size:var(--type-caption);font-weight:400}
.business-detail-dialog[data-layout="table"] .business-detail-pager{margin-bottom:0;font-size:var(--type-caption);color:var(--muted)}
@media(max-width:600px){.business-detail-cohort-overview .business-detail-cohort-total{text-align:left}.business-detail-table th,.business-detail-table td{padding:10px 12px}.business-detail-table th:first-child{min-width:170px}.business-detail-cohort-total>strong{font-size:var(--type-heading)}}
html[data-pilot="france-food"] .margin-focus-reading .margin-focus-simulation{display:grid;gap:5px;padding-left:14px;border-left:3px solid var(--cyan);margin:16px 0 0}.margin-focus-simulation>strong{color:var(--cyan)}
html[data-pilot="france-food"] .margin-focus [data-metric="cost"] .evolution-value[data-direction="up"]{color:var(--performance-down)}html[data-pilot="france-food"] .margin-focus [data-metric="cost"] .evolution-value[data-direction="down"]{color:var(--performance-up)}
.client-cohort-delta[data-direction="up"]{color:var(--brief-up)}.client-cohort-delta[data-direction="down"]{color:var(--brief-down)}
.client-evolution-common{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}html[data-pilot="france-food"] .business-brief .client-evolution-common>h4{margin-bottom:7px}
.client-evolution-figures{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0 12px}.client-evolution-figures h5{font-size:var(--type-body);margin:0 0 6px;color:var(--muted)}.client-evolution-value>strong{font-size:var(--type-heading);line-height:1.4}.client-evolution details{margin-top:15px}html[data-pilot="france-food"] .business-brief .client-evolution details p{font-size:var(--type-caption);margin:8px 0}
@media(max-width:1100px){.client-evolution-cohorts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.client-evolution{padding:17px}.client-evolution-cohorts,.client-evolution-figures{grid-template-columns:1fr}.client-evolution-lead>strong{font-size:var(--type-value)}}
.margin-focus-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.margin-focus-badge{font-size:var(--type-caption);font-weight:600;border:1px solid var(--line);border-radius:20px;padding:5px 11px;color:var(--text);background:color-mix(in srgb,var(--cyan) 7%,var(--surface))}
.margin-focus[data-tone="positive"] .margin-focus-badge{color:var(--brief-up);background:var(--brief-up-bg)}
.margin-focus[data-tone="alert"] .margin-focus-badge{color:var(--brief-down);background:var(--brief-down-bg)}
.margin-focus-metrics{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.1fr;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.margin-focus-metric{min-width:0}.margin-focus-metric+.margin-focus-metric{border-left:1px solid var(--line);padding-left:20px}
.margin-focus-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px;margin:7px 0;font-variant-numeric:tabular-nums}
.margin-focus-value strong{font-size:var(--type-value);font-weight:600;line-height:1.35;color:var(--text);overflow-wrap:anywhere}
.margin-focus-metric[data-metric="unit"] .margin-focus-value strong{font-size:var(--type-display);color:var(--cyan)}
.margin-focus-value .brief-metric-change{font-size:var(--type-body)}
html[data-pilot="france-food"] .business-brief .margin-focus-reference{font-size:var(--type-caption);line-height:1.5}
.margin-focus-reading{padding:19px 0 17px}html[data-pilot="france-food"] .business-brief .margin-focus-reading h4{font-size:var(--type-heading);margin-bottom:6px}
.margin-focus-action{padding:16px 18px;border-left:3px solid var(--cyan);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--cyan) 5%,var(--surface))}
html[data-pilot="france-food"] .business-brief .margin-focus-action h4{display:flex;gap:8px;margin-bottom:6px}.margin-focus-action h4>span{color:var(--cyan)}
.margin-focus-action .row-analysis-button{margin-top:12px;white-space:normal;text-align:left}
.margin-focus details{margin-top:12px}.margin-focus-scenarios>div{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:12px 0}
html[data-pilot="france-food"] .business-brief .margin-focus-scenarios h4{margin-bottom:5px}.margin-focus-scenarios section{padding:12px;border:1px solid var(--line);border-radius:8px}
html[data-pilot="france-food"] .business-brief .margin-focus-notes p{font-size:var(--type-caption);margin:8px 0}
@media(max-width:1100px){.margin-focus-metrics{grid-template-columns:1fr 1fr;gap:18px}.margin-focus-metric:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:600px){.margin-focus{padding:17px}.margin-focus-heading{margin-bottom:18px}.margin-focus-metrics{grid-template-columns:1fr;gap:15px}.margin-focus-metric+.margin-focus-metric{border-left:0;padding:13px 0 0;border-top:1px solid var(--line)}.margin-focus-scenarios>div{grid-template-columns:1fr}.margin-focus-action{padding:14px}.margin-focus-value strong{font-size:var(--type-heading)}}
.brief-recommendation{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 65%,transparent)}
html[data-pilot="france-food"] .business-brief .brief-recommendation p{font-size:var(--type-body);color:var(--text)}
.brief-card[data-tone="positive"] .brief-unit-value-row :is(.brief-unit-value,.brief-metric-change){color:var(--brief-up)}
#weeks .is-current-week>span{box-shadow:inset 0 0 0 2px var(--cyan)}
#weeks .current-week-badge{display:block;width:max-content;max-width:100%;margin:2px auto 0;padding:0 4px;border-radius:3px;background:var(--cyan);color:var(--surface);font-size:var(--type-caption);font-weight:600;line-height:1.3}

/* Shared selection controls, from the overview to the detailed analysis. */
html[data-pilot="france-food"] :is(.segmented-control,.trend-granularity,.ranking-metric-toggle,.period-mode-tabs){display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--control-line,var(--line));border-radius:12px;background:var(--surface)}
html[data-pilot="france-food"] :is(.segmented-control,.trend-granularity,.ranking-metric-toggle,.period-mode-tabs)>button{min-height:44px;padding:8px 17px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:600 var(--type-body)/1.3 var(--type-family);cursor:pointer}
html[data-pilot="france-food"] :is(.segmented-control,.trend-granularity,.ranking-metric-toggle,.period-mode-tabs)>button[aria-pressed="true"]{background:var(--cyan);color:var(--surface)}
html[data-pilot="france-food"] :is(.segmented-control,.trend-granularity,.ranking-metric-toggle,.period-mode-tabs)>button:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--cyan)}
html[data-pilot="france-food"] :is(.segmented-control,.trend-granularity,.ranking-metric-toggle,.period-mode-tabs)>button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
html[data-pilot="france-food"] :is(.segmented-control,.trend-granularity,.ranking-metric-toggle,.period-mode-tabs)>button:disabled{opacity:.5;cursor:not-allowed}
html[data-pilot="france-food"][data-view="clients"] :is(.metrics-heading,#metrics,#result-cards-editor,#period-essential,#overview-evolution,#overview-rankings,#period-weather){display:none!important}
.detailed-analysis{margin-bottom:24px}.detailed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 20px;flex-wrap:wrap}.detailed-ranking .panel-heading{gap:20px;align-items:center;flex-wrap:wrap}.detailed-ranking .eyebrow{margin:0 0 7px;color:var(--cyan);font-size:var(--type-caption);letter-spacing:.1em}.detailed-ranking h2{font-size:var(--type-value)}.detailed-ranking #detailed-ranking-description{margin-top:8px;max-width:680px;line-height:1.55}.detailed-ranking #detailed-ranking-status{color:var(--muted);font-size:var(--type-body)}.detailed-ranking #detailed-ranking-status:empty{display:none}
.detailed-ranking-bars{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(5,auto);gap:19px 36px}.detailed-ranking-row{min-width:0;border-radius:6px;padding:3px}.detailed-ranking-row:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.detailed-ranking-line{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:baseline;gap:9px;margin-bottom:9px;font-size:var(--type-body)}.detailed-ranking-position{color:var(--muted);font-size:var(--type-caption)}.detailed-ranking-name{overflow-wrap:anywhere;font-weight:500;line-height:1.45}.detailed-ranking-value{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.detailed-ranking-track{position:relative;height:8px;border-radius:3px;background:color-mix(in srgb,var(--cyan) 8%,var(--surface));margin-left:33px}.detailed-ranking-fill{position:absolute;top:0;height:100%;border-radius:3px;background:var(--cyan)}.detailed-ranking-fill[data-sign="negative"]{background:var(--negative,#ce5160)}.detailed-ranking-zero{position:absolute;height:14px;top:-3px;width:1px;background:var(--muted)}
@media(max-width:1100px){.detailed-ranking-bars{display:flex;flex-direction:column;gap:18px}.detailed-ranking-line{grid-template-columns:24px minmax(0,1fr) auto}}
@media(max-width:600px){#detailed-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;box-sizing:border-box}.detailed-toolbar{gap:12px}.detailed-ranking-line{grid-template-columns:22px minmax(0,1fr);gap:3px 8px}.detailed-ranking-value{grid-column:2}.detailed-ranking-track{margin-left:30px}.detailed-ranking .panel-heading{align-items:flex-start}}
.detailed-ranking-bars{margin:8px 24px 24px}.detailed-ranking-bars:not(:has(>li:nth-child(6))){display:flex;flex-direction:column}.detailed-ranking #detailed-ranking-status{margin:0 24px 18px}
html[data-pilot="france-food"] #margin-choice .margin-toggle-indicator{background:var(--cyan)}
html[data-pilot="france-food"] #margin-choice .margin-toggle button[aria-pressed="true"]{color:var(--surface)}
html[data-pilot="france-food"] :is(#margin-choice .margin-toggle,.ranking-toggle)>button{min-height:44px;border-radius:8px;padding:8px 17px;font:600 var(--type-body)/1.3 var(--type-family)}
html[data-pilot="france-food"] :is(#margin-choice .margin-toggle,.ranking-toggle)>button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
html[data-pilot="france-food"] :is(#margin-choice .margin-toggle,.ranking-toggle)>button:hover{box-shadow:inset 0 0 0 1px var(--cyan)}
@media(max-width:600px){.detailed-ranking-bars{margin:4px 16px 20px}.detailed-ranking #detailed-ranking-status{margin-inline:16px}}

/* The Top 10 uses the same reveal animation and series colours as Top / Flop. */
.detailed-ranking-row.distribution-item{display:block;margin:0;padding:5px 3px;min-width:0}
.detailed-ranking-legend{margin:0 24px 18px}
.detailed-ranking-track{height:5px;margin-top:5px}
#detailed-ranking-bars .distribution-fill{height:100%;border-radius:3px;background:var(--series-current)}
#detailed-ranking-bars .distribution-fill.prior{background:var(--series-prior)}
#detailed-ranking-bars .distribution-fill[data-sign="negative"]:not(.prior){background:var(--performance-down)}
.detailed-ranking-zero{height:9px;top:-2px}
.detailed-ranking-comparison{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;margin:10px 0 0 33px;font-size:var(--type-caption);line-height:1.55;font-variant-numeric:tabular-nums}
.detailed-ranking-prior{color:var(--muted)}
.detailed-ranking-change{font-weight:600}.detailed-ranking-change[data-direction="up"],.row-analysis-numbers [data-direction="up"]{color:var(--performance-up)}
.detailed-ranking-change[data-direction="down"],.row-analysis-numbers [data-direction="down"]{color:var(--performance-down)}
.table-save-status{margin:0 24px 16px;color:var(--muted);font-size:var(--type-caption);line-height:1.5}
html[data-pilot="france-food"] .table-heading-actions{flex-shrink:1;max-width:100%}
html[data-pilot="france-food"] .data-panel>.panel-heading{flex-wrap:wrap}
html[data-pilot="france-food"] .data-panel>.panel-heading>div:first-child{min-width:0}
.tree-label .row-analysis-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:36px;padding:6px 11px;border:1px solid color-mix(in srgb,var(--cyan) 42%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--cyan) 9%,var(--surface));color:var(--text);font:inherit;font-size:var(--type-caption);font-weight:600;cursor:pointer}
.tree-label .row-analysis-button span{color:var(--cyan);font-size:1.2em}.tree-label .row-analysis-button:hover{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 18%,var(--surface))}
.row-analysis-button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.business-brief .row-analysis-button,.business-detail-dialog .row-analysis-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--cyan) 42%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--cyan) 9%,var(--surface));color:var(--text);font:inherit;font-size:var(--type-body);font-weight:600;line-height:1.45;cursor:pointer;white-space:normal}
.business-brief .row-analysis-button:hover,.business-detail-dialog .row-analysis-button:hover{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 18%,var(--surface))}
.brief-card .brief-unit-value-row .brief-metric-change[data-direction="down"]{color:var(--brief-down)}
html[data-pilot="france-food"] .evolution-value{display:inline;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
html[data-pilot="france-food"] .evolution-value[data-direction="up"]{color:var(--performance-up)}
html[data-pilot="france-food"] .evolution-value[data-direction="down"]{color:var(--performance-down)}
html[data-pilot="france-food"] .evolution-value[data-direction="flat"]{color:var(--muted)}
html[data-pilot="france-food"] :is(#financial-credits-card .change-indicator,[data-insight="financial-credits"] .brief-metric-change,[data-detail-metric="credits"] .business-detail-row-heading) .evolution-value[data-direction="up"]{color:var(--performance-down)}
html[data-pilot="france-food"] :is(#financial-credits-card .change-indicator,[data-insight="financial-credits"] .brief-metric-change,[data-detail-metric="credits"] .business-detail-row-heading) .evolution-value[data-direction="down"]{color:var(--performance-up)}
html[data-pilot="france-food"] .overview-greeting{font-size:var(--type-value);line-height:1.35;font-weight:600;letter-spacing:-.02em;color:var(--text);margin:8px 0 12px}
.absence-explanation{padding:16px;border-left:3px solid var(--cyan);border-radius:8px;background:color-mix(in srgb,var(--cyan) 6%,var(--surface));line-height:1.6}
html[data-pilot="france-food"] .activity-weather-figures strong{display:block}
html[data-pilot="france-food"] .activity-weather-figures .evolution-value{display:inline;font-size:inherit}
.brief-prepared-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px}
.brief-prepared-actions .row-analysis-button{max-width:100%;text-align:left}
.brief-unit-detail .brief-comparison-periods,.brief-action .brief-comparison-periods{margin:10px 0 14px;line-height:1.55}
.brief-scope{overflow-wrap:anywhere}
html[data-pilot="france-food"] .weather-reference{font-size:var(--type-caption);line-height:1.5;color:var(--muted);margin:6px 0 10px}
html[data-row-analysis="true"] #workspace>:not(#row-analysis-page){display:none!important}
.row-analysis-page{max-width:1400px;margin:0 auto}.row-analysis-heading{display:grid;gap:24px;margin-bottom:14px}.row-analysis-heading>button{justify-self:start}
.row-analysis-heading h1{font-size:var(--type-display);line-height:1.3;margin:8px 0;overflow-wrap:anywhere}
.row-analysis-heading .eyebrow{color:var(--cyan);font-size:var(--type-caption);letter-spacing:.1em}
.row-analysis-path{color:var(--muted);overflow-wrap:anywhere;line-height:1.6}
.row-analysis-context{border-left:3px solid var(--cyan);padding:8px 18px;margin:24px 0;background:color-mix(in srgb,var(--cyan) 4%,var(--surface));border-radius:0 8px 8px 0;font-size:var(--type-caption);line-height:1.6;overflow-wrap:anywhere}
.row-analysis-context p{margin:5px 0}.row-analysis-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:28px 0 16px}.row-analysis-controls h2{font-size:var(--type-heading)}
.row-analysis-numbers{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}.row-analysis-numbers table{width:100%;border-collapse:collapse;font-size:var(--type-body);font-variant-numeric:tabular-nums}.row-analysis-numbers :is(th,td){padding:14px 18px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}.row-analysis-numbers th:first-child{text-align:left}.row-analysis-numbers thead{background:var(--surface-raised,var(--surface))}.row-analysis-numbers tbody tr:last-child>*{border-bottom:0}
.row-analysis-page .business-brief{margin-top:28px}.row-analysis-status{padding:24px 0;color:var(--muted)}
@media(max-width:600px){.detailed-ranking-legend{margin-inline:16px}.detailed-ranking-comparison{margin-left:30px}.row-analysis-heading h1{font-size:var(--type-value)}.row-analysis-controls .segmented-control{width:100%}.row-analysis-controls .segmented-control button{flex:1}.row-analysis-numbers :is(th,td){padding:12px}.table-save-status{margin-inline:16px}}

html[data-pilot="france-food"] .error-message{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
html[data-pilot="france-food"] .error-message>span{flex:1;min-width:min(240px,100%)}
html[data-pilot="france-food"] .analysis-retry{flex:none}

/* Surface A: page gradient and application chrome keep their existing colors. */
#results[data-pending-group] :is(.detailed-ranking,.data-panel){display:none}
.detailed-loading{padding:28px 20px;color:var(--muted);border:1px solid var(--line);border-radius:12px;background:var(--surface)}


/* One measured sliding highlight for all exclusive selection controls. */
html[data-pilot="france-food"]{--selection-slide-duration:320ms;--selection-slide-easing:cubic-bezier(.22,1,.36,1);--selection-slide-ink:#fff}
html[data-pilot="france-food"][data-theme="dark"]{--selection-slide-ink:#06111c}
html[data-pilot="france-food"] .has-selection-slide{position:relative;isolation:isolate}
html[data-pilot="france-food"] .has-selection-slide>.selection-slide-indicator{position:absolute;left:0;top:0;z-index:0;pointer-events:none;border-radius:8px;background:var(--cyan);box-shadow:0 2px 7px #001e3524;transition:transform var(--selection-slide-duration) var(--selection-slide-easing),width var(--selection-slide-duration) var(--selection-slide-easing),height var(--selection-slide-duration) var(--selection-slide-easing)}
html[data-pilot="france-food"] .has-selection-slide>:is(.margin-toggle-indicator,.ranking-toggle-indicator){display:none}
html[data-pilot="france-food"] :is(.has-selection-slide,#margin-choice .has-selection-slide)>button{position:relative;z-index:1;background:transparent;transition:color 180ms ease}
html[data-pilot="france-food"] :is(.has-selection-slide,#margin-choice .has-selection-slide)>button[aria-pressed="true"]{background:transparent;color:var(--selection-slide-ink)}
html[data-pilot="france-food"] .organizer-tabs.has-selection-slide>button[aria-pressed="true"]{box-shadow:none}
html[data-pilot="france-food"] .organizer-tabs.has-selection-slide>button[aria-pressed="true"] span{color:inherit}
@media(prefers-reduced-motion:reduce){html[data-pilot="france-food"] .has-selection-slide>.selection-slide-indicator,html[data-pilot="france-food"] :is(.has-selection-slide,#margin-choice .has-selection-slide)>button{transition:none}}

/* Period choices share the animated cyan selection used throughout the analysis. */
html[data-pilot="france-food"] .period-mode-slide{flex-wrap:wrap;max-width:100%}
.period-reference{display:flex;flex-direction:column;gap:5px;margin:0 0 20px;padding:12px 16px;border-left:3px solid var(--cyan);border-radius:6px;background:color-mix(in srgb,var(--cyan) 9%,var(--surface));color:var(--text);line-height:1.5;overflow-wrap:anywhere}
.period-reference strong{font-size:var(--type-body)}
.period-reference span{font-size:var(--type-caption);color:var(--muted)}
#relative-period-controls{margin-bottom:14px}
#relative-period-controls label{max-width:420px;width:100%}
@media(max-width:760px){html[data-pilot="france-food"] .period-mode-slide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;box-sizing:border-box}html[data-pilot="france-food"] .period-mode-slide>button{padding-inline:8px;min-width:0;white-space:normal}}

/* Text follows the selected scale; logos, pictograms and the three Aa samples retain their shape. */
html[data-pilot="france-food"] .avatar{font-size:var(--type-caption)}
html[data-pilot="france-food"] #trend-forecast-toggle-label{font-size:inherit}
html[data-pilot="france-food"] .chart-values table{font-size:var(--type-body)}
html[data-pilot="france-food"] :is(.chart-values table,.client-waterfall-table,.row-analysis-numbers table) :is(th,td){font-size:inherit}
/* Use fixed baseline bounds so the viewport term is scaled once, just like the rest of the login page. */
html[data-pilot-login="france-food"] h1{font-size:calc(clamp(38.4px,4.6vw,73.6px) * var(--pilot-font-scale,1))}
html[data-pilot-login="france-food"] h2{font-size:calc(clamp(28.8px,2.7vw,40px) * var(--pilot-font-scale,1))}
@media(max-width:50rem){html[data-pilot-login="france-food"] h1{font-size:calc(clamp(38.4px,7vw,59.2px) * var(--pilot-font-scale,1))}}

/* Weekly diversity and frequency share a fixed client cohort and readable comparison order. */
.essential-snapshot{grid-template-columns:1fr 1.1fr 1.3fr}
.essential-pair>div{grid-template-columns:calc(117px * var(--pilot-font-scale,1)) minmax(0,1fr)}
.essential-pair[data-values="true"]>div{grid-template-columns:calc(117px * var(--pilot-font-scale,1)) minmax(0,1fr) max-content}
.essential-pair strong{font:inherit;color:var(--text);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.weekly-clients{min-width:0;margin-bottom:22px}
.weekly-client-metrics{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px}
.weekly-client-metric{min-width:0}
.weekly-client-metric+.weekly-client-metric{border-left:1px solid var(--line);padding-left:28px}
html[data-pilot="france-food"] .weekly-clients :is(h4,h5){font-size:var(--type-body);font-weight:600;line-height:1.45;margin:0 0 6px}
html[data-pilot="france-food"] .weekly-clients>h4{font-size:var(--type-heading);margin-bottom:16px}
html[data-pilot="france-food"] .weekly-clients .weekly-caption{font-size:var(--type-caption);line-height:1.65;color:var(--muted);margin:5px 0}
.weekly-client-metric .essential-big{margin-top:13px}
.weekly-coverage{padding:12px 0}
.weekly-client-distribution{border-top:1px solid var(--line);padding-top:17px;margin-top:12px}
.weekly-client-distribution .essential-basket-legend{display:flex;flex-wrap:wrap;gap:8px 22px}
.weekly-client-distribution .essential-basket-legend li{justify-content:flex-start;gap:8px}
.weekly-client-distribution .essential-basket-legend li:before{margin:0;align-self:center}
.weekly-client-distribution .essential-basket-legend span{flex:none}
.weekly-client-distribution .essential-basket-legend strong{color:inherit;font-variant-numeric:tabular-nums}
.weekly-clients [data-direction="up"]{color:var(--performance-up)}
.weekly-clients [data-direction="down"]{color:var(--performance-down)}
.weekly-client-method,.weekly-period-context{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}
html[data-pilot="france-food"] :is(.weekly-client-method,.weekly-period-context) summary{font-size:var(--type-body);line-height:1.6;cursor:pointer;color:var(--cyan);padding:4px 0}
.weekly-client-method details{margin-top:12px}
@media(max-width:800px){.essential-snapshot{grid-template-columns:1fr}.weekly-client-metrics{grid-template-columns:1fr;gap:20px}.weekly-client-metric+.weekly-client-metric{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.weekly-client-distribution .essential-basket-legend{grid-template-columns:1fr;gap:9px}.essential-pair{max-width:560px}}

/* One reading before the optional charts; desktop panels align on a single row. */
html[data-pilot="france-food"] .essential-trigger.has-reading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 15px;align-items:center}
.essential-reading{grid-column:1/-1;display:block;min-width:0;padding-top:4px;cursor:pointer}
.essential-reading-headline{display:block;font-size:var(--type-heading);line-height:1.35;font-weight:600;letter-spacing:-.015em;margin:0 0 6px;color:var(--text)}
.essential-reading-reference{display:block;color:var(--muted);font-size:var(--type-caption);line-height:1.6}
.essential-reading-list{display:grid;grid-template-columns:1fr;gap:0;margin:20px 0 8px}
.essential-reading-item{display:grid;grid-template-columns:calc(138px * var(--pilot-font-scale,1)) minmax(0,1fr);gap:12px 22px;min-width:0;padding:17px 0;border-top:1px solid var(--line)}
.essential-reading-item>strong{font-size:var(--type-body);font-weight:600;color:var(--text);line-height:1.6}
.essential-reading-item>.reading-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;font-size:var(--type-body);color:var(--muted);line-height:1.65;min-width:0}
.reading-line{display:block;min-width:0}.reading-line strong{font-weight:600;font-variant-numeric:tabular-nums}
.reading-note{grid-column:1/-1;font-size:var(--type-caption);line-height:1.65}
html[data-pilot="france-food"] .reading-fragment[data-tone="positive"]{color:var(--performance-up)}
html[data-pilot="france-food"] .reading-fragment[data-tone="negative"]{color:var(--performance-down)}
html[data-pilot="france-food"] .reading-fragment[data-tone] .evolution-value{color:inherit}
.essential-basket-legend li[data-direction="up"] strong{color:var(--performance-up)}
.essential-basket-legend li[data-direction="down"] strong{color:var(--performance-down)}
.essential-reading-more{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding-top:15px;border-top:1px solid var(--line);font-size:var(--type-body);font-weight:600;color:var(--cyan)}
.essential-reading-more>span{font-weight:400;font-size:var(--type-caption);color:var(--muted)}
/* Reveal the existing reading once, with stable line wrapping and no replay control. */















.weekly-assortment{padding:10px 12px;margin:13px 0 9px;border-radius:7px;border:1px solid color-mix(in srgb,var(--cyan) 22%,var(--line));background:color-mix(in srgb,var(--cyan) 4%,var(--surface))}
.weekly-assortment-label{display:block;color:var(--cyan);font-size:var(--type-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.weekly-assortment>p{margin:5px 0;font-size:var(--type-caption);line-height:1.5;color:var(--text)}
.weekly-assortment strong{font-size:var(--type-heading);color:var(--text)}
.weekly-assortment-ratio{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.weekly-assortment-ratio>strong{display:block;font-size:var(--type-value);margin:5px 0;font-variant-numeric:tabular-nums}
.weekly-clients[data-compact="true"] .weekly-client-metrics{grid-template-columns:1fr;gap:16px}
.weekly-clients[data-compact="true"] .weekly-client-metric+.weekly-client-metric{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}
.weekly-clients[data-compact="true"] .weekly-client-metric .essential-big{font-size:var(--type-value);margin-top:7px}
.weekly-clients[data-compact="true"] .essential-pair{margin:12px 0}
.weekly-clients[data-compact="true"] .weekly-caption{font-size:var(--type-caption)}
.weekly-clients[data-compact="true"] .weekly-coverage{padding:3px 0}
@media(min-width:1101px){.essential-tile+.essential-tile{border-left:1px solid var(--line);border-top:0;padding:0 0 4px 24px}}
@media(max-width:1100px){.essential-snapshot{grid-template-columns:1fr}.essential-tile+.essential-tile{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.weekly-clients[data-compact="true"] .weekly-client-metrics{grid-template-columns:1fr 1fr;gap:24px}.weekly-clients[data-compact="true"] .weekly-client-metric+.weekly-client-metric{border-top:0;border-left:1px solid var(--line);padding:0 0 0 24px}}
@media(max-width:900px){.essential-reading-item{grid-template-columns:1fr;gap:8px}.essential-reading-item>strong{color:var(--cyan)}}
@media(max-width:650px){.essential-reading-item>.reading-lines{grid-template-columns:1fr;gap:9px}.essential-reading-headline{font-size:var(--type-heading)}.weekly-clients[data-compact="true"] .weekly-client-metrics{grid-template-columns:1fr}.weekly-clients[data-compact="true"] .weekly-client-metric+.weekly-client-metric{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.weekly-client-distribution .essential-basket-legend{flex-direction:column}}

/* Common type roles for the application and sign-in screen.
   Brand lettering, icons and Aa samples intentionally keep their own geometry. */
html:is([data-pilot="france-food"],[data-pilot-login]) body{
  font-family:var(--type-family);font-size:var(--type-body);font-weight:400;line-height:1.5;
}
html:is([data-pilot="france-food"],[data-pilot-login]) :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,svg text){font-family:var(--type-family)}
html:is([data-pilot="france-food"],[data-pilot-login]) :is(h1,h2,h3,h4,h5,h6,strong,b,th){font-weight:600}
html:is([data-pilot="france-food"],[data-pilot-login]) :is(h1,h2,h3,h4,h5,h6){line-height:1.35;letter-spacing:-.015em}
html:is([data-pilot="france-food"],[data-pilot-login]) :is(button,input,select,textarea){font-size:var(--type-body)}



html[data-pilot="france-food"] :is(.icon-button,.mobile-menu,.sidebar-close){font-size:20px}
html[data-pilot="france-food"] :is(.metric-title,.client-cohort-title,.weekly-assortment-label){font-size:var(--type-body);font-weight:600}
html[data-pilot="france-food"] #metrics .metric-compared dd{font-size:var(--type-display);font-family:var(--type-family);font-weight:600;letter-spacing:-.025em}
html[data-pilot="france-food"] #metrics .metric-compared small.comparison-prior{font-size:var(--type-body);line-height:1.5}
html[data-pilot="france-food"] :is(.essential-big,.weekly-clients[data-compact="true"] .weekly-client-metric .essential-big){font-size:var(--type-display);font-weight:600}
html[data-pilot="france-food"] :is(.essential-reading-item>.reading-lines,.reading-note,.essential-reading-more>span,.weekly-caption,.weekly-assortment>p){font-size:var(--type-body);line-height:1.6}
html[data-pilot="france-food"] :is(.reading-line,.reading-fragment,.reading-note,.reading-line strong){font-size:inherit;line-height:inherit}
html[data-pilot="france-food"] .essential-reading-item>strong{font-size:var(--type-body);font-weight:600;line-height:1.6}
html[data-pilot="france-food"] .essential-reading-headline{font-size:var(--type-heading);font-weight:600;line-height:1.35}
html[data-pilot="france-food"] :is(.essential-reading-reference,.essential-view-context,.client-waterfall-caption,.essential-pair,.business-detail-context){font-size:var(--type-caption);line-height:1.5}
html[data-pilot="france-food"] .business-brief :is(p,.weekly-caption,.margin-focus-reference,.margin-focus-notes p,.client-evolution details p){font-size:var(--type-body);line-height:1.6}
html[data-pilot="france-food"] .business-brief :is(.brief-caption,.brief-eyebrow,.client-waterfall-unit){font-size:var(--type-caption)}
html[data-pilot="france-food"] :is(.chart-values table,.business-detail-table,.row-analysis-numbers table){font-size:var(--type-body)}
html[data-pilot="france-food"] :is(.chart-values,.business-detail-table,.row-analysis-numbers) :is(th,td,button){font-size:inherit}
html[data-pilot="france-food"] svg text{font-size:var(--type-caption)}
html[data-pilot-login] :is(h1,h2){font-size:var(--type-display)}
html[data-pilot-login] :is(p,label,.login-form,.auth-note,.form-note){font-size:var(--type-body);line-height:1.6}



/* The page background stays fixed. Only this transparent, soft-edged light moves. */
html[data-pilot="france-food"] body{isolation:isolate}
html[data-pilot="france-food"] .ambient-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
html[data-pilot="france-food"] .ambient-background::before{content:'';position:absolute;left:60%;top:25%;width:110vmax;height:110vmax;background:radial-gradient(circle closest-side,#8ccbd980 0%,#8ccbd929 38%,#8ccbd900 72%);opacity:.75;transform:translate3d(-50%,-50%,0);animation:lynova-ambient-drift 28s ease-in-out infinite alternate}
html[data-pilot="france-food"][data-theme="dark"] .ambient-background::before{background:radial-gradient(circle closest-side,#23869e70 0%,#23869e24 38%,#23869e00 72%)}
@keyframes lynova-ambient-drift{0%{transform:translate3d(calc(-50% + 18vw),calc(-50% - 10vh),0)}50%{transform:translate3d(-50%,calc(-50% + 20vh),0)}100%{transform:translate3d(calc(-50% - 28vw),calc(-50% + 5vh),0)}}

/* Card hover is decorative: no pointer cursor or new click behaviour. */
html[data-pilot="france-food"] :is(#metrics>.metric,.essential-tile,#overview-evolution .trend-panel,#overview-rankings .distribution-panel){transition:border-color 220ms ease}
@media(hover:hover) and (pointer:fine){
 html[data-pilot="france-food"] :is(#metrics>.metric,.essential-tile,#overview-evolution .trend-panel,#overview-rankings .distribution-panel):hover{border-color:color-mix(in srgb,var(--cyan) 55%,var(--line))}
}
html[data-pilot="france-food"] :is(#metrics>.metric,.essential-tile,#overview-evolution .trend-panel,#overview-rankings .distribution-panel):focus-within{border-color:var(--cyan);box-shadow:0 0 0 1px color-mix(in srgb,var(--cyan) 25%,transparent)}

/* Two levels, three bounded topics. The weekly panel uses the full second row. */
html[data-pilot="france-food"] .essential-snapshot{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
html[data-pilot="france-food"] .essential-tile{position:relative;min-width:0;padding:22px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--cyan) 3%,var(--surface));box-shadow:0 3px 12px -8px #001c3d26}
html[data-pilot="france-food"] .essential-tile::before{content:'';position:absolute;top:-1px;left:22px;width:44px;height:3px;border-radius:0 0 3px 3px;background:var(--cyan)}
html[data-pilot="france-food"] .essential-tile[data-topic="growth"]::before{background:var(--muted)}
html[data-pilot="france-food"] .essential-tile[data-topic="basket"]{grid-column:1/-1}
html[data-pilot="france-food"] .essential-tile .essential-footnote:last-child{margin-bottom:0}
html[data-pilot="france-food"] .essential-tile .essential-pair{max-width:none}
html[data-pilot="france-food"] .essential-contribution{min-height:44px;padding:6px;border-radius:6px}
html[data-pilot="france-food"] .essential-contributions{gap:4px;margin:14px 0}
html[data-pilot="france-food"] .essential-contribution:hover:not(:disabled){background:color-mix(in srgb,var(--cyan) 5%,transparent)}
.weekly-clients[data-compact="true"]{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);column-gap:24px;margin-bottom:0}
.weekly-clients[data-compact="true"]>h3{grid-column:1/-1}
.weekly-clients[data-compact="true"] .weekly-client-metrics{grid-column:1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:0}
.weekly-clients[data-compact="true"] .weekly-client-metric+.weekly-client-metric{border-top:0;border-left:1px solid var(--line);padding:0 0 0 22px}
.weekly-clients[data-compact="true"]>.weekly-assortment{grid-column:2;grid-row:2/5;align-self:start;margin:0;padding:16px}
.weekly-clients[data-compact="true"]>.weekly-coverage{grid-column:1;grid-row:3;padding:8px 0 0}
.weekly-clients[data-compact="true"]>.weekly-client-distribution{grid-column:1;grid-row:4;align-self:start;margin-top:8px;padding-top:12px}
.weekly-clients[data-compact="true"]>.weekly-caption:not(.weekly-coverage),.weekly-clients[data-compact="true"]>.weekly-client-method{grid-column:1/-1}
.weekly-clients[data-compact="true"] .essential-basket-legend{gap:8px 18px;margin-bottom:0}
.weekly-clients[data-compact="true"] .weekly-client-method{margin-top:14px;padding-top:10px}
.essential-tile .weekly-period-context{margin-top:10px;padding-top:10px}
@media(max-width:1200px){
 .weekly-clients[data-compact="true"]{grid-template-columns:minmax(0,1fr)}
 .weekly-clients[data-compact="true"]>.weekly-assortment{grid-column:1;grid-row:5;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin-top:16px}
 .weekly-clients[data-compact="true"]>.weekly-assortment>:not(.weekly-assortment-ratio){grid-column:1}
 .weekly-clients[data-compact="true"]>.weekly-assortment>.weekly-assortment-ratio{grid-column:2;grid-row:1/5;border-top:0;border-left:1px solid var(--line);margin:0;padding:0 0 0 24px}
}
@media(max-width:800px){
 html[data-pilot="france-food"] .essential-snapshot{grid-template-columns:minmax(0,1fr);gap:14px}
 html[data-pilot="france-food"] .essential-tile{padding:18px}
}
@media(max-width:650px){
 html[data-pilot="france-food"] .essential-tile{padding:16px}
 .weekly-clients[data-compact="true"] .weekly-client-metrics{grid-template-columns:minmax(0,1fr);gap:18px}
 .weekly-clients[data-compact="true"] .weekly-client-metric+.weekly-client-metric{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}
 .weekly-clients[data-compact="true"]>.weekly-assortment{display:block;padding:12px}
 .weekly-clients[data-compact="true"]>.weekly-assortment>.weekly-assortment-ratio{border-left:0;border-top:1px solid var(--line);padding:12px 0 0;margin-top:12px}
}
@media(hover:none),(pointer:coarse){html[data-pilot="france-food"] .ambient-background::before{animation-duration:40s}}
@media(prefers-reduced-motion:reduce){
 html[data-pilot="france-food"] .ambient-background::before{animation:none;transform:none;opacity:0}
 html[data-pilot="france-food"] :is(#metrics>.metric,.essential-tile,#overview-evolution .trend-panel,#overview-rankings .distribution-panel){transition:none;transform:none!important}
}


/* UI/UX Pro Max — a clearer hierarchy, with every existing control retained.
   Reversible checkpoint: .local/backups/ui-before-pro-max-20260920. */
html[data-pilot="france-food"]{--ui-radius:12px;--ui-space:24px;--ui-soft:color-mix(in srgb,var(--cyan) 3%,var(--surface));--ui-hover:color-mix(in srgb,var(--cyan) 6%,var(--surface))}
html[data-pilot="france-food"][data-theme="light"]{--bg:#f3f7f9;--surface:#fff;--text:#183342;--muted:#536c7b;--line:#d8e3e9;--cyan:#087e91}
html[data-pilot="france-food"][data-theme="dark"]{--bg:#0d1923;--surface:#172936;--text:#edf4fa;--muted:#b1c2cf;--line:#344b59;--cyan:#37cee5}
html[data-pilot="france-food"] .sidebar{background:color-mix(in srgb,var(--bg) 72%,var(--surface));border-right:1px solid var(--line);padding-top:28px}
html[data-pilot="france-food"] .sidebar :is(.company-select,.sidebar-bottom select){background:var(--surface);color:var(--text);border-color:var(--line)}
html[data-pilot="france-food"] .sidebar :is(.sidebar-tag,.company-label,.sidebar-bottom p,.sidebar-help,.preview-badge){color:var(--muted)}
html[data-pilot="france-food"] .sidebar .logo{color:var(--text)}
html[data-pilot="france-food"] .main-nav{margin-top:28px;gap:8px}
html[data-pilot="france-food"] .main-nav a{color:var(--muted);padding:12px;border-radius:9px;font-weight:500}
html[data-pilot="france-food"] .main-nav a[aria-current="page"]{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,var(--surface));box-shadow:inset 2px 0 0 var(--cyan)}
html[data-pilot="france-food"] .main-nav a:hover{background:var(--ui-hover);color:var(--text)}
html[data-pilot="france-food"] .workspace-header{height:68px;padding-inline:32px;background:var(--surface)}
html[data-pilot="france-food"] .header-right{gap:12px}
html[data-pilot="france-food"] main{max-width:1440px;padding:28px 32px 0}
html[data-pilot="france-food"] .page-heading{margin-bottom:24px}
html[data-pilot="france-food"] .page-description{margin-top:8px;line-height:1.5}
html[data-pilot="france-food"] .overview-greeting{font-size:var(--type-body);font-weight:500;color:var(--muted);margin:0 0 6px}
html[data-pilot="france-food"] .eyebrow{margin-bottom:6px;letter-spacing:.12em}
html[data-pilot="france-food"] .page-introduction>:is(.eyebrow,.overview-greeting){display:inline-block;margin:0 12px 8px 0}
html[data-pilot="france-food"] :is(.filter-card,.panel,.overview-section-fold,.guided-summary,.result-cards-editor){border-radius:var(--ui-radius)}
html[data-pilot="france-food"] :is(button,select,input){scroll-margin-block:24px}
html[data-pilot="france-food"] :is(button,summary,a,select,input):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
html[data-pilot="france-food"] :is(.secondary-button,.theme-toggle,.period-button,.segmented-control,.margin-toggle){border-color:var(--line)}
html[data-pilot="france-food"] .secondary-button:hover{background:var(--ui-hover);border-color:var(--cyan)}

html[data-pilot="france-food"] .sidebar .wordmark{color:var(--text)}
html[data-pilot="france-food"] .workspace-header{border-bottom-color:var(--line)}

/* The weather stays close to the period, without taking the headline's space. */
html[data-pilot="france-food"][data-view="overview"] .page-heading-with-weather,
html[data-pilot="france-food"][data-view="overview"] .page-heading-with-weather:has(.page-weather:not([hidden])){grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center}
html[data-pilot="france-food"] .overview-weather-fold{min-width:0;max-width:100%;align-self:center;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
html[data-pilot="france-food"] .overview-weather-fold>summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 14px;min-height:44px;list-style:none;cursor:pointer;color:var(--text);font-size:var(--type-caption);font-weight:500}
html[data-pilot="france-food"] .overview-weather-fold>summary::-webkit-details-marker{display:none}
html[data-pilot="france-food"] .overview-weather-fold>summary::after{content:'⌄';color:var(--cyan);margin-left:auto;padding-left:8px;font-size:18px;line-height:1}
html[data-pilot="france-food"] .overview-weather-fold[open]>summary::after{transform:rotate(180deg)}
html[data-pilot="france-food"] .overview-weather-fold>summary>svg{color:var(--cyan);width:18px;height:18px;flex-shrink:0}
html[data-pilot="france-food"] .weather-fold-reference{color:var(--muted);font-weight:400}
html[data-pilot="france-food"] .overview-weather-fold[open]{grid-column:1/-1;width:100%}
html[data-pilot="france-food"] .overview-weather-fold[open]>summary{border-bottom:1px solid var(--line)}
html[data-pilot="france-food"] .overview-weather-fold .activity-weather{border:0;border-radius:0 0 10px 10px;background:transparent;padding:16px 18px}
html[data-pilot="france-food"] .overview-weather-fold .page-weather{width:100%}
html[data-pilot="france-food"][data-view="overview"] .filter-card{padding:12px 14px;background:var(--surface)}
html[data-pilot="france-food"][data-view="overview"] .filter-row{gap:10px;min-height:44px}
html[data-pilot="france-food"][data-view="overview"] .filter-row>#margin-choice{margin-left:auto;gap:10px}
html[data-pilot="france-food"][data-view="overview"] .data-line{margin:10px 2px 16px;line-height:1.5}
html[data-pilot="france-food"][data-view="overview"] .coverage{margin-bottom:16px}
html[data-pilot="france-food"][data-view="overview"] .metrics-heading{margin-bottom:12px;gap:12px}
html[data-pilot="france-food"][data-view="overview"] .metrics-heading h2{font-size:var(--type-heading)}

/* Positional emphasis respects the user's order, chosen indicators and values. */
html[data-pilot="france-food"][data-view="overview"] #metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric{border-radius:var(--ui-radius);padding:18px 20px;background:var(--surface);box-shadow:none;min-width:0}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric dt{font-size:var(--type-body);color:var(--muted);font-weight:500;min-height:0}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric dd{font-size:var(--type-display);line-height:1.25;margin:12px 0 6px;letter-spacing:-.025em}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric .comparison-prior{color:var(--muted);font-size:var(--type-body);line-height:1.5;margin-bottom:10px}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric>.metric-change{margin-top:auto;padding-top:12px;gap:8px 12px;min-height:44px}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric .change-badge{border-radius:5px;padding:3px 6px}
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:baseline;padding:12px 16px;background:color-mix(in srgb,var(--surface) 50%,transparent);border-radius:8px;border-color:transparent;border-left-color:var(--line)}
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"] dt{display:block;grid-column:1}
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"] dd{grid-column:2;font-size:var(--type-heading);margin:0;text-align:right}
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"]>:is(.comparison-prior,.metric-change,.credit-context,.metric-definition){grid-column:1/-1;margin:0}
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"]>.metric-change{border-top:0;padding-top:2px;min-height:0}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric:hover{border-color:color-mix(in srgb,var(--cyan) 65%,var(--line));transform:none}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric:focus-within{border-color:var(--cyan)}
html[data-pilot="france-food"][data-view="overview"] #metrics[data-editing="true"]{gap:16px}
html[data-pilot="france-food"] .result-card-controls select{min-height:44px}
html[data-pilot="france-food"] .cards-help{line-height:1.6;max-width:80ch}

/* Four complete reading sections, followed by the existing visual/detail views. */
html[data-pilot="france-food"] #period-essential{border:1px solid var(--line);border-left:3px solid var(--cyan);background:var(--surface);box-shadow:none;margin-bottom:24px}
html[data-pilot="france-food"] #period-essential>.essential-trigger{padding:20px 24px;gap:12px;min-height:72px}
html[data-pilot="france-food"] .essential-symbol{background:var(--ui-soft);border-color:var(--line);width:36px;height:36px;border-radius:9px}
html[data-pilot="france-food"] .essential-subtitle{margin-top:4px;color:var(--muted)}
html[data-pilot="france-food"] .essential-reading-headline{font-size:var(--type-heading);line-height:1.4;max-width:72ch}
html[data-pilot="france-food"] .essential-reading-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:18px 0 12px}
html[data-pilot="france-food"] .essential-reading-item{display:block;padding:16px 0;border-top:1px solid var(--line)}
html[data-pilot="france-food"] .essential-reading-item>strong{display:block;color:var(--text);margin-bottom:8px}
html[data-pilot="france-food"] .essential-reading-item>.reading-lines{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;color:var(--muted);line-height:1.6}
html[data-pilot="france-food"] .essential-reading-more{padding-top:14px;min-height:44px}

html[data-pilot="france-food"] .essential-content{padding:0 24px 24px}
html[data-pilot="france-food"] .essential-view-toolbar{margin-bottom:20px;padding-top:4px}
html[data-pilot="france-food"] .essential-tile{background:var(--ui-soft);box-shadow:none;padding:22px;border-radius:var(--ui-radius)}
html[data-pilot="france-food"] .essential-tile::before{display:none}

/* All five charts, forecasts, rankings and drill-downs retain their own controls. */
html[data-pilot="france-food"][data-view="overview"] .overview-section-fold{background:transparent;border:0;border-radius:0;margin:0 0 24px}
html[data-pilot="france-food"][data-view="overview"] .overview-section-fold>summary{padding:12px 0 16px;min-height:52px;flex-wrap:wrap;gap:6px 14px;border-top:1px solid var(--line)}
html[data-pilot="france-food"][data-view="overview"] .overview-section-content{padding:0}
html[data-pilot="france-food"][data-view="overview"] .overview-section-title{font-size:var(--type-heading)}
html[data-pilot="france-food"][data-view="overview"] .forecast-heading{margin:0 0 14px;gap:12px;flex-wrap:wrap}
html[data-pilot="france-food"] :is(.trend-panel,.distribution-panel){border-radius:var(--ui-radius);background:var(--surface);box-shadow:none}
html[data-pilot="france-food"] .panel-heading{padding:20px 20px 12px}
html[data-pilot="france-food"] .panel-heading h2{font-size:var(--type-heading)}
html[data-pilot="france-food"] .panel-heading p{line-height:1.5}
html[data-pilot="france-food"] .detailed-toolbar{gap:12px}
html[data-pilot="france-food"] :is(.business-detail-dialog){border-radius:16px}
html[data-pilot="france-food"] .workspace-footer{margin-top:8px;padding-block:24px;border-top:1px solid var(--line)}

@media(min-width:761px){
 html[data-pilot="france-food"] .sidebar{width:216px;padding-inline:16px}
 html[data-pilot="france-food"] .workspace-shell{margin-left:216px}
}
@media(min-width:761px) and (max-width:1150px){
 html[data-pilot="france-food"] main{padding-inline:24px}
 html[data-pilot="france-food"][data-view="overview"] #metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-pilot="france-food"] .essential-reading-list{grid-template-columns:1fr}
 html[data-pilot="france-food"][data-view="overview"] .page-heading-with-weather,
 html[data-pilot="france-food"][data-view="overview"] .page-heading-with-weather:has(.page-weather:not([hidden])){grid-template-columns:minmax(0,1fr)}
 html[data-pilot="france-food"] .overview-weather-fold{justify-self:start}
}
@media(max-width:760px){
 html[data-pilot="france-food"] main{padding:22px 18px 0}
 html[data-pilot="france-food"] .workspace-header{padding-inline:16px;height:auto;min-height:64px;gap:12px;flex-wrap:wrap;padding-block:10px}
 html[data-pilot="france-food"] .header-right{gap:8px}
 html[data-pilot="france-food"] .workspace-shell{margin-left:0}
 html[data-pilot="france-food"][data-view="overview"] .page-heading-with-weather,
 html[data-pilot="france-food"][data-view="overview"] .page-heading-with-weather:has(.page-weather:not([hidden])){grid-template-columns:minmax(0,1fr)}
 html[data-pilot="france-food"] .overview-weather-fold{justify-self:start}
 html[data-pilot="france-food"][data-view="overview"] #metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[data-pilot="france-food"][data-view="overview"] #metrics>.metric{padding:16px}
 html[data-pilot="france-food"][data-view="overview"] #metrics>.metric dd{font-size:var(--type-value)}
 html[data-pilot="france-food"] .essential-reading-list{grid-template-columns:1fr;gap:0}
 html[data-pilot="france-food"] #period-essential>.essential-trigger{padding:16px}
 html[data-pilot="france-food"] .essential-content{padding:0 16px 18px}
 html[data-pilot="france-food"] .essential-tile{padding:16px}
 html[data-pilot="france-food"] .overview-section-hint{display:block;flex-basis:80%}
}
@media(max-width:520px){
 html[data-pilot="france-food"] main{padding-inline:14px}
 html[data-pilot="france-food"][data-view="overview"] #metrics{grid-template-columns:minmax(0,1fr);gap:10px}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:baseline;padding:14px 16px}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric dt{grid-column:1;display:block;min-height:0}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric dd{grid-column:2;margin:0;font-size:var(--type-value);text-align:right;white-space:normal;max-width:100%}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric>:is(.comparison-prior,.metric-change,.credit-context,.metric-definition){grid-column:1/-1}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric>.metric-change{margin-top:2px;padding-top:8px;min-height:0}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"] dd{font-size:var(--type-heading)}
 html[data-pilot="france-food"] .metrics-actions{gap:8px}
 html[data-pilot="france-food"] .metrics-actions>button{flex:1 1 auto}
 html[data-pilot="france-food"][data-view="overview"] .filter-row>#margin-choice{margin:6px 0 0;width:100%;justify-content:space-between}
 html[data-pilot="france-food"] .overview-weather-fold>summary{padding:10px 12px}
 html[data-pilot="france-food"] .overview-weather-fold .activity-weather{padding:14px}
}
@media(prefers-reduced-motion:reduce){html[data-pilot="france-food"] :is(.metric,.overview-weather-fold,.trend-panel,.distribution-panel){transition:none}}
/* Growth tools inherit the approved palette, type scale and stationary hover. */
.growth-workspace{margin:0 0 24px;padding:22px;border:1px solid var(--line);border-radius:var(--ui-radius,12px);background:var(--surface);color:var(--text);font:var(--type-body) var(--type-family);min-width:0;line-height:1.55}
.growth-workspace[hidden]{display:none}
.growth-workspace :is(h3,h4,p){margin:0 0 12px;overflow-wrap:anywhere}
.growth-workspace h3{font-size:var(--type-heading);font-weight:600;line-height:1.35}
.growth-workspace h4{font-size:var(--type-body);font-weight:600;margin-top:20px}
.growth-workspace .growth-muted{color:var(--muted);font-size:var(--type-caption)}
.growth-toolbar,.growth-panel-heading,.growth-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.growth-toolbar{margin-top:16px}
.growth-workspace>.growth-toolbar:first-child{margin-top:0}
.growth-workspace button{font:inherit;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transform:none!important;transition:border-color 160ms ease,background-color 160ms ease}
.growth-workspace .secondary-button{padding:9px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--text);box-shadow:none}
.growth-workspace button:hover{border-color:var(--cyan)}
.growth-workspace button[aria-expanded="true"],.growth-workspace button[aria-pressed="true"]{background:var(--ui-soft);border-color:var(--cyan);color:var(--cyan)}
.growth-workspace :focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.growth-workspace button:disabled{opacity:.55;cursor:default}
.growth-status:empty{display:none}.growth-status{margin-top:12px!important;color:var(--cyan)}
.growth-terrain{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.growth-workspace summary{min-height:44px;cursor:pointer;padding:10px 0;font-weight:600}
.growth-terrain>button{margin:10px 10px 0 0}.growth-terrain>label{max-width:700px}
.growth-workspace label{display:grid;gap:7px;margin:12px 0;font-size:var(--type-body);font-weight:500;min-width:0}
.growth-workspace :is(input,select,textarea){box-sizing:border-box;min-width:0;width:100%;max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:9px 11px;background:var(--bg);color:var(--text);font:inherit;caret-color:var(--cyan)}
.growth-workspace textarea{resize:vertical}
.growth-panel{margin-top:20px;border-top:1px solid var(--line);padding-top:20px;min-width:0}
.growth-panel-heading{justify-content:space-between;gap:16px;margin-bottom:10px}.growth-panel-heading h3{margin:0}
.growth-evidence{margin:0 0 18px}.growth-evidence summary{color:var(--muted);font-size:var(--type-caption);font-weight:400}
.growth-evidence p{font-size:var(--type-caption);max-width:85ch}
.growth-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:22px 0}
.growth-scenarios fieldset{border:0;margin:0;padding:0;min-width:0}.growth-scenarios legend{font-weight:600;color:var(--cyan)}
.growth-table-scroll{overflow:auto;max-width:100%;margin:16px 0 20px}
.growth-workspace table{width:100%;border-collapse:collapse;font:inherit;font-variant-numeric:tabular-nums}
.growth-workspace th,.growth-workspace td{padding:12px;text-align:right;border-bottom:1px solid var(--line);font-size:var(--type-body);line-height:1.45;white-space:normal;min-width:100px;background:transparent;color:var(--text)}
.growth-workspace th:first-child,.growth-workspace td:first-child{text-align:left;min-width:140px}.growth-workspace thead th{font-size:var(--type-caption);font-weight:500;color:var(--muted)}
.growth-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;max-width:900px;margin-top:20px}.growth-form h4{grid-column:1/-1}.growth-form button{justify-self:start;margin-top:12px}
.growth-action{border-top:1px solid var(--line);padding:10px 0}.growth-action>label{max-width:600px}.growth-action>button{margin:8px 12px 8px 0}
.growth-empty{padding:24px 0;color:var(--muted)}
.growth-breadcrumbs{margin-bottom:18px}.growth-breadcrumbs button:last-child{border-color:var(--cyan)}
.growth-contribution{display:block;position:relative;width:100%;text-align:left;margin:8px 0;padding-bottom:14px!important;overflow:hidden}
.growth-bar{position:absolute;height:3px;bottom:0;left:0;background:var(--cyan)}
.growth-answer{margin-top:20px}.growth-meeting{padding:24px 0}.growth-meeting h3{font-size:var(--type-value);margin:28px 0 18px}.growth-meeting table{margin:28px 0}
.growth-chart{margin:24px 0;min-width:0}.growth-chart figcaption{font-weight:600;margin-bottom:14px}.growth-chart-row{margin:14px 0}.growth-chart-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:var(--type-body);font-variant-numeric:tabular-nums}.growth-chart-label strong{font-weight:600}.growth-chart-track{height:12px;position:relative;margin-top:6px;background:var(--ui-soft);border-radius:2px}.growth-chart-zero{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--muted)}.growth-chart-bar{position:absolute;top:0;bottom:0;background:var(--cyan);border-radius:2px}.growth-chart-bar[data-style="reference"]{background:var(--muted)}.growth-chart-bar[data-style="target"]{background:transparent;border:2px solid var(--cyan);box-sizing:border-box}.growth-chart-bar[data-sign="negative"]{background:var(--performance-down)}.growth-timeline svg{width:100%;height:auto;display:block;overflow:visible}.growth-timeline-zero{stroke:var(--line);stroke-width:1}.growth-timeline-current{stroke:var(--cyan);fill:var(--cyan);stroke-width:2}.growth-timeline-prior{stroke:var(--muted);fill:var(--muted);stroke-width:2;stroke-dasharray:6 4}
@media(min-width:1100px){.growth-workspace:has(.growth-panel):not(:has(.growth-meeting)){display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,1.5fr);column-gap:28px;align-items:start}.growth-workspace>.growth-panel:not(.growth-meeting){grid-column:2;grid-row:1/5;border-top:0;border-left:1px solid var(--line);padding:0 0 0 28px;margin-top:0}.growth-workspace>.growth-terrain,.growth-workspace>.growth-toolbar,.growth-workspace>.growth-status{grid-column:1}.growth-panel .growth-toolbar{margin-top:12px}}
@media(max-width:600px){.growth-workspace{padding:16px}.growth-scenarios{grid-template-columns:1fr;gap:18px}.growth-form{grid-template-columns:1fr}.growth-toolbar{gap:8px}.growth-toolbar>button{flex:1 1 auto}.growth-workspace th,.growth-workspace td{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){.growth-workspace button{transition:none}}

/* A short diagnosis comes first; the complete reference reading stays expandable. */
html[data-pilot="france-food"] .health-reading{position:relative;padding-top:0}
html[data-pilot="france-food"] .health-reading .essential-reading-headline{max-width:75ch}
.health-points{display:block;margin:18px 0 0}
.health-point{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(0,2fr);gap:16px 28px;padding:16px 0;border-top:1px solid var(--line);min-width:0}
.health-point-heading{display:block;min-width:0}
.health-point-label{display:block;font-size:var(--type-caption);font-weight:400;line-height:1.5;color:var(--muted);margin-bottom:4px}
.health-point-title{display:block;font-size:var(--type-body);font-weight:600;line-height:1.5;color:var(--text);text-wrap:pretty}
.health-point>.reading-lines{display:block;min-width:0;max-width:75ch;font-size:var(--type-body);font-weight:400;line-height:1.6;color:var(--text)}
.health-next-steps{margin-bottom:24px}.health-next-steps:empty{display:none}.health-next-steps h3{font-size:var(--type-body);margin:0 0 10px}.health-next-steps ul{padding-left:20px;margin:0;display:grid;gap:6px;font-size:var(--type-body);line-height:1.6;color:var(--muted)}.health-next-steps strong{color:var(--text);font-weight:600}
html[data-pilot="france-food"] .health-reading .essential-reading-more{padding-right:140px;min-height:54px}



.essential-references,.health-method{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.essential-references>summary,.health-method>summary{cursor:pointer;min-height:44px;align-content:center;font-size:var(--type-body);color:var(--text);font-weight:500}
.row-analysis-page .row-analysis-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin:0 0 10px}
.row-analysis-page .row-analysis-heading>button{order:2}
.row-analysis-page .row-analysis-heading h1{margin:0;font-size:var(--type-display)}
.row-analysis-page .row-analysis-path{margin:0 0 14px;font-size:var(--type-body)}
.dossier-context-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 28px;min-width:0}
.dossier-periods{min-width:0;flex:1;color:var(--muted);font-size:var(--type-body)}
.dossier-periods summary{cursor:pointer;min-height:44px;align-content:center;color:var(--text)}
.dossier-periods p{line-height:1.6;overflow-wrap:anywhere;max-width:85ch}
.dossier-context-controls>.segmented-control{flex-shrink:0}
.row-dossier{font:var(--type-body)/1.6 var(--type-family);color:var(--text)}
.row-dossier h2{font-size:var(--type-value);line-height:1.35;margin:0 0 12px;font-weight:600;text-wrap:balance}
.row-dossier h3{font-size:var(--type-body);line-height:1.5;margin:0 0 8px;font-weight:600;text-wrap:pretty}
.row-dossier p{margin:0 0 12px;overflow-wrap:anywhere}
.dossier-summary{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--ui-radius)}
.dossier-summary>h2{font-size:var(--type-value);max-width:54ch}
.dossier-lead{max-width:80ch;color:var(--muted)}
.dossier-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 0;gap:20px;font-variant-numeric:tabular-nums}
.dossier-metrics>div{min-width:0;padding-top:16px;border-top:1px solid var(--line)}
.dossier-metrics dt{font-weight:500;color:var(--muted);line-height:1.4}
.dossier-metrics dd{margin:8px 0 0;overflow-wrap:anywhere}
.dossier-current{font-size:var(--type-value);font-weight:600;line-height:1.3}
.dossier-change{font-weight:600;font-size:var(--type-body);line-height:1.45}
.dossier-reference{color:var(--muted);font-size:var(--type-body);line-height:1.5}
.dossier-metrics .dossier-mini-bars{display:grid;gap:5px;margin-top:14px}
.dossier-mini-track{display:block;position:relative;height:6px;background:var(--ui-soft);border-radius:2px}
.dossier-mini-fill{position:absolute;height:100%;background:var(--cyan);border-radius:2px}
.dossier-mini-fill.prior{background:var(--muted)}
.dossier-mini-track.missing{background:transparent;border-bottom:1px dashed var(--line)}
.row-dossier [data-direction="up"]{color:var(--performance-up)}
.row-dossier [data-direction="down"]{color:var(--performance-down)}
.dossier-priorities{margin:32px 0 40px}
.dossier-priorities>ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:18px 0 12px;gap:28px}
.dossier-priorities li{min-width:0;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.dossier-priorities li>p{color:var(--muted);max-width:65ch}
.dossier-priorities .dossier-proof{color:var(--text);font-weight:500}
.dossier-priorities li>.dossier-text-button{margin-top:auto}
.dossier-note{font-size:var(--type-body);color:var(--muted);line-height:1.6;max-width:85ch}
.dossier-text-button{border:0;background:transparent;color:var(--cyan);text-align:left;font:600 var(--type-body)/1.5 var(--type-family);min-height:44px;padding:8px 0;cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px;text-decoration-color:transparent}
.dossier-text-button:hover{text-decoration-color:currentColor}
.row-dossier :is(button,input,summary):focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.dossier-axis-section{border:1px solid var(--line);border-radius:var(--ui-radius);padding:28px;background:var(--surface);scroll-margin-top:24px}
.dossier-axis-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0}
.dossier-axis-tabs{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.dossier-axis-tabs button{font:600 var(--type-body)/1.4 var(--type-family);background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:10px 14px;min-height:44px;cursor:pointer;white-space:normal}
.dossier-axis-tabs button:hover{border-color:var(--cyan);color:var(--text)}
.dossier-axis-tabs button[aria-pressed="true"]{background:var(--ui-soft);border-color:var(--cyan);color:var(--cyan)}
.dossier-equation{display:flex;flex-wrap:wrap;gap:24px 44px;padding:18px 0;border-block:1px solid var(--line);margin:0 0 12px;font-variant-numeric:tabular-nums}
.dossier-equation>div{display:grid;gap:4px;min-width:0}
.dossier-equation span{color:var(--muted);font-size:var(--type-body)}
.dossier-equation strong{font-size:var(--type-heading);font-weight:600}
.dossier-contribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:24px 0 18px}
.dossier-contribution-grid>section{min-width:0}
.dossier-contributor{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);padding:10px 0 12px;margin:0;font:var(--type-body)/1.5 var(--type-family);min-width:0}
button.dossier-contributor{cursor:pointer;border-radius:6px}
button.dossier-contributor:hover{background:var(--ui-soft);outline:1px solid var(--line)}
.dossier-contributor-caption{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px;font-variant-numeric:tabular-nums}
.dossier-contributor-caption>span{overflow-wrap:anywhere;min-width:0}
.dossier-contributor-caption strong{flex-shrink:0;white-space:nowrap;font-weight:600}
.dossier-bar-track{display:block;position:relative;height:12px;background:var(--ui-soft);border-radius:2px}
.dossier-bar-zero{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--muted)}
.dossier-bar-fill{position:absolute;top:0;height:100%;background:var(--performance-up);border-radius:2px}
.dossier-bar-fill[data-direction="down"]{background:var(--performance-down)}
.dossier-selected{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:30px}
.dossier-selected .dossier-metrics{margin-top:12px}
.dossier-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}
.dossier-section-heading h3{font-size:var(--type-heading);overflow-wrap:anywhere}
.dossier-empty{padding:20px 0;color:var(--muted)}
.row-dossier details>summary,.dossier-complementary>summary{font:500 var(--type-body)/1.5 var(--type-family);padding:14px 0;min-height:44px;cursor:pointer;color:var(--text)}
.dossier-all-groups{border-top:1px solid var(--line);margin-top:18px}
.dossier-search{display:grid;gap:8px;max-width:380px;margin:8px 0 20px;font-size:var(--type-body);color:var(--muted)}
.dossier-search input{font:var(--type-body)/1.5 var(--type-family);min-width:0;width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--ui-soft);color:var(--text);padding:10px 12px;box-sizing:border-box}
.dossier-search input::placeholder{color:var(--muted)}
.dossier-table-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:8px}
.dossier-table-scroll table{width:100%;border-collapse:collapse;font-size:var(--type-body);font-variant-numeric:tabular-nums}
.dossier-table-scroll :is(th,td){padding:12px 14px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-size:inherit}
.dossier-table-scroll th:first-child{min-width:220px;max-width:420px;text-align:left;white-space:normal;overflow-wrap:anywhere;font-weight:500}
.dossier-table-scroll thead th{background:var(--ui-soft);font-weight:600}
.dossier-table-scroll tbody tr:last-child>*{border-bottom:0}
.dossier-row-state{display:block;color:var(--muted);font-weight:400;font-size:var(--type-body)}
.dossier-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.row-dossier button:disabled{opacity:.5;cursor:default}
.dossier-history{margin:40px 0}
.dossier-chart-scroll{overflow-x:auto;max-width:100%;margin-top:18px}
.dossier-chart-scroll:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.dossier-history svg{display:block;width:100%;min-width:1000px;height:auto;overflow:visible}
.dossier-history svg text{font-family:var(--type-family);font-size:var(--type-body);fill:var(--muted)}
.dossier-chart-grid{stroke:var(--line);stroke-width:1}
.dossier-history-bar.current{fill:var(--cyan)}
.dossier-history-bar.prior{fill:var(--muted)}
.dossier-chart-legend{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:var(--type-body)}
.dossier-chart-legend span{display:inline-flex;align-items:center;gap:8px}
.dossier-chart-legend span:before{content:'';width:18px;height:8px;background:var(--cyan);display:inline-block}
.dossier-chart-legend .prior:before{background:var(--muted)}
.dossier-history-values,.dossier-bridge,.dossier-method,.dossier-complementary{border-top:1px solid var(--line);margin-top:18px}
.dossier-bridge .dossier-contributor{max-width:750px}
.dossier-method p{max-width:85ch;color:var(--muted);font-size:var(--type-body)}
@media(max-width:1100px){.dossier-priorities>ol{grid-template-columns:1fr;gap:18px}.dossier-priorities li{display:grid;grid-template-columns:minmax(160px,1fr) 2fr;gap:8px 24px}.dossier-priorities li>h3{grid-row:span 3}.dossier-priorities li>p{margin:0}.dossier-priorities li>.dossier-text-button{justify-self:start}.dossier-contribution-grid{gap:24px}.dossier-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dossier-context-controls{flex-direction:column;margin-bottom:22px}.dossier-summary,.dossier-axis-section{padding:20px}.dossier-priorities>ol{gap:12px}.dossier-priorities li{display:flex;gap:8px}.dossier-contribution-grid{grid-template-columns:1fr;gap:24px}.dossier-contributor-caption{flex-wrap:wrap;gap:4px 12px}.dossier-contributor-caption strong{margin-left:auto}.dossier-axis-toolbar{align-items:stretch}.dossier-axis-tabs{width:100%}.dossier-axis-tabs button{flex:1 1 auto}.dossier-axis-toolbar>.segmented-control{width:100%}.dossier-axis-toolbar>.segmented-control button{flex:1}.dossier-metrics{gap:18px 14px}.dossier-current{font-size:var(--type-heading)}.dossier-equation{gap:16px}.dossier-equation>div{flex:1 1 110px}.dossier-section-heading{align-items:flex-start;flex-direction:column}.dossier-history svg{min-height:150px}.dossier-pagination{justify-content:center}.dossier-pagination span{order:-1;width:100%;text-align:center}}
.health-method>p{max-width:85ch;color:var(--muted);font-size:var(--type-body);line-height:1.65;margin:12px 0 0}
/* Performance: immediate conclusions, proportional evidence, details on demand. */
.performance-brief{margin:22px 0 14px;padding:26px 30px;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--text);font-size:var(--type-body);line-height:1.5;font-variant-numeric:tabular-nums}
.performance-brief h2{font-size:var(--type-value);line-height:1.3;font-weight:600;margin:0 0 8px;text-wrap:balance;max-width:65ch}
.performance-reference,.performance-note{color:var(--muted);margin:6px 0 0;font-size:var(--type-body);line-height:1.5}
.performance-narrative{max-width:72ch;font-size:calc(20px * var(--pilot-font-scale,1));line-height:1.9;margin:26px 0 28px;text-wrap:pretty}
.performance-narrative strong{font-weight:600}
.performance-number{color:inherit;background:color-mix(in srgb,currentColor 10%,transparent);font-weight:700;white-space:nowrap;padding:.08em .22em;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.performance-details{margin-top:16px;padding-top:6px;border-top:1px solid var(--line)}
.performance-details>summary{cursor:pointer;min-height:48px;padding:10px 14px;margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-weight:600;border:1px solid var(--line);border-radius:8px;transition:border-color 160ms ease,background-color 160ms ease}
.performance-details>summary::-webkit-details-marker{display:none}
.performance-details>summary::after{content:'';width:8px;height:8px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 4px;transition:transform 180ms ease}
.performance-details[open]>summary::after{transform:rotate(225deg);margin-bottom:0}
.performance-details>summary:hover,.performance-details>summary:focus-visible{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 5%,var(--surface))}
.performance-details[open]>summary{margin-bottom:18px}
html[data-pilot="france-food"] .performance-details .essential-snapshot{gap:24px}
html[data-pilot="france-food"] .performance-details .essential-tile{padding:24px;transform:none}
html[data-pilot="france-food"] .performance-details .essential-tile:hover{border-color:var(--line)}
html[data-pilot="france-food"] .performance-details .essential-tile:has(:focus-visible){border-color:var(--cyan);box-shadow:none}
html[data-pilot="france-food"] .performance-details button.essential-contribution{border:1px solid transparent;padding:8px;transition:border-color 160ms ease,background-color 160ms ease;transform:none}
html[data-pilot="france-food"] .performance-details button.essential-contribution:hover:not(:disabled){border-color:var(--cyan)}
html[data-pilot="france-food"] .performance-details div.essential-contribution{cursor:default}
html[data-pilot="france-food"] .performance-details div.essential-contribution:hover{background:transparent;color:var(--text)}
.analysis-feedback{display:flex;align-items:center;gap:8px;min-height:28px;margin:8px 0 0;color:var(--muted);font-size:var(--type-caption);line-height:1.5}
.analysis-feedback[hidden]{display:none}
.analysis-feedback svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.analysis-feedback svg>*{display:none}
.analysis-feedback[data-state="pending"]{color:var(--cyan)}
.analysis-feedback[data-state="pending"] .analysis-pending-icon{display:block;stroke-dasharray:30 14;transform-origin:center;animation:analysis-feedback-spin 900ms linear infinite}
.analysis-feedback[data-state="success"] .analysis-success-icon,.analysis-feedback[data-state="error"] .analysis-error-icon{display:block}
.analysis-feedback[data-state="success"] svg{color:var(--performance-up)}
.analysis-feedback[data-state="error"]{color:var(--performance-down)}
.period-calculation{font-size:var(--type-caption);font-weight:600;color:var(--cyan)}
.period-calculation[hidden]{display:none}
html[data-pilot="france-food"] #period-toggle[data-calculation="pending"]{border-color:var(--cyan)}
@keyframes analysis-feedback-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.performance-details[open]>.essential-snapshot,.analysis-feedback[data-state="pending"] .analysis-pending-icon{animation:none}.performance-details>summary,.performance-details>summary::after,html[data-pilot="france-food"] .performance-details button.essential-contribution{transition:none}}
@media(max-width:700px){.performance-narrative{font-size:calc(18px * var(--pilot-font-scale,1));line-height:1.85;margin:22px 0}.performance-details>summary{padding:10px 12px}html[data-pilot="france-food"] .performance-details .essential-tile{padding:18px}.period-calculation{display:none}}
.performance-details .performance-detail-headline{font-size:var(--type-heading);margin:0}
.performance-reading{position:relative;min-height:2.4em;margin:6px 0 0;max-width:75ch}
.performance-reading .reading-lines{margin:0;line-height:1.6}


.performance-business{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}
.performance-business>section{min-width:0}
.performance-growth{border-left:1px solid var(--line);padding-left:36px}
.performance-brief h3{font-size:var(--type-body);font-weight:600;line-height:1.5;margin:0 0 14px}
.performance-measure+.performance-measure{margin-top:24px}
.performance-measure-heading{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:9px;flex-wrap:wrap}
.performance-brief h4{font-size:var(--type-body);font-weight:500;margin:0}
.performance-change{font-weight:600}
.performance-key-figures{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}
.performance-simple-metric{min-width:0}
.performance-simple-metric h4{font-weight:500}
.performance-simple-value{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap;margin:8px 0 3px;line-height:1.3}
.performance-simple-value>strong{font-size:var(--type-value);font-weight:600;letter-spacing:-.02em}
.performance-simple-change{font-size:var(--type-body);font-weight:600;white-space:nowrap}
.performance-before{margin:0;color:var(--muted);font-size:var(--type-body);max-width:30ch;line-height:1.5}
.performance-simple-metric .performance-note{margin-top:12px;max-width:32ch}
.performance-growth-highlights{margin-top:16px}
.performance-growth-highlight{display:grid;grid-template-columns:1fr auto;gap:2px 16px;margin:0 0 12px}
.performance-growth-highlight>span:first-child{grid-column:1/-1;color:var(--muted)}
.performance-growth-highlight>strong{white-space:nowrap;font-weight:600}
.performance-growth-details>summary{cursor:pointer;min-height:44px;align-content:center;text-decoration:underline;text-underline-offset:4px}
.performance-growth-details[open]>summary{margin-bottom:8px}
.performance-share-track{display:block;height:6px;background:var(--line);margin-top:12px;max-width:250px}
.performance-share-fill{display:block;height:100%;background:var(--cyan)}
.performance-evidence{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:20px 0}
.performance-evidence>.performance-measure{margin:0}
.performance-brief [data-tone="positive"]{color:var(--performance-up)}
.performance-brief [data-tone="negative"]{color:var(--performance-down)}
.performance-bar-row{display:grid;grid-template-columns:5.1em minmax(25px,1fr) auto;gap:10px;align-items:center;line-height:1.4;margin:7px 0}
.performance-bar-row>span:first-child{color:var(--muted)}
.performance-bar-row>strong{font-weight:500;min-width:5.9em;text-align:right}
.performance-track{position:relative;display:block;height:9px;background:color-mix(in srgb,var(--line) 45%,transparent)}
.performance-fill{position:absolute;top:0;height:100%;background:var(--cyan)}
.performance-fill.prior{background:var(--muted)}
.performance-zero{position:absolute;width:1px;top:-2px;bottom:-2px;background:var(--muted)}
.performance-total{display:flex;flex-wrap:wrap;gap:4px 8px;margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.performance-total>span:last-child{color:var(--muted)}
.performance-growth-lead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0}
.performance-growth-lead>strong{font-size:var(--type-value);font-weight:600;line-height:1.25}
.performance-growth-lead>span{color:var(--muted)}
.performance-growth-story{margin:7px 0 9px;max-width:65ch}
.performance-contributions{margin:0;padding:0;list-style:none}
.performance-contribution{display:block;box-sizing:border-box;width:100%;padding:7px 0;color:var(--text);background:none;border:0;font:inherit;text-align:left;border-radius:3px}
button.performance-contribution{cursor:pointer}
button.performance-contribution:hover{outline:1px solid var(--line);outline-offset:4px;transform:none}
.performance-contribution-caption{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.performance-contribution-caption>strong{font-weight:500;white-space:nowrap}
.performance-contribution-track{height:7px;position:relative;display:block;margin-top:5px;background:color-mix(in srgb,var(--line) 35%,transparent)}
.performance-contribution-track:before{content:"";position:absolute;left:50%;width:1px;top:-2px;bottom:-2px;background:var(--muted)}
.performance-contribution-fill{position:absolute;height:100%;background:var(--performance-up)}
.performance-contribution-fill[data-tone="negative"]{background:var(--performance-down)}
.performance-habits{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.performance-habits>h3{margin-bottom:4px}
.performance-habit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:20px}
.performance-habit-grid>.performance-measure{margin:0;min-width:0}
.performance-habit-grid .performance-measure-heading{display:block}
.performance-habit-grid h4{margin-bottom:4px}
.performance-caution{color:var(--muted);font-size:var(--type-body);margin:12px 0 0}
.performance-method{margin-top:18px;border-top:1px solid var(--line);padding-top:6px}
.performance-method>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:500}
.performance-method>p{max-width:85ch;color:var(--muted);margin:12px 0 0;line-height:1.65}
.performance-brief :is(button,summary):focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
#period-essential .guided-eyebrow{letter-spacing:normal;text-transform:none}
#results[aria-busy="true"] .performance-brief{opacity:.45;pointer-events:none}
@media(max-width:1100px){.performance-key-figures{grid-template-columns:1fr;gap:20px}.performance-before{max-width:none}.performance-business{gap:24px}.performance-growth{padding-left:24px}.performance-evidence{grid-template-columns:1fr}}
@media(max-width:700px){.performance-brief{padding:20px 18px}.performance-business{grid-template-columns:1fr;gap:24px}.performance-key-figures{grid-template-columns:1fr;gap:20px}.performance-growth{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}.performance-habit-grid{grid-template-columns:1fr;gap:24px}.performance-habit-grid>.performance-simple-metric+.performance-simple-metric{padding-top:20px;border-top:1px solid var(--line)}.performance-bar-row{gap:8px;grid-template-columns:4.8em minmax(20px,1fr) auto}.performance-contribution-caption{gap:8px;flex-wrap:wrap}.performance-brief h2{font-size:var(--type-heading)}.performance-growth-lead{gap:6px 12px}.performance-growth-highlight{grid-template-columns:1fr}.performance-growth-highlight>strong{margin-top:2px}}
@media(max-width:700px){.health-point{grid-template-columns:1fr;gap:8px;padding:16px 0}.health-point-label{margin-bottom:2px}.health-points{margin-top:16px}}
@media(max-width:380px){html[data-pilot="france-food"] .health-reading .essential-reading-more{padding-right:115px}}

/* Overview refinement: one metric surface, an editorial summary and quiet controls.
   Scoped to this view so detailed analyses and client dossiers keep their layout. */
html[data-pilot="france-food"][data-view="overview"]{
 --bg:#f6f7f9;--surface:#fff;--text:#202c3b;--muted:#586575;--line:#dce2e9;
 --cyan:#14788b;--performance-up:#24704d;--performance-down:#a63649;
 --lynova-page-background:var(--bg);--ui-soft:color-mix(in srgb,var(--muted) 4%,var(--surface));
 --ui-hover:color-mix(in srgb,var(--muted) 8%,var(--surface));--selection-slide-ink:var(--text)
}
html[data-pilot="france-food"][data-view="overview"][data-theme="dark"]{
 --bg:#11171f;--surface:#19212c;--text:#e9edf4;--muted:#a7b2c1;--line:#34404f;
 --cyan:#83c3d0;--performance-up:#70c7a0;--performance-down:#ee9d9e
}
html[data-pilot="france-food"][data-view="overview"] body{background:var(--bg)}
html[data-pilot="france-food"][data-view="overview"] .ambient-background{display:none}
html[data-pilot="france-food"][data-view="overview"] .ambient-background::before{animation:none;background:none}
html[data-pilot="france-food"][data-view="overview"] #workspace{max-width:1320px;padding:36px 40px 0}
html[data-pilot="france-food"][data-view="overview"] .workspace-header{background:var(--bg);height:64px}
html[data-pilot="france-food"][data-view="overview"] .sidebar{background:var(--bg)}
html[data-pilot="france-food"][data-view="overview"] .sidebar-caption,
html[data-pilot="france-food"][data-view="overview"] #company-heading{display:none}
html[data-pilot="france-food"][data-view="overview"] .main-nav a[aria-current="page"]{color:var(--text);background:var(--ui-hover);box-shadow:none;border-color:transparent}
html[data-pilot="france-food"][data-view="overview"] .main-nav a[aria-current="page"] svg{color:var(--cyan)}
html[data-pilot="france-food"][data-view="overview"] .page-heading{margin-bottom:28px}
html[data-pilot="france-food"][data-view="overview"] #view-title{font-size:calc(30px * var(--pilot-font-scale,1));font-weight:600;letter-spacing:-.025em;line-height:1.2}
html[data-pilot="france-food"][data-view="overview"] .page-description{color:var(--muted);margin-top:8px}
html[data-pilot="france-food"][data-view="overview"] .filter-card{border:0;background:transparent;padding:0;box-shadow:none}
html[data-pilot="france-food"][data-view="overview"] .filter-row{gap:12px}
html[data-pilot="france-food"][data-view="overview"] .filter-row :is(.period-button,.period-mode-tabs){background:var(--surface)}
html[data-pilot="france-food"][data-view="overview"] .period-settings{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:16px}
html[data-pilot="france-food"][data-view="overview"] .has-selection-slide>.selection-slide-indicator{background:var(--ui-hover);box-shadow:none}

html[data-pilot="france-food"][data-view="overview"] .overview-weather-fold{border-color:transparent;background:transparent}
html[data-pilot="france-food"][data-view="overview"] .overview-weather-fold[open]{background:var(--surface);border-color:var(--line)}
html[data-pilot="france-food"][data-view="overview"] .data-line{margin:12px 0 20px}
html[data-pilot="france-food"][data-view="overview"] .analysis-feedback{margin-top:10px}
html[data-pilot="france-food"][data-view="overview"] .metrics-heading{margin-bottom:14px}
html[data-pilot="france-food"][data-view="overview"] #result-cards-toggle{background:transparent;border-color:transparent;color:var(--muted);font-weight:400}
html[data-pilot="france-food"][data-view="overview"] #result-cards-toggle:hover{color:var(--text);background:var(--ui-hover)}
html[data-pilot="france-food"][data-view="overview"] #metrics{gap:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:4px 8px;margin-bottom:30px}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric,
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"]{border:0;border-radius:0;background:transparent;box-shadow:none;padding:22px;transition:none}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric:hover{border-color:transparent;box-shadow:none;transform:none}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric dd{font-size:calc(30px * var(--pilot-font-scale,1));font-weight:600;letter-spacing:-.025em;margin:10px 0 6px}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric .comparison-prior{font-size:var(--type-caption);margin-bottom:6px}
html[data-pilot="france-food"][data-view="overview"] #metrics>.metric>.metric-change{border:0;padding-top:6px;min-height:28px}
html[data-pilot="france-food"][data-view="overview"] #metrics .change-indicator .change-badge{background:transparent;border:0;padding:0;font-weight:500}
html[data-pilot="france-food"][data-view="overview"] #metrics .change-amount{font-weight:400}
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"]{border-top:1px solid var(--line);padding-block:18px}
html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"] dd{font-size:var(--type-heading);margin:0}
html[data-pilot="france-food"][data-view="overview"] #metrics[data-editing="true"]{gap:12px;padding:12px}
html[data-pilot="france-food"][data-view="overview"] #metrics[data-editing="true"]>.metric{border:1px solid var(--line);border-radius:8px}

html[data-pilot="france-food"][data-view="overview"] .performance-brief{padding:10px 0 26px;margin:0 0 18px;border:0;border-radius:0;background:transparent;box-shadow:none}
html[data-pilot="france-food"][data-view="overview"] .performance-brief h2{font-size:calc(20px * var(--pilot-font-scale,1));font-weight:600;line-height:1.35;margin-bottom:10px}
html[data-pilot="france-food"][data-view="overview"] .performance-reference{display:flex;flex-wrap:wrap;gap:4px 10px;max-width:80ch;font-size:calc(15px * var(--pilot-font-scale,1));line-height:1.6;margin:0}
html[data-pilot="france-food"][data-view="overview"] .performance-reference-part{display:inline-block;max-width:100%}
html[data-pilot="france-food"][data-view="overview"] .performance-reference-separator{margin-left:10px}
html[data-pilot="france-food"][data-view="overview"] .performance-narrative{font-size:calc(20px * var(--pilot-font-scale,1));line-height:1.7;max-width:68ch;margin:22px 0 16px;color:var(--muted);text-wrap:pretty}
html[data-pilot="france-food"][data-view="overview"] .performance-narrative [data-tone]{color:inherit;font-weight:400}
html[data-pilot="france-food"][data-view="overview"] .performance-narrative .performance-lead{font-size:1.08em;line-height:1.55;font-weight:600;color:var(--text)}
html[data-pilot="france-food"][data-view="overview"] .performance-number{background:transparent;padding:0;border-radius:0;font-weight:700;color:var(--text)}
html[data-pilot="france-food"][data-view="overview"] .performance-narrative [data-tone="positive"] .performance-number{color:var(--performance-up)}
html[data-pilot="france-food"][data-view="overview"] .performance-narrative [data-tone="negative"] .performance-number{color:var(--performance-down)}
html[data-pilot="france-food"][data-view="overview"] .performance-details{border:0;margin:0;padding:0}
html[data-pilot="france-food"][data-view="overview"] .performance-details>summary{display:inline-flex;justify-content:flex-start;gap:12px;min-height:44px;width:fit-content;max-width:100%;padding:8px 0;margin:0;border:0;border-radius:4px;background:transparent;color:var(--cyan);font-size:var(--type-body);font-weight:500}
html[data-pilot="france-food"][data-view="overview"] .performance-details>summary:hover{text-decoration:underline;text-underline-offset:4px}
html[data-pilot="france-food"][data-view="overview"] .performance-details>summary::after{width:6px;height:6px;border-width:1.5px}
html[data-pilot="france-food"][data-view="overview"] .performance-details[open]>summary{margin-bottom:20px}
html[data-pilot="france-food"][data-view="overview"] .performance-details .essential-tile{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:22px 0;box-shadow:none}
html[data-pilot="france-food"][data-view="overview"] .performance-details .essential-tile:hover{border-color:var(--line)}
html[data-pilot="france-food"][data-view="overview"] .performance-details .essential-snapshot{gap:16px 36px}
html[data-pilot="france-food"][data-view="overview"] .performance-details .essential-big{color:var(--text)}
html[data-pilot="france-food"][data-view="overview"] .overview-section-fold>summary{padding-top:22px;padding-bottom:18px}
html[data-pilot="france-food"][data-view="overview"] :is(.trend-panel,.distribution-panel){border-color:var(--line);box-shadow:none}
html[data-pilot="france-food"][data-view="overview"] .workspace-footer{color:var(--muted)}
@media(max-width:1150px){
 html[data-pilot="france-food"][data-view="overview"] #workspace{padding:28px 24px 0}
 html[data-pilot="france-food"][data-view="overview"] #metrics>.metric,
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"]{padding-inline:18px}
}
@media(max-width:760px){
 html[data-pilot="france-food"][data-view="overview"] #workspace{padding:24px 18px 0}
 html[data-pilot="france-food"][data-view="overview"] .workspace-header{height:auto}
 html[data-pilot="france-food"][data-view="overview"] .page-heading{margin-bottom:22px}
 html[data-pilot="france-food"][data-view="overview"] .filter-row>#margin-choice{margin-left:0}
 html[data-pilot="france-food"][data-view="overview"] .performance-narrative{font-size:calc(19px * var(--pilot-font-scale,1));line-height:1.7;margin-top:18px}
 html[data-pilot="france-food"][data-view="overview"] #metrics>.metric dd{font-size:calc(26px * var(--pilot-font-scale,1))}
 html[data-pilot="france-food"][data-view="overview"] .period-settings{padding:16px}
}
@media(max-width:520px){
 html[data-pilot="france-food"][data-view="overview"] .performance-reference{gap:3px}
 html[data-pilot="france-food"][data-view="overview"] .performance-reference-part{flex-basis:100%}
 html[data-pilot="france-food"][data-view="overview"] .performance-reference-separator{display:none}
 html[data-pilot="france-food"][data-view="overview"] #metrics{padding:0 16px;gap:0}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric,
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"]{padding:16px 0;border:0;border-top:1px solid var(--line);gap:4px 10px}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric:first-child{border-top:0}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric>:is(dt,dd){grid-row:1}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric>.comparison-prior{grid-row:2}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric dd{font-size:calc(23px * var(--pilot-font-scale,1));margin:0}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric[data-emphasis="secondary"] dd{font-size:var(--type-heading)}
 html[data-pilot="france-food"][data-view="overview"] #metrics:not([data-editing="true"])>.metric>.metric-change{border:0;padding-top:4px}
}
/* Figures keep their unit and inherit the meaning of their surrounding text. */
html[data-pilot="france-food"] .metric-value{font-weight:650;font-variant-numeric:tabular-nums}
html[data-pilot="france-food"] .essential-metric-label{margin:16px 0 5px;font-size:var(--type-body);font-weight:600;color:var(--text)}
html[data-pilot="france-food"] .essential-comparison-context{margin:18px 0 8px;font-size:var(--type-caption);line-height:1.5;color:var(--muted)}
html[data-pilot="france-food"] .weekly-caption strong{font-size:inherit;font-weight:600;color:inherit}
html[data-pilot="france-food"] .essential-pair strong{font-weight:600}
html[data-pilot="france-food"] .business-detail-bar-row{grid-template-columns:minmax(120px,160px) minmax(40px,1fr) minmax(95px,auto)}
@media(max-width:600px){
 html[data-pilot="france-food"] .business-detail-bar-row{grid-template-columns:minmax(20px,1fr) max-content;gap:5px 10px}
 html[data-pilot="france-food"] .business-detail-bar-row>span:first-child{grid-column:1/-1}
}
/* Shared disclosure motion: the content unfolds in place, in both directions. */
:root{--disclosure-open:520ms;--disclosure-close:420ms;--disclosure-ease:cubic-bezier(.42,0,.58,1)}
@media(prefers-reduced-motion:no-preference){
 html:is([data-pilot="france-food"],[data-pilot-login="france-food"]) details{--disclosure-duration:var(--disclosure-close)}
 html:is([data-pilot="france-food"],[data-pilot-login="france-food"]) details[open]{--disclosure-duration:var(--disclosure-open)}
 html[data-pilot="france-food"] details>summary{transition:margin-bottom var(--disclosure-duration) var(--disclosure-ease),border-color 160ms ease,background-color 160ms ease}
 html[data-pilot="france-food"] :is(.overview-section-chevron,.essential-chevron,.detailed-ranking-fold>summary>svg,.tree-chevron),
 html[data-pilot="france-food"] :is(.performance-details,.overview-weather-fold)>summary::after,
 html[data-pilot="france-food"] #period-toggle>span:last-child{transition:transform var(--disclosure-duration,var(--disclosure-open)) var(--disclosure-ease)}
 html[data-pilot="france-food"] #period-toggle>span:last-child{display:inline-block}
 html[data-pilot="france-food"] #period-toggle[aria-expanded="true"]>span:last-child{transform:rotate(180deg)}
 @supports (interpolate-size:allow-keywords) and (transition-behavior:allow-discrete){
  /* Native semantics, keyboard behavior and dynamic details remain browser-owned. */
  html:is([data-pilot="france-food"],[data-pilot-login="france-food"]) details::details-content{
   interpolate-size:allow-keywords;height:0;overflow:clip;overflow-clip-margin:6px;
   transition:height var(--disclosure-duration) var(--disclosure-ease),content-visibility var(--disclosure-duration) allow-discrete;
  }
  html:is([data-pilot="france-food"],[data-pilot-login="france-food"]) details[open]::details-content{height:auto}
  /* Explicit panels only: loading, authentication and route visibility never animate. */
  html[data-pilot="france-food"] :is(#period-settings,#columns-panel,#result-cards-editor){
   interpolate-size:allow-keywords;height:auto;overflow:clip;overflow-clip-margin:6px;opacity:1;
   transition-property:height,opacity,padding-top,padding-bottom,margin-top,margin-bottom,border-top-width,border-bottom-width,display;
   transition-duration:var(--disclosure-open);transition-timing-function:var(--disclosure-ease);transition-behavior:allow-discrete;
  }
  html[data-pilot="france-food"] :is(#period-settings,#columns-panel,#result-cards-editor)[hidden]{
   height:0;opacity:0;padding-block:0;margin-block:0;border-block-width:0;pointer-events:none;transition-duration:var(--disclosure-close);
  }
  html[data-pilot="france-food"]:not([data-view="overview"]) #result-cards-editor{transition:none}
  @starting-style{
   html[data-pilot="france-food"] :is(#period-settings,#columns-panel,#result-cards-editor):not([hidden]){height:0;opacity:0;padding-block:0;margin-block:0;border-block-width:0}
  }
  .tree-reveal{animation:none}
  .tree-cell-content{interpolate-size:allow-keywords;height:auto;overflow:clip;overflow-clip-margin:6px;transition:height var(--disclosure-open) var(--disclosure-ease),opacity var(--disclosure-open) var(--disclosure-ease)}
  :is(.tree-reveal,.tree-removing)>:is(th,td){transition:padding-block var(--disclosure-open) var(--disclosure-ease),border-bottom-width var(--disclosure-open) var(--disclosure-ease)}
  .tree-removing{pointer-events:none}
  .tree-removing .tree-cell-content{height:0;opacity:0;transition-duration:var(--disclosure-close)}
  .tree-removing>:is(th,td){padding-block:0;border-bottom-width:0;transition-duration:var(--disclosure-close)}
  @starting-style{
   .tree-reveal .tree-cell-content{height:0;opacity:0}
   .tree-reveal>:is(th,td){padding-block:0;border-bottom-width:0}
  }
 }
 @media(max-width:760px){
  html[data-pilot="france-food"] .sidebar{transition:transform var(--disclosure-close) var(--disclosure-ease)}
  html[data-pilot="france-food"] .menu-open .sidebar{transition-duration:var(--disclosure-open)}
 }
}

/* Activity summary — approved icon layout, 23 September 2026. */
html[data-pilot="france-food"][data-view="overview"] .performance-brief{container-type:inline-size}
html[data-pilot="france-food"][data-view="overview"] .performance-icons{display:grid;grid-template-columns:minmax(0,1fr);margin:24px 0 8px;color:var(--text)}
.performance-icons :is(.performance-icons-financial,.performance-icons-movements,.performance-icons-buying){display:grid;gap:24px}
.performance-icons .performance-icons-financial{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:24px}
.performance-icons :is(.performance-icons-movements,.performance-icons-buying){grid-template-columns:repeat(2,minmax(0,1fr))}
.performance-icons .performance-icons-clients{border-top:1px solid var(--line);padding:24px 0}
.performance-icons .performance-icons-habits{border-top:1px solid var(--line);padding:24px 0 8px}
.performance-icons .performance-icons-metric{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;row-gap:6px;align-content:start;min-width:0}
.performance-icons .performance-icons-metric>.performance-icon{grid-column:1;grid-row:1 / span 2;margin-top:1px;color:var(--muted)}
.performance-icons .performance-icons-metric>:not(.performance-icon){grid-column:2;min-width:0}
.performance-icons .performance-icons-label{font-size:calc(14px * var(--pilot-font-scale,1));line-height:1.45;font-weight:500}
.performance-icons .performance-icons-value{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;font-size:calc(32px * var(--pilot-font-scale,1));line-height:1.15;font-weight:650;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.performance-icons .performance-icons-value[data-state="unavailable"]{font-size:calc(20px * var(--pilot-font-scale,1));line-height:1.4}
.performance-icons .performance-icons-caption{display:block;color:var(--muted);font-size:calc(12px * var(--pilot-font-scale,1));line-height:1.5}
.performance-icons .performance-icons-heading{margin:0 0 20px;font-size:calc(14px * var(--pilot-font-scale,1));font-weight:600;line-height:1.5;color:var(--muted)}
.performance-icons .performance-icon{display:block;width:28px;height:28px;flex:none}
.performance-icons [data-tone="positive"]{color:var(--performance-up)}
.performance-icons [data-tone="negative"]{color:var(--performance-down)}
.performance-icons [data-tone="neutral"]{color:var(--text)}
.performance-icons .performance-icons-metric[data-tone]>.performance-icons-label{color:var(--text)}
.performance-icons .performance-icons-metric[data-tone="negative"]>.performance-icon{color:var(--performance-down)}
.performance-icons .performance-icons-comparison{display:grid;grid-template-columns:max-content 20px max-content;align-items:start;gap:10px}
.performance-icons .performance-icons-comparison>.performance-icon{width:22px;height:22px;margin-top:5px;color:var(--muted)}
.performance-icons .performance-icons-period{display:grid;gap:6px}
.performance-icons .performance-icons-period:first-child .performance-icons-value{color:var(--muted);font-weight:450}
.performance-icons .performance-icons-period .performance-icons-caption::first-letter{text-transform:uppercase}
.performance-icons .performance-icons-buying .performance-icons-value{font-size:calc(26px * var(--pilot-font-scale,1))}
.performance-icons .performance-icons-comparison .performance-icons-value{white-space:nowrap;overflow-wrap:normal}
.performance-icons .performance-icons-frequency-base{display:grid;gap:2px}
.performance-icons .performance-icons-note{font-size:calc(15px * var(--pilot-font-scale,1));line-height:1.6;color:var(--muted);margin:0}
@container(min-width:1100px){
 html[data-pilot="france-food"][data-view="overview"] .performance-icons{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
 .performance-icons .performance-icons-financial{grid-column:1 / -1}
 .performance-icons :is(.performance-icons-clients,.performance-icons-habits){padding:24px 0 8px}
}
@container(max-width:620px){
 .performance-icons .performance-icons-financial{gap:20px;grid-template-columns:minmax(0,1fr)}
 .performance-icons .performance-icons-financial .performance-icons-metric{grid-template-columns:28px minmax(0,1fr) auto;align-items:center}
 .performance-icons .performance-icons-financial .performance-icons-metric>.performance-icon{grid-row:1 / span 2;margin:0}
 .performance-icons .performance-icons-financial .performance-icons-value{grid-column:3;grid-row:1 / span 2;font-size:calc(26px * var(--pilot-font-scale,1));max-width:12ch}
 .performance-icons .performance-icons-financial .performance-icons-value[data-state="unavailable"]{font-size:calc(17px * var(--pilot-font-scale,1));max-width:10ch}
 .performance-icons .performance-icons-financial .performance-icons-caption{grid-row:2}
 .performance-icons :is(.performance-icons-movements,.performance-icons-buying){grid-template-columns:minmax(0,1fr);gap:24px}
 .performance-icons .performance-icons-value{font-size:calc(30px * var(--pilot-font-scale,1))}
 .performance-icons .performance-icons-heading{margin-bottom:20px}
}
@container(max-width:310px){
 .performance-icons .performance-icons-financial .performance-icons-metric{grid-template-columns:28px minmax(0,1fr)}
 .performance-icons .performance-icons-financial .performance-icons-value{grid-column:2;grid-row:auto;max-width:100%}
 .performance-icons .performance-icons-financial .performance-icons-caption{grid-row:3}
}
@container(max-width:240px){
 .performance-icons .performance-icons-coverage>.performance-icons-comparison{grid-column:1 / -1;grid-template-columns:max-content 16px max-content;gap:8px}
 .performance-icons .performance-icons-comparison .performance-icons-value{font-size:calc(22px * var(--pilot-font-scale,1))}
}

/* Focus — approved 23 September: Lynova surfaces and three live reading angles. */
html[data-pilot="france-food"]:not([data-credits="true"]){
 --bg:#f5f8fc;--surface:#fff;--text:#13283f;--muted:#46617c;--line:#cbd8e6;--cyan:#00748b;
 --performance-up:#007453;--performance-down:#bc2948;
 --focus-top:#fff;--focus-bottom:#edf4fa;--focus-risk:#fff0f3;--focus-prior:#9cb7cc;
 --lynova-page-background:var(--bg)
}
html[data-pilot="france-food"][data-theme="dark"]:not([data-credits="true"]){
 --bg:#060e18;--surface:#101d31;--text:#f5f8ff;--muted:#aec9ed;--line:#2b3e55;--cyan:#30cce3;
 --performance-up:#29d5aa;--performance-down:#ff5974;
 --focus-top:#1c2a3e;--focus-bottom:#0e1b2e;--focus-risk:#35293e;--focus-prior:#4f6c8d
}
html[data-pilot="france-food"][data-view="overview"] .page-heading{margin-bottom:20px}
html[data-pilot="france-food"][data-view="overview"] .data-line{margin-bottom:12px}
.overview-focus{container-type:inline-size;color:var(--text);margin:0 0 14px;font-family:var(--type-family);font-size:var(--type-body)}
.overview-focus *{box-sizing:border-box}
.overview-focus :is(h2,h3,p){margin:0}
.overview-focus :is(button,summary):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.focus-reference{font-size:var(--type-caption);color:var(--muted);line-height:1.5;margin-bottom:14px!important}
.focus-lenses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.focus-lens{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--muted);font:inherit;text-align:left;cursor:pointer;transition:background-color 180ms ease,border-color 180ms ease}
.focus-lens>span{display:flex;align-items:center;gap:10px;font-weight:600}
.focus-lens svg{width:18px;height:18px;flex-shrink:0}
.focus-lens small{font-size:var(--type-caption);color:var(--muted)}
.focus-lens[aria-pressed="true"]{background:var(--focus-top);border-color:var(--cyan);color:var(--cyan)}
.focus-lens:hover{background:var(--focus-top)}
.focus-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.37fr);gap:16px}
.focus-main,.focus-side,.focus-drivers,.focus-bottom>section,.focus-bottom>.focus-habits{min-width:0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(155deg,var(--focus-top),var(--focus-bottom) 80%)}
.focus-main{padding:26px 28px 22px;border-left:4px solid var(--cyan)}
.focus-main h2{font-size:var(--type-body);font-weight:500;color:var(--muted);line-height:1.4}
.focus-number{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;color:var(--cyan);margin:12px 0 16px;font-variant-numeric:tabular-nums}
.focus-number strong{font-size:calc(clamp(44px,7cqi,80px) * var(--pilot-font-scale,1));line-height:1.08;letter-spacing:-.03em;font-weight:750}
.focus-number>span{font-size:calc(30px * var(--pilot-font-scale,1));font-weight:600}
.focus-number[data-state="unavailable"] strong{font-size:var(--type-heading);color:var(--muted)}
.focus-number[data-tone="negative"]{color:var(--performance-down)}
.focus-trend{display:flex;gap:9px 12px;align-items:center;flex-wrap:wrap;font-size:var(--type-caption);color:var(--muted)}
.focus-trend>strong{background:var(--surface);padding:5px 9px;border-radius:7px;font-size:var(--type-body);font-weight:600}
.overview-focus [data-tone="positive"]{color:var(--performance-up)}
.overview-focus [data-tone="negative"]{color:var(--performance-down)}
.overview-focus [data-tone="neutral"]{color:var(--muted)}
.focus-comparison{display:grid;gap:12px;margin-top:26px}
.focus-comparison-caption{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;color:var(--muted);font-size:var(--type-caption);margin-bottom:6px;flex-wrap:wrap}
.focus-comparison-caption strong{color:var(--text);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.focus-track{height:18px;border-radius:5px;position:relative;background:color-mix(in srgb,var(--line) 35%,var(--focus-bottom))}
.focus-fill{position:absolute;height:100%;border-radius:5px;background:var(--cyan);transform-origin:left center;animation:focus-bar-fill 520ms cubic-bezier(.42,0,.58,1) both;transition:width 520ms cubic-bezier(.42,0,.58,1),left 520ms cubic-bezier(.42,0,.58,1)}
.focus-fill[data-sign="negative"]{transform-origin:right center}
@keyframes focus-bar-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.focus-fill[data-kind="prior"]{background:var(--focus-prior)}
.focus-fill[data-kind="lost"],.focus-fill[data-sign="negative"]{background:var(--performance-down)}
.focus-zero{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--muted)}
.focus-baseline{font-size:var(--type-caption);color:var(--muted)}
.focus-side{padding:24px;display:flex;flex-direction:column;gap:24px;border-left:4px solid var(--line)}
.focus-side[data-tone="negative"]{border-left-color:var(--performance-down);background:linear-gradient(150deg,var(--focus-risk),var(--focus-bottom) 78%)}
.focus-side[data-tone="positive"]{border-left-color:var(--performance-up)}
.overview-focus .focus-side{color:var(--text)}
.focus-side h3{font-size:var(--type-caption);color:var(--muted);font-weight:500}
.focus-fact{display:grid;gap:7px;min-width:0}
.focus-fact>span,.focus-fact>small{font-size:var(--type-caption);color:var(--muted);line-height:1.5}
.focus-fact>strong{font-size:calc(30px * var(--pilot-font-scale,1));font-weight:700;letter-spacing:-.025em;line-height:1.2;overflow-wrap:anywhere}
.focus-side>.focus-fact+.focus-fact{padding-top:20px;border-top:1px solid var(--line)}
.focus-drivers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;padding:0 6px}
.focus-driver{padding:21px 22px;display:grid;gap:8px;min-width:0}
.focus-driver+.focus-driver{border-left:1px solid var(--line)}
.focus-driver>span,.focus-driver>small{color:var(--muted);font-size:var(--type-caption);line-height:1.5}
.focus-driver-value{display:flex;align-items:baseline;gap:8px 12px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.focus-driver-value>strong{font-size:calc(23px * var(--pilot-font-scale,1));font-weight:700;letter-spacing:-.02em;line-height:1.25}
.focus-driver-value>span{font-size:var(--type-caption);font-weight:600}
.focus-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.focus-bottom>section,.focus-bottom>.focus-habits{padding:22px}
.focus-bottom h3{font-size:var(--type-body);font-weight:650;margin-bottom:16px}
.focus-bottom .focus-comparison{margin-top:0;gap:9px}
.focus-bottom .focus-track{height:9px}
.focus-bottom .focus-baseline{display:none}
.focus-habits{display:grid;gap:16px;min-width:0}
.focus-habits .focus-fact{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 12px}
.focus-habits .focus-fact>strong{font-size:calc(22px * var(--pilot-font-scale,1));text-align:right}
.focus-habits .focus-fact>small{grid-column:1/-1}
.focus-side .focus-habits .focus-fact{grid-template-columns:1fr}
.focus-side .focus-habits .focus-fact>strong{text-align:left;font-size:calc(30px * var(--pilot-font-scale,1))}
.focus-note{color:var(--muted);font-size:var(--type-caption);line-height:1.55}
.focus-main.focus-main-combined{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;container:focus-money / inline-size}
.focus-financial{position:relative;min-width:0;padding:26px 24px 22px}
.focus-financial+.focus-financial::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:1px;background:linear-gradient(180deg,transparent,var(--line) 15%,var(--line) 85%,transparent)}
.focus-financial .focus-number strong{font-size:calc(clamp(32px,5.6cqi,56px) * var(--pilot-font-scale,1))}
.focus-financial .focus-number>span{font-size:calc(23px * var(--pilot-font-scale,1))}
.focus-financial .focus-number[data-state="unavailable"] strong{font-size:var(--type-heading)}
.focus-financial .focus-baseline{font-size:var(--type-caption)}
.focus-fact>.focus-rate-change{font-weight:600}
.focus-body>h2{font-size:var(--type-heading);margin:20px 0 10px}
html[data-pilot="france-food"][data-view="overview"] .focus-method{margin-top:16px;border-bottom:1px solid var(--line);padding-bottom:4px}
#results[aria-busy="true"] .overview-focus{opacity:.45;pointer-events:none}
@container(max-width:900px){
 .focus-stage{grid-template-columns:minmax(0,1fr) 240px;gap:14px}
 .focus-main{padding:22px}
 .focus-lens small{display:none}
 .focus-driver{padding:18px 16px}
}
@container(max-width:670px){
 .focus-stage{grid-template-columns:1fr;gap:12px}
 .focus-lenses{gap:7px;margin-bottom:12px}
 .focus-lens{padding:10px 7px;justify-content:center;font-size:var(--type-caption)}
 .focus-lens>span{gap:7px}
 .focus-lens svg{width:16px;height:16px}
 .focus-main{padding:20px 17px}
 .focus-number strong{font-size:calc(clamp(38px,13cqi,64px) * var(--pilot-font-scale,1))}
 .focus-number>span{font-size:var(--type-value)}
 .focus-side{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .focus-side>h3,.focus-side>.focus-habits{grid-column:1/-1}
 .focus-side>.focus-fact+.focus-fact{padding:0;border:0}
 .focus-fact>strong{font-size:calc(25px * var(--pilot-font-scale,1))}
 .focus-drivers{grid-template-columns:1fr;padding:0 17px;margin-top:12px}
 .focus-driver,.focus-driver+.focus-driver{padding:16px 0;border-left:0}
 .focus-driver+.focus-driver{border-top:1px solid var(--line)}
 .focus-driver{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:baseline}
 .focus-driver>small{grid-column:1/-1}
 .focus-driver-value{justify-content:flex-end;gap:6px 9px}
 .focus-driver-value>strong{font-size:calc(20px * var(--pilot-font-scale,1))}
 .focus-bottom{grid-template-columns:1fr;gap:12px;margin-top:12px}
 .focus-bottom>section,.focus-bottom>.focus-habits{padding:18px}
}
@container(max-width:390px){
 .focus-lens svg{display:none}
 .focus-driver{grid-template-columns:1fr}
 .focus-driver-value{justify-content:flex-start}
 .focus-side{grid-template-columns:1fr}
 .focus-habits .focus-fact{grid-template-columns:1fr}
 .focus-habits .focus-fact>strong{text-align:left}
}
@container focus-money (max-width:600px){
 .focus-financial{grid-column:1/-1;padding:22px 18px}
 .focus-financial+.focus-financial::before{top:0;bottom:auto;left:18px;right:18px;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--line) 15%,var(--line) 85%,transparent)}
 .focus-financial .focus-number strong{font-size:calc(clamp(36px,10cqi,52px) * var(--pilot-font-scale,1))}
 .focus-financial .focus-number[data-state="unavailable"] strong{font-size:var(--type-heading)}
}
@media(prefers-reduced-motion:reduce){.focus-fill,.focus-lens,html[data-pilot="france-food"][data-view="overview"] #overview-exact>summary::after{transition:none}.focus-fill{animation:none}}

/* Lynova identity extended to detailed analyses and dormant clients, 23 September. */
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]):not([data-credits="true"]){--ui-soft:color-mix(in srgb,var(--muted) 4%,var(--surface));--ui-hover:color-mix(in srgb,var(--muted) 8%,var(--surface));--selection-slide-ink:var(--text);--series-current:var(--cyan);--series-prior:var(--focus-prior)}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]):not([data-credits="true"]) body{background:var(--bg)}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]):not([data-credits="true"]) .ambient-background{display:none}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]):not([data-credits="true"]) :is(.workspace-header,.sidebar){background:var(--bg)}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) :is(.sidebar-caption,#company-heading){display:none}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) #workspace{max-width:1680px;padding:36px 40px 0}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) .main-nav a[aria-current="page"]{color:var(--text);background:var(--ui-hover);box-shadow:none;border-color:transparent}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) .has-selection-slide>.selection-slide-indicator{background:var(--ui-hover);box-shadow:none}

html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]):not([data-credits="true"]) .workspace-header{height:auto;min-height:64px}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) ::selection{background:var(--cyan);color:var(--bg)}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) :is(input,select,textarea){caret-color:var(--cyan)}
html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) :is(.table-scroll,.dormant-table-scroll){scrollbar-color:var(--focus-prior) var(--surface)}
.focus-stage-wide{grid-template-columns:minmax(0,1fr)}
.focus-financial:only-child{grid-column:1/-1}
.focus-drivers{grid-template-columns:repeat(3,minmax(0,1fr))}
.focus-driver{border-bottom:1px solid var(--line)}
.focus-driver:nth-child(3n+1){border-left:0}
.focus-driver:nth-last-child(-n+3){border-bottom:0}
.focus-empty{padding:20px 0;color:var(--muted)}
.focus-lens:disabled{opacity:.5;cursor:default}
html[data-pilot="france-food"] #result-cards-editor{background:linear-gradient(155deg,var(--focus-top),var(--focus-bottom));border:1px solid var(--line);border-radius:16px;margin-bottom:16px;padding:18px 22px}
html[data-pilot="france-food"] #result-cards-editor :is(p,select){color:var(--muted)}
html[data-pilot="france-food"] #result-cards-editor :is(button,select){min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 12px;color:var(--text)}
html[data-pilot="france-food"] #result-cards-editor #save-result-cards{border-color:var(--cyan);color:var(--cyan)}
.overview-focus .result-card-controls{display:grid;gap:8px;margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.overview-focus .result-card-controls select{min-width:0;width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:8px;font:inherit}
.overview-focus .result-card-tools{display:flex;gap:6px;flex-wrap:wrap}
.overview-focus .card-tool{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;padding:8px;cursor:pointer}
.overview-focus .card-tool:hover{border-color:var(--cyan)}
.overview-focus .card-tool:disabled{opacity:.45;cursor:default}
.overview-focus [data-drag-over="true"]{outline:2px solid var(--cyan);outline-offset:-2px}
.overview-focus [data-dragging="true"]{opacity:.55}
@media(max-width:900px){html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) #workspace{padding:28px 24px 0}}
@media(max-width:600px){html[data-pilot="france-food"]:is([data-view="clients"],[data-dormant="true"],[data-client-sheet="true"]) #workspace{padding:24px 16px 0}html[data-pilot="france-food"] #result-cards-editor .cards-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}html[data-pilot="france-food"] #result-cards-editor .cards-editor-actions>select,html[data-pilot="france-food"] #result-cards-editor [data-card-focus="add"]{grid-column:1/-1;width:100%;max-width:none}}
@container(max-width:670px){.focus-drivers{grid-template-columns:minmax(0,1fr)}.focus-driver:nth-child(n){border-left:0;border-bottom:1px solid var(--line)}.focus-driver:last-child{border-bottom:0}}

/* Shared colourful Focus vocabulary, requested 25 September.
   Credits and the client sheet retain their approved, scoped data colours. */
html[data-pilot="france-food"]{--focus-violet:#6845ba;--focus-amber:#8a4d0d;--focus-mint:#167765}
html[data-pilot="france-food"][data-theme="dark"]{--focus-violet:#b7a4ff;--focus-amber:#f1c276;--focus-mint:#82dac9}
html[data-pilot="france-food"][data-assistant="true"]{--ui-soft:color-mix(in srgb,var(--muted) 4%,var(--surface));--ui-hover:color-mix(in srgb,var(--muted) 8%,var(--surface));--selection-slide-ink:var(--text);--series-current:var(--cyan);--series-prior:var(--focus-prior);scroll-padding-block:24px 210px}
html[data-pilot="france-food"][data-assistant="true"] :is(.workspace-header,.sidebar){background:var(--bg)}
html[data-pilot="france-food"][data-assistant="true"] .ambient-background{display:none}
html[data-pilot="france-food"][data-assistant="true"] :is(.sidebar-caption,#company-heading){display:none}
html[data-pilot="france-food"][data-assistant="true"] #workspace{max-width:1680px;padding:36px 40px 0}
html[data-pilot="france-food"][data-assistant="true"] .main-nav a[aria-current="page"]{color:var(--text);background:var(--ui-hover);box-shadow:none;border-color:transparent}
html[data-pilot="france-food"] :is(.business-detail-dialog,.side-dialog,.about-dialog){background:linear-gradient(155deg,var(--focus-top,var(--surface)),var(--focus-bottom,var(--surface)) 80%);color:var(--text);border-color:var(--line);border-radius:16px}
html[data-pilot="france-food"] :is(.business-detail-dialog,.side-dialog,.about-dialog)>.dialog-heading{border-bottom:1px solid var(--line);background:var(--focus-top,var(--surface))}
html[data-pilot="france-food"] :is(.trend-panel,.distribution-panel){background:linear-gradient(155deg,var(--focus-top,var(--surface)),var(--focus-bottom,var(--surface)) 80%)}
html[data-pilot="france-food"] :is(.dossier-summary,.dossier-axis-section){background:linear-gradient(155deg,var(--focus-top),var(--focus-bottom) 80%);border-radius:16px}
html[data-pilot="france-food"] .dossier-summary{border-top:4px solid var(--cyan)}
html[data-pilot="france-food"] .dossier-metrics>div{border-top:3px solid var(--cyan)}
html[data-pilot="france-food"] .dossier-metrics .dossier-current{color:var(--cyan);font-weight:700}
html[data-pilot="france-food"] .dossier-metrics>div:nth-child(3){border-top-color:var(--focus-violet)}
html[data-pilot="france-food"] .dossier-metrics>div:nth-child(3) .dossier-current{color:var(--focus-violet)}
html[data-pilot="france-food"] .dossier-metrics>div:nth-child(3) .dossier-mini-fill.current{background:var(--focus-violet)}
html[data-pilot="france-food"] .dossier-mini-fill.prior{background:var(--focus-prior)}
html[data-pilot="france-food"] :is(.dossier-mini-track,.dossier-mini-fill){border-radius:999px}
html[data-pilot="france-food"] .dossier-priorities>ol>li{border-top-color:var(--focus-violet)}
@media(max-width:900px){html[data-pilot="france-food"][data-assistant="true"] #workspace{padding:28px 24px 0}}
@media(max-width:600px){html[data-pilot="france-food"][data-assistant="true"] #workspace{padding:24px 16px 0}html[data-pilot="france-food"] #workspace summary{min-height:44px;align-content:center}}

/* Let the demo's longer caption wrap inside the available tablet header. */
html[data-pilot="france-food"] body>.workspace-shell>.workspace-header{height:auto}
html[data-pilot="france-food"] .header-right{flex-shrink:1;max-width:100%}
html[data-pilot="france-food"] .header-trial{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){
 html[data-pilot="france-food"] .sidebar{transition-property:transform,visibility;transition-duration:var(--disclosure-close),0s;transition-delay:0s,var(--disclosure-close)}
 html[data-pilot="france-food"] .menu-open .sidebar{transition-duration:var(--disclosure-open),0s;transition-delay:0s}
}
/* Ligne de client : « Fiche client » sous « Analyse » (contexte du 11/11, §5.2). */
.tree-label .row-actions{display:inline-flex;flex-direction:column;align-items:stretch;gap:4px;flex-shrink:0}
.tree-label .row-sheet-button{min-height:32px;padding:4px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--type-caption);font-weight:600;cursor:pointer;white-space:nowrap}
.tree-label .row-sheet-button:hover{border-color:var(--cyan)}.row-sheet-button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
/* Infobulle (i) commune : survol, clic ou clavier. */
.info-tip{position:relative;display:inline-flex;vertical-align:middle;font-size:var(--type-caption,.8125rem);font-weight:400;letter-spacing:0;text-transform:none}
.info-tip-button{display:inline-grid;place-items:center;width:20px;height:20px;min-height:0;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font:italic 700 12px/1 Georgia,serif;cursor:help}
.info-tip-button:hover,.info-tip[data-open] .info-tip-button{border-color:var(--cyan);color:var(--text)}.info-tip-button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.info-tip-text{display:none;position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:max-content;max-width:min(340px,78vw);padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 8px 24px rgb(0 0 0 / .18);text-align:left;white-space:normal;line-height:1.45}
.info-tip:hover .info-tip-text,.info-tip[data-open] .info-tip-text{display:block}
.has-info-tip{display:inline-block;margin-right:8px}

/* Fenêtre « Préférences » du compte. */
.account-preferences-button [aria-hidden]{font-weight:700;letter-spacing:-.02em}
html[data-pilot="france-food"] .account-preferences{width:min(480px,calc(100% - 32px));padding:0;overflow:hidden}
html[data-pilot="france-food"] .account-preferences>.dialog-heading{margin:0;padding:16px 20px}
html[data-pilot="france-food"] .account-preferences h2{margin:0;font-size:var(--type-heading)}
.account-preferences form{display:grid;gap:18px;padding:20px}
.account-preferences fieldset{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.account-preferences legend,.account-preferences .account-choice{padding:0;font:600 var(--type-caption) var(--type-family);color:var(--text)}
.account-preferences legend{margin-bottom:8px}
.account-text-sizes label{display:grid;justify-items:center;align-content:end;gap:4px;min-height:84px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;font:500 var(--type-caption) var(--type-family);color:var(--muted);cursor:pointer;text-align:center}
.account-text-sizes input{position:absolute;opacity:0;pointer-events:none}
.account-text-sizes .account-text-sample{font-size:1em;font-weight:600;line-height:1;color:var(--text)}
.account-text-sizes label:has(input:checked){border-color:#087e91;box-shadow:inset 0 0 0 1px #087e91;color:var(--text)}
.account-text-sizes label:has(input:focus-visible){outline:3px solid #087e91;outline-offset:2px}
.account-preferences .account-choice{display:grid;gap:8px}
.account-preferences select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:400 var(--type-caption) var(--type-family)}
html[data-pilot="france-food"] .account-preferences p{margin:0;font-size:var(--type-caption);color:var(--muted)}
.account-preferences .account-status:empty{display:none}
.account-actions{display:flex;justify-content:flex-end;gap:10px}
.account-actions button{min-height:44px;border-radius:9px;font-size:var(--type-caption);cursor:pointer}
@media(max-width:420px){.account-actions{flex-direction:column-reverse}.account-actions button{width:100%}}
@media(max-width:480px){.account-preferences-button span:last-child{display:none}}
