@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-card:#111827b3;--bg-card-hover:#1e293bcc;--bg-glass:#0f172aa6;--bg-input:#1e293b99;--accent:#06d6a0;--accent-light:#34ebc6;--accent-dark:#048a68;--accent-glow:#06d6a040;--cyan:#22d3ee;--cyan-glow:#22d3ee33;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#8a99ad;--text-accent:#06d6a0;--border:#94a3b81f;--border-accent:#06d6a04d;--danger:#ef4444;--danger-bg:#ef44441f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--success:#06d6a0;--success-bg:#06d6a01f;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 10px 40px #00000080;--shadow-glow:0 0 30px var(--accent-glow);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(600px 400px at 15% 20%,#06d6a00f,#0000),radial-gradient(500px 500px at 85% 80%,#22d3ee0d,#0000);position:fixed;inset:0}#root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-light)}.navbar{z-index:100;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px)saturate(1.8);backdrop-filter:blur(20px)saturate(1.8);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex;position:sticky;top:0}.navbar-brand{background:linear-gradient(135deg, var(--accent), var(--cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.6rem;font-size:1.35rem;font-weight:700;display:flex}.navbar-brand svg,.navbar-brand .brand-icon{color:var(--accent);-webkit-text-fill-color:var(--accent);font-size:1.5rem}.navbar-links{align-items:center;gap:1.5rem;display:flex}.navbar-links a,.navbar-links button{color:var(--text-secondary);cursor:pointer;transition:color .2s var(--ease-out);background:0 0;border:none;font-size:.9rem;font-weight:500}.navbar-links a:hover,.navbar-links button:hover,.navbar-links a.active{color:var(--accent)}.page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .3s var(--ease-out), box-shadow .3s var(--ease-out);padding:2rem}.card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all .25s var(--ease-out);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.6rem;font-family:inherit;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a,#0000);transition:opacity .25s;position:absolute;inset:0}.btn:hover:after{opacity:1}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--cyan));color:#0a0e17;box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 30px var(--accent-glow);transform:translateY(-2px)}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-accent);transform:translateY(-1px)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #ef444440}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all .3s var(--ease-out);background:var(--bg-card);padding:3.5rem 2rem;position:relative}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);box-shadow:inset 0 0 40px var(--accent-glow);background:#06d6a00a}.upload-zone .icon{color:var(--accent);transition:transform .3s var(--ease-spring);margin-bottom:1rem;font-size:3rem}.upload-zone:hover .icon{transform:scale(1.1)translateY(-4px)}.upload-zone p{color:var(--text-secondary);font-size:.95rem}.upload-zone .highlight{color:var(--accent);font-weight:600}.preview-container{border-radius:var(--radius-md);border:1px solid var(--border);max-width:400px;margin:1.5rem auto;position:relative;overflow:hidden}.preview-container img{border-radius:var(--radius-md);width:100%;display:block}.preview-container .remove-btn{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.preview-container .remove-btn:hover{background:var(--danger)}.accordion{flex-direction:column;gap:.75rem;display:flex}.accordion-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .25s;overflow:hidden}.accordion-item.open{border-color:var(--border-accent)}.accordion-header{cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .2s;display:flex}.accordion-header:hover{background:var(--bg-card-hover)}.accordion-header .icon{color:var(--accent);font-size:1.1rem}.accordion-header .chevron{color:var(--text-muted);transition:transform .25s var(--ease-out)}.accordion-item.open .accordion-header .chevron{transform:rotate(180deg)}.accordion-body{padding:0 1.25rem 1.25rem}.accordion-body ul{padding:0;list-style:none}.accordion-body li{color:var(--text-secondary);border-bottom:1px solid #94a3b80f;padding:.5rem 0 .5rem 1.2rem;font-size:.9rem;position:relative}.accordion-body li:before{content:"•";color:var(--accent);font-weight:700;position:absolute;left:0}.chat-container{flex-direction:column;height:calc(100vh - 200px);max-height:600px;display:flex}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.chat-bubble{border-radius:var(--radius-md);max-width:80%;animation:bubbleIn .3s var(--ease-spring);padding:.9rem 1.2rem;font-size:.9rem;line-height:1.6}@keyframes bubbleIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-bubble.user{background:linear-gradient(135deg, var(--accent-dark), var(--accent));color:#0a0e17;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.assistant{background:var(--bg-card-hover);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.chat-input-row{border-top:1px solid var(--border);background:var(--bg-glass);gap:.75rem;padding:1rem 1.5rem;display:flex}.chat-input-row input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);outline:none;flex:1;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.chat-input-row input:focus{border-color:var(--accent)}.chat-input-row input::placeholder{color:var(--text-muted)}.typing-indicator{align-self:flex-start;gap:5px;padding:.5rem 0;display:flex}.typing-indicator span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s infinite typingDot}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,44%{opacity:.3;transform:scale(.8)}22%{opacity:1;transform:scale(1.1)}}.safety-warning{background:var(--warning-bg);border-radius:var(--radius-md);border:1px solid #f59e0b4d;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.safety-warning .icon{color:var(--warning);flex-shrink:0;margin-top:2px;font-size:1.3rem}.safety-warning p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.safety-warning strong{color:var(--warning)}.hero{text-align:center;padding:4rem 1rem 2rem}.hero h1{background:linear-gradient(135deg, var(--text-primary), var(--accent), var(--cyan));-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3rem;font-weight:800;line-height:1.2;animation:6s infinite alternate gradientShift}@keyframes gradientShift{0%{background-position:0%}to{background-position:100%}}.hero p{color:var(--text-secondary);max-width:560px;margin:0 auto 2rem;font-size:1.15rem}.medicine-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.medicine-header .badge{text-transform:uppercase;letter-spacing:.5px;border-radius:50px;padding:.25rem .7rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-generic{background:var(--success-bg);color:var(--success)}.badge-branded{background:var(--cyan-glow);color:var(--cyan)}.badge-overpriced{background:var(--danger-bg);color:var(--danger)}.badge-ok{background:var(--success-bg);color:var(--success)}.medicine-header h2{margin-bottom:.3rem;font-size:1.6rem;font-weight:700}.medicine-header .generic-name{color:var(--text-secondary);font-size:.95rem}.medicine-header .composition{color:var(--text-muted);margin-top:.3rem;font-size:.85rem}.alternatives-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem;display:grid}.alt-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .25s var(--ease-out);padding:1rem 1.25rem}.alt-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.alt-card .alt-name{margin-bottom:.3rem;font-size:.9rem;font-weight:600}.alt-card .alt-price{color:var(--accent);font-size:1rem;font-weight:700}.alt-card .alt-source{color:var(--text-muted);text-transform:uppercase;margin-top:.3rem;font-size:.75rem}.history-list{flex-direction:column;gap:.75rem;display:flex}.history-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-out);align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.history-item:hover{border-color:var(--border-accent);transform:translate(4px)}.history-item .thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);width:56px;height:56px}.history-item .info{flex:1}.history-item .info h4{font-size:.95rem;font-weight:600}.history-item .info p{color:var(--text-muted);font-size:.8rem}.login-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem;display:flex}.login-card{width:100%;max-width:420px}.login-card h2{margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.login-card p{color:var(--text-secondary);margin-bottom:2rem}.google-btn{gap:.75rem;width:100%;padding:.85rem;font-size:1rem}.google-btn img{width:20px;height:20px}.dev-skip{color:var(--text-muted);margin-top:1.5rem;font-size:.8rem}.dev-skip button{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:2rem auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}.loading-overlay p{color:var(--text-secondary);font-size:.95rem}.simplified-box{border:1px solid var(--border-accent);border-radius:var(--radius-md);background:linear-gradient(135deg,#06d6a014,#22d3ee0f);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.simplified-box h3{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);margin-bottom:.5rem;font-size:.85rem}.simplified-box p{color:var(--text-primary);font-size:1rem;line-height:1.7}@media (width<=768px){.navbar{padding:.6rem 1rem}.navbar-brand{font-size:1.1rem}.page{padding:1.5rem 1rem}.hero h1{font-size:2rem}.hero p{font-size:1rem}.medicine-header{flex-direction:column}.alternatives-grid{grid-template-columns:1fr}.chat-bubble{max-width:90%}}
