@font-face{font-family:ChfSans;src:url('/static/fonts/NimbusSans-Regular.otf') format('opentype');font-display:swap}
@font-face{font-family:ChfSans;src:url('/static/fonts/NimbusSans-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:ChfEditorial;src:url('/static/fonts/P052-Roman.otf') format('opentype');font-display:swap}
/* Socle commun : les composants métier et leurs états restent identiques. */
html[data-template]{--chf-surface:#fff;--chf-ink:#25251f;--chf-muted:#625e56;--chf-line:#cec7b9;--chf-paper:#f4f0e7;--chf-accent:#a53f2b;--chf-soft:#eee5d7;--chf-radius:0px;--chf-heading:ChfEditorial,Georgia,serif;--chf-good:#27623e;--chf-bad:#a62b38;--chf-space:24px;color-scheme:light;--ink:var(--chf-ink)!important;--deep:var(--chf-ink)!important;--navy:var(--chf-ink)!important;--cyan:var(--chf-accent)!important;--teal:var(--chf-accent)!important;--muted:var(--chf-muted)!important;--line:var(--chf-line)!important;--paper:var(--chf-paper)!important;--bg:var(--chf-paper)!important;--pale:var(--chf-soft)!important;--soft:var(--chf-soft)!important;--mint:var(--chf-soft)!important;--white:var(--chf-surface)!important;--good:var(--chf-good)!important;--bad:var(--chf-bad)!important}
html[data-template=atelier]{--chf-ink:#302c36;--chf-muted:#655a6b;--chf-line:#bfb7c4;--chf-paper:#e9e6e2;--chf-surface:#fbfaf6;--chf-accent:#59445f;--chf-soft:#e7db98;--chf-heading:ChfSans,Arial,sans-serif;--chf-space:20px}
html[data-template=horizon]{--chf-ink:#173c43;--chf-muted:#49676d;--chf-line:#b4ccd0;--chf-paper:#f2f7f7;--chf-accent:#a84730;--chf-soft:#e2eeee;--chf-heading:ChfSans,Arial,sans-serif;--chf-space:26px}
html[data-template] body{background:var(--chf-paper)!important;color:var(--chf-ink)!important;font-family:ChfSans,Arial,sans-serif!important;font-size:16px;line-height:1.5}
html[data-template] :is(button,input,textarea,select){font-family:ChfSans,Arial,sans-serif!important}
html[data-template] :is(h1,h2,h3,.module-title,.page-head){font-family:var(--chf-heading)!important;font-weight:400;letter-spacing:-.02em;color:var(--chf-ink)}
html[data-template] :is(h1,h2,h3){line-height:1.2}
html[data-template] :is(h1){font-size:clamp(28px,3vw,43px)}
html[data-template] :is(h2){font-size:clamp(23px,2.2vw,32px)}
html[data-template] :is(h3){font-size:21px}
html[data-template] :is(.metric,.bank-position,.orbit-metric,.time31-counter strong,.gestion-subvalue){font-variant-numeric:tabular-nums;color:var(--chf-ink)!important}
html[data-template=carnet] :is(.metric,.bank-position,.time31-counter strong){font-family:ChfEditorial,Georgia,serif!important;font-weight:400;letter-spacing:-.04em}
html[data-template] :is(.card,.source-box,.source-guide,.time31,.placeholder,.empty,.finance-check,dialog,#gate){background:var(--chf-surface)!important;color:var(--chf-ink);border-color:var(--chf-line)!important;border-radius:var(--chf-radius)!important;box-shadow:none!important}
html[data-template] .card{padding:var(--chf-space)}
html[data-template] :is(.hero,.topbar,.toolbar,.home-brand,.modal-head,.bs-head){background:var(--chf-surface)!important;color:var(--chf-ink)!important;border-color:var(--chf-line)!important;border-radius:0!important;box-shadow:none!important}
html[data-template] .hero{border:0;border-top:1px solid var(--chf-line);border-bottom:1px solid var(--chf-line);padding:28px 0;background:transparent!important}
html[data-template] :is(.topbar,.toolbar){border-bottom:1px solid var(--chf-line)!important}
html[data-template] :is(.sidebar,aside:not(.chf-aside)){background:var(--chf-surface);border-color:var(--chf-line)!important}
html[data-template] :is(.eyebrow,.scope,.brand-note,.source,.muted,.small,.identity,.sidetitle,.quiet,.time31-note){color:var(--chf-muted)!important}
html[data-template] :is(button,.download){border-radius:var(--chf-radius)!important;background:var(--chf-ink);color:var(--chf-surface);box-shadow:none!important}
html[data-template] :is(button.secondary,.download.secondary,.secondary,.tabs button,.actions button,.finance-tabs button,.bs-steps button,.creation-nav button,.gestion-nav button,.commercial-tabs button,.bs-mainnav button){background:var(--chf-surface);color:var(--chf-ink);border:1px solid var(--chf-line)}
html[data-template] :is(button.active,button[aria-current=page],button[aria-selected=true],button[aria-pressed=true],button.primary){background:var(--chf-ink)!important;color:var(--chf-surface)!important;border-color:var(--chf-ink)!important}
html[data-template] :is(.nav button,button.text,.nav-home){background:transparent;color:var(--chf-ink)}
html[data-template] :is(button:hover,.download:hover){filter:brightness(.94)}
html[data-template] :is(button:disabled,input:disabled,select:disabled){opacity:.6;cursor:not-allowed}
html[data-template] button:disabled{background:var(--chf-soft)!important;color:var(--chf-muted)!important;border:1px solid var(--chf-line)}
html[data-template] :is(aside,.sidebar) button:not(.active):not([aria-current=page]){background:transparent!important;color:var(--chf-ink)!important;border-color:transparent!important;text-align:left}
html[data-template=atelier] .sidebar button:not(.active):not([aria-current=page]){color:#f1eaf1!important}
html[data-template] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--chf-accent)!important;outline-offset:3px}
html[data-template] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--chf-surface);color:var(--chf-ink);border-color:var(--chf-line)!important;border-radius:var(--chf-radius)!important;max-width:100%}
html[data-template] :is(input[type=checkbox],input[type=radio]){accent-color:var(--chf-accent)}
html[data-template] :is(table,td,th){border-color:var(--chf-line)!important}
html[data-template] th{background:var(--chf-soft)!important;color:var(--chf-ink);font-size:12px;letter-spacing:.035em}
html[data-template] td{font-variant-numeric:tabular-nums}
html[data-template] :is(.table-wrap,.tablewrap){overflow:auto;max-width:100%}
html[data-template] :is(.notice,.hint,.source-box,.source-guide){background:var(--chf-soft)!important;color:var(--chf-ink);border-color:var(--chf-accent)!important;border-radius:0!important}
html[data-template] :is(.bar,.bank-gauge){background:var(--chf-accent)!important}
html[data-template] .bartrack{background:var(--chf-soft)!important;border-radius:0}
html[data-template] :is(.tag,.badge){background:var(--chf-soft);color:var(--chf-ink);border-radius:2px}
html[data-template] :is(.bad,.negative){color:var(--chf-bad)!important}
html[data-template] .good{color:var(--chf-good)!important}
html[data-template] :is(.tag.good,.badge.green){background:#e5f1e7;color:#225a38}
html[data-template] :is(.tag.bad,.badge.red){background:#f9e6e7;color:#982433}
html[data-template] :is(.callout,.review){background:var(--chf-soft)!important;color:var(--chf-ink)!important}
html[data-template] .callout :is(p,.eyebrow){color:var(--chf-ink)!important}
html[data-template] :is(.n31-legend,.module,.row,.account,.return,.divider){border-color:var(--chf-line)!important}
html[data-template] #atelier-statusbar{background:var(--chf-soft)!important;color:var(--chf-ink)!important;border-color:var(--chf-line)!important}
html[data-template] #atelier-statusbar :is(a,strong,span){color:var(--chf-ink)!important}
html[data-template] :is(#message,#leon){background:var(--chf-soft);color:var(--chf-ink);border-radius:0;border-color:var(--chf-line)}
/* Le Carnet : lecture continue, filets et notes en marge. */
html[data-template=carnet] #workspace>.view>.grid>.card,html[data-template=carnet] .content>.grid>.card{border:0;border-top:1px solid var(--chf-line)!important;background:transparent!important;padding:22px 0}
html[data-template=carnet] #nav{border-bottom:1px solid var(--chf-line);padding-bottom:12px}
html[data-template=carnet] #nav button{background:transparent;color:var(--chf-ink);padding:10px 12px;border:0}
html[data-template=carnet] #nav button[aria-current=page]{background:transparent!important;color:var(--chf-accent)!important;border-bottom:2px solid var(--chf-accent)!important}
html[data-template=carnet] :is(.help-line,.comment-box,.module-citation){border-left:2px solid var(--chf-accent);padding-left:15px}
html[data-template=carnet] :is(.orbit-heading,.module-title){font-family:ChfEditorial,Georgia,serif!important}
/* L’Atelier : panneaux de travail et sélection matérialisée. */
html[data-template=atelier] body{background-color:var(--chf-paper)!important;background-image:radial-gradient(#b5acbc 0.7px,transparent 0.7px)!important;background-size:19px 19px!important}
html[data-template=atelier] :is(.card,.source-box,.time31){border:1px solid var(--chf-line)!important;box-shadow:4px 4px 0 #302c3614!important}
html[data-template=atelier] :is(h1,h2,h3){font-weight:700}
html[data-template=atelier] :is(.sidebar){background:#302c36!important;color:#fbfaf6!important}
html[data-template=atelier] .sidebar :is(.brand-note,.sidetitle,.side-foot,.foot,.nav button,.nav summary){color:#f1eaf1!important}
html[data-template=atelier] .sidebar :is(.nav button[aria-current=page],.nav button.active){background:#e7db98!important;color:#302c36!important}
html[data-template=atelier] :is(.card-head,.modal-head,.cal-head){background:#ece5ed!important;border-bottom:1px solid var(--chf-line);padding:12px}
html[data-template=atelier] tbody tr:hover{background:#f2edcf}
/* L’Horizon : repères temporels clairs et densité maîtrisée. */
html[data-template=horizon] :is(.topbar,.toolbar){border-top:3px solid #326f79!important}
html[data-template=horizon] :is(.hero,.content>.grid,.page-head){border-left:3px solid #326f79;padding-left:22px}
html[data-template=horizon] :is(.metric,.bank-position){font-weight:400;letter-spacing:-.03em}
html[data-template=horizon] .card{border:1px solid var(--chf-line)!important}
html[data-template=horizon] tr:hover td{background:#edf5f5}
html[data-template=horizon] :is(input[type=date],input[type=month],.bs-steps button,.finance-tabs button){border-bottom:2px solid #326f79!important}
html[data-template=horizon] :is(.orbit-priorities,.finance-check,.bs-version){border-left:3px solid var(--chf-accent)!important}
/* Réglage et fil conducteur communs à toutes les vues et à la console. */
#chf-presentation{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px max(18px,3vw);background:var(--chf-surface);color:var(--chf-ink);border-bottom:1px solid var(--chf-line);font:13px/1.4 ChfSans,Arial,sans-serif;position:relative;z-index:5}
#chf-presentation label{display:inline;margin:0;font-weight:700}
#chf-presentation select{display:inline-block;width:auto;min-width:205px;margin:0;padding:7px 30px 7px 10px;border:1px solid var(--chf-line);font:inherit;min-height:35px}
#chf-presentation-status{color:var(--chf-muted);font-size:12px;flex:1}
#chf-guidance{margin:18px 0;padding:13px 17px;border-top:1px solid var(--chf-line);border-bottom:1px solid var(--chf-line);background:var(--chf-surface);font-size:13px;color:var(--chf-ink)}
#chf-guidance{border-radius:0!important}
#chf-guidance summary{cursor:pointer;font-weight:700;line-height:1.5}
#chf-guidance ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:18px 0 4px;padding-left:22px}
#chf-guidance p{margin:7px 0;font-size:13px;color:var(--chf-muted);line-height:1.5}
html[data-template] [hidden]{display:none!important}
@media(max-width:720px){#chf-presentation{padding:10px 15px;gap:7px 10px}#chf-presentation-status{flex-basis:100%}#chf-guidance ol{grid-template-columns:1fr;gap:10px}html[data-template] .card{padding:17px}html[data-template] .hero{padding:20px 0}html[data-template] :is(.topbar,.toolbar){flex-wrap:wrap}html[data-template] :is(.grid.two,.grid.three,.grid.four,.grid.equal){grid-template-columns:minmax(0,1fr)}html[data-template] :is(.bs-steps,.finance-tabs,.gestion-nav,.commercial-tabs){flex-wrap:wrap}html[data-template] .topbar-right{flex-wrap:wrap;max-width:100%}html[data-template] :is(.main,.page,.content){min-width:0}html[data-template] .topbar button{white-space:normal}}
@media print{#chf-presentation{display:none!important}#chf-guidance{display:none!important}html[data-template] body{background:#fff!important;color:#111!important;background-image:none!important}html[data-template] .card{box-shadow:none!important;break-inside:avoid}}
/* Horizon : lecture des échéances existantes, sans nouvelle écriture ni calcul parallèle. */
#chf-calendar{padding:22px 0;margin:20px 0;border-top:1px solid var(--chf-line);border-bottom:1px solid var(--chf-line);background:var(--chf-paper)}
#chf-calendar .chf-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:14px}
#chf-calendar h2{margin:0;font-size:25px}#chf-calendar h3{font-size:19px;margin:0 0 12px}
#chf-calendar p{font-size:13px;margin:8px 0;color:var(--chf-muted)}
#chf-calendar .chf-month{display:flex;align-items:center;gap:10px}#chf-calendar .chf-month select{width:auto;margin:0}
#chf-calendar .chf-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px}
#chf-calendar .chf-calendar-scroll{overflow:auto;max-width:100%;background:var(--chf-surface);border:1px solid var(--chf-line)}
#chf-calendar .chf-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:560px}
#chf-calendar .chf-weekday{padding:9px;font-size:10px;letter-spacing:.06em;border-bottom:1px solid var(--chf-line)}
#chf-calendar .chf-day{padding:8px;min-height:91px;min-width:0;border-bottom:1px solid var(--chf-line);border-right:1px solid var(--chf-line);font-size:12px}
#chf-calendar .chf-day:nth-child(7n){border-right:0}#chf-calendar .chf-day.empty{background:var(--chf-paper);border-radius:0;padding:8px;min-height:91px}
#chf-calendar .chf-day.selected{background:#fff0e9;box-shadow:inset 0 0 0 2px var(--chf-accent)}
#chf-calendar .chf-date-button{background:transparent!important;color:var(--chf-ink)!important;border:0;padding:0;margin:0 0 4px;text-align:left;width:100%;font-size:14px;min-height:26px}
#chf-calendar .chf-entry{display:block;overflow-wrap:anywhere;margin:4px 0;padding-left:5px;border-left:2px solid #326f79;line-height:1.35;font-size:11px}
#chf-calendar .chf-entry.planned{border-left-color:var(--chf-accent);border-left-style:dashed}
#chf-calendar .chf-event-list{border-left:1px solid var(--chf-line);padding-left:19px;max-height:650px;overflow:auto}
#chf-calendar .chf-event-list article{padding:12px 0;border-top:1px solid var(--chf-line);overflow-wrap:anywhere}
#chf-calendar .chf-event-list strong{font-size:16px}#chf-calendar .chf-event-list small{display:block;color:var(--chf-muted);margin:7px 0}
@media(max-width:1000px){#chf-calendar .chf-calendar-layout{grid-template-columns:minmax(0,1fr)}#chf-calendar .chf-event-list{border-left:0;border-top:1px solid var(--chf-line);padding:18px 0 0;max-height:none}}
