/* ═══════════════════════════════════════════════
   PURETECH CONTROL — CYBERPUNK PREMIUM
   #020205 · Neon Cyan #00f5ff · Glassmorphism
   Mobile-first · Inter
═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ── Variables ── */
:root {
  --bg:       #020205;
  --neon:     #00f5ff;
  --neon-20:  rgba(0,245,255,0.20);
  --neon-12:  rgba(0,245,255,0.12);
  --neon-06:  rgba(0,245,255,0.06);
  --gold:     #f59e0b;
  --gold-20:  rgba(245,158,11,0.20);
  --gold-08:  rgba(245,158,11,0.08);
  --green:    #22c55e;
  --green-10: rgba(34,197,94,0.10);
  --card-bg:  rgba(255,255,255,0.03);
  --surface:  rgba(255,255,255,0.06);
  --text:     #f0f2ff;
  --muted:    rgba(240,242,255,0.55);
  --dim:      rgba(240,242,255,0.25);
  --ease:     cubic-bezier(0.4,0,0.2,1);
  --spring:   cubic-bezier(0.34,1.56,0.64,1);
}

/* ── Reset ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html { scroll-behavior:smooth; }

body {
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  padding-bottom:env(safe-area-inset-bottom,20px);
}

/* ── Background radial ── */
body::before {
  content:'';
  position:fixed;inset:0;z-index:-1;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%,   rgba(0,80,160,0.18) 0%, transparent 65%),
    radial-gradient(ellipse 60% 40% at 15% 100%,  rgba(0,245,255,0.05) 0%, transparent 60%),
    radial-gradient(ellipse 50% 35% at 85% 80%,   rgba(0,40,100,0.10) 0%, transparent 60%),
    #020205;
  pointer-events:none;
}

/* ── Anti-clone ── */
* { -webkit-user-select:none; user-select:none; }
input,textarea { -webkit-user-select:text; user-select:text; }
img { pointer-events:none; -webkit-user-drag:none; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:var(--neon-20); border-radius:99px; }

/* ── Utility ── */
.hidden { display:none !important; }
.gradient-text {
  background:linear-gradient(135deg,var(--neon),#60a5fa);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* ═══════════════════════════════════
   STICKY BAR
═══════════════════════════════════ */
#stickyBar {
  position:relative;
  background:linear-gradient(90deg,#065f46,#059669);
  color:#fff;
  text-align:center;
  height:28px;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:500; letter-spacing:0.03em;
  white-space:nowrap; overflow:hidden;
  flex-shrink:0;
}

/* ═══════════════════════════════════
   GLASS HEADER
═══════════════════════════════════ */
.glass {
  background:rgba(2,2,8,0.92);
  backdrop-filter:blur(28px); -webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid var(--neon-12);
}

/* ═══════════════════════════════════
   CARDS
═══════════════════════════════════ */
.glass-card {
  background:rgba(255,255,255,0.03);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(0,245,255,0.15);
  border-radius:20px;
  box-shadow:0 4px 24px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.03);
}

.stat-card {
  background:rgba(255,255,255,0.03);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(0,245,255,0.12);
  border-radius:18px;
  padding:18px 16px;
  box-shadow:0 4px 20px rgba(0,0,0,0.45);
  transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;
}
.stat-card:hover {
  transform:translateY(-2px);
  border-color:var(--neon-20);
  box-shadow:0 8px 28px rgba(0,0,0,0.6), 0 0 0 1px var(--neon-12);
}

/* ═══════════════════════════════════
   MODULE GRID
═══════════════════════════════════ */
.mod-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
@media(min-width:480px){ .mod-grid { grid-template-columns:repeat(3,1fr); } }
@media(min-width:768px){ .mod-grid { grid-template-columns:repeat(6,1fr); gap:12px; } }

/* ── Module Card ── */
.mod-card {
  position:relative;
  background:var(--card-bg);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(0,245,255,0.12);
  border-radius:20px;
  padding:20px 10px 14px;
  text-align:center;
  cursor:pointer;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
  transition:transform .2s var(--ease), box-shadow .2s, border-color .2s;
  box-shadow:0 2px 12px rgba(0,0,0,0.4);
}
.mod-card:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(0,0,0,0.6); }
.mod-card:active {
  transform:scale(0.95);
  transition:transform .15s var(--ease);
}

/* click flash */
.mod-card::after {
  content:'';
  position:absolute; inset:0;
  background:rgba(0,245,255,0.14);
  border-radius:inherit;
  opacity:0; pointer-events:none;
  transition:opacity .15s;
}
.mod-card:active::after { opacity:1; }

/* ── Active ── */
.mod-card.active {
  border-color:var(--neon) !important;
  box-shadow:0 0 20px rgba(0,245,255,0.30), 0 4px 16px rgba(0,0,0,0.5) !important;
  background:linear-gradient(145deg,rgba(0,245,255,0.06),rgba(2,2,8,0.92)) !important;
}
.mod-card.active .mod-icon {
  filter:drop-shadow(0 0 10px rgba(0,245,255,0.65));
}

/* ── Locked ── */
.mod-card.locked {
  border-color:#ff0040 !important;
  box-shadow:0 0 15px rgba(255,0,64,0.5), 0 2px 12px rgba(0,0,0,0.4) !important;
  background:rgba(255,255,255,0.03) !important;
  backdrop-filter:blur(10px) !important; -webkit-backdrop-filter:blur(10px) !important;
}
.mod-card.locked::before {
  content:'';
  position:absolute; inset:0;
  background:rgba(0,0,0,0.55);
  border-radius:inherit;
  z-index:1;
}

/* Cadeado pequeno no canto superior direito */
.lock-badge {
  position:absolute;
  top:8px; right:8px;
  left:auto;
  transform:none;
  z-index:2;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.lock-badge-icon {
  width:24px; height:24px;
  border-radius:7px;
  background:rgba(255,0,64,0.15);
  border:1px solid rgba(255,0,64,0.45);
  display:flex; align-items:center; justify-content:center;
  font-size:13px;
  box-shadow:0 0 8px rgba(255,0,64,0.30);
}
/* Remove texto "BLOQUEADO" */
.lock-badge-text { display:none; }

.mod-card.locked .mod-icon  { opacity:0.12; filter:grayscale(1) !important; }
.mod-card.locked .mod-label { color:var(--muted) !important; position:relative; z-index:2; }
.mod-card.locked .badge     { position:relative; z-index:2; }

.mod-icon {
  width:44px; height:44px;
  object-fit:contain;
  margin:0 auto 10px; display:block;
  transition:filter .2s, opacity .2s;
}
.mod-label {
  font-size:12px; font-weight:600; color:var(--text);
  margin-bottom:6px; line-height:1.2;
}

/* ═══════════════════════════════════
   BADGES
═══════════════════════════════════ */
.badge {
  display:inline-flex; align-items:center; gap:2px;
  font-size:9px; font-weight:700;
  padding:2px 7px; border-radius:99px;
  letter-spacing:0.05em; text-transform:uppercase;
}
/* Badge "Bloqueado" oculto — cadeado no canto já indica */
.badge-locked { display:none !important; }

.badge-active {
  background:rgba(34,197,94,0.12); color:#4ade80;
  border:1px solid rgba(34,197,94,0.28);
  animation:badgePulse 2.4s ease-in-out infinite;
}
@keyframes badgePulse {
  0%,100% { box-shadow:0 0 0 0 rgba(34,197,94,0.35); }
  50%     { box-shadow:0 0 0 4px rgba(34,197,94,0); }
}
.badge-vip     { background:rgba(139,92,246,0.12); color:#a78bfa; border:1px solid rgba(139,92,246,0.25); }
.badge-premium { background:rgba(245,158,11,0.10); color:#fbbf24; border:1px solid rgba(245,158,11,0.25); }
.badge-locked  { background:rgba(255,255,255,0.04); color:var(--muted); border:1px solid rgba(255,255,255,0.08); }

/* ═══════════════════════════════════
   INPUTS / BUTTONS
═══════════════════════════════════ */
.field {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(0,245,255,0.15);
  border-radius:12px;
  padding:13px 16px;
  color:var(--text); width:100%;
  outline:none; font-size:14px; font-family:'Inter',sans-serif;
  transition:border-color .2s, box-shadow .2s;
}
.field:focus {
  border-color:rgba(0,245,255,0.50);
  box-shadow:0 0 0 3px rgba(0,245,255,0.09);
}
.field::placeholder { color:var(--dim); }

.btn-primary {
  background:linear-gradient(135deg,#0891b2,#0e7490);
  color:#fff; border:none; border-radius:13px;
  padding:13px 24px; font-weight:600; font-size:14px;
  cursor:pointer; transition:all .2s;
  width:100%; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Inter',sans-serif;
  box-shadow:0 4px 16px rgba(0,245,255,0.22);
}
.btn-primary:hover {
  box-shadow:0 6px 22px rgba(0,245,255,0.36);
  filter:brightness(1.10);
  transform:translateY(-1px);
}
.btn-primary:active { transform:translateY(0); }

.btn-secondary {
  background:var(--surface);
  color:var(--muted);
  border:1px solid rgba(0,245,255,0.12);
  border-radius:10px; padding:9px 16px;
  font-size:13px; font-weight:500; cursor:pointer;
  transition:all .2s;
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Inter',sans-serif;
}
.btn-secondary:hover {
  background:var(--neon-06);
  border-color:var(--neon-20);
  color:var(--neon);
}

/* ═══════════════════════════════════
   LOG ENTRIES
═══════════════════════════════════ */
.log-entry {
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(0,245,255,0.06);
  border-radius:12px; padding:11px 14px;
  transition:background .15s, border-color .15s;
}
.log-entry:hover {
  background:var(--neon-06);
  border-color:var(--neon-12);
}

/* ═══════════════════════════════════
   INVITE BOX
═══════════════════════════════════ */
.invite-box {
  background:rgba(0,245,255,0.04);
  border:1px solid rgba(0,245,255,0.18);
  border-radius:10px; padding:10px 14px;
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:rgba(0,245,255,0.65); word-break:break-all;
  min-height:38px; display:flex; align-items:center;
}

/* ═══════════════════════════════════
   TOAST
═══════════════════════════════════ */
#toast {
  position:fixed; bottom:100px; left:50%; transform:translateX(-50%);
  z-index:99998;
  background:rgba(5,5,18,0.97);
  border:1px solid rgba(0,245,255,0.30);
  border-radius:12px; padding:10px 20px;
  font-size:13px; font-weight:500; color:var(--neon);
  box-shadow:0 8px 32px rgba(0,0,0,0.7), 0 0 16px rgba(0,245,255,0.10);
  white-space:nowrap; pointer-events:none;
  transition:opacity .2s;
}
#toast.hidden { opacity:0; }

/* ═══════════════════════════════════
   SLIDE-UP MODALS (mirrors)
═══════════════════════════════════ */
.slide-modal {
  position:fixed; inset:0; z-index:9000;
  transform:translateY(100%);
  transition:transform .40s var(--spring);
  pointer-events:none;
  display:flex; flex-direction:column;
}
.slide-modal.open {
  transform:translateY(0);
  pointer-events:all;
}

/* Floating X */
.modal-close-btn {
  position:fixed; top:16px; right:16px;
  z-index:999999;
  width:42px; height:42px; border-radius:50%;
  background:rgba(0,0,0,0.82);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(0,245,255,0.28);
  color:#fff; font-size:17px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .2s;
  box-shadow:0 4px 18px rgba(0,0,0,0.70), 0 0 8px rgba(0,245,255,0.12);
  -webkit-tap-highlight-color:transparent;
  font-family:inherit;
}
.modal-close-btn:hover {
  background:rgba(239,68,68,0.75);
  border-color:rgba(239,68,68,0.50);
  transform:scale(1.08);
}

/* ═══════════════════════════════════
   WHATSAPP CHAT LIST — 100% nativa
═══════════════════════════════════ */
.wa-status-bar {
  background:#202c33;
  padding:6px 16px;
  display:flex; align-items:center; justify-content:space-between;
  flex-shrink:0;
}
.wa-chat-list {
  flex:1; overflow-y:auto;
  background:#111b21;
}
.wa-chat-item {
  display:flex; align-items:center; gap:12px;
  padding:11px 16px;
  border-bottom:1px solid rgba(134,150,160,0.10);
  cursor:pointer; transition:background .12s;
}
.wa-chat-item:active { background:rgba(255,255,255,0.04); }
.wa-chat-avatar {
  width:48px; height:48px; border-radius:50%;
  overflow:hidden; flex-shrink:0;
  background:#2a3942;
  display:flex; align-items:center; justify-content:center;
  filter:blur(7px);
  flex-shrink:0;
}
.wa-chat-avatar img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.wa-chat-body { flex:1; min-width:0; }
.wa-chat-name {
  font-size:15px; font-weight:500; color:#e9edef;
  filter:blur(5px);
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  margin-bottom:3px;
  user-select:none;
}
.wa-chat-preview {
  font-size:13px; color:#8696a0;
  filter:blur(5px);
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  user-select:none;
}
.wa-chat-meta {
  display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex-shrink:0;
}
.wa-chat-time { font-size:11px; color:#8696a0; }
.wa-chat-badge {
  min-width:20px; height:20px; border-radius:10px;
  background:#25d366; color:#111b21;
  font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  padding:0 4px;
}
.wa-bottom-nav {
  display:flex; background:#1f2c34;
  border-top:1px solid rgba(134,150,160,0.15);
  flex-shrink:0;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.wa-nav-tab {
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:10px 4px 8px; gap:4px;
  cursor:pointer;
  color:#8696a0; font-size:10px; font-weight:500;
  transition:color .15s;
  border:none; background:none; font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.wa-nav-tab.active { color:#00a884; }
.wa-nav-tab svg { width:22px; height:22px; }

/* ═══════════════════════════════════
   CENTER MODALS
═══════════════════════════════════ */
.center-modal {
  position:fixed; inset:0; z-index:9500;
  background:rgba(0,0,0,0.88);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  display:flex; align-items:center; justify-content:center;
  padding:16px;
}
.center-modal.hidden { display:none !important; }

/* ═══════════════════════════════════
   CHECKOUT POPUP
═══════════════════════════════════ */
#checkoutModal {
  position:fixed; inset:0; z-index:99999;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  pointer-events:none;
  opacity:0;
  transition:opacity .25s var(--ease);
}
#checkoutModal.open { pointer-events:all; opacity:1; }

#checkoutBackdrop {
  position:absolute; inset:0;
  background:rgba(0,0,0,0.90);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}

#checkoutCard {
  position:relative; z-index:1;
  width:100%; max-width:360px;
  background:linear-gradient(145deg,rgba(8,10,22,0.98),rgba(4,5,12,0.99));
  border:1px solid rgba(0,245,255,0.38);
  border-radius:26px;
  padding:32px 26px 26px;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  text-align:center;
  box-shadow:
    0 0 0 1px rgba(0,245,255,0.12),
    0 0 48px rgba(0,245,255,0.10),
    0 28px 90px rgba(0,0,0,0.95);
  transform:scale(0.86) translateY(20px);
  transition:transform .38s var(--spring);
  backdrop-filter:blur(28px); -webkit-backdrop-filter:blur(28px);
}
#checkoutModal.open #checkoutCard { transform:scale(1) translateY(0); }

#checkoutCloseBtn {
  position:absolute; top:14px; right:14px;
  width:32px; height:32px; border-radius:50%;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  color:var(--muted); font-size:14px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .15s;
  font-family:inherit;
}
#checkoutCloseBtn:hover {
  background:rgba(239,68,68,0.20);
  color:#f87171;
  border-color:rgba(239,68,68,0.35);
  transform:scale(1.08);
}

#checkoutStep1 {
  display:flex; flex-direction:column; align-items:center; gap:14px; width:100%;
}
#checkoutStep2 { display:none; }

#checkoutAppIcon {
  width:70px; height:70px; border-radius:20px;
  background:rgba(0,245,255,0.06);
  border:1px solid rgba(0,245,255,0.20);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  box-shadow:0 0 24px rgba(0,245,255,0.12);
}
#checkoutAppIcon img {
  width:58px; height:58px;
  object-fit:contain; display:block;
}

#checkoutModuleName {
  font-size:19px; font-weight:700;
  color:var(--neon);
  text-shadow:0 0 16px rgba(0,245,255,0.38);
  letter-spacing:0.01em;
}

#checkoutPriceBadge {
  background:rgba(0,245,255,0.05);
  border:1px solid rgba(0,245,255,0.16);
  border-radius:14px;
  padding:14px 28px;
  width:100%;
}
#checkoutPriceBadge span {
  font-size:34px; font-weight:800; color:#fff; display:block;
}

#checkoutSub {
  font-size:12px; color:var(--muted); line-height:1.55;
}

.checkout-cta {
  background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#000; border:none; border-radius:16px;
  padding:17px 24px; font-size:16px; font-weight:800;
  cursor:pointer; width:100%;
  font-family:'Inter',sans-serif; letter-spacing:0.01em;
  box-shadow:0 4px 22px rgba(245,158,11,0.45);
  transition:all .2s;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.checkout-cta:hover {
  filter:brightness(1.10);
  box-shadow:0 6px 30px rgba(245,158,11,0.60);
  transform:translateY(-1px);
}
.checkout-cta:active { transform:scale(0.97); transition:transform .1s; }

#checkoutSecure { font-size:10px; color:var(--dim); }

/* ═══════════════════════════════════
   BOT
═══════════════════════════════════ */
#botBtn {
  position:fixed; bottom:24px; right:24px; z-index:1000;
  width:52px; height:52px; border-radius:50%; border:none; cursor:pointer;
  background:linear-gradient(135deg,#0891b2,#0e7490);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(0,245,255,0.35);
  animation:botPulse 3s ease-in-out infinite;
  transition:transform .2s;
  -webkit-tap-highlight-color:transparent;
}
#botBtn:hover { transform:scale(1.10); }
@keyframes botPulse {
  0%,100% { box-shadow:0 4px 20px rgba(0,245,255,.35),0 0 0 0 rgba(0,245,255,.22); }
  50%     { box-shadow:0 4px 28px rgba(0,245,255,.50),0 0 0 10px rgba(0,245,255,0); }
}

#botPanel {
  position:fixed; bottom:86px; right:20px; z-index:1000;
  width:316px; max-height:430px;
  background:rgba(5,6,16,0.97);
  border:1px solid rgba(0,245,255,0.12);
  border-radius:20px;
  display:flex; flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,0.80),0 0 40px rgba(0,245,255,0.05);
  overflow:hidden;
  transition:all .3s var(--ease); transform-origin:bottom right;
}
#botPanel.hidden { opacity:0; transform:scale(0.88) translateY(14px); pointer-events:none; }

.bot-header {
  background:rgba(0,245,255,0.05);
  border-bottom:1px solid rgba(0,245,255,0.08);
  padding:12px 14px;
  display:flex; align-items:center; gap:9px; flex-shrink:0;
}
.bot-msgs {
  flex:1; overflow-y:auto;
  padding:12px;
  display:flex; flex-direction:column; gap:8px;
}
.bot-msg-bot, .bot-msg-user {
  max-width:86%; padding:9px 13px;
  border-radius:14px; font-size:12.5px; line-height:1.5;
}
.bot-msg-bot {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(0,245,255,0.08);
  color:#e2e8f0; align-self:flex-start; border-bottom-left-radius:3px;
}
.bot-msg-user {
  background:linear-gradient(135deg,#0891b2,#0e7490);
  color:#fff; align-self:flex-end; border-bottom-right-radius:3px;
}
.bot-typing {
  display:flex; gap:4px; padding:9px 13px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(0,245,255,0.08);
  border-radius:14px; border-bottom-left-radius:3px;
  align-self:flex-start; width:52px;
}
.bot-typing span {
  width:5px; height:5px; background:var(--neon);
  border-radius:50%; animation:typingDot 1.4s infinite;
}
.bot-typing span:nth-child(2) { animation-delay:.2s; }
.bot-typing span:nth-child(3) { animation-delay:.4s; }
@keyframes typingDot {
  0%,60%,100% { transform:translateY(0); opacity:.4; }
  30%         { transform:translateY(-5px); opacity:1; }
}
.bot-chips { padding:0 12px 8px; display:flex; flex-wrap:wrap; gap:5px; }
.bot-chip {
  background:rgba(0,245,255,0.06);
  border:1px solid rgba(0,245,255,0.16);
  color:rgba(0,245,255,0.80);
  border-radius:20px; padding:4px 10px;
  font-size:10px; cursor:pointer; transition:all .15s;
  white-space:nowrap; font-family:'Inter',sans-serif;
}
.bot-chip:hover { background:rgba(0,245,255,0.14); color:var(--neon); }
.bot-input-row {
  display:flex; gap:7px; padding:8px 10px;
  border-top:1px solid rgba(0,245,255,0.07);
  flex-shrink:0;
}
.bot-input {
  flex:1;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(0,245,255,0.10);
  border-radius:9px; padding:8px 10px;
  color:#fff; font-size:12.5px; outline:none;
  font-family:'Inter',sans-serif;
}
.bot-input:focus { border-color:rgba(0,245,255,0.36); }
.bot-send {
  background:linear-gradient(135deg,#0891b2,#0e7490);
  border:none; border-radius:9px;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; flex-shrink:0;
}

/* ═══════════════════════════════════
   GPS / LEAFLET
═══════════════════════════════════ */
.leaflet-container { background:#02020a !important; }
.leaflet-tile { filter:brightness(0.48) saturate(0.28) hue-rotate(200deg); }
.leaflet-popup-content-wrapper {
  background:rgba(5,6,16,0.97) !important;
  border:1px solid rgba(0,245,255,0.22) !important;
  color:#fff !important; border-radius:12px !important;
  box-shadow:0 8px 32px rgba(0,0,0,0.80) !important;
}
.leaflet-popup-tip { background:rgba(5,6,16,0.97) !important; }
.leaflet-control-zoom a {
  background:rgba(5,6,16,0.92) !important;
  color:var(--neon) !important;
  border-color:rgba(0,245,255,0.16) !important;
}
@keyframes gpsPulse {
  0%   { box-shadow:0 0 0 0 rgba(0,245,255,.75); }
  70%  { box-shadow:0 0 0 14px rgba(0,245,255,0); }
  100% { box-shadow:0 0 0 0 rgba(0,245,255,0); }
}
.gps-marker-inner {
  width:14px; height:14px;
  background:var(--neon); border:2px solid #fff;
  border-radius:50%;
  animation:gpsPulse 2s infinite;
  box-shadow:0 0 10px var(--neon);
}
.gps-marker-wrap { width:14px; height:14px; }

/* ═══════════════════════════════════
   INTL-TEL-INPUT
═══════════════════════════════════ */
.iti { width:100% !important; }
.iti__flag { background-image:url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/img/flags.png") !important; }
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi) {
  .iti__flag { background-image:url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/img/flags@2x.png") !important; }
}
.iti__selected-flag  { background:rgba(0,245,255,0.04) !important; padding:0 8px !important; }
.iti__selected-flag:hover { background:rgba(0,245,255,0.08) !important; }
.iti__flag-container { position:absolute; z-index:20; }
.iti__country-list {
  background:rgba(5,6,16,0.98) !important;
  border:1px solid rgba(0,245,255,0.10) !important;
  border-radius:14px !important; color:#fff !important;
  max-height:200px !important;
  box-shadow:0 16px 50px rgba(0,0,0,0.90) !important;
  z-index:9999 !important;
}
.iti__country:hover, .iti__country.iti__highlight { background:rgba(0,245,255,0.06) !important; }
.iti__divider { border-bottom:1px solid rgba(255,255,255,0.04) !important; }
.iti__search-input {
  background:rgba(255,255,255,0.05) !important;
  border:1px solid rgba(0,245,255,0.10) !important;
  color:#fff !important; border-radius:8px !important;
  padding:8px 12px !important; outline:none !important; font-size:13px !important;
}
.iti__dial-code     { color:rgba(255,255,255,0.30) !important; font-size:11px !important; }
.iti__country-name  { color:rgba(255,255,255,0.78) !important; font-size:12.5px !important; }
.iti input[type=tel] {
  width:100% !important; background:transparent !important;
  border:none !important; color:#fff !important;
  font-family:'Inter',sans-serif !important;
}

/* ═══════════════════════════════════
   ANIMATIONS
═══════════════════════════════════ */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:translateY(0); }
}
.fade-up { animation:fadeUp .25s var(--ease); }

@keyframes pulseDot {
  0%,100% { opacity:1; transform:scale(1); }
  50%     { opacity:.5; transform:scale(.85); }
}
.pulse-dot { animation:pulseDot 2s ease-in-out infinite; }

@keyframes shimmer {
  0%   { background-position:-200% 0; }
  100% { background-position:200% 0; }
}
.shimmer {
  background:linear-gradient(90deg,
    rgba(255,255,255,.02) 25%,
    rgba(0,245,255,.07)   50%,
    rgba(255,255,255,.02) 75%);
  background-size:200% 100%;
  animation:shimmer 1.8s infinite;
}

/* ═══════════════════════════════════
   MOBILE
═══════════════════════════════════ */
@media(max-width:768px) {
  #botPanel { bottom:76px; right:8px; left:8px; width:auto; }
  #botBtn   { bottom:16px; right:16px; }
  .stat-card { padding:14px 12px; }
}
@media(hover:none) {
  .mod-card:hover { transform:none !important; }
  .btn-primary:hover { transform:none !important; }
}
