:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#24354a;background:#f5f8f7;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#1d3046;color:white;padding:20px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}header a{color:inherit;text-decoration:none}nav{display:flex;align-items:center;gap:24px}.marque{font-weight:750;font-size:24px}main{max-width:1240px;margin:55px auto;padding:0 24px;min-height:70vh}h1{font-size:clamp(28px,4vw,42px);margin:12px 0 18px;line-height:1.2}h2{font-size:23px;margin-top:0}p{line-height:1.65}.sur-titre{text-transform:uppercase;letter-spacing:2px;font-weight:700;color:#50796b;font-size:12px}#introduction{color:#637487}.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin:32px 0}.application{background:white;border:1px solid #dae3df;border-radius:16px;padding:26px;display:flex;flex-direction:column;min-height:252px;box-shadow:0 4px 15px #1d304606}.application p{color:#5e6f80;flex:1}.application.inactive{background:#edf0ef;border-color:#d5dcda;color:#6c767b;box-shadow:none}.application.inactive h2{color:#687479}.application.inactive p{color:#687479}.application .badge{font-size:12px;align-self:flex-start;color:#687479;background:#dfe5e2;border-radius:30px;padding:5px 10px;margin-bottom:16px}.application.active .badge{color:#326e55;background:#e4f1e9}a{color:#39765f}.bouton,button{font:inherit;cursor:pointer;border:0;background:#48856c;color:white;border-radius:9px;padding:12px 18px;font-weight:650;text-decoration:none;display:inline-block;text-align:center}button:disabled{opacity:.6;cursor:wait}button.secondaire{color:#344b60;background:#edf1f2}header button{background:#ffffff15;padding:8px 12px}.application .indisponible{font-size:14px;font-weight:600;color:#69777d}.formulaire{max-width:570px;background:white;border:1px solid #dbe3e0;padding:32px;border-radius:16px;margin-top:28px}.formulaire label{display:block;font-weight:600;margin:20px 0 8px}input,select{font:inherit;border:1px solid #cbd8d2;border-radius:8px;padding:12px;background:white;color:#24354a;width:100%}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #9cc4b5;outline-offset:2px}input[type=checkbox]{width:20px;height:20px;accent-color:#48856c;vertical-align:middle;margin:0 10px 0 0}.formulaire button{margin-top:24px;width:100%}.aide{font-size:14px;color:#687b8b}.liens{display:flex;gap:20px;flex-wrap:wrap;margin:22px 0}.erreur{color:#a6342d;background:#fae9e7;padding:14px;border-radius:8px}.succes{background:#e4f1e9;color:#2f654e;padding:14px;border-radius:8px}.outils{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:24px 0}.outils label{max-width:330px;flex:1;min-width:200px}.outils input,.outils select{margin-top:8px}.tableau{overflow:auto;background:white;border-radius:12px;border:1px solid #dbe3e0}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:15px;border-bottom:1px solid #e4ebe8;font-size:14px;white-space:nowrap}th{background:#edf3f0}td small{display:block;color:#69798a;margin-top:5px}.edition{background:white;border:1px solid #c5dace;padding:28px;border-radius:14px;margin-top:30px}.droits{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:22px 0}.droit{background:#f4f7f5;border-radius:8px;padding:16px}.droit label{display:flex;align-items:center;font-weight:650}.droit p{font-size:13px;margin-bottom:0;color:#68798b}.edition .actions{display:flex;gap:12px}footer{max-width:1240px;margin:30px auto;padding:0 24px;color:#778698;font-size:13px}[hidden]{display:none!important}@media(max-width:600px){main{margin-top:30px;padding:0 18px}header{padding:18px;align-items:flex-start}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:14px}.formulaire{padding:22px}.grille{grid-template-columns:1fr}}

#utilisateur-connecte{font-size:14px;color:#d1e3ed;overflow-wrap:anywhere}header{flex-wrap:wrap}header nav{flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){header nav{width:100%;justify-content:flex-start}#utilisateur-connecte{width:100%}}

.application-logo{height:156px;display:flex;align-items:center;justify-content:center;background:#f0f7fc;border:1px solid #dce9f4;border-radius:12px;margin-bottom:20px;flex:none}.application-logo img{display:block;width:240px;max-width:100%;height:128px;object-fit:contain}.application.inactive .application-logo{background:#e6e9eb;border-color:#d6dde1}.application.inactive .application-logo img{filter:grayscale(1);opacity:.6}

/* BCMG common footer */
body.bcmg-page{min-height:100vh;height:auto;display:flex;flex-direction:column}
body.bcmg-page>#app,body.bcmg-page>#root{flex:1 0 auto;min-width:0}
#bcmg-legal-footer{box-sizing:border-box;position:relative;inset:auto;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 28px;flex:0 0 auto;width:100%;max-width:none;margin:auto 0 0;padding:18px 24px;border:0;border-top:1px solid #d4e0e9;border-radius:0;background:#edf4fa;color:#344b61;text-align:left;font:700 12px/1.6 "Segoe UI",Arial,sans-serif;letter-spacing:normal;clear:both}
#bcmg-legal-footer .bcmg-copyright{display:block;flex:0 1 265px;margin:0;font:inherit;color:inherit}
#bcmg-legal-footer .bcmg-warning{display:block;flex:1 1 520px;margin:0;font:inherit;color:inherit}
body.bcmg-plan>#bcmg-legal-footer{margin-left:230px;width:calc(100% - 230px)}
@media(max-width:900px){body.bcmg-plan>#bcmg-legal-footer{margin-left:120px;width:calc(100% - 120px)}}
@media(max-width:700px){#bcmg-legal-footer{flex-direction:column;gap:10px;padding:16px 18px}#bcmg-legal-footer .bcmg-copyright,#bcmg-legal-footer .bcmg-warning{flex:none;width:100%}}
@media print{#bcmg-legal-footer{display:flex!important;position:static!important;color:#333;background:white;padding:10px 0;font-size:9px;break-inside:avoid}body.bcmg-plan>#bcmg-legal-footer{margin-left:0;width:100%}}

.demander-acces{margin-top:16px;background:#365f82}.demander-acces:disabled{cursor:default;background:#6f7e89}.demandes-administration{margin:28px 0;padding:22px;background:#fff;border:1px solid #dbe3e0;border-radius:12px}.demande-ligne{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid #e4ebe8}.demande-ligne .actions{display:flex;gap:10px}.demande-ligne strong{overflow-wrap:anywhere}.formulaire>a{display:block;margin-top:20px}
.actions-bureau button{display:block;width:100%;margin:5px 0}.danger{background:#a6342d;color:white}.danger.secondaire{color:#a6342d;background:#fae9e7}.suppression-bureau{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d5dfda;border-radius:16px;padding:28px;color:#24354a}.suppression-bureau::backdrop{background:#172d46a8}.suppression-bureau h2{line-height:1.35}.suppression-bureau label{display:block;font-weight:650;margin:18px 0 10px}.suppression-bureau .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.suppression-bureau li,.suppression-bureau h2{overflow-wrap:anywhere}@media(max-width:600px){.suppression-bureau{padding:20px}.suppression-bureau .actions button{width:100%}}

/* Identité ComptaTools dans le catalogue et les démarches. */
.marque{display:inline-flex;align-items:center;gap:16px;flex-shrink:0}.marque-logo{display:block;width:128px;height:128px;object-fit:contain;background:#eaf4ff;border:1px solid #d8e8f7;border-radius:14px;padding:6px}@media(max-width:600px){.marque{gap:12px;font-size:22px}.marque-logo{width:96px;height:96px}}

main{width:100%;min-width:0}

/* Cartes du catalogue compactes, sans tronquer les descriptions. */
.grille{gap:16px;margin:24px 0}
.application{min-height:0;padding:18px}
.application-logo{height:104px;margin-bottom:12px;background:#fff}
.application-logo img{width:128px;height:96px;max-width:100%;object-fit:contain}
.application .badge{padding:4px 9px;margin-bottom:8px}
.application h2{font-size:20px;line-height:1.25;margin:0 0 6px;overflow-wrap:anywhere}
.application p{font-size:14px;line-height:1.5;margin:0 0 14px}
.application .bouton,.application button{min-height:44px;padding:10px 14px;font-size:14px}
.application .indisponible{font-size:13px;line-height:1.4}
.application .demander-acces{margin-top:10px}

/* Le logo ouvre la meme application que le bouton. */
a.application-logo{text-decoration:none;cursor:pointer}a.application-logo:hover{border-color:#48856c;box-shadow:0 0 0 2px #48856c33}a.application-logo:focus-visible{outline:3px solid #48856c;outline-offset:3px}

/* Catalogue BCMG : raccourcis compacts, descriptions sur demande. */
body.bcmg-catalogue header{padding:10px 24px;gap:12px}
body.bcmg-catalogue .marque{font-size:21px;gap:10px}
body.bcmg-catalogue .marque-logo{width:48px;height:48px;padding:2px;border-radius:8px}
body.bcmg-catalogue main{max-width:1600px;margin:14px auto 10px;padding:0 24px;min-height:0}
body.bcmg-catalogue h1{font-size:25px;margin:4px 0 5px}
body.bcmg-catalogue .sur-titre{margin:0;font-size:10px}
body.bcmg-catalogue #introduction{font-size:12px;margin:0}
body.bcmg-catalogue .grille{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin:14px 0}
body.bcmg-catalogue .application{position:relative;padding:10px;min-height:0;border-radius:10px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:5px 9px;align-content:start}
body.bcmg-catalogue .application-logo{grid-row:1/4;width:64px;height:57px;margin:0;border:0;background:white;border-radius:6px}
body.bcmg-catalogue .application-logo img{width:64px;height:53px}
body.bcmg-catalogue .application h2{font-size:14px;line-height:1.2;margin:0;grid-column:2;overflow-wrap:anywhere}
body.bcmg-catalogue .application .badge{font-size:9px;padding:2px 5px;margin:0;grid-column:2;justify-self:start;align-self:start}
body.bcmg-catalogue .application .bouton{grid-column:1/-1;font-size:12px;min-height:30px;padding:5px 8px;border-radius:6px;margin:0}
body.bcmg-catalogue .application-description{grid-column:1/-1;font-size:11px;margin:0}
body.bcmg-catalogue .application-description summary{cursor:pointer;color:#59717d;font-size:11px;padding:2px 0}
body.bcmg-catalogue .application-description p{font-size:12px;margin:5px 0;line-height:1.4}
body.bcmg-catalogue .application .indisponible,body.bcmg-catalogue .application .demander-acces{grid-column:1/-1;font-size:11px;line-height:1.3;margin:0;min-height:30px;padding:4px}
body.bcmg-catalogue .administration-repliee{margin-top:12px}
body.bcmg-catalogue .administration-repliee>summary{cursor:pointer;font-size:13px;font-weight:650;color:#375c65}
body.bcmg-catalogue #bcmg-legal-footer{padding:10px 24px;font-size:10px;gap:4px 20px}
@media(min-width:1200px){body.bcmg-catalogue .grille{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:600px){body.bcmg-catalogue .grille{grid-template-columns:repeat(2,minmax(0,1fr))}body.bcmg-catalogue main{padding:0 12px}body.bcmg-catalogue .application{grid-template-columns:1fr}body.bcmg-catalogue .application-logo{grid-row:auto;margin:auto}body.bcmg-catalogue .application h2,body.bcmg-catalogue .application .badge{grid-column:1}body.bcmg-catalogue .application h2{font-size:13px}body.bcmg-catalogue header nav{font-size:12px}}

body.bcmg-catalogue .application{padding:8px;gap:3px 8px}body.bcmg-catalogue main{margin-top:10px}body.bcmg-catalogue .grille{margin:10px 0}
