/* Fases 79–80 — cards visuais reutilizáveis do dashboard e acesso rápido. */
.ft-dashboard-visual-card{
  --ft-card-accent:var(--ft-info,#5aa9ff);
  --ft-card-accent-soft:color-mix(in srgb,var(--ft-card-accent) 14%,transparent);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.ft-dashboard-visual-card::after{
  content:"";
  position:absolute;
  width:132px;
  height:132px;
  right:-48px;
  top:-54px;
  border-radius:50%;
  background:radial-gradient(circle,var(--ft-card-accent-soft),transparent 70%);
  pointer-events:none;
  z-index:-1;
}
.ft-dashboard-visual-card[data-card-variant="cyan"]{--ft-card-accent:#29c9e8}
.ft-dashboard-visual-card[data-card-variant="blue"]{--ft-card-accent:#4d91ff}
.ft-dashboard-visual-card[data-card-variant="purple"]{--ft-card-accent:#8a78ff}
.ft-dashboard-visual-card[data-card-variant="orange"]{--ft-card-accent:#ff7b2f}
.ft-dashboard-visual-card[data-card-variant="green"]{--ft-card-accent:#55d394}
.ft-dashboard-visual-card[data-card-variant="rose"]{--ft-card-accent:#ff6680}

.ft-card-art,.ft-premium-action.ft-dashboard-visual-card .ft-premium-action-icon{
  position:absolute;
  right:14px;
  top:14px;
  bottom:auto;
  left:auto;
  width:58px;
  height:58px;
  border-radius:19px;
  display:grid;
  place-items:center;
  color:var(--ft-card-accent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--ft-card-accent) 18%,var(--ft-surface-elevated)),color-mix(in srgb,var(--ft-card-accent) 5%,var(--ft-surface-1)));
  border:1px solid color-mix(in srgb,var(--ft-card-accent) 24%,var(--ft-border));
  box-shadow:0 10px 28px color-mix(in srgb,var(--ft-card-accent) 12%,transparent);
  z-index:1;
  font-size:0;
}
.ft-dashboard-card-svg{width:31px;height:31px;display:block}
.ft-dashboard-visual-card[data-card-motion="float"] .ft-dashboard-card-svg{animation:ft-card-float 4.2s ease-in-out infinite}
.ft-dashboard-visual-card[data-card-motion="pulse"] .ft-card-art,
.ft-dashboard-visual-card[data-card-motion="pulse"] .ft-premium-action-icon{animation:ft-card-pulse 3.8s ease-in-out infinite}
.ft-dashboard-visual-card[data-card-motion="slide"] .ft-dashboard-card-svg{animation:ft-card-slide 3.9s ease-in-out infinite}
.ft-dashboard-visual-card[data-card-motion="tick"] .ft-dashboard-card-svg{animation:ft-card-tick 5s ease-in-out infinite;transform-origin:50% 50%}
.ft-dashboard-visual-card[data-card-motion="scan"] .ft-card-art::after,
.ft-dashboard-visual-card[data-card-motion="scan"] .ft-premium-action-icon::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  top:13px;
  height:2px;
  border-radius:999px;
  background:color-mix(in srgb,var(--ft-card-accent) 70%,white 30%);
  box-shadow:0 0 9px color-mix(in srgb,var(--ft-card-accent) 65%,transparent);
  animation:ft-card-scan 3.4s ease-in-out infinite;
}

#dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card,
#dashboard>.grid .stat.ft-dashboard-visual-card{
  min-height:148px!important;
  padding:20px 86px 18px 20px!important;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--ft-card-accent) 4%,var(--ft-surface-1)),var(--ft-surface-2))!important;
  border-color:color-mix(in srgb,var(--ft-card-accent) 14%,var(--ft-border))!important;
}
#dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card small,
#dashboard>.grid .stat.ft-dashboard-visual-card small{font-size:13px!important;letter-spacing:.045em;line-height:1.3}
#dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card strong,
#dashboard>.grid .stat.ft-dashboard-visual-card strong{font-size:40px!important;line-height:1;margin-top:20px!important}
#dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card:hover,
#dashboard>.grid .stat.ft-dashboard-visual-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px color-mix(in srgb,var(--ft-card-accent) 9%,rgba(0,0,0,.28))!important}

.ft-activity-grid{gap:12px!important}
.ft-activity-stat.ft-dashboard-visual-card{
  min-height:164px;
  padding:20px 84px 18px 20px!important;
  border-radius:22px!important;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--ft-card-accent) 4%,var(--ft-surface-1)),var(--ft-surface-2))!important;
  border-color:color-mix(in srgb,var(--ft-card-accent) 14%,var(--ft-border))!important;
  box-shadow:var(--ft-shadow-sm);
}
.ft-activity-stat.ft-dashboard-visual-card small{display:block;font-size:13px!important;letter-spacing:.045em;line-height:1.25;color:var(--ft-text-soft)!important}
.ft-activity-stat.ft-dashboard-visual-card strong{display:block;font-size:38px!important;line-height:1;margin-top:22px!important;color:var(--ft-text)}
.ft-activity-stat.ft-dashboard-visual-card .ft-activity-detail{font-size:12px!important;line-height:1.4;margin-top:8px;max-width:190px}
.ft-activity-stat.ft-dashboard-visual-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ft-card-accent) 36%,var(--ft-border));box-shadow:0 16px 34px color-mix(in srgb,var(--ft-card-accent) 9%,rgba(0,0,0,.25))}
.ft-activity-stat.ft-dashboard-visual-card:focus-visible{outline:3px solid color-mix(in srgb,var(--ft-card-accent) 72%,white 28%);outline-offset:3px}

.ft-activity-loading-card{
  min-height:164px;
  border:1px solid var(--ft-border);
  border-radius:22px;
  background:var(--ft-surface-1);
  padding:20px;
  overflow:hidden;
  position:relative;
}
.ft-activity-loading-card::after{
  content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ft-text) 6%,transparent),transparent);
  animation:ft-card-skeleton 1.5s ease-in-out infinite;
}
.ft-activity-loading-card span{display:block;border-radius:999px;background:color-mix(in srgb,var(--ft-text) 7%,transparent)}
.ft-activity-loading-card span:first-child{width:44%;height:10px}.ft-activity-loading-card span:last-child{width:28%;height:34px;margin-top:28px}

.ft-premium-actions{gap:12px!important}
.ft-premium-action.ft-dashboard-visual-card{
  min-height:168px;
  padding:84px 18px 18px!important;
  border-radius:22px!important;
  justify-content:flex-end!important;
  background:
    linear-gradient(155deg,color-mix(in srgb,var(--ft-card-accent) 5%,var(--ft-surface-1)),var(--ft-surface-1) 58%,var(--ft-surface-2))!important;
  border-color:color-mix(in srgb,var(--ft-card-accent) 14%,var(--ft-border))!important;
}
.ft-premium-action.ft-dashboard-visual-card .ft-premium-action-icon{left:16px;right:auto;top:15px;bottom:auto;width:56px;height:56px;border-radius:18px;font-size:0!important}
.ft-premium-action.ft-dashboard-visual-card .ft-premium-action-copy{position:relative;z-index:1;min-width:0;padding-right:22px}
.ft-premium-action.ft-dashboard-visual-card b{font-size:15px!important;line-height:1.25}
.ft-premium-action.ft-dashboard-visual-card small{font-size:13px!important;line-height:1.45;margin-top:5px!important}
.ft-premium-action.ft-dashboard-visual-card .ft-premium-action-arrow{top:auto;right:16px;bottom:16px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--ft-card-accent-soft);color:var(--ft-card-accent);font-size:19px}
.ft-premium-action.ft-dashboard-visual-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ft-card-accent) 34%,var(--ft-border));box-shadow:0 17px 38px color-mix(in srgb,var(--ft-card-accent) 9%,rgba(0,0,0,.24))!important}
.ft-premium-action.ft-dashboard-visual-card:focus-visible{outline:3px solid color-mix(in srgb,var(--ft-card-accent) 72%,white 28%);outline-offset:3px}

html[data-theme="light"] .ft-dashboard-visual-card{
  --ft-card-accent-soft:color-mix(in srgb,var(--ft-card-accent) 12%,transparent);
}
html[data-theme="light"] .ft-activity-stat.ft-dashboard-visual-card,
html[data-theme="light"] .ft-premium-action.ft-dashboard-visual-card,
html[data-theme="light"] #dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card,
html[data-theme="light"] #dashboard>.grid .stat.ft-dashboard-visual-card{
  background:linear-gradient(150deg,color-mix(in srgb,var(--ft-card-accent) 5%,#fff),#fff 56%,color-mix(in srgb,var(--ft-card-accent) 2%,#f6f8fb))!important;
}

@keyframes ft-card-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(.8deg)}}
@keyframes ft-card-pulse{0%,100%{transform:scale(1);box-shadow:0 10px 28px color-mix(in srgb,var(--ft-card-accent) 12%,transparent)}50%{transform:scale(1.035);box-shadow:0 12px 34px color-mix(in srgb,var(--ft-card-accent) 19%,transparent)}}
@keyframes ft-card-slide{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes ft-card-tick{0%,86%,100%{transform:rotate(0)}92%{transform:rotate(8deg)}96%{transform:rotate(-3deg)}}
@keyframes ft-card-scan{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(28px);opacity:.95}}
@keyframes ft-card-skeleton{100%{transform:translateX(100%)}}

@media(max-width:1180px){
  .ft-premium-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .ft-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:10px!important}
  .ft-premium-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ft-premium-action.ft-dashboard-visual-card{min-height:158px}
}
@media(max-width:560px){
  .ft-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:8px!important}
  .ft-activity-stat.ft-dashboard-visual-card{min-height:154px;padding:16px 64px 14px 14px!important;border-radius:18px!important}
  .ft-activity-stat.ft-dashboard-visual-card .ft-card-art{width:48px;height:48px;right:11px;top:11px;border-radius:15px}
  .ft-activity-stat.ft-dashboard-visual-card .ft-dashboard-card-svg{width:28px;height:28px}
  .ft-activity-stat.ft-dashboard-visual-card small{font-size:14px!important}
  .ft-activity-stat.ft-dashboard-visual-card strong{font-size:34px!important;margin-top:20px!important}
  .ft-activity-stat.ft-dashboard-visual-card .ft-activity-detail{font-size:13px!important;max-width:150px}
  .ft-premium-action.ft-dashboard-visual-card{min-height:154px;padding:74px 14px 14px!important;border-radius:18px!important}
  .ft-premium-action.ft-dashboard-visual-card .ft-premium-action-icon{left:12px;top:12px;width:50px;height:50px;border-radius:16px}
  .ft-premium-action.ft-dashboard-visual-card .ft-dashboard-card-svg{width:29px;height:29px}
  .ft-premium-action.ft-dashboard-visual-card b{font-size:16px!important}
  .ft-premium-action.ft-dashboard-visual-card small{font-size:14px!important;line-height:1.4!important}
  #dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card,#dashboard>.grid .stat.ft-dashboard-visual-card{min-height:140px!important;padding:16px 68px 14px 14px!important}
  #dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card .ft-card-art,#dashboard>.grid .stat.ft-dashboard-visual-card .ft-card-art{width:50px;height:50px;right:11px;top:11px;border-radius:16px}
  #dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card .ft-dashboard-card-svg,#dashboard>.grid .stat.ft-dashboard-visual-card .ft-dashboard-card-svg{width:29px;height:29px}
  #dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card small,#dashboard>.grid .stat.ft-dashboard-visual-card small{font-size:15px!important;letter-spacing:.03em!important}
  #dashboard .ft-primary-metrics .stat.ft-dashboard-visual-card strong,#dashboard>.grid .stat.ft-dashboard-visual-card strong{font-size:36px!important;margin-top:18px!important}
}
@media(max-width:350px){
  .ft-activity-stat.ft-dashboard-visual-card{padding-right:58px!important}
  .ft-activity-stat.ft-dashboard-visual-card .ft-card-art{width:44px;height:44px}
  .ft-premium-action.ft-dashboard-visual-card{padding-left:12px!important;padding-right:12px!important}
}
@media(prefers-reduced-motion:reduce){
  .ft-dashboard-visual-card,.ft-dashboard-visual-card *{animation:none!important;transition-duration:.01ms!important}
  .ft-dashboard-visual-card:hover{transform:none!important}
}