:root{--green:#077A04;--green2:#2fa42b;--mint:#e7f5e6;--ink:#173a22;--gold:#d5a144}
.brand-mark{background:#fff;overflow:hidden}
.brand-mark img{width:32px;height:32px;object-fit:contain}
.sidebar{overflow:hidden}
.sidebar .brand{flex:0 0 auto;padding-bottom:18px}
#main-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:5px;margin-right:-5px;scrollbar-width:thin;scrollbar-color:#4e7d56 transparent}
#main-nav::-webkit-scrollbar{width:6px}
#main-nav::-webkit-scrollbar-track{background:transparent}
#main-nav::-webkit-scrollbar-thumb{background:#4e7d56;border-radius:8px}
#main-nav::-webkit-scrollbar-thumb:hover{background:#71a278}
.submenu-group{margin:4px 0}.submenu-toggle{width:100%;border:0;background:transparent;color:#8eafa0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px 7px;font:700 9px "DM Sans";letter-spacing:1.1px;text-align:left;cursor:pointer;border-radius:8px}.submenu-toggle:hover{background:rgba(255,255,255,.05);color:#fff}.submenu-toggle b{font-size:12px;transition:transform .2s}.submenu-group.open .submenu-toggle{color:#c5dccb}.submenu-group.open .submenu-toggle b{transform:rotate(180deg)}.submenu-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.submenu-content:before{content:"";display:block;min-height:0}.submenu-content>.nav-item{display:none}.submenu-group.open .submenu-content{display:block}.submenu-group.open .submenu-content>.nav-item{display:flex}.submenu-group .nav-item{padding-left:14px}
.nav-item.role-hidden{display:none!important}
.sidebar .school-card{margin-top:12px;flex:0 0 auto}
.sidebar .user-card{flex:0 0 auto}
.sidebar>.user-card{display:none}
.top-profile{display:flex;align-items:center;gap:9px;border:1px solid #dce6dd;background:#fff;border-radius:22px;padding:4px 9px 4px 4px;color:#173a22;cursor:pointer;box-shadow:0 5px 14px rgba(28,57,34,.07);transition:.2s}
.top-profile:hover{border-color:#077A04;box-shadow:0 7px 18px rgba(7,122,4,.13)}
.top-profile-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#077A04,#3d9540);color:#fff;display:grid;place-items:center;font:800 10px Manrope;box-shadow:0 4px 9px rgba(7,122,4,.22)}
.top-profile-info{text-align:left;line-height:1.1}.top-profile-info strong,.top-profile-info small{display:block}.top-profile-info strong{font:700 10px Manrope;white-space:nowrap}.top-profile-info small{font-size:7px;color:#748178;margin-top:3px}.top-profile-arrow{font-size:11px;color:#77907b;margin-left:2px}
.primary-btn{background:#077A04;box-shadow:0 6px 15px rgba(7,122,4,.2)}
.primary-btn:hover{background:#056603}
.nav-item:hover,.nav-item.active{background:#077A04}
.submenu-toggle{color:#fff!important;font-weight:900!important;font-size:10px!important;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}.submenu-toggle>span{color:#fff}.submenu-group .nav-item{color:#eef8ef;font-weight:800;text-decoration:underline;text-decoration-color:rgba(255,255,255,.48);text-underline-offset:3px}.submenu-group .nav-item>span{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:8px;background:rgba(255,255,255,.08);color:#fff!important;font-size:15px;line-height:1;box-shadow:inset 0 1px rgba(255,255,255,.15)}.submenu-group .nav-item:hover>span,.submenu-group .nav-item.active>span{background:#fff;color:#077A04!important;border-color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.16)}.submenu-toggle b{color:#fff}
.sidebar{background:#12351b}
.school-card{background:#1c4725;border-color:#37633e}
.academy-banner{min-height:190px;margin-top:17px;border-radius:14px;overflow:hidden;position:relative;display:flex;align-items:center;padding:30px;color:#fff;background:linear-gradient(90deg,rgba(5,61,7,.94),rgba(7,122,4,.56),rgba(7,122,4,.04)),url("assets/afmpro-academy.jpeg") center 53%/cover}
.academy-banner div{max-width:470px}
.academy-banner h2{font:800 23px Manrope;margin:6px 0 6px}
.academy-banner p{font-size:11px;line-height:1.5;margin:0;color:#e2f0e3}
.academy-banner .eyebrow{font-size:9px;letter-spacing:1.5px;color:#bfe2bf;font-weight:800}
.notification-panel{display:none;position:absolute;right:145px;top:61px;width:330px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px rgba(20,50,28,.18);z-index:20;padding:10px}
.notification-panel.open{display:block}
.notification-head{display:flex;justify-content:space-between;padding:8px 8px 12px;border-bottom:1px solid var(--line);font-size:12px}
.notification-head span{background:#077A04;color:#fff;border-radius:12px;padding:2px 7px;font-size:9px}
.birthday-item{display:flex;gap:10px;align-items:center;padding:12px 8px;border-bottom:1px solid #edf0ed}
.birthday-item:last-child{border:0}
.birthday-item>span:first-child{width:34px;height:34px;border-radius:9px;background:#e7f5e6;display:grid;place-items:center}
.birthday-item strong,.birthday-item small{display:block}
.birthday-item strong{font-size:10px}
.birthday-item small{font-size:9px;color:var(--muted);margin-top:3px}
.no-notification{padding:22px;text-align:center;font-size:10px;color:var(--muted)}
@media(max-width:800px){.notification-panel{right:18px;top:64px;width:min(330px,calc(100vw - 36px))}}
@media(max-width:720px){.top-profile-info,.top-profile-arrow{display:none}.top-profile{padding:3px;border-radius:50%}.top-profile-avatar{width:34px;height:34px}.top-actions{gap:6px}}

/* Tableau de bord AFMPRO - version enrichie */
.main{
  background-color:#dce8df;
  background-image:linear-gradient(145deg,rgba(225,236,227,.2) 0%,rgba(255,255,255,.16) 48%,rgba(215,228,218,.22) 100%),url("assets/afmpro-background.png");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-blend-mode:multiply,normal;
}
.page{background:rgba(255,255,255,.08)}
#page-dashboard{background-image:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),url("assets/afmpro-background.png");background-size:cover;background-position:center;background-attachment:fixed}
#page-dashboard .panel,#page-dashboard .kpi{background:rgba(255,255,255,.9)}
#page-dashboard{position:relative;isolation:isolate}
#page-dashboard:before,#page-dashboard:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);pointer-events:none}
#page-dashboard:before{width:380px;height:380px;right:-150px;top:-170px;background:radial-gradient(circle,rgba(7,122,4,.13),rgba(7,122,4,0) 70%)}
#page-dashboard:after{width:330px;height:330px;left:-150px;top:420px;background:radial-gradient(circle,rgba(85,100,91,.12),rgba(85,100,91,0) 70%)}
#page-dashboard>.page-heading{background:linear-gradient(120deg,#153a20 0%,#077A04 55%,#59645d 140%);border-radius:17px;padding:22px 25px;color:#fff;box-shadow:0 18px 40px rgba(16,65,25,.18);align-items:center;position:relative;overflow:hidden}
#page-dashboard>.page-heading:after{content:"AFM";position:absolute;right:135px;top:-30px;font:800 105px Manrope;color:rgba(255,255,255,.055);letter-spacing:-9px;transform:rotate(-5deg)}
#page-dashboard>.page-heading h1{color:#fff;font-size:29px}
#page-dashboard>.page-heading p{color:#d7ead8}
#page-dashboard>.page-heading .eyebrow{color:#bdddbe}
#page-dashboard>.page-heading .secondary-btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(8px);position:relative;z-index:1}
#page-dashboard>.page-heading .secondary-btn:hover{background:#fff;color:#077A04}
#page-dashboard>.page-heading{background:transparent;border-radius:0;padding:6px 2px 2px 18px;color:#173a22;box-shadow:none;overflow:visible;border-left:5px solid #077A04;margin-bottom:22px}
#page-dashboard>.page-heading:after{display:none}
#page-dashboard>.page-heading h1{color:#123d1b;font-size:28px}
#page-dashboard>.page-heading p{color:#6f8073}
#page-dashboard>.page-heading .eyebrow{color:#077A04}
#page-dashboard>.page-heading .secondary-btn{background:#fff;border:1.5px solid #077A04;color:#077A04;box-shadow:0 5px 13px rgba(7,122,4,.09)}
#page-dashboard>.page-heading .secondary-btn:hover{background:#077A04;color:#fff}
#page-dashboard .kpi-grid{gap:18px}
#page-dashboard .kpi{border:0;border-top:3px solid #077A04;box-shadow:0 14px 30px rgba(41,58,47,.09);background:linear-gradient(155deg,#fff 55%,#f0f5f0);transition:transform .2s,box-shadow .2s}
#page-dashboard .kpi:nth-child(2){border-top-color:#d3a33e}
#page-dashboard .kpi:nth-child(3){border-top-color:#75827a}
#page-dashboard .kpi:nth-child(4){border-top-color:#d26150}
#page-dashboard .kpi:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(26,63,34,.14)}
#page-dashboard .kpi-icon{box-shadow:inset 0 0 0 1px rgba(7,122,4,.08)}
#page-dashboard .kpi>strong{font-size:23px}
#page-dashboard .panel{border:1px solid rgba(81,105,87,.13);box-shadow:0 14px 32px rgba(40,60,46,.08);background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}
#page-dashboard .panel h3{font-size:15px}
.academy-banner{min-height:225px;border:5px solid rgba(255,255,255,.95);box-shadow:0 20px 45px rgba(24,67,31,.2);background-position:center 48%;isolation:isolate}
.academy-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,48,8,.95) 0%,rgba(7,122,4,.7) 38%,rgba(8,91,10,.2) 68%,rgba(0,0,0,.08) 100%);z-index:-1}
.academy-banner:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.28);border-radius:9px;pointer-events:none}
.academy-banner div{max-width:none;position:relative;z-index:1}
.academy-banner h2{font-size:clamp(18px,2vw,27px);white-space:nowrap;letter-spacing:-.6px;text-shadow:0 3px 15px rgba(0,0,0,.28)}
.academy-banner .eyebrow{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:6px 10px;margin-bottom:7px;backdrop-filter:blur(8px)}
.academy-banner p:last-child{font-size:12px;max-width:580px}
#page-dashboard .bar-chart{background:linear-gradient(180deg,rgba(231,245,230,.2),rgba(231,245,230,.55));border-radius:10px 10px 0 0;margin-top:8px}
#page-dashboard .donut{filter:drop-shadow(0 9px 12px rgba(7,122,4,.15))}
@media(max-width:850px){.academy-banner h2{white-space:normal}.academy-banner{min-height:220px}#page-dashboard>.page-heading:after{right:20px}}
@media(max-width:540px){#page-dashboard>.page-heading{padding:20px}#page-dashboard>.page-heading h1{font-size:24px}.academy-banner{padding:24px 20px;min-height:230px}.academy-banner h2{font-size:20px}}
.submenu-group .nav-item>span svg{width:17px;height:17px;display:block;fill:none;stroke:#fff!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.submenu-group .nav-item:hover>span,.submenu-group .nav-item.active>span{background:rgba(255,255,255,.18)!important;color:#fff!important;border-color:#fff!important}.submenu-group .nav-item:hover>span svg,.submenu-group .nav-item.active>span svg{stroke:#fff!important}
.submenu-group .nav-item{font-weight:600!important;text-decoration:none!important}.submenu-toggle{display:grid!important;grid-template-columns:29px 1fr 16px!important;gap:10px!important;align-items:center!important;padding:9px 10px!important}.submenu-toggle .submenu-title-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.35)}.submenu-toggle .submenu-title-icon svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.submenu-toggle .submenu-title-text{color:#fff;font-weight:900;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;letter-spacing:1px}.submenu-toggle>b{justify-self:end}
.notification-green{border:1px solid #b9d8ba;background:#edf8ed;color:#077A04;border-radius:20px;height:36px;min-width:58px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.notification-green>svg{width:18px;height:18px;fill:none;stroke:#077A04;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.notification-green>span{min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#077A04;color:#fff;display:grid;place-items:center;font:800 9px Manrope}.notification-green:hover{background:#dff1df;border-color:#077A04}.birthday-cake svg{width:22px;height:22px;fill:none;stroke:#077A04;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-panel{width:410px;max-height:72vh;overflow-y:auto}.module-deadline-alert{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px 8px;border-bottom:1px solid #e2ece2}.module-deadline-alert>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#fff1bd;color:#765600;font-weight:950}.module-deadline-alert strong,.module-deadline-alert small{display:block}.module-deadline-alert strong{font-size:11px;color:#153d20}.module-deadline-alert small{margin-top:2px;font-size:9px;color:#718076}.module-deadline-alert p{margin:6px 0 3px;font-size:10px;font-weight:800}.module-deadline-alert ul{margin:0;padding-left:16px;color:#536a58;font-size:9px;line-height:1.5}.module-deadline-alert.urgent{background:#fff8df}.module-deadline-alert.urgent>span,.module-deadline-alert.overdue>span{background:#d83b30;color:#fff}.module-deadline-alert.overdue{background:#fff0ee}
