/* PREUVE EN MAIN — Calculateurs rapides du Québec (calculateurs-quebec.js) et barre des calculs.
   Préfixe .cq- ; s'appuie sur famille-vue.css (.fc-*, chargée avant) et sur les jetons de app.css
   (--bleu, --trait, --papier, --ambre…). Mobile d'abord : 390 px sans défilement horizontal de la page ;
   cibles de 44 px et police de 16 px dans les champs sous 768 px ; focus en outline (couleurs forcées
   comprises) ; mouvement réduit respecté. */

.cq-vue{--cq-ok:#2F6B4F;--cq-ok-pale:#E9F3EE;--cq-non:#8A2A1F;--cq-non-pale:#F8ECEA;--cq-ver:#8A5A13;--cq-ver-pale:#FBF3E4;--cq-focus:#163b66}
.cq-vue [hidden],.cq-carrefour [hidden]{display:none!important}
.cq-vue :is(input,select,textarea,button,a,summary):focus-visible,.cq-carrefour a:focus-visible{outline:3px solid var(--cq-focus,#163b66);outline-offset:2px;box-shadow:none}
.cq-vue .fc-choix input:focus-visible+span{outline:3px solid var(--cq-focus);outline-offset:2px}
.cq-vue h1:focus{outline:none}
@media (forced-colors:active){
  .cq-vue :is(input,select,textarea,button,a,summary):focus-visible,.cq-carrefour a:focus-visible,.cq-vue .fc-choix input:focus-visible+span{outline:3px solid Highlight}
  .cq-lien[aria-current="page"]{border:2px solid Highlight}
}

/* Barre des calculs (en tête de l'écran Calculs, pension comprise) */
.cq-carrefour{margin:0 0 16px}
.cq-carrefour-t{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--encre-douce);margin:0 0 6px}
.cq-liens{list-style:none;margin:0;padding:2px 2px 6px;display:flex;flex-wrap:wrap;gap:8px}
.cq-carrefour .cq-lien{display:flex;flex-direction:column;justify-content:center;gap:1px;min-height:48px;padding:6px 14px;border:1.5px solid #c9d3df;border-radius:10px;
  background:var(--blanc);color:var(--encre);text-decoration:none;line-height:1.25}
.cq-carrefour .cq-lien:hover{border-color:var(--bleu)}
.cq-lien-t{font-weight:650;font-size:.92rem}
.cq-lien-s{font-size:.76rem;color:var(--encre-douce)}
.cq-carrefour .cq-lien[aria-current="page"]{border-color:var(--bleu);background:var(--bleu);color:var(--blanc)}
.cq-carrefour .cq-lien[aria-current="page"] .cq-lien-s{color:#dfe7f1}
.cq-qc{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid currentColor;border-radius:4px;padding:0 4px;margin-right:2px}
.cq-note-qc{font-size:.86rem;line-height:1.45;background:var(--papier);border-left:3px solid var(--bleu);border-radius:0 8px 8px 0;padding:8px 11px;margin:0}
@container fcvue (max-width:600px){
  .cq-liens{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .cq-liens>li{flex:0 0 auto}
}

/* Saisie */
.cq-saisie{margin:0}
.cq-saisie .fc-carte{margin:13px 0}
.cq-vue .fc-champ input,.cq-vue .fc-champ select{display:block;width:100%;margin-top:4px}
.cq-vue input.cq-num{text-align:right;font-variant-numeric:tabular-nums;max-width:260px}
.cq-vue input[type=date]{max-width:260px}
.cq-vue .fc-choix-col{flex-direction:column;align-items:flex-start}

/* Résultat (collé à droite à partir de 860 px, comme la pension ; défilant s'il dépasse la hauteur de l'écran) */
@container fcvue (min-width:860px){
  .cq-vue .fc-cote{max-height:calc(100vh - var(--tete-h) - 24px);overflow-y:auto;overscroll-behavior:contain}
}
@container fcvue (max-width:520px){
  .cq-vue .fc-duo{grid-template-columns:minmax(0,1fr)}
}
.cq-res{margin:0;border-top:3px solid var(--bleu)}
.cq-res-sur{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--encre-douce);margin:0 0 6px}
.cq-verdict{font-weight:700;font-size:1.02rem;line-height:1.4;margin:0 0 10px;padding:8px 11px;border-radius:8px}
.cq-v-ok{color:var(--cq-ok);background:var(--cq-ok-pale)}
.cq-v-non{color:var(--cq-non);background:var(--cq-non-pale)}
.cq-v-verifier{color:var(--cq-ver);background:var(--cq-ver-pale)}
.cq-v-attente{color:var(--encre);background:var(--papier)}
.cq-manque{font-size:.86rem;color:var(--encre-douce);margin:6px 0 10px;line-height:1.45}
.cq-motifs{list-style:none;margin:0 0 10px;padding:0;border-top:1px solid var(--trait)}
.cq-m{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px solid var(--trait-2);font-size:.88rem;line-height:1.45}
.cq-m-etat{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:1px 6px;border:1px solid currentColor}
.cq-m-ok .cq-m-etat{color:var(--cq-ok)}
.cq-m-non .cq-m-etat{color:var(--cq-non)}
.cq-m-verifier .cq-m-etat,.cq-m-nc .cq-m-etat,.cq-m-partiel .cq-m-etat{color:var(--cq-ver)}
.cq-m-info .cq-m-etat{color:var(--encre-douce)}
.cq-m-regle .cq-m-etat{color:var(--bleu)}
.cq-m-t{overflow-wrap:anywhere}
.cq-src{display:block;font-size:.76rem;color:var(--encre-douce);overflow-wrap:anywhere}
.cq-src a{color:var(--bleu-vif)}
.cq-infos .cq-m{font-size:.84rem}
.cq-h3{font-family:var(--sans);font-size:.9rem;margin:14px 0 6px}
.cq-bloc{border-top:1px solid var(--trait);padding-top:4px;margin-top:6px}
.cq-bloc.cq-refus .cq-h3{color:var(--cq-ver)}
.cq-fenetre{font-size:.98rem;line-height:1.5;margin:4px 0}
.cq-fenetre strong,.cq-gros{font-variant-numeric:tabular-nums lining-nums}
.cq-gros{font-size:1.5rem;font-weight:750;margin:4px 0 6px;color:var(--encre)}
.cq-petit{font-size:.82rem;color:var(--encre-douce);line-height:1.45;margin:4px 0}
.cq-deplace{font-size:.86rem;line-height:1.45;margin:2px 0 4px;color:var(--cq-ver)}
.cq-limite{border:2px solid var(--bleu);border-radius:10px;padding:2px 12px;margin:0 0 12px;background:var(--papier)}
.cq-limite .cq-motifs{border-top:0;margin:0}
.cq-limite .cq-m{border-bottom:0;font-size:.92rem;font-weight:600}
.cq-param{background:var(--papier);border-radius:8px;padding:9px 11px;margin:10px 0;font-size:.84rem;line-height:1.45}
.cq-param p{margin:0 0 4px}
.cq-param-rev{margin-top:8px!important}
.cq-outils{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:10px}
.cq-outil{border:1px solid var(--trait);border-radius:10px;padding:10px 12px}
.cq-outil-choisi{border-color:var(--bleu);border-width:2px}
.cq-outil p{margin:0 0 8px;font-size:.88rem;line-height:1.45}
.cq-outil .bouton{min-height:44px;display:inline-flex;align-items:center}
.cq-t{width:100%;border-collapse:collapse;font-size:.86rem;font-variant-numeric:tabular-nums;margin:6px 0}
.cq-t caption{text-align:left;font-size:.8rem;color:var(--encre-douce);padding-bottom:4px}
.cq-t th,.cq-t td{padding:6px 4px;border-bottom:1px solid var(--trait-2);vertical-align:top}
.cq-t th{text-align:left;font-weight:500}
.cq-t td{text-align:right;white-space:nowrap;font-weight:650}

/* Sources */
.cq-sources{margin-top:16px}
.cq-src-liste{margin:0 0 0 18px;padding:0;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}
.cq-src-liste li{margin:4px 0}

@media (max-width:767px){
  .cq-vue input,.cq-vue select,.cq-vue textarea{font-size:16px;min-height:44px}
  .cq-vue .fc-choix span{min-height:44px}
  .cq-vue input.cq-num,.cq-vue input[type=date]{max-width:none}
}
@media (prefers-reduced-motion:reduce){ .cq-vue *{transition:none!important;animation:none!important;scroll-behavior:auto!important} }
@media print{
  .cq-carrefour{display:none!important}
  .fc-vue.cq-vue>:not(.cq-carrefour){display:block!important}
}
