/* TekCRM 2.0 — base compartilhada (fiel ao layout de referencia) */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600;700&display=swap');

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
a { text-decoration: none; color: inherit; }
::selection { background: #ddd3ff; }

@keyframes tkfade { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes tkmarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes tkfloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes tkpop { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: scale(1); } }

/* ---- hover helpers (equivalentes aos style-hover da fonte .dc) ---- */
.hv-pill { transition: background .15s; }
.hv-pill:hover { background: #fff !important; }

.hv-dark { transition: filter .15s; }
.hv-dark:hover { filter: brightness(1.2); }

.hv-bright { transition: filter .15s; }
.hv-bright:hover { filter: brightness(1.25); }

.hv-white { transition: background .15s; }
.hv-white:hover { background: #fff !important; }

.hv-card { transition: border-color .2s, box-shadow .2s; }
.hv-card:hover { border-color: #e2ddff !important; box-shadow: 0 12px 30px -18px rgba(16,24,40,.2); }

.hv-arrow { transition: background .15s, border-color .15s; }
.hv-arrow:hover { background: #f0edff !important; border-color: #6d4aff !important; }

.hv-arrow-dark { transition: filter .15s; }
.hv-arrow-dark:hover { filter: brightness(1.3); }

.hv-cta-white { transition: filter .15s; }
.hv-cta-white:hover { filter: brightness(.96); }

.plan-card { transition: box-shadow .25s, transform .18s; transform-origin: center center; will-change: transform; }
.plan-card:hover { box-shadow: 0 30px 60px -22px rgba(109,74,255,.55) !important; }

input:focus, select:focus { border-color: #6d5efc !important; box-shadow: 0 0 0 3px rgba(109,94,252,.14); }
