/* ═════════════════════════════════════════════
   VIZZI AI — Mobil Uygulama Stili
   ═════════════════════════════════════════════ */

/* ── RESET & BASE ──────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;}
body{
  margin:0;padding:0;height:100%;overflow:hidden;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:#0e0a1a;
  -webkit-user-select: none;
  user-select: none; /* Desktop'ta metin seçimini kapatıyoruz (native hissi için) */
}
.vz-message, .vz-welcome-title, .vz-welcome-sub, .vz-input {
  -webkit-user-select: text;
  user-select: text; /* Mesajların ve giriş alanlarının seçilebilir kalmasını sağlıyoruz */
}

/* ── APP CONTAINER ─────────────────────────── */
#vizzi-app{
  --vz-accent:#6a0dad;--vz-accent-glow:rgba(106,13,173,0.22);
  --vz-gold:#d4af37;--vz-gold-gradient:linear-gradient(135deg,#d4af37 0%,#f9e295 50%,#b8860b 100%);
  --vz-glass-bg:rgba(255,255,255,0.97);--vz-text-dark:#1a1a2e;--vz-text-muted:#999;
  --vz-bot-bg:#f8f5ff;--vz-bot-border:rgba(106,13,173,0.07);--vz-green:#22c55e;
  --vz-user-bg:linear-gradient(135deg,#6a0dad,#4a0080);
  --vz-input-bg:#ffffff;--vz-input-border:rgba(106,13,173,0.12);
  --vz-header-bg:rgba(255,255,255,0.85);--vz-spd:0.35s;
  font-family:'DM Sans',-apple-system,sans-serif;

  display:flex;flex-direction:column;
  width:100vw;height:100dvh;
  background:var(--vz-glass-bg);
  overflow:hidden;position:relative;
  transition:background var(--vz-spd);
}

/* ── DARK THEME ────────────────────────────── */
#vizzi-app[data-theme="dark"]{
  --vz-glass-bg:rgba(16,12,26,0.98);--vz-text-dark:#f0eeff;--vz-text-muted:#666;
  --vz-bot-bg:#1e1830;--vz-bot-border:rgba(106,13,173,0.2);
  --vz-input-bg:#1e1830;--vz-input-border:rgba(106,13,173,0.3);
  --vz-header-bg:rgba(16,12,26,0.95);
}

/* ── SCROLLBAR ─────────────────────────────── */
#vizzi-app .vz-chat-box::-webkit-scrollbar{width:4px;}
#vizzi-app .vz-chat-box::-webkit-scrollbar-track{background:transparent;}
#vizzi-app .vz-chat-box::-webkit-scrollbar-thumb{background:rgba(106,13,173,0.25);border-radius:10px;}

/* ══════════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════════ */
#vizzi-app .vz-header{
  padding:14px 16px;
  padding-top:max(14px,env(safe-area-inset-top));
  display:flex;justify-content:space-between;align-items:center;
  background:var(--vz-header-bg);
  border-bottom:1px solid rgba(106,13,173,0.06);
  transition:background var(--vz-spd);position:relative;flex-shrink:0;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  z-index:10;
  -webkit-app-region: drag; /* Electron'da pencerenin taşınabilmesini sağlar */
  z-index: 100;
}
#vizzi-app .vz-header .vz-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
#vizzi-app .vz-header .vz-avatar, 
#vizzi-app .vz-header .vz-actions,
#vizzi-app .vz-header .vz-title {
  -webkit-app-region: no-drag; /* Etkileşimli alanlarda sürüklemeyi kapatır */
}
#vizzi-app .vz-header-left{display:flex;align-items:center;gap:10px;}
#vizzi-app .vz-avatar{
  width:40px;height:40px;border-radius:13px;overflow:hidden;
  background:linear-gradient(135deg,#6a0dad,#4a0080);
  box-shadow:0 4px 14px var(--vz-accent-glow);flex-shrink:0;
}
#vizzi-app .vz-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
#vizzi-app .vz-title{
  font-family:'Syne',sans-serif;font-size:16px;font-weight:900;letter-spacing:-0.5px;
  background:linear-gradient(135deg,var(--vz-accent) 0%,var(--vz-gold) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;
}
#vizzi-app .vz-status{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--vz-text-muted);font-weight:600;letter-spacing:0.8px;text-transform:uppercase;margin-top:1px;}
#vizzi-app .vz-dot{width:7px;height:7px;background:var(--vz-green);border-radius:50%;animation:vz-pulse 2s infinite;flex-shrink:0;}
#vizzi-app .vz-dot.vz-offline{background:#f97316;animation:none;}
@keyframes vz-pulse{
  0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,0.2);}
  50%{box-shadow:0 0 0 4px rgba(34,197,94,0.12);}
}
#vizzi-app .vz-actions{display:flex;align-items:center;gap:4px;}
#vizzi-app .vz-icon-btn{
  width:34px;height:34px;border-radius:11px;background:rgba(106,13,173,0.07);
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;color:var(--vz-text-muted);padding:0;
}
#vizzi-app .vz-icon-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
#vizzi-app .vz-icon-btn:hover,#vizzi-app .vz-icon-btn:active{background:rgba(106,13,173,0.14);transform:scale(1.05);color:var(--vz-accent);}

/* ══════════════════════════════════════════════
   ARAMA ÇUBUĞU
   ══════════════════════════════════════════════ */
#vizzi-app .vz-search-bar{
  display:none;padding:10px 16px;border-bottom:1px solid rgba(106,13,173,0.06);flex-shrink:0;
  background:var(--vz-header-bg);
}
#vizzi-app .vz-search-bar.vz-search-open{display:flex;gap:8px;align-items:center;}
#vizzi-app .vz-search-input{
  flex:1;border:1.5px solid var(--vz-input-border);border-radius:10px;
  padding:7px 12px;font-size:13px;font-family:'DM Sans',sans-serif;
  color:var(--vz-text-dark);background:var(--vz-input-bg);outline:none;
}
#vizzi-app .vz-search-input:focus{border-color:rgba(106,13,173,0.4);}
#vizzi-app .vz-search-count{font-size:11px;color:var(--vz-text-muted);white-space:nowrap;}
#vizzi-app .msg-highlight{background:rgba(212,175,55,0.35);border-radius:2px;}

/* ══════════════════════════════════════════════
   DİL MENÜ
   ══════════════════════════════════════════════ */
#vizzi-app .vz-lang-menu{
  position:absolute;top:68px;right:18px;background:var(--vz-glass-bg);border-radius:16px;
  box-shadow:0 16px 40px rgba(0,0,0,0.15),0 0 0 1px rgba(106,13,173,0.08);
  padding:6px;z-index:300;display:none;flex-direction:column;gap:3px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
}
#vizzi-app .vz-lang-menu.vz-lang-open{display:flex;}
#vizzi-app .vz-lang-opt{
  display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:10px;
  cursor:pointer;font-size:13px;font-weight:600;color:var(--vz-text-dark);transition:background 0.15s;white-space:nowrap;
}
#vizzi-app .vz-lang-opt:hover{background:rgba(106,13,173,0.08);}
#vizzi-app .vz-lang-opt.vz-active{background:rgba(106,13,173,0.1);color:var(--vz-accent);}

/* ══════════════════════════════════════════════
   MESAİ DIŞI BANNER
   ══════════════════════════════════════════════ */
#vizzi-app .vz-offline-banner{
  margin:8px 16px 0;padding:10px 14px;border-radius:14px;
  background:rgba(249,115,22,0.08);border:1px solid rgba(249,115,22,0.2);
  display:none;align-items:center;gap:10px;flex-shrink:0;
}
#vizzi-app .vz-offline-banner.vz-show{display:flex;}
#vizzi-app .vz-offline-icon{font-size:18px;}
#vizzi-app .vz-offline-text{font-size:12px;color:#c2410c;font-weight:600;line-height:1.4;}

/* ══════════════════════════════════════════════
   KARŞILAMA EKRANI
   ══════════════════════════════════════════════ */
#vizzi-app .vz-welcome{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px 28px;overflow-y:auto;overflow-x:hidden;
  background:radial-gradient(ellipse at 50% 0%,rgba(106,13,173,0.07) 0,transparent 70%);
  animation:vz-welcome-in 0.6s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes vz-welcome-in{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
#vizzi-app .vz-mascot{
  width:100px;height:100px;margin-bottom:14px;
  filter:drop-shadow(0 10px 20px rgba(106,13,173,0.25));
  animation:vz-bob 3s ease-in-out infinite;
}
@keyframes vz-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
#vizzi-app .vz-welcome-title{
  font-family:'Syne',sans-serif;font-size:22px;font-weight:900;
  background:linear-gradient(135deg,var(--vz-accent),var(--vz-gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:6px;text-align:center;animation:vz-fade-up 0.5s 0.1s both;
}
#vizzi-app .vz-welcome-sub{
  font-size:13px;color:var(--vz-text-muted);text-align:center;margin-bottom:24px;
  line-height:1.55;max-width:280px;animation:vz-fade-up 0.5s 0.2s both;
}
@keyframes vz-fade-up{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
#vizzi-app .vz-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;animation:vz-fade-up 0.5s 0.3s both;}
#vizzi-app .vz-field{display:flex;flex-direction:column;gap:5px;}
#vizzi-app .vz-label{font-size:11px;font-weight:700;color:var(--vz-accent);letter-spacing:0.6px;text-transform:uppercase;}
#vizzi-app .vz-input{
  background:var(--vz-input-bg);border:1.5px solid var(--vz-input-border);
  border-radius:13px;padding:12px 14px;font-size:15px;font-family:'DM Sans',sans-serif;
  color:var(--vz-text-dark);outline:none;transition:border-color 0.2s,box-shadow 0.2s;width:100%;
}
#vizzi-app .vz-input:focus{border-color:rgba(106,13,173,0.4);box-shadow:0 0 0 3px rgba(106,13,173,0.08);}
#vizzi-app .vz-input::placeholder{color:rgba(106,13,173,0.25);}

/* CUSTOM DROPDOWN */
#vizzi-app .vz-dropdown{position:relative;width:100%;-webkit-user-select:none;user-select:none;}
.vz-hidden-input{display:none;}
#vizzi-app .vz-dropdown-trigger{
  background:var(--vz-input-bg);border:1.5px solid var(--vz-input-border);
  border-radius:13px;padding:12px 14px;font-size:15px;font-family:'DM Sans',sans-serif;
  color:var(--vz-text-dark);width:100%;cursor:pointer;display:flex;
  justify-content:space-between;align-items:center;transition:border-color 0.2s,box-shadow 0.2s;
}
#vizzi-app .vz-dropdown-trigger.vz-dd-open{
  border-color:rgba(106,13,173,0.4);box-shadow:0 0 0 3px rgba(106,13,173,0.08);
  border-radius:13px 13px 0 0;
}
#vizzi-app .vz-dropdown-trigger .vz-dd-placeholder{color:rgba(106,13,173,0.25);}
#vizzi-app .vz-dropdown-trigger .vz-dd-arrow{
  width:16px;height:16px;flex-shrink:0;transition:transform 0.2s;
  stroke:var(--vz-accent);fill:none;
}
#vizzi-app .vz-dropdown-trigger.vz-dd-open .vz-dd-arrow{transform:rotate(180deg);}
#vizzi-app .vz-dropdown-list{
  position:absolute;top:100%;left:0;right:0;
  background:var(--vz-input-bg);border:1.5px solid rgba(106,13,173,0.4);
  border-top:none;border-radius:0 0 13px 13px;
  box-shadow:0 10px 30px rgba(106,13,173,0.15);
  z-index:999999;display:none;flex-direction:column;overflow:hidden;
}
#vizzi-app .vz-dropdown-list.vz-dd-show{display:flex;}
#vizzi-app .vz-dd-opt{
  padding:11px 14px;font-size:14px;font-family:'DM Sans',sans-serif;
  color:var(--vz-text-dark);cursor:pointer;transition:background 0.15s;
}
#vizzi-app .vz-dd-opt:hover,#vizzi-app .vz-dd-opt:active{background:rgba(106,13,173,0.07);}
#vizzi-app .vz-dd-opt.vz-dd-selected{color:var(--vz-accent);font-weight:600;background:rgba(106,13,173,0.05);}
#vizzi-app .vz-dd-opt:last-child{border-radius:0 0 11px 11px;}

/* START BUTTON */
#vizzi-app .vz-start-btn{
  margin-top:6px;padding:14px;border-radius:15px;
  background:linear-gradient(135deg,var(--vz-accent),#9b2de8);
  color:#fff;border:none;cursor:pointer;font-size:15px;font-weight:700;font-family:'Syne',sans-serif;
  box-shadow:0 8px 24px rgba(106,13,173,0.35);transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);
  display:flex;align-items:center;justify-content:center;gap:8px;
}
#vizzi-app .vz-start-btn:active{transform:scale(0.97);}
#vizzi-app .vz-skip{margin-top:10px;font-size:12px;color:var(--vz-text-muted);text-align:center;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color 0.2s;}

/* ══════════════════════════════════════════════
   CHAT BOX
   ══════════════════════════════════════════════ */
#vizzi-app .vz-chat-box{
  flex:1;padding:16px;overflow-y:auto;display:none;flex-direction:column;gap:13px;
  background-image:radial-gradient(ellipse at 10% 10%,rgba(106,13,173,0.03) 0,transparent 60%),
                   radial-gradient(ellipse at 90% 90%,rgba(212,175,55,0.03) 0,transparent 60%);
  scroll-behavior:smooth;min-height:0;
}
#vizzi-app .vz-msg-wrap{display:flex;align-items:flex-end;gap:8px;max-width:90%;animation:vz-msg-in 0.35s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes vz-msg-in{from{opacity:0;transform:translateY(10px) scale(0.97);}to{opacity:1;transform:translateY(0) scale(1);}}
#vizzi-app .vz-bot-wrap{align-self:flex-start;}
#vizzi-app .vz-user-wrap{align-self:flex-end;flex-direction:row-reverse;}
#vizzi-app .vz-msg-avatar{width:30px;height:30px;border-radius:10px;overflow:hidden;flex-shrink:0;box-shadow:0 3px 10px rgba(0,0,0,0.1);}
#vizzi-app .vz-msg-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
#vizzi-app .vz-msg-content{display:flex;flex-direction:column;}
#vizzi-app .vz-bot-wrap .vz-msg-content{align-items:flex-start;}
#vizzi-app .vz-user-wrap .vz-msg-content{align-items:flex-end;}
#vizzi-app .vz-message{padding:12px 16px;font-size:14.5px;line-height:1.7;color:var(--vz-text-dark);font-family:'DM Sans',sans-serif;}
#vizzi-app .vz-message p{margin:0!important;padding:0!important;color:inherit;}
#vizzi-app .vz-message p+p{margin-top:0.3em!important;}
#vizzi-app .vz-message strong{font-weight:700;}
#vizzi-app .vz-message ul,#vizzi-app .vz-message ol{padding-left:1.2em;margin:0.4em 0;}
#vizzi-app .vz-message li{margin-bottom:0.2em;}
#vizzi-app .vz-bot-msg{background:var(--vz-bot-bg);border-radius:18px 18px 18px 4px;box-shadow:0 3px 14px rgba(106,13,173,0.06);border:1px solid var(--vz-bot-border);}
#vizzi-app .vz-user-msg{background:var(--vz-user-bg);color:#fff;border-radius:18px 18px 4px 18px;box-shadow:0 6px 20px var(--vz-accent-glow);}
#vizzi-app .vz-user-msg p{color:#fff;}
#vizzi-app .vz-msg-time{font-size:10px;color:var(--vz-text-muted);margin-top:4px;font-weight:600;padding:0 4px;}

/* ══════════════════════════════════════════════
   WHATSAPP BUTONU
   ══════════════════════════════════════════════ */
#vizzi-app .vz-wa-bar{
  padding:10px 16px;background:rgba(37,211,102,0.08);border-top:1px solid rgba(37,211,102,0.15);
  display:none;align-items:center;gap:10px;flex-shrink:0;cursor:pointer;
  transition:background 0.2s;
}
#vizzi-app .vz-wa-bar.vz-show{display:flex;}
#vizzi-app .vz-wa-bar:active{background:rgba(37,211,102,0.15);}
#vizzi-app .vz-wa-icon{width:28px;height:28px;background:#25d366;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#vizzi-app .vz-wa-icon svg{width:16px;height:16px;fill:#fff;}
#vizzi-app .vz-wa-text{flex:1;}
#vizzi-app .vz-wa-title{font-size:12px;font-weight:700;color:#128c4a;}
#vizzi-app .vz-wa-sub{font-size:10.5px;color:var(--vz-text-muted);}
#vizzi-app .vz-wa-arrow{font-size:14px;color:#25d366;}

/* ══════════════════════════════════════════════
   TYPING INDICATOR
   ══════════════════════════════════════════════ */
#vizzi-app .vz-typing{display:flex;align-items:center;gap:5px;padding:13px 16px;background:var(--vz-bot-bg);border-radius:18px 18px 18px 4px;border:1px solid var(--vz-bot-border);box-shadow:0 3px 14px rgba(106,13,173,0.06);width:fit-content;}
#vizzi-app .vz-d{width:7px;height:7px;background:var(--vz-accent);border-radius:50%;opacity:0.5;animation:vz-bounce 1.4s infinite ease-in-out both;}
#vizzi-app .vz-d:nth-child(1){animation-delay:-0.32s;}
#vizzi-app .vz-d:nth-child(2){animation-delay:-0.16s;}
@keyframes vz-bounce{0%,80%,100%{transform:scale(0.5);opacity:0.3;}40%{transform:scale(1);opacity:1;}}

/* ══════════════════════════════════════════════
   GÖRSEL ÖNİZLEME
   ══════════════════════════════════════════════ */
#vizzi-app .vz-img-preview{display:none;padding:10px 18px;background:rgba(106,13,173,0.04);border-top:1px solid var(--vz-bot-border);align-items:center;gap:10px;flex-shrink:0;}
#vizzi-app .vz-preview-img{height:44px;border-radius:8px;border:1px solid var(--vz-bot-border);object-fit:cover;}
#vizzi-app .vz-remove-btn{cursor:pointer;color:#e55;font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px;background:rgba(220,50,50,0.08);transition:0.2s;}

/* ══════════════════════════════════════════════
   INPUT ALANI
   ══════════════════════════════════════════════ */
#vizzi-app .vz-input-wrap{
  padding:6px 16px;
  padding-bottom:max(12px,env(safe-area-inset-bottom));
  flex-shrink:0;display:none;
}
#vizzi-app .vz-input-wrap.vz-show{display:block;}
#vizzi-app .vz-input-area{
  background:var(--vz-input-bg);padding:6px 6px 6px 14px;
  display:flex;gap:8px;align-items:center;border-radius:18px;
  border:1.5px solid var(--vz-input-border);
  box-shadow:0 4px 20px rgba(106,13,173,0.07),inset 0 1px 0 rgba(255,255,255,0.5);
  transition:border-color 0.2s,box-shadow 0.2s;
}
#vizzi-app .vz-input-area:focus-within{border-color:rgba(106,13,173,0.4);box-shadow:0 4px 24px var(--vz-accent-glow);}
#vizzi-app .vz-img-btn{
  width:36px;height:36px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;
  color:var(--vz-accent);cursor:pointer;flex-shrink:0;transition:all 0.2s;
  border:1px solid rgba(106,13,173,0.12);box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
#vizzi-app .vz-img-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
#vizzi-app .vz-text-input{
  flex:1;border:none;background:transparent;outline:none;
  font-size:15px;font-family:'DM Sans',sans-serif;color:var(--vz-text-dark);padding:8px 0;min-width:0;
}
#vizzi-app .vz-text-input::placeholder{color:rgba(106,13,173,0.28);}
#vizzi-app .vz-send-btn{
  width:42px;height:42px;background:linear-gradient(135deg,var(--vz-accent) 0%,#9b2de8 100%);
  border-radius:13px;color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(106,13,173,0.4);transition:all 0.2s cubic-bezier(0.34,1.56,0.64,1);flex-shrink:0;font-size:16px;
}
#vizzi-app .vz-send-btn:active{transform:scale(0.93);}
#vizzi-app .vz-send-btn:disabled{opacity:0.5;transform:none;cursor:not-allowed;}

/* ══════════════════════════════════════════════
   LEGAL / RATE LIMIT
   ══════════════════════════════════════════════ */
#vizzi-app .vz-legal{
  font-size:10px;color:var(--vz-text-muted);text-align:center;
  padding:0 20px 8px;
  padding-bottom:max(8px,env(safe-area-inset-bottom));
  font-weight:500;opacity:0.7;flex-shrink:0;
}
#vizzi-app .vz-ratelimit{
  margin:0 16px 8px;padding:8px 14px;border-radius:12px;
  background:rgba(220,38,38,0.08);border:1px solid rgba(220,38,38,0.2);
  font-size:12px;color:#b91c1c;font-weight:600;text-align:center;display:none;
}
#vizzi-app .vz-ratelimit.vz-show{display:block;}

/* ══════════════════════════════════════════════
   SPLASH SCREEN (PREMIUM DESIGN)
   ══════════════════════════════════════════════ */
#vz-splash {
  position: fixed;
  top: 0; left: 0; width: 100vw; height: 100dvh;
  background: radial-gradient(circle at 50% 50%, #1e1335 0%, #0e0a1a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.8s;
  overflow: hidden;
}

.vz-splash-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  animation: vz-splash-zoom 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#vz-splash-img {
  width: 280px;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(106, 13, 173, 0.4));
}

.vz-splash-loader {
  width: 200px;
  height: 4px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.vz-splash-progress {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #6a0dad, #d4af37);
  box-shadow: 0 0 10px rgba(106, 13, 173, 0.8);
  animation: vz-progress-load 2.2s ease-in-out forwards;
}

#vz-splash.vz-splash-fade {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@keyframes vz-splash-zoom {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes vz-progress-load {
  0% { width: 0%; }
  30% { width: 40%; }
  60% { width: 75%; }
  100% { width: 100%; }
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--vz-bot-border);
}

/* ══════════════════════════════════════════════
   SIDEBAR (GEÇMİŞ)
   ══════════════════════════════════════════════ */
.vz-sidebar-overlay {
  position: fixed;
  top: 0; left: 0; width: 100vw; height: 100dvh;
  background: rgba(0,0,0,0.4);
  z-index: 1000;
  display: none;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  animation: vz-fade-in 0.3s;
}
.vz-sidebar-overlay.vz-show { display: block; }

.vz-sidebar {
  position: fixed;
  top: 0; left: 0; width: 280px; height: 100dvh;
  background: var(--vz-glass-bg);
  z-index: 1001;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 10px 0 30px rgba(0,0,0,0.1);
  border-right: 1px solid rgba(106,13,173,0.1);
}
.vz-sidebar.vz-show { transform: translateX(0); }

.vz-sidebar-head {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(106,13,173,0.08);
}
.vz-sidebar-title {
  font-family: 'Syne', sans-serif;
  font-size: 16px;
  font-weight: 800;
  color: var(--vz-accent);
}

.vz-sidebar-body {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.vz-sidebar-body::-webkit-scrollbar { width: 4px; }
.vz-sidebar-body::-webkit-scrollbar-thumb { background: rgba(106,13,173,0.15); border-radius: 10px; }

.vz-new-chat-btn {
  width: 100%;
  padding: 12px;
  border-radius: 14px;
  background: rgba(106,13,173,0.07);
  border: 1.5px dashed var(--vz-accent);
  color: var(--vz-accent);
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.2s;
}
.vz-new-chat-btn:hover {
  background: var(--vz-accent);
  color: #fff;
  border-style: solid;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--vz-accent-glow);
}
.vz-new-chat-btn svg { width: 18px; height: 18px; stroke: currentColor; }

.vz-chat-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.vz-chat-entry {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(106,13,173,0.03);
  border: 1px solid transparent;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: all 0.2s;
  position: relative;
  animation: vz-msg-in 0.3s forwards;
}
.vz-chat-entry:hover {
  background: rgba(106,13,173,0.08);
  border-color: rgba(106,13,173,0.15);
}
.vz-chat-entry.vz-active {
  background: #fff;
  border-color: var(--vz-accent);
  box-shadow: 0 4px 12px rgba(106,13,173,0.08);
}
#vizzi-app[data-theme="dark"] .vz-chat-entry.vz-active {
  background: rgba(106,13,173,0.15);
}

.vz-chat-entry-title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--vz-text-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vz-chat-entry-date {
  font-size: 10px;
  color: var(--vz-text-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.vz-chat-delete-btn {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(239, 68, 68, 0.08);
  color: #ef4444;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.2s;
}
.vz-chat-entry:hover .vz-chat-delete-btn,
.vz-chat-entry:active .vz-chat-delete-btn {
  opacity: 1;
}
.vz-chat-delete-btn:hover {
  background: #ef4444;
  color: #fff;
  transform: translateY(-50%) scale(1.1);
}
.vz-chat-delete-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
}

.vz-sidebar-foot {
  padding: 16px 20px;
  border-top: 1px solid rgba(106,13,173,0.08);
  text-align: center;
}
.vz-version {
  font-size: 10px;
  color: var(--vz-text-muted);
  font-weight: 700;
  letter-spacing: 1px;
}


/* ══════════════════════════════════════════════
   DROPDOWN MENU
   ══════════════════════════════════════════════ */
.dropdown-wrapper { position: relative; }
.vz-header-dd {
  position: absolute;
  top: 50px;
  right: 0;
  background: var(--vz-glass-bg);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.15), 0 0 0 1px rgba(106,13,173,0.08);
  padding: 8px;
  min-width: 200px;
  display: none;
  flex-direction: column;
  gap: 2px;
  z-index: 1000;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  animation: vz-dd-fade 0.3s ease;
  transform-origin: top right;
}
.vz-header-dd.vz-show { display: flex; }

.vz-dd-item {
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--vz-text-dark);
  font-size: 13px;
  font-weight: 600;
}
.vz-dd-item:hover { background: rgba(106,13,173,0.06); color: var(--vz-accent); }
.vz-dd-icon { width: 16px; height: 16px; opacity: 0.7; }

/* REÇETE BİLGİLERİ ALANI (DROPDOWN İÇİ) */
.vz-dd-rx-section {
  margin-top: 6px;
  padding: 12px 14px;
  background: rgba(106,13,173,0.05);
  border-radius: 12px;
  border: 1px dashed rgba(106,13,173,0.2);
}

.vz-dd-rx-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 800;
  color: var(--vz-accent);
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.vz-dd-rx-summary {
  font-size: 11px;
  color: var(--vz-text-dark);
  opacity: 0.7;
  margin-bottom: 10px;
  font-weight: 500;
}

.vz-dd-rx-manage-btn {
  width: 100%;
  padding: 8px;
  border-radius: 8px;
  background: var(--vz-accent);
  color: #fff;
  border: none;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 10px var(--vz-accent-glow);
}
.vz-dd-rx-manage-btn:hover { background: var(--vz-accent-dark); transform: scale(1.02); }

  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 170px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.25s cubic-bezier(0.34,1.56,0.64,1);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.vz-header-dd.vz-show {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.vz-dd-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vz-text-dark);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.vz-dd-icon {
  width: 18px;
  height: 18px;
  color: var(--vz-text-muted);
  transition: color 0.15s;
}
.vz-dd-item:hover, .vz-dd-item:active {
  background: rgba(106,13,173,0.08);
  color: var(--vz-accent);
}
.vz-dd-item:hover .vz-dd-icon, .vz-dd-item:active .vz-dd-icon {
  color: var(--vz-accent);
}

/* ══════════════════════════════════════════════
   GLOBAL MODAL & OVERLAY
   ══════════════════════════════════════════════ */
.vz-overlay {
  position: fixed;
  top: 0; left: 0; width: 100vw; height: 100dvh;
  background: rgba(10, 5, 20, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.vz-overlay.vz-show {
  display: flex !important;
}

.vz-modal {
  background: var(--vz-input-bg); /* Daha opak ve temiz bir zemin */
  width: 100%;
  max-width: 420px;
  max-height: 85vh;
  border-radius: 28px;
  box-shadow: 0 25px 60px rgba(0,0,0,0.35), 0 0 0 1px rgba(106,13,173,0.1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: vz-modal-in 0.4s cubic-bezier(0.34,1.56,0.64,1);
}

@keyframes vz-modal-in {
  from { opacity: 0; transform: translateY(30px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.vz-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(106,13,173,0.06);
  background: var(--vz-header-bg);
  flex-shrink: 0;
}

.vz-close-btn, .vz-back-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(106,13,173,0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--vz-text-dark);
}
.vz-close-btn:hover, .vz-back-btn:hover {
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
  transform: scale(1.1);
}
.vz-back-btn:hover {
  background: rgba(106,13,173,0.1);
  color: var(--vz-accent);
}
.vz-close-btn svg, .vz-back-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
}

.vz-modal-title {
  font-family: 'Syne', sans-serif;
  font-size: 17px;
  font-weight: 800;
  color: var(--vz-accent);
  margin: 0;
  text-align: center;
  flex: 1;
}

.vz-modal-content {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
  background: var(--vz-bot-bg);
}
.vz-modal-content::-webkit-scrollbar { width: 4px; }
.vz-modal-content::-webkit-scrollbar-thumb { background: rgba(106,13,173,0.25); border-radius: 10px; }

/* DOKTORLAR ÖZEL */
.vz-doc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(106,13,173,0.08);
  background: var(--vz-header-bg);
  flex-shrink: 0;
}
@keyframes vz-modal-in {
  from { opacity: 0; transform: translateY(30px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.vz-doc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(106,13,173,0.08);
  background: var(--vz-header-bg);
  flex-shrink: 0;
}
.vz-doc-title {
  font-family: 'Syne', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--vz-accent);
  margin: 0;
  text-align: center;
  flex: 1;
}
.vz-svg-stroke { stroke: var(--vz-text-dark); }
.vz-doc-body {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
  background: var(--vz-bot-bg); /* Hafif farklı arkaplan */
}
.vz-doc-body::-webkit-scrollbar { width: 4px; }
.vz-doc-body::-webkit-scrollbar-thumb { background: rgba(106,13,173,0.25); border-radius: 10px; }

.vz-doc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.vz-doc-card {
  background: var(--vz-glass-bg);
  border: 1px solid var(--vz-bot-border);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}
.vz-doc-card:hover, .vz-doc-card:active {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(106,13,173,0.15);
  border-color: rgba(106,13,173,0.3);
}
.vz-doc-img {
  width: 100%;
  aspect-ratio: 1;
  background: #eee;
  object-fit: cover;
  border-bottom: 1px solid var(--vz-bot-border);
}
.vz-doc-info {
  padding: 14px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.vz-doc-name {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--vz-text-dark);
  line-height: 1.2;
}
.vz-doc-spec {
  font-size: 11px;
  color: var(--vz-text-muted);
  font-weight: 600;
}
.vz-doc-detail-view {
  display: flex;
  flex-direction: column;
  gap: 16px;
  animation: vz-fade-in 0.3s;
}
@keyframes vz-fade-in { from { opacity: 0; } to { opacity: 1; } }
.vz-doc-detail-img {
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.1);
  border: 1px solid var(--vz-bot-border);
}
.vz-doc-detail-name {
  font-size: 22px;
  font-weight: 800;
  color: var(--vz-text-dark);
  font-family: 'Syne', sans-serif;
  line-height: 1.2;
}
.vz-doc-detail-spec {
  font-size: 14px;
  color: var(--vz-accent);
  font-weight: 700;
  margin-top: -8px;
}
.vz-doc-detail-bio {
  font-size: 14px;
  line-height: 1.6;
  color: var(--vz-text-dark);
  background: var(--vz-glass-bg);
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--vz-bot-border);
}

/* ══════════════════════════════════════════════
   SOHBET İÇİ MİNİ DOKTOR KARTLARI
   ══════════════════════════════════════════════ */
.vz-doc-mini-card {
  align-self: flex-start;
  margin-left: 38px;
  margin-top: -5px;
  margin-bottom: 10px;
  width: calc(100% - 60px);
  max-width: 320px;
  background: var(--vz-glass-bg);
  border: 1px solid var(--vz-bot-border);
  border-radius: 16px;
  padding: 10px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 4px 15px rgba(106,13,173,0.08);
  animation: vz-pop-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@keyframes vz-pop-in {
  from { opacity: 0; transform: scale(0.8) translateY(10px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.vz-doc-mini-img {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid rgba(106,13,173,0.1);
  flex-shrink: 0;
}

.vz-doc-mini-content {
  flex: 1;
  min-width: 0;
}

.vz-doc-mini-name {
  font-size: 13px;
  font-weight: 800;
  color: var(--vz-text-dark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vz-doc-mini-spec {
  font-size: 10px;
  color: var(--vz-accent);
  font-weight: 600;
  margin-bottom: 4px;
}

.vz-doc-mini-actions {
  display: flex;
  gap: 6px;
}

.vz-doc-mini-btn {
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 4px;
}

.vz-doc-mini-call {
  background: var(--vz-accent);
  color: #fff;
}
.vz-doc-mini-call:hover { transform: translateY(-1px); box-shadow: 0 3px 8px var(--vz-accent-glow); }

.vz-doc-mini-more {
  background: rgba(106,13,173,0.08);
  color: var(--vz-accent);
}
.vz-doc-mini-more:hover { background: rgba(106,13,173,0.15); }

/* ══════════════════════════════════════════════
   REÇETE CÜZDANI STİLLERİ
   ══════════════════════════════════════════════ */
.vz-rx-actions {
  display: flex;
  margin-bottom: 20px;
}

.vz-rx-btn-primary {
  width: 100%;
  padding: 14px;
  background: var(--vz-accent);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 15px var(--vz-accent-glow);
}
.vz-rx-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px var(--vz-accent-glow); }

.vz-rx-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

/* REÇETE KARTI (ID CARD STYLE) */
.vz-rx-card {
  background: linear-gradient(135deg, #6a0dad 0%, #4a0082 100%);
  color: #fff;
  border-radius: 20px;
  padding: 16px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;
  gap: 12px;
  animation: vz-pop-in 0.4s ease both;
}
.vz-rx-card::before {
  content: "";
  position: absolute;
  top: -20px;
  right: -20px;
  width: 100px;
  height: 100px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}

.vz-rx-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding-bottom: 8px;
}

.vz-rx-card-owner {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.vz-rx-card-date {
  font-size: 11px;
  opacity: 0.8;
}

.vz-rx-card-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.vz-rx-card-eye {
  background: rgba(255,255,255,0.08);
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.05);
}

.vz-rx-eye-title {
  font-size: 10px;
  font-weight: 800;
  margin-bottom: 6px;
  color: var(--vz-accent-light);
  display: block;
}

.vz-rx-val-row {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  margin-bottom: 3px;
}
.vz-rx-val-label { opacity: 0.7; font-weight: 600; }
.vz-rx-val-num { font-weight: 800; font-family: monospace; }

.vz-rx-del-btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(239, 68, 68, 0.2);
  color: #ff4d4d;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.vz-rx-del-btn:hover { background: #ef4444; color: #fff; }
.vz-rx-del-btn svg { width: 14px; height: 14px; stroke: currentColor; fill: none; }

/* FORM */
.vz-rx-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.vz-rx-grid-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.vz-rx-eye-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vz-rx-eye-label {
  font-size: 10px;
  font-weight: 800;
  color: var(--vz-accent);
  text-align: center;
  margin-bottom: 4px;
}

.vz-rx-btn-submit {
  background: var(--vz-accent);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 16px;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
  margin-top: 10px;
  transition: all 0.3s;
}
.vz-rx-btn-submit:hover { background: var(--vz-accent-dark); transform: scale(1.02); }


