/* Shared command geometry. Loaded last so legacy page rules cannot shrink commands.
   Width follows the label; mobile commands use short single-line captions. */
:root {
  --command-font-size: 13px;
  --command-line-height: 20px;
  --command-min-height: 44px;
  --command-radius: 7px;
  --command-gap: 8px;
}
:root :is(button, a, label):is(.primary, .outline, .small, .text, .entry-secondary,
  .auth-text-button, .calendar-trigger, .account-open, .admin-open,
  .signout-top, .account-login),
:root .beta-strip button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--command-gap);
  min-height: var(--command-min-height);
  min-width: var(--command-min-height);
  max-width: 100%;
  height: auto;
  padding: 11px 16px;
  border: 1px solid transparent;
  border-radius: var(--command-radius);
  font-family: inherit;
  font-size: var(--command-font-size);
  font-weight: 500;
  line-height: var(--command-line-height);
  letter-spacing: normal;
  text-align: center;
  vertical-align: middle;
  white-space: normal;
  overflow-wrap: anywhere;
}
:root :is(button, a, label):is(.outline, .small, .calendar-trigger) { border-color: var(--line); }
:root :is(button, a):is(.account-open, .signout-top) { border-color: #ead3d3; }
:root button.entry-secondary { border-color: #888; }
:root button.account-login { border-color: #244B4A; justify-content: center; text-align: center; }
:root .beta-strip button { border-color: #dfbcbc; }
:root button.calendar-trigger { justify-content: flex-start; text-align: left; }
label.import-label { margin: 0; cursor: pointer; }
:root :is(button, a, label):is(.primary, .outline, .small, .text, .entry-secondary,
  .calendar-trigger, .account-open, .admin-open, .signout-top) > svg.ux-icon {
  width: 18px;
  height: 18px;
  min-width: 18px;
  max-width: 18px;
  flex: 0 0 18px;
  margin: 0;
}
:root :is(button, a, label):is(.primary, .outline, .small, .entry-secondary) > span { margin-left: 0; }

/* Equal heights within each row, including secondary text actions and file imports. */
.form-actions, .profile-save, .quality-primary-actions, .quality-step-actions,
.audit-actions, .audit-filters, .quality-filters, .scenario-card-actions,
.range-actions, .flow-inline, .scenarios-entry > div:last-child {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
}
.form-actions > :is(button, label), .profile-save > button,
.quality-primary-actions > button, .quality-step-actions > button,
.audit-actions > button, .audit-filters > button, .quality-filters > button,
.scenario-card-actions > button, .range-actions > button, .flow-inline > button,
.scenarios-entry > div:last-child > button { align-self: stretch; }
.form-actions > :is(p, span) { align-self: center; }
.date-actions { align-items: end; flex-wrap: wrap; }
.decision-controls > button { margin-bottom: 0; }
.profile-heading { flex-wrap: wrap; }
.profile-heading > div:first-child { flex: 1 1 320px; }
.profile-heading > button { margin-top: 0; }
.flow-navigation { flex-wrap: wrap; }

/* Navigation and repeated choices have their own layout, with readable labels. */
nav .tab, .admin-nav button, button.flow-stage {
  min-height: var(--command-min-height);
  font-size: var(--command-font-size);
  line-height: var(--command-line-height);
}
button.avatar-tone { min-height: var(--command-min-height); }
.date-calendar button {
  min-height: 36px;
  font-size: var(--command-font-size);
  line-height: var(--command-line-height);
  padding: 8px;
}
.calendar-head button { min-width: 36px; }

/* Keep full-size controls on small screens; wrap rows instead of reducing type. */
@media (max-width: 700px) {
  header { display: flex; flex-wrap: wrap; height: auto; min-height: 100px; gap: 14px; padding: 16px 5%; }
  header .identity { flex: 1 1 180px; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
  .date-actions { flex-direction: row; }
  .form-actions > :is(button, label), .profile-save > button,
  .admin-toolbar > :is(button, label.import-label),
  .scenarios-entry > div:last-child > button { flex: 1 1 180px; }
  .scenarios-entry { flex-wrap: wrap; }
  .scenarios-entry > div:last-child { width: 100%; }
  .journal-entry > button { align-self: stretch; }
}

.active-dossier{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;margin-bottom:20px;border:1px solid var(--line);border-left:4px solid #aa8960;border-radius:9px;background:#F7F3EB}.active-dossier .eyebrow{display:block;margin-bottom:8px}.active-dossier strong{font-size:18px}.active-dossier p{margin:8px 0 0}.guided-apply-dialog{width:min(800px,calc(100vw - 24px))}.guided-apply-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.guided-apply-preview p{margin:0;background:#F1EADD;padding:14px;border-radius:7px}.guided-apply-dialog li{margin:10px 0;line-height:1.5}@media(max-width:600px){.guided-apply-preview{grid-template-columns:1fr}.active-dossier button{width:100%}}

.draft-notice{position:sticky;bottom:0;margin:0;padding:8px 24px;background:#fff5f4;color:#922a2e;border-top:1px solid #ecd6d5;z-index:15}.draft-notice:empty{display:none}#draftGuardError{color:#b83030}

#dossierModelForm>label,#dossierConvert label{display:grid;gap:7px;margin:12px 0}#dossierModelDialog{max-width:720px;width:calc(100% - 32px)}#activeDossierPanel{flex-wrap:wrap}#dossierConvert{border:1px solid #ecd6d5;border-radius:12px;padding:16px;margin:16px 0}
/* One contextual entry point, secondary details kept compact. */
main nav{gap:20px;margin:12px 0 16px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}
.active-dossier{padding:14px 18px;margin-bottom:12px}.active-dossier strong{font-size:18px}
.next-action{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:4px solid #244B4A;background:#F1EADD;border-radius:8px;padding:24px;margin-bottom:16px}
.next-action h1{font-size:25px;line-height:1.25;margin:5px 0 10px;letter-spacing:-.3px}.next-action p:not(.eyebrow){max-width:760px;line-height:1.6;margin:0 0 12px}.next-action>button{flex-shrink:0}.next-action .quality-badge{font-size:12px}
.quality-disclosure,.guided-compact{border:1px solid #D5C8B3;border-radius:8px;margin:0 0 12px;background:white}.quality-disclosure>summary,.guided-compact>summary{padding:14px 18px;cursor:pointer;font-weight:600;line-height:1.5}.quality-disclosure .quality-panel{border:0;margin:0;box-shadow:none;border-radius:0}.guided-compact>p,.guided-compact>.form-actions{margin:8px 18px 16px}.guided-compact .form-actions{flex-wrap:wrap}
.quality-primary-actions .primary{background:white;color:#242D2A;border:1px solid #d2d2d2}
@media(max-width:700px){.next-action{padding:18px;align-items:stretch;flex-direction:column;gap:12px}.next-action h1{font-size:23px}.next-action>button{width:100%}main nav{gap:20px;margin-bottom:12px}.quality-disclosure>summary span{display:block;font-weight:400;font-size:12px}.active-dossier{padding:12px}}
.empty-dossier .quality-disclosure,.empty-dossier #decisionPanel,.empty-dossier .scenarios-entry,.empty-dossier .journey,.empty-dossier .metrics,.empty-dossier .lower-grid,.empty-dossier .purpose,.empty-dossier .source-note{display:none}
/* Accessibility: readable explanations, strong focus and single-pointer alternatives. */
:root{--command-font-size:14px;--muted:#242D2A;--line:#65645B}
body{font-size:16px;line-height:1.5}
:root .fine{font-size:14px!important;line-height:1.65;color:#242D2A}
:root :is(small,.muted,.legend,.source-note,.provenance,.eyebrow,.quality-badge,.flow-stage,.progress-label,.years){font-size:14px;line-height:1.5}
:root :is(input,textarea,select){font-size:16px;max-width:100%;border-color:#65645B}
input::placeholder,textarea::placeholder{color:#242D2A;opacity:1}
:root :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid #174f88;outline-offset:3px;box-shadow:0 0 0 2px white}
:root .primary{background:#244B4A;color:white;border-color:#244B4A}
:root :is(.text,.auth-text-button,.account-login){color:#244B4A}
:root button.calendar-trigger{border-color:#65645B;white-space:normal;line-height:1.5}
:root .date-calendar{width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;border:1px solid #65645B}
:root .date-calendar button{min-height:44px;font-size:14px}.date-calendar .calendar-head{flex-wrap:wrap}.calendar-head button{min-width:44px}
:root .date-calendar button.chosen{background:#244B4A;color:white}
:root .date-calendar button:disabled{color:#242D2A;background:#E1D8C9}
:root summary{min-height:44px;padding-top:10px;padding-bottom:10px;cursor:pointer}
.skip-link{position:absolute;left:12px;top:-100px;z-index:1000;background:white;color:#174f88;padding:12px;border:2px solid #174f88}
.skip-link:focus{top:12px}
#chart{touch-action:pan-y;overflow:visible}
.timeline-controls{margin:12px 0}.timeline-controls button{flex:1 1 160px}
:root .flow-profile input,:root .flow-item input[type=checkbox],:root .scenario-select input{accent-color:#244B4A}
.scenario-select{min-height:44px;padding:8px;gap:10px;cursor:pointer}
:root .quality-green{color:#18562f;background:#edf6ee}.quality-yellow{color:#684000;background:#fff5dc}.quality-red{color:#92272d;background:#E7DCC8}
:root .quality-badge,:root .weather-cloud,:root .weather-rain{font-size:14px}
main,.view,.panel,.position-layout>*,.profile-layout>*,.settings-grid>*,.flow-fields>*{min-width:0}
:root .draft-notice{position:static;overflow-wrap:anywhere}
:root :is(p,small,label,.fine,.insight){overflow-wrap:anywhere}
:root .table-wrap,:root .period-table-wrap,:root .scenario-table-wrap{overflow-x:auto;max-width:100%}
@media(max-width:700px){.profile-layout,.position-layout,.settings-grid,.lower-grid,.metrics,.decision-metrics,.flow-fields,.guided-apply-preview{grid-template-columns:1fr}.settings-grid>section:last-child{grid-column:auto}.overview-range,.range-fields,.decision-controls,.quality-heading,.quality-actions{flex-wrap:wrap}.range-fields>label{flex:1 1 160px}.profile-heading>div:first-child{flex-basis:100%}.beta-strip{flex-wrap:wrap}.flow-shell{padding:0 16px 16px}.flow-lead{font-size:16px}main{padding-left:4%;padding-right:4%}.date-calendar .calendar-days{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-days button{padding:6px 0;min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){:root :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid Highlight}.primary,.calendar-trigger{border:1px solid ButtonText}}
.auth-pending .skip-link{display:none}
.table-wrap:focus-visible,.period-table-wrap:focus-visible,.scenario-table-wrap:focus-visible{outline:3px solid #174f88;outline-offset:3px}
.decision-weather{display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:16px 18px;background:#F1EADD;border:1px solid #65645B;border-radius:10px}.decision-weather .weather-icon{width:40px;flex-basis:40px}.decision-weather strong{font-size:16px}.decision-weather p{margin:5px 0 0}.decision-weather.weather-storm{background:#38383c;color:white}.decision-weather.weather-storm .fine{color:white}.decision-weather.weather-storm .weather-icon{color:#fff}.decision-weather.weather-sun .weather-icon,.decision-weather.weather-cloud .weather-icon,.decision-weather.weather-rain .weather-icon{color:#a82c32}@media(max-width:600px){.decision-weather{align-items:flex-start;padding:14px;gap:12px}}
/* Three spaces; detailed controls remain available in their own context. */
:root .primary-nav{display:flex;gap:12px;border-bottom:1px solid #D5C8B3;padding:0 0 12px;margin:14px 0;overflow:visible;flex-wrap:wrap}
:root .primary-nav .tab{padding:12px 20px;border:1px solid #65645B;border-radius:8px;font-size:16px;min-height:48px;background:white;color:#242D2A;flex:1 1 160px}
:root .primary-nav .tab.active{background:#242D2A;color:white;border-color:#242D2A}
:root .secondary-nav{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin:0 0 20px;overflow:visible;white-space:normal}
:root .secondary-nav[hidden]{display:none}
:root .secondary-nav .tab{padding:10px 14px;font-size:14px;border:0;border-radius:6px;color:#242D2A}
:root .secondary-nav .tab.active{background:#f6eceb;color:#92272d}
.nav-more,.dossier-options,.beta-tools{position:relative}
.nav-more>summary,.dossier-options>summary,.beta-tools>summary{font-size:14px;padding:10px 14px;min-height:44px;color:#242D2A;cursor:pointer}
.nav-more[open],.dossier-options[open],.beta-tools[open]{border:1px solid #65645B;border-radius:8px;padding:6px;background:white}
.nav-more[open]>button{display:flex;width:100%;margin-top:6px}.nav-more[open]>summary{font-weight:600}
.dossier-options{max-width:100%;flex:0 1 460px}.dossier-options .fine{line-height:1.6}.dossier-options>button{margin:6px}
.active-dossier>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.active-dossier .eyebrow{font-size:13px;margin:0}.active-dossier #betaSync{flex-basis:100%;margin-top:2px}.active-dossier strong{font-size:18px}
.beta-strip{font-size:13px;padding-top:5px;padding-bottom:5px}.beta-strip #betaIdentity{display:none}.beta-tools[open]>button{margin:6px}
.next-action{padding:18px 22px}.next-action h1{font-size:23px}.next-action .eyebrow{font-size:12px}.next-action p:not(.eyebrow){margin-bottom:8px}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.metrics article{padding:20px}.metrics h3{font-size:28px}
.cleanup-details{border:1px solid #d8d8d8;border-radius:8px;margin:12px 0;background:#F7F3EB}.cleanup-details>summary{padding:13px 16px;font-weight:600;font-size:15px}.cleanup-details[open]>:not(summary){margin:14px 16px}.cleanup-details .cleanup-details{border-color:#e0e0e0}
.cleanup-details>.form-actions{flex-wrap:wrap}.cleanup-details .standard-posts{margin:12px}.cleanup-details>article.accent{padding:16px;background:#faf5f5;color:var(--ink)}
.cleanup-details>article.accent :is(p,span,small,strong,h3){color:inherit}
.cleanup-details>article.accent .ux-icon{color:#244B4A}.cleanup-details>.lower-grid{margin-top:16px}
.section-heading .eyebrow{display:none}.section-heading h2{font-size:24px;margin-top:0}.section-heading{margin-top:18px}
#account .purpose{flex-wrap:wrap;margin:0;padding:14px;background:#F1EADD}#account .purpose textarea{width:100%;margin:10px 0 0}#account .timeline-avatar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0;padding:12px}#account .timeline-avatar .avatar-portrait{width:60px;height:66px;margin:0}
#decisions .scenarios-entry{margin-bottom:0}.empty-dossier #horizonDetails{display:none}
@media(max-width:700px){:root .primary-nav{gap:8px}:root .primary-nav .tab{flex:1 1 90px;padding:10px 8px;font-size:14px}.metrics{grid-template-columns:1fr}.metrics h3{font-size:27px}.dossier-options{flex-basis:100%}.active-dossier #betaSync{font-size:14px}:root .secondary-nav{gap:6px}:root .secondary-nav .tab{padding:10px}.cleanup-details[open]>:not(summary){margin:12px}.position-layout>aside>.cleanup-details{width:100%}.next-action{padding:18px}}
.range-options{margin-bottom:10px}.range-options .overview-range{padding:0}.timeline-help{margin:8px 0;color:#242D2A}.timeline-help>summary{font-size:14px;font-weight:400;padding:10px 0}.timeline-help .fine{margin:0 0 12px}
@media(max-width:700px){.metrics{gap:8px}.metrics article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px 16px}.metrics article>p{align-self:center;margin:0}.metrics article>h3{margin:0;font-size:24px}.metrics article>span{grid-column:1/-1}}
body.recovery-mode>header,body.recovery-mode>main,body.recovery-mode>.beta-strip,body.recovery-mode>.beta-notice{display:none!important}.recovery-screen{max-width:760px;margin:40px auto;padding:16px}.recovery-screen[hidden]{display:none}.recovery-screen h1{font-size:28px}.recovery-screen p{line-height:1.7}.recovery-screen .form-actions{flex-wrap:wrap}
/* L'horizon est le contenu principal ; ses états restent consultables. */
.header-beta{position:relative;font-size:14px;color:#242D2A}.header-beta>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;padding:8px}.header-beta[open]{max-width:300px}.header-beta p{font-size:14px}.horizon-statusbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 0 14px;padding:0;border:0;font-size:14px}.horizon-statusbar .dossier-options{margin-right:auto;min-width:0}.horizon-statusbar summary{min-height:44px;padding:10px 4px;cursor:pointer}.horizon-statusbar .dossier-options[open],.horizon-statusbar .sync-details[open]{flex-basis:100%;padding:12px;border:1px solid #d9d3ce;border-radius:12px;background:#F1EADD}.horizon-statusbar p{margin:8px 0}.horizon-statusbar button{font-size:14px}.horizon-statusbar .quality-chip{border-color:transparent}.quality-chip.quality-red{color:#244B4A;background:#E7DCC8}.quality-chip.quality-yellow{color:#735000;background:#fff7df}.quality-chip.quality-green{color:#24603b;background:#edf7ef}.sync-warning{color:#a82c32}.compact-next{padding:12px 0;margin:14px 0;box-shadow:none;border:0;border-top:1px solid #D5C8B3;background:transparent;align-items:flex-start}.compact-next>details{flex:1;min-width:0}.compact-next summary{padding:12px 4px;min-height:44px;cursor:pointer;font-size:14px}.compact-next h2{font-size:20px}.compact-next:not(.intro-next) #nextActionKicker,.compact-next:not(.intro-next) #nextActionState{display:none}.intro-next{padding:20px;border:1px solid #D5C8B3;border-left:4px solid #244B4A;border-radius:12px;background:#F1EADD}.intro-next>details>summary{display:none}.exploration-mode:not(.needs-onboarding) #overview .timeline-help,.exploration-mode:not(.needs-onboarding) #overview .compact-next:not(.has-blocker){display:none}.exploration-mode #explorationMode{background:#27272b;color:#F7F3EB}.exploration-mode #overview .chart-wrap{min-height:280px}#overview:focus-visible{outline:3px solid #174f88;outline-offset:4px}
@media(max-width:700px){.horizon-statusbar{gap:6px;margin-bottom:10px}.horizon-statusbar .dossier-options{flex-basis:100%}.horizon-statusbar>button{flex:1}.compact-next{flex-wrap:wrap}.compact-next>details{flex-basis:100%}.compact-next>button{width:100%}.header-beta[open]{flex-basis:100%;max-width:100%}.exploration-mode #overview .chart-wrap{min-height:230px}}
.header-beta .beta-popover{position:absolute;right:0;top:100%;z-index:30;width:280px;max-width:calc(100vw - 32px);padding:16px;border:1px solid #d9d3ce;border-radius:12px;background:#F7F3EB;box-shadow:0 8px 24px #0002;overflow-wrap:anywhere}.header-beta[open]{max-width:none}header .header-beta{flex:none}
/* Exploration : la courbe précède les montants et les réglages restent dessous. */
.exploration-mode:not(.needs-onboarding) #overview .journey{display:flex;flex-direction:column}.exploration-mode:not(.needs-onboarding) #overview .journey>*{order:3}.exploration-mode:not(.needs-onboarding) #overview .journey>.journey-head{order:1}.exploration-mode:not(.needs-onboarding) #overview .journey>.chart-wrap{order:2;min-height:0}.exploration-mode:not(.needs-onboarding) #overview .metrics{margin:12px 0}.exploration-mode:not(.needs-onboarding) #overview .metrics article{padding:14px}.exploration-mode:not(.needs-onboarding) #overview .metrics h3{font-size:24px}
@media(max-width:700px){.exploration-mode:not(.needs-onboarding) #overview .journey{padding:16px 12px}.exploration-mode:not(.needs-onboarding) #overview .journey>.chart-wrap{margin:12px 0}.exploration-mode:not(.needs-onboarding) #overview .metrics article{padding:10px 12px}.exploration-mode:not(.needs-onboarding) #overview .metrics article span{margin:0}.exploration-mode:not(.needs-onboarding) #overview .journey-head{gap:10px}.exploration-mode:not(.needs-onboarding) #overview .journey-head h2{font-size:26px}}
.exploration-mode:not(.needs-onboarding) #overview .journey>:is(.years,.legend){order:2}
/* Icônes seules pour les commandes familières ; les rubriques restent nommées. */
.mobile-menu-label{display:none}.command-icon{display:block;width:22px;height:22px;flex:0 0 22px}.mobile-icon-command .command-label{margin:0}:root #adminOpen[hidden]{display:none!important}:root .mobile-icon-command{position:relative;gap:8px;white-space:nowrap;overflow-wrap:normal}:root .mobile-icon-command>svg,:root .mobile-icon-command .account-symbol svg{width:22px;height:22px;max-width:22px;min-width:22px;flex:0 0 22px;margin:0}
@media(max-width:700px){
 body>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;padding:10px 5%;height:auto;min-height:88px}body>header>.brand{grid-row:1;grid-column:1;min-width:0;align-self:start;margin-top:6px}body>header>.identity{grid-row:1;grid-column:2;display:grid;grid-template-columns:repeat(3,44px);flex:none;gap:0 4px;justify-content:end}body>header>.identity:has(#adminOpen[hidden]){grid-template-columns:repeat(2,44px)}body>header>.identity>.mobile-icon-command{grid-row:1}body>header>.identity>.header-beta{grid-row:2;grid-column:1/-1;justify-self:end}body>header>.identity>.header-beta>summary{min-height:44px;padding:8px 0}body>header .beta-popover{right:0}
 :root body>header .mobile-icon-command,:root .timeline-controls>.mobile-icon-command{width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;flex:0 0 44px;padding:10px;gap:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ead3d3;border-radius:8px;background:#F7F3EB;color:#244B4A}
 :root .mobile-icon-command .command-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
 :root .mobile-icon-command .account-symbol{display:flex;align-items:center;justify-content:center}:root .mobile-icon-command[aria-current=page]{background:#E7DCC8;border-color:#244B4A}
 :root .timeline-controls{display:flex;flex-wrap:nowrap;gap:12px;justify-content:flex-end}:root .primary-nav{flex-wrap:nowrap;gap:6px}:root .primary-nav .tab{flex:1 1 0;min-width:0;padding:10px 4px;white-space:nowrap;overflow-wrap:normal;font-size:14px}:root .primary-nav .tab>.ux-icon{display:block}.primary-nav .desktop-menu-label{display:none}.primary-nav .mobile-menu-label{display:inline}
 :root .mobile-icon-command:focus-visible::after{content:attr(aria-label);position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:max-content;max-width:calc(100vw - 32px);padding:8px 12px;border-radius:6px;background:#27272b;color:#F7F3EB;font-size:14px;line-height:1.4;white-space:normal;box-shadow:0 4px 12px #0003}
}
/* Commandes sur une ligne : libellés mobiles courts, groupes flexibles. */
:root button:not(:is(.avatar-choice,.avatar-tone,.flow-profile,.position-item,.flow-stage)),:root button:not(:is(.avatar-choice,.avatar-tone,.flow-profile,.position-item,.flow-stage)) :is(.command-caption,.command-full,.command-short){white-space:nowrap;overflow-wrap:normal;word-break:normal}:root button:not(:is(.avatar-choice,.avatar-tone,.flow-profile,.position-item,.flow-stage)){font-size:14px;line-height:20px;max-width:100%;min-width:0;min-height:44px;font-family:inherit}:root button>.command-caption{display:block;flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;margin:0}.command-short{display:none}:root button.calendar-trigger{white-space:nowrap}.form-actions>button,.profile-save>button,.audit-actions>button,.scenario-card-actions>button{min-width:0}:root #chart{overflow:hidden}.chart-wrap{max-width:100%;min-width:0}:root .chart-choice{font-size:16px;line-height:1.5;min-width:0}:root #chartMetric{font-size:16px;font-weight:400;font-family:inherit;min-width:0;width:100%;max-width:100%}
@media(max-width:700px){
 .command-caption>.command-full{display:none}.command-caption>.command-short{display:inline}:root button:not(:is(.avatar-choice,.avatar-tone,.flow-profile,.position-item,.flow-stage)){padding-left:10px;padding-right:10px}:root .horizon-statusbar>button{flex:0 0 auto;height:44px;padding:8px 10px}:root .horizon-statusbar{gap:6px;align-items:center}:root .horizon-statusbar .sync-details:not([open]){margin-right:auto;flex:0 1 auto}:root .horizon-statusbar .sync-details summary{font-size:14px;white-space:nowrap;padding:10px 0}:root .horizon-statusbar .dossier-options>summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root .journey-head{width:100%}:root .date-actions{display:flex;flex-wrap:wrap;width:100%;min-width:0;gap:8px;align-items:center}:root .date-actions .chart-choice{display:flex;align-items:center;gap:8px;flex:1 1 100%;min-width:0;margin:0}:root #chartMetric{flex:1 1 auto;width:0;min-width:0;height:44px;max-width:100%}:root .date-actions>button{flex:0 1 auto;font-size:14px;min-height:44px}:root .years{font-size:14px;gap:8px;flex-wrap:nowrap;min-width:0}:root .years>span{min-width:0;max-width:33.333%;text-align:center;overflow-wrap:anywhere}:root .years>span:first-child{text-align:left}:root .years>span:last-child{text-align:right}
 :root .secondary-nav,:root .admin-nav{overflow-x:auto;flex-wrap:nowrap;max-width:100%;gap:6px}:root .secondary-nav>*,:root .admin-nav>button{flex-shrink:0}:root .nav-more>summary{white-space:nowrap;font-size:14px}:root .form-actions>button,:root .profile-save>button,:root .audit-actions>button,:root .scenario-card-actions>button{flex:0 1 auto}:root .flow-navigation>button{flex:0 1 auto}:root .cleanup-details>summary{font-size:14px}:root .metrics article>p,:root .legend{font-size:14px}:root .chart-choice{font-size:16px}
}

:root button:not(:is(.avatar-choice,.avatar-tone,.flow-profile,.position-item,.flow-stage)){appearance:none;-webkit-appearance:none;background-image:none}

/* Label indépendant du champ : on déplace le groupe, jamais un mot. */
:root .date-actions .chart-choice{flex:1 1 280px;min-width:240px;width:auto;white-space:nowrap;overflow-wrap:normal}:root .chart-field-label{display:inline-block;flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:normal}:root #chartMetric{flex:1 1 0;width:0;min-width:0}:root .primary-nav .tab{display:inline-flex;align-items:center;justify-content:center;gap:8px}:root .primary-nav .tab>.ux-icon{display:block;flex:0 0 18px;width:18px;height:18px;margin:0;color:#244B4A}:root .primary-nav .tab.active>.ux-icon{color:#F7F3EB}
@media(max-width:700px){:root .date-actions .chart-choice{flex-basis:100%;min-width:0}:root .primary-nav .tab{gap:4px}:root .primary-nav .tab>.ux-icon{display:block;flex:0 0 16px;width:16px;height:16px;min-width:16px;max-width:16px}}

/* Les deux présentations s'appliquent à toutes les rubriques financières. */
body.exploration-mode:not(.needs-onboarding) .presentation-page>.compact-next:not(.has-blocker):not(.intro-next),body.exploration-mode:not(.needs-onboarding) .presentation-page .presentation-hint{display:none}
body:not(.exploration-mode) .presentation-page:not(#overview)>.compact-next:not(.intro-next){padding:14px 16px;margin:0 0 16px;border:1px solid #D5C8B3;border-left:3px solid #aa8960;border-radius:10px;background:#F1EADD}
body:not(.exploration-mode) .presentation-page:not(#overview)>.compact-next #nextActionTitle{font-size:20px;margin:8px 0}body:not(.exploration-mode) .presentation-page:not(#overview)>.compact-next #nextActionText{font-size:14px;line-height:1.6}
/* Un tableau de bord commun : deux voyants de données, un réglage de présentation. */
:root .data-health{display:block;margin:0 0 16px;padding:0;border:1px solid #D5C8B3;border-radius:14px;background:#F7F3EB;overflow:visible}:root .data-health .dossier-options{margin:0;max-width:none;width:100%;border:0;border-radius:14px 14px 0 0;padding:0;background:transparent}:root .data-health .dossier-options>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px;list-style:none;white-space:nowrap;color:#242D2A}:root .data-health summary::marker{content:''}.data-health summary::-webkit-details-marker{display:none}:root .data-health .dossier-options>summary strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:600}:root .data-health .dossier-options>summary .fine{font-size:14px!important;flex:none}:root .instrument-icon{width:22px;height:22px;flex:0 0 22px;color:#244B4A}.instrument-chevron{width:16px;height:16px;flex:0 0 16px;color:#242D2A}.dossier-options[open] .instrument-chevron{transform:rotate(90deg)}:root .data-health .dossier-options>p{margin:8px 16px}:root .data-health .dossier-options>button{margin:4px 0 12px 16px}
:root .data-health .instrument-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #D5C8B3;border-radius:0 0 14px 14px;overflow:hidden}:root .data-health .sync-details{min-width:0;margin:0;flex:none}:root .data-health .instrument-command{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 8px;grid-template-rows:20px 20px;align-items:center;column-gap:10px;row-gap:2px;width:100%;height:auto;min-height:68px;min-width:0;max-width:100%;margin:0;padding:12px 16px;border:0;border-radius:0;background:transparent;color:#242D2A;text-align:left;font-size:14px;line-height:20px;white-space:nowrap;box-shadow:none}:root .data-health .instrument-command .instrument-icon{grid-column:1;grid-row:1/3}:root .data-health .instrument-label{grid-column:2;grid-row:1;color:#242D2A;font-size:14px;line-height:20px;white-space:nowrap}:root .data-health .instrument-value{grid-column:2;grid-row:2;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap}:root .data-health .instrument-command .instrument-light,:root .data-health .display-switch{grid-column:3;grid-row:1/3}:root .data-health #horizonQuality,:root .data-health #explorationMode{border-left:1px solid #D5C8B3}.instrument-light{width:8px;height:8px;border-radius:50%;background:#b57a0b}.sync-saved .instrument-light,.quality-green .instrument-light{background:#24603b}.sync-warning .instrument-light,.quality-red .instrument-light{background:#a82c32}.quality-yellow .instrument-light,.sync-pending .instrument-light{background:#926600}:root .data-health .quality-green .instrument-value{color:#24603b}:root .data-health .quality-red .instrument-value,:root .data-health .sync-warning .instrument-value{color:#a82c32}:root .data-health .quality-yellow .instrument-value{color:#735000}:root .data-health .sync-details[open]{grid-column:1/-1;border:0;border-bottom:1px solid #D5C8B3;padding:0;border-radius:0;background:transparent}:root .data-health .sync-details[open]>.instrument-detail{padding:0 16px 14px}.display-switch{width:8px;height:8px;border-radius:2px;background:#aaa}:root .data-health #explorationMode[aria-pressed=true]{background:#f4efea}:root .data-health #explorationMode[aria-pressed=true] .display-switch{background:#244B4A}.simple-lines{display:none}.exploration-mode .simple-lines{display:block}.exploration-mode .guided-lines{display:none}:root .data-health .instrument-command:hover{background:#f0eae5}:root .data-health .instrument-command:focus-visible{outline-offset:-4px}
@media(max-width:700px){:root .data-health .dossier-options>summary{padding:10px 12px;gap:8px}:root .data-health .instrument-command{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:86px;padding:8px 4px;text-align:center}:root .data-health .instrument-command .instrument-icon{margin:0 0 4px}:root .data-health .instrument-label{font-size:14px;line-height:20px}:root .data-health .instrument-value{font-size:14px;line-height:20px}:root .data-health .instrument-light,:root .data-health .display-switch{position:absolute;top:12px;right:12px;width:6px;height:6px}:root .data-health .instrument-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* En portrait, la cellule de sauvegarde occupe toute sa colonne comme les boutons voisins. */
@media (max-width: 700px) and (orientation: portrait) {
  :root .data-health .sync-details:not([open]) {
    margin-right: 0;
    width: 100%;
    justify-self: stretch;
  }
  :root .data-health .sync-details > summary.instrument-command {
    padding: 8px 4px;
  }
}
@media(forced-colors:active){.instrument-light,.display-switch{border:1px solid CanvasText;background:CanvasText}}

/* Une fermeture compacte sur téléphone, avec le libellé complet sur ordinateur. */
:root button.dialog-close > .dialog-close-icon { display: none; }
@media (max-width: 700px), (max-height: 500px) and (pointer: coarse) {
  :root button.dialog-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 10px;
    gap: 0;
    border-color: transparent;
    background: transparent;
    color: var(--ink);
  }
  :root button.dialog-close > .dialog-close-label { display: none; }
  :root button.dialog-close > .dialog-close-icon {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin: 0;
  }
  .quality-dialog-head > div:first-child, .flow-header > div:first-child {
    flex: 1;
    min-width: 0;
  }
}

/* Language controls are independent of dossier currency and fit the mobile flow. */
/* One small language selector shares the existing header or title row. */
:root .language-control{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:#242D2A}
.language-indicator{display:inline-flex;align-items:center;gap:3px;pointer-events:none;font-size:12px;line-height:1;font-weight:500;letter-spacing:.02em}
.language-indicator svg{width:10px;height:10px;flex:none}
:root select.language-select{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px}
.language-control:hover{color:#242D2A}
.language-control:focus-within{outline:3px solid #174f88;outline-offset:2px}
.entry-language-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px;min-width:0}
.entry-language-row>h2,.entry-language-row>.eyebrow{flex:1;min-width:0;margin:0}
.entry-language-row>.language-control{margin-top:-8px;margin-bottom:-8px}
.entry-language-row>img{max-width:calc(100% - 56px);height:auto}
body>header>.identity{position:relative;padding-bottom:44px}
body>header>.identity>.language-control{position:absolute;right:0;bottom:0;flex:none}
@media(max-width:700px){
 body>header>.identity{padding-bottom:0}
 body>header>.identity>.language-control{position:relative;right:auto;bottom:auto;grid-row:2;grid-column:-2/-1;justify-self:end}
 body>header>.identity>.header-beta{grid-column:1/-2}
 body>header .header-beta .beta-popover{right:-48px}
 .entry-language-row{gap:8px}
}

/* Keep disabled controls readable; their pale surface still signals the state. */
:root :is(button,input,select,textarea):disabled:not(.calendar-source):not(.language-select){opacity:1;color:#242D2A;background:#f0f0f0;border-color:#999;cursor:not-allowed}
/* Chart labels use dark ink; the coloured series keep their existing identity. */
:root :is(#chart,#periodChart,#scenarioChart) text,:root #flowContent svg text{fill:var(--ink)}

/* Caption wrappers are created at runtime: no descendant may reserve arrow space. */
:root button > .command-caption,
:root button > .command-caption > :is(.command-full, .command-short) {
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  text-align: center;
}
