/* Maquettes fidèles de l'interface mySIS (thème clair de l'application, police Outfit). Tout est préfixé .app */
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/outfit-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/outfit-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}

.app{--ap-rouge:#ab0209;--ap-rouge-2:#8b0007;--ap-rouge-doux:rgba(171,2,9,.1);--ap-fond:#f4f5f7;--ap-fond-2:#f8f9fa;--ap-fond-3:#f1f3f5;--ap-blanc:#fff;--ap-ligne:#e5e7eb;--ap-ligne-2:#f0f0f0;--ap-texte:#1a1a1a;--ap-texte-2:#4a5568;--ap-gris:#6b7280;--ap-gris-2:#9ca3af;--ap-vert:#065f46;--ap-vert-doux:#d1fae5;--ap-vert-vif:#10b981;--ap-orange:#92400e;--ap-orange-doux:#fef3c7;--ap-orange-vif:#f59e0b;--ap-violet:#5b21b6;--ap-violet-doux:#ede9fe;--ap-bleu:#1e40af;--ap-bleu-doux:#dbeafe;--ap-jaune:#f7c419;
  font-family:Outfit,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:11.5px;line-height:1.35;color:var(--ap-texte);background:var(--ap-fond);display:grid;grid-template-columns:172px 1fr;min-height:420px;text-align:left;letter-spacing:0;border-radius:inherit}
.app *{box-sizing:border-box}
/* Le site et les maquettes partagent des noms de classe (badge, btn, pied,
   tuiles, nav) : sans ce garde-fou, le .pied de site.css imposait 4 rem de
   remplissage au pied de la barre latérale comme au pied des widgets. */
.app .badge,.app .btn,.app .pied,.app .tuiles{margin:0;box-shadow:none;border:0}
.app .pied,.app .tuiles{padding:0;background:none;color:inherit;font-size:inherit}
.app nav{gap:0}
.app h1,.app h2,.app h3,.app h4,.app h5,.app h6{color:inherit;letter-spacing:0;line-height:1.25}
.app svg{width:14px;height:14px;flex:none}
.app b{font-weight:700}
/* Barre latérale */
.app .sb{background:var(--ap-blanc);border-right:1px solid var(--ap-ligne);padding:10px 8px;display:flex;flex-direction:column;gap:2px}
.app .sb .marque{display:flex;align-items:center;gap:7px;padding:2px 6px 10px}
.app .sb .marque i{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#f6c31c,#e0a300);display:block;position:relative;overflow:hidden}
.app .sb .marque i::after{content:"";position:absolute;left:6px;top:5px;width:18px;height:20px;background:#c8102e;clip-path:polygon(45% 0,70% 30%,100% 55%,80% 100%,20% 100%,0 60%,30% 35%)}
.app .sb .marque b{font-size:12px;display:block;line-height:1.1}
.app .sb .marque b span{color:var(--ap-rouge)}
.app .sb .marque small{font-size:8px;color:var(--ap-gris);display:block}
.app .sb .sec{font-size:8px;letter-spacing:.12em;color:var(--ap-gris);text-transform:uppercase;padding:9px 8px 3px;font-weight:600}
.app .sb .it{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;color:var(--ap-texte);font-weight:500;position:relative;font-size:10.5px}
.app .sb .it i{width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--ap-texte-2);flex:none}
.app .sb .it i svg{width:13px;height:13px}
.app .sb .it.actif{background:#faf0f0;color:var(--ap-rouge);font-weight:600}
.app .sb .it.actif i{background:var(--ap-rouge);color:#fff}
.app .sb .it .chev{margin-left:auto;color:#c2c2c8;width:10px;height:10px}
.app .sb .it .pastille{position:absolute;left:14px;top:1px;background:var(--ap-rouge);color:#fff;font-size:7px;font-weight:700;border-radius:99px;padding:0 4px;line-height:11px}
.app .sb .pied{margin-top:auto;border-top:1px solid var(--ap-ligne);padding-top:8px;display:flex;align-items:center;gap:7px;font-size:9.5px}
.app .sb .pied i{width:24px;height:24px;border-radius:6px;background:#2b2b31;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}
.app .sb .pied small{display:block;color:var(--ap-gris);font-size:8px}
/* Sous-menu (colonne blanche) */
.app .sm{background:var(--ap-fond-3);border-right:1px solid var(--ap-ligne);padding:10px 8px;width:118px;font-size:10px}
.app .sm b{display:block;padding:2px 6px 10px;font-size:11px}
.app .sm .sec{font-size:8px;letter-spacing:.12em;color:var(--ap-gris);text-transform:uppercase;padding:8px 6px 3px;font-weight:600}
.app .sm a{display:block;padding:5px 6px;border-radius:7px;color:var(--ap-texte)}
.app .sm a.actif{background:var(--ap-rouge-doux);color:var(--ap-rouge);font-weight:600}
.app .avec-sm{display:grid;grid-template-columns:118px 1fr;flex:1}
/* Zone principale */
.app .zone{display:flex;flex-direction:column;min-width:0}
.app .tete{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--ap-blanc);border-bottom:1px solid var(--ap-ligne);font-weight:700;font-size:12.5px}
.app .tete .retour{width:20px;height:20px;border-radius:50%;background:var(--ap-fond);display:inline-flex;align-items:center;justify-content:center;color:var(--ap-texte-2)}
.app .tete .btn{margin-left:auto}
.app .page{padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.app .btn{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:99px;font-weight:600;font-size:10px;background:var(--ap-rouge);color:#fff;white-space:nowrap}
.app .btn.clair{background:var(--ap-blanc);color:var(--ap-texte);border:1px solid var(--ap-ligne)}
.app .btn.gris{background:var(--ap-fond);color:var(--ap-texte)}
.app .btn.sombre{background:#2b2b31;color:#fff}
.app .carte-a{background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:14px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.app .titre{font-weight:700;font-size:13px}
.app .sous{color:var(--ap-gris);font-size:9.5px}
.app .badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:99px;font-size:8.5px;font-weight:600;white-space:nowrap}
.app .badge.vert{background:var(--ap-vert-doux);color:var(--ap-vert)}
.app .badge.orange{background:var(--ap-orange-doux);color:var(--ap-orange)}
.app .badge.rouge{background:#fee2e2;color:#991b1b}
.app .badge.violet{background:var(--ap-violet-doux);color:var(--ap-violet)}
.app .badge.bleu{background:var(--ap-bleu-doux);color:var(--ap-bleu)}
.app .badge.gris{background:var(--ap-fond);color:var(--ap-texte-2)}
.app .onglets{display:flex;gap:6px;flex-wrap:wrap}
.app .onglets span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:99px;background:var(--ap-blanc);border:1px solid var(--ap-ligne);font-weight:600;font-size:9.5px;color:var(--ap-texte-2)}
.app .onglets span.actif{background:var(--ap-rouge);color:#fff;border-color:var(--ap-rouge)}
.app .onglets span em{font-style:normal;background:rgba(0,0,0,.08);border-radius:99px;padding:0 5px;font-size:8px}
.app .onglets span.actif em{background:rgba(255,255,255,.25)}
.app .recherche{display:flex;align-items:center;gap:7px;background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:9px;padding:6px 9px;color:var(--ap-gris);font-size:9.5px}
.app .selects{display:flex;gap:6px}
.app .select{flex:1;display:flex;align-items:center;justify-content:space-between;background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:9px;padding:6px 9px;font-size:9.5px;font-weight:500}
.app .stats{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:7px}
.app .stat{background:var(--ap-fond);border-radius:11px;padding:10px 8px;text-align:center}
.app .stat b{display:block;font-size:17px;line-height:1.1}
.app .stat small{color:var(--ap-texte-2);font-size:8.5px}
.app .stat.blanc{background:var(--ap-blanc);border:1px solid var(--ap-ligne)}
.app .stat .pic{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:3px}
.app .stat .pic svg{width:10px;height:10px}
.app .grille-a{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.app .lig{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:11px}
.app .lig .ic{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:#fff}
.app .lig b{display:block;font-size:10.5px}
.app .lig small{color:var(--ap-gris);font-size:8.5px;display:block}
.app .lig .chev{margin-left:auto;color:#c2c2c8}
.app .table{width:100%;border-collapse:collapse;font-size:9.5px;background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:11px;overflow:hidden}
.app .table th{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ap-gris);text-align:left;padding:7px 9px;border-bottom:1px solid var(--ap-ligne);font-weight:600}
.app .table td{padding:7px 9px;border-bottom:1px solid var(--ap-ligne);vertical-align:middle}
.app .table tr:last-child td{border-bottom:0}
.app .jauge-a{height:5px;background:#ececef;border-radius:3px;overflow:hidden}
.app .jauge-a i{display:block;height:100%;background:var(--ap-orange);border-radius:3px}
.app .pastilles-a{display:flex;gap:5px;flex-wrap:wrap}
.app .pastilles-a span{background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:99px;padding:3px 8px;font-size:9px;display:inline-flex;gap:4px;align-items:center}
.app .pastilles-a span em{font-style:normal;color:var(--ap-gris);font-size:8px}
.app .avatar{width:22px;height:22px;border-radius:50%;background:conic-gradient(#c8102e 0 40%,#111 40% 70%,#f6c31c 70%);flex:none}
.app .noir{background:#1c1c21;color:#fff;border-radius:4px;padding:0 3px;font-size:8px;display:inline-block}
/* Tableau de bord — reprise fidèle de l'écran d'accueil de l'application */
.app .tdb-tete{display:flex;align-items:center;gap:10px}
.app .tdb-tete .grade{width:40px;height:40px;border-radius:12px;background:var(--ap-blanc);box-shadow:0 1px 2px rgba(0,0,0,.06);object-fit:contain;padding:4px;flex:none}
.app .tdb-tete small{font-size:8px;letter-spacing:.14em;color:var(--ap-gris);text-transform:uppercase;font-weight:600;display:block}
.app .tdb-tete small b{font-weight:600}
.app .tdb-tete small b span{font-weight:800;color:var(--ap-rouge)}
.app .tdb-tete > div > b{font-size:17px;display:block;letter-spacing:-.01em}
.app .tdb-tete > div > b span{font-weight:600}
.app .tdb-barre{display:flex;gap:6px;align-items:center}
.app .tdb-barre .hb{position:relative;display:inline-flex;align-items:stretch}
.app .tdb-barre .hb > i{width:34px;height:34px;border-radius:11px;background:var(--ap-rouge);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none}
.app .tdb-barre .hb > i svg{width:16px;height:16px}
.app .tdb-barre .hb em{position:absolute;top:-4px;right:-4px;background:var(--ap-jaune);color:#3f3f46;font-size:7px;font-weight:700;font-style:normal;border-radius:99px;padding:0 4px;line-height:12px;box-shadow:0 0 0 1.5px #fff}
.app .tdb-barre .meteo{background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:11px;overflow:hidden;align-items:center;box-shadow:0 1px 3px rgba(17,24,39,.05)}
.app .tdb-barre .meteo > i{border-radius:0}
.app .tdb-barre .meteo > span{padding:0 9px;text-align:center;line-height:1.15}
.app .tdb-barre .meteo small{font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--ap-gris);font-weight:600;display:block}
.app .tdb-barre .meteo b{color:var(--ap-rouge);font-size:12px;display:block}

/* Une carte de widget : halo à la couleur du module, bandeau, contenu, pied. */
.app .widgets{display:flex;gap:9px;overflow:hidden}
.app .wgt{flex:0 0 145px;position:relative;overflow:hidden;background:var(--ap-blanc);border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:7px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.app .wgt::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 85% at 90% -15%,var(--halo),transparent 52%);pointer-events:none}
.app .wgt > *{position:relative;z-index:1}
.app .wgt .wt{display:flex;align-items:center;gap:4px;min-height:18px}
.app .wgt .wt > i{color:var(--acc);display:inline-flex;flex:none}
.app .wgt .wt > i svg{width:13px;height:13px}
.app .wgt .wt > b{font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ap-gris-2);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app .wgt .wt .bd{font-size:7px;font-weight:700;border-radius:99px;padding:1px 5px;background:var(--ap-rouge-doux);color:var(--ap-rouge);text-transform:uppercase;letter-spacing:.04em;flex:none}
.app .wgt .seg{margin-left:auto;display:flex;gap:1px;background:var(--ap-fond-3);border-radius:8px;padding:2px;flex:none}
.app .wgt .seg span{padding:2px 5px;border-radius:6px;font-size:7.5px;font-weight:700;color:var(--ap-gris);display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.app .wgt .seg span svg{width:8px;height:8px}
.app .wgt .seg span.on{background:var(--ap-blanc);color:var(--ap-texte);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.app .wgt h6{margin:0;font-size:12.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.app .wgt .sel{display:flex;align-items:center;gap:4px;background:var(--ap-fond-3);border-radius:9px;padding:5px 7px;font-size:8.5px;font-weight:600;color:var(--ap-texte-2);box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}
.app .wgt .sel svg{width:10px;height:10px;flex:none}
.app .wgt .sel .chev{margin-left:auto;display:inline-flex}
.app .wgt .tuiles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;flex:1;min-height:0}
.app .wgt .t{background:var(--ap-fond-3);border-radius:10px;padding:6px 3px;text-align:center;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
.app .wgt .t i{display:block}
.app .wgt .t svg{width:12px;height:12px;margin:0 auto}
.app .wgt .t b{display:block;font-size:15px;font-weight:800;line-height:1.1;margin-top:2px;font-variant-numeric:tabular-nums}
.app .wgt .t small{display:block;font-size:7px;font-weight:600;color:var(--ap-texte-2);line-height:1.15;margin-top:2px}
.app .wgt .bilan{display:flex;align-items:flex-start;gap:5px;background:var(--ap-fond-3);border-radius:9px;padding:5px 6px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05);font-size:8px;color:var(--ap-texte-2)}
.app .wgt .bilan > i{width:16px;height:16px;border-radius:5px;background:rgba(15,23,42,.06);display:inline-flex;align-items:center;justify-content:center;color:var(--ap-gris);flex:none}
.app .wgt .bilan svg{width:9px;height:9px}
.app .wgt .bilan > span{min-width:0;line-height:1.25}
.app .wgt .bilan b{font-weight:800;color:var(--ap-texte)}
.app .wgt .bilan em{display:block;font-style:normal;font-size:7px;font-weight:600;color:var(--ap-gris-2);white-space:nowrap;margin-top:1px}
.app .wgt .prog{display:flex;align-items:center;gap:5px}
.app .wgt .prog .b{flex:1;height:5px;border-radius:3px;background:rgba(15,23,42,.08);overflow:hidden}
.app .wgt .prog .b i{display:block;height:100%;border-radius:3px;background:var(--acc)}
.app .wgt .prog > b{font-size:9px;font-weight:800}
.app .wgt .pied{margin-top:auto;display:flex;gap:4px}
.app .wgt .cta{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:4px;background:rgba(15,23,42,.07);border-radius:9px;padding:6px 8px;font-weight:600;font-size:8.5px}
.app .wgt .cta svg{width:10px;height:10px;flex:none}
.app .wgt .cta2{display:inline-flex;align-items:center;gap:3px;border-radius:9px;padding:6px 7px;font-size:8px;font-weight:600;color:var(--ap-texte-2);box-shadow:inset 0 0 0 1px rgba(15,23,42,.1);white-space:nowrap}
.app .wgt .cta2 svg{width:9px;height:9px}
.app .widgets-pied{display:flex;align-items:center;gap:4px}
.app .widgets-pied .pt{width:5px;height:5px;border-radius:3px;background:var(--ap-ligne);display:block}
.app .widgets-pied .pt.on{width:16px;background:var(--ap-rouge)}
.app .widgets-pied .perso{margin-left:auto;display:inline-flex;align-items:center;gap:3px;background:var(--ap-blanc);border-radius:99px;padding:4px 9px;font-size:8px;font-weight:700;color:var(--ap-texte-2);box-shadow:0 1px 2px rgba(0,0,0,.05),inset 0 0 0 1px rgba(0,0,0,.05)}
.app .widgets-pied .perso svg{width:10px;height:10px}

/* En-tête de section : titre, méta, filet rouge dégradé (SectionHeading.tsx) */
.app .tdb-sh{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.app .tdb-sh b{font-size:13px;font-weight:800;letter-spacing:-.01em;display:block}
.app .tdb-sh small{font-size:8.5px;font-weight:500;color:var(--ap-gris);display:block;margin-top:1px}
.app .tdb-sh .a{display:inline-flex;align-items:center;gap:2px;font-size:8.5px;font-weight:700;color:var(--ap-gris);white-space:nowrap}
.app .tdb-sh .a svg{width:10px;height:10px}
.app .tdb-filet{height:1px;background:linear-gradient(90deg,var(--ap-rouge),rgba(171,2,9,.25) 45%,transparent);margin-top:6px}

/* Tuiles d'application : les vraies icônes des outils publiés (AppsFavorites.tsx) */
.app .applis{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.app .applis > span{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:8.5px;font-weight:600;text-align:center;line-height:1.15}
.app .applis .v{width:100%;aspect-ratio:1;border-radius:13px;background:linear-gradient(135deg,#fff,#eef1f5);box-shadow:0 1px 4px rgba(0,0,0,.08),0 5px 14px rgba(0,0,0,.06);overflow:hidden;display:block}
.app .applis .v img{width:100%;height:100%;object-fit:cover;display:block}
.app .applis .v.plus{display:flex;align-items:center;justify-content:center;color:var(--ap-rouge);box-shadow:inset 0 0 0 1.5px rgba(171,2,9,.3);background:linear-gradient(135deg,#fff,#f7f8fa)}
.app .applis .v.plus svg{width:17px;height:17px}
.app .applis .pastille{position:absolute;top:-5px;right:-5px;background:var(--ap-rouge);color:#fff;font-size:7px;font-weight:700;font-style:normal;border-radius:99px;padding:0 4px;line-height:12px;box-shadow:0 0 0 1.5px #fff}

/* Fil rouge : les non lues sont cerclées de rouge et portent l'étiquette */
.app .filrouge{display:flex;gap:8px}
.app .fr{flex:0 0 150px;height:78px;border-radius:12px;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.85)),var(--img);position:relative;opacity:.88}
.app .fr.nonlu{opacity:1;box-shadow:inset 0 0 0 2px var(--ap-rouge)}
.app .fr .et{position:absolute;right:6px;top:6px;background:var(--ap-rouge);color:#fff;font-size:7px;font-weight:700;border-radius:99px;padding:1px 6px;text-transform:uppercase}
.app .fr b{position:absolute;left:8px;bottom:6px;color:#fff;font-size:9px;line-height:1.15}

/* Cartes formation */
.app .cf{background:var(--ap-blanc);border:1px solid var(--ap-ligne-2);border-left:4px solid #ff9800;border-radius:12px;padding:10px 10px 10px 12px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.app .cf::after{content:"";position:absolute;right:-20px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(171,2,9,.06),transparent 70%)}
.app .cf .pct{position:absolute;right:9px;top:9px;width:22px;height:22px;border-radius:50%;border:2px solid var(--ap-ligne);display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:var(--ap-gris)}
.app .cf b{font-size:10.5px;padding-right:26px;line-height:1.25}
.app .cf b em{font-style:normal;color:var(--ap-rouge)}
.app .cf .ref{font-size:8.5px;color:var(--ap-gris)}
.app .cf .meta{display:flex;gap:8px;font-size:8.5px;color:var(--ap-texte-2);align-items:center;flex-wrap:wrap}
.app .cf .meta span{display:inline-flex;align-items:center;gap:3px}
.app .cf .meta svg{width:10px;height:10px}
.app .cf .bas{display:flex;align-items:center;gap:5px;margin-top:2px}
.app .cf .bas .quand{color:var(--ap-orange);font-weight:600;font-size:8.5px;display:flex;align-items:center;gap:4px;flex:1}
.app .cf .bas .btn{padding:4px 8px;font-size:8.5px}
/* Calendrier semaine (Plann'SIS) */
.app .sem{display:grid;grid-template-columns:34px repeat(7,1fr);background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:11px;overflow:hidden}
.app .sem .j{text-align:center;padding:5px 2px;border-left:1px solid var(--ap-ligne);font-size:8.5px;color:var(--ap-gris)}
.app .sem .j b{display:block;font-size:11px;color:var(--ap-texte)}
.app .sem .j.auj{background:var(--ap-rouge);color:#fff}
.app .sem .j.auj b{color:#fff}
.app .sem .h{font-size:7.5px;color:var(--ap-gris);padding:3px 3px 0;height:22px;border-top:1px solid var(--ap-ligne)}
.app .sem .c{border-left:1px solid var(--ap-ligne);border-top:1px solid var(--ap-ligne);background:#eef8ef;height:22px;position:relative}
.app .sem .c.hors{background:#fff}
.app .sem .ev{position:absolute;left:2px;right:2px;top:2px;border-radius:4px;font-size:7px;padding:2px 3px;color:#fff;font-weight:600;line-height:1.15;overflow:hidden}
/* Calendrier mois (Self'SIS) */
.app .mois{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:9.5px}
.app .mois .n{color:var(--ap-gris);font-size:8px;padding:3px 0}
.app .mois .d{background:var(--ap-fond);border-radius:8px;padding:7px 0;position:relative}
.app .mois .d.off{opacity:.35}
.app .mois .d.auj{outline:2px solid var(--ap-rouge);outline-offset:-2px;font-weight:700}
.app .mois .d.sel{background:var(--ap-rouge);color:#fff;font-weight:700}
.app .mois .d i{position:absolute;top:3px;right:5px;width:4px;height:4px;border-radius:50%;background:var(--ap-orange)}
.app .mois .d i.v{background:var(--ap-vert)}
/* Carte (Map'SIS) */
.app .carto{display:grid;grid-template-columns:150px 1fr;min-height:340px}
.app .carto .panneau{padding:8px;display:flex;flex-direction:column;gap:5px;background:var(--ap-fond)}
.app .carto .panneau .u{display:flex;align-items:center;gap:6px;background:var(--ap-blanc);border-radius:9px;padding:6px;font-size:9px}
.app .carto .panneau .u b{display:block;font-size:9.5px}
.app .carto .panneau .u small{color:var(--ap-gris);font-size:7.5px}
.app .carto .fond{position:relative;background:
  radial-gradient(60% 70% at 78% 40%,rgba(70,120,160,.55),transparent 60%),
  radial-gradient(40% 50% at 20% 80%,rgba(120,110,80,.6),transparent 60%),
  radial-gradient(35% 45% at 45% 30%,rgba(90,110,70,.7),transparent 60%),
  linear-gradient(160deg,#4f5c47 0%,#6d7a5e 30%,#8b8f6f 55%,#3f5f7a 75%,#2d4c68 100%);overflow:hidden}
.app .carto .fond::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:64px 64px}
.app .carto .barre-r{position:absolute;left:10px;top:10px;right:80px;display:flex;gap:6px}
.app .carto .barre-r .recherche{flex:1;background:rgba(255,255,255,.92)}
.app .carto .zoom{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px}
.app .carto .zoom i{width:24px;height:24px;border-radius:6px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#333;font-size:12px}
.app .carto .pei{position:absolute;width:10px;height:10px;border-radius:50%;background:#2f7de1;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.app .carto .feu{position:absolute;width:14px;height:14px;border-radius:50%;background:#ff5a1f;border:2px solid #fff;box-shadow:0 0 0 6px rgba(255,90,31,.25)}
.app .carto .etiq{position:absolute;background:rgba(0,0,0,.6);color:#fff;font-size:7px;padding:1px 4px;border-radius:3px}
/* Grille disponibilités (gardes) */
.app .dispo{display:grid;grid-template-columns:90px repeat(14,1fr);gap:2px;font-size:8px;background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:11px;padding:8px}
.app .dispo .en{color:var(--ap-gris);text-align:center;font-size:7.5px}
.app .dispo .ag{font-weight:600;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:4px}
.app .dispo .k{height:16px;border-radius:4px;background:#f0f0f2;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:#fff}
.app .dispo .k.dj{background:#22a55b}.app .dispo .k.dm{background:#7cc4f5;color:#123}.app .dispo .k.da{background:#f1b53d;color:#432}.app .dispo .k.dp{background:#7c3aed}.app .dispo .k.i{background:#e5484d}
/* Kanban / flux (atelier) */
.app .flux{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.app .col{background:var(--ap-fond);border-radius:11px;padding:7px;display:flex;flex-direction:column;gap:6px}
.app .col > b{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--ap-texte-2);display:flex;justify-content:space-between}
.app .ot{background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:9px;padding:7px;font-size:9px}
.app .ot b{display:block;font-size:9.5px}
.app .ot small{color:var(--ap-gris);display:block;font-size:8px}
/* Formulaire fiche (montagne) */
.app .fiche{display:flex;flex-direction:column;gap:7px}
.app .fiche .sec-f{background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:11px;padding:9px}
.app .fiche .sec-f b{display:flex;align-items:center;gap:6px;font-size:10px;margin-bottom:6px}
.app .fiche .sec-f b i{width:18px;height:18px;border-radius:6px;background:var(--ap-rouge);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-style:normal}
.app .chips{display:flex;gap:4px;flex-wrap:wrap}
.app .chips span{border:1px solid var(--ap-ligne);border-radius:99px;padding:2px 7px;font-size:8.5px}
.app .chips span.on{background:var(--ap-rouge);color:#fff;border-color:var(--ap-rouge)}
.app .champs{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.app .champ-a{border:1px solid var(--ap-ligne);border-radius:7px;padding:5px 7px;font-size:9px}
.app .champ-a small{display:block;color:var(--ap-gris);font-size:7.5px}
/* Liste documentaire */
.app .doc{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--ap-ligne);font-size:9.5px}
.app .doc:last-child{border-bottom:0}
.app .doc i{width:20px;height:24px;border-radius:3px;background:linear-gradient(#e9e9ee,#d5d5dc);border:1px solid #cfcfd6;flex:none}
.app .doc small{display:block;color:var(--ap-gris);font-size:8px}
.app .espace{background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-left:3px solid var(--c,#ab0209);border-radius:11px;padding:10px;position:relative;overflow:hidden}
.app .espace i{width:26px;height:26px;border-radius:8px;background:var(--c,#ab0209);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.app .espace b{display:block;font-size:10.5px}
.app .espace small{color:var(--ap-gris);font-size:8.5px;display:block}
.app .espace::after{content:attr(data-w);position:absolute;right:-6px;bottom:-14px;font-size:38px;font-weight:800;color:rgba(0,0,0,.04);letter-spacing:-.04em}
/* Sport */
.app .anneau{width:54px;height:54px;border-radius:50%;background:conic-gradient(var(--ap-vert) 0 100%);display:inline-flex;align-items:center;justify-content:center;flex:none}
.app .anneau i{width:42px;height:42px;border-radius:50%;background:#fff;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:var(--ap-vert)}
.app .courbe{height:52px;background:linear-gradient(180deg,rgba(124,58,237,.15),transparent);border-radius:8px;position:relative;overflow:hidden}
.app .courbe::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:2px;background:var(--ap-violet);transform:rotate(-8deg);transform-origin:left}
/* Agenda */
.app .evt{display:flex;align-items:center;gap:10px;background:var(--ap-blanc);border:1px solid var(--ap-ligne);border-radius:11px;padding:8px 10px}
.app .evt .date{width:34px;height:36px;border-radius:8px;background:var(--ap-rouge-doux);color:var(--ap-rouge);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:12px;line-height:1}
.app .evt .date small{font-size:7px;font-weight:600;text-transform:uppercase}
.app .evt b{font-size:10.5px}
.app .evt small{color:var(--ap-gris);font-size:8.5px;display:block}
/* Messagerie / notifications */
.app .conv{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--ap-ligne);font-size:9.5px}
.app .conv b{display:block;font-size:9.5px}
.app .conv small{color:var(--ap-gris);display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.app .conv time{margin-left:auto;color:var(--ap-gris);font-size:7.5px}
@media (max-width:640px){.app{grid-template-columns:1fr}.app .sb{display:none}.app .corps.avec-sm{grid-template-columns:1fr}.app .sm{display:none}.app .widgets,.app .grille-a,.app .flux{grid-template-columns:1fr 1fr}.app .carto{grid-template-columns:1fr}.app .carto .panneau{display:none}}

/* ===== Application de centre de secours : zinc monochrome, accent #dc2626, police Inter ===== */
.app.cis{grid-template-columns:44px 1fr;background:#fafafa;color:#18181b;font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:10.5px}
.app.cis .rail{background:#fff;border-right:1px solid rgba(228,228,231,.7);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0}
.app.cis .rail .lg{width:26px;height:26px;border-radius:8px;background:#dc2626;color:#fff;font-weight:700;font-size:9px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.app.cis .rail .ri{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#a1a1aa;position:relative}
.app.cis .rail .ri.on{background:#f4f4f5;color:#18181b}
.app.cis .rail .ri.on::before{content:"";position:absolute;left:-8px;top:6px;width:3px;height:16px;background:#dc2626;border-radius:0 3px 3px 0}
.app.cis .rail .sep{width:18px;height:1px;background:#e4e4e7;margin:4px 0}
.app.cis .hd{height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid rgba(228,228,231,.7);background:rgba(255,255,255,.8)}
.app.cis .hd > b{font-size:11px;flex:1}
.app.cis .th{display:inline-flex;gap:2px;background:#f4f4f5;border-radius:8px;padding:2px}
.app.cis .th i{width:16px;height:16px;border-radius:5px;display:block}
.app.cis .th i.on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.app.cis .uc{display:inline-flex;align-items:center;gap:6px;font-size:9px}
.app.cis .uc i{width:20px;height:20px;border-radius:6px;background:#18181b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:7.5px;font-style:normal}
.app.cis .uc small{display:block;color:#71717a;font-size:7.5px}
.app.cis .pg{padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.app.cis .salut{display:flex;justify-content:space-between;align-items:flex-start}
.app.cis h1{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}
.app.cis .salut small{color:#71717a;font-size:9.5px}
.app.cis .clock{text-align:right}
.app.cis .clock b{font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:block;line-height:1}
.app.cis .clock b span{font-size:11px;color:#a1a1aa}
.app.cis .clock small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#71717a}
.app.cis .kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#e4e4e7;border-radius:10px;overflow:hidden;border:1px solid #e4e4e7}
.app.cis .kpi div{background:#fff;padding:7px 8px;display:grid;grid-template-columns:auto 1fr;gap:2px 7px;align-items:center}
.app.cis .kpi i{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;grid-row:span 2}
.app.cis .kpi b{font-size:13px;line-height:1;font-variant-numeric:tabular-nums}
.app.cis .kpi small{font-size:7.5px;text-transform:uppercase;color:#71717a;letter-spacing:.04em}
.app.cis .deux-c{display:grid;grid-template-columns:1.45fr 1fr;gap:10px;align-items:start}
.app.cis .garde{border:1px solid rgba(228,228,231,.7);border-radius:14px;overflow:hidden;background:#fff}
.app.cis .gh{background:#18181b;color:#fff;padding:8px 10px;display:flex;align-items:center;gap:7px}
.app.cis .gh .sh{width:26px;height:26px;border-radius:8px;background:#dc2626;display:inline-flex;align-items:center;justify-content:center}
.app.cis .gh b{font-size:11px;display:block}
.app.cis .gh small{font-size:8px;color:rgba(255,255,255,.6)}
.app.cis .gh .live{margin-left:auto;font-size:8px;background:rgba(255,255,255,.1);border-radius:99px;padding:2px 7px;color:#34d399}
.app.cis .gh .gb{font-size:8.5px;background:rgba(255,255,255,.1);border-radius:6px;padding:3px 7px;font-weight:600}
.app.cis .gh .gb.w{background:#fff;color:#18181b}
.app.cis .gm{display:flex;gap:5px;flex-wrap:wrap;padding:6px 10px;background:rgba(250,250,250,.6);border-bottom:1px solid #f4f4f5}
.app.cis .p{font-size:8px;font-weight:600;border-radius:99px;padding:2px 7px;background:#fff;box-shadow:inset 0 0 0 1px rgba(228,228,231,.7);color:#52525b}
.app.cis .p.ok{background:#ecfdf5;color:#047857;box-shadow:none}
.app.cis .p.ko{background:#fef2f2;color:#b91c1c;box-shadow:none}
.app.cis .gth{display:grid;grid-template-columns:150px 1fr 40px;padding:4px 10px;font-size:7.5px;text-transform:uppercase;color:#a1a1aa;letter-spacing:.06em}
.app.cis .gth .ax{display:flex;justify-content:space-between;font-family:ui-monospace,Menlo,monospace;font-size:7px}
.app.cis .gr{display:grid;grid-template-columns:150px 1fr 40px;gap:8px;align-items:center;padding:5px 10px;border-top:1px solid #f4f4f5}
.app.cis .gr.chef{background:rgba(255,251,235,.4);box-shadow:inset 3px 0 0 #fbbf24}
.app.cis .gr.moi{box-shadow:inset 3px 0 0 #34d399}
.app.cis .gr .av{width:22px;height:22px;border-radius:7px;background:#fafafa;box-shadow:inset 0 0 0 1px rgba(228,228,231,.7);display:inline-block;vertical-align:middle;margin-right:5px;float:left}
.app.cis .gr .id{font-size:9px;line-height:1.2}
.app.cis .gr .grade{font-family:ui-monospace,Menlo,monospace;background:#f4f4f5;font-size:7px;padding:1px 3px;border-radius:3px;text-transform:uppercase}
.app.cis .gr .id b{text-transform:uppercase;font-size:9.5px}
.app.cis .gr .pr{color:#71717a}
.app.cis .gr .bd{font-size:7px;font-weight:700;border-radius:99px;padding:1px 5px;margin-left:4px;color:#fff}
.app.cis .gr .bd.chef{background:#f59e0b}.app.cis .gr .bd.moi{background:#10b981}
.app.cis .gr .tl{height:18px;border-radius:6px;border:1px solid rgba(228,228,231,.7);background:rgba(250,250,250,.7);position:relative;background-image:repeating-linear-gradient(90deg,rgba(228,228,231,.6) 0 1px,transparent 1px 14.28%)}
.app.cis .gr .bar{position:absolute;top:2px;bottom:2px;border-radius:4px;color:#fff;font-size:7.5px;font-weight:700;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 1px rgba(0,0,0,.3)}
.app.cis .gr .pil{font-family:ui-monospace,Menlo,monospace;font-size:8px;text-align:center;background:#f4f4f5;border-radius:99px;padding:2px 0}
.app.cis .arm{display:flex;gap:5px;padding:6px 10px;background:rgba(250,250,250,.5);border-top:1px solid #f4f4f5}
.app.cis .col-d{display:flex;flex-direction:column;gap:10px}
.app.cis .panel{border:1px solid rgba(228,228,231,.7);border-radius:14px;background:#fff;padding:10px}
.app.cis .ph{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.app.cis .ph i{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
.app.cis .ph b{font-size:10.5px;flex:1}
.app.cis .btn-r{background:#dc2626;color:#fff;font-size:8px;font-weight:600;border-radius:6px;padding:3px 7px}
.app.cis .cnt{background:#fafafa;color:#a1a1aa;font-size:8px;border-radius:99px;padding:1px 6px;box-shadow:inset 0 0 0 1px #e4e4e7}
.app.cis .st{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.1em;color:#a1a1aa;margin:6px 0 3px}
.app.cis .cons{border:1px solid #e4e4e7;background:rgba(250,250,250,.7);border-radius:9px;padding:6px 8px 6px 18px;position:relative;font-size:9px;margin-bottom:4px}
.app.cis .cons.imp{border-color:#fca5a5;background:#fef2f2}
.app.cis .cons.imp b{color:#991b1b}
.app.cis .cons .dot{position:absolute;left:7px;top:9px;width:6px;height:6px;border-radius:50%;background:#ef4444}
.app.cis .cons .dot.v{background:#8b5cf6}
.app.cis .cons b{font-size:9.5px}
.app.cis .cons small{display:block;color:#71717a;font-size:8px}
.app.cis .cons .tag{font-size:7px;font-weight:600;text-transform:uppercase;background:#fef2f2;color:#b91c1c;box-shadow:inset 0 0 0 1px #fecaca;border-radius:99px;padding:1px 5px;margin-left:5px}
.app.cis .rr{display:flex;align-items:center;gap:5px;border:1px solid rgba(228,228,231,.7);border-radius:9px;padding:5px 7px;font-size:8.5px;margin-bottom:4px;background:#fff}
.app.cis .rr.mine{border-color:#d4d4d8;background:rgba(250,250,250,.7)}
.app.cis .rr .dt{background:#f4f4f5;border-radius:5px;padding:2px 5px;font-weight:600;font-variant-numeric:tabular-nums}
.app.cis .rr .cr{background:#000;color:#fff;border-radius:99px;padding:1px 6px;font-size:7px;font-weight:700;text-transform:uppercase}
.app.cis .rr .tx{flex:1;color:#52525b}
.app.cis .btn-n{background:#18181b;color:#fff;border-radius:6px;padding:3px 7px;font-size:8px;font-weight:600}
.app.cis .btn-g{color:#71717a;font-size:8px;font-weight:600}

/* ===== Atelier mécanique : prototype Bootstrap, accent #007bff ===== */
.app.meca{grid-template-columns:1fr;background:#f5f5f5;color:#212529;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:10.5px}
.app.meca .nav{background:#fff;border-bottom:1px solid #ddd;padding:9px 18px;display:flex;justify-content:space-between;align-items:center}
.app.meca .nav h2{margin:0;color:#007bff;font-size:14px;font-weight:700}
.app.meca .lk{display:flex;gap:16px;font-weight:500;color:#333;font-size:10px}
.app.meca .lk .on{color:#007bff}
.app.meca .lk i{background:#dc3545;color:#fff;border-radius:50%;padding:1px 5px;font-size:7.5px;font-style:normal}
.app.meca .pg{padding:16px 18px}
.app.meca .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.app.meca h1{margin:0;font-size:18px;font-weight:600}
.app.meca .fl{display:flex;gap:8px}
.app.meca .sel{padding:5px 8px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:9.5px}
.app.meca .vg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.app.meca .vc{background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}
.app.meca .vc h3{margin:0;font-size:12px;font-weight:600}
.app.meca .vc .ty,.app.meca .vc .cis{color:#666;font-size:9px}
.app.meca .stt{display:inline-block;padding:2px 8px;border-radius:4px;font-size:8.5px;align-self:flex-start}
.app.meca .btn-b{background:#007bff;color:#fff;border-radius:4px;padding:5px 10px;font-size:9px}
.app.meca .tb{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden;font-size:9px}
.app.meca .tb th{background:#f8f9fa;text-align:left;padding:6px 8px;border-bottom:1px solid #ddd;font-weight:600}
.app.meca .tb td{padding:6px 8px;border-bottom:1px solid #eee}

/* ===== SMPM 66 : style iOS, accent #e0392e ===== */
.app.smpm{grid-template-columns:110px 1fr;grid-template-rows:auto 1fr;background:#f2f2f7;color:#1c1c1e;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,sans-serif;font-size:10.5px}
.app.smpm .hd{grid-column:1/-1;height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;background:rgba(249,249,251,.82);border-bottom:.5px solid rgba(60,60,67,.12)}
.app.smpm .hd .lg{width:22px;height:22px;border-radius:6px;background:#e0392e;color:#fff;display:inline-flex;align-items:center;justify-content:center}
.app.smpm .hd b{font-size:11px;display:block;line-height:1.1}
.app.smpm .hd small{font-size:7.5px;color:#6e6e73}
.app.smpm .clk{margin-left:auto;font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:9.5px;font-weight:700;color:#6e6e73}
.app.smpm .hb{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 .5px rgba(60,60,67,.18);display:inline-flex;align-items:center;justify-content:center;color:#6e6e73}
.app.smpm .uc{display:inline-flex;align-items:center;gap:5px;background:#fff;border-radius:99px;padding:2px 8px 2px 2px;box-shadow:inset 0 0 0 .5px rgba(60,60,67,.18);font-size:8.5px;font-weight:600;color:#6e6e73}
.app.smpm .uc i{width:18px;height:18px;border-radius:50%;background:#e0392e;color:#fff;font-size:7.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-style:normal}
.app.smpm .sb2{border-right:.5px solid rgba(60,60,67,.12);padding:10px 8px;display:flex;flex-direction:column;gap:3px}
.app.smpm .si{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:9px;font-size:9.5px;font-weight:600;color:#6e6e73}
.app.smpm .si.on{background:rgba(224,57,46,.12);color:#e0392e}
.app.smpm .pg{padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.app.smpm .ft{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.app.smpm .ft .num{font-family:"SF Pro Rounded",-apple-system,"Segoe UI",sans-serif;font-size:15px;font-weight:800;letter-spacing:-.02em}
.app.smpm .bd{border-radius:99px;padding:2px 7px;font-size:7.5px;font-weight:700;text-transform:uppercase}
.app.smpm .bd.open{background:rgba(52,168,83,.14);color:#34a853}
.app.smpm .sv{font-size:8.5px;font-weight:600;color:#34a853;display:inline-flex;align-items:center;gap:3px}
.app.smpm .ft .hb{margin-left:auto}
.app.smpm .ft small{flex-basis:100%;font-size:8.5px;color:#6e6e73}
.app.smpm .g2c{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
.app.smpm .g2c > div{display:flex;flex-direction:column;gap:8px}
.app.smpm .cd{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05),0 6px 24px -12px rgba(0,0,0,.12);border:.5px solid rgba(60,60,67,.12);overflow:hidden}
.app.smpm .cdh{display:flex;align-items:center;gap:7px;padding:9px 11px 3px}
.app.smpm .cdh i{width:22px;height:22px;border-radius:7px;background:rgba(224,57,46,.12);color:#e0392e;display:inline-flex;align-items:center;justify-content:center}
.app.smpm .cdh h2{margin:0;font-size:11px;font-weight:700}
.app.smpm .cdb{padding:6px 11px 10px;display:flex;flex-direction:column;gap:6px}
.app.smpm label{font-size:8.5px;font-weight:600;color:#6e6e73}
.app.smpm .in{background:#e9e9ee;border-radius:8px;padding:6px 8px;font-size:9.5px}
.app.smpm .in em{font-style:normal;color:#aeaeb2;float:right}
.app.smpm .g2{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.app.smpm .ch{display:flex;flex-wrap:wrap;gap:4px}
.app.smpm .ch span{border:1px solid rgba(60,60,67,.18);background:#fff;border-radius:99px;padding:3px 8px;font-size:8.5px;font-weight:600}
.app.smpm .ch span.on{background:#e0392e;border-color:#e0392e;color:#fff}
.app.smpm .gps{background:#f7f7fa;border-radius:9px;padding:7px;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.app.smpm .gv{background:#e9e9ee;border-radius:8px;padding:5px 8px}
.app.smpm .gv .k{display:block;font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#aeaeb2}
.app.smpm .gv .v{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:9.5px;font-weight:600}
.app.smpm .bt{display:inline-flex;align-items:center;gap:4px;border-radius:8px;padding:5px 9px;font-size:8.5px;font-weight:650;justify-content:center}
.app.smpm .bt.bl{background:rgba(0,122,255,.12);color:#007aff;grid-column:1/-1}
.app.smpm .bt.sec{background:rgba(224,57,46,.12);color:#e0392e}
.app.smpm .bt.ton{background:#e9e9ee}
.app.smpm .bts{display:flex;gap:4px;flex-wrap:wrap}
.app.smpm .stp{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.app.smpm .stp div{text-align:center}
.app.smpm .stp small{font-size:7px;color:#6e6e73;display:block;margin-bottom:2px}
.app.smpm .stp span{display:flex;justify-content:space-between;align-items:center;background:#e9e9ee;border-radius:7px;padding:0 6px;color:#007aff;font-weight:700;font-size:11px}
.app.smpm .stp b{color:#1c1c1e;font-size:10px}
.app.smpm .vic{border:1px solid rgba(60,60,67,.12);background:#f7f7fa;border-radius:9px;padding:7px 8px}
.app.smpm .vic > b{display:flex;align-items:center;gap:5px;font-size:9.5px;margin-bottom:4px}
.app.smpm .vic > b i{width:16px;height:16px;border-radius:50%;background:#e0392e;color:#fff;font-size:7.5px;display:inline-flex;align-items:center;justify-content:center;font-style:normal}
.app.smpm .vq{display:flex;justify-content:space-between;align-items:center;font-size:8.5px;padding:3px 0}
.app.smpm .seg{display:inline-flex;background:#e9e9ee;border-radius:7px;padding:2px}
.app.smpm .seg em{font-style:normal;padding:2px 9px;border-radius:5px;font-size:8.5px;font-weight:600;color:#6e6e73}
.app.smpm .seg em.oui{background:#fff;color:#34a853;box-shadow:0 1px 4px rgba(0,0,0,.14)}
.app.smpm .seg em.non{background:#fff;color:#e0392e;box-shadow:0 1px 4px rgba(0,0,0,.14)}
.app.smpm .je{display:flex;gap:6px;align-items:flex-start;font-size:9px}
.app.smpm .je .t{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:7.5px;color:#aeaeb2;width:30px;flex:none;padding-top:5px}
.app.smpm .jb{background:#e9e9ee;border-radius:3px 10px 10px 10px;padding:5px 9px;flex:1}
.app.smpm .jb .w{display:block;font-size:7.5px;font-weight:700;color:#e0392e}
.app.smpm .je.sys{font-style:italic;color:#6e6e73;font-size:8.5px}
@media (max-width:640px){.app.cis{grid-template-columns:1fr}.app.cis .rail{display:none}.app.cis .deux-c,.app.cis .kpi{grid-template-columns:1fr 1fr}.app.meca .vg{grid-template-columns:1fr 1fr}.app.smpm{grid-template-columns:1fr}.app.smpm .sb2{display:none}.app.smpm .g2c{grid-template-columns:1fr}}
