/* =========================================================
   Section TRÉSORERIE + BUVETTE
   ========================================================= */
#vue-tresorerie{ max-width:640px; margin:0 auto; }

/* Sous-onglets (barre de pastilles défilante) */
.sous-onglets{ display:flex; gap:8px; overflow-x:auto; padding:12px 16px 4px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.sous-onglets::-webkit-scrollbar{ display:none; }
.sous-onglet{ flex:none; background:var(--surface); border:1px solid var(--line); color:var(--muted); border-radius:999px; padding:9px 15px; font-size:.88rem; font-weight:600; white-space:nowrap; cursor:pointer; }
.sous-onglet.actif{ background:var(--surface-2); color:var(--text); border-color:var(--teal); }

.treso-contenu{ padding:12px 16px calc(24px + env(safe-area-inset-bottom,0px)); }
.treso-titre{ font-size:1.05rem; margin:4px 2px 10px; display:flex; align-items:center; gap:8px; }

/* Vue d'ensemble : grand solde + répartition */
.solde-carte{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px 18px; text-align:center; margin-bottom:14px; }
.solde-label{ color:var(--muted); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; }
.solde-montant{ font-family:'Oswald',sans-serif; font-size:2.6rem; font-weight:700; line-height:1.1; margin-top:4px; }
.solde-montant.positif{ color:var(--green); }
.solde-montant.negatif{ color:var(--red); }
.repartition{ display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.repartition .ligne-mont{ display:flex; justify-content:space-between; align-items:center; background:var(--surface); padding:13px 15px; font-size:.95rem; }
.ligne-mont .lm-label{ color:var(--text); display:flex; align-items:center; gap:9px; }
.ligne-mont .lm-label .ico{ color:var(--muted); }
.ligne-mont .lm-val{ font-weight:700; font-variant-numeric:tabular-nums; }
.lm-val.recette{ color:var(--green); }
.lm-val.depense{ color:var(--red); }

/* Listes (dépenses, subventions, cotisations) */
.liste-treso{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.item-treso{ display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px; }
.item-t07{ flex:1; min-width:0; }
.item-treso .it-titre{ font-weight:600; }
.item-treso .it-sous{ color:var(--muted); font-size:.78rem; margin-top:2px; }
.item-treso .it-montant{ font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.it-montant.recette{ color:var(--green); }
.it-montant.depense{ color:var(--red); }
.item-modif{ cursor:pointer; }
.item-modif:active{ background:var(--surface-2); }
.it-fleche{ flex:none; color:var(--muted); font-size:1.5rem; line-height:1; }
.it-annuler{ flex:none; height:34px; padding:0 10px; border-radius:9px; color:var(--red); background:var(--bg-alt); border:1px solid var(--line); font-size:.8rem; font-weight:700; }
.it-annuler:active{ background:var(--surface-2); }
.it-suppr{ width:34px; height:34px; border-radius:9px; flex:none; color:var(--muted); background:var(--bg-alt); border:1px solid var(--line); font-size:1.1rem; }
.it-suppr:active{ background:var(--surface-2); }
.tot-ligne{ display:flex; justify-content:space-between; align-items:center; padding:14px 4px 2px; font-weight:700; }
.tot-ligne .tot-val{ font-family:'Oswald',sans-serif; font-size:1.4rem; }
.tc-vide{ text-align:center; color:var(--muted); padding:28px 10px; }
.btn-ajout-treso{ width:100%; margin-top:12px; height:50px; border-radius:14px; background:var(--surface); border:1px dashed var(--line); color:var(--teal); font-weight:700; display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; }
.btn-ajout-treso:active{ background:var(--surface-2); }

/* ===== Buvette ===== */
.buv-stock{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
.buv-stock-case{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px; text-align:center; }
.buv-stock-case.bas{ border-color:var(--red); box-shadow:0 0 0 1px var(--red) inset; }
.buv-stock-case .bs-nb{ font-family:'Oswald',sans-serif; font-size:1.8rem; font-weight:700; }
.buv-stock-case .bs-txt{ color:var(--muted); font-size:.78rem; }
.buv-stock-case.bas .bs-nb{ color:var(--red); }

.buv-prod{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:14px; margin-bottom:12px; }
.buv-prod-tete{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
.buv-prod-nom{ font-weight:700; font-size:1.1rem; }
.buv-prod-prix{ color:var(--muted); font-size:.85rem; }
.buv-prod-ligne{ display:flex; align-items:center; gap:12px; }
.buv-dessin{ flex:none; width:44px; height:74px; filter:drop-shadow(0 4px 6px rgba(0,0,0,.45)); }
.buv-prod-ligne .pm{ flex:1; }
.pm{ display:flex; align-items:center; justify-content:center; gap:16px; }
.pm-btn{ width:62px; height:62px; border-radius:18px; font-size:2rem; font-weight:700; display:flex; align-items:center; justify-content:center; background:var(--bg-alt); border:1px solid var(--line); color:var(--text); }
.pm-btn:active{ transform:scale(.93); }
.pm-moins{ color:var(--muted); }
.pm-plus{ background:var(--teal); color:#062a27; border-color:var(--teal); }
.pm-nb{ min-width:56px; text-align:center; font-family:'Oswald',sans-serif; font-size:2.2rem; font-weight:700; }

.buv-total{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius); padding:14px 18px; display:flex; justify-content:space-between; align-items:center; margin:4px 0 12px; }
.buv-total .bt-label{ color:var(--muted); }
.buv-total .bt-val{ font-family:'Oswald',sans-serif; font-size:2rem; font-weight:700; color:var(--teal); }
.buv-actions{ display:flex; gap:10px; }
.buv-valider{ flex:1; height:56px; border-radius:16px; background:var(--green); color:#062a12; font-weight:800; font-size:1.05rem; }
.buv-valider:disabled{ opacity:.4; }
.buv-annuler{ flex:0 0 auto; padding:0 18px; height:56px; border-radius:16px; background:var(--surface); border:1px solid var(--line); color:var(--muted); font-weight:700; }
.buv-encaisse{ text-align:center; color:var(--muted); font-size:.88rem; margin-top:14px; }
.buv-encaisse b{ color:var(--green); font-size:1rem; }
.buv-reappro{ width:100%; margin-top:10px; height:46px; border-radius:12px; background:none; border:1px dashed var(--line); color:var(--muted); font-weight:600; }
