.terrain-mission{border-radius:16px;padding:1rem;background:linear-gradient(135deg,#061a35,#0b3766);color:white;margin:1rem 0}.terrain-mission h3,.terrain-mission p{margin:.25rem 0}.terrain-mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.8rem}.terrain-mission-grid div{background:rgba(255,255,255,.1);border-radius:10px;padding:.7rem}.terrain-extra-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1rem 0}.terrain-extra-actions button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:.8rem .45rem;color:#15304f;font-weight:850}.terrain-extra-actions span{display:block;font-size:1.2rem;margin-bottom:.25rem}.incident-photo{width:100%;max-height:250px;object-fit:cover;border-radius:13px;margin-top:.6rem}.terrain-history-card{background:white;border:1px solid var(--line);border-radius:13px;padding:.85rem;margin:.65rem 0}.terrain-history-card small{display:block;color:var(--muted);margin-top:.3rem}@media(max-width:520px){.terrain-extra-actions{grid-template-columns:1fr}.terrain-mission-grid{grid-template-columns:1fr 1fr}}
.terrain-revenue-summary{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0}.terrain-revenue-summary article{background:linear-gradient(135deg,#072247,#0a5590);color:#fff;border-radius:15px;padding:1rem}.terrain-revenue-summary small{display:block;opacity:.8}.terrain-revenue-summary b{display:block;font-size:1.25rem;margin-top:.3rem}.terrain-receipt{background:#fff;border:1px solid var(--line);border-left:5px solid #12a8d2;border-radius:13px;padding:.85rem;margin:.7rem 0}.terrain-receipt-head{display:flex;justify-content:space-between;gap:.5rem;align-items:start}.terrain-receipt p{margin:.35rem 0}.terrain-receipt-actions{display:flex;gap:.5rem;margin-top:.6rem}.terrain-receipt-actions button{border:0;border-radius:9px;padding:.55rem .7rem;font-weight:800;background:#eaf4ff;color:#0758a5}.terrain-empty{padding:1rem;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}

/* Version 20261006-45 — animations légères des cartes */
@keyframes snikCardIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes snikProgressIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.terrain-body .agent-card,.terrain-body .goal-card,.terrain-body .terrain-kpi,.terrain-body .terrain-action,.terrain-body .terrain-extra-actions button,.terrain-body .sync-card,.terrain-body .terrain-history-card,.terrain-body .terrain-receipt,.terrain-body .terrain-revenue-summary article{animation:snikCardIn .42s cubic-bezier(.2,.75,.25,1) both;transform-origin:center}
.terrain-body .terrain-kpi:nth-child(2),.terrain-body .terrain-action:nth-child(2),.terrain-body .terrain-extra-actions button:nth-child(2){animation-delay:.055s}
.terrain-body .terrain-kpi:nth-child(3),.terrain-body .terrain-action:nth-child(3),.terrain-body .terrain-extra-actions button:nth-child(3){animation-delay:.11s}
.terrain-body .terrain-kpi:nth-child(4),.terrain-body .terrain-action:nth-child(4){animation-delay:.165s}
.terrain-body .progress-fill{transform-origin:left;animation:snikProgressIn .75s .2s cubic-bezier(.2,.75,.25,1) both}
.terrain-action,.terrain-kpi,.terrain-extra-actions button,.terrain-history-card,.terrain-receipt,.goal-card,.sync-card,.terrain-revenue-summary article{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,filter .22s ease}
.terrain-action:hover,.terrain-extra-actions button:hover,.terrain-history-card:hover,.terrain-receipt:hover,.goal-card:hover,.sync-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(7,38,73,.12);border-color:#b9d9e8}
.terrain-kpi:hover,.terrain-revenue-summary article:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 14px 28px rgba(7,38,73,.13)}
.terrain-action:active,.terrain-extra-actions button:active,.terrain-tabs button:active{transform:scale(.97);transition-duration:.08s}
.terrain-tabs button{transition:color .2s ease,transform .2s ease}.terrain-tabs button.active span{filter:drop-shadow(0 4px 7px rgba(7,151,189,.28));transform:translateY(-1px)}
@media(hover:none){.terrain-action:hover,.terrain-extra-actions button:hover,.terrain-history-card:hover,.terrain-receipt:hover,.goal-card:hover,.sync-card:hover,.terrain-kpi:hover,.terrain-revenue-summary article:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.terrain-body *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.content-wrap>.kpi-grid .kpi,.content-wrap>.mini-kpis .mini-kpi,.content-wrap>.dashboard-grid>.panel,.content-wrap>.panel,.content-wrap>.module-grid>.panel{animation:snikCardIn .4s cubic-bezier(.2,.75,.25,1) both;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.content-wrap>.kpi-grid .kpi:nth-child(2),.content-wrap>.mini-kpis .mini-kpi:nth-child(2){animation-delay:.05s}.content-wrap>.kpi-grid .kpi:nth-child(3),.content-wrap>.mini-kpis .mini-kpi:nth-child(3){animation-delay:.1s}.content-wrap>.kpi-grid .kpi:nth-child(4){animation-delay:.15s}
.content-wrap>.kpi-grid .kpi:hover,.content-wrap>.mini-kpis .mini-kpi:hover,.content-wrap>.dashboard-grid>.panel:hover,.content-wrap>.module-grid>.panel:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(18,38,63,.1);border-color:#cbdbea}
@media(prefers-reduced-motion:reduce){.content-wrap *{animation:none!important;transition:none!important}}

/* Version 20261006-47 — accès au profil et à la déconnexion sur téléphone */
@media(max-width:780px){.topbar-actions .profile-button{display:flex!important;border-left:0;padding:0;background:transparent}.topbar-actions .profile-button .avatar{display:grid!important;width:38px;height:38px;border-radius:11px}.topbar-actions .profile-button span:not(.avatar),.topbar-actions .profile-button i{display:none!important}.drawer #logoutBtn{display:block;width:100%;margin-top:.8rem;padding:.75rem;color:#b82f3d;border-color:#efc7cd;background:#fff7f8}}
