/* F25 cards 1-10 (app-dev). Light app mocks, CSS only. Default = final state; .f25-in plays a gentle 7 s loop. */
.f25a{position:relative;box-sizing:border-box;height:160px;overflow:hidden;padding:10px 12px;border-radius:14px;background:#fff;
  border:1px solid #E3E6EA;color:#13223F;font-size:11.5px;line-height:1.35;text-align:left;
  box-shadow:inset 0 -10px 24px -18px rgba(11,20,38,.22),0 10px 24px -16px rgba(11,20,38,.35);
  --f25a-ink:#13223F;--f25a-blue:#2B5C9E;--f25a-sky:#49B4F0;--f25a-s2:#EFF3F6;--f25a-line:#E3E6EA}
.f25a *,.f25a *::before{box-sizing:border-box}
.f25a :is(b,small,span,p){color:inherit}
.f25a p{margin:0}
.f25a-ic{width:16px;height:16px;flex:none;display:block}
.f25a-bar{display:flex;align-items:center;gap:6px;padding-bottom:7px;margin-bottom:8px;border-bottom:1px solid var(--f25a-line);font-size:12px}
.f25a-tm{margin-left:auto;color:#5E6878;font-size:11px}
.f25a-dot{width:8px;height:8px;border-radius:50%;background:var(--f25a-sky)}
.f25a-red{background:#E5484D}
.f25a-ln{display:block;height:6px;border-radius:3px;background:var(--f25a-s2);width:100%}
.f25a-ln.f25a-s{width:60%}
.f25a-pop{position:absolute;right:12px;bottom:12px}
.f25a-pop .f25a-ic{width:26px;height:26px}
/* bubbles */
.f25a-in-b,.f25a-out-b{max-width:84%;padding:7px 10px;border-radius:12px 12px 12px 4px;background:var(--f25a-s2);margin-bottom:6px}
.f25a-out-b{margin-left:auto;border-radius:12px 12px 4px 12px;background:var(--f25a-blue);color:#fff!important;font-weight:700;width:max-content}
.f25a-ok{border:1px solid var(--f25a-sky);background:#EAF6FD}
.f25a-3 .f25a-in-b{font-size:11px}
/* 1 receipt */
.f25a-mail{display:flex;flex-direction:column;gap:2px}
.f25a-rcpt{display:flex;flex-direction:column;gap:5px;margin-top:9px;width:62%;padding:8px;border:1px dashed var(--f25a-line);border-radius:8px}
/* 4 deposit */
.f25a-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:12px}
.f25a-cal i{height:22px;border-radius:6px;background:var(--f25a-s2)}
.f25a-cal i.f25a-on{background:#F2C94C}
.f25a-shield{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;background:#EAF6FD;font-weight:600}
.f25a-shield .f25a-ic{width:20px;height:20px}
/* 5 late cancel */
.f25a-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.f25a-row .f25a-ln{flex:1}
.f25a-x{width:18px;height:18px;border-radius:50%;background:#FDECEC;color:#E5484D!important;display:grid;place-items:center;font-weight:700}
.f25a-doc{display:flex;flex-direction:column;gap:5px;width:58%;padding:8px;border-radius:8px;border:1px solid var(--f25a-line);background:#fff;box-shadow:0 6px 14px -10px rgba(11,20,38,.4)}
.f25a-doc b{color:var(--f25a-blue)!important}
/* 6 tiles */
.f25a-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.f25a-tile{display:flex;flex-direction:column;justify-content:space-between;gap:6px;height:96px;padding:8px;border-radius:10px;background:var(--f25a-s2)}
.f25a-tile small{font-size:10.5px;color:#4A5568!important}
.f25a-num{display:block;height:26px;overflow:hidden;font-size:24px;font-weight:700;line-height:26px;color:var(--f25a-blue)!important}
.f25a-roll{display:block;transform:translateY(-156px)}
.f25a-roll.f25a-r2{transform:translateY(-52px)}
.f25a-bars{display:flex;align-items:flex-end;gap:4px;height:26px}
.f25a-bars i{flex:1;border-radius:3px;background:var(--f25a-sky);transform-origin:bottom}
.f25a-bars i:nth-child(1){height:45%}.f25a-bars i:nth-child(2){height:70%}.f25a-bars i:nth-child(3){height:100%;background:var(--f25a-blue)}
/* 7 extras */
.f25a-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.f25a-chips span{padding:5px 9px;border-radius:999px;border:1px solid var(--f25a-line);font-size:11px}
.f25a-chips .f25a-tap{background:var(--f25a-blue);border-color:var(--f25a-blue);color:#fff!important;font-weight:600}
.f25a-finger{position:absolute;left:96px;top:24px;width:22px;height:22px;border-radius:50%;background:rgba(73,180,240,.35);border:2px solid var(--f25a-sky);opacity:0;pointer-events:none}
.f25a-check{padding:8px;border-radius:10px;background:var(--f25a-s2)}
.f25a-check small{display:block;margin-bottom:5px;font-weight:700}
.f25a-check .f25a-row{margin-bottom:5px}
.f25a-box{width:12px;height:12px;border-radius:3px;border:1.5px solid var(--f25a-blue);flex:none}
.f25a-new .f25a-box{background:var(--f25a-blue)}
/* 8 route */
.f25a-route{position:relative;padding-left:22px;display:flex;flex-direction:column;gap:3px}
.f25a-line{position:absolute;left:6px;top:8px;bottom:10px;width:2px;background:linear-gradient(var(--f25a-sky),var(--f25a-blue));transform-origin:top}
.f25a-stop{position:relative;display:flex;align-items:center;padding:6px 9px;border-radius:9px;background:var(--f25a-s2);font-size:12px}
.f25a-stop i{position:absolute;left:-21px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--f25a-blue)}
.f25a-drive{display:flex;align-items:center;gap:6px;padding-left:4px;height:16px}
.f25a-drive .f25a-ln{width:40px;height:4px}
.f25a-car{width:14px;height:14px}
/* 9 profit (figures blurred: copywriter's open question) */
.f25a-cost{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;margin-bottom:10px}
.f25a-blur{display:block;height:9px;width:70%;border-radius:4px;background:linear-gradient(90deg,#C9D3DE,#E3E6EA);filter:blur(1.5px);justify-self:end;transform-origin:right}
.f25a-vs{display:flex;flex-direction:column;gap:4px}
.f25a-pb{display:block;height:10px;border-radius:5px;background:var(--f25a-s2);overflow:hidden}
.f25a-pg{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--f25a-blue) 62%,var(--f25a-sky) 62%);transform-origin:left}
/* 10 payroll */
.f25a-people{display:flex;gap:5px;margin-bottom:10px}
.f25a-people span{padding:4px 8px;border-radius:999px;background:var(--f25a-s2);font-size:11px}
.f25a-btn{display:inline-block;padding:8px 14px;border-radius:10px;background:#F2C94C;color:#13223F!important;font-weight:700}
.f25a-f10{left:70px;top:52px}
.f25a-file{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;border:1px solid var(--f25a-line);background:#fff;box-shadow:0 8px 18px -10px rgba(11,20,38,.45);font-size:11px}

/* ===== motion: only inside .f25-in, transform/opacity only, 7 s loop ===== */
@keyframes f25a-k1{0%,6%{opacity:0;transform:translateY(8px)}14%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes f25a-k2{0%,24%{opacity:0;transform:translateY(8px)}32%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes f25a-k3{0%,42%{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.08)}54%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes f25a-tapk{0%,18%{opacity:0;transform:scale(1.6)}26%{opacity:1;transform:scale(1)}34%,100%{opacity:0;transform:scale(.8)}}
@keyframes f25a-chip{0%,24%{background:#fff;color:#13223F}28%,100%{}}
@keyframes f25a-chipk{0%,25%{transform:scale(1)}29%{transform:scale(.92)}33%,100%{transform:scale(1)}}
@keyframes f25a-roll6{0%,8%{transform:translateY(0)}40%,100%{transform:translateY(-156px)}}
@keyframes f25a-roll2{0%,8%{transform:translateY(0)}30%,100%{transform:translateY(-52px)}}
@keyframes f25a-grow{0%,8%{transform:scaleY(.05)}36%,100%{transform:none}}
@keyframes f25a-growx{0%,12%{transform:scaleX(.05)}44%,90%{transform:none}97%,100%{transform:scaleX(.05)}}
@keyframes f25a-draw{0%,4%{transform:scaleY(0)}48%,100%{transform:none}}
@keyframes f25a-fly{0%,40%{opacity:0;transform:translate(-60px,10px) scale(.7)}52%,90%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes f25a-tap10{0%,16%{opacity:0;transform:scale(1.6)}24%{opacity:1;transform:scale(1)}32%,100%{opacity:0}}
@keyframes f25a-press{0%,22%{transform:none}26%{transform:scale(.94)}30%,100%{transform:none}}
.f25-in .f25a-a1{animation:f25a-k1 7s ease-out infinite}
.f25-in .f25a-a2{animation:f25a-k2 7s ease-out infinite}
.f25-in .f25a-a3{animation:f25a-k3 7s cubic-bezier(.2,.8,.2,1) infinite}
.f25-in .f25a-blur{animation:f25a-growx 7s ease-out infinite}
.f25-in .f25a-pg{animation:f25a-growx 7s ease-out infinite}
.f25-in .f25a-finger{animation:f25a-tapk 7s ease-out infinite}
.f25-in .f25a-tap{animation:f25a-chipk 7s ease-out infinite}
.f25-in .f25a-new{animation:f25a-k2 7s ease-out infinite}
.f25-in .f25a-roll{animation:f25a-roll6 7s steps(6,end) infinite}
.f25-in .f25a-roll.f25a-r2{animation:f25a-roll2 7s steps(2,end) infinite}
.f25-in .f25a-bars i{animation:f25a-grow 7s ease-out infinite}
.f25-in .f25a-line{animation:f25a-draw 7s ease-out infinite}
.f25-in .f25a-f10{animation:f25a-tap10 7s ease-out infinite}
.f25-in .f25a-btn{animation:f25a-press 7s ease-out infinite}
.f25-in .f25a-file{animation:f25a-fly 7s cubic-bezier(.2,.8,.2,1) infinite}
@media (prefers-reduced-motion:reduce){.f25a *{animation:none!important}}
.f25a-check .f25a-ln{background:#fff}
