:root{--as-bg:#071f16;--as-card:rgba(255,255,255,.075);--as-border:rgba(243,210,122,.24);--as-gold:#f3d27a;--as-text:#f8f7ed;--as-muted:#d8ccb0;--as-green:#1e5c43;--as-red:#ef7777}*{box-sizing:border-box}.as-db-page{margin:0;background:radial-gradient(circle at top,#14442f,var(--as-bg) 55%);color:var(--as-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.as-db-main{max-width:1200px;margin:auto;padding:72px 18px 80px}.as-db-home{position:fixed;top:14px;left:14px;z-index:20;text-decoration:none;color:#071f16;background:var(--as-gold);padding:10px 14px;border-radius:999px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25)}.as-db-hero{padding:26px 0 22px}.as-db-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.35em 0}.as-db-hero p{max-width:860px;color:var(--as-muted);line-height:1.65}.as-db-pill{display:inline-block;border:1px solid var(--as-border);border-radius:999px;padding:9px 12px;color:var(--as-gold);background:rgba(255,255,255,.06);font-weight:800}.as-db-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.as-db-card{grid-column:span 12;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045));border:1px solid var(--as-border);border-radius:22px;padding:20px;box-shadow:0 18px 46px rgba(0,0,0,.23)}.half{grid-column:span 6}.third{grid-column:span 4}.two-third{grid-column:span 8}.as-db-card h2{margin-top:0;color:var(--as-gold)}.as-db-small{color:var(--as-muted);line-height:1.5}.as-db-hidden{display:none!important}.as-db-form{display:grid;gap:12px}.as-db-form.inline{grid-template-columns:1fr 1fr auto;align-items:end}.as-db-form label{display:grid;gap:6px;color:var(--as-muted);font-weight:700}.as-db-form input,.as-db-form select,.as-db-form textarea{width:100%;border-radius:14px;border:1px solid rgba(243,210,122,.24);background:rgba(0,0,0,.28);color:var(--as-text);padding:12px 13px;font:inherit}.as-db-form textarea{min-height:120px}.as-db-btn{border:0;border-radius:14px;background:var(--as-gold);color:#071f16;padding:12px 16px;font-weight:950;cursor:pointer}.as-db-btn.secondary{background:rgba(255,255,255,.12);color:var(--as-text);border:1px solid var(--as-border)}.as-db-btn.danger{background:var(--as-red);color:#230505}.as-db-actions{display:flex;gap:10px;flex-wrap:wrap}.as-db-topbar{justify-content:space-between;align-items:center}.as-db-msg{position:fixed;top:70px;right:18px;z-index:50;max-width:420px;border-radius:18px;padding:14px 16px;font-weight:850;box-shadow:0 20px 60px rgba(0,0,0,.35)}.as-db-msg.ok{background:#123d2c;color:#d8ffe9;border:1px solid #4cc486}.as-db-msg.err{background:#3d1212;color:#ffd8d8;border:1px solid #ef7777}.as-db-credentials{position:fixed;right:18px;bottom:18px;z-index:60;max-width:430px;background:#0b2d20;border:1px solid var(--as-gold);border-radius:18px;padding:16px;box-shadow:0 22px 70px rgba(0,0,0,.45)}.as-db-credentials strong{color:var(--as-gold)}.as-db-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.as-db-tab{border:1px solid var(--as-border);background:rgba(255,255,255,.07);color:var(--as-text);border-radius:999px;padding:10px 13px;font-weight:850;cursor:pointer}.as-db-tab.active{background:var(--as-gold);color:#071f16}.as-db-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.kpi{background:rgba(0,0,0,.22);border:1px solid rgba(243,210,122,.18);border-radius:16px;padding:14px}.kpi b{display:block;font-size:2rem;color:var(--as-gold)}.as-db-list{display:grid;gap:10px}.as-db-item{border:1px solid rgba(243,210,122,.15);background:rgba(0,0,0,.18);border-radius:16px;padding:12px}.as-db-table-wrap{overflow:auto}.as-db-table{width:100%;border-collapse:collapse;min-width:650px}.as-db-table th,.as-db-table td{border-bottom:1px solid rgba(243,210,122,.14);padding:11px;text-align:left;vertical-align:top}.as-db-table th{color:var(--as-gold);background:rgba(0,0,0,.18)}.as-directory{display:grid;gap:10px}.dir-region,.dir-org,.dir-family,.dir-class,.dir-student{border-left:3px solid var(--as-gold);padding:8px 10px;background:rgba(0,0,0,.16);border-radius:10px}.dir-org{margin-left:18px;border-color:#8ee0aa}.dir-family,.dir-class{margin-left:36px;border-color:#77c7ff}.dir-student{margin-left:54px;border-color:#d6a5ff}.as-directory.small{font-size:.92rem}.as-tree-preview{display:grid;gap:8px;color:var(--as-muted);font-weight:800}.as-tree-preview .indent{margin-left:22px}.as-tree-preview .indent2{margin-left:44px}.as-tree-preview .indent3{margin-left:66px}@media(max-width:850px){.half,.third,.two-third{grid-column:span 12}.as-db-main{padding-top:76px}.as-db-form.inline{grid-template-columns:1fr}.as-db-msg,.as-db-credentials{left:12px;right:12px;max-width:none}.as-db-table{min-width:560px}}
@media print{.as-db-home,.as-db-tabs,.as-db-btn,.as-db-msg,.as-db-credentials,.as-chat-widget,.as-ai-launcher{display:none!important}.as-db-page{background:white;color:#111}.as-db-card{box-shadow:none;background:white;color:#111;border:1px solid #ddd}.as-db-small{color:#333}.as-db-table th{color:#111;background:#eee}}
.as-db-note{border-left:4px solid #f3d27a;padding:10px 12px;border-radius:10px;background:rgba(243,210,122,.08);color:#f8f7ed;line-height:1.55}.as-db-mini-actions{display:flex;gap:6px;flex-wrap:wrap}.as-db-btn.tiny{padding:7px 9px;border-radius:10px;font-size:.84rem}.as-db-muted{opacity:.62}



/* v25 - contraste et lisibilité du bloc de récupération */
.as-db-recovery{
  margin-top:1rem;
  padding:1rem;
  border:1px solid rgba(243,210,122,.28);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(7,31,22,.92), rgba(16,56,40,.90));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 10px 30px rgba(0,0,0,.22);
}

/* v135 : pilotage des modules et de la messagerie par classe. */
.as-class-learning-settings{display:grid;gap:18px;margin-top:18px}
.as-class-learning-card{border:1px solid rgba(15,118,110,.22);border-radius:18px;padding:18px;background:linear-gradient(145deg,rgba(240,253,250,.95),rgba(255,255,255,.98));box-shadow:0 10px 28px rgba(15,23,42,.06)}
.as-class-learning-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.as-class-learning-card header h3{margin:0 0 4px;color:#064e3b}
.as-class-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:14px 0}
.as-class-module-toggle{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(15,118,110,.18);border-radius:13px;background:#fff;cursor:pointer;font-weight:700}
.as-class-module-toggle input{width:19px;height:19px;accent-color:#0f766e}
.as-class-communication{margin-top:14px;padding:14px;border-radius:14px;background:rgba(14,116,144,.08);border:1px solid rgba(14,116,144,.18)}
.as-class-learning-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.as-class-learning-summary span{padding:5px 9px;border-radius:999px;background:#ecfdf5;color:#065f46;font-size:.8rem;font-weight:800}
@media(max-width:700px){.as-class-learning-card header{display:block}.as-class-module-grid{grid-template-columns:1fr}}
.as-db-recovery h3{margin:.2rem 0 .4rem;color:var(--as-gold);font-size:1.4rem;}
.as-db-recovery .as-db-small{color:#f7e9bb;line-height:1.65;}
.as-db-recovery-step{
  margin:1rem 0 .55rem;
  color:#fff7dc;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.01em;
}
.as-db-recovery .as-db-form{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(243,210,122,.16);
  border-radius:18px;
  padding:14px;
}
.as-db-recovery .as-db-form + .as-db-form{margin-top:14px;}
.as-db-recovery .as-db-form label{
  color:var(--as-gold);
  font-weight:800;
}
.as-db-recovery .as-db-form input{
  border-radius:14px;
  border:1px solid rgba(243,210,122,.34);
  background:rgba(255,255,255,.10);
  color:var(--as-text);
  padding:13px 14px;
}
.as-db-recovery .as-db-form input::placeholder{color:#d8ccb0;opacity:1;}
.as-db-recovery .as-db-btn{margin-top:.25rem;}
.as-db-recovery .as-db-btn.ok{background:#1c9a52;color:#fff;}


/* v34 - tableaux établissement/famille/élèves lisibles sur mobile */
.as-db-main,
.as-db-grid,
.as-db-card{min-width:0;}
.as-db-card{max-width:100%;overflow:hidden;}
.as-db-table-wrap,
.as-mobile-table-scroll{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  padding-bottom:12px;
  scrollbar-width:thin;
  scrollbar-color:#f3d27a rgba(255,255,255,.12);
}
.as-db-table-wrap::-webkit-scrollbar,
.as-mobile-table-scroll::-webkit-scrollbar{height:10px;}
.as-db-table-wrap::-webkit-scrollbar-track,
.as-mobile-table-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.10);border-radius:999px;}
.as-db-table-wrap::-webkit-scrollbar-thumb,
.as-mobile-table-scroll::-webkit-scrollbar-thumb{background:#f3d27a;border-radius:999px;}
.as-db-table{table-layout:auto;}
.as-db-table th,
.as-db-table td{white-space:nowrap;}
.as-db-table td:first-child{white-space:normal;min-width:190px;max-width:260px;overflow-wrap:anywhere;word-break:break-word;}
.as-db-table td:last-child{min-width:150px;}
.as-db-mini-actions{min-width:max-content;}
.as-db-table-wrap:has(.as-db-table)::before,
.as-mobile-table-scroll:has(.as-db-table)::before{
  content:'← Glisser horizontalement pour voir toutes les colonnes →';
  display:none;
  margin:0 0 10px;
  color:#f3d27a;
  font-weight:900;
  font-size:.9rem;
}
@media(max-width:850px){
  .as-db-page{overflow-x:hidden;}
  .as-db-main{max-width:100vw;padding-left:12px;padding-right:12px;}
  .as-db-card{padding:14px;border-radius:20px;}
  .as-db-table{width:max-content;min-width:640px;font-size:.92rem;}
  .as-db-table th,.as-db-table td{padding:10px 12px;}
  .as-db-table-wrap:has(.as-db-table)::before,
  .as-mobile-table-scroll:has(.as-db-table)::before{display:block;}
}


/* v38 - arborescence pliable et glisser-déposer */
.as-tree-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px;}
.as-tree-help{border:1px dashed rgba(243,210,122,.32);background:rgba(243,210,122,.07);padding:10px;border-radius:14px;}
.as-tree-group{border:1px solid rgba(243,210,122,.16);border-radius:16px;background:rgba(0,0,0,.12);padding:8px;margin:8px 0;}
.as-tree-group.nested{margin-left:8px;background:rgba(255,255,255,.035);}
.as-tree-group>summary{cursor:pointer;font-weight:950;color:#fff7dc;list-style:none;display:flex;align-items:center;gap:8px;overflow-wrap:anywhere;}
.as-tree-group>summary::-webkit-details-marker{display:none;}
.as-tree-group>summary::after{content:'▾';margin-left:auto;color:#f3d27a;font-size:.9rem;}
.as-tree-group:not([open])>summary::after{content:'▸';}
.as-tree-board{display:grid;gap:9px;margin-top:10px;}
.as-drop-zone{border:1px solid rgba(243,210,122,.18);background:rgba(255,255,255,.045);border-radius:16px;padding:10px;display:grid;gap:8px;min-height:50px;transition:border-color .15s, background .15s, transform .15s;}
.as-drop-zone>strong{display:block;color:#fff;font-size:.95rem;overflow-wrap:anywhere;}
.as-drop-zone.drag-over{border-color:#f3d27a;background:rgba(243,210,122,.15);transform:scale(1.01);}
.as-draggable{cursor:grab;user-select:none;touch-action:none;}
.as-draggable:active{cursor:grabbing;}
.as-draggable.dragging{opacity:.55;outline:2px dashed #f3d27a;}
.as-directory .dir-class,.as-directory .dir-family,.as-directory .dir-student,.as-directory .dir-org,.as-directory .dir-region{margin-left:0;overflow-wrap:anywhere;word-break:break-word;}
.as-directory .dir-student span{display:block;color:#d8ccb0;font-size:.88em;margin-top:2px;}
.as-db-select.tiny{max-width:220px;border-radius:10px;border:1px solid rgba(243,210,122,.28);background:rgba(0,0,0,.24);color:#f8f7ed;padding:7px 9px;font:inherit;font-size:.84rem;font-weight:800;}
.as-db-select.tiny option{background:#082317;color:#f8f7ed;}
@media(max-width:850px){
  .as-tree-group{padding:7px;border-radius:14px;}
  .as-tree-group.nested{margin-left:0;}
  .as-drop-zone{padding:9px;}
  .as-db-select.tiny{max-width:100%;width:100%;}
}

/* v57 - tableau de bord pédagogique intelligent */
.as-pedago-bar{
  position:relative;
  min-width:120px;
  height:24px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(243,210,122,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.as-pedago-bar span{
  position:absolute;
  inset:0 auto 0 0;
  display:block;
  background:linear-gradient(90deg, rgba(34,181,115,.75), rgba(243,210,122,.78));
  border-radius:999px;
}
.as-pedago-bar b{
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  align-items:center;
  justify-content:center;
  color:#fffaf0;
  font-size:.82rem;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.as-pedago-alert{
  border-left:5px solid rgba(243,210,122,.65) !important;
}
.as-pedago-alert.ok{border-left-color:#2fb46c !important;background:rgba(47,180,108,.12) !important;}
.as-pedago-alert.info{border-left-color:#6fb5ff !important;background:rgba(111,181,255,.12) !important;}
.as-pedago-alert.warning{border-left-color:#f3d27a !important;background:rgba(243,210,122,.12) !important;}
.as-pedago-alert.danger{border-left-color:#ef7777 !important;background:rgba(239,119,119,.13) !important;}
@media(max-width:760px){
  .as-pedago-bar{min-width:96px;}
}


/* v58 - centre de notifications internes */
.as-notification-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  margin-left:6px;
  border-radius:999px;
  background:#f3d27a;
  color:#102117;
  font-size:.78rem;
  font-weight:950;
}
.as-notification-actions{margin-bottom:12px;}
.as-notification-item.unread{
  border-color:rgba(243,210,122,.48)!important;
  background:rgba(243,210,122,.10)!important;
}
.as-notification-item.read{opacity:.82;}
.as-notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.as-notification-unread{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 8px;
  background:rgba(34,181,115,.22);
  border:1px solid rgba(34,181,115,.45);
  color:#d8ffe9;
  font-weight:900;
  font-size:.78rem;
}


/* v61 devoirs : cartes et impression */
.as-assignment-card p{white-space:pre-wrap;line-height:1.55;}
.as-db-topbar h2{margin:0;}
@media print{
  .as-db-tabs,.as-db-actions,.as-db-btn,#loginBox,.as-home-button,.as-module-menu-button,.as-ai-button{display:none!important;}
  .as-db-card{box-shadow:none!important;border:1px solid #bbb!important;background:white!important;color:#111!important;}
}


/* v64 - cartes d'abonnement établissement */
.as-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:12px}
.as-plan-card{border:1px solid rgba(243,210,122,.28);background:rgba(255,255,255,.06);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:260px}
.as-plan-card h3{margin:6px 0 0;color:#f3d27a}
.as-plan-period{display:inline-flex;border:1px solid rgba(243,210,122,.35);border-radius:999px;padding:5px 9px;font-weight:900;color:#f3d27a;background:rgba(0,0,0,.18)}
.as-plan-price strong{font-size:1.7rem;color:#fffaf0}.as-plan-price span{color:#eadfbd;margin-left:4px}
.as-plan-card ul{margin:0;padding-left:18px;color:#eadfbd;line-height:1.55}.as-plan-card .as-db-btn{margin-top:auto}


.as-expired-panel{
  border:1px solid rgba(220,38,38,.26);
  background:linear-gradient(135deg,rgba(254,242,242,.96),rgba(255,247,237,.96));
  color:#7f1d1d;
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 32px rgba(127,29,29,.08);
}
.as-expired-panel h2{margin:0 0 8px;color:#991b1b;}
.as-expired-panel p{margin:.45rem 0;line-height:1.55;}
.as-expired-panel .as-db-actions{margin-top:12px;}
[data-tab="subscription"].active,[data-tab="backups"].active{box-shadow:0 0 0 2px rgba(5,150,105,.18) inset;}


/* v70 - popups parents devoirs + purge journaux événementiels */
.as-event-cleanup-label{max-width:220px;margin:0;}
.as-event-cleanup-label select{min-width:160px;}
.as-parent-popup-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(3,18,12,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;}
.as-parent-popup{width:min(520px,100%);background:linear-gradient(145deg,#102c20,#173e2d);border:1px solid rgba(243,210,122,.42);box-shadow:0 22px 70px rgba(0,0,0,.45);border-radius:26px;padding:26px;color:#fff7df;position:relative;text-align:center;}
.as-parent-popup h2{margin:8px 0 10px;color:#f3d27a;font-size:1.55rem;}
.as-parent-popup p{font-size:1.03rem;line-height:1.55;margin:0 0 10px;}
.as-parent-popup-icon{width:62px;height:62px;margin:0 auto 10px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:rgba(243,210,122,.16);font-size:2rem;border:1px solid rgba(243,210,122,.35);}
.as-parent-popup-close{position:absolute;top:10px;right:12px;border:0;background:rgba(255,255,255,.10);color:#fff7df;border-radius:999px;width:34px;height:34px;font-size:1.4rem;cursor:pointer;}
.as-parent-popup-actions{justify-content:center;margin-top:18px;}
@media(max-width:640px){.as-event-cleanup-label{max-width:100%;width:100%;}.as-event-cleanup-label select{width:100%;}.as-parent-popup{padding:22px 16px;}.as-parent-popup-actions{flex-direction:column;}.as-parent-popup-actions .as-db-btn{width:100%;}}

.as-recent-report-cleanup{justify-content:flex-end;margin:10px 0 16px;padding:10px;border:1px solid rgba(243,210,122,.18);border-radius:14px;background:rgba(0,0,0,.12);}
.as-recent-report-cleanup .as-event-cleanup-label{margin-right:4px;}

/* v76 - arborescence horizontale sous le tableau de bord sur grand écran */
.as-overview-dashboard-card,
.as-overview-tree-card{grid-column:span 12;}
.as-overview-tree-card{overflow:hidden;}
.as-directory-horizontal{width:100%;}
.as-tree-sections{display:grid;gap:10px;margin-top:10px;}
.as-tree-column{min-width:0;}
@media(min-width:851px){
  #tab-overview .as-overview-tree-card{padding:22px;}
  .as-directory-horizontal{
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:12px;
    scrollbar-width:thin;
    scrollbar-color:#f3d27a rgba(255,255,255,.12);
  }
  .as-directory-horizontal::-webkit-scrollbar{height:10px;}
  .as-directory-horizontal::-webkit-scrollbar-track{background:rgba(255,255,255,.10);border-radius:999px;}
  .as-directory-horizontal::-webkit-scrollbar-thumb{background:#f3d27a;border-radius:999px;}
  .as-directory-horizontal .as-tree-group{min-width:0;}
  .as-directory-horizontal .as-tree-group.nested{margin-left:0;}
  .as-directory-horizontal .as-tree-sections{
    grid-template-columns:repeat(3,minmax(260px,1fr));
    align-items:start;
    gap:14px;
    min-width:880px;
  }
  .as-directory-horizontal .as-tree-column{
    height:100%;
    margin:0;
    background:rgba(255,255,255,.04);
  }
  .as-directory-horizontal .as-tree-board{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    align-items:start;
  }
  .as-directory-horizontal .as-drop-zone{min-width:0;}
}
@media(min-width:1180px){
  .as-directory-horizontal .as-tree-sections{min-width:0;}
}
@media(max-width:850px){
  .as-tree-sections{display:grid;grid-template-columns:1fr;}
}


/* v77 - fonds d'écran pour les devoirs dans l'espace élève */
.as-student-homework-panel{position:relative;overflow:hidden;}
.as-student-homework-topbar{align-items:flex-start;margin-bottom:14px;}
.as-student-homework-topbar h2{margin:0 0 4px;}
.as-student-theme-label{display:grid;gap:6px;min-width:190px;color:#eadfbd;font-weight:900;font-size:.92rem;}
.as-student-theme-label select{width:100%;}
.as-student-assignment-list{gap:14px;}
.as-student-assignment-card{position:relative;overflow:hidden;min-height:178px;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 42px rgba(0,0,0,.28);isolation:isolate;}
.as-student-assignment-card::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(21,73,51,.92),rgba(7,31,22,.96));}
.as-student-assignment-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,15,10,.22),rgba(3,15,10,.72));}
.as-homework-content{position:relative;z-index:1;display:grid;gap:10px;color:#fff9e8;}
.as-homework-head{display:flex;gap:10px;align-items:flex-start;}
.as-homework-head strong{display:block;color:#fffaf0;font-size:1.08rem;line-height:1.25;}
.as-homework-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:16px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);font-size:1.35rem;box-shadow:0 10px 24px rgba(0,0,0,.18);}
.as-homework-meta{display:block;margin-top:3px;color:#fff0c7;}
.as-homework-badges{display:flex;gap:7px;flex-wrap:wrap;}
.as-homework-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.28);color:#fffaf0;font-size:.78rem;font-weight:950;letter-spacing:.01em;}
.as-homework-badge.status.todo{background:rgba(243,210,122,.24);border-color:rgba(243,210,122,.55);color:#fff7d6;}
.as-homework-badge.status.done{background:rgba(47,180,108,.28);border-color:rgba(47,180,108,.58);color:#dfffea;}
.as-homework-badge.due{background:rgba(255,255,255,.14);}
.as-student-assignment-card p{margin:.15rem 0 .25rem;color:#fffdf2;text-shadow:0 1px 2px rgba(0,0,0,.28);}
.as-student-assignment-card .as-db-btn.ok{background:#dfffea;color:#062415;border:1px solid rgba(223,255,234,.72);}
.as-student-assignment-card .as-db-btn[disabled]{opacity:.72;cursor:not-allowed;}
.as-student-assignment-card.completed{border-color:rgba(47,180,108,.45);}
.as-student-assignment-card.completed::after{background:linear-gradient(180deg,rgba(3,15,10,.35),rgba(3,15,10,.78));}
.as-homework-bg-stars::before{background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.88) 0 1px,transparent 2px),radial-gradient(circle at 72% 28%,rgba(255,240,196,.9) 0 1px,transparent 2px),radial-gradient(circle at 38% 62%,rgba(255,255,255,.75) 0 1px,transparent 2px),linear-gradient(135deg,#122b58,#1c1241 55%,#07091f);}
.as-homework-bg-garden::before{background:radial-gradient(circle at 12% 18%,rgba(255,238,166,.85),transparent 15%),radial-gradient(circle at 85% 18%,rgba(143,224,170,.55),transparent 20%),linear-gradient(135deg,#14543a,#1c6a44 48%,#083321);}
.as-homework-bg-notebook::before{background:repeating-linear-gradient(0deg,rgba(255,255,255,.16) 0 1px,transparent 1px 30px),linear-gradient(90deg,rgba(239,119,119,.34) 0 2px,transparent 2px 58px),linear-gradient(135deg,#2b4262,#173454 55%,#0b2238);}
.as-homework-bg-mosque::before{background:radial-gradient(circle at 50% 0%,rgba(243,210,122,.55),transparent 20%),radial-gradient(ellipse at 50% 100%,rgba(243,210,122,.20),transparent 34%),linear-gradient(135deg,#103b32,#0d2e4f 58%,#081f25);}
.as-homework-bg-mosque .as-homework-content::before{content:'☪';position:absolute;right:12px;top:-22px;font-size:6.2rem;color:rgba(243,210,122,.18);z-index:-1;}
.as-homework-bg-sand::before{background:radial-gradient(circle at 16% 22%,rgba(255,255,255,.32),transparent 13%),linear-gradient(135deg,#8a5f25,#b88635 52%,#654019);}
.as-homework-bg-sky::before{background:radial-gradient(circle at 14% 18%,rgba(255,238,166,.9),transparent 15%),radial-gradient(ellipse at 70% 24%,rgba(255,255,255,.50),transparent 24%),linear-gradient(135deg,#2274a8,#5aa9d6 56%,#0c4d78);}
.as-homework-bg-stars::after,.as-homework-bg-notebook::after,.as-homework-bg-mosque::after{background:linear-gradient(180deg,rgba(3,15,10,.18),rgba(3,15,10,.68));}
.as-homework-bg-sand::after,.as-homework-bg-sky::after,.as-homework-bg-garden::after{background:linear-gradient(180deg,rgba(3,15,10,.10),rgba(3,15,10,.62));}
@media(min-width:920px){
  #studentAssignments.as-student-assignment-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
  .as-student-assignment-card{min-height:220px;}
}
@media(max-width:640px){
  .as-student-homework-topbar{display:grid;gap:12px;}
  .as-student-theme-label{min-width:0;width:100%;}
  .as-student-assignment-card{min-height:0;}
}
@media print{
  .as-student-assignment-card::before,.as-student-assignment-card::after{display:none!important;}
  .as-student-assignment-card{background:white!important;color:#111!important;box-shadow:none!important;}
  .as-homework-content,.as-homework-head strong,.as-student-assignment-card p{color:#111!important;text-shadow:none!important;}
  .as-homework-badge{color:#111!important;border-color:#bbb!important;background:#f2f2f2!important;}
}


/* v78 - correction lisibilité des menus déroulants espace établissement / élève */
.as-db-page,
.as-db-form select,
.as-db-select,
.as-event-cleanup-label select,
.as-student-theme-label select{
  color-scheme: dark;
}
.as-db-form select,
.as-db-select,
.as-event-cleanup-label select,
.as-student-theme-label select{
  background-color:#213f31;
  color:#fff8dd;
  border-color:rgba(243,210,122,.42);
  font-weight:850;
}
.as-db-form select:focus,
.as-db-select:focus,
.as-event-cleanup-label select:focus,
.as-student-theme-label select:focus{
  outline:3px solid rgba(243,210,122,.38);
  outline-offset:2px;
  background-color:#243f31;
}
.as-db-form select option,
.as-db-form select optgroup,
.as-db-select option,
.as-db-select optgroup,
.as-event-cleanup-label select option,
.as-event-cleanup-label select optgroup,
.as-student-theme-label select option,
.as-student-theme-label select optgroup{
  background-color:#082317 !important;
  color:#fff8dd !important;
  font-weight:800;
}
.as-db-form select option:checked,
.as-db-select option:checked,
.as-event-cleanup-label select option:checked,
.as-student-theme-label select option:checked{
  background-color:#f3d27a !important;
  color:#071f16 !important;
  font-weight:950;
}
.as-db-form select option:disabled,
.as-db-select option:disabled,
.as-event-cleanup-label select option:disabled,
.as-student-theme-label select option:disabled{
  color:#d8ccb0 !important;
  opacity:1;
}


/* v83 - tableau de bord élève intelligent */
.as-student-dashboard-grid{align-items:start;}
.as-student-smart-dashboard-card{grid-column:span 12;overflow:hidden;position:relative;}
.as-student-smart-dashboard-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 10%,rgba(243,210,122,.16),transparent 30%),radial-gradient(circle at 90% 0%,rgba(47,180,108,.14),transparent 26%);pointer-events:none;}
.as-student-smart-dashboard{position:relative;z-index:1;display:grid;gap:16px;}
.as-student-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.as-student-eyebrow{margin:0 0 5px;color:#f3d27a;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:950;}
.as-student-hero h2{margin:0 0 4px;font-size:clamp(1.45rem,3vw,2.15rem);}
.as-student-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.as-student-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;}
.as-student-kpi{border:1px solid rgba(243,210,122,.22);background:rgba(255,255,255,.055);border-radius:16px;padding:12px;display:grid;gap:3px;min-height:86px;}
.as-student-kpi strong{font-size:1.85rem;color:#fffaf0;line-height:1;}
.as-student-kpi span{font-size:.82rem;color:#eadfbd;font-weight:850;}
.as-student-kpi.danger{border-color:rgba(239,119,119,.48);background:rgba(239,119,119,.14);}
.as-student-smart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.as-student-priority-card,.as-student-steps-card,.as-student-badge-card{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(243,210,122,.22);background:rgba(0,0,0,.16);border-radius:18px;padding:14px;min-height:150px;}
.as-student-card-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:16px;background:rgba(243,210,122,.14);border:1px solid rgba(243,210,122,.28);font-size:1.35rem;}
.as-student-smart-grid h3{margin:0 0 6px;color:#f3d27a;font-size:1.02rem;}
.as-student-smart-grid p{margin:0;color:#fff7df;line-height:1.45;}
.as-student-steps-card ol{margin:0;padding-left:18px;color:#fff7df;line-height:1.55;}
.as-student-steps-card li span{display:block;color:#eadfbd;font-size:.82rem;}
.as-student-badge-progress{height:10px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;border:1px solid rgba(255,255,255,.10);}
.as-student-badge-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f3d27a,#2fb46c);}
.as-student-progress-item strong,.as-student-mistake-item strong{color:#fffaf0;}
@media(min-width:920px){.as-student-notifications-card{grid-column:span 4;}.as-student-homework-panel{grid-column:span 8;}.as-student-dashboard-grid>.half{grid-column:span 6;}}
@media(max-width:980px){.as-student-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.as-student-smart-grid{grid-template-columns:1fr;}.as-student-hero{display:grid;}.as-student-hero-actions{justify-content:flex-start;}}
@media(max-width:560px){.as-student-kpis{grid-template-columns:1fr 1fr;gap:8px;}.as-student-kpi{min-height:76px;padding:10px;}.as-student-kpi strong{font-size:1.55rem;}.as-student-priority-card,.as-student-steps-card,.as-student-badge-card{padding:12px;min-height:0;}.as-student-hero-actions .as-db-btn{width:100%;justify-content:center;}}

/* v85 - parcours automatique par niveau + tableau de bord parents */
.as-student-path-card,
.as-family-smart-dashboard-card{grid-column:span 12;overflow:hidden;position:relative;}
.as-path-wrap{display:grid;gap:14px;position:relative;z-index:1;}
.as-path-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.as-path-head h2{margin:0 0 5px;}
.as-path-score{min-width:120px;border:1px solid rgba(243,210,122,.25);background:rgba(243,210,122,.10);border-radius:18px;padding:12px;text-align:center;}
.as-path-score strong{display:block;font-size:1.85rem;color:#f3d27a;line-height:1;}
.as-path-score span{display:block;margin-top:4px;color:#eadfbd;font-size:.82rem;font-weight:900;}
.as-path-progress{margin-top:-2px;}
.as-path-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;}
.as-path-step{position:relative;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:flex-start;border:1px solid rgba(243,210,122,.20);border-radius:18px;padding:12px;background:rgba(0,0,0,.16);min-height:128px;}
.as-path-step.completed{border-color:rgba(47,180,108,.55);background:rgba(47,180,108,.12);}
.as-path-step.current{border-color:rgba(243,210,122,.65);box-shadow:0 0 0 2px rgba(243,210,122,.12) inset;background:rgba(243,210,122,.12);}
.as-path-step.unlocked{border-color:rgba(90,169,214,.38);}
.as-path-step.locked{opacity:.72;filter:saturate(.75);}
.as-path-icon{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(243,210,122,.14);border:1px solid rgba(243,210,122,.30);font-size:1.25rem;}
.as-path-step strong{display:block;color:#fffaf0;line-height:1.25;margin-bottom:4px;}
.as-path-step p{margin:0;color:#eadfbd;font-size:.9rem;line-height:1.35;}
.as-path-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.as-path-meta span,.as-path-lock{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);color:#fff8dd;font-size:.74rem;font-weight:900;}
.as-path-step .as-db-btn{align-self:center;white-space:nowrap;}
.as-family-dashboard-grid{align-items:start;}
.as-family-smart-dashboard{display:grid;gap:16px;}
.as-family-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 0 4px;}
.as-family-hero h2{margin:0 0 4px;font-size:clamp(1.45rem,3vw,2.1rem);}
.as-family-priority{min-width:220px;border:1px solid rgba(243,210,122,.35);border-radius:18px;background:rgba(243,210,122,.12);padding:12px;display:grid;gap:4px;}
.as-family-priority strong{color:#f3d27a;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;}
.as-family-priority span{color:#fffaf0;font-weight:950;}
.as-family-priority small{color:#eadfbd;font-weight:850;}
.as-family-kpis{grid-template-columns:repeat(5,minmax(115px,1fr));}
.as-family-child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
.as-family-child-card{border:1px solid rgba(243,210,122,.22);background:rgba(0,0,0,.14);border-radius:18px;padding:14px;display:grid;gap:12px;}
.as-family-child-top{display:flex;gap:10px;align-items:flex-start;}
.as-family-child-top>span{width:40px;height:40px;border-radius:15px;background:rgba(243,210,122,.14);border:1px solid rgba(243,210,122,.26);display:flex;align-items:center;justify-content:center;font-size:1.25rem;}
.as-family-child-top strong{display:block;color:#fffaf0;}
.as-family-child-top p{margin:3px 0 0;color:#eadfbd;font-size:.88rem;line-height:1.35;}
.as-family-notifications-card{grid-column:span 4;}
.as-family-children-card{grid-column:span 8;}
.as-family-assignments-card{grid-column:span 7;}
.as-family-detail-card{grid-column:span 5;}
.as-family-detail-path{margin:12px 0 16px;}
.as-family-detail-path .as-path-steps{grid-template-columns:1fr;}
.as-family-detail-path .as-path-step{min-height:0;}
.as-path-wrap.compact .as-path-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:460px;overflow:auto;padding-right:4px;}
.as-path-wrap.compact .as-path-step{min-height:0;}
@media(min-width:920px){.as-student-path-card{grid-column:span 12;}.as-student-notifications-card{grid-column:span 4;}}
@media(max-width:980px){.as-path-head,.as-family-hero{display:grid;}.as-path-score,.as-family-priority{min-width:0;width:100%;}.as-family-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.as-family-notifications-card,.as-family-children-card,.as-family-assignments-card,.as-family-detail-card{grid-column:span 12;}.as-path-step{grid-template-columns:40px 1fr;}.as-path-step .as-db-btn,.as-path-lock{grid-column:2;justify-self:start;}}
@media(max-width:560px){.as-path-steps,.as-path-wrap.compact .as-path-steps,.as-family-child-grid{grid-template-columns:1fr;}.as-family-kpis{grid-template-columns:1fr 1fr;}.as-family-priority{padding:10px;}.as-path-step{padding:11px;}}

/* v86 - bibliothèque de devoirs et correction automatique */
.as-assignment-library-card{grid-column:span 12;}
.as-assignment-template-filter{display:grid;gap:5px;color:var(--as-muted);font-weight:900;min-width:190px;}
.as-assignment-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:12px;}
.as-assignment-template-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;border:1px solid rgba(243,210,122,.18);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.18));min-height:210px;}
.as-assignment-template-card h3{margin:.55rem 0 .35rem;color:#fff7dc;font-size:1.02rem;line-height:1.25;}
.as-assignment-template-card p{margin:.25rem 0;line-height:1.45;}
.as-assignment-answer-panel{margin:12px 0;padding:12px;border:1px dashed rgba(243,210,122,.32);border-radius:16px;background:rgba(0,0,0,.18);display:grid;gap:10px;}
.as-assignment-answer-panel label{display:grid;gap:6px;color:#fff7dc;font-weight:900;}
.as-assignment-answer-panel textarea{width:100%;min-height:96px;resize:vertical;border-radius:14px;border:1px solid rgba(243,210,122,.25);background:rgba(0,0,0,.28);color:var(--as-text);padding:11px 12px;font:inherit;line-height:1.5;}
.as-correction-box{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border-radius:16px;padding:12px;margin-top:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);}
.as-correction-box.ok{border-color:rgba(139,236,170,.45);background:rgba(30,129,74,.18);}
.as-correction-box.todo{border-color:rgba(255,200,115,.45);background:rgba(160,89,16,.18);}
.as-correction-score{min-width:68px;text-align:center;border-radius:14px;background:rgba(0,0,0,.24);padding:9px;}
.as-correction-score strong{display:block;color:var(--as-gold);font-size:1.15rem;}
.as-correction-score span{font-size:.78rem;color:var(--as-muted);font-weight:900;}
.as-correction-box p{margin:.35rem 0;}
.as-correction-expected{margin-top:6px;border-left:3px solid var(--as-gold);padding:7px 9px;background:rgba(243,210,122,.08);border-radius:9px;color:#fff7dc;}
@media(max-width:850px){.as-assignment-template-grid{grid-template-columns:1fr}.as-correction-box{grid-template-columns:1fr}.as-correction-score{text-align:left;display:flex;gap:8px;align-items:center}.as-assignment-template-filter{width:100%;}}

/* v87 - statistiques direction, certificats PDF et révision intelligente */
.as-direction-stats-grid .as-db-card,
.as-student-revision-card,
.as-student-certificates-card{overflow:hidden;}
.as-direction-kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));}
.as-stat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.75rem;}
.as-stat-list>div{border:1px solid rgba(245,213,130,.18);background:rgba(255,255,255,.05);border-radius:16px;padding:.85rem;}
.as-stat-list strong{display:block;font-size:1.45rem;color:#f8d879;line-height:1;}
.as-stat-list span{font-size:.84rem;color:rgba(255,255,255,.75);}
.as-smart-revision{display:flex;flex-direction:column;gap:1rem;}
.as-smart-revision-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;}
.as-revision-session{min-width:120px;border:1px solid rgba(68,205,154,.35);background:rgba(20,150,110,.12);border-radius:18px;padding:.85rem;text-align:center;}
.as-revision-session strong{display:block;color:#b9ffe7;font-size:.9rem;}
.as-revision-session span{display:block;color:#f8d879;font-weight:900;font-size:1.25rem;margin-top:.2rem;}
.as-revision-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;}
.as-revision-item{display:flex;gap:.75rem;align-items:flex-start;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:18px;padding:.85rem;}
.as-revision-item.ok{border-color:rgba(68,205,154,.28);background:rgba(68,205,154,.08);}
.as-revision-item.mistake{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08);}
.as-revision-item.overdue_assignment{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.08);}
.as-revision-icon{font-size:1.35rem;line-height:1.1;}
.as-revision-item>div{flex:1;min-width:0;}
.as-revision-item strong{color:#fff;}
.as-revision-item p{margin:.12rem 0 .2rem;color:#f8d879;font-weight:700;}
.as-revision-item .as-db-small{display:block;margin-top:.2rem;}
.as-revision-steps{border:1px dashed rgba(245,213,130,.32);border-radius:18px;padding:.85rem;background:rgba(0,0,0,.12);}
.as-revision-steps ol{margin:.5rem 0 0 1.2rem;padding:0;}
.as-certificate-wrap{display:flex;flex-direction:column;gap:1rem;}
.as-certificate-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;}
.as-certificate-count{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,rgba(245,213,130,.35),rgba(68,205,154,.22));color:#fff;font-weight:900;border:1px solid rgba(245,213,130,.32);}
.as-certificate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;}
.as-certificate-card{display:flex;align-items:center;gap:.75rem;border:1px solid rgba(245,213,130,.25);border-radius:18px;padding:.85rem;background:linear-gradient(135deg,rgba(245,213,130,.10),rgba(68,205,154,.08));}
.as-certificate-card>div{flex:1;min-width:0;}
.as-certificate-card strong{color:#fff;}
.as-certificate-card p{margin:.15rem 0 0;color:rgba(255,255,255,.72);font-size:.86rem;}
.as-certificate-icon{font-size:1.55rem;}
.as-certificate-empty{border:1px dashed rgba(255,255,255,.22);border-radius:18px;padding:1rem;color:rgba(255,255,255,.75);background:rgba(255,255,255,.04);}
.as-family-detail-revision,.as-family-detail-certificates{margin:1rem 0;}
@media (max-width:720px){
  .as-smart-revision-head,.as-certificate-head{flex-direction:column;align-items:stretch;}
  .as-revision-session{text-align:left;}
  .as-revision-item,.as-certificate-card{flex-direction:column;align-items:flex-start;}
}

/* v88 - mode professeur rapide, évaluations et messagerie interne */
.as-quick-assignment-card{border:1px solid rgba(245,213,130,.24);background:linear-gradient(135deg,rgba(245,213,130,.10),rgba(68,205,154,.08));}
.as-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:.75rem;align-items:end;margin-top:.85rem;}
.as-quick-grid label,.as-message-form label{display:grid;gap:.35rem;color:var(--as-muted);font-weight:900;font-size:.9rem;}
.as-quick-grid select,.as-message-form select,.as-message-form input,.as-message-form textarea{width:100%;border-radius:14px;border:1px solid rgba(243,210,122,.25);background:rgba(0,0,0,.28);color:var(--as-text);padding:.75rem;font:inherit;}
.as-message-form textarea{min-height:110px;resize:vertical;}
.as-evaluation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7rem;margin:.8rem 0;}
.as-kind-badge,.as-homework-badge.eval{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;font-size:.76rem;font-weight:900;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff7dc;}
.as-kind-badge.evaluation,.as-homework-badge.eval{background:rgba(147,51,234,.22);border-color:rgba(216,180,254,.38);}
.as-kind-badge.homework{background:rgba(20,184,166,.16);border-color:rgba(94,234,212,.28);}
.as-student-assignment-card.evaluation{box-shadow:inset 0 0 0 1px rgba(216,180,254,.24);}
.as-message-form{display:grid;gap:.75rem;margin-bottom:1rem;}
.as-message-form .as-message-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;}
.as-messages-list{display:grid;gap:.75rem;}
.as-message-item{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:18px;padding:.9rem;}
.as-message-item.unread{border-color:rgba(245,213,130,.42);background:rgba(245,213,130,.10);}
.as-message-head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;}
.as-message-head strong{color:#fff7dc;}
.as-message-head span{font-size:.78rem;color:var(--as-muted);white-space:nowrap;}
.as-message-item p{white-space:pre-wrap;margin:.55rem 0;color:var(--as-text);}
.as-tab-badge{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;margin-left:.25rem;padding:0 .35rem;}
.as-tab-badge.as-db-hidden{display:none;}
@media(max-width:720px){.as-quick-grid,.as-message-form .as-message-grid{grid-template-columns:1fr}.as-message-head{flex-direction:column}.as-message-head span{white-space:normal}}

/* v92 - cohérence des largeurs sur écran de bureau */
.as-student-dashboard-grid > .as-db-card,
.as-family-dashboard-grid > .as-db-card,
.as-direction-stats-grid > .as-db-card{
  min-width:0;
}
.as-path-step > div{min-width:0;}
.as-path-step strong,
.as-path-step p{overflow-wrap:anywhere;word-break:normal;}
@media (min-width:920px){
  /* Le parcours principal doit avoir exactement la largeur du tableau de bord élève. */
  .as-student-dashboard-grid > .as-student-smart-dashboard-card,
  .as-student-dashboard-grid > .as-student-path-card{
    grid-column:1 / -1 !important;
    width:100%;
    max-width:none;
  }
  /* Cartes principales des autres vues : largeur cohérente avec leur tableau de bord. */
  .as-family-dashboard-grid > .as-family-smart-dashboard-card,
  .as-direction-stats-grid > .as-direction-stats-overview-card{
    grid-column:1 / -1 !important;
    width:100%;
  }
  /* Le parcours compact reste lisible sans superposition sur grand écran. */
  .as-student-path-card .as-path-wrap.compact .as-path-steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-height:560px;
    gap:12px;
  }
  .as-student-path-card .as-path-step{
    min-height:150px;
    height:auto;
  }
}
@media (min-width:920px) and (max-width:1120px){
  .as-student-path-card .as-path-wrap.compact .as-path-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* v93 - Centre IA */
.as-ai-center-grid{align-items:start}.as-ai-meter{height:16px;border-radius:999px;background:#202b3c;overflow:hidden;margin:14px 0}.as-ai-meter>div{height:100%;width:0;background:linear-gradient(90deg,#22c55e,#eab308);transition:width .35s}.as-ai-meter>div.level-warning{background:#f59e0b}.as-ai-meter>div.level-critical,.as-ai-meter>div.level-blocked{background:#ef4444}.as-ai-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.as-ai-pack{padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(12,22,38,.78);display:flex;flex-direction:column;gap:8px}.as-ai-pack h3{margin:0}.as-ai-pack>strong{font-size:1.45rem;color:#f6c453}.as-ai-chart{height:240px;display:flex;align-items:flex-end;gap:5px;padding:16px 8px 0;border-bottom:1px solid rgba(255,255,255,.16);overflow-x:auto}.as-ai-day{height:100%;min-width:18px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.as-ai-day i{width:12px;background:linear-gradient(180deg,#60a5fa,#8b5cf6);border-radius:6px 6px 0 0}.as-ai-day span{font-size:.65rem;opacity:.72}@media(max-width:700px){.as-ai-chart{height:190px}.as-ai-day{min-width:15px}}

.as-ai-simulator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.as-ai-simulator label{display:grid;gap:6px;font-size:.9rem}.as-ai-simulator input{width:100%;box-sizing:border-box}.as-ai-alert{display:grid;gap:4px;padding:12px;border-radius:12px;margin:8px 0;background:rgba(255,255,255,.06)}.as-ai-alert.ok{border-left:4px solid #55d68b}.as-ai-alert.notice{border-left:4px solid #60a5fa}.as-ai-alert.warning{border-left:4px solid #fbbf24}.as-ai-alert.danger{border-left:4px solid #fb7185}@media(max-width:800px){.as-ai-simulator{grid-template-columns:1fr}}

/* v99 - parcours élève lisible dans les espaces direction/famille sur mobile */
@media (max-width: 700px){
  #studentDetail,
  #familyStudentDetail,
  #studentDetail .as-family-detail-path,
  #familyStudentDetail .as-family-detail-path{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:visible;
  }

  #studentDetail .as-path-wrap.compact,
  #familyStudentDetail .as-path-wrap.compact{
    display:flex;
    flex-direction:column;
    width:100%;
    min-width:0;
    gap:14px;
  }

  #studentDetail .as-path-head,
  #familyStudentDetail .as-path-head{
    display:flex;
    flex-direction:column;
    width:100%;
    gap:12px;
  }

  #studentDetail .as-path-score,
  #familyStudentDetail .as-path-score{
    width:100%;
    min-width:0;
  }

  #studentDetail .as-path-wrap.compact .as-path-steps,
  #familyStudentDetail .as-path-wrap.compact .as-path-steps{
    display:flex !important;
    flex-direction:column !important;
    width:100%;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    padding:0 !important;
    gap:14px !important;
  }

  #studentDetail .as-path-step,
  #familyStudentDetail .as-path-step{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    grid-auto-flow:row !important;
    width:100%;
    min-width:0;
    min-height:0 !important;
    height:auto !important;
    padding:14px !important;
    gap:10px 12px !important;
    align-items:start !important;
    overflow:visible !important;
  }

  #studentDetail .as-path-icon,
  #familyStudentDetail .as-path-icon{
    grid-column:1;
    grid-row:1;
    width:44px;
    height:44px;
  }

  #studentDetail .as-path-step > div,
  #familyStudentDetail .as-path-step > div{
    grid-column:2;
    grid-row:1;
    min-width:0;
    width:100%;
  }

  #studentDetail .as-path-step strong,
  #familyStudentDetail .as-path-step strong{
    font-size:1rem;
    line-height:1.35;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  #studentDetail .as-path-step p,
  #familyStudentDetail .as-path-step p{
    font-size:.9rem;
    line-height:1.5;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  #studentDetail .as-path-step .as-db-btn,
  #studentDetail .as-path-lock,
  #familyStudentDetail .as-path-step .as-db-btn,
  #familyStudentDetail .as-path-lock{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    justify-self:stretch !important;
    width:100%;
    min-height:44px;
    text-align:center;
    justify-content:center;
  }

  #studentDetail .as-path-meta,
  #familyStudentDetail .as-path-meta{
    gap:6px;
  }

  #tab-students .as-db-card,
  .as-family-detail-card{
    overflow:visible;
  }
}


/* v100 · commandes de suppression de la boîte de réception */
.as-message-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(0,0,0,.12)}
.as-message-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media (max-width:640px){.as-message-toolbar{align-items:stretch;flex-direction:column}.as-message-toolbar .as-db-btn{width:100%}.as-message-actions .as-db-btn{flex:1 1 auto}}

/* v103 · élèves regroupés par famille et recherche */
.as-students-followed-card{grid-column:span 8;}
.as-students-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:10px;}
.as-students-toolbar h2{margin-bottom:4px;}
.as-students-toolbar p{margin:0;}
.as-student-search-label{display:grid;gap:6px;min-width:min(100%,340px);font-weight:800;color:var(--as-muted);}
.as-student-search-label input{width:100%;min-height:46px;border-radius:14px;border:1px solid rgba(243,210,122,.32);background:rgba(0,0,0,.28);color:var(--as-text);padding:11px 14px;font:inherit;outline:none;}
.as-student-search-label input:focus{border-color:var(--as-gold);box-shadow:0 0 0 3px rgba(243,210,122,.13);}
.as-students-search-summary{margin:6px 0 14px;}
.as-students-family-list{display:grid;gap:16px;}
.as-student-family-card{overflow:hidden;border:1px solid rgba(243,210,122,.22);border-radius:18px;background:rgba(0,0,0,.16);}
.as-student-family-header{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:16px;padding:16px;background:linear-gradient(120deg,rgba(243,210,122,.12),rgba(255,255,255,.035));border-bottom:1px solid rgba(243,210,122,.16);}
.as-student-family-title{display:flex;align-items:center;gap:12px;min-width:0;}
.as-family-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;background:rgba(243,210,122,.14);font-size:1.45rem;}
.as-student-family-title h3{margin:0 0 5px;color:var(--as-gold);overflow-wrap:anywhere;}
.as-student-family-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--as-muted);font-size:.88rem;}
.as-student-family-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;align-content:center;color:var(--as-muted);font-size:.9rem;}
.as-student-family-contact span:last-child{grid-column:1/-1;}
.as-student-family-students{display:grid;}
.as-student-row{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(115px,.8fr) 90px 72px minmax(220px,auto);align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(243,210,122,.11);}
.as-student-row:last-child{border-bottom:0;}
.as-student-row:hover{background:rgba(255,255,255,.035);}
.as-student-row.is-disabled{opacity:.68;}
.as-student-main{display:grid;gap:4px;min-width:0;}
.as-student-main>strong{font-size:1.02rem;overflow-wrap:anywhere;}
.as-student-stat{display:grid;gap:3px;}
.as-student-stat span{color:var(--as-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;}
.as-student-stat strong{overflow-wrap:anywhere;}
.as-student-actions{justify-content:flex-end;min-width:0;}
.as-student-actions select{max-width:150px;}
.as-status-chip{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;font-size:.72rem;font-weight:850;background:rgba(255,255,255,.1);}
.as-status-chip.muted{color:var(--as-muted);}
.as-students-empty{display:grid;gap:5px;text-align:center;padding:34px 18px;border:1px dashed rgba(243,210,122,.28);border-radius:16px;color:var(--as-muted);}
.as-students-empty strong{color:var(--as-text);font-size:1.05rem;}
@media(max-width:1050px){.as-student-row{grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(80px,.55fr));}.as-student-actions{grid-column:1/-1;justify-content:flex-start;}.as-student-family-header{grid-template-columns:1fr;}.as-student-family-contact{grid-template-columns:repeat(3,minmax(0,1fr));}.as-student-family-contact span:last-child{grid-column:auto;}}
@media(max-width:850px){.as-students-followed-card{grid-column:span 12;}.as-students-toolbar{align-items:stretch;flex-direction:column;}.as-student-search-label{min-width:0;width:100%;}.as-student-family-contact{grid-template-columns:1fr 1fr;}.as-student-family-contact span:last-child{grid-column:1/-1;}.as-student-row{grid-template-columns:1fr 1fr;}.as-student-main{grid-column:1/-1;}.as-student-actions{grid-column:1/-1;}}
@media(max-width:560px){.as-student-family-header{padding:14px;}.as-student-family-contact{grid-template-columns:1fr;}.as-student-family-contact span:last-child{grid-column:auto;}.as-student-row{grid-template-columns:1fr;padding:14px;}.as-student-main,.as-student-actions{grid-column:auto;}.as-student-stat{grid-template-columns:90px 1fr;align-items:center;}.as-student-actions{display:grid;grid-template-columns:1fr 1fr;}.as-student-actions .as-db-btn,.as-student-actions select{width:100%;max-width:none;}.as-student-actions select{grid-column:1/-1;}}


/* v108 — AI Teacher Phase 2 */
.as-student-ai-teacher-card{grid-column:1/-1}.as-ai-phase2{display:grid;gap:18px}.as-ai-phase2>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.as-ai-overall{min-width:145px;text-align:center;padding:14px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border:1px solid #a7f3d0}.as-ai-overall strong{display:block;font-size:2rem;color:#065f46}.as-ai-overall span,.as-ai-overall small{display:block}.as-ai-phase2-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.as-ai-skill-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.as-ai-skill-list li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#f8fafc}.as-ai-skill-list.strong li{border-left:4px solid #10b981}.as-ai-skill-list.focus li{border-left:4px solid #f59e0b}.as-ai-skill-list li span{font-size:.85rem;color:#475569}.as-ai-history{padding:14px;border-radius:16px;background:#f8fafc}.as-ai-week{display:grid;grid-template-columns:92px 1fr 48px;gap:10px;align-items:center;margin:7px 0}.as-ai-week i{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden}.as-ai-week i b{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#10b981);border-radius:inherit}.as-ai-week-plan{display:grid;gap:9px}.as-ai-week-plan h3{margin-bottom:2px}.as-ai-plan-day{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px 14px;border:1px solid #dbeafe;border-radius:14px;background:#fff}.as-ai-plan-day div small{display:block;color:#64748b}.as-ai-plan-day>strong{color:#0369a1}.as-ai-plan-day p{grid-column:1/-1;margin:0;color:#334155}.as-ai-phase2.compact .as-ai-week-plan{max-height:320px;overflow:auto}.as-ai-phase2.compact .as-ai-history{display:none}@media(max-width:720px){.as-ai-phase2>header{display:grid}.as-ai-overall{width:100%}.as-ai-phase2-columns{grid-template-columns:1fr}.as-ai-week{grid-template-columns:74px 1fr 42px}.as-ai-plan-day{grid-template-columns:1fr}}


/* ArabicSchool v109 · AI Teacher Phase 3 */
.as-ai-coach-message{margin:16px 0;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#eef7ff,#f5f0ff);font-weight:800;color:#24324a}
.as-ai-engagement{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:16px;padding:16px;border:1px solid #d7e3ee;border-radius:18px;margin:14px 0 20px;background:#f8fbfd}.as-ai-engagement>div{display:flex;flex-direction:column;gap:5px}.as-ai-engagement>div strong{font-size:1.05rem}.as-ai-engagement ul{margin:0;padding-left:20px}.as-ai-engagement.low{border-left:6px solid #25a56a}.as-ai-engagement.medium{border-left:6px solid #e6a32f}.as-ai-engagement.high{border-left:6px solid #d94b4b;background:#fff8f8}
.as-ai-advice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.as-ai-advice-grid>section{border:1px solid #dfe7ee;border-radius:18px;padding:16px;background:#fff}.as-ai-advice-grid ul{padding-left:20px}.as-ai-advice-grid article{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:10px 0;border-bottom:1px solid #edf1f4}.as-ai-advice-grid article:last-child{border-bottom:0}.as-ai-advice-grid article span{grid-row:1/3;border-radius:999px;background:#eef3f7;padding:4px 8px;font-size:.72rem;height:max-content}.as-ai-advice-grid article p{margin:2px 0;color:#5d6875}
.as-ai-month-plan{margin-top:20px}.as-ai-coach-week{border:1px solid #dfe7ee;border-radius:18px;padding:14px;margin:10px 0;background:#fff}.as-ai-coach-week header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.as-ai-coach-week>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:9px 0;border-top:1px solid #edf1f4}.as-ai-coach-week>div small{grid-column:1;color:#687481}.as-ai-coach-week>div span{grid-row:1/3;grid-column:2;align-self:center;font-weight:800}
@media(max-width:760px){.as-ai-engagement,.as-ai-advice-grid{grid-template-columns:1fr}.as-ai-coach-week>div{grid-template-columns:1fr}.as-ai-coach-week>div span{grid-row:auto;grid-column:1}.as-ai-coach-week header{flex-direction:column}}


/* ArabicSchool v110 — professeur conversationnel */
.as-student-ai-chat-card{grid-column:1/-1}.as-ai-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.as-ai-chat-head h2{margin:0 0 6px}.as-ai-chat-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;margin-top:14px;min-height:520px}.as-ai-chat-sessions{border:1px solid rgba(80,98,126,.18);border-radius:16px;padding:8px;background:rgba(248,250,255,.7);overflow:auto;max-height:600px}.as-ai-chat-session{width:100%;border:0;background:transparent;text-align:left;padding:11px;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;color:inherit}.as-ai-chat-session:hover,.as-ai-chat-session.active{background:#fff;box-shadow:0 6px 18px rgba(30,52,84,.09)}.as-ai-chat-session small{opacity:.65}.as-ai-chat-main{display:flex;flex-direction:column;min-width:0}.as-ai-chat-messages{height:380px;overflow:auto;border:1px solid rgba(80,98,126,.18);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fbfdff,#f4f8ff)}.as-ai-chat-empty{text-align:center;padding:70px 20px;color:#657086}.as-ai-chat-message{display:flex;gap:9px;margin:12px 0;align-items:flex-end}.as-ai-chat-message.user{justify-content:flex-end}.as-ai-chat-message.user .as-ai-chat-avatar{order:2}.as-ai-chat-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 4px 12px rgba(31,50,80,.1);flex:0 0 auto}.as-ai-chat-bubble{position:relative;max-width:min(78%,720px);padding:12px 14px;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(31,50,80,.08);line-height:1.65;white-space:normal}.as-ai-chat-message.user .as-ai-chat-bubble{background:#285ed6;color:#fff;border-bottom-right-radius:5px}.as-ai-chat-message.assistant .as-ai-chat-bubble{border-bottom-left-radius:5px}.as-ai-chat-bubble small{display:block;margin-top:7px;opacity:.55;font-size:.72rem}.as-ai-chat-speak{position:absolute;right:7px;bottom:5px;border:0;background:transparent;cursor:pointer}.as-ai-chat-suggestions{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}.as-ai-chat-suggestions button{border:1px solid rgba(40,94,214,.25);background:#fff;color:#285ed6;border-radius:999px;padding:7px 11px;cursor:pointer}.as-ai-chat-form textarea{width:100%;min-height:88px;resize:vertical;border:1px solid rgba(80,98,126,.25);border-radius:15px;padding:12px;font:inherit}.as-ai-chat-actions{display:flex;justify-content:space-between;gap:10px;margin-top:8px}@media(max-width:760px){.as-ai-chat-head{flex-direction:column}.as-ai-chat-layout{grid-template-columns:1fr;min-height:0}.as-ai-chat-sessions{display:flex;gap:8px;overflow:auto;max-height:none}.as-ai-chat-session{min-width:180px}.as-ai-chat-messages{height:440px}.as-ai-chat-bubble{max-width:88%}.as-ai-chat-actions{align-items:stretch;flex-direction:column-reverse}.as-ai-chat-actions button{width:100%}}

/* v111 Assistant IA professeur */
.as-teacher-assistant-result h2,.as-teacher-assistant-result h3{margin-top:1.2rem}.as-ta-analysis{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-radius:14px;background:rgba(28,123,110,.09);margin-bottom:1rem}.as-ta-analysis span{color:var(--muted,#64748b)}.as-ta-examples li{margin:.65rem 0}.as-ta-examples [lang="ar"]{font-size:1.45rem}.as-ta-activities{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.as-ta-activities article{padding:1rem;border:1px solid rgba(100,116,139,.22);border-radius:14px}.as-teacher-assistant-result details{padding:.75rem;border-bottom:1px solid rgba(100,116,139,.18)}.as-teacher-assistant-result pre{white-space:pre-wrap;font-family:inherit;background:rgba(15,23,42,.04);padding:1rem;border-radius:12px}@media(max-width:720px){.as-ta-analysis{flex-direction:column}.as-teacher-assistant-grid .third,.as-teacher-assistant-grid .two-third{grid-column:1/-1}}

/* ArabicSchool v112 — Tableau de bord intelligent */
.as-smart-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,rgba(30,64,175,.08),rgba(5,150,105,.08))}.as-smart-kpis{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:12px;margin:16px 0}.as-smart-kpis article{background:#fff;border:1px solid var(--as-border,#dbe3ef);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.as-smart-kpis span{font-size:1.35rem}.as-smart-kpis strong{display:block;font-size:1.45rem;margin:7px 0}.as-smart-kpis small{color:#64748b}.as-smart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.as-smart-wide{grid-column:1/-1}.as-smart-insights p{padding:12px;margin:8px 0;background:#f8fafc;border-radius:12px}.as-smart-alerts article{border-left:5px solid #22c55e;padding:12px 14px;margin:10px 0;background:#f8fafc;border-radius:10px}.as-smart-alerts article.medium{border-color:#f59e0b}.as-smart-alerts article.high{border-color:#ef4444}.as-smart-alerts p{margin:4px 0}.as-smart-alerts small{display:block;color:#475569}.as-smart-pill,.as-smart-risk{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:700;background:#fee2e2;color:#991b1b}.as-smart-pill.medium,.as-smart-risk.medium{background:#fef3c7;color:#92400e}.as-smart-pill.good,.as-smart-pill.excellent,.as-smart-risk.low{background:#dcfce7;color:#166534}.as-smart-modules>div{margin:14px 0}.as-smart-modules header{display:flex;justify-content:space-between;text-transform:capitalize}.as-smart-modules i{display:block;height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:7px 0}.as-smart-modules i b{display:block;height:100%;background:currentColor;border-radius:inherit}.as-smart-attention article{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #e2e8f0;padding:11px 0}.as-smart-attention small,.as-db-table td small{display:block;color:#64748b;margin-top:3px}@media(max-width:1100px){.as-smart-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.as-smart-hero,.as-smart-attention article{align-items:flex-start;flex-direction:column}.as-smart-grid{grid-template-columns:1fr}.as-smart-wide{grid-column:auto}.as-smart-kpis{grid-template-columns:repeat(2,1fr)}}@media print{.as-db-tabs,#smartDashboardRefresh,#smartDashboardPrint{display:none!important}.as-db-tab-panel{display:none!important}#tab-smart-dashboard{display:block!important}.as-smart-kpis{grid-template-columns:repeat(4,1fr)}}


/* ArabicSchool v113 — Prononciation IA */
.as-student-pronunciation-card{grid-column:1/-1}.as-pronunciation-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.as-pronunciation-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;margin-top:16px}.as-pronunciation-practice,.as-pronunciation-result{border:1px solid rgba(15,118,110,.18);border-radius:18px;padding:18px;background:rgba(255,255,255,.68)}.as-pronunciation-practice label{display:grid;gap:6px;font-weight:800}.as-pronunciation-practice select{padding:10px;border-radius:12px;border:1px solid #cbd5e1}.as-pronunciation-phrase{font-size:clamp(2rem,5vw,3.7rem);font-family:Amiri,"Noto Naskh Arabic",serif;text-align:center;line-height:1.8;padding:18px 8px;color:#064e3b}.as-pronunciation-score{font-size:3rem;font-weight:950}.as-pronunciation-score.good{color:#047857}.as-pronunciation-score.medium{color:#b45309}.as-pronunciation-score.low{color:#b91c1c}.as-pronunciation-words{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.as-pronunciation-word{padding:6px 10px;border-radius:999px;background:#ecfdf5}.as-pronunciation-word.missed{background:#fee2e2;color:#991b1b}.as-pronunciation-history{margin-top:16px}.as-pronunciation-history-row{display:grid;grid-template-columns:90px 1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid #e5e7eb;align-items:center}@media(max-width:760px){.as-pronunciation-grid{grid-template-columns:1fr}.as-pronunciation-head{display:block}.as-pronunciation-head button{margin-top:10px}.as-pronunciation-history-row{grid-template-columns:70px 1fr}}


/* v115 — Espace Famille Premium */
.as-family-hero.premium{background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(16,185,129,.10));border:1px solid rgba(59,130,246,.18);border-radius:20px;padding:20px;display:flex;justify-content:space-between;gap:18px;align-items:center}
.as-family-premium-section{display:grid;gap:12px}.as-family-premium-section>h3{margin:0}
.as-family-alerts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.as-family-alert{display:flex;gap:10px;padding:13px;border-radius:14px;background:rgba(148,163,184,.10);border:1px solid rgba(148,163,184,.22)}
.as-family-alert p{margin:4px 0 0}.as-family-alert.danger{border-color:rgba(239,68,68,.35)}.as-family-alert.warning{border-color:rgba(245,158,11,.35)}.as-family-alert.ok{border-color:rgba(16,185,129,.35)}
.as-family-premium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.as-family-premium-child{padding:16px;border:1px solid rgba(148,163,184,.24);border-radius:18px;background:rgba(255,255,255,.65);display:grid;gap:12px}
.as-family-premium-child.high{border-color:rgba(239,68,68,.45)}.as-family-premium-child header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.as-family-premium-child header p{margin:3px 0 0}.as-family-premium-child header>span{font-size:1.35rem;font-weight:800}
.as-family-child-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.as-family-child-metrics div{padding:9px;border-radius:12px;background:rgba(148,163,184,.10);display:grid}.as-family-child-metrics small{line-height:1.2}
.as-family-focus,.as-family-advice{margin:0}.as-family-advice{padding:10px;border-radius:12px;background:rgba(16,185,129,.08)}
.as-family-goal{display:grid;gap:6px}.as-family-goal i{height:8px;border-radius:999px;background:rgba(148,163,184,.2);overflow:hidden}.as-family-goal i b{display:block;height:100%;background:currentColor;border-radius:inherit}
@media(max-width:800px){.as-family-alerts,.as-family-premium-grid{grid-template-columns:1fr}.as-family-hero.premium{align-items:flex-start;flex-direction:column}.as-family-child-metrics{grid-template-columns:1fr}}

/* ArabicSchool v117 — AI Academy */
.as-academy-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#ecfdf5,#eff6ff)}
.as-academy-trends{display:grid;gap:12px}.as-academy-trend{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid rgba(15,118,110,.18);border-radius:16px;padding:15px;background:#fff}.as-academy-trend h3{margin:8px 0 4px;text-transform:capitalize}.as-academy-trend p{margin:0 0 5px}.as-academy-trend small{color:#475569}.as-smart-module{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,2fr) auto;gap:12px;align-items:center;margin:12px 0}.as-smart-module span{display:block;font-size:.8rem;color:#64748b}.as-smart-progress{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.as-smart-progress i{display:block;height:100%;background:linear-gradient(90deg,#0f766e,#22c55e);border-radius:999px}@media(max-width:720px){.as-academy-hero,.as-academy-trend{align-items:stretch;flex-direction:column}.as-smart-module{grid-template-columns:1fr auto}.as-smart-progress{grid-column:1/-1}}

/* v122 upgrade abonnement */
.as-plan-card.is-upgrade{position:relative}.as-plan-card.is-upgrade::before{content:"Offre supérieure";position:absolute;top:10px;right:10px;font-size:.72rem;font-weight:800;padding:4px 8px;border-radius:999px;background:#eef7ff}.as-plan-card.is-current{outline:2px solid currentColor}.as-plan-card.highlight-upgrade{animation:asUpgradePulse 1.2s ease 2}@keyframes asUpgradePulse{50%{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.16)}}


/* ArabicSchool v124 — lisibilité et responsive des tableaux intelligents */
#tab-ai-academy .as-db-grid,#tab-ai-academy .as-db-card,#tab-smart-dashboard .as-smart-grid,#tab-smart-dashboard .as-db-card{min-width:0}
#tab-ai-academy .as-db-card{overflow:hidden;writing-mode:horizontal-tb;text-orientation:mixed}
#tab-ai-academy .as-db-card *{writing-mode:horizontal-tb;text-orientation:mixed;overflow-wrap:break-word;word-break:normal}
#tab-ai-academy .as-db-kpi{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));width:100%}
#tab-ai-academy .as-academy-trends,#tab-ai-academy .as-smart-modules,#tab-ai-academy .as-db-list{width:100%;min-width:0}
#tab-ai-academy .as-academy-trend>div{min-width:0}
#tab-ai-academy .as-academy-trend h3,#tab-ai-academy .as-academy-trend p,#tab-ai-academy .as-academy-trend small{white-space:normal}

#tab-smart-dashboard .as-smart-kpis article{background:linear-gradient(180deg,rgba(5,31,22,.96),rgba(10,48,34,.94));border-color:rgba(243,210,122,.28);color:var(--as-text)}
#tab-smart-dashboard .as-smart-kpis article strong,#tab-smart-dashboard .as-smart-kpis article span{color:#fff}
#tab-smart-dashboard .as-smart-kpis article small{color:#e8ddc2}
#tab-smart-dashboard .as-smart-insights p,#tab-smart-dashboard .as-smart-alerts article{background:rgba(0,0,0,.24);color:var(--as-text);border:1px solid rgba(243,210,122,.14)}
#tab-smart-dashboard .as-smart-alerts small,#tab-smart-dashboard .as-smart-modules header,#tab-smart-dashboard .as-smart-attention small{color:var(--as-muted)}
#tab-smart-dashboard .as-smart-attention article{border-color:rgba(243,210,122,.16)}
#smartDashboardClasses{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
#smartDashboardClasses>.as-db-table-wrap{width:100%;max-width:100%}
#smartDashboardClasses .as-db-table{width:100%;min-width:620px}

.as-ai-simulator-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}
.as-ai-simulator-result-grid>div{padding:12px;border-radius:14px;background:rgba(0,0,0,.2);border:1px solid rgba(243,210,122,.16)}
.as-ai-simulator-result-grid strong{display:block;color:var(--as-gold);font-size:1.15rem}
.as-ai-simulator-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

@media(max-width:720px){
  #tab-ai-academy .as-db-grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  #tab-ai-academy .as-db-card,#tab-ai-academy .as-smart-wide{grid-column:1/-1;width:100%;max-width:100%}
  #tab-ai-academy .as-db-kpi{grid-template-columns:1fr}
  #tab-ai-academy .as-academy-trend{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  #tab-ai-academy .as-academy-trend .as-db-btn{width:100%}
  #tab-smart-dashboard .as-smart-grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  #tab-smart-dashboard .as-smart-grid>.as-db-card,#tab-smart-dashboard .as-smart-wide{grid-column:1/-1;width:100%;max-width:100%}
  #smartDashboardClasses{margin:0;width:100%}
  #smartDashboardClasses .as-db-table{min-width:560px}
}
@media(max-width:430px){#tab-smart-dashboard .as-smart-kpis{grid-template-columns:1fr}#smartDashboardClasses .as-db-table{min-width:520px}}

/* v137 — contraste renforcé et cadres réductibles pour les grands établissements */
.as-collapse-toolbar{position:sticky;top:10px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 18px;padding:10px 12px;border:1px solid rgba(243,210,122,.32);border-radius:16px;background:rgba(7,31,22,.94);color:#fff7dc;box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(10px)}
.as-collapse-toolbar>span{font-weight:850;font-size:.9rem}
.as-card-collapse-head{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%;margin:-5px -5px 9px;grid-column:1/-1;flex:0 0 100%}
.as-card-collapse-head>strong{display:none;color:var(--as-gold);font-size:1rem;line-height:1.3}
.as-card-collapse-button,.as-class-collapse-button,.as-family-collapse-button{border:1px solid rgba(243,210,122,.48);border-radius:999px;background:#123d2c;color:#fff7dc;padding:7px 11px;font:800 .82rem/1 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;white-space:nowrap}
.as-card-collapse-button:hover,.as-card-collapse-button:focus-visible,.as-class-collapse-button:hover,.as-class-collapse-button:focus-visible,.as-family-collapse-button:hover,.as-family-collapse-button:focus-visible{background:#1c6247;outline:3px solid rgba(243,210,122,.28);outline-offset:2px}
.as-card-collapsed>.as-card-collapse-head{justify-content:space-between;margin:0}
.as-card-collapsed>.as-card-collapse-head>strong{display:block}
.as-card-collapsed>:not(.as-card-collapse-head){display:none!important}
.as-card-collapsed{padding:14px 18px;min-height:58px}
.as-smart-hero.as-card-collapsible,.as-academy-hero.as-card-collapsible{flex-wrap:wrap}

.as-class-learning-settings{gap:14px}
.as-class-learning-toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(190px,1fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid rgba(243,210,122,.28);border-radius:16px;background:rgba(0,0,0,.22)}
.as-class-learning-toolbar label{display:grid;gap:6px;color:#fff4cf;font-weight:850}
.as-class-learning-toolbar input,.as-class-learning-toolbar select{width:100%;min-height:44px;border:1px solid rgba(243,210,122,.42);border-radius:12px;background:#0a2d20;color:#fff;padding:10px 12px;font:inherit}
.as-class-learning-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.as-class-learning-toolbar #classLearningFilterSummary{grid-column:1/-1;margin:0;color:#fff4cf;font-weight:800}
.as-class-learning-list{display:grid;gap:14px}
.as-class-learning-card{color:#102a21;border:2px solid #6f9f90;background:linear-gradient(145deg,#f0fbf6,#fff);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.as-class-learning-card header{align-items:center;margin-bottom:8px}
.as-class-learning-card header h3{color:#073f31;font-size:1.35rem;font-weight:950}
.as-class-learning-meta{margin:4px 0 0;color:#29483e;font-weight:750;line-height:1.5}
.as-class-learning-meta strong{color:#062f25}
.as-class-learning-summary{justify-content:flex-end}
.as-class-learning-summary span{background:#d7f5e6;color:#064b37;border:1px solid #7dc5a5;font-weight:900}
.as-class-learning-card .as-class-collapse-button{background:#0b5f47;color:#fff;border-color:#0b5f47}
.as-class-learning-card.is-collapsed .as-class-learning-body{display:none}
.as-class-learning-card.is-collapsed header{margin-bottom:0}
.as-class-module-toggle{color:#122f25;border:1px solid #8fb5a8;background:#fff;font-weight:850;box-shadow:0 2px 5px rgba(15,23,42,.05)}
.as-class-module-toggle:has(input:checked){color:#053e2e;border-color:#16805f;background:#e1f7ec}
.as-class-module-toggle input{flex:0 0 auto}
.as-class-communication{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px;color:#123a48;background:#eaf8fc;border-color:#65a7b8;font-weight:850}
.as-class-communication input{width:20px!important;height:20px;accent-color:#08667e}
.as-class-parent-note{color:#29483e;font-weight:750;line-height:1.55}
.as-class-learning-card .as-db-btn.ok{background:#087443;color:#fff;border:1px solid #065c36}

.as-students-filter-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(170px,.8fr);gap:10px;align-items:end;width:min(100%,760px)}
.as-students-filter-grid .as-student-search-label{min-width:0;width:100%}
.as-students-filter-grid select{width:100%;min-height:44px;border:1px solid rgba(243,210,122,.34);border-radius:12px;background:#0b3023;color:#fff;padding:9px 11px;font:inherit}
.as-student-family-collapse-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.as-student-family-contact .as-family-collapse-button{grid-column:1/-1;justify-self:end;background:#234f3e}
.as-student-family-card.is-collapsed .as-student-family-students{display:none}
.as-student-family-card.is-collapsed .as-student-family-header{border-bottom:0}

@media(max-width:900px){.as-class-learning-toolbar{grid-template-columns:1fr 1fr}.as-class-learning-toolbar-actions{grid-column:1/-1}.as-students-filter-grid{grid-template-columns:1fr 1fr;width:100%}.as-students-filter-grid .as-student-search-label:first-child{grid-column:1/-1}}
@media(max-width:620px){.as-collapse-toolbar{position:static;align-items:stretch;flex-direction:column}.as-collapse-toolbar .as-db-mini-actions,.as-collapse-toolbar .as-db-btn{width:100%}.as-class-learning-toolbar,.as-students-filter-grid{grid-template-columns:1fr}.as-class-learning-toolbar>*{grid-column:1!important}.as-students-filter-grid .as-student-search-label:first-child{grid-column:auto}.as-class-learning-card{padding:14px}.as-class-learning-card header{display:flex;align-items:flex-start}.as-class-learning-summary{align-items:flex-end;flex-direction:column}.as-student-family-collapse-actions{justify-content:stretch}.as-student-family-collapse-actions .as-db-btn{width:100%}}
@media print{.as-collapse-toolbar,.as-card-collapse-head,.as-class-learning-toolbar,.as-class-collapse-button,.as-family-collapse-button{display:none!important}.as-card-collapsed>:not(.as-card-collapse-head),.as-class-learning-card.is-collapsed .as-class-learning-body,.as-student-family-card.is-collapsed .as-student-family-students{display:revert!important}}

/* v138 — contraste garanti dans les composants qui utilisent un fond clair. */
:is(.as-class-module-toggle,.as-ai-overall,.as-ai-skill-list li,.as-ai-history,.as-ai-plan-day,.as-ai-coach-message,.as-ai-engagement,.as-ai-advice-grid>section,.as-ai-coach-week,.as-pronunciation-practice,.as-pronunciation-result,.as-family-premium-child,.as-academy-hero,.as-academy-trend,.as-ai-chat-sessions,.as-ai-chat-message.assistant .as-ai-chat-bubble){color:#172b24!important}
:is(.as-ai-overall,.as-ai-skill-list li,.as-ai-history,.as-ai-plan-day,.as-ai-coach-message,.as-ai-engagement,.as-ai-advice-grid>section,.as-ai-coach-week,.as-pronunciation-practice,.as-pronunciation-result,.as-family-premium-child,.as-academy-hero,.as-academy-trend,.as-ai-chat-sessions,.as-ai-chat-message.assistant .as-ai-chat-bubble) :is(h1,h2,h3,h4,h5,h6,strong,label,li){color:#172b24}
:is(.as-ai-plan-day,.as-ai-history,.as-ai-coach-week,.as-ai-advice-grid>section,.as-pronunciation-practice,.as-pronunciation-result,.as-family-premium-child,.as-academy-trend) :is(p,small,.as-db-small){color:#465b53!important;opacity:1!important}
.as-plan-card.is-upgrade::before{color:#18324a}
.as-message-delivery-settings{margin-top:14px}.as-message-delivery-settings .as-db-check{padding:12px 14px;border:1px solid rgba(243,210,122,.22);border-radius:14px;background:rgba(0,0,0,.16)}
.as-delegate-permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:9px;margin:10px 0 14px}.as-delegate-permission-grid .as-db-check{margin:0;padding:10px 12px;border:1px solid rgba(243,210,122,.22);border-radius:12px;background:rgba(0,0,0,.16)}.as-delegate-card{margin-top:14px}.as-delegate-card>label{display:block;margin:10px 0}.as-db-form fieldset{min-width:0;border:1px solid rgba(243,210,122,.25);border-radius:16px;padding:12px}.as-db-form legend{padding:0 7px;color:#f3d27a;font-weight:800}
