/* SFI V10 — pôle « Associations et financements européens » (préfixe as-). Marine #0B2545, or #D8B867, ivoire. */
.as-sub{background:var(--ivoire);border-bottom:1px solid var(--line)}
.as-sub .wrap{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.as-sub a{font:500 .86rem/1.2 var(--f-ui);color:var(--nuit);border:1px solid var(--line-2);border-radius:999px;padding:7px 14px;background:#fff;min-width:0}
.as-sub a:hover{border-color:var(--nuit)}
.as-sub a[aria-current="page"]{background:var(--nuit);color:#fff;border-color:var(--nuit)}

/* Réponse directe */
.as-direct{background:var(--nuit);color:#fff;border-radius:var(--r-l);padding:24px 26px 22px;margin:0 0 26px;position:relative;box-shadow:var(--sh-2)}
.as-direct:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 3px 3px 0;background:var(--or-clair)}
.as-direct .label{color:var(--or-clair);margin:0 0 8px}
.as-direct p{margin:0 0 .8em;font-size:1.06rem;line-height:1.6}
.as-direct p:last-child{margin-bottom:0}
.as-direct a{color:var(--or-clair)}
.as-direct ul{margin:0 0 .8em 1.2em;padding:0}
.as-direct li{margin:.3em 0;line-height:1.55}

/* Chiffres clés */
.as-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 22px}
.as-kpi{background:#fff;border:1px solid var(--line);border-top:3px solid var(--or-clair);border-radius:var(--r-m);padding:14px 14px 12px;min-width:0}
.as-kpi b{display:block;font:500 1.55rem/1.1 var(--f-ed);color:var(--nuit)}
.as-kpi span{display:block;font:400 .84rem/1.35 var(--f-ui);color:var(--muted);margin-top:4px}
.as-kpi .prov{margin-top:8px;font-size:.68rem}

/* Pastilles et notes */
.as-st{white-space:nowrap}
.v9table .prov{font-size:.72rem}
.as-note{font:400 .88rem/1.5 var(--f-ui);color:var(--muted);margin:10px 0 0}
.as-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:8px 0 20px}
.as-two>div{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;min-width:0}
.as-two h3{margin:0 0 8px;font:600 1.02rem/1.3 var(--f-ui);color:var(--nuit)}
.as-two ul{margin:0 0 0 1.1em;padding:0;font:400 .94rem/1.5 var(--f-ui)}
.as-two li{margin:.3em 0}
.as-two .no{border-top:3px solid #9A3B52}
.as-two .yes{border-top:3px solid #1E6B48}

/* Arbre de décision interactif */
.as-tree{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-1);padding:22px 22px 20px;min-width:0}
.as-tree [hidden]{display:none!important}
.as-tree-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.as-tree-path{font:500 .82rem/1.4 var(--f-ui);color:var(--muted);margin:0}
.as-tree-q{font:600 1.18rem/1.35 var(--f-ui);color:var(--nuit);margin:0 0 6px;outline:none}
.as-tree-help{font:400 .92rem/1.5 var(--f-ui);color:var(--muted);margin:0 0 14px}
.as-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.as-opt{appearance:none;cursor:pointer;text-align:left;font:500 .96rem/1.35 var(--f-ui);color:var(--nuit);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-m);padding:13px 15px;min-width:0}
.as-opt:hover{border-color:var(--nuit);background:var(--ivoire)}
.as-opt:focus-visible,.as-mini:focus-visible,.as-tbtn:focus-visible{outline:3px solid var(--or-clair);outline-offset:2px}
.as-mini{appearance:none;cursor:pointer;font:500 .84rem/1.2 var(--f-ui);color:var(--nuit);background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:7px 14px}
.as-mini:hover{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.as-res{border-top:2px solid var(--or-clair);margin-top:4px;padding-top:16px;outline:none}
.as-res h3{font:600 1.32rem/1.25 var(--f-ed);color:var(--nuit);margin:2px 0 8px}
.as-res p{margin:0 0 .8em;font:400 .98rem/1.55 var(--f-ui)}
.as-res ul{margin:0 0 .9em 1.2em;padding:0;font:400 .95rem/1.5 var(--f-ui)}
.as-res .as-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.as-static{font:400 .95rem/1.55 var(--f-ui)}
.as-static ul{margin:.3em 0 .6em 1.2em;padding:0}
.as-static>ul{margin-left:0;list-style:none}
.as-static li{margin:.35em 0}

/* Outil : checklist et maturité */
.as-tool{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-1);padding:22px 22px 20px;min-width:0}
.as-tool h3{font:600 1.15rem/1.3 var(--f-ui);color:var(--nuit);margin:0 0 4px}
.as-tool .as-sec{margin:0 0 30px}
.as-tool .as-sec:last-child{margin-bottom:0}
.as-tool .as-lead{font:400 .92rem/1.5 var(--f-ui);color:var(--muted);margin:0 0 14px}
.as-item{border:0;border-top:1px solid var(--line);margin:0;padding:14px 0;min-width:0}
.as-item legend{padding:0;float:left;width:100%;font:500 .98rem/1.45 var(--f-ui);color:var(--nuit)}
.as-item legend+*{clear:both}
.as-item legend .as-sev{display:inline-block;margin-left:8px;font:600 .66rem/1 var(--f-ui);letter-spacing:.07em;text-transform:uppercase;color:#7A5F1C;background:#FBF3DA;border:1px solid #E5CF8E;border-radius:99px;padding:3px 8px 2px;vertical-align:middle}
.as-why{font:400 .86rem/1.45 var(--f-ui);color:var(--muted);margin:6px 0 8px}
.as-radios{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.as-radios label{position:relative;display:inline-flex;min-width:0}
.as-radios input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.as-radios span{display:inline-block;font:500 .88rem/1.25 var(--f-ui);color:var(--nuit);background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:8px 14px}
.as-radios input:checked+span{background:var(--nuit);color:#fff;border-color:var(--nuit)}
.as-radios input:focus-visible+span{outline:3px solid var(--or-clair);outline-offset:2px}
.as-lvls{display:grid;gap:6px;margin-top:8px}
.as-lvls label{position:relative;display:block;min-width:0}
.as-lvls input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.as-lvls span{display:block;font:400 .9rem/1.4 var(--f-ui);color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:var(--r-m);padding:9px 12px 9px 36px;position:relative}
.as-lvls span:before{content:attr(data-n);position:absolute;left:10px;top:9px;width:18px;height:18px;border-radius:50%;background:var(--ivoire);color:var(--nuit);font:600 .72rem/18px var(--f-ui);text-align:center}
.as-lvls input:checked+span{border-color:var(--nuit);background:#EFF3FA;box-shadow:inset 3px 0 0 var(--nuit)}
.as-lvls input:checked+span:before{background:var(--nuit);color:#fff}
.as-lvls input:focus-visible+span{outline:3px solid var(--or-clair);outline-offset:2px}
.as-sumbox{position:sticky;bottom:0;z-index:2;background:var(--ivoire);border:1px solid var(--line);border-top:3px solid var(--or-clair);border-radius:var(--r-m);padding:14px 16px;margin-top:18px;box-shadow:0 -6px 18px rgba(11,37,69,.08)}
.as-sumbox .as-big{font:500 2rem/1 var(--f-ed);color:var(--nuit)}
.as-sumbox .as-big small{font:400 .9rem var(--f-ui);color:var(--muted)}
.as-sumrow{display:flex;gap:18px;flex-wrap:wrap;align-items:baseline}
.as-sumbox p{margin:6px 0 0;font:400 .9rem/1.45 var(--f-ui)}
.as-bars{display:grid;gap:8px;margin:12px 0}
.as-bar{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr) 54px;gap:10px;align-items:center;font:400 .86rem/1.3 var(--f-ui)}
.as-bar i{display:block;height:12px;border-radius:6px;background:var(--ivoire-2,#EDE8DA);overflow:hidden}
.as-bar i b{display:block;height:100%;background:var(--nuit);border-radius:6px}
.as-bar i b.lo{background:#9A3B52}.as-bar i b.mid{background:#B8912F}
.as-bar em{font-style:normal;font-variant-numeric:tabular-nums;text-align:right;color:var(--muted)}
.as-actions{margin:8px 0 0 1.2em;padding:0;font:400 .94rem/1.5 var(--f-ui)}
.as-actions li{margin:.4em 0}
.as-tbtns{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0}
.as-tbtn{appearance:none;cursor:pointer;font:600 .9rem/1.2 var(--f-ui);border-radius:999px;padding:11px 18px;border:1px solid var(--nuit);background:var(--nuit);color:#fff;text-decoration:none;display:inline-block}
.as-tbtn.alt{background:#fff;color:var(--nuit)}
.as-tbtn:hover{background:var(--navy-mid,#17396B);color:#fff}
.as-tbtn.alt:hover{background:var(--ivoire);color:var(--nuit)}
.as-flag{display:inline-block;font:600 .8rem/1.3 var(--f-ui);padding:4px 10px;border-radius:99px}
.as-flag.ok{background:#E7F3EC;color:#1E6B48}.as-flag.warn{background:#FBF3E1;color:#8A5A00}.as-flag.bad{background:#F8E9ED;color:#8E2F45}

/* Gabarit */
.as-gab{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-1);padding:22px 22px 20px}
.as-gform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin:12px 0 4px}
.as-gform .full{grid-column:1/-1}
.as-gform label{display:block;font:600 .84rem/1.3 var(--f-ui);color:var(--nuit);margin:0 0 5px}
.as-gform input,.as-gform select{width:100%;box-sizing:border-box;font:400 .96rem/1.3 var(--f-ui);padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-m);background:#fff;color:var(--ink)}
.as-gform input:focus,.as-gform select:focus{outline:none;border-color:var(--nuit);box-shadow:0 0 0 3px rgba(47,111,219,.18)}
.as-toc{columns:2;column-gap:28px;margin:8px 0 0 1.1em;padding:0;font:400 .92rem/1.5 var(--f-ui)}
.as-toc li{margin:.2em 0;break-inside:avoid}

/* Frise du rétro-planning */
.as-tl{list-style:none;margin:18px 0;padding:0;display:grid;gap:0;border-left:3px solid var(--or-clair)}
.as-tl li{position:relative;padding:0 0 16px 22px;margin:0}
.as-tl li:before{content:"";position:absolute;left:-9px;top:3px;width:15px;height:15px;border-radius:50%;background:var(--nuit);border:3px solid #fff;box-shadow:0 0 0 1px var(--nuit)}
.as-tl b{display:block;font:600 .76rem/1.2 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:#7A5F1C;margin-bottom:3px}
.as-tl span{font:400 .95rem/1.5 var(--f-ui);color:var(--nuit)}

@media (max-width:760px){
  .as-two,.as-gform{grid-template-columns:minmax(0,1fr)}
  .as-toc{columns:1}
  .as-bar{grid-template-columns:minmax(0,1fr) 54px}
  .as-bar i{grid-column:1/-1;order:3}
  .as-bar em{order:2}
}
@media (max-width:560px){
  .as-tree,.as-tool,.as-gab{padding:16px 14px}
  .as-direct{padding:20px 18px}
  .as-sub a{font-size:.82rem;padding:6px 12px}
  .as-sumbox{position:static}
}
@media print{.as-sub,.as-tbtns,.as-opts{display:none}}

/* ---------- Funding Match (V13) ---------- */
.fm{min-width:0}
.fm [hidden]{display:none!important}
.fm-static{font:400 .95rem/1.55 var(--f-ui);background:#fff;border:1px dashed var(--line-2);border-radius:var(--r-m);padding:14px 16px}
.fm-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;align-items:start}
.fm-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-1);padding:20px 20px 18px;min-width:0}
.fm-q{border:0;margin:0 0 18px;padding:0;min-width:0}
.fm-q legend{padding:0;font:600 .94rem/1.35 var(--f-ui);color:var(--nuit);margin:0 0 6px}
.fm-help{font:400 .82rem/1.4 var(--f-ui);color:var(--muted);margin:0 0 6px}
.fm-num label{display:block;font:600 .94rem/1.35 var(--f-ui);color:var(--nuit);margin:0 0 6px}
.fm-num input{width:100%;box-sizing:border-box;font:400 1rem/1.3 var(--f-ui);padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-m);background:#fff;color:var(--ink)}
.fm-num input:focus,.fm-trf input:focus,.fm-trf textarea:focus{outline:none;border-color:var(--nuit);box-shadow:0 0 0 3px rgba(47,111,219,.18)}
.fm-res{min-width:0}
.fm-hint{font:400 .95rem/1.5 var(--f-ui);color:var(--muted);background:var(--ivoire);border:1px dashed var(--line-2);border-radius:var(--r-m);padding:14px 16px;margin:0}
.fm-banner{font:400 .92rem/1.5 var(--f-ui);background:#FBF3DA;border:1px solid #E5CF8E;border-left:4px solid #B8912F;border-radius:var(--r-m);padding:12px 16px;margin:0 0 12px;color:#4A3A0D}
.fm-sum{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.fm-lvl{display:inline-block;font:600 .8rem/1.3 var(--f-ui);padding:4px 11px;border-radius:99px;border:1px solid currentColor;white-space:nowrap}
.fm-lvl.probable{background:#E7F3EC;color:#1E6B48}.fm-lvl.examiner{background:#FBF3E1;color:#8A5A00}.fm-lvl.low{background:#F1F2F5;color:#5B6472}
.fm-card{background:#fff;border:1px solid var(--line);border-left:5px solid #9AA3B0;border-radius:var(--r-m);padding:16px 18px 14px;margin:0 0 14px;min-width:0}
.fm-card.probable{border-left-color:#1E6B48}.fm-card.examiner{border-left-color:#B8912F}.fm-card.low{opacity:.97}
.fm-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 6px}
.fm-head h4{margin:0;font:600 1.12rem/1.25 var(--f-ui);color:var(--nuit)}
.fm-score{font:500 .8rem/1.3 var(--f-ui);color:var(--muted)}
.fm-nat,.fm-mode,.fm-need{font:400 .92rem/1.5 var(--f-ui);margin:0 0 .6em}
.fm-why{list-style:none;margin:8px 0 10px;padding:0;display:grid;gap:6px}
.fm-why li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;font:400 .9rem/1.45 var(--f-ui);align-items:start}
.fm-ico{display:inline-block;width:20px;height:20px;border-radius:50%;text-align:center;font:700 .78rem/20px var(--f-ui);color:#fff}
.fm-why li.ok .fm-ico{background:#1E6B48}.fm-why li.warn .fm-ico{background:#B8912F}.fm-why li.bad .fm-ico{background:#9A3B52}
.fm-det{margin:8px 0;font:400 .9rem/1.5 var(--f-ui)}
.fm-det summary{cursor:pointer;font-weight:600;color:var(--nuit)}
.fm-det ul{margin:.3em 0 .6em 1.2em;padding:0}
.fm-det li{margin:.25em 0}
.fm-calc{list-style:none!important;margin-left:0!important;display:grid;gap:2px;max-width:320px}
.fm-calc li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted var(--line-2);padding:2px 0}
.fm-sub{font:600 .78rem/1.3 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 2px}
.fm-links{font:400 .9rem/1.5 var(--f-ui);margin:8px 0 0}
.fm-links a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--or-clair);text-underline-offset:3px}
.fm-tr{margin-top:28px}
.fm-trf{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-1);padding:22px 22px 20px;min-width:0}
.fm-trf h3{font:600 1.15rem/1.3 var(--f-ui);color:var(--nuit);margin:0 0 4px}
.fm-trf .fld label{display:block;font:600 .84rem/1.3 var(--f-ui);color:var(--nuit);margin:0 0 5px}
.fm-trf .fld input,.fm-trf .fld textarea{width:100%;box-sizing:border-box;font:400 .96rem/1.4 var(--f-ui);padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-m);background:#fff;color:var(--ink)}
.fm-trf .as-gform .fld{min-width:0}
.fm-out{margin-top:18px;min-width:0}
.fm-doc{border:1px solid var(--line-2);border-top:4px solid var(--nuit);border-radius:var(--r-m);background:#fff;padding:20px 22px;min-width:0}
.fm-doc h3{font:600 1.3rem/1.25 var(--f-ed);color:var(--nuit);margin:0 0 6px}
.fm-doc h4{font:600 1.05rem/1.3 var(--f-ui);color:var(--nuit);margin:22px 0 8px;padding-top:12px;border-top:1px solid var(--line)}
.fm-doc h5{font:600 .9rem/1.3 var(--f-ui);margin:14px 0 4px;color:var(--nuit)}
.fm-dl{margin:0}.fm-dl dt{font:600 .92rem/1.4 var(--f-ui);color:var(--nuit);margin-top:8px}.fm-dl dd{margin:2px 0 0;font:400 .92rem/1.5 var(--f-ui)}
.fm-chk{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fm-chk li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font:400 .9rem/1.45 var(--f-ui)}
.fm-box{display:inline-block;width:14px;height:14px;border:1.5px solid var(--nuit);border-radius:3px;margin-top:3px}
.fm-fin{margin:10px 0 0 1.2em;padding:0;font:400 .94rem/1.55 var(--f-ui)}
.fm-tot th,.fm-tot td{font-weight:700;background:var(--ivoire)}
.fm-mx td,.fm-mx th,.fm-bd td,.fm-bd th{vertical-align:top}
.fm-actions{align-items:center}
.fm-msg{font:500 .86rem/1.3 var(--f-ui);color:var(--p-off)}
.fm-mat{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;margin:0 0 16px}
.fm-mat>div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--or-clair);border-radius:var(--r-m);padding:12px 14px;min-width:0;font:400 .9rem/1.45 var(--f-ui)}
.fm-mat b{display:block;font:600 .95rem/1.3 var(--f-ui);color:var(--nuit);margin-bottom:2px}
.fm-mat span.tag{display:inline-block;font:600 .72rem/1.2 var(--f-ui);padding:3px 9px;border-radius:99px;margin-top:6px}
.fm-mat .t-op{background:#E7F3EC;color:#1E6B48}.fm-mat .t-demo{background:#EEF2FA;color:#2F55A0}.fm-mat .t-prep{background:#FBF3E1;color:#8A5A00}.fm-mat .t-part{background:#F1F2F5;color:#5B6472}
.as-stat-wrap .v9tablewrap{margin:12px 0}
@media (max-width:1000px){.fm-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.fm-form,.fm-trf{padding:16px 14px}.fm-doc{padding:16px 14px}.fm-card{padding:14px 14px 12px}}
@media print{
  html.fm-print body *{visibility:hidden!important}
  html.fm-print #fm-trame,html.fm-print #fm-trame *{visibility:visible!important}
  html.fm-print #fm-trame{position:absolute;left:0;top:0;width:100%;border:0;padding:0}
  .fm-doc .prov{border:0}
}

/* ---------- Schémas (légende, trois couches) ---------- */
.as-fig{padding-bottom:16px}
.as-fig figcaption{font:400 .86rem/1.45 var(--f-ui);color:var(--muted);text-align:left;margin-top:10px}
.as-fig figcaption b{color:var(--nuit)}
.as-layers{margin-top:8px;font:400 .92rem/1.5 var(--f-ui);text-align:left}
.as-layers>p{margin:0 0 .5em}
.as-layers>p>span{display:inline-block;font:600 .68rem/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:#7A5F1C;background:#FBF3DA;border:1px solid #E5CF8E;border-radius:99px;padding:3px 8px 2px;margin-right:8px}
.as-layers details{margin:.4em 0;font-size:.88rem}
.as-layers summary{cursor:pointer;font-weight:600;color:var(--nuit)}
.as-layers details p{margin:.4em 0}
.as-leg{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font:500 .8rem/1.3 var(--f-ui);color:var(--ink)}
.as-leg li{display:inline-flex;align-items:center;gap:6px}
.as-leg i{display:inline-block;width:18px;height:4px;border-radius:2px}
.as-h3{font:600 1.15rem/1.3 var(--f-ui);color:var(--nuit);margin:26px 0 8px}
.as-lead{font:400 .92rem/1.5 var(--f-ui);color:var(--muted);margin:0 0 14px}
.v9fig.as-fig svg{min-width:0}
@media (max-width:620px){.v9fig.as-fig svg{min-width:560px}}

.fm-cap{font:500 .84rem/1.4 var(--f-ui);color:#5B1F2D;background:#F8E9ED;border-radius:var(--r-m);padding:6px 10px;margin:0 0 8px}

/* ---------- Modèle de statuts ---------- */
.as-pre{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;font:400 .88rem/1.55 var(--f-ui);background:var(--ivoire);border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;margin:14px 0 0;max-height:460px;overflow:auto;color:var(--ink)}
.as-gab .as-radios{margin-top:14px}
.as-gab .v9call{margin:0 0 14px}
code{font-size:.9em}
