/* v2.0.329 — Contactez-nous · pop-up des tuiles · couleurs lisibles · modèles d'école · logo */

/* ───────── Contactez-nous (petit widget) ───────── */
#ct-btn{position:fixed;right:16px;bottom:16px;z-index:10002;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px 0 11px;border:0;border-radius:999px;cursor:pointer;color:#fff;font:700 13px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(135deg,#00632f,#0a7a3c);box-shadow:0 4px 14px #00321880,0 0 0 2px #ffffff55 inset;transition:transform .15s,box-shadow .15s}
#ct-btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px #00321899}
#ct-btn:focus-visible{outline:3px solid #f5c400;outline-offset:2px}
#ct-btn .ct-bi{font-size:15px}
#ct-box{position:fixed;right:16px;bottom:62px;z-index:10002;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 90px);overflow:auto;display:none;flex-direction:column;background:#fff;color:#1b2a22;border-radius:16px;border:1px solid #cfe0d6;box-shadow:0 14px 36px #0a2a1a55;font:14px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
#ct-box.open{display:flex;animation:ctIn .16s ease-out}
@keyframes ctIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.ct-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:13px 14px;color:#fff;background:linear-gradient(120deg,#00632f,#0a7a3c 60%,#8a6d00);border-radius:15px 15px 0 0}
.ct-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0}
.ct-title b{font-size:16px}.ct-title .ct-ar{font-size:14px;opacity:.95}.ct-title small{flex-basis:100%;font-size:11.5px;opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-x{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:#ffffff30;color:#fff;cursor:pointer;font-size:14px}
.ct-x:hover{background:#ffffff55}
.ct-body{display:flex;flex-direction:column;gap:6px;padding:10px}
.ct-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #dbe8e0;border-radius:11px;background:#f7fbf8;color:inherit;text-decoration:none}
a.ct-row:hover,a.ct-row:focus-visible{background:#e6f4ea;border-color:#0a7a3c;outline:none}
.ct-i{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#dff0e5;font-size:16px}
.ct-wa .ct-i{background:#d4f3dc}
.ct-t{display:flex;flex-direction:column;min-width:0;flex:1}.ct-t small{font-size:11px;color:#4a5f53;text-transform:uppercase;letter-spacing:.04em}.ct-t b{font-size:13.5px;font-weight:650;overflow-wrap:anywhere}
.ct-go{color:#0a6b36;font-size:20px}
.ct-empty{margin:4px;color:#3d4f45;font-size:13px}
@media print{#ct-btn,#ct-box{display:none!important}}
@media(max-width:480px){#ct-btn{right:10px;bottom:10px}#ct-box{right:8px;bottom:56px}}
@media(prefers-reduced-motion:reduce){#ct-box.open{animation:none}}

/* ───────── Tuiles « Accès rapide » : couleurs lisibles (contraste ≥ 4,5:1) ───────── */
.ref-top h2{color:#0b4f66}
.ref-subtitle{color:#1f3447;font-weight:700}
.ref-tile{color:#1d3f52;border:1px solid #b9ccd6;font-size:14px;font-weight:600;background:#fff}
.ref-tile:hover,.ref-tile:focus{outline:3px solid #0b6e8a}
.ref-tile.accent{background:#0b6e8a;color:#fff;border-color:#0b6e8a}
.ref-tile.green{background:#2b7a1b;color:#fff;border-color:#2b7a1b}
.ref-tile.orange{background:#a84a00;color:#fff;border-color:#a84a00}
.ref-help{background:#e8f3f8;border-left-color:#0b6e8a;color:#1d3447}
.ref-close{background:#b3261e}
.ref-side button{font-size:14px}.ref-side button.active,.ref-side button:hover{background:#1e6aa8}
#referenceLauncher{background:#174a78;border-color:#9cc3dd}

/* ───────── Pop-up d'une tuile ───────── */
.ref-pop-ov{position:fixed;inset:0;z-index:1000001;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(6,20,32,.62);backdrop-filter:blur(2px)}
.ref-pop{width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px #04121e99;color:#1d3447;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;animation:refPopIn .18s ease-out}
@keyframes refPopIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.ref-pop-head{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 22px 18px;color:#fff;background:linear-gradient(135deg,#0b4f66,#0b6e8a)}
.ref-pop.green .ref-pop-head{background:linear-gradient(135deg,#1f5c13,#2b7a1b)}
.ref-pop.orange .ref-pop-head{background:linear-gradient(135deg,#7d3600,#a84a00)}
.ref-pop-ic{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:#fff;font-size:34px;box-shadow:0 6px 16px #00000040}
.ref-pop-head h3{margin:4px 0 0;font-size:21px;line-height:1.2;color:#fff}
.ref-pop-crumb{margin:0;padding:3px 12px;border-radius:999px;background:#ffffff2e;font-size:12.5px;color:#fff}
.ref-pop-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:50%;background:#ffffff33;color:#fff;font-size:16px;cursor:pointer}
.ref-pop-x:hover{background:#ffffff59}
.ref-pop-body{padding:18px 24px 6px;text-align:center}
.ref-pop-desc{margin:0 0 12px;color:#1d3447}
.ref-pop-sub{margin:10px 0 6px;font-weight:700;color:#0b4f66}
.ref-pop-list{list-style:none;margin:0 auto;padding:0;display:inline-flex;flex-direction:column;gap:6px;text-align:left}
.ref-pop-list li{position:relative;padding-left:24px}
.ref-pop-list li:before{content:"✔";position:absolute;left:0;top:0;color:#1f7a2c;font-weight:800}
.ref-pop-warn{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff1d6;color:#5c3a00;border:1px solid #e0b25a;font-size:13.5px}
.ref-pop-act{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:16px 24px 22px}
.ref-pop-go,.ref-pop-close{min-height:44px;padding:0 22px;border-radius:12px;font:700 15px system-ui,Arial,sans-serif;cursor:pointer}
.ref-pop-go{border:0;color:#fff;background:#0b6e8a;box-shadow:0 5px 14px #0b6e8a55}
.ref-pop.green .ref-pop-go{background:#2b7a1b;box-shadow:0 5px 14px #2b7a1b55}.ref-pop.orange .ref-pop-go{background:#a84a00;box-shadow:0 5px 14px #a84a0055}
.ref-pop-go:hover:not(:disabled){filter:brightness(1.1)}.ref-pop-go:disabled{background:#8a98a3;box-shadow:none;cursor:not-allowed}
.ref-pop-close{border:2px solid #b9ccd6;background:#fff;color:#1d3f52}.ref-pop-close:hover{background:#eef4f8}
.ref-pop button:focus-visible{outline:3px solid #f5c400;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.ref-pop{animation:none}}

/* ───────── Modèles d'école ───────── */
.mdl-ov{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(8,22,16,.6)}
.mdl-card{width:min(680px,100%);max-height:calc(100vh - 28px);overflow:auto;background:#fff;color:#1b2a22;border-radius:16px;box-shadow:0 22px 60px #00000070}
.mdl-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;color:#fff;background:linear-gradient(120deg,#00632f,#0a7a3c)}
.mdl-head h3{margin:0;font-size:17px;color:#fff}.mdl-x{width:32px;height:32px;border:0;border-radius:50%;background:#ffffff33;color:#fff;cursor:pointer}
.mdl-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:14px}
.mdl-intro{margin:0;color:#34473c}
.mdl-choices{display:grid;gap:10px}
.mdl-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:2px solid #cfe0d6;border-radius:12px;cursor:pointer}
.mdl-choice:has(input:checked){border-color:#0a7a3c;background:#eaf6ee}
.mdl-choice span{display:flex;flex-direction:column}.mdl-choice small{color:#46594e}
.mdl-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.mdl-opts label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}
.mdl-opts label.chk{flex-direction:row;align-items:center;gap:8px}
.mdl-opts select,.mdl-opts input[type=number]{min-height:38px;padding:0 10px;border:1px solid #9fb5a7;border-radius:9px;font:inherit}
.mdl-prev h4{margin:0 0 2px}.mdl-count{margin:0 0 8px;color:#46594e;font-size:13px}
.mdl-cat{border:1px solid #d3e2d9;border-radius:10px;margin-bottom:6px;background:#fafdfb}
.mdl-cat summary{cursor:pointer;padding:9px 12px;font-weight:700;color:#0b5a2c}
.mdl-cat table{width:100%;border-collapse:collapse;font-size:13px}.mdl-cat td{padding:5px 12px;border-top:1px solid #e3ede7}.mdl-cat td.lv{color:#46594e;text-align:right}
.mdl-msg{margin:0;min-height:20px;font-weight:600}.mdl-msg.ok{color:#136b2c}.mdl-msg.err{color:#a3231b}
.mdl-act{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.mdl-go,.mdl-no{min-height:42px;padding:0 20px;border-radius:11px;font:700 14px system-ui,Arial,sans-serif;cursor:pointer}
.mdl-go{border:0;background:#0a6b36;color:#fff}.mdl-go:disabled{opacity:.6}.mdl-no{border:2px solid #b8cabf;background:#fff;color:#1b2a22}

/* ───────── Logo de l'établissement ───────── */
.school-logo{display:grid;place-items:center}
.school-logo-img{width:72px;height:72px;object-fit:contain;grid-area:1/1}
.access-logo-img{display:block;max-width:150px;max-height:150px;margin:0 auto 10px;object-fit:contain;background:#fff;border-radius:16px;padding:8px;box-shadow:0 4px 16px #00000030}
.brand-icon.has-logo{background:#fff;border-color:#fff;overflow:hidden}.brand-logo-img{width:100%;height:100%;object-fit:contain;padding:3px}
@media print{.access-logo-img{box-shadow:none}}

/* ───────── Boutons : couleur du texte garantie (la règle globale des boutons l'écrasait) ───────── */
#referenceOverlay .ref-tile.accent,#referenceOverlay .ref-tile.green,#referenceOverlay .ref-tile.orange,
#referenceOverlay .ref-tile.accent span,#referenceOverlay .ref-tile.green span,#referenceOverlay .ref-tile.orange span{color:#fff!important}
#referenceOverlay .ref-tile:not(.accent):not(.green):not(.orange),#referenceOverlay .ref-tile:not(.accent):not(.green):not(.orange) span{color:#16384b!important}
#referenceOverlay .ref-tile{font-size:14px!important;font-weight:650}
#referenceOverlay .ref-side{background:#0f3d6b}
#referenceOverlay .ref-side button,#referenceOverlay .ref-side button span{color:#fff!important;font-size:14px!important;background:transparent}
#referenceOverlay .ref-side button.active,#referenceOverlay .ref-side button:hover{background:#1e6aa8!important;color:#fff!important;font-weight:700}
#referenceOverlay .ref-close{background:#b3261e!important;color:#fff!important}
.ref-pop .ref-pop-go,.ref-pop .ref-pop-x,.ref-pop-head,.ref-pop-head *{color:#fff!important}
.ref-pop .ref-pop-close{color:#1d3f52!important;background:#fff!important}
.ref-pop .ref-pop-go:disabled{color:#fff!important}
.mdl-head,.mdl-head *{color:#fff!important}
.mdl-go{color:#fff!important;background:#0a6b36!important}.mdl-no{color:#1b2a22!important;background:#fff!important}
#ct-btn,#ct-btn *{color:#fff!important}.ct-head,.ct-head *{color:#fff!important}

/* ───────── Écrans de détail des tuiles : pop-up centré ───────── */
#referenceOverlay.has-pop::after{content:"";position:fixed;inset:0;z-index:1000000;background:rgba(6,20,32,.62);backdrop-filter:blur(2px)}
#referenceOverlay.has-pop .ref-grid[hidden]{display:grid!important}
#referenceOverlay.has-pop .ref-help[hidden]{display:block!important}
#referenceOverlay .cil-detail:not([hidden]){position:fixed;z-index:1000001;top:50%;left:50%;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 32px);overflow:auto;margin:0;padding:0 0 22px;background:#fff;border:0;border-radius:18px;box-shadow:0 24px 70px #04121e99;color:#1d3447;animation:refPopIn .18s ease-out}
#referenceOverlay .cil-detail>*:not(.cil-bar329){margin-left:24px;margin-right:24px}
.cil-bar329{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px!important;padding:16px 20px;border-radius:18px 18px 0 0;background:linear-gradient(135deg,#0b4f66,#0b6e8a)}
.cil-bar329 b{color:#fff;font-size:19px;line-height:1.25;flex:1;text-align:center;padding-left:34px}
.cil-bar329 button{flex:none;width:34px;height:34px;border:0!important;border-radius:50%!important;background:#ffffff38!important;color:#fff!important;font-size:16px;cursor:pointer;padding:0!important}
.cil-bar329 button:hover{background:#ffffff66!important}
#referenceOverlay .cil-detail .cil-detail-head{display:none}
#referenceOverlay .cil-detail .cil-back,#referenceOverlay .cil-detail .cap-return{display:none!important}
#referenceOverlay .cil-detail .cap-title{border-bottom-color:#0b6e8a}
/* couleurs lisibles dans les écrans de détail */
#referenceOverlay .cil-detail button,#referenceOverlay .cap-actions button,#referenceOverlay .cap-filter button,#referenceOverlay .cil-report button{background:#0b6e8a!important;color:#fff!important;font-weight:650;min-height:40px;border-radius:9px!important}
#referenceOverlay .cap-actions button:nth-child(2n),#referenceOverlay .cil-report button:nth-child(2){background:#2b7a1b!important}
#referenceOverlay .cap-actions button:nth-child(3n),#referenceOverlay .cil-report button:nth-child(3){background:#a84a00!important}
#referenceOverlay .cil-report button:nth-child(4){background:#5b3f99!important}
#referenceOverlay .cil-detail button:hover{filter:brightness(1.12)}
#referenceOverlay .cil-detail .cil-bar329 button{background:#ffffff38!important}
#referenceOverlay .cil-detail label{color:#2a3d49;font-size:13px;font-weight:600}
#referenceOverlay .cil-detail input,#referenceOverlay .cil-detail select{border:1px solid #7f95a3;border-radius:8px;padding:9px;color:#16384b;background:#fff}
#referenceOverlay .cil-columns legend{color:#0b5a75}
#referenceOverlay .cil-tabs span{color:#16384b;font-weight:650;border-bottom-color:#0b6e8a}
#referenceOverlay .cil-note,#referenceOverlay .cap-warning{color:#5c3a00;font-size:13px;background:#fff6e0;border-left:4px solid #c27a00;padding:8px 12px;border-radius:6px}
#referenceOverlay .cap-table th{background:#0b6e8a;color:#fff}
#referenceOverlay .cap-table td{color:#16384b}
#referenceOverlay .cap-status-269,#referenceOverlay .cap-status-270{background:#e3f2f8;color:#0d4660}
@media(max-width:700px){#referenceOverlay .cil-detail:not([hidden]){width:calc(100vw - 16px);max-height:calc(100vh - 16px)}#referenceOverlay .cil-detail>*:not(.cil-bar329){margin-left:14px;margin-right:14px}}
@media print{.ref-pop-ov,#referenceOverlay.has-pop::after{display:none!important}}
#referenceOverlay .ref-side{background:#0f3d6b!important}
#referenceOverlay .ref-side button{border-bottom:1px solid #ffffff3d!important}
#referenceOverlay .ref-top h2{color:#0b4f66!important}

/* v2.0.354 — Logo MAKARIMOUL AKHLAQ « KEUR YAYE BINTA » : sans fond blanc, tout neutre (transparent, sans cadre, sans ombre, sans arrondi) */
body .access-logo-img,body .brand-logo-img,body .school-logo-img,body img[src*="/api/public/logo"],body img[src*="logo-makarimoul"]{background:transparent!important;background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;outline:0!important;filter:none!important}
body .sidebar .brand-icon.has-logo,body .brand-icon.has-logo,body .school-logo,body .access-brand .login-logo.has-logo{background:transparent!important;background-color:transparent!important;border:0!important;box-shadow:none!important}
body .brand-logo-img{padding:0!important}
@media print{body .access-logo-img{box-shadow:none!important}}

/* v2.0.356 — « Contactez-nous » : chat assisté par IA */
#ct-box.ct-chat{width:min(360px,calc(100vw - 24px));height:min(540px,calc(100vh - 90px));overflow:hidden}
.ct-chat .ct-ai{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#ffffff33;color:#fff}
.ct-msgs{flex:1 1 auto;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px;background:#f3f8f5}
.ct-msg{display:flex;flex-direction:column;max-width:88%}
.ct-msg.ct-me{align-self:flex-end;align-items:flex-end}.ct-msg.ct-bot{align-self:flex-start}
.ct-bub{padding:8px 11px;border-radius:14px;font-size:13.5px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.ct-me .ct-bub{background:#0a6b36;color:#fff;border-bottom-right-radius:4px}
.ct-bot .ct-bub{background:#fff;color:#1b2a22;border:1px solid #d3e4da;border-bottom-left-radius:4px}
.ct-bub.ct-typing{color:#4a5f53;font-style:italic}
.ct-tag{margin-top:3px;font-size:10.5px;color:#4a5f53}
.ct-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px 8px;background:#f3f8f5}.ct-chips[hidden]{display:none}
.ct-chip{border:1px solid #0a7a3c;background:#fff;color:#0a5a2d;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:650;cursor:pointer}
.ct-chip:hover,.ct-chip:focus-visible{background:#e6f4ea;outline:none}
.ct-info{border-top:1px solid #dbe8e0;background:#fff}.ct-info summary{cursor:pointer;padding:8px 12px;font-size:12.5px;font-weight:700;color:#0a5a2d}
.ct-info .ct-body{max-height:170px;overflow:auto}
.ct-form{display:flex;gap:6px;padding:8px 10px;border-top:1px solid #dbe8e0;background:#fff}
.ct-form input{flex:1;min-width:0;border:1px solid #b9cfc2;border-radius:999px;padding:8px 12px;font:inherit;color:#1b2a22;background:#fff}
.ct-form input:focus{outline:2px solid #0a7a3c;outline-offset:1px}
.ct-send{flex:none;width:38px;height:38px;border:0;border-radius:50%;background:#0a6b36;color:#fff;font-size:15px;cursor:pointer}
.ct-send:disabled,.ct-form input:disabled{opacity:.6;cursor:default}
@media(max-width:480px){#ct-box.ct-chat{right:8px;width:calc(100vw - 16px)}}
