@import url(https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0f19;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.dashboard-layout{animation:animatedGradient 20s ease infinite;background:#06080f;background:var(--color-bg-animated-gradient,#06080f);background-size:400% 400%;color:#f8fafc;display:flex;font-family:"DM Sans",var(--font-sans),sans-serif;height:100vh;overflow:hidden;width:100%}.dashboard-sidebar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f172a66;border-right:1px solid #ffffff0d;box-shadow:4px 0 24px #0003;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:2.5rem 1.5rem;width:260px;z-index:50}.sidebar-brand{margin-bottom:3rem;padding-left:.5rem}.sidebar-brand h2{background:linear-gradient(90deg,#6ee7f7,#a78bfa);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:"Syne",var(--font-display),sans-serif;font-size:1.75rem;font-weight:800;letter-spacing:2px;margin:0}.sidebar-bottom,.sidebar-nav-links{display:flex;flex-direction:column;gap:.5rem}.sidebar-bottom{border-top:1px solid #ffffff0d;margin-top:auto;padding-top:1.5rem}.sidebar-link{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:#94a3b8;cursor:pointer;display:flex;font-family:"DM Sans",var(--font-sans),sans-serif;font-size:.95rem;font-weight:500;gap:.75rem;padding:.85rem 1.25rem;text-align:left;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-link:hover{background:#ffffff08;border-color:#ffffff14;color:#f8fafc;transform:translateX(4px)}.sidebar-link.active{background:#6ee7f714;border-color:#6ee7f733;box-shadow:0 4px 15px #6ee7f71a;color:#6ee7f7;font-weight:600}.logout-btn{color:#f87171}.logout-btn:hover{background:#f8717114;border-color:#f8717133;box-shadow:0 4px 15px #f871711a;color:#fca5a5}.dashboard-main-content{flex:1 1;height:100vh;overflow-y:auto;position:relative}.dashboard-main-content::-webkit-scrollbar{width:8px}.dashboard-main-content::-webkit-scrollbar-track{background:#0000}.dashboard-main-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.dashboard-main-content::-webkit-scrollbar-thumb:hover{background:#fff3}.mobile-menu-btn{display:none}@media (max-width:768px){#root,.dashboard-layout,body,html{overflow-x:hidden;width:100%}.mobile-menu-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0f172af2;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1.4rem;font-weight:700;height:44px;justify-content:center;left:15px;position:fixed;top:15px;width:44px;z-index:1100}.dashboard-sidebar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f172afa;border-right:1px solid #ffffff14;height:100vh;left:-280px;overflow-y:auto;padding:2rem 1.5rem;position:fixed;top:0;transition:left .3s ease;width:260px;z-index:1050}.dashboard-sidebar.open{left:0}.sidebar-overlay{background:#0009;inset:0;position:fixed;z-index:1040}.dashboard-main-content{margin-left:0;min-width:0;overflow-x:hidden;width:100%}.sidebar-brand{margin-top:3rem}.sidebar-link{width:100%}}.chatbot-wrapper{align-items:flex-end;bottom:2.5rem;display:flex;flex-direction:column;position:fixed;right:2.5rem;z-index:100000}.chatbot-fab{align-items:center;background:linear-gradient(135deg,#2563eb,#4f46e5);border:1px solid #6ee7f766;border-radius:50%;box-shadow:0 10px 30px #2563eb80,0 0 20px #6ee7f733;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:60px;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:60px;z-index:2}.chatbot-fab:hover{box-shadow:0 15px 40px #2563eb99,0 0 30px #6ee7f766;transform:scale(1.1)}.chatbot-fab.open{background:#0f172ae6;border-color:#ffffff1a;box-shadow:0 5px 15px #0000004d;color:#94a3b8}.chatbot-window{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f172ad9;border:1px solid #6ee7f733;border-radius:20px;bottom:80px;box-shadow:0 25px 50px -12px #0009,0 0 40px #6ee7f71a;display:flex;flex-direction:column;height:500px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;transform:scale(.8) translateY(20px);transform-origin:bottom right;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:360px}.chatbot-window.active{opacity:1;pointer-events:all;transform:scale(1) translateY(0)}.chat-header{align-items:center;background:#0006;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.chat-title{background:linear-gradient(90deg,#6ee7f7,#a78bfa);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;margin:0}.chat-status{align-items:center;color:#94a3b8;display:flex;font-family:DM Sans,sans-serif;font-size:.7rem;gap:.4rem;margin-top:2px}.chat-status:before{background:#34d399;border-radius:50%;box-shadow:0 0 8px #34d399;content:"";height:6px;width:6px}.chat-body{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.chat-body::-webkit-scrollbar{width:5px}.chat-body::-webkit-scrollbar-track{background:#0000}.chat-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:5px}.chat-message{align-items:flex-end;animation:slideUpMsg .3s ease forwards;display:flex;gap:.75rem;max-width:85%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.bot{align-self:flex-start}.bot-avatar{align-items:center;background:#a78bfa26;border:1px solid #a78bfa66;border-radius:50%;color:#a78bfa;display:flex;flex-shrink:0;font-size:.8rem;height:28px;justify-content:center;width:28px}.chat-bubble{border-radius:14px;font-family:DM Sans,sans-serif;font-size:.9rem;line-height:1.5;padding:.85rem 1rem}.user .chat-bubble{background:linear-gradient(135deg,#2563eb,#4f46e5);border-bottom-right-radius:4px;box-shadow:0 4px 15px #2563eb4d;color:#fff}.bot .chat-bubble{background:#ffffff0d;border:1px solid #ffffff1a;border-bottom-left-radius:4px;color:#e2e8f0}.chat-bubble.typing{display:flex;gap:4px;padding:1rem 1.25rem}.dot{animation:bounce 1.4s ease-in-out infinite both;background:#94a3b8;border-radius:50%;height:6px;width:6px}.dot:first-child{animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.chat-footer{background:#0000004d;border-top:1px solid #ffffff0d;display:flex;gap:.5rem;padding:1rem}.chat-footer input{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;color:#f8fafc;flex:1 1;font-family:DM Sans,sans-serif;outline:none;padding:.75rem 1rem;transition:all .3s}.chat-footer input:focus{background:#0f172acc;border-color:#6ee7f766}.chat-footer button{align-items:center;background:#6ee7f71a;border:1px solid #6ee7f74d;border-radius:10px;color:#6ee7f7;cursor:pointer;display:flex;justify-content:center;transition:all .2s;width:42px}.chat-footer button:hover:not(:disabled){background:#6ee7f733;color:#fff}.chat-footer button:disabled{cursor:not-allowed;opacity:.4}@keyframes slideUpMsg{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-bubble{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}@media (min-width:769px) and (max-width:1024px){.chatbot-wrapper{bottom:1.25rem;right:1.25rem}.chatbot-window{height:min(540px,75dvh);width:min(380px,calc(100vw - 2rem))}}@media (max-width:768px){.chatbot-wrapper{bottom:max(.75rem,env(safe-area-inset-bottom));right:max(.75rem,env(safe-area-inset-right))}.chatbot-fab{-webkit-tap-highlight-color:transparent;font-size:1.35rem;height:54px;min-height:54px;min-width:54px;touch-action:manipulation;width:54px}.chatbot-window{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:18px;bottom:66px;height:min(72dvh,560px);max-height:calc(100dvh - 6rem);right:0;width:min(380px,calc(100vw - 1.5rem))}.chat-header{padding:.95rem 1rem}.chat-title{font-size:1rem}.chat-status{font-size:.65rem}.chat-body{-webkit-overflow-scrolling:touch;gap:.75rem;overscroll-behavior:contain;padding:1rem}.chat-message{gap:.5rem;max-width:90%}.bot-avatar{flex-shrink:0;height:26px;width:26px}.chat-bubble{font-size:.86rem;line-height:1.5;max-width:100%;padding:.75rem .85rem}.chat-footer{gap:.45rem;padding:.7rem .75rem calc(.7rem + env(safe-area-inset-bottom))}.chat-footer input{font-size:16px;min-height:44px;min-width:0;padding:.7rem .8rem}.chat-footer button{min-height:44px;min-width:44px;width:44px}.chatbot-wrapper{align-items:flex-end;bottom:max(.75rem,env(safe-area-inset-bottom));box-sizing:border-box;display:flex;left:0;padding:0 .75rem;pointer-events:none;position:fixed;right:0;width:100%}.chatbot-fab{-webkit-tap-highlight-color:transparent;font-size:1.35rem;height:54px;min-height:54px;min-width:54px;pointer-events:auto;touch-action:manipulation;width:54px}.chatbot-window{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:18px;bottom:calc(4.75rem + env(safe-area-inset-bottom));box-sizing:border-box;height:min(72dvh,560px);left:auto;max-height:calc(100dvh - 6.5rem);pointer-events:none;position:fixed;right:.75rem;transform:scale(.96) translateY(12px);transform-origin:bottom right;width:min(380px,calc(100vw - 1.5rem))}.chatbot-window.active{pointer-events:auto;transform:scale(1) translateY(0)}.chat-header{padding:.95rem 1rem}.chat-title{font-size:1rem}.chat-status{font-size:.65rem}.chat-body{-webkit-overflow-scrolling:touch;gap:.75rem;overflow-y:auto;overscroll-behavior:contain;padding:1rem}.chat-message{gap:.5rem;max-width:90%;min-width:0}.bot-avatar{flex-shrink:0;height:26px;min-width:26px;width:26px}.chat-bubble{font-size:.86rem;line-height:1.5;max-width:100%;min-width:0;overflow-wrap:anywhere;padding:.75rem .85rem;white-space:pre-wrap;word-break:break-word}.chat-footer{gap:.45rem;padding:.7rem .75rem calc(.7rem + env(safe-area-inset-bottom))}.chat-footer input{font-size:16px;min-height:44px;min-width:0;padding:.7rem .8rem;width:100%}.chat-footer button{height:44px;min-height:44px;min-width:44px;width:44px}}@media (max-width:480px){.chatbot-wrapper{padding:0 .5rem}.chatbot-window{border-radius:16px;bottom:calc(4.5rem + env(safe-area-inset-bottom));height:min(70dvh,520px);max-height:calc(100dvh - 5.75rem);right:.5rem;transform:scale(.96) translateY(10px);transform-origin:bottom right;width:calc(100vw - 1rem)}.chatbot-window.active{transform:scale(1) translateY(0)}.chatbot-fab{height:52px;min-height:52px;min-width:52px;width:52px}.chat-message{max-width:92%}.chat-bubble{font-size:.84rem}}@media (hover:none),(pointer:coarse){.chatbot-fab:hover{transform:none}.chat-footer button:hover:not(:disabled){background:#6ee7f71a}}#landing-app{background-color:#06080f;color:#f8fafc;display:flex;flex-direction:column;font-family:DM Sans,sans-serif;min-height:100vh;overflow:hidden;position:relative;width:100vw}#bg-canvas{height:100%;position:absolute;width:100%}#cursor-glow{background:radial-gradient(circle,#6ee7f714 0,#0000 60%);transition:width .2s,height .2s}.landing-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:2rem 5%;position:relative;width:100%;z-index:10}.nav-brand{background:linear-gradient(90deg,#6ee7f7,#a78bfa);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:Syne,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:2px}.nav-login-btn{background:#6ee7f71a;border:1px solid #6ee7f74d;border-radius:30px;color:#6ee7f7;cursor:pointer;font-family:DM Sans,sans-serif;font-weight:600;padding:.6rem 1.5rem;transition:all .3s ease}.nav-login-btn:hover{background:#6ee7f733;box-shadow:0 0 15px #6ee7f733}.landing-main{flex:1 1;justify-content:center;padding:0 5%;position:relative;z-index:10}.hero-section,.landing-main{align-items:center;display:flex}.hero-section{animation:fadeSlideUp .6s cubic-bezier(.16,1,.3,1) forwards;flex-direction:column;max-width:800px;text-align:center}.hero-badge{background:#a78bfa1a;border:1px solid #a78bfa4d;border-radius:30px;color:#c4b5fd;display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem;padding:.4rem 1rem;text-transform:uppercase}.hero-title{color:#f8fafc;font-family:Syne,sans-serif;font-size:clamp(3rem,5vw,4.5rem);font-weight:800;line-height:1.1;margin:0 0 1.5rem}.hero-accent{background:linear-gradient(90deg,#6ee7f7,#a78bfa);-webkit-background-clip:text;background-clip:text;color:#0000}.hero-description{color:#94a3b8;font-size:1.1rem;line-height:1.7;margin:0 0 2.5rem;max-width:700px}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary-large,.btn-secondary-large{align-items:center;border-radius:12px;cursor:pointer;display:flex;font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;gap:.5rem;justify-content:center;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-primary-large{background:linear-gradient(135deg,#2563eb,#4f46e5);border:1px solid #ffffff1a;box-shadow:0 4px 15px #2563eb66;color:#fff}.btn-primary-large:hover{box-shadow:0 8px 25px #2563eb99;transform:translateY(-3px)}.btn-secondary-large{background:#ffffff0d;border:1px solid #ffffff1a;color:#e2e8f0}.btn-secondary-large:hover{background:#ffffff1a;color:#f8fafc}.arrow{transition:transform .3s ease}.btn-primary-large:hover .arrow{transform:translateX(5px)}.auth-section{animation:scaleIn .4s cubic-bezier(.16,1,.3,1) forwards;max-width:440px;width:100%}.auth-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f172ad9;border:1px solid #ffffff14;border-radius:20px;box-shadow:0 25px 50px -12px #00000080,0 0 30px #6ee7f70d;padding:2.5rem;position:relative}.back-btn{background:#0000;border:none;color:#94a3b8;cursor:pointer;display:inline-block;font-family:DM Sans,sans-serif;font-size:.9rem;margin-bottom:1.5rem;transition:color .3s}.back-btn:hover{color:#f8fafc}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h2{color:#f8fafc;font-family:Syne,sans-serif;font-size:2rem;font-weight:800;margin:0 0 .5rem}.auth-header p{color:#94a3b8;font-size:.95rem;margin:0}.auth-error{background:#f871711a;border:1px solid #f871714d;border-radius:8px;color:#f87171;font-size:.85rem;margin-bottom:1.5rem;padding:.75rem 1rem;text-align:center}.auth-form{gap:1.25rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#e2e8f0;font-size:.85rem;font-weight:600}.form-group input{background:#0000004d;border:1px solid #ffffff1a;border-radius:10px;box-sizing:border-box;color:#f8fafc;font-family:DM Sans,sans-serif;font-size:.95rem;outline:none;padding:.85rem 1rem;transition:all .3s ease;width:100%}.form-group input::placeholder{color:#94a3b866}.form-group input:focus{background:#0f172acc;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.auth-submit-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#4f46e5);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:Syne,sans-serif;font-size:1.05rem;font-weight:700;justify-content:center;margin-top:.5rem;padding:1rem;transition:all .3s ease;width:100%}.auth-submit-btn:hover{box-shadow:0 8px 20px #2563eb66;transform:translateY(-2px)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-toggle{color:#94a3b8;font-size:.9rem;margin-top:1.5rem;text-align:center}.toggle-btn{background:#0000;border:none;color:#6ee7f7;cursor:pointer;font-family:DM Sans,sans-serif;font-weight:600;padding:0;text-decoration:none}.toggle-btn:hover{text-decoration:underline}.btn-spinner{border:2px solid #fff;height:20px;width:20px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.landing-nav{padding:1rem}.nav-brand{font-size:1.2rem}.nav-login-btn{font-size:.85rem;padding:.55rem 1rem}.landing-main{padding:1rem}.hero-title{font-size:2.2rem;line-height:1.15}.hero-description{font-size:.95rem;line-height:1.6}.hero-badge{font-size:.7rem}.hero-actions{width:100%}.btn-primary-large,.btn-secondary-large{min-height:52px;width:100%}.auth-section{max-width:100%}.auth-card{border-radius:16px;padding:1.5rem}.auth-header h2{font-size:1.6rem}.auth-header p{font-size:.85rem}.form-group input{font-size:16px}.auth-submit-btn{min-height:52px}}@media (max-width:480px){.hero-title{font-size:1.8rem}.hero-description{font-size:.85rem}.hero-badge{font-size:.65rem;padding:.35rem .8rem}.auth-card{padding:1rem}.auth-header h2{font-size:1.3rem}.auth-toggle{font-size:.8rem}.btn-primary-large,.btn-secondary-large{font-size:.95rem}}body,html{overflow-x:hidden;width:100%}canvas,img,svg{height:auto;max-width:100%}:root{--bg-dark:#06080f;--panel-bg:#111827a6;--panel-border:#ffffff14;--text-main:#f8fafc;--text-muted:#94a3b8;--accent-blue:#3b82f6;--accent-cyan:#6ee7f7;--accent-purple:#a78bfa;--accent-green:#34d399;--accent-yellow:#fbbf24;--accent-red:#f87171;--shadow-glow:0 8px 32px 0 #0000005e;--blur-heavy:blur(20px);--blur-light:blur(8px)}*{box-sizing:border-box;margin:0;padding:0}#app{background-color:#06080f;background-color:var(--bg-dark);color:#f8fafc;color:var(--text-main);font-family:DM Sans,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}#bg-canvas{height:100vh;left:0;top:0;width:100vw;z-index:0}#bg-canvas,#cursor-glow{pointer-events:none;position:fixed}#cursor-glow{background:radial-gradient(circle,#a78bfa26 0,#0000 70%);border-radius:50%;height:400px;transform:translate(-50%,-50%);transition:opacity .3s;width:400px;z-index:1}.dashboard-header{background:linear-gradient(180deg,#06080fe6 0,#06080f00);border-bottom:1px solid #ffffff08;padding:2rem 5%;position:relative;z-index:10}.header-inner{justify-content:space-between;margin:0 auto;max-width:1400px}.header-inner,.header-left{align-items:center;display:flex}.header-left{gap:1.5rem}.logo-mark svg{animation:floatLogo 6s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(110,231,247,.4));height:48px;width:48px}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.dashboard-title{font-size:2.2rem;font-weight:700;letter-spacing:-.5px;line-height:1.1}.dashboard-title .accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7f7,#a78bfa);background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));-webkit-background-clip:text;margin-left:8px}.dashboard-subtitle{color:#94a3b8;color:var(--text-muted);font-size:.95rem;margin-top:4px}.stat-pill{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);background:#ffffff0d;border:1px solid #ffffff14;border:1px solid var(--panel-border);border-radius:20px;display:flex;gap:8px;padding:.5rem 1rem}.stat-num{color:#6ee7f7;color:var(--accent-cyan);font-weight:700}.stat-lbl{color:#94a3b8;color:var(--text-muted);font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.controls-bar{align-items:center;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#06080fb3;border-bottom:1px solid #ffffff0d;display:flex;gap:1.5rem;margin:0 auto;max-width:1400px;padding:1.5rem 5%;position:-webkit-sticky;position:sticky;top:0;z-index:20}.search-wrapper{flex:1 1;max-width:400px;position:relative}.search-icon{color:#94a3b8;color:var(--text-muted);height:20px;left:16px;position:absolute;top:50%;transform:translateY(-50%);width:20px}.search-input{background:#ffffff08;border:1px solid #ffffff14;border:1px solid var(--panel-border);border-radius:12px;color:#fff;font-family:inherit;font-size:1rem;padding:14px 16px 14px 48px;transition:all .3s ease;width:100%}.search-input:focus{background:#ffffff0f;border-color:#3b82f6;border-color:var(--accent-blue);box-shadow:0 0 0 4px #3b82f626;outline:none}.category-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:4px}.category-tabs::-webkit-scrollbar{display:none}.cat-tab{background:#0000;border:1px solid #0000;border-radius:30px;color:#94a3b8;color:var(--text-muted);cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.cat-tab:hover{background:#ffffff0d;color:#fff}.cat-tab.active{background:#ffffff1a;border-color:#fff3;box-shadow:0 4px 12px #0003;color:#fff}.tab-icon{color:#6ee7f7;color:var(--accent-cyan);font-size:.9em;margin-right:4px}.view-toggle{background:#0000004d;border-radius:10px;display:flex;margin-left:auto;padding:4px}.view-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;padding:8px;transition:.2s;width:36px}.view-btn:hover{color:#fff}.view-btn.active{background:#ffffff1a;color:#6ee7f7;color:var(--accent-cyan)}.product-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:2rem auto 4rem;max-width:1400px;padding:0 5%;position:relative;z-index:10}.product-card{animation:fadeUp .6s ease backwards;animation-delay:calc(var(--card-i)*.05s);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);-webkit-backdrop-filter:var(--blur-heavy);backdrop-filter:var(--blur-heavy);background:#111827a6;background:var(--panel-bg);border:1px solid #ffffff14;border:1px solid var(--panel-border);border-radius:16px;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.product-card:before{background:radial-gradient(circle,#ffffff0f 0,#0000 70%);border-radius:50%;content:"";height:250px;left:50%;left:var(--mx,50%);opacity:0;pointer-events:none;position:absolute;top:50%;top:var(--my,50%);transform:translate(-50%,-50%);transition:opacity .3s;width:250px}.product-card:hover{border-color:#ffffff26;box-shadow:0 12px 30px #0006,0 0 20px #6ee7f70d;transform:translateY(-4px)}.product-card:hover:before{opacity:1}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.product-name{color:#fff;font-size:1.15rem;font-weight:600;margin-bottom:4px}.product-category{color:#94a3b8;color:var(--text-muted);font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.sentiment-badge{align-items:center;background:#0000004d;border:1px solid #ffffff0d;border-radius:12px;display:flex;flex-direction:column;padding:8px 12px}.score-number{font-size:1.4rem;font-weight:700;line-height:1}.score-number.high{color:#34d399;color:var(--accent-green)}.score-number.mid{color:#fbbf24;color:var(--accent-yellow)}.score-number.low{color:#f87171;color:var(--accent-red)}.score-label{color:#94a3b8;color:var(--text-muted);font-size:.65rem;margin-top:4px;text-transform:uppercase}.metrics-container{display:flex;flex-direction:column;gap:.8rem}.metric-row{align-items:center;display:flex;gap:12px}.metric-label{color:#94a3b8;color:var(--text-muted);font-size:.8rem;width:85px}.bar-bg{background:#ffffff0d;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.bar-fill{border-radius:3px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.metric-value{color:#fff;font-size:.8rem;font-weight:600;text-align:right;width:25px}.empty-state,.loading-state{grid-column:1/-1;padding:4rem 2rem;position:relative;text-align:center;z-index:10}.loader-orbs{display:flex;gap:10px;justify-content:center;margin-bottom:1rem}.orb{animation:bounceOrb .6s infinite alternate;animation-delay:var(--d);background:#6ee7f7;background:var(--accent-cyan);border-radius:50%;box-shadow:0 0 10px #6ee7f7;box-shadow:0 0 10px var(--accent-cyan);height:12px;width:12px}@keyframes bounceOrb{to{opacity:.5;transform:translateY(-12px)}}.loading-text{color:#94a3b8;color:var(--text-muted);font-weight:500}.empty-icon{color:#ffffff1a;font-size:3rem;margin-bottom:1rem}.loading-more{padding:2rem 0;position:relative;text-align:center;width:100%;z-index:10}.spinner-ring{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top:3px solid var(--accent-purple);height:30px;margin:0 auto;width:30px}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUpModal .4s cubic-bezier(.16,1,.3,1);background:linear-gradient(145deg,#0f172a,#06080f);border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 25px 50px -12px #00000080,0 0 40px #6ee7f71a;display:flex;flex-direction:column;max-height:90vh;max-width:1050px;position:relative;width:100%}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-glow-ring{background:linear-gradient(90deg,#0000,#6ee7f7,#a78bfa,#0000);background:linear-gradient(90deg,#0000,var(--accent-cyan),var(--accent-purple),#0000);height:1px;left:10%;opacity:.5;position:absolute;right:10%;top:-1px}.modal-close{align-items:center;background:#ffffff0d;border:none;border-radius:50%;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:20px;top:20px;transition:.2s;width:36px;z-index:10}.modal-close:hover{background:#ffffff1a;color:#fff;transform:rotate(90deg)}.modal-header{align-items:flex-end;border-bottom:1px solid #ffffff0d;display:flex;justify-content:space-between;padding:2.5rem 3rem 1.5rem}.modal-title-area h2{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-background-clip:text;font-size:2rem;font-weight:700;margin-bottom:8px}.modal-cat-badge{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;color:#a78bfa;color:var(--accent-purple);font-size:.8rem;letter-spacing:1px;padding:4px 12px;text-transform:uppercase}.modal-price-area{align-items:center;display:flex;gap:1.5rem}.modal-price{color:#34d399;color:var(--accent-green);font-size:2rem;font-weight:700;text-shadow:0 0 20px #34d3994d}.modal-score-ring{height:80px;position:relative;width:80px}.ring-svg{height:100%;width:100%}.ring-svg circle{transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.ring-label{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.ring-score{font-size:1.3rem;font-weight:700;line-height:1}.ring-score.high{color:#34d399;color:var(--accent-green)}.ring-score.mid{color:#fbbf24;color:var(--accent-yellow)}.ring-score.low{color:#f87171;color:var(--accent-red)}.ring-sub{color:#94a3b8;color:var(--text-muted);font-size:.6rem;text-transform:uppercase}.scrollable-body{overflow-y:auto;padding:2rem 3rem}.scrollable-body::-webkit-scrollbar{width:8px}.scrollable-body::-webkit-scrollbar-track{background:#0003}.scrollable-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.scrollable-body::-webkit-scrollbar-thumb:hover{background:#fff3}.modal-split-layout{grid-gap:2.5rem;align-items:stretch;display:grid;gap:2.5rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.section-label{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:600;gap:8px;margin-bottom:1.5rem}.section-label:before{background:#6ee7f7;background:var(--accent-cyan);border-radius:2px;content:"";height:16px;width:4px}.modal-radar-section{background:#0003;border:1px solid #ffffff08;border-radius:16px;padding:1.5rem}.radar-wrap{align-items:center;display:flex;flex-direction:column;gap:2rem}.radar-legend{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;width:100%}.legend-item{align-items:center;background:#ffffff08;border:1px solid #ffffff05;border-radius:8px;display:flex;padding:10px 14px}.legend-dot{border-radius:50%;height:8px;margin-right:10px;width:8px}.legend-name{color:#94a3b8;color:var(--text-muted);flex:1 1;font-size:.85rem}.legend-val{font-size:.95rem;font-weight:600}.modal-reviews-section{background:#0003;border:1px solid #ffffff08;border-radius:16px;display:flex;flex-direction:column;padding:1.5rem}.reviews-list{display:flex;flex:1 1;flex-direction:column;gap:1rem;max-height:380px;overflow-y:auto;padding-right:.5rem}.reviews-list::-webkit-scrollbar{width:5px}.reviews-list::-webkit-scrollbar-track{background:#0000}.reviews-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.empty-reviews-msg{color:#94a3b8;color:var(--text-muted);font-style:italic;padding:2rem 0;text-align:center}.review-item{animation:slideInRight .4s ease backwards;background:#ffffff08;border-radius:12px;display:flex;gap:1rem;padding:1rem}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.review-avatar{align-items:center;background:linear-gradient(135deg,#a78bfa,#3b82f6);background:linear-gradient(135deg,var(--accent-purple),var(--accent-blue));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:36px;justify-content:center;width:36px}.review-text{color:#cbd5e1;font-size:.9rem;line-height:1.5}.add-review-btn{align-items:center;background:#ffffff0d;border:1px dashed #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;margin-top:1rem;padding:14px;transition:.3s;width:100%}.add-review-btn:hover{background:#ffffff1a;border-color:#6ee7f7;border-color:var(--accent-cyan);color:#6ee7f7;color:var(--accent-cyan)}.review-modal{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;border-radius:24px;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.review-modal-box{background:#0f172a;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 40px #00000080;max-width:500px;padding:2rem;width:90%}.review-modal-box h3{font-size:1.2rem;margin-bottom:1rem}#review-textarea{background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-family:inherit;height:120px;margin-bottom:1.5rem;padding:1rem;resize:none;width:100%}#review-textarea:focus{border-color:#3b82f6;border-color:var(--accent-blue);outline:none}.review-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-secondary{background:#0000;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;padding:8px 16px}.btn-secondary:hover{color:#fff}.btn-primary{background:linear-gradient(135deg,#3b82f6,#a78bfa);background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:transform .2s}.btn-primary:hover{transform:translateY(-2px)}@media (max-width:968px){.modal-split-layout{gap:1.5rem;grid-template-columns:1fr}.controls-bar{align-items:stretch;flex-direction:column}.search-wrapper{max-width:100%}}@media (max-width:640px){.dashboard-header{padding:1.5rem 5%}.dashboard-title{font-size:1.8rem}.modal-content{max-height:95vh}.modal-header,.scrollable-body{padding:1.5rem}.modal-header{align-items:flex-start;flex-direction:column;gap:1rem}}.product-grid.list-view{gap:1.5rem!important;margin:2rem auto;max-width:1200px}.product-card.history-card,.product-grid.list-view{display:flex!important;flex-direction:column!important}.product-card.history-card{background:linear-gradient(145deg,#15203699,#0a0f1ed9)!important;border:1px solid #ffffff14!important;border-radius:16px!important;cursor:pointer;gap:1.25rem!important;padding:1.75rem!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.product-card.history-card:hover{border-color:#6ee7f74d!important;box-shadow:0 12px 24px #00000080!important;transform:translateY(-2px)!important}.history-header{align-items:flex-start!important;display:flex!important;gap:1.5rem;justify-content:space-between!important;width:100%!important}.history-meta{display:flex;flex-direction:column;gap:6px}.history-meta .product-category{color:#a78bfa;color:var(--accent-purple);font-size:.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.history-product-name{color:#fff;font-size:1.4rem;font-weight:700;margin:0}.history-date{color:#94a3b8;color:var(--text-muted);font-size:.85rem}.impact-badge{align-items:center!important;background:#0006!important;border-radius:30px!important;display:inline-flex!important;flex-direction:row!important;font-weight:700!important;gap:6px!important;min-width:auto!important;padding:8px 16px!important}.impact-badge.positive{background:#34d3990f!important;border:1px solid #34d3994d!important}.impact-badge.positive .impact-val{color:#34d399!important;color:var(--accent-green)!important}.impact-badge.positive .impact-lbl{color:#34d399b3!important}.impact-badge.negative{background:#f871710f!important;border:1px solid #f871714d!important}.impact-badge.negative .impact-val{color:#f87171!important;color:var(--accent-red)!important}.impact-badge.negative .impact-lbl{color:#f87171b3!important}.impact-val{font-size:1.2rem!important;font-weight:800}.impact-lbl{font-size:.7rem!important;letter-spacing:.5px;text-transform:uppercase}.history-review-bubble{background:#ffffff05!important;border-left:3px solid #6ee7f7!important;border-left:3px solid var(--accent-cyan)!important;border-radius:4px 12px 12px 4px!important;box-sizing:border-box!important;margin-top:.5rem!important;padding:1.25rem 1.5rem 1.25rem 3.5rem!important;position:relative!important;width:100%!important}.bubble-quote{color:#6ee7f71f!important;font-family:Georgia,serif!important;font-size:4.5rem!important;left:10px!important;line-height:1!important;position:absolute!important;top:-12px!important;-webkit-user-select:none!important;user-select:none!important}.history-review-bubble p{color:#e2e8f0!important;font-size:.95rem!important;font-style:italic!important;line-height:1.6!important;margin:0!important}.highlighted-community-review{background:#a78bfa0d!important;border-left:3px solid #a78bfa!important;border-left:3px solid var(--accent-purple)!important}.my-review-tag{background:#a78bfa33;border-radius:4px;color:#c4b5fd;font-size:.75rem;font-weight:600;margin-left:auto;padding:2px 8px}@media (max-width:1024px){.dashboard-header{padding:1.5rem 4%}.header-inner{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-title{font-size:1.8rem}.product-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.modal-content{max-width:95%}}@media (max-width:768px){.dashboard-header{padding:1rem}.header-inner{align-items:flex-start;flex-direction:column;gap:1rem}.header-left{width:100%}.dashboard-title{font-size:1.5rem;line-height:1.2}.dashboard-subtitle{font-size:.85rem}.logo-mark svg{height:40px;width:40px}.header-stats{width:100%}.stat-pill{width:-webkit-fit-content;width:fit-content}.controls-bar{gap:1rem;padding:1rem;position:-webkit-sticky;position:sticky}.search-wrapper{max-width:100%;width:100%}.category-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:8px;width:100%}.cat-tab{flex-shrink:0;font-size:.85rem;padding:8px 14px}.product-grid{gap:1rem;grid-template-columns:1fr;padding:0 1rem}.product-card{padding:1rem}.card-header{gap:.75rem}.product-name{font-size:1rem}.metric-label{font-size:.75rem;width:70px}.metric-value{font-size:.75rem;width:22px}.score-number{font-size:1.1rem}.modal-overlay{padding:.5rem}.modal-content{border-radius:16px;height:95vh;max-height:95vh;width:100%}.modal-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.modal-title-area h2{font-size:1.4rem}.modal-price-area{justify-content:space-between;width:100%}.modal-price{font-size:1.5rem}.scrollable-body{padding:1rem}.modal-split-layout{gap:1rem;grid-template-columns:1fr}.radar-wrap canvas{height:auto;max-width:260px;width:100%}.radar-legend{grid-template-columns:1fr}.legend-item{padding:8px 10px}.reviews-list{max-height:250px}.review-item{gap:.75rem;padding:.75rem}.review-avatar{font-size:.8rem;height:30px;width:30px}.review-text{font-size:.85rem}.modal-snapshot-section>div:first-child{align-items:flex-start!important;flex-direction:column;gap:1rem}.modal-snapshot-section button{justify-content:center;width:100%}.review-modal-box{padding:1rem;width:95%}.review-modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width:480px){.dashboard-title{font-size:1.3rem}.dashboard-subtitle{font-size:.8rem}.product-name{font-size:.95rem}.sentiment-badge{padding:6px 10px}.score-number{font-size:1rem}.modal-price,.modal-title-area h2{font-size:1.2rem}.ring-score{font-size:1rem}.section-label{font-size:.9rem}.history-header{flex-direction:column;gap:1rem}.history-product-name{font-size:1.1rem}.history-review-bubble{padding:1rem 1rem 1rem 2.5rem!important}.bubble-quote{font-size:3rem!important}}@media (hover:none),(pointer:coarse){#cursor-glow,.product-card:before{display:none!important}.product-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.add-review-btn:hover,.btn-primary:hover,.cat-tab:hover,.product-card:hover,.view-btn:hover{transform:none}}@media (min-width:769px) and (max-width:1024px){#app,#root,body,html{max-width:100%;overflow-x:hidden;width:100%}.dashboard-header{padding:1.25rem 1.5rem}.header-inner{align-items:center;flex-direction:row;gap:1.25rem;width:100%}.header-left{flex:1 1;min-width:0}.dashboard-title{font-size:1.65rem}.dashboard-subtitle{font-size:.85rem}.logo-mark svg{height:42px;width:42px}.controls-bar{align-items:center;flex-wrap:wrap;gap:.9rem;max-width:100%;padding:.9rem 1.25rem;width:100%}.search-wrapper{flex:1 1 320px;max-width:none;min-width:240px}.category-tabs{-webkit-overflow-scrolling:touch;flex:1 1 100%;min-width:0;overflow-x:auto;scrollbar-width:none;width:100%}.category-tabs::-webkit-scrollbar{display:none}.cat-tab{flex-shrink:0;min-height:44px}.product-grid{gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem;max-width:1200px;padding:0 1.25rem;width:100%}.product-card{min-width:0;padding:1.1rem}.card-header{gap:.75rem}.product-name{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.metric-label{flex-shrink:0;width:72px}.modal-overlay{padding:1rem}.modal-content{border-radius:20px;max-height:92dvh;max-width:96vw;width:min(96vw,1000px)}.modal-header{padding:1.5rem 1.75rem 1.25rem}.scrollable-body{padding:1.5rem}.modal-split-layout{gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.radar-wrap canvas{height:auto;width:min(100%,320px)}.reviews-list{max-height:300px}}@media (max-width:768px){#app,#root,body,html{max-width:100%;min-width:0;overflow-x:hidden;width:100%}body{-webkit-text-size-adjust:100%;overscroll-behavior-x:none}.dashboard-header{padding:calc(.85rem + env(safe-area-inset-top)) 1rem .85rem;width:100%}.header-inner{gap:.75rem;width:100%}.header-left{gap:.8rem;min-width:0;width:100%}.logo-mark{flex-shrink:0}.logo-mark svg{height:38px;width:38px}.dashboard-title{font-size:1.35rem;letter-spacing:-.3px;line-height:1.15;min-width:0}.dashboard-title .accent{margin-left:4px}.dashboard-subtitle{font-size:.78rem;line-height:1.4;margin-top:3px}.header-stats{width:100%}.stat-pill{min-height:42px;padding:.45rem .8rem}.controls-bar{align-items:stretch;flex-direction:column;gap:.65rem;max-width:none;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:50}.search-wrapper{flex:none;max-width:none;width:100%}.search-input{border-radius:12px;font-size:16px;min-height:46px;padding:12px 14px 12px 44px}.search-icon{height:19px;left:14px;width:19px}.category-tabs{-webkit-overflow-scrolling:touch;display:flex;gap:.4rem;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 1px 4px;scrollbar-width:none;width:100%}.category-tabs::-webkit-scrollbar{display:none}.cat-tab{flex:0 0 auto;font-size:.82rem;min-height:42px;padding:8px 13px;white-space:nowrap}.tab-icon{margin-right:2px}.product-grid{gap:.85rem;grid-template-columns:minmax(0,1fr);margin:1rem auto calc(4rem + env(safe-area-inset-bottom));max-width:none;padding:0 1rem;width:100%}.product-card{animation:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:14px;min-width:0;padding:1rem;width:100%}.card-header{gap:.7rem;margin-bottom:1rem;width:100%}.product-name{font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}.product-category{font-size:.7rem;letter-spacing:.8px}.sentiment-badge{flex-shrink:0;min-width:58px;padding:7px 9px}.score-number{font-size:1.05rem}.score-label{font-size:.58rem}.metric-row{gap:8px}.metric-label{flex:0 0 68px;font-size:.72rem;width:68px}.metric-value{flex:0 0 24px;font-size:.72rem;width:24px}.bar-bg{min-width:0}.empty-state,.loading-state{padding:3rem 1rem}.modal-overlay{align-items:flex-end;background:#000000c7;padding:0}.modal-content{border-bottom:0;border-radius:20px 20px 0 0;height:min(94dvh,900px);max-height:94dvh;max-width:none;overflow:hidden;width:100%}.modal-header{align-items:flex-start;flex-direction:column;flex-shrink:0;gap:.7rem;min-height:96px;padding:1rem 3.75rem 1rem 1rem;width:100%}.modal-title-area{min-width:0;width:100%}.modal-title-area h2{font-size:1.2rem;line-height:1.25;overflow-wrap:anywhere;padding-right:.25rem}.modal-cat-badge{font-size:.68rem;padding:4px 9px}.modal-price-area{gap:.75rem;justify-content:space-between;width:100%}.modal-price{font-size:1.2rem}.modal-score-ring{flex-shrink:0;height:64px;width:64px}.ring-score{font-size:1rem}.modal-close{height:42px;right:14px;top:14px;width:42px}.scrollable-body{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto;padding:1rem}.modal-split-layout{gap:.85rem;grid-template-columns:minmax(0,1fr)}.modal-radar-section,.modal-reviews-section{border-radius:14px;min-width:0;padding:1rem}.radar-wrap{gap:1rem}.radar-wrap canvas{display:block;height:auto;width:min(100%,280px)}.radar-legend{gap:.55rem;grid-template-columns:1fr}.legend-item{min-height:42px;padding:8px 10px}.reviews-list{max-height:300px;padding-right:.25rem}.review-item{gap:.65rem;padding:.75rem}.review-avatar{flex-shrink:0;height:32px;width:32px}.review-text{font-size:.84rem;min-width:0;overflow-wrap:anywhere}.modal-snapshot-section>div:first-child{align-items:stretch!important;flex-direction:column;gap:.75rem}.modal-snapshot-section button{min-height:44px;width:100%}.review-modal{padding:.75rem}.review-modal-box{border-radius:16px;max-height:90dvh;max-width:520px;overflow-y:auto;padding:1rem;width:100%}#review-textarea{font-size:16px;min-height:130px}.review-modal-actions{flex-direction:column-reverse;gap:.65rem}.btn-primary,.btn-secondary{min-height:46px;width:100%}.history-header{flex-direction:column;gap:.75rem}.history-product-name{font-size:1.05rem;line-height:1.3;overflow-wrap:anywhere}.history-review-bubble{padding:1rem 1rem 1rem 2.5rem!important}.bubble-quote{font-size:3rem!important}.add-review-btn,.btn-primary,.btn-secondary,.cat-tab,.modal-close,.view-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (max-width:480px){.dashboard-title{font-size:1.2rem}.dashboard-subtitle{font-size:.74rem}.logo-mark svg{height:34px;width:34px}.search-input{min-height:44px}.product-card{padding:.9rem}.metric-label{flex-basis:62px;font-size:.68rem;width:62px}.modal-content{height:96dvh;max-height:96dvh}.modal-header{min-height:90px;padding:.85rem 3.5rem .85rem .85rem}.modal-radar-section,.modal-reviews-section,.scrollable-body{padding:.85rem}}.dashboard-loader{flex-direction:column;min-height:50vh;padding:3rem 1rem;text-align:center;width:100%;z-index:10}.dashboard-loader,.dashboard-loader-mark{align-items:center;display:flex;justify-content:center;position:relative}.dashboard-loader-mark{height:76px;margin-bottom:1.25rem;width:76px}.loader-ring{animation:loaderSpin 1.2s linear infinite;border-bottom:2px solid #ffffff14;border-left:2px solid #ffffff14;border-radius:50%;border-right:2px solid #a78bfa;border-right-color:var(--accent-purple);border-top:2px solid #6ee7f7;border-top-color:var(--accent-cyan);inset:0;position:absolute}.loader-core{align-items:center;animation:loaderPulse 1.8s ease-in-out infinite;background:linear-gradient(135deg,#6ee7f71f,#a78bfa1f);border:1px solid #ffffff14;border-radius:50%;box-shadow:0 0 25px #6ee7f71f,inset 0 0 20px #a78bfa0d;color:#6ee7f7;color:var(--accent-cyan);display:flex;font-size:1.25rem;height:42px;justify-content:center;width:42px}.dashboard-loader-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ee7f7,#a78bfa);background:linear-gradient(135deg,var(--accent-cyan),var(--accent-purple));-webkit-background-clip:text;font-size:1.15rem;font-weight:700;letter-spacing:.2px}.dashboard-loader-text{color:#94a3b8;color:var(--text-muted);font-size:.82rem;margin-top:.35rem}.dashboard-loader-progress{background:#ffffff0f;border-radius:999px;height:3px;margin-top:1rem;overflow:hidden;width:min(180px,55vw)}.dashboard-loader-progress span{animation:loaderProgress 1.5s ease-in-out infinite;background:linear-gradient(90deg,#6ee7f7,#a78bfa);background:linear-gradient(90deg,var(--accent-cyan),var(--accent-purple));border-radius:inherit;display:block;height:100%;width:45%}@keyframes loaderSpin{to{transform:rotate(1turn)}}@keyframes loaderPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes loaderProgress{0%{transform:translateX(-120%)}50%{transform:translateX(100%)}to{transform:translateX(230%)}}@media (max-width:768px){.dashboard-loader{min-height:48vh;padding:2.5rem 1rem}.dashboard-loader-mark{height:68px;width:68px}.loader-core{font-size:1.1rem;height:38px;width:38px}.dashboard-loader-title{font-size:1.05rem}.dashboard-loader-text{font-size:.78rem}}@media (max-width:480px){.dashboard-loader{min-height:44vh}.dashboard-loader-mark{height:62px;width:62px}.loader-core{font-size:1rem;height:34px;width:34px}}@media (prefers-reduced-motion:reduce){.dashboard-loader-progress span,.loader-core,.loader-ring{animation:none}}.review-submit-btn{align-items:center;display:inline-flex;gap:.55rem;justify-content:center;min-height:46px;position:relative;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}.review-submit-btn:disabled{cursor:not-allowed;opacity:.7}.review-submit-btn:not(:disabled):hover{transform:translateY(-1px)}.review-submit-spinner{animation:reviewSubmitSpin .75s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:17px;width:17px}@keyframes reviewSubmitSpin{to{transform:rotate(1turn)}}.review-submit-status{align-items:center;animation:reviewStatusIn .25s ease both;border-radius:10px;display:flex;font-size:.84rem;gap:.6rem;line-height:1.4;margin-bottom:.8rem;padding:.8rem .95rem;width:100%}.review-submit-status.loading{background:#3b82f614;border:1px solid #60a5fa33;color:#93c5fd}.review-submit-status.success{background:#34d39914;border:1px solid #34d39940;color:#34d399}.review-submit-status.error{background:#f8717114;border:1px solid #f8717140;color:#f87171}.status-pulse{animation:statusPulse 1s ease-in-out infinite;background:#60a5fa;border-radius:50%;box-shadow:0 0 10px #60a5fab3;flex-shrink:0;height:8px;width:8px}@keyframes statusPulse{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes reviewStatusIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.review-submit-status{font-size:.8rem;padding:.75rem .85rem}.review-submit-btn{min-height:48px;width:100%}}.settings-container{animation:fadeSlideDown .7s cubic-bezier(.4,0,.2,1) both;color:#e8edf5;font-family:DM Sans,sans-serif;margin:0 auto;max-width:980px;padding:2.5rem 5% 6rem;position:relative;width:100%;z-index:10}.settings-header{align-items:center;display:flex;gap:1.25rem;margin-bottom:2rem}.settings-header-icon{align-items:center;animation:pulse-glow 3s ease-in-out infinite;background:linear-gradient(135deg,#6ee7f71f,#a78bfa1f);border:1px solid #6ee7f733;border-radius:15px;box-shadow:0 0 20px #6ee7f71a;color:#6ee7f7;display:flex;flex-shrink:0;font-size:1.25rem;height:52px;justify-content:center;width:52px}.settings-title{font-family:Syne,sans-serif;font-size:clamp(1.6rem,3.5vw,2.25rem);font-weight:800;margin:0 .35rem}.settings-subtitle{color:#94a3b8;font-size:.95rem;line-height:1.5;margin:0}.settings-card{animation:cardReveal .6s cubic-bezier(.34,1.56,.64,1) 0s both;animation:cardReveal .6s cubic-bezier(.34,1.56,.64,1) calc(var(--card-i, 0)*.12s) both;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(145deg,#0f172ab8,#080c18b8);border:1px solid #ffffff12;border-radius:20px;overflow:hidden;padding:2rem;position:relative;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.settings-card+.settings-card{margin-top:1.5rem}.settings-card:before{background:linear-gradient(90deg,#0000,#6ee7f759,#a78bfa59,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.settings-card:hover{border-color:#6ee7f72e;box-shadow:0 18px 50px #00000059,0 0 30px #6ee7f70d}.settings-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.settings-card-header h2{color:#f8fafc;font-family:Syne,sans-serif;font-size:1.25rem;font-weight:700;margin:0 .35rem}.settings-card-header p{color:#64748b;font-size:.82rem;line-height:1.5;margin:0}.security-icon{align-items:center;background:#3b82f61a;border:1px solid #3b82f633;border-radius:12px;display:flex;flex-shrink:0;font-size:1rem;height:42px;justify-content:center;width:42px}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.profile-avatar-area{align-items:center;background:linear-gradient(135deg,#6ee7f70f,#a78bfa0f);border:1px solid #ffffff0d;border-radius:16px;display:flex;gap:1rem;padding:1rem}.profile-avatar{align-items:center;background:linear-gradient(135deg,#6ee7f71f,#a78bfa29);border:1px solid #ffffff1f;border-radius:22px;box-shadow:0 12px 30px #00000040;display:flex;flex-shrink:0;font-size:2.9rem;height:78px;justify-content:center;transition:transform .25s ease,box-shadow .25s ease;width:78px}.profile-avatar:hover{box-shadow:0 16px 35px #0000004d;transform:translateY(-2px)}.profile-avatar span{display:block;font-size:inherit;line-height:1}.avatar-info{min-width:0}.avatar-title{color:#f8fafc;font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.avatar-subtitle{color:#94a3b8;font-size:.8rem;line-height:1.45;margin-top:.3rem}.avatar-picker-label{color:#94a3b8;display:block;font-size:.82rem;font-weight:600;margin-bottom:.55rem}.avatar-picker{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(8,minmax(0,1fr));width:100%}.avatar-option{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1;background:hsla(0,0%,100%,.035);border:1px solid #ffffff14;border-radius:13px;color:#fff;cursor:pointer;display:flex;font-size:1.55rem;justify-content:center;min-width:0;touch-action:manipulation;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.avatar-option span{line-height:1}.avatar-option:hover{background:#6ee7f712;border-color:#6ee7f766;transform:translateY(-2px)}.avatar-option.selected{background:linear-gradient(135deg,#6ee7f71a,#a78bfa1a);border-color:#6ee7f7cc;box-shadow:0 0 0 2px #6ee7f71f,0 0 18px #6ee7f726;transform:scale(1.05)}.form-field{display:flex;flex-direction:column;gap:.5rem}.profile-form label,.settings-form label{color:#94a3b8;font-size:.82rem;font-weight:600}.input-wrapper{position:relative}.profile-form input,.settings-form input{background:#0003;border:1px solid #ffffff1a;border-radius:11px;color:#f8fafc;font-family:DM Sans,sans-serif;font-size:.95rem;min-height:48px;outline:none;padding:.85rem 1rem;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;width:100%}.profile-form input::placeholder,.settings-form input::placeholder{color:#94a3b873}.profile-form input:focus,.settings-form input:focus{background:#0f172aa6;border-color:#6ee7f780;box-shadow:0 0 0 3px #6ee7f70f}.input-underline{background:linear-gradient(90deg,#6ee7f7,#a78bfa);bottom:1px;height:2px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);transition:width .35s ease;width:0}.settings-form input:focus+.input-underline{width:95%}.profile-email-box{align-items:center;background:#0000002e;border:1px solid #ffffff14;border-radius:11px;display:flex;gap:.6rem;min-width:0;padding-right:.65rem}.profile-email-box input{flex:1 1;min-width:0;padding-left:.25rem}.profile-email-box input,.profile-email-box input:focus{background:#0000;border:none;box-shadow:none}.email-icon{color:#6ee7f7;flex-shrink:0;font-size:1rem;margin-left:.9rem}.verified-badge{background:#34d3991a;border:1px solid #34d39933;border-radius:20px;color:#34d399;flex-shrink:0;font-size:.68rem;font-weight:700;padding:.3rem .6rem}.field-help{color:#64748b;font-size:.72rem;line-height:1.45}.settings-btn{align-items:center;border-radius:11px;cursor:pointer;display:flex;font-family:Syne,sans-serif;font-size:.95rem;font-weight:700;gap:.55rem;justify-content:center;min-height:50px;padding:.9rem 1.4rem;transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease;width:100%}.btn-profile{background:linear-gradient(135deg,#06b6d4,#6366f1);border:1px solid #ffffff1f;box-shadow:0 8px 25px #3b82f647;color:#fff}.btn-password{background:linear-gradient(135deg,#2563eb,#4f46e5);border:1px solid #ffffff1a;box-shadow:0 8px 25px #2563eb47;color:#fff}.settings-btn:hover:not(:disabled){transform:translateY(-2px)}.btn-profile:hover:not(:disabled){box-shadow:0 12px 30px #3b82f666}.btn-password:hover:not(:disabled){box-shadow:0 12px 30px #2563eb66}.settings-btn:disabled{cursor:not-allowed;opacity:.6}.forgot-password-panel{align-items:center;background:hsla(0,0%,100%,.025);border:1px solid #ffffff12;border-radius:13px;display:flex;gap:1rem;justify-content:space-between;margin-top:1.5rem;padding:1rem 1.15rem}.forgot-password-content{min-width:0}.forgot-password-content h3{color:#f8fafc;font-family:Syne,sans-serif;font-size:.9rem;font-weight:700;margin:0 .25rem}.forgot-password-content p{color:#64748b;font-size:.75rem;line-height:1.45;margin:0}.forgot-password-btn{background:#6ee7f712;border:1px solid #6ee7f740;border-radius:9px;color:#6ee7f7;cursor:pointer;flex-shrink:0;font-size:.78rem;font-weight:600;min-height:42px;padding:.65rem .9rem;transition:background .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease}.forgot-password-btn:hover:not(:disabled){background:#6ee7f721;border-color:#6ee7f773;transform:translateY(-1px)}.forgot-password-btn:disabled{cursor:not-allowed;opacity:.55}.settings-alert{align-items:center;animation:alertIn .35s ease both;border-radius:11px;display:flex;font-size:.88rem;gap:.75rem;line-height:1.45;margin-bottom:1rem;padding:.9rem 1rem}.settings-alert.success{background:#34d3991a;border:1px solid #34d39940;color:#34d399}.settings-alert.error{background:#f871711a;border:1px solid #f8717140;color:#f87171}.settings-alert-icon{flex-shrink:0;font-weight:800}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #fffc;border-radius:50%;border-top-color:#0000;height:18px;width:18px}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 16px #6ee7f71a}50%{box-shadow:0 0 28px #6ee7f740}}@media (min-width:769px) and (max-width:1024px){.settings-container{max-width:900px;padding:2rem 3rem 5rem}.avatar-picker{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width:768px){.settings-container{max-width:100%;padding:1.25rem 1rem 4rem}.settings-header{gap:.9rem;margin-bottom:1.5rem}.settings-header-icon{font-size:1.05rem;height:44px;width:44px}.settings-title{font-size:1.5rem}.settings-subtitle{font-size:.82rem}.settings-card{border-radius:16px;padding:1.2rem}.settings-card-header{margin-bottom:1.15rem}.settings-card-header h2{font-size:1.05rem}.settings-card-header p{font-size:.75rem}.security-icon{font-size:.9rem;height:38px;width:38px}.profile-avatar-area{align-items:center;padding:.9rem}.profile-avatar{border-radius:19px;font-size:2.4rem;height:68px;width:68px}.avatar-picker{gap:.55rem;grid-template-columns:repeat(5,minmax(0,1fr))}.avatar-option{font-size:1.45rem;min-height:54px}.profile-form input,.settings-form input{font-size:16px}.profile-email-box{min-height:48px}.verified-badge{font-size:.62rem}.settings-btn{min-height:50px}.forgot-password-panel{align-items:stretch;flex-direction:column;gap:.8rem}.forgot-password-btn{min-height:44px;width:100%}}@media (max-width:480px){.settings-container{padding:1rem .85rem 3rem}.settings-header{align-items:flex-start}.settings-title{font-size:1.3rem}.settings-subtitle{font-size:.76rem}.settings-card{border-radius:14px;padding:1rem}.settings-card+.settings-card{margin-top:1rem}.profile-avatar-area{align-items:flex-start}.profile-avatar{border-radius:17px;font-size:2rem;height:60px;width:60px}.avatar-title{font-size:.9rem}.avatar-subtitle{font-size:.72rem}.avatar-picker{gap:.45rem;grid-template-columns:repeat(5,minmax(0,1fr))}.avatar-option{border-radius:11px;font-size:1.3rem;min-height:50px}.profile-email-box{padding-right:.45rem}.profile-email-box input{min-width:0;padding-left:.15rem;padding-right:.15rem}.verified-badge{display:none}.field-help{font-size:.68rem}.settings-alert{font-size:.82rem}.forgot-password-panel{padding:.9rem}.forgot-password-content h3{font-size:.85rem}.forgot-password-content p{font-size:.7rem}}@media (hover:none),(pointer:coarse){.settings-card:hover{border-color:#ffffff12;box-shadow:none}.profile-avatar:hover{transform:none}.avatar-option:hover{background:hsla(0,0%,100%,.035);border-color:#ffffff14;transform:none}.forgot-password-btn:hover:not(:disabled),.settings-btn:hover:not(:disabled){transform:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.6bd367d0.css.map*/