@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,800;1,9..144,400;1,9..144,500&display=swap);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root,body{min-height:100vh;min-height:-webkit-fill-available}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-cream:#faf7f2;--color-cream-dark:#f0ebe3;--color-sage:#7a8b6e;--color-sage-dark:#5c6b52;--color-sage-light:#9baf8c;--color-forest:#2d3b29;--color-forest-light:#3d4d38;--color-sand:#c9b99a;--color-sand-light:#ddd0b8;--color-terracotta:#c17f59;--color-terracotta-light:#d4a484;--color-text:#1f2a1c;--color-text-muted:#6b7268;--gradient-hero:linear-gradient(135deg,#c9b99a,#b8a586 50%,#a69374);--gradient-sage:linear-gradient(135deg,#8b9d7e,#6b7f5e);--gradient-forest:linear-gradient(160deg,#4a5d45,#2d3b29);--shadow-soft:0 4px 20px #2d3b2914;--shadow-medium:0 8px 40px #2d3b291f;--shadow-strong:0 20px 60px #2d3b292e;--radius-sm:12px;--radius-md:20px;--radius-lg:32px;--radius-xl:48px}*{margin:0;padding:0}html{scroll-behavior:smooth}body{color:#1f2a1c;color:var(--color-text);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.landing-page,body{background-color:#faf7f2;background-color:var(--color-cream);overflow-x:hidden}.landing-page{max-width:100vw;position:relative;width:100%}.landing-page:before{background:radial-gradient(circle,#7a8b6e0a 0,#0000 70%);height:80vw;right:-30%;top:-50%;width:80vw}.landing-page:after,.landing-page:before{content:"";pointer-events:none;position:fixed;z-index:0}.landing-page:after{background:radial-gradient(circle,#c9b99a0f 0,#0000 60%);bottom:-30%;height:60vw;left:-20%;width:60vw}.nav-header{align-items:center;background:#0000;display:flex;justify-content:space-between;left:0;padding:1.5rem 5rem;position:fixed;right:0;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000}.nav-header.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#faf7f2eb;box-shadow:0 4px 30px #2d3b290f;padding:1rem 5rem}.nav-links{display:flex;flex:1 1;gap:3rem}.nav-links a{color:#2d3b29;color:var(--color-forest);font-size:.95rem;font-weight:500;letter-spacing:-.01em;padding:.5rem 0;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-links a:after{background:linear-gradient(135deg,#8b9d7e,#6b7f5e);background:var(--gradient-sage);border-radius:2px;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s cubic-bezier(.4,0,.2,1);width:0}.nav-links a:hover{color:#5c6b52;color:var(--color-sage-dark)}.nav-links a:hover:after{width:100%}.nav-logo{display:flex;flex:1 1;justify-content:center}.nav-logo img{filter:drop-shadow(0 2px 8px rgba(45,59,41,.1));height:70px;object-fit:contain;transition:all .3s ease;width:auto}.nav-header.scrolled .nav-logo img{height:55px}.nav-logo img:hover{transform:scale(1.03)}.nav-buttons{align-items:center;display:flex;flex:1 1;gap:.75rem;justify-content:flex-end}.nav-login-btn{background:#0000;border:2px solid #0000;border-radius:100px;color:#2d3b29;color:var(--color-forest);cursor:pointer;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;padding:.7rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-login-btn:hover{background:#7a8b6e14;border-color:#7a8b6e33}.nav-cta-btn{background:#2d3b29;background:var(--color-forest);border:none;border-radius:100px;box-shadow:0 4px 16px #2d3b2933;color:#faf7f2;color:var(--color-cream);cursor:pointer;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;overflow:hidden;padding:.75rem 1.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-cta-btn:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.nav-cta-btn:hover:before{left:100%}.nav-cta-btn:hover{background:#3d4d38;background:var(--color-forest-light);box-shadow:0 8px 28px #2d3b2947;transform:translateY(-2px)}.hero-section{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:8rem 5rem 5rem;position:relative}.hero-section:before{background:linear-gradient(135deg,#c9b99a,#b8a586 50%,#a69374);background:var(--gradient-hero);border-radius:0 0 0 120px;content:"";height:100%;position:absolute;right:0;top:0;width:55%;z-index:0}.hero-section:after{animation:heroGlow 8s ease-in-out infinite;background:radial-gradient(circle,#ffffff26 0,#0000 70%);content:"";height:400px;position:absolute;right:5%;top:20%;width:400px;z-index:1}@keyframes heroGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.hero-paws{height:100%;overflow:hidden;pointer-events:none;position:absolute;width:100%;z-index:1}.hero-paws span{animation:floatPaw 15s ease-in-out infinite;font-size:3rem;opacity:.08;position:absolute}.hero-paws span:first-child{animation-delay:0s;left:8%;top:15%}.hero-paws span:nth-child(2){animation-delay:3s;font-size:2rem;left:3%;top:60%}.hero-paws span:nth-child(3){animation-delay:6s;opacity:.12;right:12%;top:30%}.hero-paws span:nth-child(4){animation-delay:9s;bottom:20%;font-size:2.5rem;right:25%}@keyframes floatPaw{0%,to{transform:translateY(0) rotate(-15deg)}50%{transform:translateY(-30px) rotate(10deg)}}.hero-content{align-items:center;display:flex;gap:4rem;justify-content:space-between;margin:0 auto;max-width:1400px;position:relative;width:100%;z-index:2}.hero-text{flex:1 1;max-width:600px}.hero-eyebrow{align-items:center;background:#7a8b6e1a;border-radius:100px;color:#5c6b52;color:var(--color-sage-dark);display:inline-flex;font-size:.85rem;font-weight:600;gap:.5rem;letter-spacing:.02em;margin-bottom:1.5rem;padding:.5rem 1rem}.hero-eyebrow span{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.hero-text h1{color:#2d3b29;color:var(--color-forest);font-family:Fraunces,serif;font-size:clamp(3.5rem,6vw,5.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-bottom:1.5rem}.hero-text h1 span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7a8b6e,#5c6b52);background:linear-gradient(135deg,var(--color-sage) 0,var(--color-sage-dark) 100%);-webkit-background-clip:text;background-clip:text;display:block}.hero-subtitle{color:#6b7268;color:var(--color-text-muted);font-size:1.25rem;font-weight:400;line-height:1.7;margin-bottom:2.5rem;max-width:480px}.hero-buttons{align-items:center;display:flex;gap:1rem}.start-btn{align-items:center;background:#2d3b29;background:var(--color-forest);border:none;border-radius:100px;box-shadow:0 8px 30px #2d3b2940;color:#faf7f2;color:var(--color-cream);cursor:pointer;display:inline-flex;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:600;gap:.75rem;overflow:hidden;padding:1.1rem 2.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.start-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.start-btn:hover:before{left:100%}.start-btn:hover{box-shadow:0 14px 40px #2d3b2952;transform:translateY(-3px)}.start-btn svg{height:18px;transition:transform .3s ease;width:18px}.start-btn:hover svg{transform:translateX(4px)}.learn-more-btn{background:#0000;border:2px solid #9baf8c;border:2px solid var(--color-sage-light);border-radius:100px;color:#2d3b29;color:var(--color-forest);cursor:pointer;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.learn-more-btn:hover{background:#7a8b6e14;border-color:#7a8b6e;border-color:var(--color-sage)}.hero-video-box{flex:1 1;max-width:520px;position:relative;z-index:2}.hero-video-wrapper{border-radius:32px;box-shadow:0 40px 80px #2d3b2940;overflow:hidden;position:relative;transform:perspective(1000px) rotateY(-5deg);transition:transform .5s ease}.hero-video-wrapper:hover{transform:perspective(1000px) rotateY(0deg)}.hero-video-wrapper:before{background:linear-gradient(135deg,#9baf8c,#c9b99a);background:linear-gradient(135deg,var(--color-sage-light),var(--color-sand));border-radius:34px;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px;z-index:-1}.hero-video{display:block;height:auto;min-height:380px;object-fit:cover;transform:scale(1.35);transition:transform .5s ease;width:100%}.hero-video-wrapper:hover .hero-video{transform:scale(1.38)}.hero-stats{border-top:1px solid #7a8b6e26;display:flex;gap:3rem;margin-top:3.5rem;padding-top:2.5rem}.hero-stat{text-align:left}.hero-stat-number{color:#2d3b29;color:var(--color-forest);font-family:Fraunces,serif;font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.35rem}.hero-stat-label{color:#6b7268;color:var(--color-text-muted);font-size:.9rem;font-weight:500}.welcome-section{margin:0 auto;max-width:900px;padding:8rem 5rem;position:relative;text-align:center}.welcome-section h2{color:#2d3b29;color:var(--color-forest);font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.02em;margin-bottom:1.5rem}.welcome-section p{color:#6b7268;color:var(--color-text-muted);font-size:1.2rem;font-weight:400;line-height:1.8;margin:0 auto;max-width:700px}.built-section{background:linear-gradient(135deg,#9baf8c,#7a8b6e);background:linear-gradient(135deg,var(--color-sage-light) 0,var(--color-sage) 100%);border-radius:48px;border-radius:var(--radius-xl);box-shadow:0 20px 60px #2d3b292e;box-shadow:var(--shadow-strong);margin:4rem 5rem;overflow:hidden;padding:6rem 4rem;position:relative;text-align:center}.built-section:before{background:radial-gradient(circle,#ffffff1a 0,#0000 60%);content:"";height:150%;pointer-events:none;position:absolute;right:-20%;top:-50%;width:60%}.built-section:after{animation:floatPaw 12s ease-in-out infinite;bottom:20%;content:"🐾";font-size:6rem;left:8%;opacity:.1;position:absolute}.built-section h2{color:#fff;font-family:Fraunces,serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:600;letter-spacing:-.02em;margin-bottom:.75rem;position:relative;text-shadow:0 2px 20px #2d3b2933;z-index:1}.built-section h3{color:#ffffffe6;font-size:1.4rem;font-weight:500;position:relative;z-index:1}.features-intro{padding:6rem 4rem 3rem;scroll-margin-top:100px;text-align:center}.features-intro h2{color:#2d3b29;color:var(--color-forest);font-family:Fraunces,serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:600;letter-spacing:-.02em;margin-bottom:1rem}.features-intro-subtitle{color:#6b7268;color:var(--color-text-muted);font-size:1.15rem;font-weight:400}.feature-row{align-items:center;display:flex;gap:5rem;margin:2rem auto;max-width:1400px;padding:3rem 5rem;position:relative}.feature-row-left{flex-direction:row}.feature-row-right{flex-direction:row-reverse}.feature-text-box{border-radius:32px;border-radius:var(--radius-lg);flex:1 1;overflow:hidden;padding:3.5rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.feature-text-box:before{bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .4s ease}.feature-text-box:hover{transform:translateY(-6px)}.feature-text-green{background:linear-gradient(160deg,#4a5d45,#2d3b29);background:var(--gradient-forest);box-shadow:0 20px 60px #2d3b2940;color:#fff}.feature-text-green:before{background:linear-gradient(135deg,#ffffff0d,#0000)}.feature-text-green:hover:before{opacity:1}.feature-text-beige{background:linear-gradient(135deg,#ddd0b8,#c9b99a);background:linear-gradient(135deg,var(--color-sand-light) 0,var(--color-sand) 100%);box-shadow:0 20px 60px #c9b99a4d;color:#2d3b29;color:var(--color-forest)}.feature-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:100px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.4rem;letter-spacing:.08em;margin-bottom:1.25rem;padding:.4rem 1rem;text-transform:uppercase}.feature-badge-dark{background:#2d3b291f;color:#2d3b29;color:var(--color-forest)}.feature-text-box h3{font-family:Fraunces,serif;font-size:2.25rem;font-weight:600;letter-spacing:-.02em;margin-bottom:1.25rem}.feature-text-box p{font-size:1.1rem;font-weight:400;line-height:1.75;opacity:.92}.feature-phone{display:flex;flex:1 1;justify-content:center;position:relative}.phone-mockup{background:linear-gradient(180deg,#1a2318,#0f1610);border-radius:48px;box-shadow:0 50px 100px #2d3b2959,0 20px 40px #0003,inset 0 1px 0 #ffffff1a;height:560px;padding:12px;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1);width:280px}.phone-mockup:hover{box-shadow:0 60px 120px #2d3b2966,0 30px 60px #00000040,inset 0 1px 0 #ffffff1a;transform:translateY(-12px) scale(1.02)}.phone-mockup:before{background:#0f1610;border-radius:0 0 20px 20px;height:28px;top:12px;width:100px;z-index:10}.phone-mockup:after,.phone-mockup:before{content:"";left:50%;position:absolute;transform:translateX(-50%)}.phone-mockup:after{background:#2a3628;border-radius:50%;height:8px;top:18px;width:8px;z-index:11}.phone-screen{background:linear-gradient(135deg,#8b9d7e,#6b7f5e);background:var(--gradient-sage);border-radius:38px;color:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0;position:relative;width:100%}.phone-ui-header{align-items:center;display:flex;font-size:.7rem;font-weight:600;justify-content:space-between;padding:3rem 1.25rem .75rem;position:relative;z-index:5}.phone-ui-header-dark{background:#00000026}.phone-ui-time{font-size:.8rem;font-weight:700}.phone-ui-title{font-size:.9rem;font-weight:700;letter-spacing:-.01em}.phone-ui-icons{font-size:.9rem;opacity:.9}.phone-screen-scanner{background:linear-gradient(180deg,#1a2318,#2d3b29)}.scanner-viewfinder{align-items:center;display:flex;flex:1 1;justify-content:center;padding:1.5rem;position:relative}.scanner-corners{animation:scannerPulse 2s ease-in-out infinite;height:140px;position:relative;width:140px}@keyframes scannerPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.scanner-corners span{border:3px solid #8be78b;height:30px;position:absolute;width:30px}.scanner-corners span:first-child{border-bottom:none;border-radius:8px 0 0 0;border-right:none;left:0;top:0}.scanner-corners span:nth-child(2){border-bottom:none;border-left:none;border-radius:0 8px 0 0;right:0;top:0}.scanner-corners span:nth-child(3){border-radius:0 0 0 8px;border-right:none;border-top:none;bottom:0;left:0}.scanner-corners span:nth-child(4){border-left:none;border-radius:0 0 8px 0;border-top:none;bottom:0;right:0}.scanner-line{animation:scanLine 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#8be78b,#0000);height:2px;left:50%;position:absolute;top:20%;transform:translateX(-50%);width:120px}@keyframes scanLine{0%,to{opacity:.3;top:20%}50%{opacity:1;top:80%}}.scanner-result{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border-radius:16px 16px 0 0;padding:1rem 1.25rem}.result-badge{border-radius:20px;display:inline-block;font-size:.7rem;font-weight:700;margin-bottom:.75rem;padding:.3rem .75rem}.result-safe{background:#8be78b33;color:#8be78b}.result-item{align-items:center;border-bottom:1px solid #ffffff14;display:flex;font-size:.75rem;font-weight:500;padding:.4rem 0}.result-item:last-child{border-bottom:none}.result-warning{color:#ffb86c}.phone-screen-allergy{background:linear-gradient(180deg,#faf7f2,#f0ebe3);color:#2d3b29;color:var(--color-forest)}.allergy-cards{display:flex;flex:1 1;flex-direction:column;gap:.6rem;padding:1rem 1.25rem}.allergy-card{background:#fff;border-radius:14px;box-shadow:0 2px 8px #2d3b290f;gap:.75rem;padding:.85rem 1rem}.allergy-card,.allergy-emoji{align-items:center;display:flex}.allergy-emoji{border-radius:10px;font-size:1.25rem;height:36px;justify-content:center;width:36px}.allergy-severe .allergy-emoji{background:#fecaca}.allergy-moderate .allergy-emoji{background:#fed7aa}.allergy-mild .allergy-emoji{background:#fef3c7}.allergy-info{display:flex;flex-direction:column}.allergy-name{color:#2d3b29;color:var(--color-forest);font-size:.85rem}.allergy-level{color:#6b7268;color:var(--color-text-muted);font-size:.7rem;font-weight:500}.allergy-alert{align-items:center;background:#7a8b6e1a;color:#5c6b52;color:var(--color-sage-dark);display:flex;font-size:.7rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem}.phone-screen-health{background:linear-gradient(180deg,#2d3b29,#1f2a1c)}.health-stats{display:flex;justify-content:center;padding:1rem 1.25rem}.health-ring{height:110px;position:relative;width:110px}.health-ring svg{height:100%;transform:rotate(0deg);width:100%}.health-ring circle:last-child{animation:ringFill 1.5s ease-out forwards}@keyframes ringFill{0%{stroke-dashoffset:251}to{stroke-dashoffset:44}}.health-ring-text{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.health-percent{color:#8be78b;display:block;font-size:1.5rem;font-weight:800;line-height:1}.health-label{color:#fff9;display:block;font-size:.65rem;font-weight:500;margin-top:2px}.health-metrics{display:flex;gap:1.5rem;justify-content:center;padding:.5rem 1.25rem 1rem}.metric{background:#ffffff0f;border-radius:12px;padding:.6rem 1rem;text-align:center}.metric-value{color:#fff;display:block;font-size:1rem}.metric-label{color:#ffffff80;margin-top:2px}.metric-label,.metric-trend{display:block;font-size:.6rem}.metric-trend{color:#8be78b;font-weight:600;margin-top:4px}.health-chart{align-items:flex-end;background:#0003;border-radius:16px 16px 0 0;display:flex;gap:6px;height:80px;justify-content:center;padding:.75rem 1.25rem 1.25rem}.chart-bar{background:#8be78b4d;border-radius:4px 4px 0 0;transition:all .3s ease;width:20px}.chart-bar.active{background:#8be78b}.phone-screen-profile{background:linear-gradient(180deg,#faf7f2,#f0ebe3)}.phone-screen-profile,.phone-screen-profile .phone-ui-header{color:#2d3b29;color:var(--color-forest)}.pet-profile-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 16px #2d3b2914;display:flex;gap:.75rem;margin:.75rem 1.25rem;padding:1rem}.pet-card-secondary{background:#ffffffb3;box-shadow:0 2px 8px #2d3b290d}.pet-avatar{background:linear-gradient(135deg,#9baf8c,#7a8b6e);background:linear-gradient(135deg,var(--color-sage-light) 0,var(--color-sage) 100%);border-radius:14px;font-size:1.5rem;height:48px;width:48px}.pet-details{display:flex;flex:1 1;flex-direction:column}.pet-name{color:#2d3b29;color:var(--color-forest);font-size:.95rem;font-weight:700}.pet-breed{color:#6b7268;color:var(--color-text-muted);font-size:.7rem;font-weight:500}.pet-status{color:#8be78b;font-size:.6rem}.pet-quick-stats{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 1.25rem}.quick-stat{align-items:center;background:#7a8b6e14;border-radius:12px;display:flex;gap:.75rem;padding:.65rem .85rem}.quick-stat-icon{font-size:1rem}.quick-stat-label{color:#6b7268;color:var(--color-text-muted);flex:1 1;font-size:.7rem;font-weight:500}.quick-stat-value{color:#5c6b52;color:var(--color-sage-dark);font-size:.7rem;font-weight:700}.coming-soon-section{background:#fff;border-radius:48px;border-radius:var(--radius-xl);box-shadow:0 8px 40px #2d3b291f;box-shadow:var(--shadow-medium);margin:5rem;overflow:hidden;padding:6rem 5rem;position:relative;scroll-margin-top:100px;text-align:center}.coming-soon-section:before{background:linear-gradient(135deg,#8b9d7e,#6b7f5e);background:var(--gradient-sage);content:"";height:4px;left:0;position:absolute;right:0;top:0}.coming-soon-section h2{color:#2d3b29;color:var(--color-forest);font-family:Fraunces,serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:600;letter-spacing:-.02em;margin-bottom:.75rem}.coming-soon-subtitle{color:#6b7268;color:var(--color-text-muted);font-size:1.1rem;margin-bottom:3.5rem}.coming-soon-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);list-style:none;margin:0 auto;max-width:600px}.coming-soon-list li{align-items:center;background:#faf7f2;background:var(--color-cream);border-radius:20px;border-radius:var(--radius-md);color:#2d3b29;color:var(--color-forest);display:flex;font-size:1.05rem;font-weight:500;gap:1rem;padding:1.25rem 1.5rem;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1)}.coming-soon-list li:hover{background:#f0ebe3;background:var(--color-cream-dark);box-shadow:0 4px 20px #2d3b2914;box-shadow:var(--shadow-soft);transform:translateY(-4px)}.coming-soon-icon{align-items:center;background:#fff;border-radius:12px;border-radius:var(--radius-sm);box-shadow:0 2px 12px #2d3b2914;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.final-cta-section{margin:0 auto;max-width:900px;padding:8rem 5rem;position:relative;text-align:center}.final-cta-section:before{animation:floatPaw 10s ease-in-out infinite;content:"🐾";font-size:4rem;left:10%;opacity:.06;position:absolute;top:10%}.final-cta-section:after{animation:floatPaw 12s ease-in-out infinite reverse;bottom:15%;content:"🐾";font-size:3rem;opacity:.06;position:absolute;right:12%}.final-cta-section h2{color:#2d3b29;color:var(--color-forest);font-family:Fraunces,serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin-bottom:1.5rem}.final-cta-section p{color:#6b7268;color:var(--color-text-muted);font-size:1.15rem;line-height:1.75;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px}.download-btn{background:linear-gradient(160deg,#4a5d45,#2d3b29);background:var(--gradient-forest);border:none;border-radius:100px;box-shadow:0 10px 35px #2d3b294d;color:#fff;cursor:pointer;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:600;overflow:hidden;padding:1.25rem 3rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.download-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.download-btn:hover:before{left:100%}.download-btn:hover{box-shadow:0 16px 45px #2d3b2961;transform:translateY(-4px)}.cta-note{color:#6b7268;color:var(--color-text-muted);font-size:.9rem;font-weight:400;margin-top:1.25rem;opacity:.8}.footer{background:linear-gradient(135deg,#8b9d7e,#6b7f5e);background:var(--gradient-sage);margin-top:0;overflow:hidden;padding:5rem 5rem 4rem;position:relative}.footer:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.footer-content{align-items:flex-start;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;position:relative;z-index:1}.footer-links{flex:1 1}.footer-links h4{color:#fff;font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:1.5rem}.footer-links a{color:#fffc;display:block;font-size:.95rem;margin-bottom:.85rem;position:relative;text-decoration:none;transition:all .3s ease;width:-webkit-fit-content;width:fit-content}.footer-links a:hover{color:#fff;transform:translateX(6px)}.footer-logo{display:flex;flex:1 1;justify-content:center}.footer-logo img{height:65px;object-fit:contain;opacity:.95;width:auto}.footer-social{display:flex;flex:1 1;justify-content:flex-end}.footer-social a{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:50%;color:#fff;display:flex;height:50px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:50px}.footer-social a:hover{background:#ffffff40;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.footer-social svg{height:24px;width:24px}.auth-overlay{align-items:center;animation:authFadeIn .3s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1610cc;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-container{animation:authSlideIn .4s cubic-bezier(.34,1.56,.64,1);background:#faf7f2;background:var(--color-cream);border-radius:32px;border-radius:var(--radius-lg);box-shadow:0 50px 100px -20px #2d3b2966,0 30px 60px -30px #0006;display:flex;max-height:90vh;max-width:960px;overflow:hidden;width:100%}@keyframes authSlideIn{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-branding{background:linear-gradient(160deg,#4a5d45,#2d3b29);background:var(--gradient-forest);display:flex;flex:0 0 45%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:3.5rem 3rem;position:relative}.auth-branding:before{background:radial-gradient(circle,#7a8b6e33 0,#0000 70%);content:"";height:100%;pointer-events:none;position:absolute;right:-30%;top:-40%;width:100%}.auth-branding:after{animation:floatPaw 10s ease-in-out infinite;bottom:15%;content:"🐾";font-size:5rem;left:10%;opacity:.08;position:absolute}.auth-branding-content{position:relative;z-index:1}.auth-logo-wrapper{margin-bottom:3rem}.auth-logo{height:65px;opacity:.95;width:auto}.auth-branding-title{color:#fff;font-family:Fraunces,serif;font-size:2.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem}.auth-branding-text{color:#fffc;font-size:1.1rem;font-weight:400;line-height:1.7}.auth-paw-prints{display:flex;gap:1rem;margin-top:3rem}.paw{animation:pawBounce 2s ease-in-out infinite;font-size:1.75rem;opacity:.3}.paw-1{animation-delay:0s}.paw-2{animation-delay:.3s}.paw-3{animation-delay:.6s}@keyframes pawBounce{0%,to{opacity:.3;transform:translateY(0) rotate(-10deg)}50%{opacity:.5;transform:translateY(-10px) rotate(5deg)}}.auth-branding-footer{border-top:1px solid #ffffff26;padding-top:2rem;position:relative;z-index:1}.auth-branding-footer span{color:#fff9;font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.auth-form-panel{background:#fff;flex:1 1;flex-direction:column;overflow-y:auto;padding:3.5rem;position:relative}.auth-close,.auth-form-panel{display:flex;justify-content:center}.auth-close{align-items:center;background:#faf7f2;background:var(--color-cream);border:none;border-radius:12px;border-radius:var(--radius-sm);color:#6b7268;color:var(--color-text-muted);cursor:pointer;height:44px;position:absolute;right:1.5rem;top:1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:44px}.auth-close svg{height:20px;width:20px}.auth-close:hover{background:#2d3b29;background:var(--color-forest);color:#fff;transform:rotate(90deg)}.auth-form-header{margin-bottom:2rem}.auth-form-header h3{color:#2d3b29;color:var(--color-forest);font-family:Fraunces,serif;font-size:2rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem}.auth-form-header p{color:#6b7268;color:var(--color-text-muted);font-size:1rem;font-weight:400}.auth-error{align-items:center;animation:errorShake .4s ease;background:linear-gradient(135deg,#fff5f5,#fee8e8);border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-sm);color:#c53030;display:flex;font-size:.95rem;font-weight:500;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.auth-error svg{flex-shrink:0;height:20px;width:20px}@keyframes errorShake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.auth-form-new{display:flex;flex-direction:column;gap:1.25rem}.auth-input-group{align-items:center;background:#faf7f2;background:var(--color-cream);border:2px solid #0000;border-radius:12px;border-radius:var(--radius-sm);display:flex;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-input-group:hover{background:#f0ebe3;background:var(--color-cream-dark)}.auth-input-group.focused{background:#fff;border-color:#7a8b6e;border-color:var(--color-sage);box-shadow:0 0 0 4px #7a8b6e1a}.auth-input-group.has-value{background:#fff}.auth-input-icon{align-items:center;color:#6b7268;color:var(--color-text-muted);display:flex;justify-content:center;padding-left:1.25rem;transition:color .3s ease}.auth-input-group.focused .auth-input-icon,.auth-input-group.has-value .auth-input-icon{color:#5c6b52;color:var(--color-sage-dark)}.auth-input-icon svg{height:20px;width:20px}.auth-input-group input{background:#0000;border:none;color:#2d3b29;color:var(--color-forest);flex:1 1;font-family:Outfit,sans-serif;font-size:1rem;outline:none;padding:1.125rem 1rem}.auth-input-group input::placeholder{color:#6b7268;color:var(--color-text-muted);font-weight:400}.auth-password-toggle{align-items:center;background:none;border:none;color:#6b7268;color:var(--color-text-muted);cursor:pointer;display:flex;justify-content:center;padding:0 1.25rem;transition:color .2s ease}.auth-password-toggle:hover{color:#5c6b52;color:var(--color-sage-dark)}.auth-password-toggle svg{height:20px;width:20px}.auth-forgot{display:flex;justify-content:flex-end;margin-top:-.5rem}.auth-forgot-btn{background:none;border:none;color:#5c6b52;color:var(--color-sage-dark);cursor:pointer;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:500;transition:color .2s ease}.auth-forgot-btn:hover{color:#2d3b29;color:var(--color-forest);text-decoration:underline}.auth-forgot-success{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:1.5rem 0}.auth-forgot-success-icon{align-items:center;background:linear-gradient(135deg,#8be78b26,#2d3b2914);border-radius:50%;display:flex;height:64px;justify-content:center;width:64px}.auth-forgot-success-icon svg{color:#5c6b52;color:var(--color-sage-dark,#4a6741);height:32px;width:32px}.auth-forgot-success-text{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.9rem;line-height:1.5;text-align:center}.reset-password-page{align-items:center;background:linear-gradient(135deg,#f0f4f0,#e8efe8 50%,#f5f0eb);display:flex;justify-content:center;min-height:100vh;padding:2rem}.reset-password-card{background:#fff;border-radius:1.25rem;box-shadow:0 20px 60px #00000014;max-width:440px;padding:2.5rem;width:100%}.reset-password-logo{margin-bottom:1.5rem;text-align:center}.reset-password-logo img{height:48px;width:auto}.reset-password-header{margin-bottom:1.5rem;text-align:center}.reset-password-header h2{color:#2d3b29;color:var(--color-forest,#2d3b29);font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.reset-password-header p{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.95rem;line-height:1.5}.auth-submit-btn{align-items:center;background:linear-gradient(160deg,#4a5d45,#2d3b29);background:var(--gradient-forest);border:none;border-radius:12px;border-radius:var(--radius-sm);box-shadow:0 6px 20px #2d3b2940;color:#fff;cursor:pointer;display:flex;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:600;gap:.75rem;justify-content:center;margin-top:.75rem;overflow:hidden;padding:1.15rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.auth-submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.auth-submit-btn:hover:before{left:100%}.auth-submit-btn:hover{box-shadow:0 10px 30px #2d3b2952;transform:translateY(-2px)}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{background:linear-gradient(135deg,#b8b8b8,#9a9a9a);box-shadow:none;cursor:not-allowed;transform:none}.auth-submit-btn svg{height:18px;transition:transform .3s ease;width:18px}.auth-submit-btn:hover svg{transform:translateX(4px)}.auth-submit-btn.loading svg{display:none}.auth-spinner{animation:authSpin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes authSpin{to{transform:rotate(1turn)}}.auth-divider{align-items:center;display:flex;margin:2rem 0}.auth-divider:after,.auth-divider:before{background:linear-gradient(90deg,#0000,#f0ebe3,#0000);background:linear-gradient(90deg,#0000,var(--color-cream-dark),#0000);content:"";flex:1 1;height:1px}.auth-divider span{color:#6b7268;color:var(--color-text-muted);font-size:.8rem;font-weight:500;letter-spacing:.05em;padding:0 1rem;text-transform:uppercase}.auth-social-buttons{display:flex;gap:1rem;justify-content:center}.auth-social-btn{align-items:center;background:#fff;border:2px solid #f0ebe3;border:2px solid var(--color-cream-dark);border-radius:12px;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex:1 1;height:54px;justify-content:center;max-width:120px;transition:all .25s cubic-bezier(.4,0,.2,1)}.auth-social-btn:hover{background:#faf7f2;background:var(--color-cream);border-color:#9baf8c;border-color:var(--color-sage-light);box-shadow:0 4px 20px #2d3b2914;box-shadow:var(--shadow-soft);transform:translateY(-2px)}.auth-social-btn svg{height:24px;width:24px}.auth-switch{margin-top:2rem;text-align:center}.auth-switch p{color:#6b7268;color:var(--color-text-muted);font-size:.95rem}.auth-switch button{background:none;border:none;color:#5c6b52;color:var(--color-sage-dark);cursor:pointer;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.auth-switch button:hover{color:#2d3b29;color:var(--color-forest)}@media (max-width:1024px){.nav-header{padding:1.25rem 2.5rem}.nav-header.scrolled{padding:.875rem 2.5rem}.nav-links{gap:2rem}.hero-section{padding:7rem 2.5rem 4rem}.hero-section:before{border-radius:0 0 0 80px;width:50%}.hero-content{gap:3rem}.hero-text h1{font-size:clamp(3rem,5vw,4rem)}.hero-stats{flex-wrap:wrap;gap:2rem}.hero-video-wrapper{transform:none}.feature-row{gap:3rem;padding:2rem 2.5rem}.feature-text-box{padding:2.5rem}.phone-mockup{height:500px;width:250px}.built-section,.coming-soon-section{margin:3rem 2.5rem}.final-cta-section,.welcome-section{padding:5rem 2.5rem}.footer{padding:4rem 2.5rem}}@media (max-width:768px){body{font-size:16px}.nav-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#faf7f2f2;flex-direction:column;gap:1rem;padding:1rem 1.5rem}.nav-header.scrolled{padding:.875rem 1.5rem}.nav-links{gap:1.5rem;justify-content:center;order:2;width:100%}.nav-links a{font-size:.9rem;padding:.4rem}.nav-logo{order:1}.nav-logo img{height:55px}.nav-buttons{flex-direction:column;gap:.75rem;order:3;width:100%}.nav-cta-btn,.nav-login-btn{padding:.875rem 1.5rem;text-align:center;width:100%}.hero-section{min-height:auto;padding:10rem 1.5rem 4rem}.hero-section:after,.hero-section:before{display:none}.hero-content{flex-direction:column;gap:3rem;text-align:center}.hero-text{max-width:100%}.hero-eyebrow{justify-content:center}.hero-text h1{font-size:clamp(2.5rem,8vw,3.5rem)}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-buttons{flex-direction:column;width:100%}.learn-more-btn,.start-btn{justify-content:center;width:100%}.hero-stats{gap:2.5rem;justify-content:center;text-align:center}.hero-video-box{max-width:100%;width:100%}.hero-video-wrapper{border-radius:24px;transform:none}.hero-video{min-height:280px}.features-intro,.welcome-section{padding:4rem 1.5rem}.welcome-section h2{font-size:1.875rem}.built-section{border-radius:32px;border-radius:var(--radius-lg);margin:2.5rem 1.5rem;padding:4rem 2rem}.built-section h2{font-size:1.75rem}.built-section h3{font-size:1.15rem}.features-intro h2{font-size:1.625rem}.feature-row{flex-direction:column!important;gap:2.5rem;padding:2rem 1.5rem}.feature-text-box{border-radius:20px;border-radius:var(--radius-md);padding:2.5rem 2rem;width:100%}.feature-text-box:hover{transform:none}.feature-text-box h3{font-size:1.75rem}.phone-mockup{height:520px;width:260px}.phone-mockup:hover{transform:none}.coming-soon-section{border-radius:32px;border-radius:var(--radius-lg);margin:2.5rem 1.5rem;padding:4rem 2rem}.coming-soon-section h2{font-size:1.75rem}.coming-soon-list{gap:.75rem;grid-template-columns:1fr}.coming-soon-list li{padding:1rem 1.25rem}.coming-soon-list li:hover{transform:none}.final-cta-section{padding:5rem 1.5rem}.final-cta-section h2{font-size:1.75rem}.download-btn{font-size:1.05rem;padding:1.1rem 2.5rem}.footer{padding:3rem 1.5rem 2.5rem}.footer-content{gap:2rem;text-align:center}.footer-content,.footer-links{align-items:center;flex-direction:column}.footer-links{display:flex;order:1}.footer-links h4{margin-bottom:1rem}.footer-links a{margin-bottom:.6rem;text-align:center;width:auto}.footer-logo{margin:1rem 0;order:2}.footer-logo img{height:55px}.footer-social{justify-content:center;order:3}.footer-social a{height:44px;width:44px}.auth-container{border-radius:20px;border-radius:var(--radius-md);flex-direction:column;max-height:95vh;overflow-y:auto}.auth-branding{flex:0 0 auto;min-height:auto;padding:1.75rem 1.5rem;text-align:center}.auth-branding:after{display:none}.auth-logo-wrapper{margin-bottom:1rem}.auth-logo{height:45px}.auth-branding-title{font-size:1.5rem;margin-bottom:0}.auth-branding-footer,.auth-branding-text,.auth-paw-prints{display:none}.auth-form-panel{flex:1 1;justify-content:flex-start;overflow-y:auto;padding:2rem 1.5rem}.auth-close{height:40px;right:1rem;top:1rem;width:40px}.auth-form-header{margin-bottom:1.5rem}.auth-form-header h3{font-size:1.5rem}.auth-input-group input{font-size:16px;padding:1rem}.auth-submit-btn{padding:1rem}.auth-divider{margin:1.25rem 0}.auth-social-buttons{gap:.75rem}.auth-social-btn{height:50px}}@media (max-width:480px){.nav-header{padding:.875rem 1rem}.nav-links{gap:1rem}.nav-links a{font-size:.85rem}.nav-logo img{height:45px}.hero-section{padding:9rem 1rem 3rem}.hero-text h1{font-size:2.25rem}.hero-subtitle{font-size:1.1rem}.hero-stat-number{font-size:2rem}.hero-stat-label{font-size:.85rem}.features-intro,.final-cta-section,.welcome-section{padding:3rem 1rem}.welcome-section h2{font-size:1.625rem}.built-section{margin:2rem 1rem;padding:3rem 1.5rem}.feature-row{padding:1.5rem 1rem}.feature-text-box{padding:2rem 1.5rem}.feature-text-box h3{font-size:1.5rem}.phone-mockup{height:460px;width:230px}.coming-soon-section{margin:2rem 1rem;padding:3rem 1.5rem}.coming-soon-section h2{font-size:1.5rem}.coming-soon-icon{font-size:1.25rem;height:40px;width:40px}.final-cta-section h2{font-size:1.5rem}.download-btn{font-size:1rem;padding:1rem 2rem}.footer{padding:2rem 1rem 1.5rem}.footer-content{gap:1.5rem}.footer-links h4{font-size:.9rem}.footer-links a{font-size:.85rem}.footer-logo img{height:45px}.footer-social a{height:40px;width:40px}.footer-social svg{height:20px;width:20px}.auth-overlay{align-items:flex-end;padding:0}.auth-container{animation:authSlideUp .4s cubic-bezier(.34,1.56,.64,1);border-radius:20px 20px 0 0;border-radius:var(--radius-md) var(--radius-md) 0 0;height:100vh;max-height:100vh}@keyframes authSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.auth-branding{background:linear-gradient(160deg,#4a5d45,#2d3b29);background:var(--gradient-forest);padding:1.25rem 1rem}.auth-logo-wrapper{margin-bottom:.5rem}.auth-logo{height:40px}.auth-branding-title{font-size:1.25rem;margin-bottom:0}.auth-form-panel{flex:1 1;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.auth-form-header{margin-bottom:1.25rem}.auth-form-header h3{font-size:1.375rem}.auth-form-header p{font-size:.875rem}.auth-form-new{gap:1rem}.auth-input-group{border-radius:14px}.auth-input-group input{padding:.9rem 1rem}.auth-submit-btn{border-radius:14px;font-size:1rem;padding:.9rem}.auth-divider{margin:1rem 0}.auth-social-buttons{gap:.5rem}.auth-social-btn{height:46px}.auth-switch{margin-top:1.25rem}.auth-switch button,.auth-switch p{font-size:.875rem}}:root{--primary:#5a7d7c;--primary-dark:#4a6a69;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--text-light:#a0aec0;--bg-card:#fff;--bg-subtle:#f8f9fa;--border-light:#f0f0f0;--border-medium:#e2e8f0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#2d3748;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.01em;margin:0}.dashboard{flex-direction:column;min-height:100vh;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.dashboard,.dashboard-header{align-items:center;display:flex}.dashboard-header{background-color:initial;box-sizing:border-box;justify-content:space-between;padding:1rem 1.25rem;width:100%}.profile-icon{align-items:center;background:linear-gradient(135deg,#e9ecef,#dee2e6);border-radius:50%;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;font-size:1.5rem;height:46px;justify-content:center;width:46px}.dashboard-logo{height:40px;object-fit:contain;width:auto}.menu-icon{border-radius:8px;cursor:pointer;font-size:1.75rem;padding:.5rem}.dashboard-content{box-sizing:border-box;flex-grow:1;max-width:600px;padding:.5rem .75rem;width:100%}.pet-switcher{background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:16px;box-shadow:0 6px 20px #5a7d7c4d;justify-content:space-between;margin-bottom:.875rem;padding:.875rem 1rem}.pet-nav-button,.pet-switcher{align-items:center;display:flex}.pet-nav-button{background:#ffffff26;border:2px solid #ffffff40;border-radius:50%;color:#fff;cursor:pointer;font-size:1.25rem;height:38px;justify-content:center;width:38px}.pet-nav-button:not(:disabled):hover{background:#ffffff4d}.pet-nav-button:disabled{cursor:not-allowed;opacity:.3}.current-pet-display{flex:1 1;gap:.75rem}.current-pet-display,.pet-avatar{align-items:center;display:flex;justify-content:center}.pet-avatar{background:#fff3;border:2px solid #ffffff4d;border-radius:50%;font-size:1.75rem;height:50px;width:50px}.pet-info{color:#fff;text-align:left}.pet-info h2{border:none;color:#fff;font-size:1.2rem;font-weight:700;margin:0}.pet-info p{color:#ffffffe6;font-size:.8rem;margin:.2rem 0 0}.pet-info .edit-profile-link{background:none;border:none;color:#fffffff2;cursor:pointer;display:inline-block;font-size:.8rem;margin-top:.35rem;padding:0;text-decoration:underline}.pet-info .edit-profile-link:hover{color:#fff}.add-pet-button-small{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:30px;justify-content:center;margin-left:.75rem;width:30px}.card{background-color:#fff;background-color:var(--bg-card);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:.875rem;padding:1rem}.card:hover{box-shadow:0 4px 16px #00000014}.card h2{align-items:center;color:#2d3748;color:var(--text-primary);display:flex;font-size:1.05rem;font-weight:700;gap:.5rem;margin:0 0 .875rem}.card h2 svg{color:#5a7d7c;color:var(--primary);font-size:1.2rem}.nutrition-card .nutrition-grid{grid-gap:.625rem;display:grid!important;gap:.625rem;grid-template-columns:repeat(2,1fr)!important}.nutrition-card .nutrition-grid.calories-only{grid-template-columns:1fr!important;margin:0 auto;max-width:280px}.nutrition-card .nutrition-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #eef2f6;border-radius:14px;display:flex!important;flex-direction:column!important;gap:.375rem;justify-content:center;padding:.875rem .5rem}.nutrition-card .nutrition-item:hover{border-color:#e0e7ed;box-shadow:0 4px 12px #0000000d}.nutrition-card .nutrition-item .chart-container{height:85px;min-width:85px;position:relative;width:85px}.nutrition-card .nutrition-item>span{color:#718096;color:var(--text-muted);font-size:.85rem;font-weight:600}.chart-center-text{color:#2d3748;color:var(--text-primary);font-size:1.1rem;font-weight:700;left:50%;line-height:1.15;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.chart-center-text .nutrient-name{color:#718096;color:var(--text-muted);display:block;font-size:.65rem;font-weight:500;margin-top:2px}.bcs-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-around}.weight-info{display:flex;flex-direction:column;gap:.5rem}.weight-info p{color:#2d3748;color:var(--text-primary);font-size:.95rem;margin:0}.weight-info p strong{color:#5a7d7c;color:var(--primary)}.bcs-gauge-container{text-align:center}.bcs-gauge{background:conic-gradient(from -90deg,#ff5252 0deg,#ffc107 60deg,#4caf50 75deg,#4caf50 105deg,#ffc107 120deg,#ff5252 180deg,#0000 180deg);border-radius:160px 160px 0 0;box-shadow:0 4px 12px #0000001a;height:80px;margin:0 auto;overflow:hidden;position:relative;width:160px}.bcs-gauge:after{background-color:#fff;background-color:var(--bg-card);border-radius:115px 115px 0 0;content:"";height:57px;transform:translateX(-50%);width:115px}.bcs-arrow,.bcs-gauge:after{bottom:0;left:50%;position:absolute}.bcs-arrow{background-color:#2c3e50;border-radius:3px;height:68px;transform-origin:bottom center;transition:transform .85s cubic-bezier(.33,1,.68,1);width:3px;z-index:2}.bcs-arrow:after{background-color:#2c3e50;border:2px solid #fff;border-radius:50%;bottom:-6px;content:"";height:12px;left:50%;position:absolute;transform:translateX(-50%);width:12px}.bcs-labels{color:#718096;color:var(--text-muted);display:flex;font-size:.7rem;font-weight:600;justify-content:space-between;margin:8px auto 0;width:170px}.bcs-score-display{color:#2d3748;color:var(--text-primary);font-size:1rem;font-weight:700;margin-top:.75rem}.bcs-category-display{border-radius:20px;display:inline-block;font-size:1.1rem;font-weight:700;margin-top:.75rem;padding:.5rem 1rem}.bcs-category-display.underweight{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.bcs-category-display.just-right{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32}.bcs-category-display.overweight{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.bcs-category-display.unknown{background:linear-gradient(135deg,#eceff1,#cfd8dc);color:#546e7a}.calorie-goal-card{background:#fff;background:var(--bg-card);border:1px solid #f0f0f0;border:1px solid var(--border-light);padding:1rem 1.25rem}.calorie-goal-content{padding:0}.calorie-main{gap:1rem}.calorie-icon,.calorie-main{align-items:center;display:flex}.calorie-icon{background:linear-gradient(135deg,#fef3e2,#fde8cc);border:1px solid #f5dbb8;border-radius:12px;font-size:1.5rem;height:52px;justify-content:center;width:52px}.calorie-details{display:flex;flex-direction:column}.calorie-label{color:#718096;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.calorie-value{color:#2d3748;color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.calorie-value small{color:#718096;color:var(--text-muted);font-size:.9rem;font-weight:500}.calorie-note{border-top:1px solid #f0f0f0;border-top:1px solid var(--border-light);color:#4a5568;color:var(--text-secondary);font-size:.8rem;margin-bottom:0;margin-top:.625rem;padding-top:.625rem}.daily-timeline-card{padding:.875rem}.daily-timeline-card h2{margin-bottom:.625rem}.allergies-content{display:flex;flex-direction:column;gap:1rem}.allergies-lists{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.allergy-column{background:linear-gradient(135deg,#fafbfc,#fff);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:14px;padding:1rem}.allergy-column h3{align-items:center;border-bottom:2px solid #f0f0f0;border-bottom:2px solid var(--border-light);color:#2d3748;color:var(--text-primary);display:flex;font-size:.95rem;font-weight:700;gap:.5rem;margin:0 0 .875rem;padding-bottom:.625rem}.allergy-column h3:before{background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:2px;content:"";height:16px;width:4px}.allergy-column ul{list-style:none;margin:0;padding:0}.allergies-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:.875rem}.allergies-header,.allergies-header-buttons{align-items:center;display:flex;gap:.5rem}.retake-quiz-btn{align-items:center;background:linear-gradient(135deg,#8fa88c,#7d947a);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.35rem;padding:.5rem .875rem}.retake-quiz-btn svg{height:14px;width:14px}.manage-allergies-btn{align-items:center;background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:8px;box-shadow:0 3px 10px #5a7d7c40;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.35rem;padding:.5rem .875rem}.ai-analysis-banner{align-items:flex-start;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px solid #90caf9;border-radius:14px;display:flex;gap:.875rem;margin-bottom:1rem;overflow:hidden;padding:1rem;position:relative}.ai-analysis-banner:before{background:linear-gradient(90deg,#2196f3,#9c27b0);content:"";height:3px;left:0;position:absolute;right:0;top:0}.ai-analysis-banner .info-icon{background:#2196f31a;border-radius:10px;color:#1976d2;flex-shrink:0;font-size:1.5rem;padding:.625rem}.analysis-content{flex:1 1}.analysis-content strong{color:#1565c0;display:block;font-size:.95rem;font-weight:700;margin-bottom:.35rem}.analysis-content p{color:#4a5568;color:var(--text-secondary);font-size:.85rem;line-height:1.45;margin:0}.ai-analysis-banner.banner-healthy{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#81c784}.ai-analysis-banner.banner-healthy:before{background:linear-gradient(90deg,#4caf50,#8bc34a)}.ai-analysis-banner.banner-healthy .info-icon{background:#4caf5026;color:#388e3c}.ai-analysis-banner.banner-food{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ffb74d}.ai-analysis-banner.banner-food:before{background:linear-gradient(90deg,#ff9800,#ffc107)}.ai-analysis-banner.banner-food .info-icon{background:#ff980026;color:#f57c00}.ai-analysis-banner.banner-environmental{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);border-color:#80cbc4}.ai-analysis-banner.banner-environmental:before{background:linear-gradient(90deg,#009688,#4db6ac)}.ai-analysis-banner.banner-environmental .info-icon{background:#00968826;color:#00796b}.allergy-item-dashboard{align-items:center;background:#fff;border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:12px;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.75rem;position:relative;transition:all .2s ease}.allergy-item-dashboard:hover{border-color:#5a7d7c4d;box-shadow:0 2px 8px #5a7d7c14}.allergy-icon{align-items:center;background:#5a7d7c14;border-radius:10px;color:#5a7d7c;color:var(--primary);display:flex;flex-shrink:0;font-size:1rem;justify-content:center;padding:.5rem}.allergy-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.allergen-name{align-items:center;color:#2d3748;color:var(--text-primary);display:flex;flex-wrap:wrap;font-size:.88rem;font-weight:600;gap:.375rem}.ai-badge-small{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;text-transform:uppercase}.ai-badge-small,.severity-badge{border-radius:6px;display:inline-flex;font-size:.65rem;font-weight:600;padding:2px 6px}.severity-badge{text-transform:capitalize}.logged-date{color:#718096;color:var(--text-muted);font-size:.75rem;font-weight:500}.empty-state{background:#f8f9fa;background:var(--bg-subtle);border:2px dashed #e2e8f0;border:2px dashed var(--border-medium);border-radius:10px;color:#a0aec0;color:var(--text-light);font-size:.9rem;padding:1.5rem;text-align:center}.symptoms-column h3{margin-bottom:.75rem}.symptom-heatmap{display:flex;flex-direction:column;gap:0;padding:.25rem 0 0}.heatmap-body{display:flex;position:relative}.heatmap-labels{background:#fff;background:var(--bg-card,#fff);display:flex;flex-direction:column;flex-shrink:0;left:0;position:-webkit-sticky;position:sticky;z-index:2}.heatmap-label-header{flex-shrink:0;height:42px}.heatmap-row-label{align-items:center;color:#2d3748;color:var(--text-primary);display:flex;font-size:.73rem;font-weight:600;height:36px;max-width:120px;overflow:hidden;padding-right:10px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.heatmap-scroll{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;flex:1 1;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.heatmap-scroll::-webkit-scrollbar{display:none}.heatmap-grid{display:flex;gap:0}.heatmap-year-group{scroll-snap-align:start}.heatmap-year-group,.heatmap-year-header{display:flex;flex-direction:column;position:relative}.heatmap-year-header{height:42px;justify-content:flex-end}.heatmap-year-label{color:#5a7d7c;color:var(--primary,#5a7d7c);font-size:.6rem;font-weight:800;letter-spacing:.06em;line-height:1;padding-bottom:2px;text-align:center;text-transform:uppercase}.heatmap-month-headers{display:flex}.heatmap-month-col{color:#718096;color:var(--text-muted);flex-shrink:0;font-size:.62rem;font-weight:700;letter-spacing:.03em;line-height:1;padding-bottom:4px;text-align:center;text-transform:uppercase;width:42px}.heatmap-cell,.heatmap-data-row{align-items:center;display:flex;height:36px}.heatmap-cell{flex-shrink:0;justify-content:center;position:relative;width:42px}.heatmap-dot{border-radius:6px;cursor:default;height:22px;transition:transform .2s ease,box-shadow .2s ease;width:22px}.heatmap-dot.active{cursor:pointer}.heatmap-dot.active:hover{transform:scale(1.15)}.heatmap-dot.empty{background:#f0f2f5;border-radius:6px;height:22px;width:22px}.heatmap-tip{background:#1a2332;border-radius:10px;box-shadow:0 8px 24px #00000040;color:#fff;display:flex;flex-direction:column;gap:4px;min-width:130px;opacity:0;padding:8px 12px;pointer-events:none;position:fixed;transition:opacity .15s ease;white-space:nowrap;z-index:9999}.heatmap-tip.show{opacity:1;pointer-events:auto}.heatmap-tip:after{border:6px solid #0000;border-top-color:#1a2332;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.heatmap-tip-name{color:#f0f4f8;font-size:.72rem;font-weight:700;letter-spacing:.01em}.heatmap-tip-detail{color:#a0aec0;font-size:.68rem}.heatmap-tip-detail strong{color:#fff;font-size:.78rem;font-weight:700}.heatmap-tip-bar{background:#ffffff1a;border-radius:2px;height:4px;margin-top:2px;overflow:hidden}.heatmap-tip-bar-fill{border-radius:2px;height:100%;transition:width .3s ease}.heatmap-year-group+.heatmap-year-group{border-left:2px solid #f0f0f0;border-left:2px solid var(--border-light,#e2e8f0);margin-left:4px;padding-left:4px}.heatmap-legend{align-items:center;border-top:1px solid #f0f0f0;border-top:1px solid var(--border-light);display:flex;gap:6px;justify-content:center;margin-top:12px;padding-top:10px}.heatmap-legend-label{color:#718096;color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.heatmap-legend-dots{align-items:center;display:flex;gap:4px}.heatmap-legend-dot{border-radius:4px;height:16px;width:16px}.heatmap-legend-dot.empty{background:#f0f2f5}@media (max-width:420px){.heatmap-row-label{font-size:.66rem;max-width:90px}.heatmap-cell,.heatmap-month-col{width:36px}.heatmap-dot,.heatmap-dot.empty{border-radius:5px;height:18px;width:18px}.heatmap-legend-dot{height:14px;width:14px}}.ai-recommendations{background:linear-gradient(135deg,#f3e5f5,#e8eaf6);border:2px solid #e1bee7;border-radius:14px;margin-top:1rem;padding:1rem}.ai-recommendations h3{align-items:center;color:#7b1fa2;display:flex;font-size:.95rem;font-weight:700;gap:.375rem;margin:0 0 .875rem}.ai-recommendations h3:before{content:"🤖";font-size:1.1rem}.ai-recommendations ul{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.ai-recommendations li{background:#fff9;border-radius:8px;color:#4a148c;font-size:.85rem;font-weight:500;padding:.625rem .75rem .625rem 2rem;position:relative}.ai-recommendations li:before{color:#4caf50;content:"✓";font-weight:700;left:.625rem;position:absolute}.allergy-scores{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px solid #e3f2fd;border-radius:14px;padding:1rem}.allergy-scores h3{color:#1976d2;font-size:.95rem;font-weight:700;margin:0 0 .875rem}.allergy-scores p{background:#fff9;border-radius:8px;font-size:.85rem;margin:.5rem 0;padding:.625rem}.allergy-disclaimer-banner{align-items:flex-start;background:linear-gradient(135deg,#fff8e1,#fff3cd);border:2px solid #ffc107;border-radius:12px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;position:relative}.allergy-disclaimer-banner:before{background:linear-gradient(90deg,#ff9800,#ffc107 50%,#ff9800);border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.disclaimer-icon{flex-shrink:0;font-size:1.3rem;margin-top:2px}.disclaimer-content{flex:1 1}.disclaimer-content strong{color:#e65100;display:block;font-size:.88rem;font-weight:700;margin-bottom:.25rem}.disclaimer-content p{color:#795548;font-size:.78rem;line-height:1.5;margin:0}.disclaimer-content em{font-style:italic}.primary-allergen-section{margin-bottom:1rem}.primary-allergen-card{background:linear-gradient(135deg,#fff5f5,#fee2e2 50%,#fef3c7);border:2px solid #f87171;border-radius:16px;overflow:hidden;padding:1.25rem;position:relative}.primary-allergen-card:before{background:linear-gradient(90deg,#ef4444,#f97316 50%,#ef4444);content:"";height:4px;left:0;position:absolute;right:0;top:0}.primary-allergen-badge{display:flex;justify-content:flex-start;margin-bottom:.75rem}.primary-badge-label{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:20px;box-shadow:0 2px 8px #ef44444d;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.25rem .75rem;text-transform:uppercase}.primary-allergen-header{align-items:flex-start;display:flex;gap:.875rem;margin-bottom:.75rem}.primary-allergen-icon{align-items:center;background:linear-gradient(135deg,#ef444426,#f9731626);border:1px solid #ef444433;border-radius:14px;display:flex;flex-shrink:0;font-size:2rem;height:52px;justify-content:center;width:52px}.primary-allergen-info h3{color:#991b1b;font-size:1rem;font-weight:700;line-height:1.3;margin:0 0 .375rem}.primary-allergen-info h3:before{content:none}.primary-allergen-stat{color:#92400e;font-size:.8rem;line-height:1.45;margin:0}.primary-allergen-detail{border-top:1px solid #ef444426;margin-top:.75rem;padding-top:.75rem}.probability-indicator{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.625rem}.probability-bar{background:#ef44441a;border-radius:4px;height:8px;overflow:hidden}.probability-fill{background:linear-gradient(90deg,#f97316,#ef4444);border-radius:4px;height:100%;transition:width 1s ease}.probability-label{color:#92400e;font-size:.72rem;font-weight:600}.primary-allergen-note{background:#ffffff80;border-left:3px solid #f97316;border-radius:8px;color:#78350f;font-size:.78rem;line-height:1.45;margin:0;padding:.5rem .75rem}.scanned-meat-derivatives{border-top:1px solid #ef444426;margin-top:.875rem;padding-top:.75rem}.scanned-meat-derivatives h4{color:#991b1b;font-size:.82rem;font-weight:600;margin:0 0 .5rem}.meat-derivative-tags{display:flex;flex-wrap:wrap;gap:.375rem}.meat-derivative-tag{background:linear-gradient(135deg,#ef44441f,#f973161f);border:1px solid #ef444433;border-radius:8px;color:#9a3412;display:inline-flex;font-size:.72rem;font-weight:600;padding:.25rem .625rem}.secondary-allergens-section{margin-bottom:1rem}.secondary-allergens-toggle{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border:2px solid var(--border-medium);border-radius:12px;color:#2d3748;color:var(--text-primary);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:.5rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.secondary-allergens-toggle:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#5a7d7c;border-color:var(--primary)}.secondary-allergens-toggle.open{border-color:#5a7d7c;border-color:var(--primary);border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--border-light);border-radius:12px 12px 0 0}.secondary-count{background:#5a7d7c1a;border-radius:10px;font-size:.72rem;font-weight:500;margin-left:auto;padding:.15rem .5rem}.secondary-count,.toggle-chevron{color:#718096;color:var(--text-muted)}.toggle-chevron{font-size:1rem;transition:transform .3s ease}.toggle-chevron.rotated{transform:rotate(180deg)}.secondary-allergens-panel{animation:slideDown .3s ease;background:#fff;border:2px solid #5a7d7c;border:2px solid var(--primary);border-radius:0 0 12px 12px;border-top:none;padding:1rem}.secondary-panel-note{background:#fffbeb;border-left:3px solid #fbbf24;border-radius:8px;color:#718096;color:var(--text-muted);font-size:.78rem;font-style:italic;line-height:1.45;margin:0 0 .875rem;padding:.5rem .75rem}.common-allergen-chips{margin-bottom:1rem}.common-allergen-chips h4{color:#4a5568;color:var(--text-secondary);font-size:.82rem;font-weight:700;margin:0 0 .5rem}.allergen-chip-grid{display:flex;flex-wrap:wrap;gap:.375rem}.allergen-chip{align-items:center;border:1px solid;border-radius:8px;display:inline-flex;font-size:.72rem;font-weight:600;padding:.3rem .625rem}.chip-grain{background:#fef9c3;border-color:#fde68a;color:#92400e}.chip-dairy{background:#ede9fe;border-color:#ddd6fe;color:#5b21b6}.chip-egg{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.chip-additive{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.chip-fish{background:#ecfeff;border-color:#a5f3fc;color:#155e75}.chip-legume{background:#fdf4ff;border-color:#f5d0fe;color:#86198f}.allergens-subheading{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--border-light);color:#4a5568;color:var(--text-secondary);font-size:.82rem;font-weight:700;margin:.875rem 0 .5rem;padding-bottom:.375rem}.possibility-badge{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;color:#c2410c;display:inline-flex;font-size:.6rem;font-weight:700;letter-spacing:.02em;padding:.12rem .45rem;text-transform:uppercase}.personal-allergy-tracking{background:linear-gradient(135deg,#f0f9ff,#e0f2fe 50%,#f0fdf4);border:2px solid #7dd3fc;border-radius:16px;margin-bottom:1rem;overflow:hidden;padding:1.25rem;position:relative}.personal-allergy-tracking:before{background:linear-gradient(90deg,#0ea5e9,#22c55e);content:"";height:3px;left:0;position:absolute;right:0;top:0}.tracking-header h3{color:#0c4a6e;font-size:.95rem;font-weight:700;margin:0 0 .25rem}.tracking-header h3:before{content:none}.tracking-subtitle{color:#0369a1;font-size:.75rem;font-style:italic;margin:0 0 1rem}.tracking-stats-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:.875rem}.tracking-stat{align-items:center;background:#ffffffb3;border:1px solid #0ea5e926;border-radius:10px;display:flex;flex-direction:column;padding:.625rem .375rem}.tracking-stat-value{align-items:center;color:#0c4a6e;display:flex;font-size:1.25rem;font-weight:800;line-height:1.2}.tracking-stat-value svg{font-size:1.4rem}.tracking-stat-label{color:#0369a1;font-size:.62rem;font-weight:600;letter-spacing:.03em;margin-top:.25rem;text-align:center;text-transform:uppercase}.tracking-trend.trend-improving{background:#22c55e1f;border-color:#22c55e40}.tracking-trend.trend-improving .tracking-stat-value{color:#166534}.tracking-trend.trend-improving .tracking-stat-label{color:#15803d}.tracking-trend.trend-worsening{background:#ef44441f;border-color:#ef444440}.tracking-trend.trend-worsening .tracking-stat-value{color:#991b1b}.tracking-trend.trend-worsening .tracking-stat-label{color:#b91c1c}.tracking-trend.trend-stable{background:#94a3b81f;border-color:#94a3b833}.tracking-breakdown{margin-top:.5rem}.tracking-breakdown h4{color:#0c4a6e;font-size:.78rem;font-weight:700;margin:0 0 .5rem}.breakdown-bars{display:flex;flex-direction:column;gap:.375rem}.breakdown-bar-row{align-items:center;display:flex;gap:.5rem}.breakdown-label{color:#4a5568;color:var(--text-secondary);font-size:.72rem;font-weight:600;min-width:55px}.breakdown-bar{background:#fff9;border-radius:5px;flex:1 1;height:10px;overflow:hidden}.breakdown-fill{border-radius:5px;height:100%;transition:width .8s ease}.skin-fill{background:linear-gradient(90deg,#f97316,#fb923c)}.digestive-fill{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.breakdown-count{color:#2d3748;color:var(--text-primary);font-size:.72rem;font-weight:700;min-width:20px;text-align:right}.tracking-empty{color:#0369a1;font-size:.82rem;font-weight:500;padding:.75rem;text-align:center}.tracking-empty p{margin:0}@media (max-width:380px){.tracking-stats-grid{grid-template-columns:repeat(2,1fr)}.primary-allergen-header{align-items:center;flex-direction:column;text-align:center}.primary-allergen-info h3{font-size:.92rem}}.allergens-list{display:flex;flex-direction:column;gap:.5rem}.allergen-card{align-items:center;background:#fff;border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:12px;display:flex;gap:.75rem;padding:.7rem .875rem;transition:all .2s ease}.allergen-card:hover{border-color:#5a7d7c4d;box-shadow:0 2px 8px #5a7d7c14}.allergen-card.potential-allergen{background:linear-gradient(135deg,#fff,#fff8e1);border-left:3px solid #ff9800}.allergen-card-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1rem;height:34px;justify-content:center;width:34px}.allergen-card-icon.warning{background:#ff98001a;color:#ff9800}.allergen-card-icon.protein{background:#5a7d7c14;color:#5a7d7c;color:var(--primary)}.allergen-card-icon.grain{background:#8d6e6314;color:#8d6e63}.allergen-card-icon.dairy,.allergen-card-icon.food,.allergen-card-icon.other{background:#5a7d7c14;color:#5a7d7c;color:var(--primary)}.allergen-card-body{display:flex;flex:1 1;flex-direction:column;gap:.2rem}.allergen-card-name{color:#2d3748;color:var(--text-primary);font-size:.88rem;font-weight:600;line-height:1.3}.allergen-card-meta{align-items:center;display:flex;gap:.5rem}.allergen-source-chip{border-radius:20px;display:inline-flex;font-size:.62rem;font-weight:700;letter-spacing:.02em;padding:.12rem .45rem;text-transform:uppercase}.allergen-source-chip.scanned{background:#fff3e0;color:#e65100}.allergen-source-chip.quiz{background:#f3e5f5;color:#7b1fa2}.allergen-source-chip.manual{background:#eceff1;color:#546e7a}.allergen-card-date{color:#a0aec0;color:var(--text-light);font-size:.7rem;font-weight:500}.dashboard-footer{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#fffffff2;border-top:1px solid #f0f0f0;border-top:1px solid var(--border-light);bottom:0;box-sizing:border-box;justify-content:space-around;left:0;padding:.625rem 1rem calc(.625rem + env(safe-area-inset-bottom));position:fixed;right:0;width:100%;z-index:100}.dashboard-footer,.footer-icon{align-items:center;display:flex}.footer-icon{border-radius:10px;color:#718096;color:var(--text-muted);cursor:pointer;font-size:1.6rem;justify-content:center;padding:.5rem;text-decoration:none;transition:color .2s ease,background-color .2s ease}.footer-icon:hover{background-color:#5a7d7c14;color:#5a7d7c;color:var(--primary)}.footer-icon-add{align-items:center;background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:4px solid #f5f7fa;border-radius:50%;box-shadow:0 4px 14px #5a7d7c59;color:#fff;cursor:pointer;display:flex;font-size:1.75rem;height:52px;justify-content:center;margin-top:-20px;transition:margin-top .2s ease,box-shadow .2s ease;width:52px}.footer-icon-add:hover{box-shadow:0 6px 20px #5a7d7c73;margin-top:-24px}@media (min-width:769px){.dashboard-footer{border:1px solid #f0f0f0;border:1px solid var(--border-light);border-bottom:none;border-radius:16px 16px 0 0;left:50%;max-width:820px;right:auto;transform:translateX(-50%)}}@media (min-width:1200px){.dashboard-footer{max-width:900px}}.modal-overlay{align-items:flex-end;animation:overlayFadeIn .2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#00000080}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);background:var(--bg-card);border-radius:24px 24px 0 0;box-shadow:0 -8px 40px #00000026;max-width:440px;padding:1.75rem 1.5rem 2rem;text-align:center;width:100%}.modal-content:before{background:#e2e8f0;background:var(--border-medium);border-radius:2px;content:"";display:block;height:4px;margin:0 auto 1rem;width:40px}.modal-content h2{color:#2d3748;color:var(--text-primary);font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .375rem}.modal-content p{color:#718096;color:var(--text-muted);font-size:.88rem;font-weight:500;margin-bottom:1.25rem}@media (min-width:640px){.modal-overlay{align-items:center}.modal-content{border-radius:24px;box-shadow:0 20px 60px #0003;max-height:85vh;max-width:420px;width:92%}}.activity-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.25rem}.activity-item{align-items:center;background:#fff;border:2px solid #f0f0f0;border:2px solid var(--border-light);border-radius:18px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:1.125rem .875rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.activity-item:hover{border-color:#5a7d7c;border-color:var(--primary);box-shadow:0 6px 20px #5a7d7c26;transform:translateY(-2px)}.activity-item:active{transform:translateY(0) scale(.97)}.activity-item.selected{background:linear-gradient(135deg,#5a7d7c0f,#5a7d7c05);border-color:#5a7d7c;border-color:var(--primary);box-shadow:0 0 0 3px #5a7d7c1f}.activity-icon{color:#5a7d7c;color:var(--primary);font-size:2.25rem;margin-bottom:.375rem;transition:transform .25s ease}.activity-item:hover .activity-icon{transform:scale(1.12)}.modal-button{align-items:center;background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:14px;box-shadow:0 4px 14px #5a7d7c40;color:#fff;display:flex;font-weight:700;gap:.375rem;justify-content:center;padding:1rem 1.5rem;transition:all .25s ease;width:100%}.modal-button:hover{box-shadow:0 6px 20px #5a7d7c66;transform:translateY(-1px)}.modal-button:active{box-shadow:0 2px 8px #5a7d7c33;transform:translateY(0)}.results-title{color:#2d3748;color:var(--text-primary);font-size:1.4rem;font-weight:700;margin:0 0 .25rem;text-align:center}.results-subtitle{color:#5a7d7c;color:var(--primary);font-size:.85rem;font-weight:600;margin:0 0 1rem;text-align:center}.ingredient-chart{background:#f8f9fa;background:var(--bg-subtle);border-radius:12px;height:180px;margin-bottom:1rem;padding:1rem}.results-step-content .meat-highlight-legend{color:#718096;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.75rem 1.5rem;margin-bottom:.5rem}.results-step-content .legend-primary{color:#2e7d32}.results-step-content .legend-derivative{color:#e65100}.modal-ingredients-block{background:#f8f9fa;background:var(--bg-subtle);border-radius:10px;margin-bottom:1rem;max-height:200px;overflow-y:auto;padding:.75rem 1rem}.modal-full-ingredients-list{font-size:.9rem;line-height:1.5;margin:0;padding-left:1.25rem}.modal-full-ingredients-list li{margin-bottom:.35rem}.modal-full-ingredients-list li.is-primary-meat{color:#2e7d32;font-weight:500}.modal-full-ingredients-list li.is-derivative{color:#e65100}.modal-full-ingredients-list .inline-derivative-badge,.modal-full-ingredients-list .inline-primary-meat-badge{border-radius:4px;font-size:.7rem;margin-left:.5rem;padding:.15rem .4rem}.modal-full-ingredients-list .inline-derivative-badge{background:#e6510026;color:#e65100}.modal-full-ingredients-list .inline-primary-meat-badge{background:#2e7d3226;color:#2e7d32}.modal-nutrition-block{background:#f8f9fa;background:var(--bg-subtle);border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}.modal-nutrition-block h3{color:#4a5568;color:var(--text-secondary);font-size:.95rem;margin:0 0 .5rem}.modal-nutrition-grid{grid-gap:.5rem 1rem;display:grid;font-size:.9rem;gap:.5rem 1rem;grid-template-columns:1fr 1fr}.modal-nutrition-item{display:flex;gap:.5rem;justify-content:space-between}.modal-nutrition-item span:last-child{color:#2d3748;color:var(--text-primary);font-weight:600}.recurring-option{background:#f8f9fa;background:var(--bg-subtle);border-radius:10px;margin-bottom:1.25rem;padding:.875rem 1rem}.recurring-checkbox{align-items:center;color:#4a5568;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.75rem}.recurring-checkbox input[type=checkbox]{accent-color:#5a7d7c;accent-color:var(--primary);cursor:pointer;height:18px;width:18px}.time-picker-inline{align-items:center;border-top:1px solid #f0f0f0;border-top:1px solid var(--border-light);color:#718096;color:var(--text-muted);display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.time-input-compact{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-medium);border-radius:8px;font-family:inherit;font-size:.9rem;padding:.5rem .75rem}.time-input-compact:focus{border-color:#5a7d7c;border-color:var(--primary);outline:none}.modal-actions{display:flex;flex-direction:column;gap:.75rem}.modal-button-primary{background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:14px;box-shadow:0 4px 14px #5a7d7c40;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem 1.5rem;transition:all .25s ease;width:100%}.modal-button-primary:hover{box-shadow:0 6px 20px #5a7d7c66;transform:translateY(-1px)}.modal-button-primary:active{transform:translateY(0)}.modal-button-primary:disabled{box-shadow:none;opacity:.5;transform:none}.modal-button-secondary{background:#fff;border:2px solid #f0f0f0;border:2px solid var(--border-light);border-radius:14px;color:#4a5568;color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:700;padding:.875rem 1.5rem;transition:all .2s ease;width:100%}.modal-button-secondary:hover{background:#f8f9fa;background:var(--bg-subtle);border-color:#e2e8f0;border-color:var(--border-medium)}.modal-button-back{background:#0000;border:none;color:#718096;color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:500;margin-top:.25rem;padding:.625rem}.modal-button-back:hover{color:#4a5568;color:var(--text-secondary)}.activity-details-form{margin-bottom:1.25rem;text-align:left}.activity-details-form label{color:#718096;color:var(--text-muted);display:block;font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.activity-detail-header{align-items:center;background:linear-gradient(135deg,#5a7d7c0f,#5a7d7c05);border:1px solid #5a7d7c1a;border-radius:16px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.activity-detail-icon{align-items:center;background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:16px;box-shadow:0 4px 12px #5a7d7c40;color:#fff;display:flex;flex-shrink:0;font-size:2rem;height:56px;justify-content:center;width:56px}.activity-detail-info h3{color:#2d3748;color:var(--text-primary);font-size:1.15rem;font-weight:700;margin:0}.activity-detail-info p{color:#718096;color:var(--text-muted);font-size:.82rem;font-weight:500;margin:.15rem 0 0}.duration-slider-container{background:#fff;border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:16px;margin-bottom:1rem;padding:1.25rem}.duration-value-display{align-items:baseline;display:flex;gap:.25rem;justify-content:center;margin-bottom:1rem}.duration-number{color:#5a7d7c;color:var(--primary);font-size:2.75rem;font-weight:800;letter-spacing:-.03em;line-height:1}.duration-unit{color:#718096;color:var(--text-muted);font-size:1rem;font-weight:600}.custom-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#f0f0f0,#f0f0f0);background:linear-gradient(90deg,var(--border-light) 0,var(--border-light) 100%);border-radius:4px;height:8px;outline:none;transition:background .15s ease;width:100%}.custom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:4px solid #fff;border-radius:50%;box-shadow:0 2px 10px #5a7d7c59;cursor:pointer;height:28px;-webkit-transition:transform .2s ease,box-shadow .2s ease;transition:transform .2s ease,box-shadow .2s ease;width:28px}.custom-slider::-webkit-slider-thumb:hover{box-shadow:0 4px 16px #5a7d7c73;transform:scale(1.15)}.custom-slider::-webkit-slider-thumb:active{transform:scale(1.1)}.custom-slider::-moz-range-thumb{background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:4px solid #fff;border-radius:50%;box-shadow:0 2px 10px #5a7d7c59;cursor:pointer;height:28px;width:28px}.slider-labels{color:#a0aec0;color:var(--text-light);display:flex;font-size:.72rem;font-weight:500;justify-content:space-between;margin-top:.5rem}.calorie-estimate{align-items:center;background:linear-gradient(135deg,#fff9e6,#fff3cd);border:1px solid #ffeaa7;border-radius:14px;display:flex;gap:.75rem;margin-top:.75rem;padding:.875rem 1rem}.calorie-estimate-icon{flex-shrink:0;font-size:1.5rem}.calorie-estimate-text{color:#4a5568;color:var(--text-secondary);font-size:.88rem;font-weight:500}.calorie-estimate-text strong{color:#e17055;font-size:1rem;font-weight:700}.calorie-estimate-missing{background:#f8f9fa;background:var(--bg-subtle);border-radius:10px;color:#718096;color:var(--text-muted);font-size:.82rem;font-style:italic;margin-top:.5rem;padding:.75rem;text-align:center}.sleep-form{text-align:left}.sleep-form,.sleep-form .form-section{margin-bottom:1.25rem}.sleep-form .section-label{color:#718096;color:var(--text-muted);display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;margin-bottom:.625rem;text-transform:uppercase}.sleep-duration-display{align-items:baseline;display:flex;gap:.25rem;justify-content:center;margin-bottom:.875rem;padding:.5rem 0}.sleep-hours-number{color:#5a7d7c;color:var(--primary);font-size:3rem;font-weight:800;letter-spacing:-.03em;line-height:1}.sleep-hours-unit{color:#718096;color:var(--text-muted);font-size:1.1rem;font-weight:600}.sleep-quality-grid{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:repeat(3,1fr)}.sleep-quality-option{align-items:center;background:#fff;border:2px solid #f0f0f0;border:2px solid var(--border-light);border-radius:18px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1rem .5rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.sleep-quality-option:hover{border-color:#5a7d7c66;box-shadow:0 4px 16px #0000000f;transform:translateY(-2px)}.sleep-quality-option.selected{background:linear-gradient(135deg,#5a7d7c0f,#5a7d7c05);border-color:#5a7d7c;border-color:var(--primary);box-shadow:0 0 0 3px #5a7d7c1a}.sleep-quality-option:active{transform:translateY(0) scale(.96)}.sleep-quality-emoji{font-size:2rem;line-height:1;transition:transform .25s ease}.sleep-quality-option:hover .sleep-quality-emoji{transform:scale(1.15)}.sleep-quality-option.selected .sleep-quality-emoji{transform:scale(1.1)}.sleep-quality-label{color:#4a5568;color:var(--text-secondary);font-size:.82rem;font-weight:700;text-transform:capitalize}.sleep-quality-option.selected .sleep-quality-label{color:#5a7d7c;color:var(--primary)}.symptom-time-display{margin-bottom:1rem}.time-badge{align-items:center;background:linear-gradient(135deg,#f0f8ff,#e8f4fd);border:1px solid #bcdff1;border-radius:12px;display:inline-flex;gap:.625rem;padding:.625rem 1rem}.time-icon{font-size:1.1rem}.time-info{display:flex;flex-direction:column;text-align:left}.time-value{color:#2d3748;color:var(--text-primary);font-size:.9rem;font-weight:700}.date-value{color:#718096;color:var(--text-muted);font-size:.75rem;font-weight:500}.symptom-selector{margin-bottom:1rem;text-align:left}.symptom-selector label{color:#718096;color:var(--text-muted);display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;margin-bottom:.5rem;text-transform:uppercase}.symptom-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;border:2px solid #f0f0f0;border:2px solid var(--border-light);border-radius:14px;color:#2d3748;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;padding:.875rem 2.5rem .875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.symptom-select:focus{border-color:#5a7d7c;border-color:var(--primary);box-shadow:0 0 0 3px #5a7d7c1f;outline:none}.symptom-info{margin-bottom:1rem}.info-box{align-items:flex-start;background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border:1px solid #90caf9;border-radius:14px;display:flex;gap:.75rem;padding:.875rem 1rem}.info-text{flex:1 1;text-align:left}.info-text strong{color:#1565c0;font-size:.85rem}.info-text p{color:#4a5568;color:var(--text-secondary);font-size:.82rem;line-height:1.4;margin:.25rem 0 0}.modal-button-close{background:#0000;border:none;border-radius:10px;color:#5a7d7c;color:var(--primary);cursor:pointer;font-size:.95rem;font-weight:600;margin-top:.5rem;padding:.625rem 1rem;transition:background .2s ease}.modal-button-close:hover{background:#5a7d7c0f}.main-options h2{color:#2d3748;color:var(--text-primary);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin-bottom:1.25rem}.main-option-buttons{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}.main-option-card{align-items:center;background:#fff;border:2px solid #f0f0f0;border:2px solid var(--border-light);border-radius:20px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;min-height:110px;overflow:hidden;padding:1.5rem 1rem 1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.main-option-card:before{border-radius:20px 20px 0 0;content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s ease}.main-option-card:first-child:before{background:linear-gradient(90deg,#ff6b6b,#ee5a24)}.main-option-card:nth-child(2):before{background:linear-gradient(90deg,#48dbfb,#0abde3)}.main-option-card:nth-child(3):before{background:linear-gradient(90deg,#a29bfe,#6c5ce7)}.main-option-card:nth-child(4):before{background:linear-gradient(90deg,#ffeaa7,#fdcb6e)}.main-option-card:active:before,.main-option-card:hover:before{opacity:1}.main-option-card:hover{border-color:#0000;box-shadow:0 8px 30px #0000001a;transform:translateY(-3px)}.main-option-card:active{box-shadow:0 4px 16px #00000014;transform:translateY(-1px) scale(.98)}.option-icon{align-items:center;border-radius:18px;display:flex;font-size:2.5rem;height:60px;justify-content:center;line-height:1;transition:transform .25s ease;width:60px}.main-option-card:first-child .option-icon{background:linear-gradient(135deg,#fff5f5,#ffe3e3)}.main-option-card:nth-child(2) .option-icon{background:linear-gradient(135deg,#e8f8ff,#d0efff)}.main-option-card:nth-child(3) .option-icon{background:linear-gradient(135deg,#f0efff,#e3e1ff)}.main-option-card:nth-child(4) .option-icon{background:linear-gradient(135deg,#fffbeb,#fef3cd)}.main-option-card:hover .option-icon{transform:scale(1.08)}.option-label{color:#2d3748;color:var(--text-primary);font-size:.95rem;font-weight:700;letter-spacing:-.01em}.option-badge{background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:20px;box-shadow:0 2px 8px #5a7d7c40;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.02em;padding:.2rem .55rem;position:absolute;right:10px;top:10px}.section-subtitle{color:#718096;color:var(--text-muted);font-size:.85rem;margin:0 0 .75rem;text-align:center}.saved-foods-compact{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.compact-food-item{align-items:center;background:#f8f9fa;background:var(--bg-subtle);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:12px;cursor:pointer;display:flex;gap:.625rem;padding:.75rem 1rem;transition:all .2s ease}.compact-food-item:hover{background:#edf2f7;border-color:#5a7d7c;border-color:var(--primary);box-shadow:0 2px 8px #5a7d7c1f}.food-icon-small{flex-shrink:0;font-size:1.2rem}.food-name-compact{color:#2d3748;color:var(--text-primary);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{align-items:center;color:#a0aec0;color:var(--text-light);display:flex;font-size:.8rem;gap:.75rem;margin:1rem 0}.divider:after,.divider:before{background:#e2e8f0;background:var(--border-medium);content:"";flex:1 1;height:1px}.scan-options{grid-gap:.875rem;display:grid;gap:.875rem;grid-template-columns:1fr;margin-bottom:1rem}.scan-button{align-items:center;background:linear-gradient(135deg,#5a7d7c,#4a6a69);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:.375rem;padding:1rem .75rem}.scan-button:hover{box-shadow:0 6px 18px #5a7d7c59}.scan-icon{font-size:1.75rem}.scan-options-stack{gap:.75rem}.scan-button-manual{background:#0000;border:2px solid #5a7d7c;border:2px solid var(--primary,#5a7d7c);box-shadow:none;color:#4a6a69;color:var(--primary-dark,#3d5c5a)}.scan-button-manual:hover{background:#5a7d7c14;box-shadow:none}.manual-food-entry-hint{margin-bottom:1rem}.manual-entry-label{color:#4a5568;color:var(--text-secondary,#64748b);display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem;margin-top:.75rem}.manual-entry-input,.manual-entry-textarea{background:#fff;background:var(--bg-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-medium,#e2e8f0);border-radius:10px;box-sizing:border-box;color:#2d3748;color:var(--text-primary,#1e293b);font-family:inherit;font-size:.9rem;padding:.65rem .75rem;width:100%}.manual-entry-textarea{line-height:1.45;min-height:120px;resize:vertical}.results-step-analyse{margin-top:.5rem}.results-step-analyse .modal-button-primary{margin-top:.75rem}.results-ai-lede{color:#4a5568;color:var(--text-secondary,#64748b);font-size:.85rem;line-height:1.45;margin:0 0 .75rem}.results-overview-panel{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem}.results-flag-generic{align-items:flex-start;background:linear-gradient(135deg,#fff8e1,#ffecb3);border:2px solid #e65100;border-radius:10px;color:#2d3748;color:var(--text-primary,#1e293b);display:flex;gap:.65rem;padding:.85rem 1rem}.results-flag-generic-icon{flex-shrink:0;font-size:1.35rem;line-height:1}.results-flag-generic-sub{font-size:.8rem;line-height:1.4;margin:.35rem 0 0}.results-flag-generic-sub,.results-flag-named{color:#4a5568;color:var(--text-secondary,#64748b)}.results-flag-named{background:#f8f9fa;background:var(--bg-subtle,#f1f5f9);border:1px solid #e2e8f0;border:1px solid var(--border-medium,#e2e8f0);border-radius:8px;font-size:.82rem;line-height:1.45;margin:0;padding:.65rem .85rem}.results-overview-calories .modal-nutrition-block{margin-bottom:0}.results-view-full-btn{margin-top:.25rem}.results-collapse-analysis-btn{margin-bottom:.75rem;width:100%}.results-pet-allergen-overview{margin-top:0}.results-step-full-analysis .modal-ingredients-block{max-height:min(55vh,420px)}.results-section-title{color:#2d3748;color:var(--text-primary,#1e293b);font-size:.88rem;font-weight:700;margin:0 0 .5rem}.results-meat-sources-block{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-medium,#e2e8f0);border-radius:10px;margin-bottom:.75rem;padding:.75rem 1rem}.results-meat-group{margin-top:.5rem}.results-meat-group:first-of-type{margin-top:0}.results-meat-group-label{color:#4a5568;color:var(--text-secondary,#64748b);display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:.35rem;text-transform:uppercase}.results-meat-list{color:#2d3748;color:var(--text-primary,#1e293b);font-size:.85rem;line-height:1.45;margin:0;padding-left:1.15rem}.results-meat-list-deriv li{margin-bottom:.25rem}.results-meat-deriv-type{color:#b45309;display:inline-block;font-size:.72rem;font-weight:600;margin-left:.35rem;text-transform:capitalize}.results-triggers-list{color:#2d3748;color:var(--text-primary,#1e293b);font-size:.82rem;line-height:1.45;margin:.65rem 0 0;padding-left:1.1rem}.results-triggers-list li{margin-bottom:.4rem}.results-trigger-level{color:#b45309;display:inline-block;font-size:.7rem;font-weight:700;margin-left:.35rem;text-transform:uppercase}.results-trigger-reason{color:#4a5568;color:var(--text-secondary,#64748b);display:block;font-size:.78rem;margin-top:.15rem}.results-allergen-warnings{background:#fff3cd;border-left:4px solid #ff9800;border-radius:8px;margin-top:.75rem;padding:.85rem 1rem}.results-allergen-title{color:#856404;font-size:.9rem;font-weight:700;margin:0 0 .35rem}.results-allergen-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.results-allergen-tag{background:#ff9800;border-radius:999px;color:#fff;font-size:.78rem;font-weight:600;padding:.35rem .65rem}.results-pet-allergen{background:linear-gradient(135deg,#f5f5f5,#eee);border:2px solid #9e9e9e;border-radius:10px;margin-top:.75rem;padding:.85rem 1rem}.results-pet-allergen.risk-high{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#ef5350}.results-pet-allergen.risk-medium{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-color:#ffb300}.results-pet-allergen.risk-low{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#66bb6a}.results-pet-allergen-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.results-risk-badge{background:#9e9e9e;border-radius:6px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.25rem .5rem;text-transform:uppercase}.results-risk-badge.high{background:#ef5350}.results-risk-badge.medium{background:#ffb300;color:#333}.results-risk-badge.low{background:#66bb6a}.results-risk-badge.unknown{background:#9e9e9e}.results-pet-allergen-summary{color:#2d3748;color:var(--text-primary,#1e293b);font-size:.85rem;line-height:1.5;margin:0}.loader{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#5a7d7c;border-top:4px solid var(--primary);height:40px;margin:1.5rem auto;width:40px}@media (min-width:500px){.nutrition-card .nutrition-item .chart-container{height:95px;min-width:95px;width:95px}.chart-center-text{font-size:1.2rem}.bcs-gauge{height:90px;width:180px}.bcs-gauge:after{height:65px;width:130px}.bcs-arrow{height:78px}}@media (min-width:769px){.dashboard-content{max-width:700px;padding:.75rem 1.25rem}.card{border-radius:18px;padding:1.25rem}.pet-switcher{border-radius:18px;padding:1rem 1.25rem}.bcs-content{align-items:center;flex-wrap:nowrap}.allergies-lists{grid-template-columns:1fr 1fr}}@media (min-width:1200px){.dashboard-content{max-width:780px}}@media (max-width:380px){.dashboard-content{padding:.375rem .5rem}.card{border-radius:14px;padding:.875rem}.card,.card h2{margin-bottom:.75rem}.card h2{font-size:.95rem}.pet-switcher{padding:.75rem}.pet-avatar{font-size:1.5rem;height:44px;width:44px}.pet-info h2{font-size:1.05rem}.nutrition-card .nutrition-grid{gap:.5rem}.nutrition-card .nutrition-item{padding:.75rem .375rem}.nutrition-card .nutrition-item .chart-container{height:75px;min-width:75px;width:75px}.chart-center-text{font-size:1rem}.chart-center-text .nutrient-name{font-size:.55rem}.nutrition-card .nutrition-item>span{font-size:.75rem}.bcs-gauge{height:70px;width:140px}.bcs-gauge:after{height:50px;width:100px}.bcs-arrow{height:60px}.bcs-labels{font-size:.6rem;width:150px}.calorie-icon{font-size:1.3rem;height:46px;width:46px}.calorie-value{font-size:1.5rem}.footer-icon-add{font-size:1.5rem;height:48px;margin-top:-18px;width:48px}}@media (min-width:480px){.main-option-buttons{gap:.875rem;grid-template-columns:1fr 1fr}}@media (max-width:320px){.main-option-buttons{gap:.5rem}.main-option-card{min-height:95px;padding:1rem .75rem}.option-icon{border-radius:14px;font-size:2rem;height:50px;width:50px}.option-label{font-size:.85rem}}.scanned-products-card h2{align-items:center;display:flex;gap:.5rem}.scanned-products-subtitle{color:#718096;color:var(--text-muted);font-size:.85rem;margin:-.5rem 0 1rem}.scanned-products-list{display:flex;flex-direction:column;gap:10px}.scanned-product-item{align-items:center;background:#f8f9fa;background:var(--bg-subtle);border:1px solid #f0f0f0;border:1px solid var(--border-light);border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:all .2s ease}.scanned-product-item:hover{background:#edf2f7;border-color:#5a7d7c;border-color:var(--primary);box-shadow:0 3px 10px #5a7d7c1f;transform:translateY(-1px)}.scanned-product-icon{flex-shrink:0;font-size:1.8rem}.scanned-product-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.scanned-product-name{color:#2d3748;color:var(--text-primary);font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scanned-product-brand{color:#718096;color:var(--text-muted);font-size:.8rem;font-style:italic}.scanned-product-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.meta-chip{background:#e2e8f0;border-radius:10px;color:#4a5568;color:var(--text-secondary);font-size:.72rem;font-weight:500;padding:2px 8px}.meta-chip.allergen-chip{background:#fff3cd;color:#856404}.meta-chip.portion-chip{background:#e8f5e9;color:#2e7d32;font-weight:600}.meta-chip.meal-chip{background:#fff3e0;color:#e65100}.scanned-product-date{color:#a0aec0;color:var(--text-light);font-size:.72rem;margin-top:2px}.scanned-product-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.scanned-product-delete{align-items:center;background:none;border:none;border-radius:8px;color:#a0aec0;color:var(--text-light);cursor:pointer;display:flex;font-size:1.1rem;justify-content:center;padding:6px;transition:all .2s ease}.scanned-product-delete:hover{background:#fff5f5;color:#e53e3e}.scanned-product-arrow{color:#a0aec0;color:var(--text-light);font-size:1.4rem;font-weight:300}@media (max-width:480px){.scanned-product-item{gap:10px;padding:12px}.scanned-product-name{font-size:.88rem}.scanned-product-icon{font-size:1.5rem}}.daily-timeline-container{animation:fadeInUp .3s ease-out;background:#0000;display:flex;flex-direction:column;gap:.75rem;padding:.125rem}.timeline-header{align-items:center;display:flex;justify-content:space-between;padding:.75rem .5rem}.timeline-nav-btn{align-items:center;background:#f0f4f8;border:none;border-radius:50%;color:#5a7d7c;cursor:pointer;display:flex;font-size:1.05rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.timeline-nav-btn:hover:not(:disabled){background:#5a7d7c;color:#fff}.timeline-nav-btn:disabled{cursor:not-allowed;opacity:.3}.timeline-date{align-items:center;display:flex;flex-direction:column;gap:.15rem}.date-day{color:#2d3748;font-size:1.3rem;font-weight:700}.date-full{color:#718096;font-size:.82rem}.today-badge{background:linear-gradient(135deg,#5a7d7c,#4a6968);border-radius:10px;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.5px;margin-top:.1rem;padding:.15rem .55rem;text-transform:uppercase}.progress-rings{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:1fr 1fr}.ring-card-sleep{grid-column:1/-1;justify-self:center;max-width:50%}.ring-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 1px 8px #0000000d;display:flex;gap:.75rem;padding:.875rem}.ring-visual{flex-shrink:0;height:72px;position:relative;width:72px}.progress-ring-svg{display:block}.ring-icon{align-items:center;display:flex;font-size:1.35rem;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ring-icon.calories{color:#f56565}.ring-icon.exercise{color:#5a7d7c}.ring-icon.sleep{color:#7c6fdb}.ring-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ring-label{color:#a0aec0;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.ring-value{color:#2d3748;font-size:1.15rem;font-weight:800;line-height:1.2}.ring-unit{color:#a0aec0;font-size:.7rem;font-weight:500}.ring-range{color:#a0aec0;font-size:.68rem;margin-top:.05rem}.activity-feed{background:#fff;border-radius:14px;box-shadow:0 1px 6px #0000000a;display:flex;flex-direction:column;overflow:hidden;padding:.25rem .75rem .5rem}.feed-event{align-items:flex-start;border-top:1px solid #f0f4f8;display:flex;gap:0;padding:.625rem 0;transition:background .15s ease}.feed-event:first-child{border-top:1px solid #edf2f7}.feed-event.clickable{border-radius:10px;cursor:pointer;margin:0 -.375rem;padding-left:.375rem;padding-right:.375rem}.feed-event.clickable:hover{background:#fffaf0}.feed-event-time{color:#a0aec0;flex-shrink:0;font-size:.72rem;font-weight:600;padding-right:.5rem;padding-top:.3rem;text-align:right;width:62px}.feed-event-dot-track{position:relative;width:36px}.feed-event-dot,.feed-event-dot-track{display:flex;flex-shrink:0;justify-content:center}.feed-event-dot{align-items:center;border-radius:50%;box-shadow:0 2px 6px #0000001a;color:#fff;font-size:.9rem;height:32px;width:32px}.feed-event-dot.food{background:linear-gradient(135deg,#fc8181,#f56565)}.feed-event-dot.activity{background:linear-gradient(135deg,#68d391,#48bb78)}.feed-event-dot.sleep{background:linear-gradient(135deg,#b794f4,#7c6fdb)}.feed-event-dot.symptom{background:linear-gradient(135deg,#fbd38d,#f6ad55)}.feed-event-content{flex:1 1;min-width:0;padding-left:.5rem;padding-top:.15rem}.feed-event-name{color:#2d3748;font-size:.88rem;font-weight:650;line-height:1.3}.feed-event-detail{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.feed-detail-chip{border-radius:8px;font-size:.7rem;font-weight:600;padding:.15rem .5rem}.feed-detail-chip.food{background:#fff5f5;color:#e53e3e}.feed-detail-chip.activity{background:#f0fff4;color:#2f855a}.feed-detail-chip.sleep{background:#f3e8ff;color:#6b46c1}.feed-detail-chip.sleep-quality{text-transform:capitalize}.feed-detail-chip.sleep-quality.good{background:#c6f6d5;color:#276749}.feed-detail-chip.sleep-quality.fair{background:#fefcbf;color:#975a16}.feed-detail-chip.sleep-quality.restless{background:#fed7d7;color:#c53030}.feed-detail-chip.severity{text-transform:capitalize}.feed-detail-chip.severity.mild{background:#c6f6d5;color:#276749}.feed-detail-chip.severity.moderate{background:#fefcbf;color:#975a16}.feed-detail-chip.severity.severe{background:#fed7d7;color:#c53030}.feed-view-detail{color:#a0aec0;font-size:.68rem;margin-left:auto;transition:color .15s ease}.feed-event.clickable:hover .feed-view-detail{color:#dd6b20}.ongoing-issues-banner{align-items:center;background:linear-gradient(135deg,#faf5ff,#ede9fe);border:1.5px solid #e9d5ff;border-radius:14px;cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;transition:all .2s ease}.ongoing-issues-banner:hover{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);box-shadow:0 4px 14px #9f7aea26}.ongoing-icon{font-size:1.3rem}.ongoing-text{display:flex;flex:1 1;flex-direction:column}.ongoing-title{color:#553c9a;font-size:.9rem;font-weight:700}.ongoing-subtitle{color:#805ad5;font-size:.72rem}.ongoing-arrow{color:#9f7aea;font-size:1.3rem}.empty-timeline{background:#fff;border-radius:14px;box-shadow:0 1px 6px #0000000a;padding:2rem 1rem;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:.5rem}.empty-title{color:#4a5568;font-size:1rem;font-weight:700;margin:0 0 .2rem}.empty-subtitle{color:#a0aec0;font-size:.82rem;margin:0}.timeline-legend{display:flex;gap:1.25rem;justify-content:center;padding-top:.375rem}.legend-item{align-items:center;color:#718096;display:flex;font-size:.75rem;font-weight:500;gap:.35rem}.legend-dot{border-radius:50%;height:10px;width:10px}.legend-dot.food{background:linear-gradient(135deg,#fc8181,#f56565)}.legend-dot.activity{background:linear-gradient(135deg,#68d391,#48bb78)}.legend-dot.sleep{background:linear-gradient(135deg,#b794f4,#7c6fdb)}.legend-dot.symptom{background:linear-gradient(135deg,#fbd38d,#f6ad55)}.symptom-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.symptom-modal{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 25px 60px #00000040;display:flex;flex-direction:column;max-height:85vh;max-width:400px;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.symptom-modal-header{align-items:center;background:linear-gradient(135deg,#fbd38d,#f6ad55);border-radius:20px 20px 0 0;color:#744210;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.symptom-modal-header h3{align-items:center;display:flex;font-size:1.05rem;font-weight:700;gap:.5rem;margin:0}.symptom-modal-close{align-items:center;background:#ffffff4d;border:none;border-radius:50%;color:#744210;cursor:pointer;display:flex;font-size:1.15rem;height:30px;justify-content:center;transition:background .15s ease;width:30px}.symptom-modal-close:hover{background:#ffffff80}.symptom-modal-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.25rem 1.25rem}.symptom-section{margin-bottom:1.25rem}.symptom-section:last-child{margin-bottom:0}.symptom-section-title{align-items:center;border-bottom:2px solid #e2e8f0;color:#2d3748;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;margin:0 0 .75rem;padding-bottom:.5rem}.symptom-section-title .section-icon{font-size:1rem}.symptom-section-title .section-subtitle{color:#a0aec0;font-size:.72rem;font-weight:400;margin-left:auto}.symptom-detail-card{background:#f7fafc;border-left:4px solid #f6ad55;border-radius:12px;margin-bottom:.625rem;padding:.875rem}.symptom-detail-card.daily{border-left-color:#f6ad55}.symptom-detail-card.ongoing{background:#faf5ff;border-left-color:#9f7aea}.symptom-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.4rem}.symptom-name{color:#2d3748;font-size:.95rem;font-weight:700}.symptom-severity{border-radius:12px;font-size:.68rem;padding:.2rem .55rem;text-transform:uppercase}.symptom-severity.mild{background:#c6f6d5;color:#276749}.symptom-severity.moderate{background:#fefcbf;color:#975a16}.symptom-severity.severe{background:#fed7d7;color:#c53030}.symptom-detail-time{align-items:center;color:#718096;display:flex;font-size:.78rem;gap:.3rem;margin-bottom:.5rem}.symptom-detail-notes{background:#fff;border-radius:8px;color:#4a5568;font-size:.82rem;line-height:1.45;margin-bottom:.4rem;padding:.625rem}.symptom-detail-notes strong{color:#2d3748}.symptom-detail-info{align-items:center;border-top:1px solid #e2e8f0;display:flex;font-size:.78rem;gap:.5rem;padding:.35rem 0}.symptom-detail-info:first-of-type{margin-top:.4rem}.symptom-detail-info .info-label{color:#718096;min-width:80px}.symptom-detail-info .info-value{color:#2d3748;font-weight:600}.symptom-category-badge{background:#e2e8f0;border-radius:6px;color:#4a5568;display:inline-block;font-size:.68rem;font-weight:500;margin-bottom:.4rem;padding:.2rem .5rem;text-transform:capitalize}.symptom-empty-state{padding:2rem 1rem;text-align:center}.symptom-empty-state .empty-icon{display:block;font-size:2rem;margin-bottom:.5rem}.symptom-empty-state p{color:#4a5568;font-size:.9rem;font-weight:600;margin:0}.symptom-empty-state .empty-subtitle{color:#a0aec0;font-size:.82rem;font-weight:400;margin-top:.2rem}@media (max-width:380px){.daily-timeline-container{gap:.625rem}.date-day{font-size:1.15rem}.ring-card{gap:.5rem;padding:.75rem .625rem}.ring-card-sleep{max-width:100%}.ring-visual{height:60px;transform:scale(.83);transform-origin:top left;width:60px}.ring-value{font-size:1rem}.feed-event-time{font-size:.68rem;width:55px}.feed-event-dot{font-size:.8rem;height:28px;width:28px}.feed-event-name{font-size:.82rem}.ongoing-issues-banner{padding:.75rem}.ongoing-title{font-size:.82rem}.symptom-modal{max-height:90vh}}.ring-card{animation:fadeInUp .3s ease-out;animation-fill-mode:both}.ring-card:first-child{animation-delay:.05s}.ring-card:nth-child(2){animation-delay:.1s}.activity-feed{animation:fadeInUp .3s ease-out;animation-delay:.1s;animation-fill-mode:both}.allergy-manager-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.allergy-manager-modal{animation:slideUp .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #fffc;border-radius:24px;box-shadow:0 24px 72px #0000004d,0 8px 24px #00000026;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;max-height:90vh;max-width:900px;width:100%}.modal-header{align-items:center;background:linear-gradient(135deg,#5a7d7c,#4a6a69);border-radius:22px 22px 0 0;display:flex;justify-content:space-between;overflow:hidden;padding:1.75rem 2rem;position:relative}.modal-header:before{background:radial-gradient(circle at top right,#fff3 0,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.modal-header h2{align-items:center;color:#fff;display:flex;font-size:1.75rem;font-weight:800;gap:.75rem;letter-spacing:-.02em;margin:0;position:relative;z-index:1}.modal-header h2:before{content:"🏥";font-size:2rem}.close-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffffff4d;color:#fff;font-size:1.5rem;padding:0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.close-button:hover{background:#ffffff40;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:scale(1.1) rotate(90deg)}.manager-disclaimer{background:linear-gradient(135deg,#fff8e1,#fff3cd);border-bottom:2px solid #ffc107;color:#795548;font-size:.8rem;line-height:1.5;padding:.875rem 1.25rem}.manager-disclaimer strong{color:#e65100}.manager-disclaimer em{font-style:italic}.tabs{background:linear-gradient(180deg,#f8f9fa 0,#fff);border-bottom:2px solid #e9ecef;display:flex;gap:.5rem;padding:0 2rem}.tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:-.01em;padding:1rem 1.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab:before{background:linear-gradient(135deg,#5a7d7c,#4a6a69);border-radius:3px 3px 0 0;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%) scaleX(0);transition:transform .3s ease;width:80%}.tab:hover{background:#5a7d7c0d;color:#5a7d7c}.tab.active{background:#5a7d7c14;color:#5a7d7c;font-weight:700}.tab.active:before{transform:translateX(-50%) scaleX(1)}.modal-content{background:linear-gradient(135deg,#fff,#fafbfc);flex:1 1}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f3f5;border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:#5a7d7c;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:#4a6a69}.add-form{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e9ecef;border-radius:20px;box-shadow:0 4px 16px #0000000f;margin-bottom:2rem;padding:2rem;transition:all .3s ease}.add-form:hover{border-color:#5a7d7c;box-shadow:0 6px 24px #0000001a}.add-form h3{align-items:center;color:#2c3e50;display:flex;font-size:1.25rem;font-weight:700;gap:.75rem;letter-spacing:-.02em;margin:0 0 1.5rem}.add-form h3 svg{color:#5a7d7c;font-size:1.5rem}.form-row{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}.symptom-type-toggle{display:flex;gap:.75rem;margin-bottom:.5rem}.symptom-type-toggle .type-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center;padding:.875rem 1rem;transition:all .2s ease}.symptom-type-toggle .type-btn:hover{background:#f8f9fa;border-color:#8b9d7e}.symptom-type-toggle .type-btn.active{background:linear-gradient(135deg,#2c3e2a,#3d5139);border-color:#2c3e2a;box-shadow:0 4px 12px #2c3e2a4d;color:#fff}.form-hint{color:#888;font-size:.8rem;font-style:italic;margin-top:.25rem}.form-group{margin-bottom:1.25rem}.form-group label{color:#2c3e50;font-size:.95rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.625rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e9ecef;border-radius:12px;color:#2c3e50;font-family:inherit;font-size:1rem;font-weight:500;padding:.875rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#5a7d7c}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#5a7d7c;box-shadow:0 0 0 4px #5a7d7c1a;outline:none;transform:translateY(-2px)}.form-group textarea{font-family:inherit;min-height:100px;resize:vertical}.submit-button{background:linear-gradient(135deg,#5a7d7c,#4a6a69);border:none;border-radius:12px;box-shadow:0 4px 12px #5a7d7c40;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin-top:.5rem;padding:1rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#4a6a69,#3a5a59);box-shadow:0 6px 20px #5a7d7c59;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background:linear-gradient(135deg,#dee2e6,#ced4da);box-shadow:none;cursor:not-allowed;opacity:.6}.list-section{animation:fadeInUp .5s ease;margin-top:2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.list-section h3{align-items:center;border-bottom:2px solid #e9ecef;color:#2c3e50;display:flex;font-size:1.25rem;font-weight:700;gap:.5rem;letter-spacing:-.02em;margin-bottom:1.25rem;padding-bottom:.75rem}.list-section h3:before{background:linear-gradient(135deg,#5a7d7c,#4a6a69);border-radius:2px;content:"";height:24px;width:4px}.allergy-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0}.allergy-item{align-items:flex-start;background:linear-gradient(135deg,#fff,#fafbfc);border:2px solid #0000;border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;justify-content:space-between;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.allergy-item:before{background:linear-gradient(135deg,#5a7d7c,#4a6a69);bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.allergy-item:hover{border-color:#5a7d7c;box-shadow:0 6px 24px #5a7d7c26;transform:translateX(6px)}.allergy-item:hover:before{transform:scaleY(1)}.allergy-info{flex:1 1;padding-right:1rem}.allergy-name{align-items:center;color:#2c3e50;display:flex;flex-wrap:wrap;font-size:1.05rem;font-weight:700;gap:.625rem;letter-spacing:-.01em;margin-bottom:.75rem}.source-badge{align-items:center;border-radius:16px;box-shadow:0 2px 6px #0000001a;display:inline-flex;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase;transition:all .2s ease}.source-badge:hover{transform:scale(1.05)}.ai-badge{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.ai-badge.confidence-high{background:linear-gradient(135deg,#c8e6c9,#a5d6a7);color:#2e7d32}.ai-badge.confidence-medium{background:linear-gradient(135deg,#fff9c4,#fff59d);color:#f57c00}.ai-badge.confidence-low{background:linear-gradient(135deg,#ffccbc,#ffab91);color:#d84315}.quiz-badge{background:linear-gradient(135deg,#f3e5f5,#e1bee7);color:#7b1fa2}.manual-badge{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);color:#616161}.allergy-meta{color:#6c757d;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.625rem;margin-top:.625rem}.allergy-type,.symptom-category{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:10px;font-weight:600;padding:.375rem .75rem;text-transform:capitalize;transition:all .2s ease}.allergy-type:hover,.symptom-category:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);transform:scale(1.02)}.symptom-severity{border-radius:10px;box-shadow:0 2px 6px #0000001a;font-weight:600;letter-spacing:.3px;padding:.375rem .75rem;text-transform:capitalize;transition:all .2s ease}.symptom-severity:hover{transform:scale(1.05)}.severity-mild{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32}.severity-moderate{background:linear-gradient(135deg,#fff9c4,#fff59d);color:#f57c00}.severity-severe{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828}.allergy-date{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#6c757d;display:inline-flex;font-weight:500;padding:.25rem .625rem}.allergy-reasoning{background:#5a7d7c0d;border-left:3px solid #5a7d7c;border-radius:6px;color:#6c757d;font-size:.875rem;font-style:italic;line-height:1.5;margin-top:.75rem;padding:.75rem}.delete-button{align-items:center;background:linear-gradient(135deg,#e539351a,#e539350d);border:2px solid #0000;border-radius:12px;color:#e53935;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;justify-content:center;padding:.625rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.delete-button:hover{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#e53935;box-shadow:0 4px 12px #e5393540;transform:scale(1.1) rotate(5deg)}.empty-message{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px dashed #dee2e6;border-radius:16px;color:#adb5bd;font-size:1rem;font-style:italic;padding:3rem 2rem;text-align:center}.error-message{align-items:center;animation:shake .4s ease;background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #ef5350;border-radius:12px;box-shadow:0 4px 12px #e5393533;display:flex;font-weight:600;gap:.75rem;padding:1rem 1.25rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.error-message svg{flex-shrink:0;font-size:1.5rem}@media (max-width:768px){.allergy-manager-overlay{padding:.625rem}.allergy-manager-modal{border-radius:20px;max-height:95vh}.modal-header{border-radius:18px 18px 0 0;padding:1.25rem 1.5rem}.modal-header h2{font-size:1.375rem}.modal-header h2:before{font-size:1.5rem}.tabs{padding:0 1rem}.tab{font-size:.9rem;padding:.875rem 1.25rem}.add-form,.modal-content{padding:1.5rem}.add-form{border-radius:16px}.add-form h3{font-size:1.125rem}.form-row{gap:1rem;grid-template-columns:1fr}.form-group{margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{font-size:.95rem;padding:.75rem .875rem}.submit-button{font-size:1rem;padding:.875rem 1.25rem}.list-section h3{font-size:1.125rem}.allergy-item{flex-direction:column;gap:.875rem;padding:1rem}.allergy-info{padding-right:0}.allergy-name{font-size:1rem}.delete-button{align-self:flex-end;font-size:1.125rem;padding:.5rem}.allergy-meta{gap:.5rem}.allergy-date,.allergy-type,.source-badge,.symptom-category,.symptom-severity{font-size:.7rem;padding:.25rem .5rem}}.performance-page{animation:fadeIn .5s ease-in;background:linear-gradient(135deg,#f5f7fa,#e9ecef);color:#2c3e50;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:1.5rem 1.5rem calc(80px + env(safe-area-inset-bottom))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.performance-header{animation:slideDown .6s ease-out;margin-bottom:2.5rem;text-align:center}.performance-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#5a7d7c,#4a6a69);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:800;letter-spacing:-.03em;margin:0;text-shadow:0 2px 4px #0000000d}.performance-content{margin:0 auto;max-width:900px}.food-history-card,.pet-info-card{animation:slideUp .6s ease-out;background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #fffc;border-radius:24px;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;margin-bottom:2rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.food-history-card:hover,.pet-info-card:hover{box-shadow:0 12px 48px #0000001f,0 4px 12px #0000000f;transform:translateY(-4px)}.pet-info-card{grid-gap:2.5rem;align-items:center;background:linear-gradient(135deg,#5a7d7c,#4a6a69);color:#fff;display:grid;gap:2.5rem;grid-template-columns:auto 1fr;overflow:hidden;position:relative}.pet-info-card:before{animation:shimmer 3s infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}@keyframes shimmer{0%,to{transform:translate(0)}50%{transform:translate(-10%,-10%)}}.pet-image{border:5px solid #ffffff4d;border-radius:50%;box-shadow:0 8px 32px #0003,0 0 0 10px #ffffff1a;height:170px;object-fit:cover;position:relative;transition:all .3s ease;width:170px;z-index:1}.pet-image:hover{box-shadow:0 12px 48px #0000004d,0 0 0 12px #ffffff26;transform:scale(1.05) rotate(2deg)}.pet-metrics{position:relative;z-index:1}.pet-metrics h2{color:#fff;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.25rem;margin-top:0}.pet-metrics p{align-items:center;color:#fffffff2;display:flex;font-size:1rem;gap:.5rem;margin:.5rem 0}.pet-metrics strong{color:#fffc;font-weight:600;min-width:120px}.pet-summary-stats{grid-gap:1rem;border-top:1px solid #fff3;display:grid;gap:1rem;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1.5rem;padding-top:1.5rem;position:relative;z-index:1}.pet-summary-stats p{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;margin:0;padding:.875rem 1.25rem;transition:all .3s ease}.pet-summary-stats p:hover{background:#ffffff26;transform:translateY(-2px)}.activity-history-card h2,.food-history-card h2{align-items:center;border-bottom:2px solid #e9ecef;color:#2c3e50;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;letter-spacing:-.02em;margin-bottom:1.5rem;margin-top:0;padding-bottom:1rem}.food-history-list{max-height:450px;overflow-y:auto;padding-right:.5rem}.food-history-list::-webkit-scrollbar{width:6px}.food-history-list::-webkit-scrollbar-track{background:#f1f3f5;border-radius:10px}.food-history-list::-webkit-scrollbar-thumb{background:#5a7d7c;border-radius:10px}.food-history-list::-webkit-scrollbar-thumb:hover{background:#4a6a69}.food-log-item{align-items:flex-start;background:linear-gradient(90deg,#5a7d7c0d,#0000);border-left:4px solid #5a7d7c;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:1.25rem;transition:all .3s ease}.food-log-item .food-log-content{flex:1 1;min-width:0}.food-log-item .delete-food-log-btn{background:#c6282814;border:1px solid #c628284d;border-radius:8px;color:#c62828;cursor:pointer;flex-shrink:0;font-size:.875rem;padding:.4rem .75rem;transition:background .2s,color .2s}.food-log-item .delete-food-log-btn:hover{background:#c6282826;color:#b71c1c}.food-log-item:hover{background:linear-gradient(90deg,#5a7d7c14,#0000);box-shadow:0 4px 16px #00000014;transform:translateX(8px)}.food-log-item:last-child{margin-bottom:0}.food-log-item p{color:#2c3e50;font-size:1rem;margin:.5rem 0}.food-log-item p strong{color:#5a7d7c;font-weight:600}.log-date{align-items:center;background:#f8f9fa;border-radius:6px;color:#6c757d;display:inline-flex;font-size:.875rem;font-weight:500;margin-top:.75rem;padding:.25rem .75rem}.food-log-ingredients{font-size:.9rem;margin-top:.75rem}.food-log-ingredients .meat-legend{color:#6c757d;font-size:.75rem;margin:.25rem 0 .5rem}.food-log-ingredients .leg-primary{color:#2e7d32}.food-log-ingredients .leg-deriv{color:#e65100;margin-left:.5rem}.food-log-ingredients-list{margin:.5rem 0 0;max-height:160px;overflow-y:auto;padding-left:1.25rem}.food-log-ingredients-list li{background:#0000;border:none;margin-bottom:.25rem;padding:0}.food-log-ingredients-list li.is-primary-meat{color:#2e7d32;font-weight:500}.food-log-ingredients-list li.is-derivative{color:#e65100}.food-log-ingredients-list .ing-badge{border-radius:4px;font-size:.7rem;margin-left:.4rem;padding:.1rem .35rem}.food-log-ingredients-list .ing-badge.deriv{background:#e6510026;color:#e65100}.food-log-ingredients-list .ing-badge.primary{background:#2e7d3226;color:#2e7d32}.food-log-nutrition{font-size:.9rem;margin-top:.75rem}.food-log-portion{color:#2e7d32;font-weight:600}.food-log-nutrition-grid{color:#495057;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem 1rem;margin-top:.25rem}.food-log-allergen{color:#5a7d7c;font-size:.85rem;margin-top:.75rem}.food-log-allergen p{font-size:.85rem;margin:.25rem 0 0}.food-log-no-ingredients-hint{background:#f8f9fa;border-left:3px solid #5a7d7c;border-radius:8px;color:#6c757d;font-size:.8rem;margin-top:.75rem;padding:.5rem .75rem}.food-log-no-ingredients-hint strong{color:#5a7d7c}.food-log-item ul{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));list-style-type:none;margin-top:1rem;padding-left:0}.food-log-item li{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#495057;font-size:.875rem;font-weight:500;padding:.625rem 1rem;transition:all .2s ease}.food-log-item li:hover{background:#e9ecef;transform:scale(1.02)}.activity-history-card{animation:slideUp .7s ease-out;background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #fffc;border-radius:24px;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;margin-bottom:2rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.activity-history-card:hover{box-shadow:0 12px 48px #0000001f,0 4px 12px #0000000f;transform:translateY(-4px)}.activity-history-list{max-height:450px;overflow-y:auto;padding-right:.5rem}.activity-history-list::-webkit-scrollbar{width:6px}.activity-history-list::-webkit-scrollbar-track{background:#f1f3f5;border-radius:10px}.activity-history-list::-webkit-scrollbar-thumb{background:#5a7d7c;border-radius:10px}.activity-history-list::-webkit-scrollbar-thumb:hover{background:#4a6a69}.activity-log-item{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #0000;border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;gap:1.5rem;margin-bottom:1rem;padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.activity-log-item:hover{background:linear-gradient(135deg,#fff,#fafbfc);border-color:#5a7d7c;box-shadow:0 8px 24px #5a7d7c26;transform:translateY(-4px)}.activity-log-item:last-child{margin-bottom:0}.activity-log-icon{align-items:center;background:linear-gradient(135deg,#5a7d7c1a,#5a7d7c0d);border-radius:16px;box-shadow:0 4px 12px #5a7d7c1a;color:#5a7d7c;display:flex;font-size:2.5rem;justify-content:center;padding:1rem;transition:all .3s ease}.activity-log-item:hover .activity-log-icon{background:linear-gradient(135deg,#5a7d7c26,#5a7d7c14);transform:scale(1.1) rotate(5deg)}.activity-log-details{flex:1 1}.activity-log-details p{color:#2c3e50;font-size:1rem;font-weight:600;margin:0}.activity-log-sub-details{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.75rem}.activity-log-sub-details span{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#6c757d;display:inline-flex;font-size:.875rem;font-weight:500;padding:.375rem .875rem;transition:all .2s ease}.activity-log-sub-details span:hover{background:#e9ecef;transform:scale(1.02)}.activity-log-date{color:#6c757d;font-size:.875rem;font-weight:500}@media (max-width:768px){.performance-page{padding:1rem}.performance-header h1{font-size:1.75rem}.pet-info-card{gap:1.5rem;grid-template-columns:1fr;justify-items:center;text-align:center}.pet-image{height:140px;width:140px}.pet-metrics p{justify-content:center}.food-log-item ul,.pet-summary-stats{grid-template-columns:1fr}.activity-log-item{flex-direction:column;text-align:center}.activity-log-sub-details{justify-content:center}}.side-menu{background-color:#fff;box-shadow:-2px 0 5px #0000001a;height:100%;padding-top:4rem;position:fixed;right:-300px;top:0;transition:right .3s ease-in-out;width:280px;z-index:1002}.side-menu.open{right:0}.side-menu-overlay{background-color:#0006;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s,visibility .3s;visibility:hidden;width:100%;z-index:1001}.side-menu-overlay.open{opacity:1;visibility:visible}.side-menu ul{list-style:none;margin:0;padding:0}.side-menu li{border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:1.1rem;padding:1rem 1.5rem}.side-menu li:hover{background-color:#f8f9fa}.side-menu li.logout-item{color:#d32f2f;font-weight:600}.side-menu li.logout-item:hover{background-color:#ffebee}.ingredient-scanner-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.ingredient-scanner-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;padding:30px;position:relative;width:100%}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .3s ease;width:40px}.close-button:hover{background-color:#f0f0f0;color:#333}.ingredient-scanner-modal h2{color:#333;margin-bottom:20px;margin-top:0;text-align:center}.scanner-initial{padding:40px 20px;text-align:center}.scanner-notice{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;font-size:14px;line-height:1.6;margin-bottom:25px;padding:15px;text-align:left}.scanner-notice strong{color:#1976d2;display:block;margin-bottom:5px}.scanner-initial p{color:#666;font-size:18px;margin-bottom:30px}.scanner-options{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.scanner-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;min-width:180px;padding:15px 30px;transition:all .3s ease}.scanner-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.scanner-btn.primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.scanner-btn.secondary{background:#f0f0f0;color:#333}.scanner-btn.secondary:hover{background:#e0e0e0}.scanner-camera{align-items:center;display:flex;flex-direction:column;gap:20px}.camera-preview{border-radius:8px;box-shadow:0 2px 8px #0003;max-width:600px;width:100%}.camera-controls{display:flex;gap:15px;justify-content:center}.camera-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.camera-btn.capture{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.camera-btn.capture:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.camera-btn.cancel{background:#f0f0f0;color:#333}.camera-btn.cancel:hover{background:#e0e0e0}.camera-tips{background:#f8f9fa;border-radius:8px;margin-top:10px;max-width:600px;padding:15px}.camera-tips p{color:#333;font-weight:600;margin:0 0 10px}.camera-tips ul{color:#666;margin:0;padding-left:20px}.camera-tips li{margin:5px 0}.scanner-preview{align-items:center;display:flex;flex-direction:column;gap:20px}.image-preview{border-radius:8px;box-shadow:0 2px 8px #0003}.image-preview,.product-name-input{max-width:600px;width:100%}.product-name-input label{color:#333;display:block;font-weight:500;margin-bottom:8px}.product-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.product-input:focus{border-color:#667eea;outline:none}.product-name-input small{color:#999;display:block;font-size:13px;margin-top:5px}.scanner-ingredients-hint{background:#f3f4ff;border:1px solid #dde0f5;border-radius:8px;color:#555;font-size:13px;line-height:1.45;margin:0;max-width:600px;padding:10px 12px;width:100%}.error-message{background:#fee;border-left:4px solid #c33;color:#c33;font-size:14px;line-height:1.6;max-width:600px;padding:15px;width:100%}.error-message strong{display:block;font-size:15px;margin-bottom:8px}.preview-controls{display:flex;gap:15px;justify-content:center}.preview-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.preview-btn.retake{background:#f0f0f0;color:#333}.preview-btn.retake:hover{background:#e0e0e0}.preview-btn.analyze{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.preview-btn.analyze:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.preview-btn:disabled{cursor:not-allowed;opacity:.6}.scanner-analyzing{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#667eea;height:60px;margin:0 auto 30px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scanner-analyzing h3{color:#333;margin-bottom:15px}.scanner-analyzing p{color:#666;margin:10px 0}.scanner-results{padding:20px 0}.results-header{border-bottom:2px solid #f0f0f0;margin-bottom:30px;padding-bottom:20px;text-align:center}.results-header h2{color:#333;margin-bottom:10px}.results-header-minimal{margin-bottom:20px;padding-bottom:12px}.results-header-minimal h2{font-size:1.25rem;margin-bottom:4px}.product-name-minimal{color:#666;font-size:.85rem;margin:0}.brand-name{color:#666;font-size:16px;font-style:italic}.product-metadata{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:15px}.metadata-badge{background:#f0f0f0;border-radius:20px;color:#333;font-size:14px;font-weight:500;padding:6px 14px}.metadata-badge.pet-type{background:#e3f2fd;color:#1976d2}.metadata-badge.package-size{background:#fff3e0;color:#f57c00}.quality-scores{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.score-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:20px;text-align:center}.score-label{font-size:14px;margin-bottom:10px;opacity:.9}.score-value{font-size:32px;font-weight:700}.score-value.good{color:#4caf50}.score-value.fair{color:#ff9800}.score-value.poor{color:#f44336}.analysis-summary{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.analysis-summary h3{color:#333;margin-top:0}.analysis-summary p{color:#666;line-height:1.6;margin:0}.allergen-warnings{background:#fff3cd;border-left:4px solid #ff9800;border-radius:8px;margin-bottom:30px;padding:20px}.allergen-warnings h3{color:#856404;margin-top:0}.allergen-possibility-notice{background:linear-gradient(135deg,#fff8e1,#fff3cd);border:1px solid #ffc107;border-radius:8px;margin-bottom:.75rem;padding:.75rem 1rem}.allergen-possibility-notice strong{color:#e65100;display:block;font-size:.85rem;margin-bottom:.25rem}.allergen-possibility-notice p{color:#795548;font-size:.78rem;line-height:1.45;margin:0}.meat-primary-allergen-notice{background:linear-gradient(135deg,#fff5f5,#fee2e2);border:1px solid #fca5a5;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.meat-primary-allergen-notice p{color:#991b1b;font-size:.8rem;line-height:1.5;margin:0}.meat-primary-allergen-notice strong{color:#b91c1c}.pet-analysis-disclaimer{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fbbf24;border-radius:8px;margin-bottom:1rem;padding:.625rem .875rem}.pet-analysis-disclaimer p{color:#92400e;font-size:.78rem;line-height:1.45;margin:0}.pet-analysis-disclaimer strong{color:#b45309}.allergen-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.allergen-tag{background:#ff9800;border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:6px 12px}.ingredients-list-container{margin-bottom:30px}.ingredients-list-container h3{color:#333;margin-bottom:8px}.ingredients-list-container .ingredients-list-hint{color:#555;font-size:.9rem;line-height:1.4;margin-bottom:16px}.ingredients-grid{grid-gap:15px;display:grid;gap:15px}.ingredient-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:15px}.ingredient-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.ingredient-position{background:#667eea;border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:4px 10px}.ingredient-name{color:#333;font-size:16px;font-weight:600}.ingredient-category{background:#e0e0e0;border-radius:12px;font-size:12px;padding:4px 10px;text-transform:capitalize}.ingredient-category.protein{background:#e3f2fd;color:#1976d2}.ingredient-category.carbohydrate{background:#fff3e0;color:#f57c00}.ingredient-category.fat{background:#fce4ec;color:#c2185b}.ingredient-category.mineral,.ingredient-category.vitamin{background:#f3e5f5;color:#7b1fa2}.ingredient-category.additive,.ingredient-category.preservative{background:#ffebee;color:#c62828}.ingredient-percentage{color:#666;font-size:14px;margin-bottom:8px}.ingredient-benefits,.ingredient-concerns{margin-top:10px}.ingredient-benefits strong,.ingredient-concerns strong{color:#333;display:block;font-size:14px;margin-bottom:5px}.ingredient-benefits ul,.ingredient-concerns ul{font-size:14px;margin:0;padding-left:20px}.ingredient-benefits{color:#4caf50}.ingredient-concerns{color:#f44336}.food-identification-card{background:#f7faff;border:1px solid #d8e8ff;border-radius:10px;margin-bottom:20px;padding:16px}.food-identification-card h3{color:#1c4f9a;margin:0 0 10px}.food-identification-grid{grid-gap:8px 14px;color:#263238;display:grid;font-size:14px;gap:8px 14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.analyzer-quick-snapshot{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:22px}.snapshot-item{background:#f8f9fa;border:1px solid #e6e8eb;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px}.snapshot-label{color:#607080;font-size:12px;letter-spacing:.02em;text-transform:uppercase}.snapshot-value{color:#1f2f46;font-size:24px;font-weight:700}.nutritional-breakdown{margin-bottom:30px}.nutritional-breakdown h3{color:#333;margin-bottom:20px}.nutrition-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.nutrition-item{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:5px;padding:15px}.nutrient-name{color:#333;font-weight:600}.nutrient-value{color:#667eea;font-size:18px;font-weight:700}.nutrient-dv{color:#999;font-size:12px}.nutrition-meat-field{background:#fff8e8;border:1px solid #f2d9a6;border-radius:8px;display:flex;flex-direction:column;gap:6px;margin-top:16px;padding:14px 16px}.nutrition-meat-label{color:#7a4f00;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.nutrition-meat-value{color:#5c4200;font-size:14px;line-height:1.4}.analytical-constituents{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:30px;padding:25px}.analytical-constituents h3{color:#333;margin-bottom:20px;margin-top:0}.constituents-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.constituent-item{background:#fff;border-left:4px solid #667eea;border-radius:10px;box-shadow:0 2px 6px #0000001a;padding:20px;text-align:center}.constituent-item.protein{border-left-color:#2196f3}.constituent-item.fat{border-left-color:#f57c00}.constituent-item.fiber{border-left-color:#4caf50}.constituent-item.ash{border-left-color:#9e9e9e}.constituent-item.moisture{border-left-color:#00bcd4}.constituent-item.calcium,.constituent-item.phosphorus{border-left-color:#9c27b0}.constituent-label{color:#666;font-size:13px;font-weight:500;margin-bottom:8px}.constituent-value{color:#333;font-size:28px;font-weight:700}.calculated-metrics{background:linear-gradient(135deg,#667eea15,#764ba215);border:2px solid #667eea30;border-radius:12px;margin-bottom:30px;padding:25px}.calculated-metrics h3{color:#333;margin-bottom:20px;margin-top:0}.metrics-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.metric-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center;transition:transform .2s ease}.metric-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-3px)}.metric-icon{font-size:32px;margin-bottom:10px}.metric-label{color:#666;font-size:13px;font-weight:500;margin-bottom:8px}.metric-value{color:#667eea;font-size:24px;font-weight:700}.metric-note{background:#fff;border-radius:8px;padding:12px;text-align:center}.metric-note small{color:#666;font-size:13px;line-height:1.5}.nutritional-additives{background:#f3e5f5;border-left:4px solid #9c27b0;border-radius:12px;margin-bottom:30px;padding:25px}.nutritional-additives h3{color:#6a1b9a;margin-bottom:20px;margin-top:0}.additives-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.additive-item{align-items:center;background:#fff;border-left:3px solid #9c27b0;border-radius:8px;box-shadow:0 1px 4px #0000001a;display:flex;justify-content:space-between;padding:12px 16px}.additive-item.vitamin{border-left-color:#ff9800}.additive-item.mineral{border-left-color:#4caf50}.additive-name{color:#333;font-size:14px;font-weight:600}.additive-amount{color:#666;font-size:13px;font-weight:500}.composition-section{background:#fff8e1;border-left:4px solid #fbc02d;border-radius:12px;margin-bottom:30px;padding:25px}.composition-section h3{color:#f57f17;margin-bottom:15px;margin-top:0}.composition-text{background:#fff;border:1px solid #ffe082;border-radius:8px;color:#333;font-size:14px;line-height:1.8;padding:15px}.feeding-guidelines{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:12px;margin-bottom:30px;padding:25px}.feeding-guidelines h3{color:#2e7d32;margin-bottom:15px;margin-top:0}.feeding-instructions,.portion-sizes{background:#fff;border-radius:8px;margin-bottom:15px;padding:15px}.feeding-instructions:last-child,.portion-sizes:last-child{margin-bottom:0}.feeding-instructions strong,.portion-sizes strong{color:#1b5e20;display:block;font-size:15px;margin-bottom:10px}.portion-sizes ul{color:#333;margin:0;padding-left:20px}.portion-sizes li{line-height:1.5;margin:8px 0}.feeding-instructions p{color:#333;line-height:1.6;margin:0}.recommendations{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;margin-bottom:30px;padding:20px}.recommendations h3{color:#2e7d32;margin-top:0}.recommendations ul{color:#1b5e20;margin:10px 0 0;padding-left:20px}.recommendations li{line-height:1.5;margin:8px 0}.results-actions{border-top:2px solid #f0f0f0;display:flex;gap:15px;justify-content:center;margin-top:30px;padding-top:20px}.action-btn{background:#f0f0f0;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.action-btn:hover{background:#e0e0e0}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.ingredient-scanner-modal{max-height:95vh;padding:20px}.scanner-options{flex-direction:column}.scanner-btn{width:100%}.quality-scores{grid-template-columns:1fr}.constituents-grid{grid-template-columns:repeat(2,1fr)}.additives-grid,.ingredients-grid,.metrics-grid,.nutrition-grid{grid-template-columns:1fr}.results-actions{flex-direction:column}.action-btn{width:100%}.metric-value{font-size:20px}.constituent-value{font-size:24px}}.feeding-recommendation{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ffe0b2;border-radius:12px;margin-bottom:30px;padding:25px}.feeding-recommendation h3{color:#e65100;margin-bottom:5px;margin-top:0}.recommendation-subtitle{color:#ef6c00;font-size:14px;margin-bottom:20px}.metric-card.der{background:#fff;border-left:4px solid #ff9800}.metric-card.portion{background:#fff;border-left:4px solid #4caf50}.feeding-recommendation-enhanced{background:linear-gradient(135deg,#e8f5e9,#c8e6c9 50%,#fff3e0);border:2px solid #a5d6a7;border-radius:16px;padding:28px}.feeding-recommendation-enhanced h3{color:#2e7d32;font-size:1.3rem;margin-bottom:4px}.feeding-recommendation-enhanced .recommendation-subtitle{color:#558b2f;font-size:.88rem;margin-bottom:18px}.feeding-primary-card{align-items:center;background:#fff;border-left:5px solid #4caf50;border-radius:14px;box-shadow:0 3px 12px #4caf5026;display:flex;gap:16px;margin-bottom:14px;padding:20px 24px}.feeding-primary-icon{flex-shrink:0;font-size:2.2rem}.feeding-primary-content{display:flex;flex-direction:column}.feeding-primary-label{color:#666;font-size:.85rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.feeding-primary-value{color:#2e7d32;font-size:1.8rem;font-weight:700;line-height:1.2}.feeding-primary-range{color:#888;font-size:.82rem;margin-top:2px}.feeding-per-meal{align-items:center;background:#fff;border-left:4px solid #ff9800;border-radius:12px;box-shadow:0 2px 8px #ff98001a;display:flex;gap:14px;margin-bottom:18px;padding:16px 20px}.feeding-per-meal-icon{flex-shrink:0;font-size:1.6rem}.feeding-per-meal-content{display:flex;flex-direction:column}.feeding-per-meal-label{color:#888;font-size:.82rem;font-weight:500}.feeding-per-meal-value{color:#e65100;font-size:1.25rem;font-weight:700}.feeding-energy-breakdown{background:#ffffffbf;border-radius:12px;margin-bottom:14px;padding:18px 20px}.feeding-energy-breakdown h4{color:#555;font-size:.9rem;font-weight:600;margin:0 0 12px}.feeding-energy-steps{display:flex;flex-direction:column;gap:8px}.energy-step{align-items:center;background:#ffffffb3;border-radius:8px;display:flex;font-size:.88rem;justify-content:space-between;padding:8px 12px}.energy-step-highlight{background:#4caf501a;border:1px solid #4caf5040}.energy-step-label{color:#555;flex:1 1;font-weight:500}.energy-step-value{color:#333;font-weight:700;margin:0 12px;min-width:100px;text-align:right}.energy-step-highlight .energy-step-value{color:#2e7d32}.energy-step-formula{color:#999;font-size:.76rem;font-style:italic;min-width:100px;text-align:right}.energy-step-formula sup{font-size:.65rem}.feeding-weight-note{background:#fff8e1;border-left:3px solid #ffc107;border-radius:8px;color:#5d4037;font-size:.82rem;line-height:1.4;margin-bottom:12px;padding:10px 14px}.feeding-weight-note strong{color:#f57f17}.feeding-tips{margin-top:4px}.feeding-tips p{color:#777;font-size:.82rem;line-height:1.4;margin:0}@media (max-width:480px){.feeding-primary-value{font-size:1.5rem}.feeding-per-meal-value{font-size:1.1rem}.energy-step{flex-wrap:wrap;gap:2px}.energy-step-formula,.energy-step-value{min-width:auto}.energy-step-formula{padding-left:0;text-align:left;width:100%}}.pet-allergen-analysis{border:2px solid;border-radius:16px;margin-bottom:30px;padding:25px}.pet-allergen-analysis.risk-high{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#ef5350}.pet-allergen-analysis.risk-medium{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-color:#ffb300}.pet-allergen-analysis.risk-low{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#66bb6a}.pet-allergen-analysis.risk-unknown{background:linear-gradient(135deg,#f5f5f5,#eee);border-color:#9e9e9e}.allergen-analysis-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.allergen-analysis-header h3{color:#333;font-size:20px;margin:0}.risk-badge{border-radius:20px;font-size:14px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.risk-badge.high{animation:pulse-danger 2s infinite;background:#ef5350;color:#fff}.risk-badge.medium{background:#ffb300;color:#333}.risk-badge.low{background:#66bb6a;color:#fff}.risk-badge.unknown{background:#9e9e9e;color:#fff}@keyframes pulse-danger{0%,to{box-shadow:0 0 0 0 #ef535066}50%{box-shadow:0 0 0 8px #ef535000}}.ai-summary{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.ai-summary p{color:#333;font-size:16px;line-height:1.6;margin:0}.symptoms-analyzed{margin-bottom:20px}.symptoms-analyzed h4{color:#333;font-size:16px;margin-bottom:12px}.symptom-tags{display:flex;flex-wrap:wrap;gap:8px}.symptom-tag{background:#fff;border:1px solid #667eea;border-radius:20px;color:#667eea;font-size:13px;font-weight:500;padding:6px 14px}.potential-triggers{margin-bottom:20px}.potential-triggers h4{color:#333;font-size:16px;margin-bottom:15px}.derivative-triggers-primary{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;border-radius:16px;margin-bottom:24px;padding:20px}.derivative-triggers-primary h4{color:#e65100;font-size:18px;font-weight:700;margin-bottom:8px}.derivative-alert-explainer{background:#ffffffb3;border-left:4px solid #ff6d00;border-radius:10px;color:#bf360c;font-size:14px;line-height:1.6;margin-bottom:16px;padding:10px 14px}.derivative-alert-explainer strong{color:#d84315}.trigger-item.derivative-highlight{background:#fff8e1;border-left-color:#ff6d00;border-left-width:6px;box-shadow:0 3px 10px #ff980033}.other-triggers-secondary{margin-top:16px}.other-triggers-secondary h4{color:#555;font-size:15px;font-weight:600}.triggers-list{display:flex;flex-direction:column;gap:12px}.trigger-item{background:#fff;border-left:5px solid;border-radius:12px;box-shadow:0 2px 6px #0000001a;padding:18px}.trigger-item.concern-avoid{border-left-color:#ef5350}.trigger-item.concern-caution{border-left-color:#ffb300}.trigger-item.concern-watch{border-left-color:#29b6f6}.trigger-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.trigger-ingredient{color:#333;font-size:16px;font-weight:700}.concern-badge{border-radius:15px;font-size:12px;font-weight:600;padding:4px 12px}.concern-badge.avoid{background:#ffebee;color:#c62828}.concern-badge.caution{background:#fff8e1;color:#f57f17}.concern-badge.watch{background:#e3f2fd;color:#1565c0}.trigger-reason{color:#555;font-size:14px;line-height:1.5;margin:0 0 10px}.trigger-symptoms{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.symptoms-label{color:#666;font-size:12px;font-weight:500}.related-symptom{background:#f0f0f0;border-radius:12px;color:#555;font-size:12px;padding:3px 10px}.ingredient-matches{margin-bottom:20px}.ingredient-matches h4{color:#333;font-size:16px;margin-bottom:15px}.matches-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.match-item{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:15px}.match-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.match-position{background:#667eea;border-radius:10px;color:#fff;font-size:11px;font-weight:700;padding:3px 8px}.match-name{color:#333;font-size:14px;font-weight:600}.match-details{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.match-allergen{color:#666;font-size:13px}.match-allergen strong{color:#d32f2f}.match-percentage{background:#e3f2fd;border-radius:10px;color:#1976d2;font-size:12px;font-weight:500;padding:2px 8px}.match-symptoms{display:flex;flex-wrap:wrap;gap:5px}.match-symptom-tag{background:#fce4ec;border-radius:12px;color:#c2185b;font-size:11px;font-weight:500;padding:3px 10px}.symptom-notes{background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000001a;margin-bottom:20px;padding:20px}.symptom-notes h4{color:#333;font-size:16px;margin-bottom:15px;margin-top:0}.notes-list{display:flex;flex-direction:column;gap:12px}.note-item{background:#f8f9fa;border-left:3px solid #667eea;border-radius:8px;padding:12px}.note-symptom{color:#667eea;display:block;font-weight:600;margin-bottom:5px;text-transform:capitalize}.note-text{color:#555;font-size:14px;line-height:1.5}.safe-ingredients{margin-bottom:20px}.safe-ingredients h4{color:#333;font-size:16px;margin-bottom:12px}.safe-tags{display:flex;flex-wrap:wrap;gap:8px}.safe-tag{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:20px;color:#2e7d32;font-size:13px;font-weight:500;padding:6px 14px}.allergen-recommendations{background:#fff;border-left:4px solid #667eea;border-radius:12px;margin-bottom:15px;padding:20px}.allergen-recommendations h4{color:#333;font-size:16px;margin-bottom:12px;margin-top:0}.allergen-recommendations ul{color:#444;margin:0;padding-left:20px}.allergen-recommendations li{line-height:1.5;margin:8px 0}.alternative-suggestions{background:#fff;border-left:4px solid #ff9800;border-radius:12px;padding:20px}.alternative-suggestions h4{color:#e65100;font-size:16px;margin-bottom:12px;margin-top:0}.alternative-suggestions ul{color:#555;margin:0;padding-left:20px}.alternative-suggestions li{line-height:1.5;margin:8px 0}.no-symptoms-notice{background:#fff;border:2px dashed #bdbdbd;border-radius:12px;padding:20px;text-align:center}.no-symptoms-notice p{color:#666;line-height:1.6;margin:0}.meat-derivatives-summary{border:2px solid;border-radius:16px;margin-bottom:30px;padding:25px}.meat-derivatives-summary.concern-high{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#ef5350}.meat-derivatives-summary.concern-moderate{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-color:#ffb300}.meat-derivatives-summary.concern-low{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#66bb6a}.meat-derivatives-summary.concern-none{background:linear-gradient(135deg,#f5f5f5,#eee);border-color:#bdbdbd}.derivatives-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.derivatives-header h3{color:#333;font-size:20px;margin:0}.derivatives-concern-badge{border-radius:20px;font-size:14px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.derivatives-concern-badge.high{background:#ef5350;color:#fff}.derivatives-concern-badge.moderate{background:#ffb300;color:#333}.derivatives-concern-badge.low{background:#66bb6a;color:#fff}.derivatives-concern-badge.none{background:#bdbdbd;color:#fff}.derivatives-overview{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.derivatives-stat{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex:1 1;min-width:140px;padding:16px 24px;text-align:center}.stat-number{color:#667eea;display:block;font-size:32px;font-weight:700;line-height:1;margin-bottom:6px}.stat-label{color:#666;display:block;font-size:13px;font-weight:500}.primary-meats{margin-bottom:20px}.primary-meats h4{color:#2e7d32;font-size:15px;margin-bottom:10px}.meat-tags{display:flex;flex-wrap:wrap;gap:8px}.meat-tag.primary{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:20px;color:#2e7d32;font-size:13px;font-weight:500;padding:6px 14px}.derivatives-list{margin-top:15px}.derivatives-list h4{color:#c62828;font-size:15px;margin-bottom:12px}.derivatives-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.derivative-item{background:#fff;border-left:4px solid #ff8a65;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:15px}.derivative-item-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.derivative-position{background:#ff8a65;border-radius:10px;color:#fff;font-size:11px;font-weight:700;padding:3px 8px}.derivative-name{color:#333;font-size:14px;font-weight:600}.derivative-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.derivative-type-badge{background:#fff3e0;border-radius:12px;color:#e65100;font-size:11px;font-weight:600;padding:3px 10px;text-transform:capitalize}.derivative-type-badge.generic{background:#ffebee;color:#c62828}.derivative-type-badge.unspecified_declaration{background:#3d1a1a;color:#ffccbc;text-transform:none}.derivatives-tier-note{color:#555;font-size:13px;line-height:1.45;margin:0 0 12px}.derivatives-list-primary{margin-bottom:20px}.derivatives-list-secondary h4{color:#444}.derivative-type-badge.by-product{background:#fce4ec;color:#ad1457}.derivative-type-badge.meal{background:#fff8e1;color:#f57f17}.derivative-type-badge.digest{background:#fbe9e7;color:#bf360c}.derivative-type-badge.hydrolyzed{background:#e3f2fd;color:#1565c0}.derivative-type-badge.fat,.derivative-type-badge.rendered{background:#fff3e0;color:#e65100}.derivative-type-badge.broth{background:#e0f7fa;color:#00695c}.derivative-source{color:#666;font-size:12px;font-weight:500}.derivative-quality-note{color:#666;font-size:13px;font-style:italic;line-height:1.4;margin:4px 0 0}.full-ingredients-section{margin-bottom:30px}.full-ingredients-toggle{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #90caf9;border-radius:10px;color:#1565c0;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:14px 20px;transition:all .3s ease;width:100%}.full-ingredients-toggle:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);box-shadow:0 3px 8px #1565c033;transform:translateY(-1px)}.toggle-arrow{font-size:12px;transition:transform .3s ease}.toggle-arrow.open{transform:rotate(180deg)}.full-ingredients-list{animation:slideDown .3s ease;background:#fff;border:2px solid #90caf9;border-radius:0 0 10px 10px;border-top:none;padding:20px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:2000px;opacity:1}}.full-list-note{color:#666;font-size:13px;font-style:italic;margin:0 0 15px}.full-list-ordered{color:#333;column-count:2;column-gap:30px;margin:0;padding-left:30px}.full-list-ordered li{break-inside:avoid;font-size:14px;line-height:1.5;margin:6px 0;padding:4px 0;page-break-inside:avoid}.meat-highlight-legend{background:#f5f5f5;border-radius:8px;color:#555;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem;margin-bottom:12px;padding:8px 12px}.meat-highlight-legend .legend-primary{color:#2e7d32;font-weight:600}.meat-highlight-legend .legend-derivative{color:#e65100;font-weight:600}.ingredient-item.is-primary-meat{background:linear-gradient(135deg,#e8f5e9,#c8e6c9 20%,#f8f9fa);border-left-color:#43a047}.ingredient-primary-meat-badge{background:linear-gradient(135deg,#66bb6a,#43a047);border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.full-list-ordered li.is-primary-meat,.inline-primary-meat-badge{color:#2e7d32;font-weight:600}.inline-primary-meat-badge{background:#e8f5e9;border-radius:10px;display:inline-block;font-size:10px;letter-spacing:.3px;margin-left:6px;padding:1px 8px;text-transform:uppercase;vertical-align:middle}.full-list-ordered li.is-derivative{color:#e65100;font-weight:500}.inline-derivative-badge{background:#fff3e0;border-radius:10px;color:#e65100;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;margin-left:6px;padding:1px 8px;text-transform:uppercase;vertical-align:middle}.ingredient-item.is-derivative{background:linear-gradient(135deg,#fff3e0,#ffe0b2 20%,#f8f9fa);border-left-color:#ff8a65}.ingredient-derivative-badge{background:linear-gradient(135deg,#ff8a65,#ff7043);border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;text-transform:capitalize;white-space:nowrap}.ingredient-source-animal{color:#666;font-size:13px;margin-bottom:6px;padding-left:2px}.ingredient-source-animal strong{color:#e65100;text-transform:capitalize}@media (max-width:768px){.allergen-analysis-header{align-items:flex-start;flex-direction:column}.allergen-analysis-header h3{font-size:18px}.matches-grid{grid-template-columns:1fr}.derivatives-header,.match-details,.trigger-header{align-items:flex-start;flex-direction:column}.derivatives-overview{flex-direction:column}.derivatives-grid{grid-template-columns:1fr}.full-list-ordered{column-count:1}.derivatives-header h3{font-size:18px}}.notifications-page{box-sizing:border-box;margin:0 auto;max-width:700px;padding:1rem 1rem calc(80px + env(safe-area-inset-bottom));width:100%}.notifications-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.notifications-page h1{color:#5a7d7c;margin:0;text-align:center}.mark-all-read-btn{background-color:#5a7d7c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.mark-all-read-btn:hover{background-color:#4a6d6c}.notifications-list{display:flex;flex-direction:column;gap:1rem}.notification-item{align-items:flex-start;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.notification-item.unread{background-color:#f8f9fa;border-left:4px solid #5a7d7c}.notification-item.read{opacity:.7}.notification-item.success{background-color:#d4edda;border-left:5px solid #28a745}.notification-item.info{background-color:#d1ecf1;border-left:5px solid #17a2b8}.notification-item.warning{background-color:#fff3cd;border-left:5px solid #ffc107}.notification-content{flex:1 1}.notification-content p{color:#333;margin:0 0 .5rem}.notification-time{color:#666;font-size:.8rem}.notification-actions{align-items:center;display:flex;gap:.5rem}.notification-action-btn{align-items:center;background:none;border:none;color:#5a7d7c;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:0}.notification-action-btn:hover{color:#4a6d6c}.notification-action-btn.delete{color:#dc3545}.notification-action-btn.delete:hover{color:#c82333}.settings-page{box-sizing:border-box;margin:0 auto;max-width:700px;padding:1rem 1rem calc(80px + env(safe-area-inset-bottom));width:100%}.settings-page h1{color:#5a7d7c;margin-bottom:2rem;text-align:center}.settings-section{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:2rem;padding:1.5rem}.settings-section h2{border-bottom:1px solid #e9ecef;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.settings-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.settings-item label{font-weight:500}.settings-item input[type=text]{background-color:#f8f9fa;border:1px solid #ccc;border-radius:8px;padding:.5rem}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:#5a7d7c}input:focus+.slider{box-shadow:0 0 1px #5a7d7c}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.edit-profile-settings-btn{background:#5a7d7c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem 1.25rem;transition:background-color .2s}.edit-profile-settings-btn:hover{background:#4a6d6c}.logout-button{background-color:#ff6961;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:background-color .2s;width:100%}.logout-button:hover{background-color:#e05a54}.recurring-foods-list{display:flex;flex-direction:column;gap:1rem}.recurring-food-item{align-items:center;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.recurring-food-item:hover{border-color:#5a7d7c;box-shadow:0 2px 8px #0000000d}.recurring-food-info{display:flex;flex-direction:column;gap:.5rem}.recurring-food-info strong{color:#343a40;font-size:1rem}.recurring-time{align-items:center;color:#6c757d;display:flex;font-size:.9rem;gap:.5rem}.delete-recurring-button{align-items:center;background-color:#ff6961;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.6rem .8rem;transition:background-color .2s}.delete-recurring-button:hover{background-color:#e05a54}.no-recurring-message{background-color:#f8f9fa;border-radius:12px;color:#6c757d;padding:1.5rem;text-align:center}.pet-info-container{align-items:center;background:linear-gradient(180deg,#c8d5b9,#e8efe0);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:1rem;width:100%}.pet-info-wrapper{background-color:#fff;border-radius:20px;box-shadow:0 4px 12px #0000001a;max-width:500px;padding:2rem;width:100%}.pet-info-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.logo{color:#3e4a3d;font-size:1.2rem;font-weight:700;text-align:left}.pet-info-exit-btn{background:#0000;border:1px solid #999;border-radius:8px;color:#555;cursor:pointer;font-size:.95rem;padding:.5rem 1rem}.pet-info-exit-btn:hover{background:#f5f5f5;border-color:#666;color:#333}.logo img{height:40px;object-fit:contain;width:auto}.logo span{border:2px solid #3e4a3d;border-radius:5px;font-weight:700;margin-right:4px;padding:2px 6px}.progress-section{margin-bottom:2rem;text-align:center}.step-title{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.progress-bar{background-color:#e8e8e8;height:12px}.progress-fill{background:linear-gradient(90deg,#6b9bd1,#8fa88c)}.form-title{color:#333;font-size:1.8rem;font-weight:600;margin:0 0 2rem;text-align:center}.pet-form{gap:1.5rem}.form-group,.pet-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-label{color:#333;font-size:1rem;font-weight:600}.form-input,.form-select{background-color:#f0f0f0;border:none;border-radius:12px;color:#333;font-family:inherit;font-size:1rem;padding:.9rem;transition:background-color .2s ease}.form-input:focus,.form-select:focus{background-color:#e8e8e8;outline:none}.form-input::placeholder{color:#999}.form-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:1.2rem;cursor:pointer;padding-right:2.5rem}.species-buttons{display:flex;gap:1rem}.species-btn{align-items:center;background-color:#f0f0f0;border:none;border-radius:12px;color:#333;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;padding:.9rem;transition:background-color .2s ease,transform .1s ease}.species-btn:hover{background-color:#e8e8e8}.species-btn.active{background-color:#8fa88c;color:#fff}.species-icon{font-size:1.5rem}.gender-buttons{display:flex;gap:1rem}.gender-btn{border:none;border-radius:20px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.9rem;transition:all .2s ease}.gender-btn.male{background-color:#8fa88c4d;color:#5a7d7c}.gender-btn.female{background-color:#6b9bd14d;color:#5a7d9d}.gender-btn.male.active{background-color:#8fa88c;color:#fff}.gender-btn.female.active{background-color:#6b9bd1;color:#fff}.upload-section{margin-top:1rem}.upload-label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}.upload-area{min-height:150px}.upload-area,.upload-placeholder{align-items:center;display:flex;justify-content:center}.upload-placeholder{background-color:#fafafa;border:2px dashed #ccc;border-radius:12px;cursor:pointer;flex-direction:column;gap:.5rem;padding:2rem;transition:all .2s ease;width:100%}.upload-placeholder:hover{background-color:#f5f5f5;border-color:#8fa88c}.upload-icon{font-size:2.5rem}.upload-text{color:#666;font-size:.9rem}.photo-preview{align-items:center;display:flex;flex-direction:column;gap:1rem}.preview-image{border-radius:12px;box-shadow:0 2px 8px #0000001a;height:150px;object-fit:cover;width:150px}.change-photo-btn{background-color:#8fa88c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.5rem;transition:background-color .2s ease}.change-photo-btn:hover{background-color:#7d947a}.form-actions{align-items:center;display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;text-align:center}.next-btn{background-color:#8fa88c;border-radius:30px;display:inline-block;font-size:1.1rem;font-weight:700;max-width:300px;padding:1rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.next-btn:hover:not(:disabled){background-color:#7d947a;box-shadow:0 4px 12px #8fa88c4d}.skip-btn{background-color:initial;border:2px solid #c8c8c8;border-radius:30px;color:#666;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:500;max-width:300px;padding:.75rem 2rem;text-align:center;transition:all .3s ease;width:100%}.skip-btn:hover:not(:disabled){background-color:#8fa88c0d;border-color:#8fa88c;color:#8fa88c}.skip-btn:disabled{cursor:not-allowed;opacity:.5}.skip-hint{color:#999;font-size:.8rem;margin-top:.5rem;text-align:center}@media (max-width:768px){.pet-info-container{padding:.5rem}.pet-info-wrapper{padding:1.5rem}.form-title{font-size:1.5rem}.step-title{font-size:1.2rem}.form-input,.form-select,.gender-btn,.species-btn{font-size:.95rem;padding:.8rem}.next-btn{font-size:1rem;padding:.9rem 2rem}}@media (max-width:480px){.pet-info-wrapper{padding:1rem}.form-title{font-size:1.3rem}.species-buttons{flex-direction:column}.gender-buttons{flex-direction:row}.preview-image{height:120px;width:120px}}*{box-sizing:border-box}button,input,select{-webkit-appearance:none;-moz-appearance:none}button:active{transform:scale(.98)}.bcs-category-selector{display:flex;gap:.5rem;margin-bottom:.75rem}.bcs-category-btn{background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#555;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:.875rem .5rem;transition:all .2s ease}.bcs-category-btn:hover{background:#f8faf8;border-color:#8fa88c}.bcs-category-btn.active{border-width:2px;color:#fff;font-weight:600}.bcs-category-btn.active.underweight{background:linear-gradient(135deg,#64b5f6,#42a5f5);border-color:#42a5f5}.bcs-category-btn.active.just-right{background:linear-gradient(135deg,#81c784,#66bb6a);border-color:#66bb6a}.bcs-category-btn.active.overweight{background:linear-gradient(135deg,#ffb74d,#ffa726);border-color:#ffa726}.detailed-bcs-toggle{background:#0000;border:none;color:#666;cursor:pointer;font-size:.85rem;padding:.5rem 0;text-align:left;width:100%}.detailed-bcs-toggle:hover{color:#8fa88c}.detailed-bcs-section{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:10px;margin-top:.75rem;padding:1rem}.form-label-small{color:#666;display:block;font-size:.85rem;margin-bottom:.5rem}.bcs-detailed-selector{display:flex;gap:.25rem;margin-bottom:.5rem}.bcs-num-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.625rem 0;transition:all .15s ease}.bcs-num-btn:hover{background:#f5f5f5}.bcs-num-btn.active{color:#fff;font-weight:600}.bcs-num-btn.active.underweight{background:#64b5f6;border-color:#42a5f5}.bcs-num-btn.active.ideal{background:#81c784;border-color:#66bb6a}.bcs-num-btn.active.overweight{background:#ffb74d;border-color:#ffa726}.bcs-detailed-labels{color:#888;display:flex;font-size:.75rem;justify-content:space-between;padding:0 .25rem}.delete-pet-form-btn{background:#0000;border:1px solid #ffcdd2;border-radius:10px;color:#c62828;cursor:pointer;font-size:.95rem;font-weight:500;margin-top:.5rem;padding:.75rem;transition:all .2s ease;width:100%}.delete-pet-form-btn:hover{background:#ffebee;border-color:#c62828}.delete-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirm-modal{animation:deleteModalIn .2s ease-out;background:#fff;border-radius:16px;max-width:400px;padding:2rem;text-align:center;width:90%}@keyframes deleteModalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.delete-confirm-icon{align-items:center;background:#ffebee;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1rem;overflow:hidden;width:80px}.delete-pet-photo{height:100%;object-fit:cover;width:100%}.delete-pet-emoji{font-size:2.5rem}.delete-confirm-modal h2{color:#333;font-size:1.35rem;margin:0 0 .75rem}.delete-confirm-warning{color:#555;font-size:.9rem;line-height:1.5;margin:0 0 .5rem}.delete-confirm-irreversible{color:#c62828;font-size:.85rem;font-weight:600;margin:0 0 1.5rem}.delete-confirm-actions{display:flex;gap:.75rem}.delete-confirm-cancel,.delete-confirm-delete{border-radius:10px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.75rem 1rem;transition:background .2s ease}.delete-confirm-cancel{background:#f0f0f0;border:1px solid #ddd;color:#555}.delete-confirm-cancel:hover{background:#e5e5e5}.delete-confirm-delete{background:#c62828;border:none;color:#fff}.delete-confirm-delete:hover{background:#b71c1c}.delete-confirm-cancel:disabled,.delete-confirm-delete:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.bcs-category-btn{font-size:.85rem;padding:.75rem .25rem}.bcs-num-btn{font-size:.8rem;padding:.5rem 0}}.my-pets-page{background-color:#f5f5f5;min-height:100vh;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.my-pets-header{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.my-pets-header h1{color:#333;font-size:1.5rem;margin:0}.back-button{background:none;border:none;color:#5a7d7c;cursor:pointer;font-size:1rem;padding:.5rem}.add-pet-button{background:#5a7d7c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.add-pet-button:hover{background:#4a6d6c}.my-pets-content{margin:0 auto;max-width:1200px;padding:1.5rem}.pets-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.pet-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:1rem;position:relative;transition:all .3s ease}.pet-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.pet-card.active{border:2px solid #5a7d7c;box-shadow:0 4px 12px #5a7d7c4d}.pet-card-image{align-items:center;background:#f0f0f0;border-radius:8px;display:flex;height:200px;justify-content:center;margin-bottom:1rem;overflow:hidden;width:100%}.pet-card-image img{height:100%;object-fit:cover;width:100%}.pet-placeholder{font-size:4rem}.pet-card-info h3{color:#333;font-size:1.25rem;margin:0 0 .5rem}.pet-card-info p{color:#666;font-size:.9rem;margin:.25rem 0}.pet-details{color:#999!important;font-size:.85rem!important}.active-badge{background:#5a7d7c;border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;margin-top:.5rem;padding:.25rem .75rem}.pet-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.allergy-quiz-btn,.edit-pet-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;min-width:0;padding:.4rem .75rem}.edit-pet-btn{background:#5a7d7c;color:#fff}.edit-pet-btn:hover{background:#4a6d6c}.allergy-quiz-btn{background:#e8f5e9;color:#2e7d32}.allergy-quiz-btn:hover{background:#c8e6c9}.no-pets{padding:3rem 1rem;text-align:center}.no-pets p{color:#666;font-size:1.1rem;margin-bottom:1.5rem}.add-first-pet-btn{background:#5a7d7c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem}.add-first-pet-btn:hover{background:#4a6d6c}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;position:relative;width:90%}.modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:2rem;line-height:1;padding:.25rem;position:absolute;right:1rem;top:1rem}.modal-close:hover{color:#333}.modal-content h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.error-message{background:#ffebee;margin-bottom:1rem;padding:.75rem}.add-pet-form .form-group{margin-bottom:1.5rem}.add-pet-form label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.add-pet-form input,.add-pet-form select{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.gender-buttons,.species-buttons{display:flex;gap:1rem}.gender-btn,.species-btn{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;padding:1rem;transition:all .3s ease}.gender-btn.active,.species-btn.active{background:#e8f4f3;border-color:#5a7d7c}.species-icon{font-size:2rem}.modal-form-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-button{border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem}.modal-button-cancel{background:#f0f0f0;border:1px solid #ddd;color:#555}.modal-button-cancel:hover{background:#e5e5e5}.modal-button-primary{background:#5a7d7c;border:none;color:#fff}.modal-button-primary:hover{background:#4a6d6c}.modal-button-primary:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.pets-grid{grid-template-columns:1fr}}.allergy-quiz-container{align-items:center;background:linear-gradient(135deg,#c4dcc4,#b8d4b8);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.allergy-quiz-wrapper{max-width:500px;width:100%}.quiz-header{margin-bottom:1rem;text-align:center}.quiz-header .logo img{height:auto;max-width:200px}.vet-badge{background-color:#6b8e6b;border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;padding:.4rem 1rem;text-transform:uppercase}.quiz-title{color:#2d3e2d;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;text-align:left}.quiz-card{background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:2rem}.quiz-progress-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.page-indicator{color:#666;font-size:.85rem;font-weight:500}.restart-btn{background:#0000;border:none;color:#666;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline;transition:color .2s}.restart-btn:hover{color:#333}.progress-bar-container{margin-bottom:2rem}.progress-bar{background-color:#e0e0e0;border-radius:10px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#6b8e6b,#5a7a5a);border-radius:10px;height:100%;transition:width .3s ease}.question-section{margin-bottom:2rem}.section-header{border-bottom:2px solid #e0e0e0;color:#2d3e2d;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.question-text{color:#333;font-size:1.15rem;font-weight:500;line-height:1.6;margin:0}.answer-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.answer-btn{border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;min-width:120px;padding:1rem 1.5rem;transition:all .2s ease}.answer-btn:disabled{cursor:not-allowed;opacity:.6}.yes-btn{background-color:#6b9bd1}.yes-btn:hover:not(:disabled){background-color:#5a8ac0;box-shadow:0 4px 12px #6b9bd14d;transform:translateY(-2px)}.sometimes-btn{background-color:#6b8e6b}.sometimes-btn:hover:not(:disabled){background-color:#5a7a5a;box-shadow:0 4px 12px #6b8e6b4d;transform:translateY(-2px)}.no-btn{background-color:initial;border:2px solid #ccc;color:#333}.no-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#999;transform:translateY(-2px)}.quiz-navigation{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding-top:1rem}.back-btn{background:#0000;border:none;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:color .2s}.back-btn:hover:not(:disabled){color:#333}.back-btn:disabled{cursor:not-allowed;opacity:.4}.next-btn{background-color:#b87a4b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.next-btn:hover:not(:disabled){background-color:#a56a3b;box-shadow:0 4px 12px #b87a4b4d;transform:translateY(-2px)}.next-btn:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#ffebee;border-radius:8px;color:#c62828;font-size:.9rem;margin:1rem 0;padding:1rem}.quiz-footer{align-items:center;color:#5a7a5a;display:flex;flex-direction:column;font-size:.85rem;gap:.75rem;margin-top:2rem;text-align:center}.skip-quiz-btn{background:#0000;border:2px solid #8b9d7e;border-radius:25px;color:#5a7a5a;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.5rem;transition:all .2s ease}.skip-quiz-btn:hover{background:#8b9d7e;color:#fff;transform:translateY(-1px)}.quiz-loading-spinner{animation:quizSpin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#6b8e6b;height:40px;width:40px}@keyframes quizSpin{to{transform:rotate(1turn)}}@media (max-width:600px){.allergy-quiz-container{padding:1rem}.quiz-card{padding:1.5rem}.quiz-title{font-size:1.5rem}.question-text{font-size:1rem}.answer-buttons{flex-direction:column}.answer-btn{min-width:auto;width:100%}.quiz-navigation{flex-direction:column;gap:1rem}.back-btn,.next-btn{width:100%}}