/* ============ NOVA FİLO — v3 (guven2.css üstüne biner) ============ */
/* Menü: sadece ikon + gece/gündüz düğmesi */
.gv-dash .nv-theme { width: 38px; padding: 0; justify-content: center; border-radius: 50%; }
.gv-hero h1 { max-width: 16ch; }

/* Showroom: yana kayma yok, sakin */
.gv-show-hint { animation: none; }

/* Hero ortam ışığı: yavaş sürüklenen yeşil aurora */
.gv-hero::after { content: ""; position: absolute; inset: -20% -10%; z-index: -1; pointer-events: none; background: radial-gradient(38% 42% at 25% 35%, rgba(47, 212, 122, 0.16), transparent 70%), radial-gradient(34% 40% at 75% 65%, rgba(143, 240, 180, 0.14), transparent 70%); animation: gvAurora 18s ease-in-out infinite alternate; }
:root[data-theme="dark"] .gv-hero::after { background: radial-gradient(38% 42% at 25% 35%, rgba(47, 212, 122, 0.16), transparent 70%), radial-gradient(34% 40% at 75% 65%, rgba(20, 120, 80, 0.2), transparent 70%); }
@keyframes gvAurora { from { transform: translate3d(-4%, -3%, 0) scale(1); } to { transform: translate3d(5%, 4%, 0) scale(1.12); } }

/* Son adım paneli: siyah-yeşil */
.nv-final { background: radial-gradient(90% 120% at 100% 0%, #0f3322 0%, transparent 60%), linear-gradient(160deg, #07120c 0%, #0a1d13 100%); border: 1px solid rgba(47, 212, 122, 0.22); box-shadow: 0 40px 80px -40px rgba(7, 18, 12, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.06); }
.nv-final::before { background: radial-gradient(circle, rgba(47, 212, 122, 0.34), transparent 68%); animation: gvBreath 6s ease-in-out infinite; }
.nv-final::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(47, 212, 122, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(47, 212, 122, 0.07) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(70% 90% at 100% 0%, #000, transparent 70%); mask-image: radial-gradient(70% 90% at 100% 0%, #000, transparent 70%); }
.nv-final li svg { color: #5ff0a0; }
.nv-final .nv-kicker { color: #7af2b0; }
.nv-final .nv-btn-red { color: #04140b; background: #2fd47a; box-shadow: 0 12px 30px -10px rgba(47, 212, 122, 0.6); }
.nv-final .nv-btn-red:hover { background: #5ff0a0; }
.nv-final li { transition: transform 0.35s var(--ease), border-color 0.35s; }
.nv-final li:hover { transform: translateX(6px); border-color: rgba(47, 212, 122, 0.5); }

/* ============ Yönetim paneli: gece ambiyansı ============ */
.ap-shell { --ap-accent: #2fd47a; --ap-border: rgba(130, 210, 165, 0.14); background: radial-gradient(1100px 600px at 8% -10%, rgba(47, 212, 122, 0.12), transparent 55%), radial-gradient(900px 520px at 100% 0%, rgba(20, 120, 80, 0.14), transparent 55%), #050a07; position: relative; isolation: isolate; }
.ap-shell::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(47, 212, 122, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(47, 212, 122, 0.045) 1px, transparent 1px); background-size: 52px 52px; -webkit-mask-image: radial-gradient(80% 70% at 60% 20%, #000, transparent 80%); mask-image: radial-gradient(80% 70% at 60% 20%, #000, transparent 80%); animation: gvGrid 50s linear infinite; }
.ap-brand-mark { color: #04140b; background: linear-gradient(135deg, #5ff0a0, #1fb866); box-shadow: 0 10px 30px rgba(47, 212, 122, 0.4); position: relative; }
.ap-brand-mark::after { content: ""; position: absolute; inset: -4px; border-radius: 17px; border: 1px solid rgba(47, 212, 122, 0.5); animation: gvCta 3s ease-out infinite; }
.ap-nav-link { transition: background 0.25s, color 0.25s, transform 0.3s var(--ease); }
.ap-nav-link:hover { transform: translateX(4px); }
.ap-nav-link.is-active { background: linear-gradient(135deg, rgba(47, 212, 122, 0.24), rgba(47, 212, 122, 0.07)); box-shadow: inset 0 0 0 1px rgba(47, 212, 122, 0.34), 0 0 24px -8px rgba(47, 212, 122, 0.5); }
.ap-content .admin-card, .ap-card, .admin-stat { animation: gvRiseIn 0.7s var(--ease) both; }
.ap-content > *:nth-child(2) { animation-delay: 0.06s; }
.ap-content > *:nth-child(3) { animation-delay: 0.12s; }
.ap-content > *:nth-child(4) { animation-delay: 0.18s; }
@keyframes gvRiseIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.admin-stat:hover, .ap-content .admin-card:hover { border-color: rgba(47, 212, 122, 0.3); box-shadow: 0 14px 34px -12px rgba(47, 212, 122, 0.2); }
.ap-shell .btn-primary, .ap-login .btn-primary { color: #04140b; background: linear-gradient(135deg, #5ff0a0, #2fd47a); box-shadow: 0 10px 26px -10px rgba(47, 212, 122, 0.6); }
.ap-shell .btn-primary:hover, .ap-login .btn-primary:hover { background: #5ff0a0; }
.ap-avatar { background: linear-gradient(135deg, #5ff0a0, #1fb866); color: #04140b; }
.ap-live-pill { color: #7af2b0; }

/* Giriş ekranı */
.ap-login { background: #040806; }
.ap-login-bg { animation: gvAurora 14s ease-in-out infinite alternate; background: radial-gradient(800px 420px at 20% 25%, rgba(47, 212, 122, 0.26), transparent 62%), radial-gradient(700px 400px at 80% 15%, rgba(20, 120, 80, 0.3), transparent 58%), radial-gradient(600px 420px at 65% 85%, rgba(143, 240, 180, 0.1), transparent 55%); }
.ap-login-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(47, 212, 122, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(47, 212, 122, 0.07) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(60% 60% at 50% 50%, #000, transparent 75%); mask-image: radial-gradient(60% 60% at 50% 50%, #000, transparent 75%); animation: gvGrid 40s linear infinite; }
.ap-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(47, 212, 122, 0.35); pointer-events: none; }
.ap-orb::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #5ff0a0; top: 8%; left: 50%; box-shadow: 0 0 18px 4px rgba(47, 212, 122, 0.6); }
.ap-orb-1 { width: 520px; height: 520px; animation: gvSpin 38s linear infinite; }
.ap-orb-2 { width: 760px; height: 760px; border-style: dashed; border-color: rgba(47, 212, 122, 0.2); animation: gvSpin 62s linear infinite reverse; }
.ap-orb-3 { width: 1000px; height: 1000px; border-color: rgba(47, 212, 122, 0.1); animation: gvSpin 90s linear infinite; }
.ap-login-card { background: linear-gradient(180deg, rgba(16, 28, 22, 0.88), rgba(8, 16, 12, 0.92)); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid rgba(47, 212, 122, 0.22); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, 0.8), 0 0 70px -20px rgba(47, 212, 122, 0.3); animation: gvLoginIn 0.9s var(--ease) both; }
.ap-login-card::before { content: ""; position: absolute; left: 12%; right: 12%; top: -1px; height: 2px; background: linear-gradient(90deg, transparent, #5ff0a0, transparent); animation: gvScan 3.6s ease-in-out infinite; }
@keyframes gvLoginIn { from { opacity: 0; transform: translateY(26px) scale(0.97); } to { opacity: 1; transform: none; } }
@keyframes gvScan { 0%, 100% { opacity: 0.2; transform: scaleX(0.4); } 50% { opacity: 1; transform: scaleX(1); } }
.ap-login-form input:focus { border-color: #2fd47a; box-shadow: 0 0 0 3px rgba(47, 212, 122, 0.2); }
