:root{--fond: #f3f4f6;--surface: #ffffff;--encre: #1f2933;--doux: #6b7280;--bord: #e5e7eb;--primaire: #e8590c;--primaire-fonce: #c2410c;--sombre: #1f2933;--ok: #2f9e44;--attente: #f08c00;--danger: #e03131;--rayon: 12px}*{box-sizing:border-box}html,body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fond);color:var(--encre);font-size:15px;-webkit-tap-highlight-color:transparent}h1{font-size:1.35rem;margin:0}h2{font-size:1.15rem;margin:0 0 12px}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--bord);border-radius:10px;background:#fff;color:var(--encre);margin-top:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--primaire);border-color:transparent}label{display:block;font-size:.85rem;color:var(--doux);margin-bottom:12px}code{background:var(--fond);padding:2px 6px;border-radius:6px;font-size:.85em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;border:1px solid var(--bord);background:#fff;color:var(--encre);cursor:pointer;text-decoration:none;font-weight:600}.btn.primaire{background:var(--primaire);color:#fff;border-color:var(--primaire)}.btn.primaire:hover{background:var(--primaire-fonce)}.btn.whatsapp{background:#25d366;color:#fff;border-color:#25d366}.btn.plein{width:100%;margin-top:8px}.btn.petit{padding:6px 10px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:wait}.lien{background:none;border:0;color:var(--primaire);cursor:pointer;padding:6px;font-weight:600}.erreur{color:var(--danger);font-size:.9rem}.succes{color:var(--ok);font-size:.9rem}.note{color:var(--doux);font-size:.9rem}.vide{color:var(--doux);text-align:center;padding:16px 0}.carte{background:var(--surface);border-radius:var(--rayon);padding:18px;border:1px solid var(--bord)}.ecran-auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--sombre)}.carte.auth{width:100%;max-width:420px}.carte.auth.centre{text-align:center}.auth-tete{text-align:center;margin-bottom:16px;position:relative}.auth-tete img{width:64px;height:64px;border-radius:14px}.auth-tete p{color:var(--doux);margin:4px 0 0}.auth-tete .langue{position:absolute;top:0;right:0;font-size:.8rem}.bascule{text-align:center;font-size:.9rem;color:var(--doux)}.grosse-icone{font-size:3rem;margin-bottom:8px}.ligne2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mdp{position:relative}.mdp input{padding-right:44px}.mdp-oeil{position:absolute;right:6px;top:50%;transform:translateY(calc(-50% + 2px));background:none;border:0;color:var(--doux);cursor:pointer;padding:6px;display:flex}.app{min-height:100vh;padding-bottom:72px}.entete{position:sticky;top:0;z-index:10;background:var(--sombre);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;gap:8px}.marque{display:flex;align-items:center;gap:10px;min-width:0}.marque img{width:34px;height:34px;border-radius:8px}.marque div{display:flex;flex-direction:column;min-width:0}.marque small{color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entete-actions{display:flex;align-items:center;gap:4px}.entete .lien{color:#fff;font-size:1rem}.reseau{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;padding:4px 9px;border-radius:99px;background:#ffffff1a;white-space:nowrap}.reseau i{width:8px;height:8px;border-radius:50%;background:currentColor}.reseau.ok{color:#69db7c}.reseau.off{color:#ffa94d}.reseau.sync{color:#74c0fc}.nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;background:var(--surface);border-top:1px solid var(--bord);padding-bottom:env(safe-area-inset-bottom)}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:none;border:0;color:var(--doux);cursor:pointer;font-size:.75rem}.nav button.actif{color:var(--primaire)}.contenu{padding:16px;max-width:1000px;margin:0 auto}@media (min-width: 900px){.app{padding-bottom:0;padding-left:210px}.nav{top:54px;right:auto;width:210px;flex-direction:column;border-top:0;border-right:1px solid var(--bord);padding:12px 8px}.nav button{flex:none;flex-direction:row;gap:10px;padding:11px 12px;border-radius:10px;font-size:.95rem}.nav button.actif{background:#fff4e6}.contenu{padding:24px}}.titre-page{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}.pastille{background:#fff4e6;color:var(--primaire-fonce);padding:4px 10px;border-radius:99px;font-size:.8rem;font-weight:600;white-space:nowrap}.grille-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}.module{display:flex;flex-direction:column;gap:6px}.module.desactive{opacity:.7}.module-ic{font-size:1.7rem}.module small{color:var(--doux)}.onglets{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.onglets button{flex:none;padding:8px 14px;border-radius:99px;border:1px solid var(--bord);background:#fff;cursor:pointer;color:var(--encre);font-weight:600}.onglets button.actif{background:var(--sombre);color:#fff;border-color:var(--sombre)}.formulaire{max-width:640px}.barre{display:flex;justify-content:flex-end;margin-bottom:10px}.sous-form{background:var(--fond);border-radius:10px;padding:14px;margin-bottom:12px}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.actions select{width:auto;margin:0;padding:6px 8px}.liste{list-style:none;margin:0;padding:0}.liste li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--bord)}.liste li:last-child{border-bottom:0}.liste li div:first-child{display:flex;flex-direction:column;min-width:0}.liste small{color:var(--doux)}.liste li.inactif{opacity:.5}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:50;background:var(--sombre);color:#fff;padding:11px 18px;border-radius:10px;box-shadow:0 6px 20px #00000040;max-width:calc(100% - 32px);cursor:pointer}.chargement{min-height:100vh;display:grid;place-items:center;background:var(--sombre)}.roue{width:42px;height:42px;border:4px solid rgba(255,255,255,.2);border-top-color:var(--primaire);border-radius:50%;animation:tourne .8s linear infinite}@keyframes tourne{to{transform:rotate(360deg)}}@media (max-width: 480px){.ligne2{grid-template-columns:1fr;gap:0}}
