:root{--primaire: #1d3f6e;--primaire-fonce: #142d50;--primaire-clair: #e7eef8;--accent: #b07d12;--fond: #f4f6f9;--surface: #ffffff;--bordure: #dde3ea;--texte: #1c2430;--texte-doux: #5b6776;--succes: #1e7b4a;--succes-clair: #e3f4ea;--danger: #b3261e;--danger-clair: #fbe9e7;--alerte: #9a6700;--alerte-clair: #fff4d6;--rayon: 8px;--ombre: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--texte)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--fond)}a{color:var(--primaire);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;font-weight:600}h1{font-size:1.45rem}h2{font-size:1.15rem}h3{font-size:1rem}.muted{color:var(--texte-doux)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.positif{color:var(--succes)}.negatif{color:var(--danger)}.gras{font-weight:600}.page-entete{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-entete p{margin:.2rem 0 0;color:var(--texte-doux)}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.grille{display:grid;gap:1rem}.grille-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grille-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.pile{display:flex;flex-direction:column;gap:1rem}.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);padding:1.1rem 1.25rem}.carte>h2{margin-bottom:.9rem}.carte.sans-marge{padding:0;overflow:hidden}.carte.sans-marge>h2{padding:1rem 1.25rem 0}.indicateur .libelle{color:var(--texte-doux);font-size:.85rem}.indicateur .valeur{font-size:1.45rem;font-weight:600;margin-top:.25rem;font-variant-numeric:tabular-nums}.indicateur .detail{font-size:.8rem;color:var(--texte-doux);margin-top:.2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--bordure);background:var(--surface);color:var(--texte);border-radius:6px;padding:.5rem .9rem;font:inherit;cursor:pointer;text-decoration:none;white-space:nowrap;min-height:36px}.btn:hover{background:#f0f3f7;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primaire{background:var(--primaire);border-color:var(--primaire);color:#fff}.btn-primaire:hover{background:var(--primaire-fonce)}.btn-succes{background:var(--succes);border-color:var(--succes);color:#fff}.btn-succes:hover{background:#17633b}.btn-danger{color:var(--danger);border-color:#efc2be}.btn-danger:hover{background:var(--danger-clair)}.btn-lien{border:none;background:none;color:var(--primaire);padding:.25rem .4rem;min-height:auto}.btn-lien:hover{background:var(--primaire-clair)}.btn-petit{padding:.25rem .6rem;min-height:28px;font-size:.85rem}.formulaire{display:grid;gap:.9rem 1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.champ{display:flex;flex-direction:column;gap:.3rem}.champ.large{grid-column:1 / -1}.champ label{font-weight:500;font-size:.88rem}.champ .aide{font-size:.78rem;color:var(--texte-doux)}input,select,textarea{font:inherit;color:inherit;border:1px solid #c9d2dd;border-radius:6px;padding:.5rem .65rem;background:#fff;min-height:36px;width:100%}input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:2px solid #8fb0dc;outline-offset:1px;border-color:var(--primaire)}input[type=checkbox]{width:auto;min-height:auto}textarea{min-height:70px;resize:vertical}.filtres{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-bottom:1rem}.filtres .champ{min-width:150px;flex:1 1 150px}.pied-formulaire{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.1rem}.table-conteneur{overflow-x:auto}table{border-collapse:collapse;width:100%;background:var(--surface)}th,td{padding:.5rem .7rem;border-bottom:1px solid var(--bordure);text-align:left;vertical-align:top}th{background:#f7f9fb;font-weight:600;font-size:.82rem;color:var(--texte-doux);white-space:nowrap}tbody tr:hover{background:#fafbfd}tfoot td{font-weight:600;background:#f7f9fb}.vide{text-align:center;color:var(--texte-doux);padding:2rem}.etat td,.etat th{padding:.35rem .55rem;font-size:.85rem}.etat tr.SECTION td{background:var(--primaire);color:#fff;font-weight:600;letter-spacing:.02em}.etat tr.RUBRIQUE td{font-weight:600;color:var(--primaire);background:#f3f6fb}.etat tr.SOUS_TOTAL td{font-weight:600;background:#fafbfd;border-top:1px solid #c9d2dd}.etat tr.TOTAL td{font-weight:700;background:var(--primaire-clair);border-top:2px solid var(--primaire)}.etat td.code{color:var(--texte-doux);width:60px}.badge{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;background:#eef1f5;color:var(--texte-doux)}.badge.BROUILLON{background:var(--alerte-clair);color:var(--alerte)}.badge.VALIDEE,.badge.OUVERT,.badge.SOLDE,.badge.CELEBREE{background:var(--succes-clair);color:var(--succes)}.badge.ANNULEE,.badge.CLOTURE{background:#eceff3;color:#6b7684}.badge.ENTREE,.badge.RECETTE{background:var(--succes-clair);color:var(--succes)}.badge.SORTIE,.badge.DEPENSE{background:var(--danger-clair);color:var(--danger)}.badge.EN_COURS,.badge.PARTIEL,.badge.RECUE{background:var(--primaire-clair);color:var(--primaire)}.onglets{display:flex;gap:.25rem;border-bottom:1px solid var(--bordure);margin-bottom:1rem;overflow-x:auto}.onglets button{border:none;background:none;font:inherit;padding:.6rem .9rem;cursor:pointer;color:var(--texte-doux);border-bottom:2px solid transparent;white-space:nowrap}.onglets button.actif{color:var(--primaire);border-bottom-color:var(--primaire);font-weight:600}.modale-fond{position:fixed;inset:0;background:#0f172a73;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:5vh 1rem;overflow-y:auto}.modale{background:var(--surface);border-radius:10px;width:min(640px,100%);padding:1.4rem;box-shadow:0 20px 45px #0003}.modale h2{margin-bottom:1rem}.alerte{padding:.75rem 1rem;border-radius:6px;border:1px solid;margin-bottom:1rem}.alerte.info{background:var(--primaire-clair);border-color:#c4d4ea;color:var(--primaire-fonce)}.alerte.attention{background:var(--alerte-clair);border-color:#f0d796;color:#6e4b00}.alerte.erreur{background:var(--danger-clair);border-color:#efc2be;color:var(--danger)}.notifications{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:100;max-width:min(420px,calc(100vw - 2rem))}.notification{padding:.8rem 1rem;border-radius:8px;color:#fff;box-shadow:0 8px 20px #0000002e;cursor:pointer}.notification.succes{background:var(--succes)}.notification.erreur{background:var(--danger)}.notification.info{background:var(--primaire)}.barres{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:.5rem}.barres .colonne{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.barres .paire{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.barres .barre{width:45%;max-width:18px;border-radius:3px 3px 0 0;min-height:1px}.barres .barre.recette{background:#2f7d5b}.barres .barre.depense{background:#c0564b}.barres .mois{font-size:.7rem;color:var(--texte-doux)}.legende{display:flex;gap:1rem;font-size:.8rem;color:var(--texte-doux);margin-top:.5rem}.legende span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.legende .recette:before{background:#2f7d5b}.legende .depense:before{background:#c0564b}.jauge{height:8px;border-radius:4px;background:#e8edf3;overflow:hidden;margin-top:.4rem}.jauge>div{height:100%;background:var(--primaire)}.entete-impression{display:none}@media print{@page{size:A4;margin:12mm}body{background:#fff}.no-print,.sidebar,.topbar,.notifications{display:none!important}.contenu{padding:0!important;margin:0!important}.carte{box-shadow:none;border:none;padding:0}.entete-impression{display:block;text-align:center;margin-bottom:1rem}.etat td,.etat th{font-size:9pt;padding:2px 4px}.etat tr.SECTION td{background:#ddd!important;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:640px){.carte{padding:.9rem}h1{font-size:1.25rem}}
