/* ============================================================
   FinderPro · Design System "PRISMA" — dark-first, glass, cyan→violet
   Same-origin, zero external requests. Prefixo --fp-* / classes .fp-*
   ============================================================ */
:root{
  color-scheme: dark light;
  --fp-bg-0:#0A0B0F; --fp-bg-1:#0F1117; --fp-bg-2:#151824; --fp-bg-3:#1B1F2E;
  --fp-bg-glass:rgba(21,24,36,0.62); --fp-bg-inset:#07080B;
  --fp-border-subtle:rgba(160,172,208,0.10); --fp-border:rgba(160,172,208,0.16); --fp-border-strong:rgba(160,172,208,0.30);
  --fp-edge:inset 0 1px 0 rgba(255,255,255,0.05);
  --fp-text:#EEF1FA; --fp-text-2:#A9B1C7; --fp-text-muted:#737C96; --fp-text-inv:#0A0B0F;
  --fp-cyan-300:#7FF0FF; --fp-cyan-400:#2DE2FF; --fp-violet-400:#9285FF; --fp-violet-500:#7C6CFF;
  --fp-grad:linear-gradient(135deg,#2DE2FF 0%,#7C6CFF 100%);
  --fp-grad-soft:linear-gradient(135deg,rgba(45,226,255,.16),rgba(124,108,255,.16));
  --fp-ok:#3DDC97; --fp-ok-bg:rgba(61,220,151,.12); --fp-ok-bd:rgba(61,220,151,.28);
  --fp-warn:#F5B85C; --fp-warn-bg:rgba(245,184,92,.12); --fp-warn-bd:rgba(245,184,92,.28);
  --fp-bad:#FB7185; --fp-bad-bg:rgba(251,113,133,.12); --fp-bad-bd:rgba(251,113,133,.28);
  --fp-info:#2DE2FF; --fp-info-bg:rgba(45,226,255,.10); --fp-info-bd:rgba(45,226,255,.25);
  --fp-font:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  --fp-mono:ui-monospace,"SF Mono","Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace;
  --fp-r-sm:8px; --fp-r:12px; --fp-r-lg:16px; --fp-r-xl:20px; --fp-r-pill:999px;
  --fp-sh:0 8px 30px rgba(0,0,0,.35); --fp-sh-sm:0 2px 10px rgba(0,0,0,.25);
  --fp-glow:0 0 0 1px rgba(45,226,255,.35),0 0 22px rgba(45,226,255,.18);
  --fp-dur:.2s; --fp-ease:cubic-bezier(.16,1,.3,1); --fp-spring:cubic-bezier(.34,1.56,.64,1);
}
:root[data-theme=light],:root:not([data-theme=dark]) .fp-lightauto{}
@media (prefers-color-scheme: light) and (min-width: 999999px){:root:not([data-theme=dark]){
  --fp-bg-0:#F4F6FB; --fp-bg-1:#fff; --fp-bg-2:#EEF1F8; --fp-bg-3:#fff; --fp-bg-inset:#E8ECF5;
  --fp-border-subtle:rgba(20,30,60,.07); --fp-border:rgba(20,30,60,.13); --fp-border-strong:rgba(20,30,60,.26);
  --fp-edge:none; --fp-text:#0B0D14; --fp-text-2:#454D63; --fp-text-muted:#61697F;
  --fp-cyan-400:#0891B2; --fp-violet-500:#5B4FE8; --fp-grad:linear-gradient(135deg,#0891B2,#5B4FE8); --fp-text-inv:#fff;
  --fp-ok:#047857;--fp-ok-bg:#ECFDF5;--fp-ok-bd:rgba(4,120,87,.3);
  --fp-warn:#B45309;--fp-warn-bg:#FFF7E6;--fp-warn-bd:rgba(180,83,9,.3);
  --fp-bad:#BE123C;--fp-bad-bg:#FFF1F2;--fp-bad-bd:rgba(190,18,60,.3);
  --fp-info:#0E7490;--fp-info-bg:#ECFEFF;--fp-info-bd:rgba(14,116,144,.3);
  --fp-sh:0 4px 16px rgba(11,13,20,.08); --fp-sh-sm:0 1px 4px rgba(11,13,20,.06); --fp-edge:none; --fp-glow:0 0 0 1px rgba(8,145,178,.4);
}}
:root[data-theme=light]{
  --fp-bg-0:#F4F6FB; --fp-bg-1:#fff; --fp-bg-2:#EEF1F8; --fp-bg-3:#fff; --fp-bg-inset:#E8ECF5;
  --fp-border-subtle:rgba(20,30,60,.07); --fp-border:rgba(20,30,60,.13); --fp-border-strong:rgba(20,30,60,.26);
  --fp-edge:none; --fp-text:#0B0D14; --fp-text-2:#454D63; --fp-text-muted:#61697F;
  --fp-cyan-400:#0891B2; --fp-violet-500:#5B4FE8; --fp-grad:linear-gradient(135deg,#0891B2,#5B4FE8); --fp-text-inv:#fff;
  --fp-ok:#047857;--fp-ok-bg:#ECFDF5;--fp-ok-bd:rgba(4,120,87,.3);
  --fp-warn:#B45309;--fp-warn-bg:#FFF7E6;--fp-warn-bd:rgba(180,83,9,.3);
  --fp-bad:#BE123C;--fp-bad-bg:#FFF1F2;--fp-bad-bd:rgba(190,18,60,.3);
  --fp-info:#0E7490;--fp-info-bg:#ECFEFF;--fp-info-bd:rgba(14,116,144,.3);
  --fp-sh:0 4px 16px rgba(11,13,20,.08); --fp-sh-sm:0 1px 4px rgba(11,13,20,.06); --fp-glow:0 0 0 1px rgba(8,145,178,.4);
}
/* ---- base canvas (aplica em quem adota .fp-app no body) ---- */
.fp-app{
  background:
    radial-gradient(60% 45% at 12% 0%, rgba(45,226,255,.07), transparent 60%),
    radial-gradient(55% 45% at 90% 5%, rgba(124,108,255,.08), transparent 60%),
    var(--fp-bg-0);
  color:var(--fp-text); font-family:var(--fp-font);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.fp-app ::selection{background:rgba(124,108,255,.35);color:#fff}
.fp-grid-bg{background-image:linear-gradient(var(--fp-border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--fp-border-subtle) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
/* scrollbar */
.fp-app ::-webkit-scrollbar{width:10px;height:10px}
.fp-app ::-webkit-scrollbar-thumb{background:var(--fp-border-strong);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
.fp-app ::-webkit-scrollbar-thumb:hover{background:var(--fp-text-muted)}
/* ---- tipografia utilit. ---- */
.fp-h1{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--fp-text)}
.fp-h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:700;letter-spacing:-.015em;color:var(--fp-text)}
.fp-h3{font-size:1.15rem;font-weight:650;color:var(--fp-text)}
.fp-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--fp-text-muted);font-weight:600}
.fp-muted{color:var(--fp-text-muted)} .fp-sub{color:var(--fp-text-2)}
.fp-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.fp-gradtext{background:var(--fp-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.fp-mono{font-family:var(--fp-mono)}
/* ---- layout ---- */
.fp-container{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.fp-stack{display:flex;flex-direction:column;gap:16px}
.fp-row{display:flex;align-items:center;gap:12px}
.fp-grid{display:grid;gap:16px}
/* ---- superfícies ---- */
.fp-card{background:var(--fp-bg-1);border:1px solid var(--fp-border-subtle);border-radius:var(--fp-r-lg);box-shadow:var(--fp-edge),var(--fp-sh-sm);padding:20px}
.fp-card-2{background:var(--fp-bg-2)}
.fp-glass{background:var(--fp-bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--fp-border);border-radius:var(--fp-r-lg);box-shadow:var(--fp-edge),var(--fp-sh)}
.fp-inset{background:var(--fp-bg-inset);border-radius:var(--fp-r);border:1px solid var(--fp-border-subtle)}
.fp-hover-lift{transition:transform var(--fp-dur) var(--fp-ease),border-color var(--fp-dur),box-shadow var(--fp-dur)}
.fp-hover-lift:hover{transform:translateY(-2px);border-color:var(--fp-border-strong);box-shadow:var(--fp-edge),var(--fp-sh)}
/* ---- botões ---- */
.fp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:.92rem;line-height:1;padding:11px 18px;border-radius:var(--fp-r);border:1px solid var(--fp-border);background:var(--fp-bg-2);color:var(--fp-text);cursor:pointer;transition:all var(--fp-dur) var(--fp-ease);text-decoration:none;white-space:nowrap}
.fp-btn:hover{border-color:var(--fp-border-strong);background:var(--fp-bg-3);transform:translateY(-1px)}
.fp-btn:active{transform:translateY(0)}
.fp-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(45,226,255,.4)}
.fp-btn-primary{background:var(--fp-grad);color:var(--fp-text-inv);border-color:transparent;box-shadow:0 6px 20px rgba(124,108,255,.28)}
.fp-btn-primary:hover{filter:brightness(1.06);box-shadow:0 8px 26px rgba(124,108,255,.4);background:var(--fp-grad)}
.fp-btn-ghost{background:transparent;border-color:transparent}
.fp-btn-ghost:hover{background:var(--fp-bg-2)}
.fp-btn-danger{background:var(--fp-bad-bg);color:var(--fp-bad);border-color:var(--fp-bad-bd)}
.fp-btn-sm{padding:7px 12px;font-size:.82rem}
.fp-btn-lg{padding:14px 26px;font-size:1rem}
.fp-btn-block{width:100%}
/* ---- inputs ---- */
.fp-input,.fp-select,.fp-textarea{width:100%;font-family:inherit;font-size:.95rem;color:var(--fp-text);background:var(--fp-bg-2);border:1px solid var(--fp-border);border-radius:var(--fp-r);padding:11px 14px;transition:border-color var(--fp-dur),box-shadow var(--fp-dur);outline:none}
.fp-input::placeholder,.fp-textarea::placeholder{color:var(--fp-text-muted)}
.fp-input:focus,.fp-select:focus,.fp-textarea:focus{border-color:var(--fp-cyan-400);box-shadow:0 0 0 3px rgba(45,226,255,.18)}
.fp-label{display:block;font-size:.8rem;font-weight:600;color:var(--fp-text-2);margin-bottom:6px}
.fp-field{margin-bottom:16px}
/* ---- badges/chips ---- */
.fp-badge{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:var(--fp-r-pill);border:1px solid var(--fp-border);background:var(--fp-bg-2);color:var(--fp-text-2)}
.fp-badge::before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor;opacity:.9}
.fp-badge-ok{color:var(--fp-ok);background:var(--fp-ok-bg);border-color:var(--fp-ok-bd)}
.fp-badge-warn{color:var(--fp-warn);background:var(--fp-warn-bg);border-color:var(--fp-warn-bd)}
.fp-badge-bad{color:var(--fp-bad);background:var(--fp-bad-bg);border-color:var(--fp-bad-bd)}
.fp-badge-info{color:var(--fp-info);background:var(--fp-info-bg);border-color:var(--fp-info-bd)}
.fp-badge-plain::before{display:none}
/* ---- stat / KPI ---- */
.fp-stat{background:var(--fp-bg-1);border:1px solid var(--fp-border-subtle);border-radius:var(--fp-r-lg);padding:18px;box-shadow:var(--fp-edge)}
.fp-stat .k{font-size:.75rem;color:var(--fp-text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.fp-stat .v{font-size:1.9rem;font-weight:750;letter-spacing:-.02em;color:var(--fp-text);font-variant-numeric:tabular-nums;margin-top:4px}
.fp-stat .d{font-size:.8rem;margin-top:4px}
/* ---- tabela ---- */
.fp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}
.fp-table thead th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fp-text-muted);font-weight:600;padding:11px 14px;background:var(--fp-bg-2);border-bottom:1px solid var(--fp-border)}
.fp-table tbody td{padding:12px 14px;border-bottom:1px solid var(--fp-border-subtle);color:var(--fp-text-2)}
.fp-table tbody tr{transition:background var(--fp-dur)}
.fp-table tbody tr:hover{background:var(--fp-bg-2)}
.fp-table-wrap{overflow-x:auto;border:1px solid var(--fp-border-subtle);border-radius:var(--fp-r-lg);background:var(--fp-bg-1)}
/* ---- nav ---- */
.fp-sidebar{background:var(--fp-bg-1);border-right:1px solid var(--fp-border-subtle)}
.fp-navlink{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--fp-r);color:var(--fp-text-2);text-decoration:none;font-weight:550;font-size:.92rem;transition:all var(--fp-dur)}
.fp-navlink:hover{background:var(--fp-bg-2);color:var(--fp-text)}
.fp-navlink.active{background:var(--fp-grad-soft);color:var(--fp-text);border:1px solid var(--fp-border)}
.fp-topbar{background:var(--fp-bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--fp-border-subtle)}
/* ---- misc ---- */
.fp-divider{height:1px;background:var(--fp-border-subtle);border:0;margin:16px 0}
.fp-skeleton{background:linear-gradient(90deg,var(--fp-bg-2) 25%,var(--fp-bg-3) 37%,var(--fp-bg-2) 63%);background-size:400% 100%;animation:fp-shimmer 1.4s ease infinite;border-radius:var(--fp-r-sm)}
@keyframes fp-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.fp-fade{animation:fp-fade .4s var(--fp-ease) both}
@keyframes fp-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fp-link{color:var(--fp-cyan-400);text-decoration:none;font-weight:550}
.fp-link:hover{text-decoration:underline}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ============================================================
   RESKIN — remapeia o tema antigo (--hex-*, utilities Tailwind, base.html)
   pra Prisma. Carregado por ÚLTIMO => vence. Zero mudança de markup.
   ============================================================ */
:root{
  --hex-primary:#2DE2FF; --hex-primary-dark:#7C6CFF; --hex-primary-light:#7FF0FF; --hex-accent:#2DE2FF;
  --hex-bg-primary:var(--fp-bg-1); --hex-bg-secondary:var(--fp-bg-0); --hex-bg-tertiary:var(--fp-bg-2);
  --hex-text-primary:var(--fp-text); --hex-text-secondary:var(--fp-text-2); --hex-text-tertiary:var(--fp-text-muted);
  --hex-border:var(--fp-border); --hex-border-light:var(--fp-border-subtle);
  --hex-shadow-sm:var(--fp-sh-sm); --hex-shadow:var(--fp-sh-sm); --hex-shadow-lg:var(--fp-sh); --hex-shadow-xl:var(--fp-sh);
  --hex-success:var(--fp-ok); --hex-warning:var(--fp-warn); --hex-error:var(--fp-bad);
  --hex-dark-bg-primary:var(--fp-bg-1); --hex-dark-bg-secondary:var(--fp-bg-0); --hex-dark-bg-tertiary:var(--fp-bg-2);
  --hex-dark-text-primary:var(--fp-text); --hex-dark-text-secondary:var(--fp-text-2);
}
body{
  background:
    radial-gradient(60% 45% at 12% 0%, rgba(45,226,255,.06), transparent 60%),
    radial-gradient(55% 45% at 90% 5%, rgba(124,108,255,.07), transparent 60%),
    var(--fp-bg-0);
  color:var(--fp-text); font-family:var(--fp-font); -webkit-font-smoothing:antialiased;
}
body ::selection{background:rgba(124,108,255,.35);color:#fff}
/* base.html shell claro -> prisma */
body.bg-gray-50{background:var(--fp-bg-0)}
.bg-gray-50,.bg-gray-100{background-color:var(--fp-bg-0)!important}
aside.from-blue-700,aside.bg-gradient-to-b{background:var(--fp-bg-1)!important;color:var(--fp-text)}
aside .text-blue-100,aside .text-blue-200{color:var(--fp-text-muted)!important}
aside .bg-blue-600{background:var(--fp-bg-2)!important;border:1px solid var(--fp-border-subtle)}
/* utilities de superfície/texto */
.bg-white{background-color:var(--fp-bg-1)!important;color:var(--fp-text)}
.bg-gray-200{background-color:var(--fp-bg-2)!important}
.text-gray-900,.text-gray-800{color:var(--fp-text)!important}
.text-gray-700,.text-gray-600{color:var(--fp-text-2)!important}
.text-gray-500,.text-gray-400{color:var(--fp-text-muted)!important}
.border-gray-100,.border-gray-200,.border-gray-300{border-color:var(--fp-border)!important}
.divide-gray-100>*,.divide-gray-200>*{border-color:var(--fp-border-subtle)!important}
.shadow-sm,.shadow,.shadow-md{box-shadow:var(--fp-sh-sm)!important}
.shadow-lg,.shadow-xl,.shadow-2xl{box-shadow:var(--fp-sh)!important}
.ring-1,.ring-gray-200{--tw-ring-color:var(--fp-border)!important}
.hover\:bg-gray-50:hover,.hover\:bg-gray-100:hover{background-color:var(--fp-bg-2)!important}
/* inputs Tailwind */
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background-color:var(--fp-bg-2);color:var(--fp-text);border-color:var(--fp-border)}
input::placeholder,textarea::placeholder{color:var(--fp-text-muted)}
/* azul antigo -> cyan/gradiente */
.text-blue-500,.text-blue-600,.text-blue-700,.text-indigo-600,.text-indigo-700{color:var(--fp-cyan-400)!important}
.bg-blue-500,.bg-blue-600,.bg-blue-700,.bg-indigo-600,.bg-indigo-700{background:var(--fp-grad)!important;color:var(--fp-text-inv)!important;border-color:transparent!important}
.hover\:bg-blue-700:hover,.hover\:bg-blue-600:hover,.hover\:bg-indigo-700:hover{filter:brightness(1.07)}
.border-blue-500,.border-blue-600{border-color:var(--fp-cyan-400)!important}

/* ====== RESKIN v2 — paletas semânticas Tailwind (slate/emerald/rose/amber/sky/purple)
   Rede de segurança global. Blocos <style> por-tela (injetados pelos agentes,
   carregados DEPOIS) vencem onde existem; isto cobre o resto. ====== */
/* slate = cinza-azulado (texto/superfície) */
.text-slate-900,.text-slate-800{color:var(--fp-text)!important}
.text-slate-700,.text-slate-600{color:var(--fp-text-2)!important}
.text-slate-500,.text-slate-400{color:var(--fp-text-muted)!important}
.bg-slate-50,.bg-slate-100{background-color:var(--fp-bg-2)!important}
.bg-slate-800,.bg-slate-900,.bg-slate-950{background-color:var(--fp-bg-1)!important}
.border-slate-100,.border-slate-200,.border-slate-300,.border-slate-700,.border-slate-800{border-color:var(--fp-border)!important}
.divide-slate-100>*,.divide-slate-200>*{border-color:var(--fp-border-subtle)!important}
.hover\:bg-slate-50:hover,.hover\:bg-slate-100:hover{background-color:var(--fp-bg-2)!important}
/* success (emerald/green/teal) */
.text-emerald-600,.text-emerald-700,.text-emerald-800,.text-green-600,.text-green-700,.text-green-800,.text-teal-600,.text-teal-700{color:var(--fp-ok)!important}
.bg-emerald-50,.bg-green-50,.bg-teal-50,.bg-emerald-100,.bg-green-100{background-color:var(--fp-ok-bg)!important}
.border-emerald-200,.border-green-200,.border-emerald-500,.border-green-500{border-color:var(--fp-ok-bd)!important}
/* danger (rose/red) */
.text-rose-600,.text-rose-700,.text-red-600,.text-red-700,.text-red-800{color:var(--fp-bad)!important}
.bg-rose-50,.bg-red-50,.bg-rose-100,.bg-red-100{background-color:var(--fp-bad-bg)!important}
.border-rose-200,.border-red-200,.border-red-500,.border-rose-500{border-color:var(--fp-bad-bd)!important}
/* warning (amber/yellow/orange) */
.text-amber-600,.text-amber-700,.text-yellow-600,.text-yellow-700,.text-orange-600,.text-orange-700{color:var(--fp-warn)!important}
.bg-amber-50,.bg-yellow-50,.bg-orange-50,.bg-amber-100,.bg-yellow-100{background-color:var(--fp-warn-bg)!important}
.border-amber-200,.border-yellow-200,.border-amber-500{border-color:var(--fp-warn-bd)!important}
/* info (sky/cyan) */
.text-sky-600,.text-sky-700,.text-cyan-600,.text-cyan-700{color:var(--fp-info)!important}
.bg-sky-50,.bg-cyan-50,.bg-sky-100{background-color:var(--fp-info-bg)!important}
.border-sky-200,.border-cyan-200{border-color:var(--fp-info-bd)!important}
/* violet/purple/fuchsia -> violet accent */
.text-violet-600,.text-violet-700,.text-purple-600,.text-purple-700,.text-fuchsia-600,.text-indigo-500{color:var(--fp-violet-400)!important}
.bg-violet-50,.bg-purple-50,.bg-indigo-50{background-color:rgba(124,108,255,.10)!important}
.border-violet-200,.border-purple-200,.border-indigo-200{border-color:rgba(124,108,255,.28)!important}
/* gradientes hero azuis genéricos -> prisma */
.from-blue-600,.from-blue-700,.from-indigo-600,.from-indigo-700,.to-blue-700,.to-indigo-800,.via-blue-600{--tw-gradient-from:#2DE2FF!important;--tw-gradient-to:#7C6CFF!important}

/* ====== Toggle de tema (botão flutuante) + primitivos bespoke ====== */
.fp-theme-btn{position:fixed;left:18px;bottom:18px;z-index:9999;width:44px;height:44px;border-radius:999px;border:1px solid var(--fp-border);background:var(--fp-bg-glass);color:var(--fp-text);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;box-shadow:var(--fp-sh);display:flex;align-items:center;justify-content:center;transition:transform var(--fp-dur) var(--fp-ease),border-color var(--fp-dur)}
.fp-theme-btn:hover{transform:translateY(-2px);border-color:var(--fp-border-strong)}
.fp-theme-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(45,226,255,.4)}
.fp-theme-btn svg{width:20px;height:20px}
/* pulse dot (status vivo) */
.fp-pulse{position:relative;display:inline-block;width:9px;height:9px;border-radius:999px;background:var(--fp-ok);flex:0 0 auto}
.fp-pulse.warn{background:var(--fp-warn)} .fp-pulse.bad{background:var(--fp-bad)} .fp-pulse.info{background:var(--fp-info)}
.fp-pulse::after{content:"";position:absolute;inset:0;border-radius:999px;background:inherit;animation:fp-ping 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes fp-ping{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(2.6);opacity:0}}
/* sparkline inline */
.fp-spark{display:inline-block;vertical-align:middle;height:22px;width:88px}
.fp-spark path{fill:none;stroke:url(#fpSparkGrad);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fp-spark .area{fill:rgba(45,226,255,.10);stroke:none}
@media (prefers-reduced-motion: reduce){.fp-pulse::after{animation:none}}

.fp-back{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--fp-r);border:1px solid var(--fp-border);background:var(--fp-bg-2);color:var(--fp-text-2);font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all var(--fp-dur) var(--fp-ease);margin-right:12px}
.fp-back:hover{background:var(--fp-bg-3);color:var(--fp-text);border-color:var(--fp-border-strong)}
.fp-back svg{flex:0 0 auto}
