/* m-corp.css (L120) — one calm, corporate motion system for the whole app. Loaded last.
   Rules: only opacity/transform; 160–280 ms; one easing; no looping decoration; nothing replays on a data refresh.
   Loaders (spinners, skeletons, progress) are the only things allowed to repeat. */
:root{--mo-ease:cubic-bezier(.2,0,0,1);--mo-fast:140ms;--mo-md:220ms;--mo-slow:300ms}

/* 1 — stop every decorative loop (pulse, ping, ring, glow, float, bob, twinkle, beat, shake…) */
html body *:not(.sk):not(.ui-skeleton):not(.lm-sk):not(.mg-skel):not(.unit-loading):not(.rf-spin):not(.rf-pull-ic):not(.is-loading):not(.busy):not(.lgx-go):not(.bh-sync):not(.search-status):not(.skel),
html body *:not(.sk):not(.ui-skeleton):not(.lm-sk):not(.mg-skel):not(.unit-loading):not(.rf-spin):not(.rf-pull-ic):not(.is-loading):not(.busy):not(.lgx-go):not(.bh-sync):not(.search-status):not(.skel)::before,
html body *:not(.sk):not(.ui-skeleton):not(.lm-sk):not(.mg-skel):not(.unit-loading):not(.rf-spin):not(.rf-pull-ic):not(.is-loading):not(.busy):not(.lgx-go):not(.bh-sync):not(.search-status):not(.skel)::after{animation-iteration-count:1!important}
html body .live,html body .live.beat,html body [class*="ping"],html body [class*="pulse"],html body [class*="glow"],html body .hx-aurora i,html body .hx-fab::before,
html body .dz-live i,html body .h3-live i,html body .tdok::before,html body .coach-ic{animation:none!important}
html body .ripple,html body .lm-ripple{display:none!important}

/* 2 — loaders: slower, softer, never a hard flash */
html body .sk::after,html body .ui-skeleton,html body .lm-sk{animation-duration:1.8s!important;animation-timing-function:ease-in-out!important}
html body .mg-skel{animation-duration:1.8s!important}

/* 3 — one entrance: soft fade + 8px rise, 280 ms, staggered 50 ms. Only used when arriving on a screen. */
@keyframes mo-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html body .cm-enter>*{animation:mo-rise var(--mo-slow) var(--mo-ease) both}
html body .cm-enter>*:nth-child(2){animation-delay:50ms}
html body .cm-enter>*:nth-child(3){animation-delay:100ms}
html body .cm-enter>*:nth-child(4){animation-delay:150ms}
html body .cm-enter>*:nth-child(5){animation-delay:200ms}
html body .cm-enter>*:nth-child(6){animation-delay:250ms}
html body .h3-p{animation:none!important}
html body .lf-enter,html body .sk-in{animation-duration:var(--mo-slow)!important;animation-timing-function:var(--mo-ease)!important}
html body .lm-row-enter{animation:mo-rise var(--mo-md) var(--mo-ease) both!important}
html body .lm-stage-change{animation:none!important}

/* 4 — interaction: calm hover / press on every tappable card, row and button */
html body :is(.cm-k,.cm-m,.cm-go,.cm-n,.cm-who,.cm-nudge,.h3-sb,.kpi,.btn,.lead,.kc,.dz-k,.dz-tr,.dz-rl){transition:transform var(--mo-fast) var(--mo-ease),box-shadow var(--mo-md) var(--mo-ease),background-color var(--mo-md) var(--mo-ease),border-color var(--mo-md) var(--mo-ease),color var(--mo-md) var(--mo-ease)}
@media (hover:hover){
  html body :is(.cm-k,.cm-m):hover{transform:translateY(-2px);box-shadow:var(--sh-2,var(--sh-1));border-color:var(--ln-strong)}
  html body .cm-go:hover{background:var(--c-sand-light,var(--c-sand))}
  html body :is(.cm-n,.cm-who):hover{background:var(--bg-tint-2,transparent)}
}
html body :is(.cm-k,.cm-m,.cm-go,.cm-n,.cm-nudge):active{transform:scale(.98)}
html body :is(.cm-k,.cm-m,.cm-go,.cm-n,.cm-who,.cm-nudge):focus-visible{outline:2px solid var(--c-sand);outline-offset:2px}

/* 5 — the list a Home number opens: a clear title bar with a way back */
.kf-bar{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--ln);border-inline-start:3px solid var(--c-sand);border-radius:var(--rd-md);background:var(--bg-surface);animation:mo-rise var(--mo-md) var(--mo-ease) both}
.kf-bar div{flex:1;min-width:0}
.kf-bar b{display:block;font:var(--fw-bold) var(--fs-md)/1.2 var(--font-head);color:var(--tx-strong)}
.kf-bar small{display:block;font-size:var(--fs-xs);color:var(--tx-muted)}
.kf-bar button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--ln-strong);border-radius:var(--rd-pill);background:var(--bg-surface);color:var(--c-starlight);font-size:var(--fs-sm);font-weight:var(--fw-med);white-space:nowrap}
.kf-bar button.p{background:var(--c-starlight);border-color:var(--c-starlight);color:#fff}

@media (prefers-reduced-motion:reduce){
  html body *,html body *::before,html body *::after{animation-duration:1ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:1ms!important}
}

/* 6 — the month menu reused outside the leads list (Home, My day): same button, same menu, same look as in Leads */
html body main .lf-top.mo-solo{position:relative;display:flex;justify-content:flex-end;align-items:center;flex:none;width:auto;min-height:0;height:auto;margin:0 0 var(--sp-2);padding:0;border:0;background:none;box-shadow:none;overflow:visible;z-index:30}
html body main .lf-top.mo-solo .lf-mo-wrap{position:relative;top:auto;inset-inline-end:auto;inset-inline-start:auto;order:0;display:block;flex:none}
html body main .lf-top.mo-solo .lf-mo-pop{top:calc(100% + 6px);inset-inline-end:0}
.cm-mo{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}
.cm-mo>span{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--tx-muted)}
.cm-mo .mo-solo{margin:0!important}
