html, body { height: 100%; }
body { -webkit-tap-highlight-color: transparent; }
.card { background: #fff; border: 1px solid #e5e7eb; border-radius: 1rem; box-shadow: 0 3px 0 rgba(148,163,184,.25); }
.card-hover { transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.card-hover:hover { transform: translateY(-1px); border-color: #9333EA; box-shadow: 0 6px 0 rgba(148,163,184,.18); }
.btn-primary { background:#9333EA; color:#fff; font-weight:900; border-radius:.85rem; padding:.75rem 1rem; box-shadow:0 4px 0 #6B21A8; }
.btn-primary:active { transform: translateY(4px); box-shadow:none; }
.btn-soft { background:#F3E8FF; color:#7E22CE; font-weight:900; border-radius:.85rem; padding:.65rem .95rem; }
.nav-link { width:100%; display:flex; align-items:center; gap:.85rem; padding:.85rem 1rem; border-radius:.85rem; font-weight:800; color:#c4b5fd; transition:.15s; text-align:left; }
.nav-link:hover { background: rgba(255,255,255,.08); color:#fff; }
.nav-link.active { background:#9333EA; color:#fff; }
.nav-light { color:#64748b; }
.mobile-tab { display:flex; flex-direction:column; align-items:center; gap:.15rem; font-size:1rem; color:#64748b; font-weight:800; }
.mobile-tab span { font-size:.65rem; }
@keyframes popIn { from { opacity:0; transform: scale(.98) translateY(4px);} to { opacity:1; transform: scale(1) translateY(0);} }
.animate-pop-in { animation: popIn .2s ease-out; }
::-webkit-scrollbar{width:8px} ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px} ::-webkit-scrollbar-track{background:transparent}
