.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#141419f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 4px 6px -1px #0000004d,0 10px 15px -3px #0003,0 20px 25px -5px #00000026,0 0 0 1px #ffffff0d inset;min-width:280px;max-width:400px;animation:toastSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.toast.hidden{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(12px) scale(.95)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.toast-icon{flex-shrink:0}.toast-message{flex:1;font-size:.875rem;color:#e5e5e5}.toast-close{background:transparent;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.toast-close:hover{color:#fff;background:#ffffff1a}.toast-success{border-color:#10b9814d}.toast-success .toast-icon{color:#10b981}.toast-error{border-color:#ef44444d}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-color:#f59e0b4d}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-color:#4d8eff4d}.toast-info .toast-icon{color:#4d8eff}.toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:.75rem;z-index:9999;pointer-events:none}.toast-container>*{pointer-events:auto}@media(max-width:480px){.toast-container{left:1rem;right:1rem;bottom:1rem}}.hub-logo{display:inline-block;vertical-align:middle}.hub-logo-text{color:#fff}.hub-hexagon-container{transform-origin:center center;transform-box:fill-box}.hub-logo-hexagon{overflow:visible}.hub-logo-animated .hub-hexagon-container{animation:hub-spin .8s cubic-bezier(.25,.1,.25,1) forwards}.hub-logo-spinning .hub-hexagon-container{animation:hub-spin-continuous 1s linear infinite}@keyframes hub-spin{0%{transform:rotate(0);filter:blur(0px)}40%{transform:rotate(300deg);filter:blur(2px)}70%{transform:rotate(350deg);filter:blur(.5px)}to{transform:rotate(360deg);filter:blur(0px)}}@keyframes hub-spin-continuous{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hub-logo-animated .hub-gradient-stop1,.hub-logo-spinning .hub-gradient-stop1{animation:hub-color1 .8s ease-out forwards}.hub-logo-animated .hub-gradient-stop2,.hub-logo-spinning .hub-gradient-stop2{animation:hub-color2 .8s ease-out forwards}.hub-logo-animated .hub-gradient-stop3,.hub-logo-spinning .hub-gradient-stop3{animation:hub-color3 .8s ease-out forwards}.hub-logo-animated .hub-gradient-stop4,.hub-logo-spinning .hub-gradient-stop4{animation:hub-color4 .8s ease-out forwards}.hub-logo-spinning .hub-gradient-stop1{animation:hub-color-cycle1 2s ease-in-out infinite}.hub-logo-spinning .hub-gradient-stop2{animation:hub-color-cycle2 2s ease-in-out infinite}.hub-logo-spinning .hub-gradient-stop3{animation:hub-color-cycle3 2s ease-in-out infinite}.hub-logo-spinning .hub-gradient-stop4{animation:hub-color-cycle4 2s ease-in-out infinite}@keyframes hub-color1{0%{stop-color:#0000f5}25%{stop-color:#f60}50%{stop-color:#0c5}75%{stop-color:#8b00ff}to{stop-color:#0000f5}}@keyframes hub-color2{0%{stop-color:#0000f5}25%{stop-color:#8b00ff}50%{stop-color:#f60}75%{stop-color:#0c5}to{stop-color:#0000f5}}@keyframes hub-color3{0%{stop-color:#0000f5}25%{stop-color:#0c5}50%{stop-color:#8b00ff}75%{stop-color:#f60}to{stop-color:#0000f5}}@keyframes hub-color4{0%{stop-color:#0000f5}25%{stop-color:#0c5}50%{stop-color:#8b00ff}75%{stop-color:#f60}to{stop-color:#0000f5}}@keyframes hub-color-cycle1{0%,to{stop-color:#0000f5}25%{stop-color:#f60}50%{stop-color:#0c5}75%{stop-color:#8b00ff}}@keyframes hub-color-cycle2{0%,to{stop-color:#0000f5}25%{stop-color:#8b00ff}50%{stop-color:#f60}75%{stop-color:#0c5}}@keyframes hub-color-cycle3{0%,to{stop-color:#0000f5}25%{stop-color:#0c5}50%{stop-color:#8b00ff}75%{stop-color:#f60}}@keyframes hub-color-cycle4{0%,to{stop-color:#0000f5}25%{stop-color:#0c5}50%{stop-color:#8b00ff}75%{stop-color:#f60}}.hub-logo-avatar{width:32px;height:32px;flex-shrink:0}.hub-logo-header{height:36px;width:auto}.hub-logo-intro{width:120px;height:auto}.mini-sidebar{position:fixed;left:12px;top:12px;width:72px;height:calc(100vh - 24px);background:#0c0c1059;backdrop-filter:blur(32px) saturate(200%) brightness(1.05);-webkit-backdrop-filter:blur(32px) saturate(200%) brightness(1.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;display:flex;flex-direction:column;z-index:1000;padding:0;box-shadow:0 0 0 .5px #ffffff0a,0 8px 32px #0000002e,inset 0 1px #ffffff0f}.mini-sidebar-nav{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem 0;gap:2px}.mini-sidebar-item-wrapper{position:relative;width:100%;display:flex;justify-content:center}.mini-sidebar-item{position:relative;width:60px;height:auto;min-height:52px;padding:.375rem .25rem;border:none;background:transparent;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#6b7280;text-decoration:none;transition:color .15s ease}.mini-sidebar-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;transition:all .2s ease}.mini-sidebar-label{font-size:.5625rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;opacity:.7;transition:opacity .15s ease}.mini-sidebar-item:hover{color:#e3e3e3}.mini-sidebar-item:hover .mini-sidebar-icon{background:#ffffff14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px #ffffff0f}.mini-sidebar-item:hover .mini-sidebar-label{opacity:1}.mini-sidebar-item.active{color:var(--sidebar-active-color, #e3e3e3)}.mini-sidebar-item.active .mini-sidebar-icon{background:var(--sidebar-active-surface, rgba(255, 255, 255, .1));box-shadow:inset 0 1px #ffffff14,0 0 0 .5px #ffffff0f}.mini-sidebar-item.new-btn{width:60px;min-height:48px;padding:.375rem .25rem;background:transparent;border:none;border-radius:12px;color:#8b8b98;margin-bottom:.375rem}.mini-sidebar-item.new-btn .mini-sidebar-icon{width:36px;height:36px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;display:flex;align-items:center;justify-content:center}.mini-sidebar-item.new-btn:hover{color:#e3e3e3}.mini-sidebar-item.new-btn:hover .mini-sidebar-icon{background:#ffffff1a;border-color:#ffffff26;box-shadow:inset 0 1px #ffffff0f}.mini-sidebar-item.logo-item{margin-bottom:.125rem;min-height:52px;padding:.375rem}.mini-sidebar-item.logo-item .mini-sidebar-icon{width:30px;height:30px;border-radius:0;background:transparent}.mini-sidebar-item.logo-item:hover{color:inherit}.mini-sidebar-item.logo-item:hover .mini-sidebar-icon{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.history-hover-panel{position:fixed;left:96px;top:12px;width:280px;height:calc(100vh - 24px);background:#0c0c1066;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:.5rem;box-shadow:0 8px 32px #00000026,inset 0 1px #ffffff14;z-index:1100;animation:slideIn .15s ease-out;display:flex;flex-direction:column}@keyframes slideIn{0%{opacity:0}to{opacity:1}}.history-hover-actions{display:flex;flex-direction:column;gap:1px;padding:.25rem}.history-hover-action{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .625rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s;text-align:left;text-decoration:none;color:inherit}.history-hover-action:hover{background:#ffffff0f}.history-action-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff0f;color:#d1d5db}.history-action-label{color:#d1d5db;font-size:.8125rem;font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-hover-action:hover .history-action-label{color:#f3f4f6}.history-action-lock{color:#6b7280;display:flex;align-items:center;flex-shrink:0}.history-hover-divider{height:1px;background:#ffffff0f;margin:.25rem .5rem}.history-hover-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;color:#e3e3e3;font-size:.9375rem;font-weight:600}.history-hover-settings{padding:.25rem .5rem;background:transparent;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;transition:all .15s;text-decoration:none}.history-hover-settings:hover{background:#ffffff14;color:#e3e3e3}.history-hover-section{padding:.375rem .75rem}.history-hover-label{display:flex;align-items:center;gap:.375rem;color:#6b7280;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.history-hover-chats{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.history-hover-chat{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s;text-align:left;text-decoration:none;color:inherit}.history-chat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.history-hover-chat:hover{background:#ffffff0f}.history-hover-chat.active{background:#ffffff14}.history-chat-title{color:#9ca3af;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-hover-chat:hover .history-chat-title,.history-hover-chat.active .history-chat-title{color:#e3e3e3}.history-hover-empty{padding:1.5rem .75rem;color:#6b7280;font-size:.8125rem;text-align:center}.history-hover-viewall{width:100%;padding:.75rem;margin-top:auto;background:transparent;border:none;border-top:1px solid rgba(255,255,255,.06);border-radius:0;color:#888;font-size:.8125rem;cursor:pointer;transition:all .15s;text-align:center;text-decoration:none;flex-shrink:0}.history-hover-viewall:hover{background:#ffffff0a;color:#aaa}.mini-sidebar-footer{display:flex;flex-direction:column;align-items:center;padding:.5rem 0;gap:.25rem;border-top:1px solid rgba(255,255,255,.06)}.mini-sidebar-user{position:relative}.mini-sidebar-user-btn{width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.mini-sidebar-user-btn:hover{background:#ffffff0f}.mini-sidebar-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.mini-sidebar-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0000f5,#7c3aed);color:#fff;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center}.mini-sidebar-user-menu{position:fixed;left:96px;bottom:20px;width:260px;background:#0c0c1080;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.5rem;box-shadow:0 8px 32px #0000002e,inset 0 1px #ffffff0f;z-index:1100;animation:slideIn .15s ease-out}.user-menu-header{display:flex;align-items:center;gap:.75rem;padding:.75rem}.user-menu-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.user-menu-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0000f5,#7c3aed);color:#fff;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center}.user-menu-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.user-menu-name{color:#e3e3e3;font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email{color:#6b7280;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:#ffffff14;margin:.375rem 0}.user-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:8px;color:#9ca3af;font-size:.875rem;cursor:pointer;transition:all .15s;text-align:left;text-decoration:none}.user-menu-item:hover{background:#ffffff0f;color:#e3e3e3}.user-menu-item.logout{color:#ef4444}.user-menu-item.logout:hover{background:#ef44441a;color:#f87171}.user-menu-item svg{flex-shrink:0;color:#6b7280}.user-menu-item:hover svg{color:#9ca3af}.upgrade-badge{background:var(--color-primary, #0000f5);color:#fff;font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:4px;letter-spacing:.05em}.mini-sidebar-upgrade{width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative;text-decoration:none}.mini-sidebar-upgrade:hover{background:#ffffff0f}.mini-sidebar-upgrade .upgrade-hexagon{transition:transform .4s ease}.mini-sidebar-upgrade:hover .upgrade-hexagon{transform:rotate(180deg)}.mini-sidebar-upgrade:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#141419fa;color:#e3e3e3;padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:9999;box-shadow:0 4px 20px #0006;border:1px solid rgba(255,255,255,.08)}.mini-sidebar-upgrade:hover:after{opacity:1;visibility:visible;transform:translateY(-50%) translate(4px)}.mini-sidebar-item.auth-btn{color:#9ca3af}.mini-sidebar-item.auth-btn:hover{color:#e3e3e3}.mini-sidebar-signup-btn{width:56px;height:auto;min-height:48px;padding:.5rem;border:none;background:linear-gradient(135deg,#0000f5,#7c3aed);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:#fff;transition:all .2s ease}.mini-sidebar-signup-btn:hover{background:linear-gradient(135deg,#1a1af5,#8b5cf6);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.mini-sidebar-signup-btn .mini-sidebar-icon{display:flex;align-items:center;justify-content:center}.mini-sidebar-signup-btn .mini-sidebar-label{font-size:.5625rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}@media(max-width:768px){.mini-sidebar{position:fixed;left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom,0px));top:auto;width:auto;height:56px;border-radius:20px;flex-direction:row;padding:0 4px;border:1px solid rgba(255,255,255,.1);background:#0c0c1059;backdrop-filter:blur(32px) saturate(200%) brightness(1.05);-webkit-backdrop-filter:blur(32px) saturate(200%) brightness(1.05);box-shadow:0 0 0 .5px #ffffff0a,0 8px 32px #0000002e,inset 0 1px #ffffff0f;z-index:1000}.mini-sidebar .mini-sidebar-svg-filters{display:none}.mini-sidebar-nav{flex-direction:row;align-items:center;justify-content:space-around;padding:0;gap:0;width:100%;height:100%}.mini-sidebar-item-wrapper{flex:1;display:flex;justify-content:center;align-items:center;height:100%}.mini-sidebar-item{width:auto;min-height:auto;height:100%;padding:.25rem .5rem;gap:2px;border-radius:12px;flex-direction:column;align-items:center;justify-content:center}.mini-sidebar-icon{width:28px;height:28px;border-radius:8px}.mini-sidebar-label{display:none}.mini-sidebar-item.active .mini-sidebar-label{opacity:1}.mini-sidebar-item.logo-item{min-height:auto;padding:.15rem .5rem;margin-bottom:0;margin-top:-2px}.mini-sidebar-item.logo-item .mini-sidebar-icon{width:24px;height:24px;border-radius:0;background:transparent;filter:brightness(0) invert(1);opacity:.42;transition:opacity .2s,filter .2s}.mini-sidebar-item.logo-item:hover .mini-sidebar-icon,.mini-sidebar-item.logo-item:active .mini-sidebar-icon{opacity:1;filter:none}.mini-sidebar-item.new-btn{min-height:auto;margin-bottom:0;width:auto}.mini-sidebar-item.new-btn .mini-sidebar-icon{width:28px;height:28px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px}.mini-sidebar-item.active .mini-sidebar-icon{background:#ffffff1a;box-shadow:inset 0 1px #ffffff14,0 0 0 .5px #ffffff0f}.mini-sidebar-footer,.mini-sidebar-item-wrapper.mobile-hidden{display:none}.mini-sidebar-item-wrapper.mobile-more{display:flex}.history-hover-panel,.mini-sidebar-user-menu{display:none}}.mobile-more-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#121216fa;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-top:1px solid rgba(255,255,255,.1);border-radius:20px 20px 0 0;padding:.5rem 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:mobileSheetSlideUp .25s ease-out;box-shadow:0 -8px 40px #00000080}@keyframes mobileSheetSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-more-sheet-handle{width:36px;height:4px;background:#fff3;border-radius:2px;margin:0 auto .75rem}.mobile-more-sheet-items{display:flex;flex-direction:column;padding:0 .5rem .5rem}.mobile-more-sheet-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:transparent;border:none;border-radius:12px;color:#9ca3af;font-size:.9375rem;cursor:pointer;transition:all .15s;text-align:left;text-decoration:none;width:100%}.mobile-more-sheet-item:hover,.mobile-more-sheet-item:active{background:#ffffff0f;color:#e3e3e3}.mobile-more-sheet-item.active{color:#e3e3e3;background:#ffffff0a}.mobile-more-sheet-item svg{flex-shrink:0;color:#6b7280}.mobile-more-sheet-item:hover svg,.mobile-more-sheet-item:active svg{color:#9ca3af}.mobile-more-sheet-divider{height:1px;background:#ffffff0f;margin:.25rem 1rem}.mobile-more-sheet-item.logout{color:#ef4444}.mobile-more-sheet-item.logout:hover,.mobile-more-sheet-item.logout:active{background:#ef44441a;color:#f87171}.mobile-more-overlay{position:fixed;inset:0;background:#0006;z-index:1050;animation:fadeIn .2s ease}.mobile-more-user{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.25rem}.mobile-more-user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.mobile-more-user-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0000f5,#7c3aed);color:#fff;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center}.mobile-more-user-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.mobile-more-user-name{color:#e3e3e3;font-size:.9375rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-more-user-email{color:#6b7280;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-sidebar-item:focus-visible .mini-sidebar-icon{background:#ffffff14;box-shadow:0 0 0 2px #fff3,inset 0 1px #ffffff0f}.mini-sidebar-user-btn:focus-visible,.mini-sidebar-upgrade:focus-visible{outline:2px solid rgba(255,255,255,.3);outline-offset:2px}@media(prefers-reduced-motion:reduce){.mini-sidebar-item,.history-hover-panel,.mini-sidebar-user-menu,.mini-sidebar-upgrade .upgrade-hexagon{animation:none!important;transition:none!important}}.header-universal{position:fixed;top:0;left:0;right:0;height:50px;background:#0c0c1059;backdrop-filter:blur(32px) saturate(2) brightness(1.05);-webkit-backdrop-filter:blur(32px) saturate(2) brightness(1.05);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 1px #ffffff0a;z-index:100;display:flex;align-items:center;transition:right .3s ease;padding-left:72px}.header-universal-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box;position:relative}.header-universal-center{display:flex;align-items:center;gap:10px}body.chat-lateral-open .header-universal{right:var(--chat-width, 20%)}.header-chat-title{display:flex;align-items:center;gap:.5rem}.header-chat-text{font-size:1rem;font-weight:500;color:#dce1f0f2;margin:0;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-chat-dropdown{position:relative}.header-chat-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:#a0aac899;cursor:pointer;transition:all .2s ease}.header-chat-menu-btn:hover{background:#6478b426;color:#c8d2f0e6}.header-dropdown-menu{position:absolute;top:100%;right:0;margin-top:8px;background:#141419f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.5rem;min-width:160px;box-shadow:0 4px 6px -1px #0000004d,0 10px 15px -3px #0003,0 20px 25px -5px #00000026,0 0 0 1px #ffffff0d inset;z-index:200;animation:headerMenuSlideIn .3s cubic-bezier(.34,1.56,.64,1);transform-origin:top right}@keyframes headerMenuSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.92)}60%{opacity:1;transform:translateY(2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.header-dropdown-menu button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:8px;color:#e3e3e3;font-size:.85rem;cursor:pointer;transition:all .15s ease;text-align:left;position:relative}.header-dropdown-menu button:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:#06f;border-radius:0 2px 2px 0;transition:height .15s ease}.header-dropdown-menu button:hover{background:#ffffff0d;padding-left:1rem}.header-dropdown-menu button:hover:before{height:50%}.header-dropdown-menu button.delete-option{color:#ff7878e6}.header-dropdown-menu button.delete-option:before{background:#f44}.header-dropdown-menu button.delete-option:hover{background:#ff50501a}.header-chat-rename{display:flex;align-items:center;gap:.5rem}.header-chat-input{padding:.5rem .9rem;background:#1e2337f2;border:1px solid rgba(110,140,255,.35);border-radius:8px;color:#e6ebfff2;font-size:.95rem;min-width:250px;outline:none}.header-chat-input:focus{border-color:#6e8cff99;box-shadow:0 0 0 3px #6e8cff26}.header-chat-cancel{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:#a0aac899;cursor:pointer;transition:all .2s ease}.header-chat-cancel:hover{background:#ff646426;color:#ff9696e6}@media(max-width:768px){.header-universal{padding-left:0}.header-universal-inner{padding:0 16px;max-width:none}.header-chat-text{max-width:120px;font-size:.9rem}}.chat-tooltip{position:fixed;bottom:2rem;right:calc(20% + 2rem);z-index:950;cursor:pointer;animation:tooltipSlideIn .5s cubic-bezier(.4,0,.2,1)}@keyframes tooltipSlideIn{0%{opacity:0;transform:translate(20px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.chat-tooltip-content{position:relative;display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#5080fff2,#6eb5fff2);backdrop-filter:blur(12px);padding:1rem 1.25rem;border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #5080ff66,0 0 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:220px}.chat-tooltip:hover .chat-tooltip-content{transform:translateY(-2px);box-shadow:0 12px 40px #5080ff99,0 0 0 1px #fff3}.chat-tooltip-glow{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(110,181,255,.4) 0%,transparent 70%);filter:blur(20px);z-index:-1;animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.1)}}.chat-tooltip-icon{width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:iconBounce 2s ease-in-out infinite}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chat-tooltip-icon svg{color:#fff;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}.chat-tooltip-text{flex:1;color:#fff}.chat-tooltip-title{font-weight:600;font-size:.95rem;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.2)}.chat-tooltip-subtitle{font-size:.8rem;opacity:.9;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.2)}.chat-tooltip-close{width:24px;height:24px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.chat-tooltip-close:hover{background:#ffffff40;transform:scale(1.1)}@media(max-width:1024px){.chat-tooltip{right:calc(30% + 1.5rem)}}@media(max-width:768px){.chat-tooltip{bottom:6rem;right:1rem;left:1rem}.chat-tooltip-content{width:100%}}.loading-spinner{isolation:isolate!important;contain:layout style!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;flex-wrap:nowrap!important;transform:none!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important}.loading-spinner .loading-text{transform:none!important;rotate:none!important;scale:none!important;translate:none!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;white-space:nowrap!important;isolation:isolate!important}.loading-spinner .hub-logo{transform:none!important;rotate:none!important;flex-shrink:0!important;display:inline-block!important}.loading-spinner .loading-dots{display:inline-flex!important;flex-direction:row!important;transform:none!important}.loading-spinner-inline{display:inline-flex}.loading-spinner-sm{gap:.5rem}.loading-spinner-sm .loading-text{font-size:.8125rem}.loading-spinner-md{gap:.5rem}.loading-spinner-md .loading-text{font-size:.8125rem}.loading-spinner-lg{gap:.5rem}.loading-spinner-lg .loading-text{font-size:.875rem}.loading-text{color:var(--text-secondary, #6b7280);font-weight:500;animation:textPulse 2s ease-in-out infinite}@keyframes textPulse{0%,to{opacity:1}50%{opacity:.5}}.loading-dots{display:inline-flex;margin-left:.125rem}.loading-dots .dot{animation:dotFade 1.4s ease-in-out infinite;opacity:0}.loading-dots .dot:nth-child(1){animation-delay:0s}.loading-dots .dot:nth-child(2){animation-delay:.2s}.loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dotFade{0%,20%{opacity:0}40%,to{opacity:1}}.loading-spinner-centered{justify-content:center;padding:2rem}.loading-spinner-fullscreen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffe6;z-index:9999}@media(prefers-color-scheme:dark){.loading-spinner-fullscreen{background:#111827e6}.loading-text{color:var(--text-secondary-dark, #9ca3af)}}:root{--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--tracking-tighter: -.03em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .04em;--tracking-widest: .08em;--text-2xs: .625rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: .9375rem;--text-xl: 1rem;--bg-primary: rgb(20, 20, 22);--bg-dark: rgb(20, 20, 22);--bg-darker: rgb(12, 12, 14);--bg-secondary: #1e1e22;--bg-card: #1e1e22;--bg-card-hover: #26262b;--bg-card-elevated: rgba(30, 30, 34, .9);--bg-card-subtle: rgba(18, 18, 20, .6);--bg-input: rgba(255, 255, 255, .05);--bg-input-focus: rgba(255, 255, 255, .08);--bg-hover: rgba(255, 255, 255, .04);--bg-sidebar: #1a1a1f;--bg-sidebar-hover: rgba(255, 255, 255, .05);--glass-blur: 24px;--glass-light: rgba(30, 30, 34, .5);--glass-medium: rgba(30, 30, 34, .7);--glass-heavy: rgba(30, 30, 34, .92);--glass-border: rgba(255, 255, 255, .06);--glass-border-light: rgba(255, 255, 255, .1);--glass-highlight: rgba(255, 255, 255, .03);--text-primary: #f0f0f2;--text-secondary: #c8c8ce;--text-muted: #8892a4;--text-tertiary: #5c6478;--brand: #0000f5;--brand-hover: #0000cc;--brand-light: #3333f7;--brand-surface: rgba(0, 0, 245, .06);--brand-border: rgba(0, 0, 245, .2);--brand-glow: rgba(0, 0, 245, .15);--accent: #4d8eff;--accent-hover: #3a7ae8;--accent-muted: #3a6fd8;--accent-surface: rgba(77, 142, 255, .08);--accent-border: rgba(77, 142, 255, .2);--positive: #00c48c;--positive-hover: #00a878;--positive-surface: rgba(0, 196, 140, .08);--positive-border: rgba(0, 196, 140, .25);--positive-text: #5eecc0;--negative: #ff4757;--negative-hover: #e8384a;--negative-surface: rgba(255, 71, 87, .08);--negative-border: rgba(255, 71, 87, .25);--negative-text: #ff8a94;--caution: #ffb020;--caution-hover: #e89e1a;--caution-surface: rgba(255, 176, 32, .08);--caution-border: rgba(255, 176, 32, .25);--caution-text: #ffd06a;--info: #00b4d8;--info-hover: #009abc;--info-surface: rgba(0, 180, 216, .08);--info-border: rgba(0, 180, 216, .25);--info-text: #5cd8ee;--primary: var(--accent);--success: var(--positive);--warning: var(--caution);--danger: var(--negative);--purple: #9b6dff;--section-radar: #ff6b35;--section-radar-surface: rgba(255, 107, 53, .08);--section-radar-border: rgba(255, 107, 53, .2);--section-explorar: #4d8eff;--section-explorar-surface: rgba(77, 142, 255, .08);--section-explorar-border: rgba(77, 142, 255, .2);--section-inteligencia: #00b4d8;--section-inteligencia-surface: rgba(0, 180, 216, .08);--section-inteligencia-border: rgba(0, 180, 216, .2);--section-legislativo: #00c48c;--section-legislativo-surface: rgba(0, 196, 140, .08);--section-legislativo-border: rgba(0, 196, 140, .2);--section-mapa: #9b6dff;--section-mapa-surface: rgba(155, 109, 255, .08);--section-mapa-border: rgba(155, 109, 255, .2);--color-primary: var(--brand);--color-primary-hover: var(--brand-hover);--color-primary-light: var(--brand-surface);--color-primary-subtle: rgba(0, 0, 245, .04);--chart-1: #4d8eff;--chart-2: #00c48c;--chart-3: #ffb020;--chart-4: #ff4757;--chart-5: #9b6dff;--chart-6: #00b4d8;--chart-7: #ff7849;--chart-8: #e84dba;--chart-1-fill: rgba(77, 142, 255, .15);--chart-2-fill: rgba(0, 196, 140, .15);--chart-3-fill: rgba(255, 176, 32, .15);--chart-4-fill: rgba(255, 71, 87, .15);--chart-5-fill: rgba(155, 109, 255, .15);--chart-6-fill: rgba(0, 180, 216, .15);--chart-7-fill: rgba(255, 120, 73, .15);--chart-8-fill: rgba(232, 77, 186, .15);--cargo-presidente: #ffffff;--cargo-governador: #9b6dff;--cargo-prefeito: #e84dba;--cargo-senador: #ffb020;--cargo-federal: #4d8eff;--cargo-estadual: #00c48c;--cargo-vereador: #00b4d8;--cargo-presidente-bg: rgba(255, 255, 255, .1);--cargo-governador-bg: rgba(155, 109, 255, .12);--cargo-prefeito-bg: rgba(232, 77, 186, .12);--cargo-senador-bg: rgba(255, 176, 32, .12);--cargo-federal-bg: rgba(77, 142, 255, .12);--cargo-estadual-bg: rgba(0, 196, 140, .12);--cargo-vereador-bg: rgba(0, 180, 216, .12);--cargo-presidente-border: rgba(255, 255, 255, .3);--cargo-governador-border: rgba(155, 109, 255, .3);--cargo-prefeito-border: rgba(232, 77, 186, .3);--cargo-senador-border: rgba(255, 176, 32, .3);--cargo-federal-border: rgba(77, 142, 255, .3);--cargo-estadual-border: rgba(0, 196, 140, .3);--cargo-vereador-border: rgba(0, 180, 216, .3);--cargo-presidente-text: #f0f0f2;--cargo-governador-text: #c4b5fd;--cargo-prefeito-text: #f5a0d8;--cargo-senador-text: #ffd06a;--cargo-federal-text: #8bb8ff;--cargo-estadual-text: #5eecc0;--cargo-vereador-text: #5cd8ee;--cargo-prefeito-gradient: linear-gradient(160deg, #e84dba, #c23d9e);--cargo-governador-gradient: linear-gradient(160deg, #9b6dff, #7c4ee0);--cargo-senador-gradient: linear-gradient(160deg, #ffb020, #d9961a);--cargo-federal-gradient: linear-gradient(160deg, #4d8eff, #3670d6);--cargo-estadual-gradient: linear-gradient(160deg, #00c48c, #00a878);--cargo-vereador-gradient: linear-gradient(160deg, #00b4d8, #009abc);--cargo-presidente-gradient: linear-gradient(160deg, #d4d4d8, #a1a1aa);--border: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .04);--border-medium: rgba(255, 255, 255, .1);--border-hover: rgba(255, 255, 255, .16);--border-focus: rgba(77, 142, 255, .4);--border-primary: rgba(255, 255, 255, .08);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--spacing-2xl: var(--space-12);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-base: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .5);--shadow-elevated: 0 8px 30px rgba(0, 0, 0, .4), 0 0 1px rgba(255, 255, 255, .05);--shadow-brand: 0 2px 12px rgba(0, 0, 245, .2);--z-base: 1;--z-dropdown: 100;--z-sticky: 500;--z-sidebar: 1000;--z-modal: 2000;--z-tooltip: 3000;--z-toast: 4000;--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .35s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--transition-spring: .5s cubic-bezier(.22, 1, .36, 1);--badge-py: 3px;--badge-px: 8px;--badge-radius: var(--radius-sm);--badge-font-size: var(--text-xs);--badge-font-weight: 600;--badge-letter-spacing: .02em;--badge-overlay-py: 2px;--badge-overlay-px: 6px;--badge-overlay-radius: var(--radius-xs);--badge-overlay-font-size: var(--text-2xs);--linear-bg: var(--bg-primary);--linear-card: rgba(24, 24, 28, .8);--linear-border: var(--border);--linear-border-hover: var(--border-hover);--linear-glow: var(--brand-glow);--shadow-primary: var(--shadow-brand);--shadow-glow: none;--card-hover-lift: 0;--card-hover-shadow: var(--shadow-md);--card-hover-lift-sm: 0;--card-hover-shadow-sm: var(--shadow-sm);--card-hover-lift-lg: 0;--card-hover-shadow-lg: var(--shadow-lg);--sidebar-width: 72px;--sidebar-expanded: 260px;--header-height: 56px;--chat-max-width: 800px;--bento-gap: 1rem;--bento-radius: var(--radius-base)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-secondary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" on,"cv01" on}a{text-decoration:none;color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary)}h1{font-size:2.5rem;font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tighter)}h2{font-size:2rem;font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}h3{font-size:1.5rem;font-weight:var(--weight-semibold)}h4{font-size:1.25rem;font-weight:var(--weight-semibold)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.glass-card{background:var(--glass-medium);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-top-color:var(--glass-border-light);border-radius:var(--radius-base);overflow:hidden;transition:border-color var(--transition-normal)}.glass-card:hover{border-color:var(--border-hover)}.glass-card-elevated{background:var(--glass-heavy);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--glass-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.card-padding{padding:var(--space-6)}.card-with-image{position:relative;border-radius:var(--radius-base);overflow:hidden;cursor:pointer;transition:border-color var(--transition-normal);border:1px solid var(--border)}.card-with-image .card-background{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s var(--transition-spring)}.card-with-image:hover .card-background{transform:scale(1.03)}.card-with-image .card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0f26,#0a0a0f8c,#0a0a0fe6)}.card-with-image .card-content{position:relative;z-index:2;padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.card-with-image:hover{border-color:var(--border-hover)}.card-solid{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-base);padding:1.25rem;cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal)}.card-solid:hover{background:var(--bg-card-hover);border-color:var(--border-hover)}.card-accent{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-base);padding:1.25rem;transition:background var(--transition-normal),border-color var(--transition-normal)}.card-accent:hover{background:var(--bg-card-hover);border-color:var(--border-hover);border-left-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:600;font-family:var(--font-display);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);border:none;text-decoration:none;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-success{background:var(--positive);color:#0a1a14}.btn-success:hover:not(:disabled){background:var(--positive-hover)}.btn-warning{background:var(--caution);color:#1a1400}.btn-warning:hover:not(:disabled){background:var(--caution-hover)}.btn-danger{background:var(--negative);color:#fff}.btn-danger:hover:not(:disabled){background:var(--negative-hover)}.btn-info{background:var(--info);color:#0a1a1e}.btn-info:hover:not(:disabled){background:var(--info-hover)}.btn-secondary{background:#ffffff0f;backdrop-filter:blur(10px);border:1px solid var(--border-medium);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--border-hover);color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-outline{background:transparent;border:1px solid var(--border-medium);color:var(--text-secondary)}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-surface)}.btn-sm{padding:.375rem .75rem;font-size:var(--text-md)}.btn-lg{padding:.75rem 1.5rem;font-size:1.0625rem}.btn-cta{background:var(--brand);color:#fff;box-shadow:var(--shadow-brand);padding:.75rem 1.5rem;font-size:1.0625rem}.btn-cta:hover:not(:disabled){background:var(--brand-hover);box-shadow:0 4px 20px #0000f54d}.input,.textarea,.select{width:100%;padding:.625rem .875rem;background:#ffffff0a;backdrop-filter:blur(10px);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-lg);transition:border-color var(--transition-fast),background var(--transition-fast)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--border-focus);background:#ffffff0f;box-shadow:0 0 0 3px #4d8eff14}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.textarea{min-height:120px;resize:vertical}.input-search{padding-left:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238892a4'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center;background-size:1.25rem}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-md);font-weight:600;color:var(--text-secondary)}.form-hint{display:block;margin-top:.25rem;font-size:var(--text-base);color:var(--text-muted)}.form-error{display:block;margin-top:.25rem;font-size:var(--text-base);color:var(--negative)}.alert{padding:.875rem 1rem;border-radius:var(--radius-md);border:1px solid;border-left-width:3px;backdrop-filter:blur(10px);margin-bottom:var(--space-4);display:flex;align-items:start;gap:var(--space-3)}.alert-icon{flex-shrink:0;font-size:1.125rem}.alert-content{flex:1}.alert-info{background:var(--accent-surface);border-color:var(--accent-border);border-left-color:var(--accent);color:var(--accent)}.alert-success{background:var(--positive-surface);border-color:var(--positive-border);border-left-color:var(--positive);color:var(--positive-text)}.alert-warning{background:var(--caution-surface);border-color:var(--caution-border);border-left-color:var(--caution);color:var(--caution-text)}.alert-danger{background:var(--negative-surface);border-color:var(--negative-border);border-left-color:var(--negative);color:var(--negative-text)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:var(--badge-py) var(--badge-px);border-radius:var(--badge-radius);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);letter-spacing:var(--badge-letter-spacing);text-transform:uppercase;border:1px solid;white-space:nowrap}.badge-overlay{padding:var(--badge-overlay-py) var(--badge-overlay-px);border-radius:var(--badge-overlay-radius);font-size:var(--badge-overlay-font-size)}.badge-cargo{background:var(--cargo-vereador-bg);border-color:var(--cargo-vereador-border);color:var(--cargo-vereador-text)}.badge-cargo.presidente{background:var(--cargo-presidente-bg);border-color:var(--cargo-presidente-border);color:var(--cargo-presidente-text)}.badge-cargo.governador{background:var(--cargo-governador-bg);border-color:var(--cargo-governador-border);color:var(--cargo-governador-text)}.badge-cargo.prefeito{background:var(--cargo-prefeito-bg);border-color:var(--cargo-prefeito-border);color:var(--cargo-prefeito-text)}.badge-cargo.senador{background:var(--cargo-senador-bg);border-color:var(--cargo-senador-border);color:var(--cargo-senador-text)}.badge-cargo.federal{background:var(--cargo-federal-bg);border-color:var(--cargo-federal-border);color:var(--cargo-federal-text)}.badge-cargo.estadual,.badge-cidade{background:var(--cargo-estadual-bg);border-color:var(--cargo-estadual-border);color:var(--cargo-estadual-text)}.badge-partido{background:var(--partido-color, #5570e6);border-color:var(--partido-color, #5570e6);color:var(--partido-text, #fff);font-weight:600}.badge-status{background:var(--positive-surface);border-color:var(--positive-border);color:var(--positive-text)}.badge-status.nao-eleito{background:#5c64781f;border-color:#5c64784d;color:var(--text-muted)}.badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;font-family:var(--font-body);border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.chip:hover{border-color:var(--border-hover);background:var(--bg-hover);color:var(--text-primary)}.chip.active,.chip[aria-selected=true]{background:var(--accent-surface);border-color:var(--accent-border);color:var(--accent)}.chip .chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:var(--radius-full);background:#ffffff1a;font-size:10px;line-height:1;cursor:pointer;transition:background var(--transition-fast)}.chip .chip-remove:hover{background:var(--negative-surface);color:var(--negative)}.filter-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--glass-light);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-base);overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-md)}.data-table thead th{padding:.625rem .875rem;text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-medium);position:sticky;top:0;background:var(--bg-primary);z-index:2;font-family:var(--font-body)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody td{padding:.625rem .875rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.data-table .num,.data-table td[data-type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.stat-card{background:var(--glass-light);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-top-color:var(--glass-border-light);border-radius:var(--radius-base);padding:var(--space-5)}.stat-card .stat-label{font-size:var(--text-sm);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.stat-card .stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-card .stat-change{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--text-sm);font-weight:500;margin-top:var(--space-2)}.stat-card .stat-change.up{color:var(--positive)}.stat-card .stat-change.down{color:var(--negative)}.chart-container{background:var(--glass-light);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-top-color:var(--glass-border-light);border-radius:var(--radius-base);padding:var(--space-5);position:relative}.chart-container .chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.chart-container .chart-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.chart-container .chart-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.progress-bar{width:100%;height:6px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden}.progress-bar .progress-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width .8s var(--transition-spring)}.progress-bar.animated .progress-fill{animation:progressGrow 1s var(--transition-spring) forwards}@keyframes progressGrow{0%{width:0}}.progress-labeled{display:flex;align-items:center;gap:var(--space-3)}.progress-labeled .progress-bar{flex:1}.progress-labeled .progress-value{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);min-width:3rem;text-align:right}.tab-nav{display:flex;gap:0;border-bottom:1px solid var(--border);position:relative}.tab-nav .tab-item{padding:.625rem 1rem;font-size:var(--text-md);font-weight:500;color:var(--text-muted);background:none;border:none;cursor:pointer;position:relative;font-family:var(--font-body);transition:color var(--transition-fast);white-space:nowrap}.tab-nav .tab-item:hover{color:var(--text-secondary)}.tab-nav .tab-item.active{color:var(--text-primary)}.tab-nav .tab-item.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:1px 1px 0 0;animation:tabSlideIn .2s ease}@keyframes tabSlideIn{0%{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:scaleX(1)}}.tab-nav-pill{display:flex;gap:var(--space-1);padding:var(--space-1);background:#ffffff08;border-radius:var(--radius-md);border:1px solid var(--border)}.tab-nav-pill .tab-item{padding:.5rem .875rem;font-size:var(--text-md);font-weight:500;color:var(--text-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);transition:all var(--transition-fast)}.tab-nav-pill .tab-item:hover{color:var(--text-secondary);background:var(--bg-hover)}.tab-nav-pill .tab-item.active{color:var(--text-primary);background:#ffffff14}.tooltip{position:absolute;padding:.5rem .75rem;background:var(--glass-heavy);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);box-shadow:var(--shadow-elevated);z-index:var(--z-tooltip);pointer-events:none;animation:tooltipIn .15s ease}@keyframes tooltipIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.candidate-avatar{border-radius:var(--radius-base);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.avatar-sm{width:56px;height:56px;font-size:1.375rem}.avatar-md{width:72px;height:72px;font-size:1.75rem}.avatar-lg{width:100px;height:100px;font-size:2.5rem}.candidate-card-large{padding:2rem;text-align:center;cursor:pointer;transition:background var(--transition-normal)}.candidate-card-large:hover{background:var(--bg-hover)}.candidate-card-large .candidate-avatar{margin:0 auto var(--space-6)}.candidate-name{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-4);color:var(--text-primary)}.candidate-meta{font-size:var(--text-md);color:var(--text-muted);margin-top:var(--space-3)}.candidate-card-horizontal{display:flex;gap:var(--space-6);padding:var(--space-6);cursor:pointer;transition:background var(--transition-fast)}.candidate-card-horizontal:hover{background:var(--bg-hover)}.candidate-card-horizontal .candidate-avatar{flex-shrink:0}.candidate-card-horizontal .content{flex:1;min-width:0}.candidate-card-horizontal .candidate-name{font-size:1.25rem;margin-bottom:var(--space-3)}.candidate-card-search{display:flex;gap:var(--space-4);align-items:center;padding:.75rem var(--space-4);cursor:pointer;transition:background var(--transition-fast);border-radius:var(--radius-md)}.candidate-card-search:hover{background:var(--bg-hover)}.candidate-card-search .candidate-name{font-size:var(--text-lg);margin-bottom:.5rem}.candidate-card-search .content{flex:1;min-width:0}.search-results{background:var(--glass-heavy);backdrop-filter:blur(24px);border:1px solid var(--glass-border-light);border-radius:var(--radius-base);padding:var(--space-2);max-height:400px;overflow-y:auto;box-shadow:var(--shadow-elevated)}.search-results::-webkit-scrollbar{width:4px}.search-results::-webkit-scrollbar-track{background:transparent}.search-results::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.hex-clip{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.hex-avatar{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;overflow:hidden}.separator-angled{width:100%;height:1px;background:var(--border);position:relative}.separator-angled:after{content:"";position:absolute;left:50%;top:-3px;transform:translate(-50%) rotate(45deg);width:6px;height:6px;background:var(--border-medium);border-radius:1px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-primary{color:var(--text-primary)}.font-mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.tabular-nums{font-variant-numeric:tabular-nums}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.container{max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.container-sm{max-width:800px;margin:0 auto;padding:0 var(--space-6)}.loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning,.spinner,.spin{animation:spin 1s linear infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:slideUp .3s ease-out}@media(max-width:640px){.btn{width:100%;justify-content:center}.candidate-card-horizontal{flex-direction:column;text-align:center}.candidate-card-horizontal .candidate-avatar{margin:0 auto}.badges{justify-content:center}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.5}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s var(--transition-spring),transform .5s var(--transition-spring)}.scroll-reveal.visible{opacity:1;transform:translateY(0)}.scroll-reveal.delay-1{transition-delay:.08s}.scroll-reveal.delay-2{transition-delay:.16s}.scroll-reveal.delay-3{transition-delay:.24s}.scroll-reveal.delay-4{transition-delay:.32s}.scroll-reveal.delay-5{transition-delay:.4s}.live-indicator{width:6px;height:6px;background:var(--positive);border-radius:50%;animation:pulse-live 2s ease-in-out infinite}.live-indicator-wrapper{display:flex;align-items:center;gap:.5rem}.live-indicator-text{font-size:var(--text-sm);color:var(--positive);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:.875rem;border-radius:var(--radius-xs)}.skeleton-title{height:1.25rem;width:60%;border-radius:var(--radius-xs)}.skeleton-avatar{border-radius:var(--radius-base)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.tabular-nums,time,[data-value],.ds-section-header__badge,.dash-monitored__trend,.radar-story-meta,.stat-value,.kpi-value,.metric-value{font-variant-numeric:tabular-nums}.ds-section-header__title,.ds-section-header__badge,.ds-quick-card__subtitle,.explorar-partido-pill,.radar-boletim-tab,.section-tab,.tab-nav .tab-item{font-family:var(--font-display)}.separator-hex{width:100%;height:1px;background:var(--border);position:relative;margin:var(--space-6) 0}.separator-hex:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--bg-primary);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);border:1.5px solid var(--border-medium);box-sizing:content-box;padding:1px}.separator-hex:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:var(--bg-primary);z-index:1}.texture-noise{position:relative}.texture-noise:before{content:"";position:absolute;inset:0;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:256px 256px;border-radius:inherit;pointer-events:none;z-index:0}.bg-hex-dots{position:relative}.bg-hex-dots:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 28px;background-position:0 0,12px 14px;pointer-events:none;z-index:0;border-radius:inherit}.card-interactive{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-normal)}.card-interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.card-interactive:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.card-display{cursor:default}.card-highlight{border-color:var(--accent-border);background:linear-gradient(180deg,var(--accent-surface) 0%,var(--bg-card) 100%)}.enter-fade{animation:fadeIn .4s ease both}.enter-up{animation:fadeInUp .4s var(--transition-spring) both}.enter-scale{animation:fadeInScale .3s ease both}@keyframes shimmerEntrance{0%{border-color:#4d8eff4d;box-shadow:0 0 12px #4d8eff14}to{border-color:var(--border);box-shadow:none}}.shimmer-entrance{animation:shimmerEntrance 1.2s ease forwards}.stagger-children>:nth-child(1){animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:.04s}.stagger-children>:nth-child(3){animation-delay:.08s}.stagger-children>:nth-child(4){animation-delay:.12s}.stagger-children>:nth-child(5){animation-delay:.16s}.stagger-children>:nth-child(6){animation-delay:.2s}.stagger-children>:nth-child(7){animation-delay:.24s}.stagger-children>:nth-child(8){animation-delay:.28s}.section-radar{--section-color: var(--section-radar);--section-surface: var(--section-radar-surface);--section-border-color: var(--section-radar-border)}.section-explorar{--section-color: var(--section-explorar);--section-surface: var(--section-explorar-surface);--section-border-color: var(--section-explorar-border)}.section-inteligencia{--section-color: var(--section-inteligencia);--section-surface: var(--section-inteligencia-surface);--section-border-color: var(--section-inteligencia-border)}.section-legislativo{--section-color: var(--section-legislativo);--section-surface: var(--section-legislativo-surface);--section-border-color: var(--section-legislativo-border)}.section-mapa{--section-color: var(--section-mapa);--section-surface: var(--section-mapa-surface);--section-border-color: var(--section-mapa-border)}[class*=section-] .ds-section-header__icon{color:var(--section-color, var(--text-secondary));background:var(--section-surface, rgba(255, 255, 255, .06))}[class*=section-] .tab-nav .tab-item.active:after,[class*=section-] .section-tab.active:after{background:var(--section-color, var(--accent))}[class*=section-] .tab-nav .tab-item.active,[class*=section-] .section-tab.active{color:var(--section-color, var(--text-primary));border-bottom-color:var(--section-color, var(--primary))}[class*=section-] .chip.active,[class*=section-] .chip[aria-selected=true]{background:var(--section-surface, var(--accent-surface));border-color:var(--section-border-color, var(--accent-border));color:var(--section-color, var(--accent))}.hover-3d{transition:transform .2s ease;transform-style:preserve-3d}footer{border-top:1px solid var(--border);padding:var(--space-10) 2rem var(--space-6);color:var(--text-muted);margin-top:auto}footer .container{max-width:1100px;margin:0 auto}footer .footer-content{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-8)}footer .footer-logo{height:28px;margin-bottom:var(--space-2);filter:brightness(0) invert(1);opacity:.7}footer .footer-col .text-muted{font-size:12px;color:var(--text-muted);line-height:1.5;margin:0}footer .footer-social{display:flex;gap:var(--space-3);margin-top:var(--space-3)}footer .footer-social a{color:var(--text-muted);transition:color var(--transition-fast) ease}footer .footer-social a:hover{color:var(--text-primary)}footer .footer-col h4{font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3)}footer .footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}footer .footer-col ul a{font-size:12px;color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast) ease}footer .footer-col ul a:hover{color:var(--text-primary)}footer .footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:var(--space-4);display:flex;justify-content:space-between;align-items:center}footer .footer-bottom .text-muted{font-size:11px;color:var(--text-muted);margin:0}@media(max-width:768px){footer{padding:var(--space-8) var(--space-4) var(--space-6)}footer .footer-content{grid-template-columns:1fr;gap:var(--space-6)}}::view-transition-old(root){animation:vt-fade-out .15s ease-out}::view-transition-new(root){animation:vt-fade-in .15s ease-in}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}html,body{overflow-x:hidden;max-width:100vw;overflow-y:scroll}#root,.app-container{overflow-x:hidden;max-width:100vw}.main-content{max-width:100%;overflow-x:hidden}html{height:100%}body{font-family:var(--font-body, "Inter", system-ui, -apple-system, sans-serif);margin:0;min-width:320px;min-height:100vh;height:100%;overflow-y:auto;font-feature-settings:"tnum" on}#root{width:100%;min-height:100vh}.App{min-height:100vh}.app-container{display:flex;min-height:100vh;width:100%}.main-content{flex:1;--sidebar-offset: 72px;margin-left:var(--sidebar-offset);padding-left:5px;padding-right:0;padding-top:0;min-height:100vh;transition:margin-left .3s ease;position:relative;container-type:inline-size;container-name:main-content}.main-content.has-header{padding-top:50px}body.chat-lateral-open .main-content{margin-right:max(var(--chat-width, 20%),300px)}@media(max-width:768px){.main-content{margin-left:0;--sidebar-offset: 0px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));min-height:auto;height:100vh;box-sizing:border-box;overflow-y:auto;overflow-x:hidden}html:has(body.is-landing){height:auto}body.is-landing{height:auto}body.is-landing .app-container,body.is-landing .main-content{height:auto;min-height:100vh;overflow-y:visible}body.chat-lateral-open .main-content{margin-right:0}}h1,h2,h3,h4,h5,h6{font-family:var(--font-display, "Space Grotesk", sans-serif);font-weight:700;letter-spacing:-.02em}button,a{font-family:var(--font-display, "Space Grotesk", sans-serif)}input,textarea,select,p,li{font-family:var(--font-body, "Inter", sans-serif)}label,.badge,.chip,.tag,.context-badge{font-family:var(--font-display, "Space Grotesk", sans-serif)}table,td,th{font-family:var(--font-body, "Inter", sans-serif);font-feature-settings:"tnum" on}.auth-buttons-header{position:sticky;top:0;z-index:201;height:50px;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:2px;padding-right:1.5rem;pointer-events:none;margin-bottom:-50px}.auth-buttons-header .auth-btn-login,.auth-buttons-header .auth-btn-signup{pointer-events:auto}.auth-buttons-header .auth-btn-login{padding:.5rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#e3e3e3;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-buttons-header .auth-btn-login:hover{background:#ffffff14;border-color:#ffffff40}.auth-buttons-header .auth-btn-signup{padding:.5rem 1rem;background:var(--color-primary, #0000f5);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000f540}.auth-buttons-header .auth-btn-signup:hover{background:var(--color-primary-hover, #0000cc);transform:translateY(-1px);box-shadow:0 4px 16px #0000f559}.main-content:has(.auth-buttons-header) .layer-panel{top:56px;height:calc(100% - 56px - var(--space-3))}.main-content:has(.section-mapa) .auth-buttons-header{position:fixed;top:0;right:0;z-index:60;padding-right:1.5rem}body.chat-lateral-open .main-content:has(.section-mapa) .auth-buttons-header{right:max(var(--chat-width, 20vw),300px)}@media(max-width:768px){.auth-buttons-header{display:none}}
