@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600&display=swap";:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--text-primary: #f5f5f7;--text-secondary: #a1a1aa;--text-muted: #52525b;--accent-primary: #8b5cf6;--accent-secondary: #ec4899;--accent-tertiary: #06b6d4;--font-display: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(139, 92, 246, .3);--border-subtle: 1px solid rgba(255, 255, 255, .06);--border-light: 1px solid rgba(255, 255, 255, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:var(--font-body);font-size:1rem}img{max-width:100%;height:auto}::selection{background:#8b5cf64d;color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gradient-text{background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--border-subtle)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-background{position:fixed;inset:0;pointer-events:none;z-index:0}.login-background .glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.2}.login-background .glow-1{width:500px;height:500px;background:var(--accent-primary);top:-150px;right:-100px;animation:float1 20s ease-in-out infinite}.login-background .glow-2{width:400px;height:400px;background:var(--accent-secondary);bottom:-100px;left:-100px;animation:float2 25s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(-30px,30px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(30px,-20px)}}.login-background .noise-overlay{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03;mix-blend-mode:overlay}.login-container{width:100%;max-width:420px;background:#12121acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:2.5rem;position:relative;z-index:1;box-shadow:0 20px 60px #00000080}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:70px;height:70px;border-radius:20px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 1.25rem;box-shadow:0 10px 40px #8b5cf666}.login-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700;background:linear-gradient(90deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.login-header p{color:var(--text-muted);font-size:.9rem}.login-options{display:flex;flex-direction:column;gap:1rem}.login-option{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--text-primary)}.login-option:hover{background:#8b5cf61a;border-color:var(--accent-primary);transform:translate(4px)}.login-option svg:first-child{color:var(--accent-primary);flex-shrink:0}.login-option svg:last-child{color:var(--text-muted);margin-left:auto;flex-shrink:0}.option-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.option-title{font-weight:600;font-size:1rem}.option-desc{font-size:.8rem;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.back-button{align-self:flex-start;padding:.5rem 0;color:var(--text-muted);font-size:.85rem;transition:color .2s ease}.back-button:hover{color:var(--accent-primary)}.users-list{display:flex;flex-direction:column;gap:.75rem;max-height:280px;overflow-y:auto;padding-right:.5rem}.users-list::-webkit-scrollbar{width:4px}.users-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.no-users{text-align:center;padding:2rem;color:var(--text-muted)}.no-users svg{margin-bottom:.75rem;opacity:.5}.user-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.user-card:hover{background:#ffffff0d;border-color:#ffffff1a}.user-card.selected{background:#8b5cf626;border-color:var(--accent-primary)}.user-avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:#fff;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.user-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-id{font-size:.75rem;color:var(--text-muted)}.user-stats{font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-group input{padding:.85rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-primary);font-size:1rem;transition:all .2s ease}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{outline:none;border-color:var(--accent-primary);background:#8b5cf60d}.form-hint{font-size:.7rem;color:var(--text-muted)}.error-message{padding:.75rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.85rem}.submit-button{padding:1rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;border-radius:12px;color:#fff;font-family:var(--font-display);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf666}.submit-button:disabled{opacity:.5;cursor:not-allowed}.input-wrapper{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 12px;transition:all .2s ease}.input-wrapper:focus-within{border-color:var(--accent-primary);background:#8b5cf60d}.input-wrapper svg{color:var(--text-muted);flex-shrink:0}.input-wrapper input{flex:1;background:none;border:none;padding:.85rem .5rem;color:var(--text-primary);font-size:1rem;outline:none}.input-wrapper input::placeholder{color:var(--text-muted)}.input-wrapper input:-webkit-autofill,.input-wrapper input:-webkit-autofill:hover,.input-wrapper input:-webkit-autofill:focus,.input-wrapper input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px rgba(18,18,26,1) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary);transition:background-color 5000s ease-in-out 0s}.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus,.form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px rgba(18,18,26,1) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary);transition:background-color 5000s ease-in-out 0s}.toggle-password{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);transition:color .2s;display:flex;align-items:center}.toggle-password:hover{color:var(--text-primary)}.code-input input{text-align:center;letter-spacing:8px;font-size:1.5rem;font-weight:700;font-family:var(--font-display)}.form-description{color:var(--text-muted);font-size:.9rem;line-height:1.5}.form-description strong{color:var(--accent-primary)}.forgot-link,.resend-link{background:none;border:none;color:var(--accent-primary);font-size:.85rem;cursor:pointer;padding:0;transition:color .2s;text-align:left}.forgot-link:hover,.resend-link:hover{color:var(--accent-secondary);text-decoration:underline}.resend-link{text-align:center;margin-top:.5rem}.resend-link:disabled{opacity:.5;cursor:not-allowed}.success-message{display:flex;align-items:center;gap:8px;padding:.75rem 1rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#22c55e;font-size:.85rem}.error-message{display:flex;align-items:center;gap:8px}.layout{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.header{height:70px;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;background:#0006;border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:10}.logo{display:flex;align-items:center;gap:.85rem}.logo-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px #8b5cf666}.logo-text{display:flex;flex-direction:column}.logo-name{font-family:var(--font-display);font-size:1.35rem;font-weight:700;background:linear-gradient(90deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.logo-tagline{font-size:.7rem;color:var(--text-muted);letter-spacing:.5px}.header-extra{display:flex;align-items:center;gap:1rem}.header-accent{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--accent-primary) 20%,var(--accent-secondary) 50%,var(--accent-primary) 80%,transparent 100%);opacity:.5}.main-content{flex:1;display:flex;position:relative;z-index:1;overflow:hidden}.background-effects{position:fixed;inset:0;pointer-events:none;z-index:0}.glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.15}.glow-1{width:600px;height:600px;background:var(--accent-primary);top:-200px;left:-200px;animation:float1 20s ease-in-out infinite}.glow-2{width:500px;height:500px;background:var(--accent-secondary);bottom:-150px;right:-150px;animation:float2 25s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(50px,30px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-40px,-20px)}}.noise-overlay{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03;mix-blend-mode:overlay}.message-bubble{display:flex;gap:1rem;padding:1rem;border-radius:16px;margin-bottom:1rem;max-width:85%}.message-bubble.assistant{background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border:1px solid rgba(139,92,246,.2);align-self:flex-start}.message-bubble.user{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);align-self:flex-end;flex-direction:row-reverse}.message-avatar{flex-shrink:0}.avatar-camila{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:#fff;box-shadow:0 4px 15px #8b5cf666}.avatar-user{width:40px;height:40px;border-radius:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-secondary)}.message-content{flex:1;min-width:0}.message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.message-author{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--text-primary)}.message-bubble.assistant .message-author{background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.message-time{font-size:.75rem;color:var(--text-muted)}.message-text{font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.message-bubble.assistant .message-text{color:var(--text-primary)}.message-actions{margin-top:.75rem;display:flex;gap:.5rem}.voice-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:8px;border:1px solid rgba(139,92,246,.3);background:#8b5cf61a;color:var(--accent-primary);font-size:.8rem;font-family:var(--font-body);cursor:pointer;transition:all .2s ease}.voice-button:hover:not(:disabled){background:#8b5cf633;border-color:var(--accent-primary);transform:translateY(-1px)}.voice-button:disabled{opacity:.6;cursor:not-allowed}.voice-button.playing{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.voice-button .icon{flex-shrink:0}.voice-button .icon.spinning{animation:spin 1s linear infinite}.input-bar{padding:1.5rem;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.3) 100%);border-top:1px solid rgba(255,255,255,.05)}.input-container{display:flex;align-items:flex-end;gap:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:.75rem 1rem;transition:all .2s ease}.input-container:focus-within{border-color:var(--accent-primary);background:#8b5cf60d;box-shadow:0 0 20px #8b5cf626}.input-container textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;line-height:1.5;resize:none;min-height:24px;max-height:150px}.input-container textarea::placeholder{color:var(--text-muted)}.input-container textarea:disabled{opacity:.6}.input-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.mic-button{width:40px;height:40px;border-radius:10px;border:none;background:#ffffff14;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mic-button:hover:not(:disabled){background:#ffffff1f;color:var(--text-secondary)}.mic-button:disabled{opacity:.5;cursor:not-allowed}.mic-button.recording{background:#ef444433;color:#ef4444;animation:pulse-recording 1.5s ease-in-out infinite}.mic-button .icon.spinning{animation:spin 1s linear infinite}@keyframes pulse-recording{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.send-button{width:44px;height:44px;border-radius:12px;border:none;background:#ffffff1a;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-button.active{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 15px #8b5cf666}.send-button.active:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 20px #8b5cf680}.send-button .icon.spinning{animation:spin 1s linear infinite}.input-hint{margin-top:.5rem;text-align:center}.input-hint span{font-size:.7rem;color:var(--text-muted);opacity:.6}.energy-orb-container{position:relative;display:flex;align-items:center;justify-content:center;animation:orb-float 4s ease-in-out infinite}.energy-orb-container:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.8) 0%,rgba(139,92,246,.4) 50%,transparent 70%);filter:url(#energy-turbulence);animation:energy-flicker .15s infinite}@keyframes energy-flicker{0%,to{opacity:.8;transform:scale(1.05)}50%{opacity:1;transform:scale(1.08)}}.orb-filters{position:absolute;width:0;height:0;overflow:hidden}.energy-flares{position:absolute;width:100%;height:100%;pointer-events:none}.flare{position:absolute;top:50%;left:50%;width:8px;height:40px;background:linear-gradient(to top,rgba(168,85,247,.9) 0%,rgba(236,72,153,.6) 40%,rgba(255,255,255,.8) 70%,transparent 100%);border-radius:50%/80% 80% 20% 20%;filter:blur(2px);transform-origin:bottom center;opacity:0;animation:flare-burst 2s ease-out infinite}.flare-1{transform:translate(-50%,-100%) rotate(0);animation-delay:0s}.flare-2{transform:translate(-50%,-100%) rotate(45deg);animation-delay:.25s}.flare-3{transform:translate(-50%,-100%) rotate(90deg);animation-delay:.5s}.flare-4{transform:translate(-50%,-100%) rotate(135deg);animation-delay:.75s}.flare-5{transform:translate(-50%,-100%) rotate(180deg);animation-delay:1s}.flare-6{transform:translate(-50%,-100%) rotate(225deg);animation-delay:1.25s}.flare-7{transform:translate(-50%,-100%) rotate(270deg);animation-delay:1.5s}.flare-8{transform:translate(-50%,-100%) rotate(315deg);animation-delay:1.75s}@keyframes flare-burst{0%{opacity:0;height:20px;filter:blur(2px)}15%{opacity:1;height:50px;filter:blur(1px)}30%{opacity:.8;height:35px}50%{opacity:0;height:15px;filter:blur(3px)}to{opacity:0;height:15px}}.plasma-edge{position:absolute;width:105%;height:105%;border-radius:50%;background:radial-gradient(circle,transparent 40%,rgba(168,85,247,.4) 50%,rgba(139,92,246,.6) 55%,rgba(236,72,153,.3) 60%,transparent 65%);filter:url(#energy-turbulence);animation:plasma-wobble .1s infinite}@keyframes plasma-wobble{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.02) rotate(1deg)}50%{transform:scale(.98) rotate(-1deg)}75%{transform:scale(1.01) rotate(.5deg)}}@keyframes orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.orb-glow{position:absolute;border-radius:50%;pointer-events:none}.orb-glow-1{width:200%;height:200%;background:radial-gradient(circle,rgba(139,92,246,.15) 0%,rgba(139,92,246,.05) 40%,transparent 70%);animation:glow-pulse-1 3s ease-in-out infinite}.orb-glow-2{width:160%;height:160%;background:radial-gradient(circle,rgba(168,85,247,.2) 0%,rgba(236,72,153,.1) 50%,transparent 70%);animation:glow-pulse-2 2.5s ease-in-out infinite}.orb-glow-3{width:130%;height:130%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,rgba(139,92,246,.15) 40%,transparent 60%);animation:glow-pulse-3 2s ease-in-out infinite}@keyframes glow-pulse-1{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes glow-pulse-2{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes glow-pulse-3{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.orb-sphere{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff6,#a855f799,#8b5cf6cc,#6d28d9e6,#4c1d95,#2e1065);box-shadow:inset 0 0 60px #ffffff4d,inset 20px 20px 60px #a855f780,inset -20px -20px 60px #4c1d95cc,0 0 30px #8b5cf699,0 0 60px #8b5cf666,0 0 100px #8b5cf633;overflow:hidden;animation:sphere-breathe 3s ease-in-out infinite}@keyframes sphere-breathe{0%,to{box-shadow:inset 0 0 60px #ffffff4d,inset 20px 20px 60px #a855f780,inset -20px -20px 60px #4c1d95cc,0 0 30px #8b5cf699,0 0 60px #8b5cf666,0 0 100px #8b5cf633}50%{box-shadow:inset 0 0 80px #ffffff80,inset 20px 20px 80px #a855f7b3,inset -20px -20px 80px #4c1d95e6,0 0 40px #8b5cf6cc,0 0 80px #8b5cf680,0 0 120px #8b5cf64d}}.orb-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:35%;height:35%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.8) 30%,rgba(196,181,253,.6) 60%,transparent 100%);filter:blur(2px);animation:core-pulse 2s ease-in-out infinite}@keyframes core-pulse{0%,to{opacity:.9;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}.orb-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(255,255,255,.2);transform-style:preserve-3d}.orb-ring-1{width:70%;height:70%;transform:translate(-50%,-50%) rotateX(60deg);animation:ring-rotate-1 8s linear infinite;border-color:#a855f766}.orb-ring-2{width:85%;height:85%;transform:translate(-50%,-50%) rotateY(60deg);animation:ring-rotate-2 12s linear infinite reverse;border-color:#ec48994d}@keyframes ring-rotate-1{0%{transform:translate(-50%,-50%) rotateX(60deg) rotate(0)}to{transform:translate(-50%,-50%) rotateX(60deg) rotate(360deg)}}@keyframes ring-rotate-2{0%{transform:translate(-50%,-50%) rotateY(60deg) rotate(0)}to{transform:translate(-50%,-50%) rotateY(60deg) rotate(360deg)}}.orb-highlight{position:absolute;border-radius:50%;pointer-events:none}.orb-highlight-top{top:8%;left:15%;width:35%;height:20%;background:linear-gradient(180deg,#fff9,#ffffff1a);filter:blur(3px);transform:rotate(-20deg)}.orb-highlight-bottom{bottom:15%;right:10%;width:20%;height:10%;background:#ffffff26;filter:blur(4px)}.orb-particles{position:absolute;inset:0;border-radius:50%;overflow:hidden}.orb-particles span{position:absolute;width:4px;height:4px;background:#fffc;border-radius:50%;box-shadow:0 0 6px #fff9;animation:particle-float 4s ease-in-out infinite}.orb-particles span:nth-child(1){top:20%;left:30%;animation-delay:0s}.orb-particles span:nth-child(2){top:40%;left:70%;animation-delay:.5s;width:3px;height:3px}.orb-particles span:nth-child(3){top:60%;left:25%;animation-delay:1s}.orb-particles span:nth-child(4){top:75%;left:60%;animation-delay:1.5s;width:2px;height:2px}.orb-particles span:nth-child(5){top:35%;left:50%;animation-delay:2s;width:3px;height:3px}.orb-particles span:nth-child(6){top:55%;left:40%;animation-delay:2.5s}@keyframes particle-float{0%,to{opacity:.3;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-8px) scale(1.3)}}.energy-orb-container.high .orb-sphere{box-shadow:inset 0 0 80px #ffffff80,inset 20px 20px 80px #a855f7b3,inset -20px -20px 80px #4c1d95e6,0 0 50px #8b5cf6cc,0 0 100px #8b5cf699,0 0 150px #8b5cf666}.energy-orb-container.low .orb-sphere{box-shadow:inset 0 0 40px #fff3,inset 20px 20px 40px #a855f74d,inset -20px -20px 40px #4c1d9599,0 0 20px #8b5cf666,0 0 40px #8b5cf633}.quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-left:3.5rem}.quick-action-btn{display:flex;flex-direction:column;gap:.15rem;padding:.6rem 1rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.quick-action-btn:hover{background:#8b5cf633;border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf633}.quick-action-btn:active{transform:translateY(0)}.action-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.action-description{font-size:.75rem;color:var(--text-muted)}@media(max-width:600px){.quick-actions{padding-left:0;justify-content:center}.quick-action-btn{flex:1;min-width:120px;text-align:center;align-items:center}}.chat-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.messages-area{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:#fff3}.messages-list{display:flex;flex-direction:column}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:1rem}.empty-state h2{font-family:var(--font-display);font-size:2rem;font-weight:700;background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.empty-state p{color:var(--text-secondary);font-size:1rem;line-height:1.6;max-width:400px}.typing-indicator{display:flex;align-items:center;gap:.75rem;padding:1rem;margin-top:.5rem}.typing-avatar{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:#fff}.typing-dots{display:flex;gap:4px}.typing-dots span{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);animation:typing 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.typing-text{font-size:.85rem;color:var(--text-muted);font-style:italic}.big-five-chart{padding:1.25rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:16px}.chart-title{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.chart-title:before{content:"";width:3px;height:16px;background:linear-gradient(180deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:2px}.chart-container{margin:0 -.5rem}.traits-list{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.trait-item{display:flex;align-items:center;gap:.75rem}.trait-label{font-size:.75rem;color:var(--text-secondary);width:90px;flex-shrink:0}.trait-bar{flex:1;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.trait-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:3px;transition:width .5s ease}.trait-value{font-size:.75rem;font-weight:600;color:var(--accent-primary);width:35px;text-align:right}.profile-card{display:flex;flex-direction:column;gap:1.25rem}.profile-card.empty{min-height:200px}.empty-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:16px;color:var(--text-muted)}.empty-placeholder svg{margin-bottom:.75rem;opacity:.5}.empty-placeholder p{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.empty-placeholder span{font-size:.75rem}.profile-section{padding:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px}.section-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.85rem}.section-title svg{color:var(--accent-primary)}.needs-list{display:flex;flex-direction:column;gap:.5rem}.need-item{display:flex;align-items:center;gap:.6rem}.need-label{font-size:.75rem;color:var(--text-secondary);width:75px;flex-shrink:0}.need-bar{flex:1;height:5px;background:#ffffff14;border-radius:3px;overflow:hidden}.need-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-radius:3px}.need-value{font-size:.7rem;font-weight:600;color:var(--accent-primary);width:30px;text-align:right}.comm-stats{display:flex;flex-direction:column;gap:.6rem}.comm-stat{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:.75rem;color:var(--text-secondary)}.stat-dots{display:flex;gap:4px}.dot{width:8px;height:8px;border-radius:50%;background:#ffffff1a;transition:all .2s ease}.dot.active{background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary)}.insights-list{display:flex;flex-direction:column;gap:.6rem}.insight-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;line-height:1.4}.insight-bullet{color:var(--accent-primary);font-weight:700;flex-shrink:0}.insight-text{color:var(--text-secondary);flex:1}.insight-confidence{font-size:.65rem;color:var(--accent-primary);background:#8b5cf626;padding:.15rem .4rem;border-radius:4px;flex-shrink:0}.emotion-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--emotion-bg);border:1px solid var(--emotion-color);border-radius:12px;transition:all .2s ease}.emotion-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--emotion-bg)}.emotion-badge.small{padding:.35rem .6rem;gap:.35rem}.emotion-badge.large{padding:.75rem 1rem;gap:.75rem}.emotion-emoji{font-size:1.25rem;line-height:1}.emotion-badge.small .emotion-emoji{font-size:1rem}.emotion-badge.large .emotion-emoji{font-size:1.5rem}.emotion-info{display:flex;flex-direction:column;gap:.15rem}.emotion-text{font-size:.85rem;font-weight:600;color:var(--emotion-color);text-transform:capitalize;line-height:1.2}.emotion-badge.small .emotion-text{font-size:.75rem}.emotion-intensity{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.emotion-intensity.alta{color:var(--emotion-color)}.emotion-intensity.media{color:var(--text-secondary)}.emotion-intensity.baja{color:var(--text-muted)}.sidebar{height:100%;background:var(--bg-secondary);border-left:1px solid rgba(255,255,255,.06);overflow:hidden;position:relative}.sidebar-content{width:340px;height:100%;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;background:#0003}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.user-details{display:flex;flex-direction:column;gap:.35rem}.user-name{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text-primary)}.refresh-button{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.refresh-button:hover:not(:disabled){background:#8b5cf626;border-color:var(--accent-primary);color:var(--accent-primary)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button .spinning{animation:spin 1s linear infinite}.sidebar-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.sidebar-body::-webkit-scrollbar{width:4px}.sidebar-body::-webkit-scrollbar-track{background:transparent}.sidebar-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.sidebar-toggle{position:fixed;right:0;top:50%;transform:translateY(-50%);width:24px;height:60px;border:none;border-radius:8px 0 0 8px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-right:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100}.sidebar-toggle:hover{background:#8b5cf633;color:var(--accent-primary)}.sidebar-toggle.open{right:340px}.call-manager{background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:1rem}.call-manager-header{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.call-input-group{display:flex;gap:.5rem}.call-input{flex:1;padding:.6rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-primary);font-size:.85rem;outline:none;transition:all .2s ease}.call-input:focus{border-color:var(--accent-primary);background:#8b5cf61a}.call-input::placeholder{color:var(--text-muted)}.call-button{width:40px;height:40px;border-radius:8px;border:1px solid rgba(34,197,94,.3);background:#22c55e26;color:#22c55e;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.call-button:hover:not(:disabled){background:#22c55e40;border-color:#22c55e}.call-button:disabled{opacity:.5;cursor:not-allowed}.call-button .spinning{animation:spin 1s linear infinite}.call-error{margin-top:.5rem;padding:.5rem;border-radius:6px;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.8rem}.active-calls{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.active-calls-header{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.active-call-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .6rem;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);margin-bottom:.4rem}.call-info{display:flex;flex-direction:column;gap:.15rem}.call-number{font-size:.85rem;color:var(--text-primary);font-weight:500}.call-status{font-size:.7rem;color:#22c55e;text-transform:uppercase;letter-spacing:.03em}.end-call-button{width:28px;height:28px;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:#ef444426;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.end-call-button:hover{background:#ef444440;border-color:#ef4444}.user-phone-section{margin-bottom:.75rem}.user-phone-label{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.user-phone-label .saved-check{color:#22c55e;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.saved-phone-display{padding:.6rem .75rem;border-radius:8px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s ease}.saved-phone-display:hover{border-color:var(--accent-primary);background:#8b5cf626}.user-phone-hint{font-size:.7rem;color:var(--text-muted);margin-top:.4rem;opacity:.8}.save-phone-button{border-color:#8b5cf64d;background:#8b5cf626;color:var(--accent-primary)}.save-phone-button:hover:not(:disabled){background:#8b5cf640;border-color:var(--accent-primary)}.call-section-divider{height:1px;background:#ffffff0f;margin:1rem 0}.outbound-calls-label{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.verified-badge{color:#22c55e;margin-left:auto}.saved-phone-row{display:flex;gap:.5rem;align-items:stretch}.saved-phone-row .saved-phone-display{flex:1}.saved-phone-display.verified{border-color:#22c55e4d;background:#22c55e1a}.verify-phone-button{width:40px;border-radius:8px;border:1px solid rgba(59,130,246,.3);background:#3b82f626;color:#3b82f6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.verify-phone-button:hover:not(:disabled){background:#3b82f640;border-color:#3b82f6}.verify-phone-button:disabled{opacity:.5;cursor:not-allowed}.verification-pending{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;border-radius:8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#3b82f6;font-size:.75rem}.user-phone-hint.verified{display:flex;align-items:center;gap:.3rem;color:#22c55e;opacity:1}.calendar-manager{background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:1rem}.calendar-manager-header{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.calendar-add-btn{margin-left:auto;width:28px;height:28px;border-radius:6px;border:1px solid rgba(139,92,246,.3);background:#8b5cf626;color:var(--accent-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.calendar-add-btn:hover{background:#8b5cf640;border-color:var(--accent-primary)}.calendar-loading{display:flex;justify-content:center;padding:1rem}.calendar-loading .spinning{animation:spin 1s linear infinite;color:var(--text-muted)}.calendar-error{padding:.5rem;border-radius:6px;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.8rem;margin-bottom:.75rem}.calendar-connect-btn{width:100%;padding:.75rem;border-radius:8px;border:1px solid rgba(66,133,244,.3);background:#4285f426;color:#4285f4;font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.calendar-connect-btn:hover{background:#4285f440;border-color:#4285f4}.calendar-create-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.75rem;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.calendar-create-form input{padding:.5rem .6rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-primary);font-size:.8rem;outline:none;transition:all .2s ease}.calendar-create-form input:focus{border-color:var(--accent-primary);background:#8b5cf61a}.calendar-create-form input::placeholder{color:var(--text-muted)}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.cancel-btn,.submit-btn{flex:1;padding:.5rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn{border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-secondary)}.cancel-btn:hover{background:#ffffff1a}.submit-btn{border:1px solid rgba(139,92,246,.3);background:#8b5cf633;color:var(--accent-primary)}.submit-btn:hover{background:#8b5cf64d;border-color:var(--accent-primary)}.calendar-events{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.no-events{text-align:center;padding:1rem;color:var(--text-muted);font-size:.85rem}.calendar-event-item{padding:.6rem .75rem;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.event-title{font-size:.85rem;color:var(--text-primary);font-weight:500;margin-bottom:.35rem}.event-meta{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted)}.event-meta+.event-meta{margin-top:.2rem}.calendar-disconnect-btn{width:100%;padding:.5rem;border-radius:6px;border:1px solid rgba(239,68,68,.2);background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .2s ease}.calendar-disconnect-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.location-manager{background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.06);padding:1rem}.location-manager-header{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.tracking-toggle{margin-left:auto;width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.tracking-toggle:hover{background:#8b5cf626;border-color:var(--accent-primary);color:var(--accent-primary)}.tracking-toggle.active{background:#22c55e33;border-color:#22c55e;color:#22c55e;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.location-error{padding:.5rem;border-radius:6px;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.8rem;margin-bottom:.75rem}.current-location{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.location-info{flex:1;min-width:0}.location-place{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-primary)}.place-name{text-transform:capitalize;font-weight:500}.location-city{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.no-location{flex:1;font-size:.85rem;color:var(--text-muted)}.refresh-location-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(139,92,246,.3);background:#8b5cf626;color:var(--accent-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.refresh-location-btn:hover:not(:disabled){background:#8b5cf640;border-color:var(--accent-primary)}.refresh-location-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-location-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.save-place-section{margin-top:.75rem}.save-place-btn{width:100%;padding:.5rem;border-radius:6px;border:1px dashed rgba(255,255,255,.15);background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .2s ease}.save-place-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#8b5cf61a}.save-place-form{display:flex;gap:.4rem}.save-place-form input{flex:1;padding:.5rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-primary);font-size:.8rem;outline:none}.save-place-form input:focus{border-color:var(--accent-primary)}.save-place-form button{padding:.5rem .6rem;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.save-place-form button:first-of-type{border:1px solid rgba(34,197,94,.3);background:#22c55e26;color:#22c55e}.save-place-form button:first-of-type:hover:not(:disabled){background:#22c55e40}.save-place-form button.cancel{border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text-muted)}.saved-places{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.saved-places-header{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.saved-place-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;border-radius:6px;margin-bottom:.3rem;transition:all .2s ease}.saved-place-item:hover{background:#ffffff08}.saved-place-item.current{background:#22c55e1a;border:1px solid rgba(34,197,94,.2)}.place-info{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.8rem}.saved-place-item.current .place-info{color:#22c55e}.place-label{text-transform:capitalize}.delete-place-btn{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.saved-place-item:hover .delete-place-btn{opacity:1}.delete-place-btn:hover{background:#ef444426;color:#ef4444}.tools-sidebar{height:100%;background:var(--bg-secondary);border-right:1px solid rgba(255,255,255,.06);overflow:hidden;position:relative}.tools-sidebar-content{width:300px;height:100%;display:flex;flex-direction:column;overflow:hidden}.tools-sidebar-header{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;background:#0003}.tools-title{display:flex;align-items:center;gap:.75rem}.tools-icon{width:40px;height:40px;border-radius:12px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);display:flex;align-items:center;justify-content:center;color:var(--accent-primary)}.tools-title span{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text-primary)}.tools-sidebar-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.tools-sidebar-body::-webkit-scrollbar{width:4px}.tools-sidebar-body::-webkit-scrollbar-track{background:transparent}.tools-sidebar-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.tools-sidebar-toggle{position:fixed;left:0;top:50%;transform:translateY(-50%);width:24px;height:60px;border:none;border-radius:0 8px 8px 0;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-left:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100}.tools-sidebar-toggle:hover{background:#8b5cf633;color:var(--accent-primary)}.tools-sidebar-toggle.open{left:300px}.onboarding-progress{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#8b5cf61a;border-bottom:1px solid rgba(139,92,246,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-content{display:flex;align-items:center;gap:1rem}.progress-dots{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s ease}.dot.completed{background:var(--accent-primary);box-shadow:0 0 8px #8b5cf680}.dot.active{background:var(--accent-secondary);box-shadow:0 0 12px #ec489999;transform:scale(1.2);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 12px #ec489999}50%{box-shadow:0 0 20px #ec4899cc}}.progress-text{font-size:.8rem;color:var(--text-secondary);font-weight:500}.skip-btn{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .2s ease}.skip-btn:hover{background:#ffffff1a;border-color:#fff3;color:var(--text-primary)}.header-user{display:flex;align-items:center;gap:.75rem}.header-username{font-size:.9rem;color:var(--text-secondary);font-weight:500}.logout-button{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.logout-button:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.app-container{display:flex;flex:1;height:calc(100vh - 70px);overflow:hidden}.chat-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(139,92,246,.2);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
