:root{--bg: #f8fafc;--text: #1e293b;--muted: #475569;--surface: #ffffff;--primary: #7c3aed;--primary-light: #a855f7;--primary-dark: #6d28d9;--primary-contrast: #ffffff;--accent: #059669;--accent-light: #10b981;--warning: #d97706;--header-gradient-start: #ede9fe;--header-gradient-end: #ddd6fe;--ball-1: rgba(124, 58, 237, .15);--ball-2: rgba(5, 150, 105, .15);--ball-3: rgba(217, 119, 6, .15)}[data-theme=dark]{--bg: #0f172a;--text: #f1f5f9;--muted: #94a3b8;--surface: #1e293b;--primary: #a855f7;--primary-light: #c084fc;--primary-dark: #7c3aed;--primary-contrast: #ffffff;--accent: #10b981;--accent-light: #34d399;--warning: #f59e0b;--header-gradient-start: #1e293b;--header-gradient-end: #334155;--ball-1: rgba( 168, 85, 247, .2 );--ball-2: rgba(16, 185, 129, .2);--ball-3: rgba(245, 158, 11, .2)}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text);transition:background-color .3s ease,color .3s ease}[data-theme=dark]{--text-contrast: #ffffff;--text-secondary: #e2e8f0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ballpit{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}.ballpit .ball{position:absolute;display:block;border-radius:50%;filter:blur(.3px);--h: 60px;--dx: 0px;--mult: 1;--dx-mult: 1;--speed-mult: 1;animation:jump var(--dur, 18s) cubic-bezier(.2,.65,.3,1) infinite;animation-duration:calc(var(--dur, 18s) * var(--speed-mult));transform-origin:center bottom;will-change:transform}.ballpit .ball-1{background:var(--ball-1)}.ballpit .ball-2{background:var(--ball-2)}.ballpit .ball-3{background:var(--ball-3)}.ballpit .ball:nth-child(1){width:120px;height:120px;left:6%;top:8%;--dur: 22s;--h: 80px;--dx: 10px;animation-delay:-3s}.ballpit .ball:nth-child(2){width:80px;height:80px;left:20%;top:70%;--dur: 16s;--h: 55px;--dx: -8px;animation-delay:-8s}.ballpit .ball:nth-child(3){width:160px;height:160px;left:78%;top:18%;--dur: 24s;--h: 95px;--dx: 12px;animation-delay:-5s}.ballpit .ball:nth-child(4){width:60px;height:60px;left:65%;top:72%;--dur: 14s;--h: 45px;--dx: -6px;animation-delay:-6s}.ballpit .ball:nth-child(5){width:140px;height:140px;left:35%;top:10%;--dur: 21s;--h: 85px;--dx: 8px;animation-delay:-2s}.ballpit .ball:nth-child(6){width:90px;height:90px;left:10%;top:45%;--dur: 18s;--h: 65px;--dx: -10px;animation-delay:-9s}.ballpit .ball:nth-child(7){width:110px;height:110px;left:50%;top:28%;--dur: 19s;--h: 75px;--dx: 6px;animation-delay:-7s}.ballpit .ball:nth-child(8){width:75px;height:75px;left:88%;top:60%;--dur: 17s;--h: 50px;--dx: -12px;animation-delay:-11s}.ballpit .ball:nth-child(9){width:95px;height:95px;left:42%;top:82%;--dur: 18s;--h: 60px;--dx: 8px;animation-delay:-4s}.ballpit .ball:nth-child(10){width:130px;height:130px;left:5%;top:82%;--dur: 23s;--h: 70px;--dx: -8px;animation-delay:-10s}.ballpit .ball:nth-child(11){width:150px;height:150px;left:90%;top:8%;--dur: 25s;--h: 100px;--dx: 14px;animation-delay:-12s}.ballpit .ball:nth-child(12){width:70px;height:70px;left:28%;top:50%;--dur: 15s;--h: 52px;--dx: -6px;animation-delay:-13s}.ballpit .ball:nth-child(13){width:100px;height:100px;left:58%;top:6%;--dur: 19s;--h: 68px;--dx: 7px;animation-delay:-1s}.ballpit .ball:nth-child(14){width:85px;height:85px;left:74%;top:44%;--dur: 16s;--h: 58px;--dx: -9px;animation-delay:-14s}@keyframes jump{0%{transform:translateZ(0) scale(1)}18%{transform:translate3d(calc(var(--dx) * var(--dx-mult) * .5),calc(-1 * var(--h) * var(--mult)),0) scale(.98,1.02)}35%{transform:translate3d(calc(var(--dx) * var(--dx-mult)),0,0) scale(1.04,.96)}52%{transform:translate3d(calc(var(--dx) * var(--dx-mult) * -.6),calc(-.6 * var(--h) * var(--mult)),0) scale(.99,1.01)}70%{transform:translateZ(0) scale(1.02,.98)}to{transform:translateZ(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ballpit:not([data-allow-motion=true]) .ball{animation:none!important}}body:hover .ballpit .ball{--mult: 1.25;--dx-mult: 1.35;--speed-mult: .8}:root{--welcome-bg: #0f0a19;--welcome-surface: #1a1625;--welcome-accent: #7c3aed;--welcome-secondary: #059669;--welcome-text: #f8fafc;--welcome-text-secondary: #94a3b8;--welcome-muted: #64748b}.welcome-gate{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,var(--welcome-bg) 0%,var(--welcome-surface) 50%,var(--welcome-bg) 100%);display:flex;align-items:center;justify-content:center;z-index:10000;overflow:hidden;animation:gateAppear 1s ease-out}@keyframes gateAppear{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.welcome-gate.animating{animation:gateExit 2s ease-in-out forwards}@keyframes gateExit{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(.95)}to{opacity:0;transform:scale(1.1);pointer-events:none}}.welcome-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.welcome-background:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(124,58,237,.15) 0%,transparent 45%),radial-gradient(circle at 75% 75%,rgba(5,150,105,.12) 0%,transparent 45%),radial-gradient(circle at 50% 10%,rgba(59,130,246,.1) 0%,transparent 45%)}.floating-shapes{position:absolute;width:100%;height:100%}.shape{position:absolute;border-radius:50%;opacity:.1;animation:floatShape 20s infinite linear}.shape-1{width:60px;height:60px;background:var(--welcome-accent);top:20%;left:10%;animation-delay:0s}.shape-2{width:80px;height:80px;background:var(--welcome-secondary);top:60%;right:15%;animation-delay:-5s}.shape-3{width:40px;height:40px;background:#3b82f6;bottom:30%;left:20%;animation-delay:-10s}.shape-4{width:100px;height:100px;background:#f59e0b;top:10%;right:30%;animation-delay:-15s}@keyframes floatShape{0%{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(120deg)}66%{transform:translateY(10px) rotate(240deg)}to{transform:translateY(0) rotate(360deg)}}.welcome-container{max-width:500px;width:90%;text-align:center;position:relative;z-index:2}.welcome-form-section{animation:slideUp .8s ease-out}.welcome-header{margin-bottom:2rem}.welcome-icon{font-size:4rem;color:var(--welcome-accent);margin-bottom:1rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.welcome-title{font-size:2.5rem;font-weight:700;color:var(--welcome-text);margin-bottom:.5rem;background:linear-gradient(135deg,var(--welcome-accent),var(--welcome-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.1rem;color:var(--welcome-text-secondary);margin-bottom:0;line-height:1.6}.name-form{margin-bottom:2rem}.input-group{position:relative;margin-bottom:1.5rem}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--welcome-muted);font-size:1.1rem;z-index:2}.name-input{width:100%;padding:1rem 1rem 1rem 3rem;font-size:1.1rem;border:2px solid rgba(255,255,255,.2);border-radius:1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--welcome-text);outline:none;transition:all .3s ease;font-family:inherit}.name-input::placeholder{color:var(--welcome-muted)}.name-input:focus{border-color:var(--welcome-accent);background:#ffffff26;box-shadow:0 0 0 4px #7c3aed1a;transform:translateY(-2px)}.enter-button{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--welcome-accent),var(--welcome-secondary));border:none;border-radius:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.enter-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.enter-button:hover:before{left:100%}.enter-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed4d}.enter-button:active{transform:translateY(0)}.button-icon{transition:transform .3s ease}.enter-button:hover .button-icon{transform:translate(5px)}.welcome-features{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--welcome-text-secondary);font-size:.9rem}.feature-icon{color:var(--welcome-accent);font-size:1.2rem}.welcome-message-section{opacity:0;transform:scale(.8);transition:all .8s ease}.welcome-message-section.show{opacity:1;transform:scale(1)}.welcome-animation{position:relative}.pulse-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;border:2px solid var(--welcome-accent);border-radius:50%;animation:pulseWelcome 2s infinite;opacity:.3}@keyframes pulseWelcome{0%{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.1}to{transform:translate(-50%,-50%) scale(1);opacity:.3}}.welcome-content{position:relative;z-index:2;padding:2rem}.greeting-text{font-size:2.2rem;font-weight:700;color:var(--welcome-text);margin-bottom:1rem;animation:textGlow 2s ease infinite alternate}@keyframes textGlow{0%{text-shadow:0 0 20px rgba(124,58,237,.5)}to{text-shadow:0 0 30px rgba(124,58,237,.8)}}.welcome-text{font-size:1.2rem;color:var(--welcome-text-secondary);margin-bottom:2rem;line-height:1.6}.loading-dots{display:flex;justify-content:center;gap:.5rem}.loading-dots span{width:8px;height:8px;background:var(--welcome-accent);border-radius:50%;animation:loadingDot 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingDot{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.entering-section{animation:enteringAppear 1s ease-out}@keyframes enteringAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.entering-animation{text-align:center}.success-checkmark{font-size:4rem;margin-bottom:1rem;animation:checkmarkBounce .6s ease}@keyframes checkmarkBounce{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.entering-text{font-size:2rem;font-weight:700;color:var(--welcome-text);margin-bottom:.5rem;background:linear-gradient(135deg,var(--welcome-accent),var(--welcome-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.entering-subtext{font-size:1.1rem;color:var(--welcome-text-secondary)}.welcome-footer{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:var(--welcome-muted);font-size:.9rem}@media(max-width:768px){.welcome-container{max-width:90%;padding:0 1rem}.welcome-title{font-size:2rem}.welcome-subtitle{font-size:1rem}.welcome-features{flex-direction:column;gap:1rem}.feature{flex-direction:row;justify-content:center}.greeting-text{font-size:1.8rem}.welcome-text{font-size:1rem}.shape-1,.shape-2,.shape-3,.shape-4{display:none}}@media(max-width:480px){.welcome-title{font-size:1.8rem}.name-input{font-size:1rem;padding:.875rem .875rem .875rem 2.5rem}.enter-button{font-size:1rem;padding:.875rem 1.5rem}.greeting-text,.entering-text{font-size:1.5rem}}.loader-container{display:flex;align-items:center;justify-content:center;position:relative}.loader-container.loader-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999}.loader-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loader-text{font-size:1rem;font-weight:500;color:var(--text-primary, #ffffff);text-align:center;margin-top:1rem}.loader-small{font-size:.8rem}.loader-medium{font-size:1rem}.loader-large{font-size:1.5rem}.loader-xl{font-size:2rem}.loader-primary{--loader-color: var(--accent-color, #3b82f6)}.loader-secondary{--loader-color: var(--secondary-color, #64748b)}.loader-success{--loader-color: #10b981}.loader-warning{--loader-color: #f59e0b}.loader-danger{--loader-color: #ef4444}.loader-white{--loader-color: #ffffff}.loader-default{width:50px;height:50px;position:relative}.default-ring{width:100%;height:100%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--loader-color, #3b82f6);border-radius:50%;animation:spin 1s linear infinite;position:relative}.default-inner{position:absolute;inset:6px;border:2px solid transparent;border-top-color:var(--loader-color, #3b82f6);border-radius:50%;animation:spin 2s linear infinite reverse;opacity:.7}.loader-dots{display:flex;gap:8px;align-items:center}.loader-dot{width:12px;height:12px;background:var(--loader-color, #3b82f6);border-radius:50%;animation:dotBounce 1.4s ease-in-out infinite both}.loader-dot:nth-child(1){animation-delay:-.32s}.loader-dot:nth-child(2){animation-delay:-.16s}.loader-pulse{width:60px;height:60px;position:relative;display:flex;align-items:center;justify-content:center}.pulse-ring{position:absolute;border:2px solid var(--loader-color, #3b82f6);border-radius:50%;animation:pulseExpand 2s ease-out infinite}.pulse-ring-1{width:20px;height:20px;animation-delay:0s}.pulse-ring-2{width:40px;height:40px;animation-delay:.5s}.pulse-ring-3{width:60px;height:60px;animation-delay:1s}.pulse-center{width:8px;height:8px;background:var(--loader-color, #3b82f6);border-radius:50%;z-index:2}.loader-spinner{width:50px;height:50px;position:relative}.spinner-blade{position:absolute;width:4px;height:15px;background:var(--loader-color, #3b82f6);border-radius:2px;left:50%;top:10%;transform-origin:50% 200%;animation:spinnerRotate 1.2s linear infinite}.spinner-blade:nth-child(1){transform:rotate(0);animation-delay:0s}.spinner-blade:nth-child(2){transform:rotate(45deg);animation-delay:.15s}.spinner-blade:nth-child(3){transform:rotate(90deg);animation-delay:.3s}.spinner-blade:nth-child(4){transform:rotate(135deg);animation-delay:.45s}.spinner-blade:nth-child(5){transform:rotate(180deg);animation-delay:.6s}.spinner-blade:nth-child(6){transform:rotate(225deg);animation-delay:.75s}.spinner-blade:nth-child(7){transform:rotate(270deg);animation-delay:.9s}.spinner-blade:nth-child(8){transform:rotate(315deg);animation-delay:1.05s}.loader-orbit{width:60px;height:60px;position:relative}.orbit-center{position:absolute;top:50%;left:50%;width:8px;height:8px;background:var(--loader-color, #3b82f6);border-radius:50%;transform:translate(-50%,-50%)}.orbit-ring{position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-ring-1{width:20px;height:20px;animation:orbitRotate 2s linear infinite}.orbit-ring-2{width:35px;height:35px;animation:orbitRotate 3s linear infinite reverse}.orbit-ring-3{width:50px;height:50px;animation:orbitRotate 4s linear infinite}.orbit-dot{position:absolute;width:4px;height:4px;background:var(--loader-color, #3b82f6);border-radius:50%;top:0;left:50%;transform:translate(-50%)}.loader-wave{display:flex;gap:4px;align-items:flex-end;height:40px}.wave-bar{width:6px;background:var(--loader-color, #3b82f6);border-radius:3px;animation:waveHeight 1.5s ease-in-out infinite}.wave-bar:nth-child(1){animation-delay:0s}.wave-bar:nth-child(2){animation-delay:.1s}.wave-bar:nth-child(3){animation-delay:.2s}.wave-bar:nth-child(4){animation-delay:.3s}.wave-bar:nth-child(5){animation-delay:.4s}.loader-cube{width:40px;height:40px;position:relative;transform-style:preserve-3d;animation:cubeRotate 2s infinite ease-in-out}.cube-face{position:absolute;width:40px;height:40px;background:var(--loader-color, #3b82f6);border:1px solid rgba(255,255,255,.3);opacity:.8}.cube-front{transform:rotateY(0) translateZ(20px)}.cube-back{transform:rotateY(180deg) translateZ(20px)}.cube-right{transform:rotateY(90deg) translateZ(20px)}.cube-left{transform:rotateY(-90deg) translateZ(20px)}.cube-top{transform:rotateX(90deg) translateZ(20px)}.cube-bottom{transform:rotateX(-90deg) translateZ(20px)}.loader-tech{width:80px;height:80px;position:relative}.tech-circle{width:100%;height:100%;border:2px solid var(--loader-color, #3b82f6);border-radius:50%;position:relative;animation:techPulse 2s ease-in-out infinite}.tech-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border:1px solid var(--loader-color, #3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#3b82f61a}.tech-code{font-family:Courier New,monospace;font-size:16px;font-weight:700;color:var(--loader-color, #3b82f6);animation:codeFlicker 1s ease-in-out infinite alternate}.tech-particles{position:absolute;width:100%;height:100%}.tech-particle{position:absolute;width:4px;height:4px;background:var(--loader-color, #3b82f6);border-radius:50%;animation:particleFloat 3s ease-in-out infinite}.tech-particle-1{top:10%;left:10%;animation-delay:0s}.tech-particle-2{top:10%;right:10%;animation-delay:.75s}.tech-particle-3{bottom:10%;left:10%;animation-delay:1.5s}.tech-particle-4{bottom:10%;right:10%;animation-delay:2.25s}.loader-progress{width:200px;text-align:center}.progress-track{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--loader-color, #3b82f6) 0%,rgba(59,130,246,.8) 50%,var(--loader-color, #3b82f6) 100%);border-radius:4px;transition:width .3s ease;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:progressShine 2s ease-in-out infinite}.progress-text{margin-top:.5rem;font-size:.9rem;color:var(--loader-color, #3b82f6);font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dotBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes pulseExpand{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}@keyframes spinnerRotate{0%{opacity:1}to{opacity:.15}}@keyframes orbitRotate{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes waveHeight{0%,40%,to{height:10px}20%{height:30px}}@keyframes cubeRotate{0%{transform:rotateX(0) rotateY(0)}50%{transform:rotateX(180deg) rotateY(180deg)}to{transform:rotateX(360deg) rotateY(360deg)}}@keyframes techPulse{0%,to{transform:scale(1);box-shadow:0 0 20px #3b82f64d}50%{transform:scale(1.05);box-shadow:0 0 30px #3b82f699}}@keyframes codeFlicker{0%{opacity:.8}to{opacity:1}}@keyframes particleFloat{0%,to{transform:translateY(0) scale(1);opacity:.7}50%{transform:translateY(-10px) scale(1.2);opacity:1}}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}[data-theme=dark] .loader-text{color:#e2e8f0}[data-theme=light] .loader-text{color:#1a202c}@media(max-width:768px){.loader-large{font-size:1.2rem}.loader-xl{font-size:1.5rem}.loader-progress{width:150px}.loader-tech{width:60px;height:60px}.tech-inner{width:40px;height:40px}.tech-code{font-size:12px}}@media(max-width:480px){.loader-text{font-size:.9rem}.loader-progress{width:120px}}.visitor-dashboard-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:overlayAppear .3s ease}@keyframes overlayAppear{0%{opacity:0}to{opacity:1}}.visitor-dashboard{width:90%;max-width:1200px;height:90%;max-height:800px;background:linear-gradient(135deg,#0f0a19,#1a1625,#0f0a19);border-radius:1.5rem;border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 50px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:dashboardSlideIn .4s ease}@keyframes dashboardSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.dashboard-header h2{color:#f8fafc;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#7c3aed,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#f8fafc;width:40px;height:40px;border-radius:50%;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#fff3;transform:scale(1.1)}.dashboard-tabs{display:flex;padding:0 2rem;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.tab-btn{background:none;border:none;color:#94a3b8;padding:1rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;border-bottom:2px solid transparent;display:flex;align-items:center;gap:.5rem}.tab-btn:hover{color:#f8fafc;background:#ffffff0d}.tab-btn.active{color:#7c3aed;border-bottom-color:#7c3aed;background:#7c3aed1a}.dashboard-content{flex:1;padding:2rem;overflow-y:auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-card:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed33}.stat-icon{width:50px;height:50px;background:linear-gradient(135deg,#7c3aed,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.stat-content{flex:1}.stat-number{font-size:2rem;font-weight:700;color:#f8fafc;line-height:1}.stat-label{font-size:.9rem;color:#94a3b8;margin-top:.25rem}.recent-activity{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem}.recent-activity h3{color:#f8fafc;font-size:1.2rem;margin-bottom:1rem}.activity-item{display:flex;align-items:center;gap:1rem}.activity-icon{font-size:2rem}.activity-content{flex:1}.activity-title{color:#f8fafc;font-weight:500}.activity-time{color:#94a3b8;font-size:.9rem}.visitors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.visitors-header h3{color:#f8fafc;font-size:1.3rem;margin:0}.refresh-btn{background:#7c3aed33;border:1px solid rgba(124,58,237,.3);color:#7c3aed;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;cursor:pointer;transition:all .3s ease}.refresh-btn:hover{background:#7c3aed4d}.visitors-list{display:grid;gap:1rem}.no-visitors{text-align:center;padding:3rem;color:#94a3b8}.visitor-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem;transition:all .3s ease}.visitor-card:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}.visitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.visitor-name{display:flex;align-items:center;gap:.75rem}.name-text{color:#f8fafc;font-size:1.1rem;font-weight:600}.visit-frequency{background:#7c3aed33;color:#7c3aed;padding:.25rem .5rem;border-radius:.5rem;font-size:.8rem;font-weight:500}.visit-count{background:#05966933;color:#059669;padding:.25rem .75rem;border-radius:.5rem;font-size:.9rem;font-weight:500}.visitor-details{display:grid;gap:.5rem;margin-bottom:1rem}.detail-row{display:flex;align-items:center;gap:.5rem;color:#94a3b8;font-size:.9rem}.detail-icon{color:#7c3aed;width:14px}.visit-history{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}.visit-history h4{color:#f8fafc;font-size:1rem;margin-bottom:.5rem}.history-list{display:grid;gap:.25rem}.history-item{color:#94a3b8;font-size:.85rem;padding:.25rem 0}.history-item.more{color:#7c3aed;font-weight:500}.export-tab h3{color:#f8fafc;font-size:1.3rem;margin-bottom:.5rem}.export-tab p{color:#94a3b8;margin-bottom:2rem}.export-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.export-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem;text-align:center;transition:all .3s ease}.export-card:hover{background:#ffffff14;transform:translateY(-2px)}.export-icon{font-size:3rem;margin-bottom:1rem}.export-content h4{color:#f8fafc;font-size:1.1rem;margin-bottom:.5rem}.export-content p{color:#94a3b8;font-size:.9rem;margin-bottom:1rem}.export-btn{background:linear-gradient(135deg,#7c3aed,#059669);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.export-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #7c3aed4d}.danger-zone{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:1rem;padding:1.5rem}.danger-zone h4{color:#ef4444;font-size:1.1rem;margin-bottom:.5rem}.danger-zone p{color:#fca5a5;margin-bottom:1rem}.danger-btn{background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.danger-btn:hover{background:#ef44444d;transform:translateY(-2px)}@media(max-width:768px){.visitor-dashboard{width:95%;height:95%}.dashboard-header{padding:1rem}.dashboard-header h2{font-size:1.2rem}.dashboard-tabs{padding:0 1rem}.tab-btn{padding:.75rem 1rem;font-size:.9rem}.dashboard-content{padding:1rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.export-options{grid-template-columns:1fr}.visitor-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.admin-auth-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}.admin-auth-container{background:var(--bg-primary, #ffffff);border-radius:20px;padding:2rem;width:100%;max-width:400px;margin:1rem;box-shadow:0 20px 40px #0000001a;border:1px solid var(--border-light, #e1e5e9);animation:slideUp .4s ease-out;position:relative}.admin-auth-header{text-align:center;margin-bottom:2rem}.auth-icon{font-size:3rem;color:var(--accent-color, #3b82f6);margin-bottom:1rem;animation:pulse 2s infinite}.admin-auth-header h2{color:var(--text-primary, #1a202c);margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.admin-auth-header p{color:var(--text-secondary, #64748b);margin:0;font-size:.9rem}.admin-auth-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--text-secondary, #64748b);font-size:1rem;z-index:2}.input-group input{width:100%;padding:1rem 1rem 1rem 2.5rem;border:2px solid var(--border-light, #e1e5e9);border-radius:12px;font-size:1rem;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1a202c);transition:all .3s ease;outline:none}.input-group input:focus{border-color:var(--accent-color, #3b82f6);background:var(--bg-primary, #ffffff);box-shadow:0 0 0 3px #3b82f61a}.input-group input:disabled{opacity:.6;cursor:not-allowed}.password-toggle{position:absolute;right:1rem;background:none;border:none;color:var(--text-secondary, #64748b);cursor:pointer;padding:.5rem;font-size:1rem;transition:color .3s ease;z-index:2}.password-toggle:hover{color:var(--accent-color, #3b82f6)}.password-toggle:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#dc2626;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;text-align:center;animation:shake .5s ease-in-out}.auth-buttons{display:flex;gap:1rem;margin-top:1rem}.cancel-btn,.login-btn{flex:1;padding:1rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-height:48px}.cancel-btn{background:var(--bg-secondary, #f8fafc);color:var(--text-secondary, #64748b);border:2px solid var(--border-light, #e1e5e9)}.cancel-btn:hover:not(:disabled){background:var(--bg-primary, #ffffff);border-color:var(--text-secondary, #64748b)}.login-btn{background:var(--accent-color, #3b82f6);color:#fff}.login-btn:hover:not(:disabled){background:var(--accent-dark, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.cancel-btn:disabled,.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-light, #e1e5e9)}.auth-footer small{color:var(--text-secondary, #64748b);font-size:.8rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}[data-theme=dark] .admin-auth-container{background:var(--bg-primary, #1a202c);border-color:var(--border-dark, #2d3748)}[data-theme=dark] .input-group input{background:var(--bg-secondary, #2d3748);border-color:var(--border-dark, #4a5568);color:var(--text-primary, #e2e8f0)}[data-theme=dark] .input-group input:focus{background:var(--bg-primary, #1a202c)}[data-theme=dark] .cancel-btn{background:var(--bg-secondary, #2d3748);border-color:var(--border-dark, #4a5568);color:var(--text-secondary, #a0aec0)}[data-theme=dark] .cancel-btn:hover:not(:disabled){background:var(--bg-primary, #1a202c)}@media(max-width:480px){.admin-auth-container{margin:.5rem;padding:1.5rem}.admin-auth-header h2{font-size:1.3rem}.auth-buttons{flex-direction:column}.cancel-btn,.login-btn{width:100%}}
