/* Copie conforme de qevyo-app f201493 : app/components/dossier/dossier.css (règles « q-d-nf », la frise narrative) et app/brand-theme.css (jetons --q-cycle-*). Extraite par scripts/qpx/extract-prepare.mts : ne pas modifier ici. */
:root{--q-cycle-lane-vendeur:var(--q-surface-paper);--q-cycle-lane-equilibre:var(--q-surface);--q-cycle-lane-acquereur:color-mix(in oklab,var(--q-brand-vivid) 6%,var(--q-surface));--q-cycle-lane-line:var(--q-border-subtle);--q-cycle-lane-label:var(--q-text-secondary);--q-cycle-curve:var(--q-text);--q-cycle-contraint:var(--q-border-strong);--q-cycle-marker-acquisition:var(--q-state-alert);--q-cycle-marker-today:var(--q-brand);--q-cycle-lecture-surface:var(--q-surface);--q-cycle-lecture-line:var(--q-border-subtle);--q-cycle-lecture-rule:var(--q-gold-ink);}
.q-d-nf{display:grid;gap:var(--q-space-2);margin:0;min-inline-size:0;container-type:inline-size}
.q-d-nf__caption{font:var(--q-weight-strong) var(--q-caption)/1.3 var(--q-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--q-text-secondary)}
.q-d-nf__stage{--q-d-nf-gutter:74px;position:relative;padding-inline-start:var(--q-d-nf-gutter);min-inline-size:0}
.q-d-nf__plot{position:relative;block-size:230px;border-radius:var(--q-radius-small);background:var(--q-cycle-lane-equilibre)}
.q-d-nf__plot>svg{position:absolute;inset:0;inline-size:100%;block-size:100%;overflow:visible}
.q-d-nf__lane{--band:var(--q-cycle-lane-equilibre);position:absolute;inset-inline:0;inset-block-start:calc((var(--y) - 10) * 1%);block-size:20%;background:var(--band)}
.q-d-nf__lane--vendeur{--band:var(--q-cycle-lane-vendeur);border-start-start-radius:var(--q-radius-small);border-start-end-radius:var(--q-radius-small)}
.q-d-nf__lane--acquereur{--band:var(--q-cycle-lane-acquereur)}
.q-d-nf__lane-label{position:absolute;inset-block-start:50%;inset-inline-end:calc(100% + 8px);translate:0 -50%;font:var(--q-weight-medium) var(--q-caption)/1.2 var(--q-font-body);color:var(--q-cycle-lane-label);white-space:nowrap}
.q-d-nf__lane-line{stroke:var(--q-cycle-lane-line);stroke-width:1;vector-effect:non-scaling-stroke}
.q-d-nf__current{position:absolute;inset-block-start:calc((var(--y) - 7) * 1%);block-size:14%;border-radius:var(--q-radius-small);background:repeating-linear-gradient(135deg,var(--q-cycle-contraint) 0 1px,transparent 1px 7px);opacity:.35}
.q-d-nf__bound{stroke:var(--q-border);stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke}
.q-d-nf__curve{fill:none;stroke:var(--q-cycle-curve);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.q-d-nf__curve--current{stroke:var(--q-cycle-contraint);stroke-dasharray:5 6;stroke-linecap:butt}
.q-d-nf__legend{margin:0;font-size:var(--q-caption);line-height:1.45;color:var(--q-text-secondary)}
.q-d-nf__legend strong{font-weight:var(--q-weight-strong);color:var(--q-text)}
.q-d-nf__zone{position:absolute;inset-block:0;border-radius:var(--q-radius-small)}
.q-d-nf__zone:hover{background:var(--q-selected-dark)}
.q-d-nf__phase{--tx:-50%;--ty:calc(-100% - 10px);position:absolute;z-index:1;inset-inline-start:calc(var(--x) * 1%);inset-block-start:calc(var(--y) * 1%);display:grid;justify-items:center;gap:3px;inline-size:max-content;translate:var(--tx) var(--ty);pointer-events:none}
.q-d-nf__phase--below{--ty:10px}
.q-d-nf__stage--row{--q-d-nf-row:38px}
.q-d-nf__stage--row .q-d-nf__plot{margin-block-start:var(--q-d-nf-row)}
.q-d-nf__phase--row{inset-inline:auto 0;inset-block-start:calc(-1 * var(--q-d-nf-row));grid-auto-flow:column;align-items:center;justify-items:end;translate:none}
.q-d-nf__leader{position:absolute;inset-inline-start:calc(var(--x) * 1%);inset-block-start:calc(-1 * var(--q-d-nf-row) + 28px);block-size:calc((var(--y) - 7) * 1% + var(--q-d-nf-row) - 28px);border-inline-start:1.5px dotted var(--q-border-strong);pointer-events:none}
.q-d-nf__phase--fall{--tx:10px;--ty:calc(-50% - 16px);justify-items:start}
.q-d-nf__phase--rise{--tx:calc(-100% - 10px);--ty:calc(-50% - 16px);justify-items:end}
.q-d-nf__bubble{display:inline-grid;place-items:center;inline-size:22px;block-size:22px;border:1.5px solid var(--q-border-strong);border-radius:var(--q-radius-pill);background:var(--q-surface);box-shadow:var(--q-shadow)}
.q-d-nf__num{display:inline-grid;place-items:center;font:var(--q-weight-strong) var(--q-caption)/1 var(--q-font-body);color:var(--q-text);font-variant-numeric:tabular-nums}
.q-d-nf__label,.q-d-nf__context{display:none}
.q-d-nf__phase--above.q-d-nf__phase--lane-equilibre .q-d-nf__context{order:-1}
.q-d-nf__marker{--c:var(--q-cycle-marker-acquisition);position:absolute;inset-block:0;inset-inline-start:calc(var(--x) * 1%);inline-size:0}
.q-d-nf__marker--project{--c:var(--q-cycle-marker-today)}
.q-d-nf__pin{position:absolute;z-index:2;inset-block-start:calc(var(--y) * 1%);inset-inline-start:0;inline-size:14px;block-size:14px;translate:-50% -50%;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px var(--q-surface)}
.q-d-nf__stem{position:absolute;inset-block:calc(var(--y) * 1%) 0;inset-inline-start:0;border-inline-start:1.5px dashed var(--c)}
.q-d-nf__tags{position:relative;block-size:46px}
.q-d-nf__tags--two{block-size:112px}
.q-d-nf__tag{--c:var(--q-cycle-marker-acquisition);--t0:-50%;--xp:calc(var(--x) * (100cqi - var(--q-d-nf-gutter)) / 100);--tx:clamp(calc(-1 * var(--q-d-nf-gutter) - var(--xp)),var(--t0),calc(100cqi - var(--q-d-nf-gutter) - var(--xp) - 100%));position:absolute;inset-block-start:0;inset-inline-start:calc(var(--x) * 1%);display:grid;gap:1px;inline-size:max-content;max-inline-size:min(220px,70cqi);padding:5px 10px;border-radius:var(--q-radius-small);background:var(--c);color:var(--q-on-dark);translate:var(--tx) 0}
.q-d-nf__tag::before{content:"";position:absolute;inset-block-start:-5px;inset-inline-start:calc(-1 * var(--tx));inline-size:10px;block-size:10px;translate:-50% 0;rotate:45deg;background:var(--c)}
.q-d-nf__tag--project{--c:var(--q-cycle-marker-today)}
.q-d-nf__tag--start{--t0:-14px}
.q-d-nf__tag--end{--t0:calc(-100% + 14px)}
.q-d-nf__tag--row{inset-block:auto 0}
.q-d-nf__tag strong{font:var(--q-weight-strong) var(--q-caption)/1.25 var(--q-font-body)}
.q-d-nf__tag small{font-size:var(--q-caption);line-height:1.3;color:var(--q-on-dark)}
.q-d-nf__axis{position:relative;block-size:18px;font-size:var(--q-caption);color:var(--q-text-secondary);font-variant-numeric:tabular-nums}
.q-d-nf__year{position:absolute;inset-inline-start:calc(var(--x) * 1%);translate:-50% 0;white-space:nowrap;display:none}
.q-d-nf__year--major{display:block}
.q-d-nf__year--now{display:block;translate:-100% 0;color:var(--q-text);font-weight:var(--q-weight-strong)}
.q-d-nf__inner{position:absolute;z-index:3;inset-inline-start:calc(var(--x) * 1%);inset-block-start:calc(var(--y) * 1%);inline-size:0;block-size:0;pointer-events:none}
.q-d-nf__dot{position:absolute;inline-size:9px;block-size:9px;translate:-50% -50%;border:2px solid var(--q-night);border-radius:50%;background:var(--q-surface)}
.q-d-nf__inner--pin-over .q-d-nf__dot,.q-d-nf__inner--pin-near .q-d-nf__dot{display:none}
.q-d-nf__inner-label{display:none;position:absolute;inset-block-start:11px;translate:-50% 0;padding:1px 5px;border-radius:var(--q-radius-small);background:var(--q-bg-primary);font:italic var(--q-weight-regular) var(--q-caption)/1.3 var(--q-font-body);color:var(--q-text-secondary);white-space:nowrap}
.q-d-nf__inner-label>span{display:block}
.q-d-nf__inner--start .q-d-nf__inner-label{translate:-8px 0}
.q-d-nf__inner--end .q-d-nf__inner-label{translate:calc(-100% + 8px) 0;text-align:end}
.q-d-nf__inner--center .q-d-nf__inner-label{text-align:center}
.q-d-nf__local{justify-self:end;margin:0;padding:1px 8px;border:1px solid var(--q-border);border-radius:var(--q-radius-pill);background:var(--q-surface);font:var(--q-weight-regular) var(--q-caption)/1.5 var(--q-font-body);color:var(--q-text-secondary)}
.q-d-nf__national{justify-self:end;margin:0;text-align:end;font:var(--q-weight-regular) var(--q-caption)/1.5 var(--q-font-body);color:var(--q-text-secondary)}
.q-d-nf__national small{font-size:inherit}
.q-d-nf__list{display:grid;gap:6px;font-size:var(--q-body-small);color:var(--q-text)}
.q-d-nf__list li{display:flex;align-items:baseline;gap:var(--q-space-2)}
.q-d-nf__list .q-d-nf__num{flex:none;inline-size:20px;block-size:20px;border:1.5px solid var(--q-border-strong);border-radius:50%;background:var(--q-surface)}
.q-d-nf__list strong{font-weight:var(--q-weight-strong)}
.q-d-nf__list small{font-size:var(--q-caption);color:var(--q-text-secondary)}
@container (min-width:520px){
 .q-d-nf__stage{--q-d-nf-gutter:84px}
 .q-d-nf__tags--two{block-size:94px}
 .q-d-nf__tag{max-inline-size:min(260px,60cqi)}
 .q-d-nf__plot{block-size:310px}
 .q-d-nf__phase--tier{--ty:calc(-100% - 50px)}
 .q-d-nf__phase--below.q-d-nf__phase--tier{--ty:50px}
 .q-d-nf__phase--start{--tx:-14px;justify-items:start}
 .q-d-nf__phase--end{--tx:calc(-100% + 14px);justify-items:end}
 .q-d-nf__bubble{inline-size:auto;block-size:auto;max-inline-size:9.5em;padding:2px 11px}
 .q-d-nf__phase--fall{--tx:12px;--ty:calc(-50% - 20px)}
 .q-d-nf__phase--rise{--tx:12px;--ty:calc(-50% + 26px);justify-items:start}
 .q-d-nf__phase--fall .q-d-nf__bubble,.q-d-nf__phase--rise .q-d-nf__bubble{max-inline-size:6.6em;border-radius:16px;text-align:center;text-wrap:balance}
 .q-d-nf__bubble .q-d-nf__num{display:none}
 .q-d-nf__phase--row .q-d-nf__bubble{max-inline-size:none;white-space:nowrap}
 .q-d-nf__label{display:inline;font:var(--q-weight-strong) .875rem/1.2 var(--q-font-body);color:var(--q-text);font-variant-numeric:lining-nums tabular-nums}
 .q-d-nf__context{display:block;font:italic var(--q-weight-regular) var(--q-caption)/1.3 var(--q-font-body);color:var(--q-text-secondary);white-space:nowrap}
 .q-d-nf__inner-label{display:block}
 .q-d-nf__inner--pin-near .q-d-nf__dot{display:block}
 .q-d-nf__context{padding-inline:4px;border-radius:var(--q-radius-small);background:var(--q-bg-primary)}
 .q-d-nf__list{display:none}
}
@container (min-width:780px){
 .q-d-nf__year{display:block}
}
.q-d-nf__note{padding:var(--q-space-2) var(--q-space-3);border-radius:var(--q-radius-small);background:var(--q-bg-secondary);font-size:var(--q-body-small);color:var(--q-text)}
.q-d-nf__trend{font-size:var(--q-body-small);color:var(--q-text)}
.q-d-nf__trend small{display:block;font-size:var(--q-caption);color:var(--q-text-secondary)}
.q-d-nf__more summary{display:inline-flex;align-items:center;min-block-size:var(--q-tap);color:var(--q-brand);font:var(--q-weight-strong) var(--q-body-small)/1.2 var(--q-font-body);cursor:pointer;list-style:none}
.q-d-nf__more summary::-webkit-details-marker{display:none}
.q-d-nf__more summary:focus-visible{outline:2px solid var(--q-focus);outline-offset:2px;border-radius:4px}
.q-d-nf__more-body{display:grid;gap:var(--q-space-3);min-inline-size:0;padding-block-start:var(--q-space-1)}
.q-d-nf__keys{display:grid;gap:var(--q-space-2)}
.q-d-nf__keys div{display:grid;gap:2px}
.q-d-nf__keys dt{font:var(--q-weight-strong) var(--q-caption)/1.3 var(--q-font-body);color:var(--q-text-secondary)}
.q-d-nf__keys dd{font-size:var(--q-body-small);color:var(--q-text)}
.q-d-nf__table{overflow-x:auto;max-inline-size:100%}
.q-d-nf__table table{inline-size:100%;border-collapse:collapse;font-size:var(--q-caption);font-variant-numeric:tabular-nums}
.q-d-nf__table caption{caption-side:top;padding-block-end:var(--q-space-1);text-align:start;color:var(--q-text-secondary)}
.q-d-nf__table th,.q-d-nf__table td{padding:var(--q-space-1) var(--q-space-2);border-block-end:1px solid var(--q-border);text-align:start;white-space:nowrap}
.q-d-nf__table thead th{color:var(--q-text-secondary);font-weight:var(--q-weight-strong)}
.q-d-nf__sources{display:grid;gap:var(--q-space-2)}
.q-d-nf__sources li{display:grid;gap:2px;font-size:var(--q-body-small)}
.q-d-nf__sources small{font-size:var(--q-caption);color:var(--q-text-secondary)}
.q-d-nf__sources a{color:var(--q-brand)}
@media (prefers-reduced-motion:no-preference){
 .q-d-nf__plot>svg{animation:q-d-nf-draw 1.2s var(--q-ease) both}
 .q-d-nf__phase,.q-d-nf__inner,.q-d-nf__marker,.q-d-nf__tag{animation:q-d-nf-in .45s var(--q-ease) both;animation-delay:calc(.2s + var(--x) * 10ms)}
 @keyframes q-d-nf-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
 @keyframes q-d-nf-in{from{opacity:0}to{opacity:1}}
}
@media (forced-colors:active){
 .q-d-nf__curve{stroke:CanvasText}
 .q-d-nf__pin{background:CanvasText}
 .q-d-nf__dot{border-color:CanvasText}
 .q-d-nf__local{border-color:CanvasText}
 .q-d-nf__tag{border:1px solid CanvasText}
 .q-d-nf__stem{border-color:CanvasText}
}
:is(.q-d-nf,.q-d-curve,.q-d-strip,.q-d-proofs) small{font-size:var(--q-caption)}
