body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.achievement-notification{animation-fill-mode:both;animation-play-state:running!important;background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #fff3;border-radius:12px;box-shadow:0 6px 24px #0000004d,0 0 0 1px #ffffff1a;isolation:isolate;opacity:0;overflow:hidden;pointer-events:auto;position:fixed!important;top:20px;transform:translateX(100%);transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:280px;will-change:transform,opacity;z-index:2147483647}.achievement-notification.visible{opacity:1;transform:translateX(0)}.achievement-notification.visible:before{background:#0000;bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:2147483646}.achievement-notification.visible{animation:none!important;transition:all .4s cubic-bezier(.175,.885,.32,1.275)!important}.achievement-notification.leaving{opacity:0;transform:translateX(100%);transition:all .3s ease-in}.achievement-notification-content{color:#fff;padding:16px;position:relative}.achievement-header{align-items:flex-start;justify-content:space-between;margin-bottom:15px}.achievement-badge{align-items:center;display:flex;position:relative}.achievement-icon{animation:pulse 2s infinite;color:#fff;font-weight:700;height:50px;position:relative;width:50px}.achievement-sparkles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.sparkle{animation:sparkle 1.5s ease-in-out infinite;font-size:16px;position:absolute}.sparkle-1{animation-delay:0s;right:-5px;top:-5px}.sparkle-2{animation-delay:.5s;bottom:-5px;left:-5px}.sparkle-3{animation-delay:1s;right:-10px;top:50%}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5) rotate(0deg)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:30px;justify-content:center;transition:all .2s ease;width:30px}.close-button:hover{background:#ffffff4d;transform:scale(1.1)}.achievement-info{text-align:left}.achievement-title{animation:slideInUp .6s ease-out .2s both;font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:8px;opacity:.9;text-transform:uppercase}.achievement-name{animation:slideInUp .6s ease-out .3s both;font-size:18px;font-weight:700;margin-bottom:6px}.achievement-description{animation:slideInUp .6s ease-out .4s both;font-size:14px;line-height:1.4;margin-bottom:10px;opacity:.9}.achievement-tier{animation:slideInUp .6s ease-out .5s both;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.achievement-reward{animation:slideInUp .6s ease-out .6s both,glow 2s infinite;background:#fff3;border-radius:20px;display:inline-block;font-weight:600}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 5px #ffffff4d}50%{box-shadow:0 0 15px #fff9,0 0 25px #ffffff4d}}@media (max-width:768px){.achievement-notification{bottom:calc(84px + env(safe-area-inset-bottom, 0px));left:10px;max-width:none;right:10px;top:auto;width:auto}.achievement-notification-content{padding:18px 18px 20px}.achievement-icon{font-size:25px;height:54px;width:54px}.achievement-name{font-size:18px}.achievement-description{margin-bottom:12px}.achievement-reward{padding:10px 13px}}body.ui-touch .achievement-notification{bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important;left:10px!important;max-width:none!important;right:10px!important;top:auto!important;width:auto!important}body.ui-touch .achievement-notification-content{min-height:138px}.sidebar{background:#144d29!important;border-right:1px solid #0d3319;color:#fff;display:flex;flex-direction:column;height:100vh;position:fixed;transform:translateX(0);transition:transform .24s ease,box-shadow .24s ease;width:220px!important;z-index:1100}.nav-list{flex:1 1;list-style:none;margin:0;padding:56px 0 0}.nav-list li{cursor:pointer;margin:0;transition:all .2s ease}.nav-list li a{align-items:center;color:#fff;display:flex;padding:12px 20px;position:relative;text-decoration:none;transition:all .2s ease}.nav-list li a:hover{background:#1e6b3a;color:#fff}.nav-list li.active a{background:#4caf50;border-bottom-right-radius:8px;border-top-right-radius:8px;color:#fff;font-weight:700}.nav-list li.active a:before{background:#fff;border-bottom-right-radius:2px;border-top-right-radius:2px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.nav-icon{font-size:18px;margin-right:12px;text-align:center;width:20px}.nav-text{font-size:14px;font-weight:500}.nav-separator-line{background:#4caf50;height:1px;margin:15px 20px}.nav-list li.ai-assistant a{background:#ff98001a;border-left:3px solid #ff9800;border-radius:0 8px 8px 0;margin-left:17px}.nav-list li.ai-assistant a:hover{background:#ff980033;color:#fff}.nav-list li.ai-assistant.active a{background:#ff9800;color:#fff;font-weight:700}.nav-list li.achievements a{background:#ffc1071a;border-left:3px solid #ffc107;border-radius:0 8px 8px 0;margin-left:17px}.nav-list li.achievements a:hover{background:#ffc10733;color:#fff}.nav-list li.achievements.active a{background:#ffc107;color:#fff;font-weight:700}.nav-list li.leaderboard a{background:#ffc1071a;border-left:3px solid #ffc107;border-radius:0 8px 8px 0;margin-left:17px}.nav-list li.leaderboard a:hover{background:#ffc10733;color:#fff}.nav-list li.leaderboard.active a{background:#ffc107;color:#fff;font-weight:700}.nav-list li.ai-assistant .nav-icon{color:#ff9800}.nav-list li.achievements .nav-icon,.nav-list li.leaderboard .nav-icon{color:#ffc107}.nav-list li.achievements.active .nav-icon,.nav-list li.ai-assistant.active .nav-icon,.nav-list li.leaderboard.active .nav-icon{color:inherit}@media (max-width:768px){.sidebar{box-shadow:12px 0 30px #0f172a3d;max-width:320px;padding-bottom:20px;width:min(84vw,320px)!important}.nav-list{overflow-y:auto;padding-top:72px}.nav-list li a{font-size:15px;padding:14px 18px}.nav-icon{font-size:17px;margin-right:10px}.nav-text{font-size:15px}.nav-separator-line{margin:12px 18px}.nav-list li.achievements a,.nav-list li.ai-assistant a,.nav-list li.leaderboard a{margin-left:12px}}.streak-display{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 15px #0000001a;color:#fff;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.streak-display:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.streak-display.secure{animation:secureStreakGlow 3s ease-in-out infinite;background:linear-gradient(135deg,#ff6b35,#f7931e 50%,gold);box-shadow:0 4px 20px #ff6b354d}.streak-display.inactive{background:linear-gradient(135deg,#6b7280,#9ca3af);box-shadow:0 4px 15px #6b728033;opacity:.8}.streak-header{align-items:center;display:flex;margin-bottom:16px}.streak-icon{margin-right:12px;position:relative}.fire-icon{animation:pulse 2s infinite;font-size:32px}.fire-icon.glowing{animation:fireGlow 1.5s ease-in-out infinite,streakActivated 3s ease-out;filter:drop-shadow(0 0 10px #ff6b35)}.fire-icon.secure-glow{animation:secureGlow 2s ease-in-out infinite;filter:drop-shadow(0 0 15px #ff6b35) drop-shadow(0 0 25px #f7931e)}.gray-fire-icon{filter:grayscale(100%);font-size:32px;opacity:.3}.gray-fire-icon.inactive-fire{filter:grayscale(80%) brightness(.7);opacity:.5}.streak-info{flex:1 1}.streak-number{font-size:28px;font-weight:700;line-height:1;margin-bottom:2px}.streak-number.inactive-number{color:#d1d5db;opacity:.7}.streak-label{font-size:14px;font-weight:500;opacity:.9}.streak-calendar{display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.streak-day{border-radius:8px;flex:1 1;padding:8px 4px;position:relative;text-align:center;transition:all .3s ease}.streak-day.completed{background:#fff3;border:1px solid #ffffff4d}.streak-day.incomplete{background:#ffffff1a;border:1px solid #fff3}.streak-day.active{animation:activeGlow 2s ease-in-out infinite;background:linear-gradient(135deg,#ff6b35,#f7931e);box-shadow:0 0 15px #ff6b3580}.streak-day.active,.streak-day.today{border:2px solid #fff}.day-name{font-size:10px;opacity:.9}.day-icon{font-size:16px}.fire-small{animation:smallPulse 1.5s infinite}.fire-small.glowing{animation:smallFireGlow 1s ease-in-out infinite;filter:drop-shadow(0 0 5px #ff6b35)}.gray-fire-small{filter:grayscale(100%);opacity:.3}.streak-message{margin-top:8px;text-align:center}.streak-encouragement{animation:encouragementPulse 2s ease-in-out infinite;background:#fff3;color:#fff}.streak-encouragement,.streak-warning{border-radius:12px;font-size:12px;font-weight:600;padding:4px 8px}.streak-warning{animation:warningPulse 2s ease-in-out infinite;background:#fbbf2433;color:#fbbf24}@keyframes fireGlow{0%,to{filter:drop-shadow(0 0 10px #ff6b35);transform:scale(1)}50%{filter:drop-shadow(0 0 20px #ff6b35) drop-shadow(0 0 30px #f7931e);transform:scale(1.1)}}@keyframes secureGlow{0%,to{filter:drop-shadow(0 0 15px #ff6b35) drop-shadow(0 0 25px #f7931e);transform:scale(1)}50%{filter:drop-shadow(0 0 25px #ff6b35) drop-shadow(0 0 35px #f7931e) drop-shadow(0 0 45px #ffd700);transform:scale(1.05)}}@keyframes activeGlow{0%,to{box-shadow:0 0 15px #ff6b3580}50%{box-shadow:0 0 25px #ff6b35cc}}@keyframes smallPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes smallFireGlow{0%,to{filter:drop-shadow(0 0 5px #ff6b35)}50%{filter:drop-shadow(0 0 10px #ff6b35)}}@keyframes encouragementPulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes warningPulse{0%,to{background:#fbbf2433;opacity:.8}50%{background:#fbbf244d;opacity:1}}@keyframes secureStreakGlow{0%,to{box-shadow:0 4px 20px #ff6b354d}50%{box-shadow:0 6px 30px #ff6b3580,0 0 40px #ffd7004d}}@keyframes streakActivated{0%{filter:drop-shadow(0 0 10px #ff6b35);transform:scale(1)}25%{filter:drop-shadow(0 0 20px #ff6b35) drop-shadow(0 0 30px #f7931e);transform:scale(1.3)}50%{filter:drop-shadow(0 0 25px #ff6b35) drop-shadow(0 0 35px #f7931e) drop-shadow(0 0 45px #ffd700);transform:scale(1.2)}75%{filter:drop-shadow(0 0 15px #ff6b35) drop-shadow(0 0 25px #f7931e);transform:scale(1.1)}to{filter:drop-shadow(0 0 10px #ff6b35);transform:scale(1)}}@media (max-width:768px){.streak-display{padding:16px}.streak-number{font-size:24px}.fire-icon{font-size:28px}.streak-calendar{gap:4px}.streak-day{padding:6px 2px}.day-name{font-size:9px}.day-icon{font-size:14px}}:root{--brand-color:#1f6f3c;--accent:#2e7d32;--muted:#94a3b8;--white:#fff}.app-header{background:#2e7d32;box-shadow:0 2px 8px #1018280f;box-sizing:border-box;font-family:Inter,Arial,sans-serif;height:56px;height:var(--header-height);justify-content:space-between;left:0;padding:8px 18px;position:fixed;right:0;top:0;z-index:1200}.app-header,.header-left{align-items:center;display:flex;gap:12px}.burger-btn{background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:20px;line-height:1;padding:8px}.burger-btn:focus{outline:2px solid #2d7d322e}.brand{display:flex;flex-direction:column;line-height:1}.brand-title{color:#fff;font-size:16px;font-weight:700}.brand-sub{color:#fffc;font-size:12px;margin-top:2px}.header-right{align-items:center;display:flex;gap:12px}.icon-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;justify-content:center;padding:8px;position:relative}.icon-btn:hover,.icon-oval{background:#ffffff1a}.icon-oval{align-items:center;border:1px solid #fff3;border-radius:8px;cursor:pointer;display:flex!important;flex-direction:column;gap:0;height:auto;justify-content:center;padding:6px 8px;position:relative;transition:all .3s ease;width:100px}.icon-oval:hover{background:#fff3;border-color:#ffffff4d}.icon-emoji{font-size:14px}.achievement-header{gap:1px;margin-bottom:1px}.badge-number{color:#fff;font-size:14px;font-weight:700;line-height:1}.achievement-label{color:#fff;font-size:9px;line-height:1;margin-top:-6px;opacity:.8;text-align:center}.notification-btn{padding:10px}.notification-btn:hover{background:#ffffff1a;border-radius:8px}.profile-wrap{position:relative}.profile-btn{align-items:center;background:#4caf50;border:2px solid #ffffff4d;border-radius:999px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;height:40px;justify-content:center;overflow:hidden;width:40px}.profile-picture{border-radius:50%;height:100%;object-fit:cover;width:100%}.profile-btn:focus{outline:2px solid #2d7d322e}.profile-menu{background:#fff;border-radius:10px;box-shadow:0 8px 20px #0f172a1f;display:flex;flex-direction:column;min-width:140px;overflow:hidden;position:absolute;right:0;top:62px;top:calc(var(--header-height) + 6px);z-index:1250}.profile-menu-item{background:#0000;border:none;color:#111827;cursor:pointer;font-size:14px;padding:10px 12px;text-align:left}.profile-menu-item:hover{background:#0f172a08}.sr-only{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;white-space:nowrap;width:1px}@media (max-width:768px){.app-header{border-bottom:1px solid #ffffff1f;height:60px;padding:8px 12px}.brand-sub{display:none}.brand-title{font-size:15px}.header-left{gap:8px;min-width:0}.brand{min-width:0}.header-right{gap:6px}.icon-oval{display:none!important}.navbar-streak-container{display:none}.profile-btn{font-size:14px;height:36px;width:36px}.notification-btn{padding:8px}.notification-btn svg{height:16px;width:16px}}@media (max-width:480px){.app-header{gap:8px;padding:8px 10px}.brand-title{font-size:14px}.profile-btn{font-size:12px;height:32px;width:32px}.notification-btn{padding:6px}.notification-btn svg{height:14px;width:14px}.header-right{gap:4px}.burger-btn,.notification-btn{padding:7px}}.navbar-streak-container{align-items:center;display:flex}.navbar-streak-container .streak-display{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;cursor:pointer;min-width:100px;padding:7px 12px;transition:all .3s ease}.navbar-streak-container .streak-display:hover{background:#fff3;border-color:#ffffff4d}.navbar-streak-container .streak-header{align-items:center;display:flex;margin-bottom:4px}.navbar-streak-container .streak-icon{margin-right:6px}.navbar-streak-container .fire-icon,.navbar-streak-container .gray-fire-icon{font-size:16px}.navbar-streak-container .streak-number{font-size:14px;font-weight:700;line-height:1}.navbar-streak-container .streak-label{font-size:10px;opacity:.8}.navbar-streak-container .streak-calendar,.navbar-streak-container .streak-message{display:none}@media (max-width:768px){.navbar-streak-container .streak-display{min-width:80px;padding:6px 8px}.navbar-streak-container .streak-number{font-size:12px}.navbar-streak-container .streak-label{font-size:9px}.navbar-streak-container .fire-icon,.navbar-streak-container .gray-fire-icon{font-size:14px}}.notification-btn,.notification-wrap{position:relative}.notification-badge{align-items:center;background:#dc2626;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:8px;font-weight:700;height:16px;justify-content:center;position:absolute;right:-4px;top:-4px;width:16px}.notification-dropdown{animation:slideDown .3s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 20px 40px #00000026;margin-top:12px;overflow:hidden;position:absolute;right:0;top:100%;width:450px;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.notification-header h3{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:18px;font-weight:700;margin:0}.mark-all-read-btn{background:#2e7d32;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.mark-all-read-btn:hover{background:#1b5e20;box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.notification-actions{gap:8px}.no-notification-actions,.notification-actions{align-items:center;display:flex;min-height:32px}.clear-all-notifications-btn{background:#dc2626;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.clear-all-notifications-btn:hover{background:#b91c1c;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.notification-list{max-height:400px;overflow-y:auto}.notification-item{padding:16px 32px}.notification-item.unread{background:#f0f9ff;border-left:3px solid #3b82f6}.notification-title{font-size:13px;margin-bottom:6px}.notification-message{font-size:11px}.notification-time{font-size:10px}.no-notifications{color:#6b7280;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;padding:40px 24px;text-align:center}.no-notifications-icon{font-size:32px;margin-bottom:8px}.no-notifications p{font-size:14px;margin:0}.dark-mode .notification-dropdown{background:var(--bg-card);border-color:var(--border-primary)}.dark-mode .notification-header{border-bottom-color:var(--border-primary)}.dark-mode .notification-header h3{color:var(--text-primary)}.dark-mode .mark-all-read-btn{color:var(--text-secondary)}.dark-mode .mark-all-read-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.dark-mode .notification-item{border-bottom-color:var(--border-primary)}.dark-mode .notification-item:hover{background:var(--bg-hover)}.dark-mode .notification-item.unread{background:#3b82f61a}.dark-mode .notification-title{color:var(--text-primary)}.dark-mode .notification-message{color:var(--text-secondary)}.dark-mode .notification-time{color:var(--text-muted)}.dark-mode .no-notifications{color:var(--text-secondary)}.notifications-modal-overlay{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding-top:80px;position:fixed;right:0;top:0;z-index:1000}.notifications-modal{animation:slideDown .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:600px;overflow:hidden;width:450px}.notifications-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:20px 24px}.notifications-header h2{color:#111827;font-size:18px}.notifications-header-actions{gap:8px}.regular-notifications-section{padding:0}.notification-item{cursor:pointer;padding:16px 24px;position:relative;transition:all .2s ease}.notification-item:hover{background:#f9fafb}.notification-icon{margin-right:12px}.notification-content{min-width:0}.notification-title{color:#111827;font-size:14px;line-height:1.3}.notification-message{color:#6b7280;font-size:12px;line-height:1.5;margin-bottom:4px}.notification-time{font-size:11px}.unread-indicator{background:#2e7d32;border-radius:50%;box-shadow:0 0 0 2px #fff;height:10px;position:absolute;right:20px;top:20px;width:10px}.close-notifications-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:28px;justify-content:center;padding:4px;transition:all .2s ease;width:28px}.close-notifications-btn:hover{background:#0000001a;color:#111827}@media (max-width:768px){.notification-dropdown{right:-20px;width:320px}.notifications-modal{margin:0 5%;width:90%}.notifications-modal-overlay{padding-top:60px}}.dashboard-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:70px 32px 32px;transition:margin-left .3s ease}.dashboard-container.sidebar-open{margin-left:220px}.welcome-row{margin-bottom:8px}.welcome-message{font-size:28px;font-weight:700;margin:0 0 6px}.subtitle{color:#6b7280;margin:0 0 14px}.wave{animation:wave 1.6s infinite;display:inline-block;transform-origin:70% 70%}@keyframes wave{0%{transform:rotate(0deg)}15%{transform:rotate(20deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(18deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(8deg)}to{transform:rotate(0deg)}}.top-row{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:2fr 1fr;margin-bottom:22px}.level-card{background:linear-gradient(135deg,#2e7d32,#4caf50);border-radius:12px;box-shadow:0 6px 18px #2d492e1f;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:space-between;padding:32px}.level-info{align-items:flex-start;display:flex;gap:16px;padding-top:20px}.avatar{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #00000014;color:#2e7d32;display:flex;font-size:22px;font-weight:700;height:72px;justify-content:center;overflow:hidden;width:72px}.profile-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.level-text h2{font-size:32px;font-weight:700;margin:0 0 6px}.username{font-size:20px;font-weight:700;margin:0 0 8px}.meta-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{background:#fff3;border-radius:12px;font-size:12px;font-weight:600;padding:4px 8px}.level-bottom{margin-top:20px}.progress-labels{display:flex;font-size:15px;justify-content:space-between;margin-bottom:8px;opacity:.95}.percent{font-weight:700}.progress-bar{background:#ffffff2e;border-radius:999px;height:16px;margin:0}.progress{border-radius:999px;height:100%;transition:width .3s ease;width:0}.dashboard-container .points-to-next{color:#fff!important;font-size:13px;font-weight:500;margin-top:8px;opacity:1!important;text-align:center}.stats-column{display:flex;flex-direction:column;gap:14px;height:100%}.stat-card{border-radius:10px;box-shadow:0 6px 18px #0f172a0f;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:84x;padding:28px 16px}.stat-number{font-size:34px}.stat-number.orange{color:#ff9800}.stat-label{font-size:13px;margin-top:6px}.section-title{color:#111827!important;margin:20px 0 10px}.quick-actions{grid-gap:12px;align-items:stretch;background:#0000;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:22px}.action-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 6px 18px #0f172a0f;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px 12px;text-align:center;transition:transform .13s ease,box-shadow .13s ease}.action-card:hover{box-shadow:0 12px 35px #0f172a14;transform:translateY(-6px)}.action-icon{align-items:center;border-radius:50%;box-shadow:0 4px 14px #0000000f;display:flex;font-size:22px;height:48px;justify-content:center;width:48px}.action-icon.green{background:linear-gradient(180deg,#34a853,#2e7d32);color:#fff}.action-icon.orange{background:linear-gradient(180deg,#ff9800,#f57c00);color:#fff}.action-icon.blue{background:linear-gradient(180deg,#2196f3,#1976d2);color:#fff}.action-icon.yellow{background:linear-gradient(180deg,#ffd54f,#fbc02d);color:#1f2937}.action-icon.purple{background:linear-gradient(180deg,#9c27b0,#7b1fa2);color:#fff}.action-icon.teal{background:linear-gradient(180deg,#14b8a6,#0d9488);color:#fff}.action-icon.pink{background:linear-gradient(180deg,#ec4899,#db2777);color:#fff}.action-icon.gold{background:linear-gradient(180deg,gold,orange);color:#1f2937}.action-card h4{color:#111827;font-size:16px;margin:0 0 4px}.action-card p{color:#6b7280;font-size:13px;margin:0}.daily-bonus-card{align-items:center;background:linear-gradient(135deg,gold,orange);color:#1f2937;display:flex;flex:1 1;gap:8px;padding:20px;transition:all .3s ease}.daily-bonus-card.claimed{background:#f8f9fa;border:2px dashed #dee2e6;color:#6c757d;opacity:.6}.daily-bonus-card:not(.claimed):hover{box-shadow:0 8px 25px #ffd7004d;transform:translateY(-2px)}.bonus-icon{flex-shrink:0;font-size:20px}.bonus-content h4{font-size:13px;font-weight:600;margin:0 0 2px}.bonus-content p{font-size:11px;margin:0;opacity:.8}.earn-points-card{background:#fff;display:flex;flex:1 1;flex-direction:column;gap:8px;padding:20px}.earn-points-header h4{color:#1f2937;font-size:15px;font-weight:600;margin:0}.earn-points-content{display:flex;flex-direction:column;gap:6px}.shield-indicator{animation:shield-glow 2s ease-in-out infinite;margin-left:5px}@keyframes shield-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.earn-points-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:13px;padding:6px 10px}.earn-points-dropdown:focus{border-color:#2e7d32;box-shadow:0 0 0 2px #2e7d321a;outline:none}.earn-points-button{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px;transition:background-color .2s ease}.earn-points-button:hover:not(:disabled){background:#256029}.earn-points-button:disabled{background:#9ca3af;cursor:not-allowed}.bottom-row{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:18px}.leaderboard-box{order:1}.tips-facts-row{order:2}.leaderboard-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 20px #0f172a14;padding:10px 10px 1px}.leaderboard-box .section-title{align-items:center;color:#111827!important;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0 0 10px}.leaderboard-box .leaderboard-content{display:flex;flex-direction:column;gap:10px}.leaderboard-box .leaderboard-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;overflow:hidden;padding:10px 14px;position:relative;transition:all .3s ease}.leaderboard-box .leaderboard-item:before{background:#cbd5e1;bottom:0;content:"";left:0;position:absolute;top:0;transition:all .3s ease;width:4px}.leaderboard-box .leaderboard-item.first{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;box-shadow:0 4px 20px #f59e0b26}.leaderboard-box .leaderboard-item.first:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.leaderboard-box .leaderboard-item.second{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#64748b;box-shadow:0 4px 20px #64748b26}.leaderboard-box .leaderboard-item.second:before{background:linear-gradient(180deg,#64748b,#475569)}.leaderboard-box .leaderboard-item.third{background:linear-gradient(135deg,#fef3c7,#fed7aa);border-color:#ea580c;box-shadow:0 4px 20px #ea580c26}.leaderboard-box .leaderboard-item.third:before{background:linear-gradient(180deg,#ea580c,#c2410c)}.leaderboard-box .leaderboard-item:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.leaderboard-box .leaderboard-item.first:hover{box-shadow:0 8px 25px #f59e0b40}.leaderboard-box .leaderboard-item.second:hover{box-shadow:0 8px 25px #64748b40}.leaderboard-box .leaderboard-item.third:hover{box-shadow:0 8px 25px #ea580c40}.leaderboard-box .rank-badge{align-items:center;border-radius:50%;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:28px;justify-content:center;width:28px}.leaderboard-box .leaderboard-item.first .rank-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.leaderboard-box .leaderboard-item.second .rank-badge{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.leaderboard-box .leaderboard-item.third .rank-badge{background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff}.leaderboard-box .player-info{flex:1 1;min-width:0}.leaderboard-box .player-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-box .player-stats{display:flex;font-size:12px;gap:10px}.leaderboard-box .player-level{background:#64748b1a;border-radius:6px;color:#64748b;font-size:12px;font-weight:500;padding:2px 8px}.leaderboard-box .player-points{background:#0596691a;border-radius:6px;color:#059669;font-size:12px;font-weight:700;padding:2px 8px}.leaderboard-box .no-leaderboard{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#64748b;font-style:italic;margin:40px 0;padding:20px;text-align:center}.tips-facts-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:100%}.fact-box,.tip-box{background:#4caf50;border-radius:12px;box-shadow:0 6px 18px #0f172a0f;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:0;padding:20px}.fact-box h4,.tip-box h4{color:#fff;font-size:16px;margin:0 0 10px}.fact-box p,.tip-box p{color:#ffffffe6;line-height:1.5;margin:0}.achievement-notification{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:8px;box-shadow:0 4px 12px #4caf5066;color:#fff;max-width:300px;padding:12px 16px;position:fixed;right:20px;top:100px;z-index:1000}.notification-content{align-items:center;display:flex;gap:12px}.notification-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.notification-text strong{font-size:14px;font-weight:600;line-height:1.2}.notification-text span{font-size:12px;line-height:1.2;opacity:.9}.notification-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.notification-close:hover{background:#fff3}@media (max-width:1200px){.dashboard-container,.dashboard-container.sidebar-open{margin-left:0}}@media (max-width:1024px){.quick-actions{gap:12px;grid-template-columns:repeat(3,1fr)}.action-card{padding:14px 10px}.action-icon{font-size:21px;height:46px;width:46px}.action-card h4{font-size:15px}.action-card p{font-size:12px}.earn-points-header h4{font-size:14px}.earn-points-button,.earn-points-dropdown{font-size:12px}}@media (max-width:768px){.dashboard-container{max-width:100vw;padding:70px 20px 20px}.welcome-message{font-size:24px}.top-row{gap:16px;grid-template-columns:1fr}.stats-column{flex-direction:row;gap:12px}.quick-actions{gap:12px;grid-template-columns:repeat(2,1fr)}.action-card{padding:16px 12px}.action-icon{font-size:22px;height:48px;width:48px}.action-card h4{font-size:15px}.action-card p{font-size:12px}.bottom-row{gap:16px;grid-template-columns:1fr}.tips-facts-row{gap:12px;grid-template-columns:1fr}.leaderboard-box{padding:14px}.leaderboard-item{gap:8px;padding:8px 10px}.rank-badge{font-size:12px;height:24px;width:24px}.player-name{font-size:13px}.player-stats{font-size:11px;gap:8px}.level-card{padding:20px}.avatar{font-size:18px;height:56px;width:56px}.profile-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.daily-bonus-card{gap:6px;padding:10px}.bonus-icon{font-size:18px}.bonus-content h4{font-size:12px}.bonus-content p{font-size:10px}.earn-points-card{gap:6px;padding:10px}.earn-points-header h4{font-size:14px}.earn-points-dropdown{font-size:12px;padding:6px 8px}.earn-points-button{font-size:12px;padding:6px 10px}}@media (max-width:480px){.dashboard-container{padding:70px 16px 16px}.welcome-message{font-size:20px}.quick-actions{gap:12px;grid-template-columns:1fr}.stats-column{flex-direction:column;gap:12px}.action-card{padding:14px 10px}.action-icon{font-size:20px;height:44px;width:44px}.action-card h4{font-size:14px}.action-card p{font-size:11px}.level-card{padding:16px}.avatar{font-size:16px;height:48px;width:48px}.profile-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.daily-bonus-card{gap:4px;padding:8px}.bonus-icon{font-size:16px}.bonus-content h4{font-size:11px}.bonus-content p{font-size:9px}.earn-points-card{gap:4px;padding:8px}.earn-points-header h4{font-size:13px}.earn-points-dropdown{font-size:11px;padding:5px 6px}.earn-points-button{font-size:11px;padding:5px 8px}}@media (max-width:768px){.welcome-message{font-size:24px}.subtitle{font-size:14px;margin-bottom:10px}.top-row{gap:12px;grid-template-columns:1fr;margin-bottom:16px}.level-card{border-radius:18px;padding:20px}.level-info{gap:12px;padding-top:0}.avatar{font-size:18px;height:58px;width:58px}.level-text h2{font-size:24px}.username{font-size:17px}.stats-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.daily-bonus-card,.stat-card{border-radius:18px;min-height:0;padding:18px 14px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{align-items:flex-start;min-height:132px;padding:14px;text-align:left}.action-card p{font-size:12px}}@media (max-width:480px){.quick-actions,.stats-column{grid-template-columns:1fr}.action-card{min-height:0}}.share-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.share-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0006;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.share-modal-header{align-items:center;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.share-modal-header h2{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:600;gap:6px;line-height:1.2;margin:0}.share-modal-header h2:before{content:"📤";font-size:12px}.share-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.share-modal-close:hover{background:#fff3}.share-modal-body{padding:0 24px 24px}.recipe-share-preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:16px}.share-preview-image{border-radius:8px;flex-shrink:0;height:80px;object-fit:cover;width:80px}.share-preview-content{flex:1 1;min-width:0}.share-preview-content h3{color:#1f2937;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 8px}.share-preview-content p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:14px;line-height:1.4;margin:0;overflow:hidden}.native-share-section{margin-bottom:20px}.native-share-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px;transition:all .2s ease;width:100%}.native-share-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.copy-link-section{margin-bottom:24px}.copy-link-btn{align-items:center;background-color:#f3f4f6;border:2px solid #e5e7eb;border-radius:12px;color:#374151;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px;transition:all .2s ease;width:100%}.copy-link-btn:hover{background-color:#e5e7eb;border-color:#d1d5db}.copy-link-btn.copied{background-color:#d1fae5;border-color:#10b981;color:#065f46}.share-options-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:20px}.share-option-btn{align-items:center;background-color:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#374151;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px 12px;text-decoration:none;transition:all .2s ease}.share-option-btn:hover{background-color:#3b82f60d;background-color:rgba(var(--option-color-rgb,59,130,246),.05);border-color:var(--option-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.share-option-icon{font-size:24px;line-height:1}.share-option-name{font-size:12px;font-weight:600;line-height:1.2;text-align:center}.share-message{align-items:center;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:14px;gap:8px;padding:12px 16px}.share-message-icon{font-size:16px}.share-message-text{font-weight:500}@media (max-width:640px){.share-modal-overlay{padding:16px}.share-modal-content{max-height:95vh}.share-modal-header{padding:20px 20px 0}.share-modal-body{padding:0 20px 20px}.share-options-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.share-option-btn{padding:12px 8px}.share-option-icon{font-size:20px}.share-option-name{font-size:11px}.recipe-share-preview{flex-direction:column;text-align:center}.share-preview-image{align-self:center;height:120px;width:100%}}@media (prefers-color-scheme:dark){.share-modal-content{background-color:#1f2937;color:#f9fafb}.share-modal-header h2{color:#f9fafb}.share-modal-close{color:#9ca3af}.share-modal-close:hover{background-color:#374151;color:#d1d5db}.recipe-share-preview{background-color:#374151;border-color:#4b5563}.share-preview-content h3{color:#f9fafb}.share-preview-content p{color:#9ca3af}.copy-link-btn{background-color:#374151;border-color:#4b5563;color:#d1d5db}.copy-link-btn:hover{background-color:#4b5563;border-color:#6b7280}.share-option-btn{background-color:#374151;border-color:#4b5563;color:#d1d5db}.share-option-btn:hover{background-color:#4b5563}.share-message{background-color:#1e3a8a;border-color:#3b82f6;color:#dbeafe}}@media (max-width:640px){.share-modal-content{border-radius:22px 22px 12px 12px}}.shopping-list-generator-overlay{align-items:center;animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.shopping-list-generator-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.generator-header{align-items:center;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.generator-header h2{align-items:center;display:flex;font-size:18px;font-weight:700;gap:8px;line-height:1.2;margin:0}.generator-header h2:before{content:"🛒";font-size:16px}.shopping-list-generator-overlay .shopping-list-generator-modal .generator-header h2{color:#fff!important;font-size:18px!important;font-weight:700!important}.shopping-list-generator-overlay .shopping-list-generator-modal .generator-header{background:linear-gradient(135deg,#4caf50,#2e7d32)!important;color:#fff!important}.generator-content{flex:1 1;overflow-y:auto;padding:20px}.step-header{margin-bottom:24px}.step-header h3{color:#1f2937;font-size:1.25rem;margin:0 0 8px}.step-header p{color:#6b7280;font-size:.95rem;margin:0}.loading-state{padding:40px 20px}.loading-spinner{border:4px solid #e5e7eb;border-top-color:#667eea}.error-state{align-items:center;color:#dc2626;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.error-icon{font-size:2rem}.retry-btn{background:#dc2626;margin-top:16px;padding:8px 16px}.retry-btn:hover{background:#b91c1c}.preview-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:24px}.summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:transform .2s}.summary-card:hover{transform:translateY(-2px)}.summary-card.highlight{background:linear-gradient(135deg,#2e7d32,#1b5e20);border-color:#2e7d32;color:#fff}.summary-number{display:block;font-size:1.5rem;margin-bottom:4px}.summary-label{font-size:.875rem}.summary-card.highlight .summary-label{color:#ffffffe6}.recipes-list{background:#f9fafb;border-radius:8px;margin-bottom:24px;padding:16px}.recipes-list h4{color:#1f2937;font-size:1rem;margin:0 0 12px}.recipes-list ul{list-style:none;margin:0;padding:0}.recipes-list li{color:#4b5563;padding:4px 0}.all-available{padding:40px 20px;text-align:center}.all-available .success-icon{font-size:3rem;margin-bottom:16px}.all-available h4{color:#059669;font-size:1.25rem;margin:0 0 8px}.all-available p{color:#6b7280;margin:0 0 24px}.items-preview h4{color:#1f2937;font-size:1.1rem;margin:0 0 16px}.items-list{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;max-height:300px;overflow-y:auto}.item-preview{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;padding:12px 16px;transition:background-color .2s}.item-preview:last-child{border-bottom:none}.item-preview:hover{background-color:#f9fafb}.item-preview.unselected{background-color:#f9fafb;opacity:.6}.item-checkbox{margin-right:12px}.item-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.item-details{grid-gap:12px;align-items:center;display:grid;flex:1 1;gap:12px;grid-template-columns:1fr 120px 1fr}.item-name{font-weight:500}.notes-input,.quantity-input{border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;padding:6px 8px;transition:border-color .2s}.notes-input:focus,.quantity-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.notes-input{color:#6b7280;font-style:italic}.option-group,.options-content{margin-bottom:24px}.option-group{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.option-label{align-items:center;color:#1f2937;cursor:pointer;display:flex;font-weight:500;margin-bottom:12px}.option-label input[type=radio]{height:16px;margin-right:8px;width:16px}.option-details{border-top:1px solid #e5e7eb;margin-left:24px;padding-top:12px}.option-details label{color:#4b5563;display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}.existing-list-select,.list-name-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:8px 12px;transition:border-color .2s;width:100%}.existing-list-select:focus,.list-name-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.success-step{padding:40px 20px;text-align:center}.shopping-list-generator-modal .success-content .success-icon{font-size:3rem;margin-bottom:16px}.shopping-list-generator-modal .success-content h3{color:#059669;font-size:1.5rem;margin:0 0 8px}.shopping-list-generator-modal .success-content p{color:#6b7280;margin:0 0 24px}.options-actions,.preview-actions,.success-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.success-actions{border-top:none;justify-content:center}.btn-primary,.btn-secondary{border-radius:6px;font-size:.875rem;padding:10px 20px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6}.error-message{border-radius:6px;font-size:.875rem;gap:8px;margin-top:16px}.error-icon{font-size:1rem}@media (max-width:768px){.shopping-list-generator-modal{margin:10px;max-height:95vh}.generator-content{padding:16px}.preview-summary{grid-template-columns:repeat(2,1fr)}.item-details{gap:8px;grid-template-columns:1fr}.options-actions,.preview-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.shopping-list-generator-modal{border-radius:22px 22px 12px 12px}}.recipes-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 32px 32px;position:relative;transition:margin-left .3s ease}.recipes-container.sidebar-open{margin-left:220px}.recipes-header{justify-content:space-between;margin-bottom:32px}.recipes-header,.recipes-title{align-items:center;display:flex}.recipes-title{color:#1f2937;font-size:32px;font-weight:700;gap:12px;margin:0}.recipes-subtitle{color:#6b7280;font-size:16px;margin:4px 0 0}.add-recipe-btn{align-items:center;background:#2e7d32;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.add-recipe-btn:hover{background:#256029;box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.add-recipe-btn span{font-size:16px}.search-filters-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px}.search-input{background:#fafafa;border:2px solid #e5e7eb;color:#1f2937;transition:all .3s ease}.search-input:focus{background:#fff;box-shadow:0 0 0 4px #2e7d321a}.clear-search-btn,.search-input::placeholder{color:#9ca3af}.tag-filters{display:flex;flex-direction:column;gap:8px;min-width:200px}.tag-filters-label{color:#374151;font-size:14px;font-weight:600;margin-bottom:4px}.tag-bubbles{display:flex;flex-wrap:wrap;gap:8px}.tag-bubble{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:20px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.tag-bubble:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px)}.tag-bubble.selected{background:#2e7d32;border-color:#2e7d32;color:#fff}.tag-bubble.selected:hover{background:#1b5e20;border-color:#1b5e20}@media (max-width:768px){.tag-filters{min-width:100%}.tag-bubbles{gap:6px}.tag-bubble{font-size:12px;padding:4px 8px}.filters{flex-direction:column;gap:16px}.tag-filters{order:3}}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.filter-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;cursor:pointer;font-size:14px;height:36px;min-width:150px;padding:6px 12px;transition:all .3s ease}.filter-select:focus{border-color:#2e7d32;box-shadow:0 0 0 4px #2e7d321a;outline:none}.checkbox-filter{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;gap:8px;height:36px;min-width:150px;padding:6px 12px;transition:all .3s ease}.checkbox-filter:hover{background:#f9fafb;border-color:#2e7d32}.filter-icon-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#1f2937;cursor:pointer;display:flex;font-size:14px;gap:8px;height:36px;min-width:120px;padding:6px 12px;position:relative;transition:all .3s ease}.filter-icon-btn:hover{background:#f0f9f0;border-color:#2e7d32}.filter-icon{font-size:16px}.filter-text{font-weight:500}.filter-badge{align-items:center;background:#2e7d32;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.filter-popup{max-width:500px;width:90%}.ingredient-modal-overlay{bottom:0;left:0;right:0;top:0}.ingredient-modal-content .form-group{width:100%}.ingredient-modal-content .form-input,.ingredient-modal-content .form-select,.ingredient-modal-content .form-textarea{box-sizing:border-box;max-width:none;width:100%}.ingredient-modal-content .form-textarea{min-height:120px;resize:vertical}.ingredient-modal-content .form-help{margin-top:8px;width:100%}.ingredient-modal-content .form-row{display:flex;gap:16px;width:100%}.ingredient-modal-content .form-row .form-group{flex:1 1}.ingredient-modal-content .form-textarea[rows="12"]{font-size:14px;line-height:1.5;min-height:200px}.ingredient-modal-content .form-help{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;line-height:1.4;padding:12px 16px}.ingredient-modal-content .form-help p{margin:4px 0}.ingredient-modal-content .form-help p:first-child{color:#374151;font-weight:600;margin-top:0}.ingredient-modal-content .form-help p:last-child{margin-bottom:0}.ingredient-category-section{margin-bottom:25px}.ingredient-category-title{border-bottom:2px solid #2e7d32;color:#374151;font-size:16px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding-bottom:5px;text-transform:uppercase}.ingredient-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.ingredient-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;font-size:14px;gap:8px;padding:6px 10px}.ingredient-item:hover{background:#f9fafb;border-color:#2e7d32}.ingredient-item input[type=checkbox]{accent-color:#2e7d32;cursor:pointer;height:16px;width:16px}.ingredient-item input[type=checkbox]:checked+.ingredient-name{color:#2e7d32;font-weight:600}.ingredient-item:has(input:checked){background:#f0f9f0;border-color:#2e7d32}.ingredient-name{color:#374151;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.ingredient-clear-btn:hover{background:#4b5563}.ingredient-apply-btn:hover{background:#1b5e20}.recipe-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.recipe-modal-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;min-width:600px;width:50%}.recipe-modal-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.recipe-modal-title{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.recipe-modal-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.recipe-kitchen{color:#374151;font-weight:600}.recipe-help-link{color:#2e7d32;cursor:pointer;text-decoration:underline}.recipe-help-link:hover{color:#1b5e20}.recipe-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:20px;top:15px;width:30px}.recipe-modal-close:hover{background:#f3f4f6;color:#374151}.recipe-modal-content{background:#fff;flex:1 1;overflow-y:auto;padding:20px 30px}.recipe-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.recipe-cancel-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.recipe-cancel-btn:hover{background:#4b5563}.recipe-submit-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.recipe-submit-btn:hover{background:#1b5e20}.ingredient-filter-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.ingredient-filter-btn:hover{background:#f9fafb;border-color:#2e7d32;box-shadow:0 4px 12px #2e7d3233;transform:translateY(-1px)}.filter-sections{display:flex;flex-direction:column;gap:24px}.filter-section h4{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 12px}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-option{background:#fff;border:2px solid #e5e7eb;border-radius:20px;color:#1f2937;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.filter-option:hover{background:#f0f9f0;border-color:#2e7d32}.filter-option.selected{background:#2e7d32;border-color:#2e7d32;color:#fff}.checkbox-filter input[type=checkbox]{accent-color:#2e7d32;cursor:pointer;height:16px;width:16px}.checkbox-label{color:#1f2937;cursor:pointer;font-size:14px;font-weight:500}.mobile-filter-toggles{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.modal-checkbox-filter{height:auto;justify-content:flex-start;min-width:0;padding:10px 12px}.category-filter-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.category-filter-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:80px;padding:12px 16px;transition:all .2s ease}.category-filter-btn:hover{border-color:#2e7d32;box-shadow:0 4px 12px #2e7d3226;transform:translateY(-2px)}.category-filter-btn.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.category-icon{font-size:28px}.category-count{color:#1f2937;font-size:24px;font-weight:700}.category-filter-btn.active .category-count{color:#fff}.category-label{color:#6b7280;font-size:13px;font-weight:600;text-align:center}.category-filter-btn.active .category-label{color:#fff}.stat-number{color:#2e7d32}.recipes-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:16px}.recipe-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.recipe-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.recipe-card:active{transform:translateY(-2px);transition:transform .1s ease}.recipe-image{height:200px}.recipe-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.recipe-card:hover .recipe-image img{transform:scale(1.05)}.placeholder-image{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#9ca3af;display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.recipe-meta-info{display:flex;gap:8px;margin-bottom:12px}.cuisine-badge,.difficulty-badge,.time-badge{border-radius:12px;color:#fff;font-size:10px;font-weight:600;padding:4px 8px;text-transform:capitalize}.difficulty-badge{background:#2e7d32}.cuisine-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 4px #0000001a;display:flex;font-weight:700;justify-content:center;letter-spacing:.5px;text-align:center}.time-badge{background:#6b7280}.portions-badge{background:#10b981;border-radius:12px;cursor:help;display:flex;font-size:10px;justify-content:center;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.missing-ingredients-badge,.portions-badge{align-items:center;color:#fff;font-weight:600;white-space:nowrap}.missing-ingredients-badge{background:#ef4444;border-radius:16px;cursor:pointer;display:inline-flex;font-size:11px;gap:4px;margin-top:4px;padding:6px 12px;transition:all .2s ease}.missing-ingredients-badge:hover{background:#dc2626;box-shadow:0 4px 8px #ef44444d;transform:translateY(-1px)}.missing-modal{max-width:600px}.missing-modal-info{color:#6b7280;font-size:14px;margin-bottom:20px;text-align:center}.missing-ingredients-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:8px}.missing-ingredient-item{align-items:center;background:#fef2f2;border:2px solid #fee2e2;border-radius:8px;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.missing-ingredient-item:hover{background:#fee2e2;border-color:#fecaca;transform:translateX(4px)}.missing-ingredient-icon{flex-shrink:0;font-size:20px}.missing-ingredient-text{color:#1f2937;flex:1 1;font-size:14px;font-weight:500}.form-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:24px 0;padding:20px}.form-section h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px}.form-help{color:#6b7280;font-size:14px;margin-bottom:16px}.serving-multipliers-container{display:flex;flex-direction:column;gap:16px}.serving-multiplier-item{display:flex;flex-direction:column;gap:8px}.serving-multiplier-item label{color:#1f2937;font-weight:600}.serving-multiplier-item textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;width:100%}.serving-multiplier-item textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.recipe-content{padding:24px}.recipe-header{margin-bottom:12px}.recipe-title{flex:1 1;font-size:20px!important}.recipe-card .recipe-title,.recipe-card h3.recipe-title,.recipe-title{color:#1f2937!important;font-weight:700!important;line-height:1.3!important;margin:0 0 8px!important}.recipe-card .recipe-title,.recipe-card h3.recipe-title{font-size:30px!important}.recipe-description{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;font-size:14px;line-height:1.5;margin:0 0 16px;overflow:hidden}.recipe-tags{gap:6px}.tag{border-radius:12px;padding:4px 8px}.modal-content{box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-width:1000px}.modal-header{align-items:center!important;background:linear-gradient(135deg,#1e40af,#3b82f6 50%,#60a5fa)!important;border:none!important;border-radius:16px 16px 0 0!important;box-shadow:0 4px 12px #1e40af4d!important;color:#fff!important;display:flex!important;justify-content:space-between!important;outline:none!important;overflow:hidden!important;padding:20px 24px!important;position:relative!important}.modal-header:before{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.modal-content .modal-header,.modal-header:before{border:none!important}.modal-overlay .modal-content .modal-header h2{color:#fff!important;font-size:20px!important;font-weight:700!important}.modal-overlay .modal-content .modal-header{background:linear-gradient(135deg,#1e40af,#3b82f6 50%,#60a5fa)!important}.modal-header h2,.modal-header h3{color:#fff!important;font-weight:700!important}.modal-header h3{font-size:18px!important}.modal-header h2{align-items:center!important;color:#fff!important;display:flex!important;font-size:20px!important;font-weight:700!important;gap:10px!important;letter-spacing:-.3px!important;line-height:1.2!important;margin:0!important;position:relative!important;text-shadow:0 2px 4px #0003!important;z-index:1!important}.modal-header h2:before{content:"🍳";font-size:18px}.modal-close{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;font-size:20px;height:40px;padding:10px;position:relative;transition:all .3s ease;width:40px;z-index:1}.modal-close:hover{transform:scale(1.1)}.modal-body{background:linear-gradient(135deg,#fafbfc,#fff);flex:1 1;padding:24px 20px}.form-row{grid-template-columns:1fr 1fr 1fr}.form-group{margin-bottom:24px}.form-group label{font-size:15px}.form-group input,.form-group select,.form-group textarea{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;font-size:15px;padding:16px 20px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626,0 4px 12px #0000001a;transform:translateY(-2px)}.modal-actions{border-radius:0 0 16px 16px;padding:16px 20px}.btn-primary,.btn-secondary{padding:14px 28px}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1e40af);border:1px solid #fff3;box-shadow:0 6px 20px #3b82f666}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#1d4ed8);box-shadow:0 8px 25px #3b82f680;transform:translateY(-3px)}.btn-secondary:hover{background:#f9fafb}.error-message{font-weight:500;gap:12px;margin-bottom:24px;padding:16px 20px}.error-message,.loading-state{align-items:center;display:flex}.loading-state{flex-direction:column;grid-column:1/-1;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#2e7d32;height:40px;width:40px}.empty-state{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3{color:#1f2937;font-size:24px;font-weight:700;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0 0 24px}@keyframes fadeOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:1200px){.recipes-container,.recipes-container.sidebar-open{margin-left:0}}@media (max-width:1024px){.category-filter-section{gap:12px;grid-template-columns:repeat(4,1fr)}.recipes-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.form-row{gap:12px;grid-template-columns:1fr}}@media (max-width:768px){.recipes-container{padding:100px 20px 20px}.recipes-header{align-items:flex-start;flex-direction:column;gap:16px}.recipes-title{font-size:28px}.recipe-header{align-items:flex-start;flex-direction:column;gap:8px}.recipe-type-badge{align-self:flex-start}.category-filter-section{gap:12px;grid-template-columns:repeat(2,1fr)}.recipes-grid{gap:16px;grid-template-columns:1fr}.search-filters-section{padding:16px}.filters{align-items:flex-start;flex-direction:column;gap:10px;justify-content:flex-start}.filter-select{min-width:auto}.filter-icon-btn,.ingredient-filter-btn{justify-content:flex-start;max-width:100%;min-width:0;width:auto}.desktop-inline-filter{display:none}.ingredient-modal-container{max-width:95vw;min-width:auto;width:90%}.ingredient-list{grid-template-columns:repeat(2,1fr)}.ingredient-modal-header{padding:15px 20px}.ingredient-modal-title{font-size:24px}.ingredient-modal-content,.ingredient-modal-footer{padding:15px 20px}.recipe-modal-container{max-width:95vw;min-width:auto;width:90%}.recipe-modal-header{padding:15px 20px}.recipe-modal-title{font-size:24px}.recipe-modal-content,.recipe-modal-footer{padding:15px 20px}.recipe-modal{flex-direction:column;margin:10px;max-height:90vh;max-width:calc(100vw - 20px)}.modal-header{padding:20px 20px 16px}.modal-header h2{font-size:22px}.modal-content{flex-direction:column}.recipe-hero-section{border-bottom:1px solid #e5e7eb;border-right:none;flex:none;padding:20px}.recipe-image-container{height:220px;margin-bottom:16px}.recipe-hero-placeholder{font-size:50px;height:220px}.recipe-description-text{font-size:14px;line-height:1.5}.ingredients-section,.instructions-section{padding:20px}.section-header h3{font-size:18px}.ingredients-grid{gap:10px;grid-template-columns:1fr}.ingredient-item{padding:10px 14px}.ingredient-text{font-size:14px}.instruction-step{gap:12px;padding:14px}.step-number{font-size:14px;height:28px;width:28px}.step-text{font-size:14px;line-height:1.4}.modal-body{padding:20px}.modal-actions{flex-direction:column;padding:20px}.btn-primary,.btn-secondary{width:100%}}@media (max-width:480px){.recipes-container{padding:100px 16px 16px}.recipes-title{font-size:24px}.recipe-card{margin:0 8px}.ingredient-modal-container{max-height:90vh;max-width:98vw;min-width:auto;width:95%}.ingredient-list{grid-template-columns:1fr}.ingredient-modal-header{padding:12px 15px}.ingredient-modal-title{font-size:20px}.ingredient-modal-content{padding:12px 15px}.ingredient-modal-footer{flex-direction:column;padding:12px 15px}.ingredient-apply-btn,.ingredient-clear-btn{width:100%}.recipe-modal-container{max-height:90vh;max-width:98vw;min-width:auto;width:95%}.recipe-modal-header{padding:12px 15px}.recipe-modal-title{font-size:20px}.recipe-modal-content{padding:12px 15px}.recipe-modal-footer{flex-direction:column;padding:12px 15px}.recipe-cancel-btn,.recipe-submit-btn{width:100%}.recipe-modal{border-radius:16px;flex-direction:column;margin:5px;max-height:90vh;max-width:calc(100vw - 10px);min-height:70vh}.modal-header{padding:16px}.modal-header h2{font-size:18px}.recipe-meta-quick{gap:6px}.meta-badge{font-size:12px;padding:4px 8px}.modal-content{flex-direction:column}.recipe-hero-section{border-bottom:1px solid #e5e7eb;border-right:none;flex:none;padding:16px}.recipe-image-container{border-radius:12px;height:180px;margin-bottom:12px}.recipe-hero-placeholder{border-radius:12px;font-size:40px;height:180px}.recipe-description-text{font-size:13px;line-height:1.4;margin-bottom:12px}.ingredients-section,.instructions-section{padding:16px}.section-header{margin-bottom:16px;padding-bottom:8px}.section-header h3{font-size:16px}.ingredient-count,.step-count{font-size:11px;padding:4px 8px}.ingredients-grid{gap:8px}.ingredient-item{border-radius:8px;padding:10px 12px}.ingredient-bullet{font-size:14px;width:16px}.ingredient-text{font-size:13px}.instruction-step{border-radius:10px;gap:10px;padding:12px}.step-number{font-size:12px;height:24px;width:24px}.step-text{font-size:13px;line-height:1.4}.modal-close{font-size:20px;height:40px;padding:10px;width:40px}}.draft-restore-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:24px;padding:16px}.draft-notice-content{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.draft-icon{font-size:18px}.draft-text{color:#92400e;flex:1 1;font-weight:500}.clear-draft-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.clear-draft-btn:hover{background:#4b5563}.recipe-actions{display:flex;gap:4px;opacity:0;position:absolute;right:8px;top:8px;transform:scale(.8);transition:all .2s ease}.recipe-card:hover .recipe-actions{opacity:1;transform:scale(1)}.recipe-action-btn{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.recipe-action-btn:hover{background:#000000e6;transform:scale(1.1)}.recipe-action-btn.shopping-btn:hover{background:#22c55ee6}.recipe-action-btn.like-btn{background:#000000b3;transition:all .2s ease}.recipe-action-btn.like-btn:hover{background:#ef4444e6;transform:scale(1.1)}.recipe-action-btn.like-btn.liked{background:#ef4444e6}.recipe-action-btn.like-btn.liked:hover{background:#6b7280e6}.recipe-image{overflow:hidden;position:relative}@media (max-width:768px){.modal-content{max-width:95vw}.form-row{gap:16px;grid-template-columns:1fr}.modal-body{padding:24px 16px}.modal-actions{flex-direction:column;padding:20px 16px}.modal-header{padding:16px 20px}.recipes-header{margin-bottom:18px}.search-filters-section{border-radius:18px;padding:14px}.search-container{width:100%}.category-filter-section{-webkit-overflow-scrolling:touch;display:flex;gap:10px;grid-template-columns:none;margin-bottom:18px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scroll-snap-type:x proximity}.category-filter-btn{align-items:flex-start;border-radius:16px;flex:0 0 auto;gap:2px;min-height:0;min-width:112px;padding:10px 12px;scroll-snap-align:start;text-align:left}.category-icon{font-size:18px}.category-count{display:none}.category-label{font-size:13px;line-height:1.2}.recipe-card{overflow:hidden}}@media (max-width:480px){.recipes-title{font-size:24px}.mobile-filter-toggles{grid-template-columns:1fr}}.image-upload-section{margin-top:8px}.upload-options{gap:16px;margin-bottom:16px}.upload-option,.upload-options{display:flex;flex-direction:column}.upload-option{gap:8px}.upload-label{cursor:pointer;display:block}.upload-button{align-items:center;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;min-height:48px;padding:12px 16px;transition:all .2s ease}.upload-button:hover{background-color:#eff6ff;border-color:#3b82f6;color:#3b82f6}.upload-button:disabled{cursor:not-allowed;opacity:.6}.upload-icon{font-size:16px}.upload-divider{align-items:center;display:flex;justify-content:center;margin:8px 0;position:relative}.upload-divider:before{background-color:#e5e7eb;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.upload-divider span{background-color:#fff;color:#6b7280;font-size:12px;font-weight:500;padding:0 12px}.upload-option input[type=url]{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px 16px;transition:border-color .2s ease;width:100%}.upload-option input[type=url]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.upload-option input[type=url]:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.upload-option small{color:#6b7280;font-size:12px;margin-top:4px}.current-image-preview,.image-preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;overflow:hidden;position:relative}.current-image-preview h4{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;margin:0;padding:12px 16px}.current-image-preview img,.image-preview img{display:block;height:200px;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background-color:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;position:absolute;right:8px;top:8px;transition:background-color .2s ease;width:32px}.remove-image-btn:hover{background-color:#dc2626e6}@media (max-width:768px){.upload-options{gap:12px}.upload-button{font-size:13px;padding:10px 12px}.image-preview img{height:150px}}@media (prefers-color-scheme:dark){.upload-button{background-color:#374151;border-color:#4b5563;color:#d1d5db}.upload-button:hover{background-color:#1e3a8a;border-color:#3b82f6;color:#3b82f6}.upload-option input[type=url]{background-color:#374151;border-color:#4b5563;color:#d1d5db}.upload-option input[type=url]:focus{border-color:#3b82f6}.upload-option input[type=url]:disabled{background-color:#1f2937;color:#6b7280}.upload-divider span{background-color:#1f2937;color:#9ca3af}.current-image-preview,.image-preview{background-color:#374151;border-color:#4b5563}.current-image-preview h4{background-color:#1f2937;border-bottom-color:#4b5563;color:#d1d5db}}.recipe-detail-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:100px 32px 32px;position:relative;transition:margin-left .3s ease}.recipe-detail-container.sidebar-open{margin-left:220px;max-width:980px}.recipe-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.back-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.back-button:hover{background:#f9fafb;border-color:#2e7d32;transform:translateY(-1px)}.header-actions{gap:12px}.share-button,.shopping-list-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 16px;transition:all .2s ease}.share-button:hover{background:#f9fafb;border-color:#2e7d32;transform:translateY(-1px)}.shopping-list-button:hover{background:#f0fdf4;border-color:#22c55e;color:#22c55e;transform:translateY(-1px)}.delete-button,.edit-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 16px;transition:all .2s ease}.edit-button:hover{background:#f0f9ff;border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px)}.delete-button:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444;transform:translateY(-1px)}.btn-primary{background:#2e7d32;font-weight:600}.btn-primary:hover{background:#256029}.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{animation:pulse 2s infinite}.error-icon,.loading-spinner{font-size:48px;margin-bottom:16px}.error-state h2{color:#1f2937;margin-bottom:8px}.error-state p{color:#6b7280;margin-bottom:24px}.recipe-hero{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;margin-bottom:32px;overflow:hidden}.recipe-image-container{height:400px;overflow:hidden;position:relative}.recipe-hero-image{height:100%;object-fit:cover;width:100%}.recipe-hero-placeholder{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#9ca3af;display:flex;font-size:72px;height:100%;justify-content:center;width:100%}.recipe-hero-overlay{align-items:flex-end;background:linear-gradient(180deg,#0000 0,#0000001a);bottom:0;display:flex;left:0;padding:24px;position:absolute;right:0;top:0}.recipe-badges{display:flex;gap:12px}.difficulty-badge,.time-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:24px;color:#1f2937;font-size:14px;font-weight:600;padding:8px 16px;text-transform:capitalize}.recipe-hero-content{padding:32px}.recipe-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tag{background:#f3f4f6;border-radius:16px;color:#6b7280;font-size:12px;font-weight:500;padding:6px 12px}.recipe-title{color:#1f2937;font-size:36px;font-weight:700;line-height:1.2;margin:0 0 16px}.recipe-description{color:#6b7280;font-size:18px;line-height:1.6;margin:0 0 32px}.recipe-meta{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.meta-item{align-items:center;background:#f9fafb;border-radius:12px;display:flex;gap:12px;padding:16px}.meta-icon{font-size:20px;text-align:center;width:24px}.meta-label{color:#6b7280;font-size:14px;font-weight:500}.meta-value{color:#1f2937;font-size:16px;font-weight:600;margin-left:auto}.recipe-content{margin-bottom:32px}.recipe-content-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 2fr}.ingredients-section,.instructions-section{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;padding:32px}.section-title{gap:12px;margin:0 0 24px}.section-icon{font-size:28px}.ingredients-list{display:flex;flex-direction:column;gap:12px}.ingredient-item{align-items:flex-start;background:#f9fafb;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.ingredient-item:hover{background:#f3f4f6}.ingredient-checkbox{color:#6b7280;cursor:pointer;font-size:16px;margin-top:2px;-webkit-user-select:none;user-select:none}.ingredient-checkbox:hover{color:#2e7d32}.ingredient-text{color:#1f2937;flex:1 1;font-size:16px;line-height:1.5}.instructions-list{display:flex;flex-direction:column;gap:24px}.instruction-step{align-items:flex-start;display:flex;gap:20px}.step-number{align-items:center;background:#2e7d32;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;margin-top:4px;width:32px}.step-content{flex:1 1}.step-content p{color:#1f2937;font-size:16px;line-height:1.6;margin:0}.recipe-footer{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;padding:32px}.recipe-footer-content{align-items:center;display:flex;justify-content:center}.recipe-stats{display:flex;gap:48px}.stat{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-number{color:#1f2937;font-size:24px;margin-bottom:4px}.nutrition-facts{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:24px 0;padding:24px}.nutrition-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:700;gap:8px;margin:0 0 16px}.nutrition-title:before{content:"🍎";font-size:18px}.nutrition-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.nutrition-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;padding:12px;text-align:center}.nutrition-value{color:#1f2937;font-size:24px;font-weight:700;line-height:1.2;margin-bottom:4px}.nutrition-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ingredients-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.ingredients-content{position:relative}.serving-options{display:flex;flex-wrap:wrap;gap:8px}.serving-option{background:#fff;border:2px solid #e5e7eb;border-radius:16px;color:#6b7280;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.serving-option:hover{border-color:#3b82f6;color:#3b82f6}.serving-option.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.serving-version{display:none}.serving-version.active{display:block}.nutrition-facts-section{margin:32px 0}.nutrition-facts-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:24px;width:100%}.nutrition-facts-header{border-bottom:2px solid #f3f4f6;margin-bottom:20px;padding-bottom:16px;text-align:center}.nutrition-facts-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:700;gap:8px;justify-content:center;margin:0 0 4px}.nutrition-facts-title:before{content:"🍎";font-size:18px}.nutrition-facts-subtitle{color:#6b7280;font-size:12px;font-weight:500}.nutrition-facts-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.nutrition-fact-item{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;display:flex;flex-direction:column;padding:16px 12px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.nutrition-fact-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.nutrition-fact-value{color:#1f2937;font-size:24px;font-weight:700;line-height:1.2;margin-bottom:4px}.nutrition-fact-label{color:#6b7280;font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}@media (max-width:768px){.recipe-detail-container{padding:100px 16px 16px}.nutrition-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.nutrition-item{padding:8px}.nutrition-value{font-size:20px}.ingredients-header{align-items:flex-start;flex-direction:column;gap:12px}.serving-options{justify-content:flex-start;width:100%}.serving-option{flex:1 1;min-width:60px;text-align:center}.recipe-stats{flex-wrap:wrap;gap:12px}.stat{min-width:80px}.nutrition-facts-card{padding:20px}.nutrition-facts-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.nutrition-fact-item{padding:12px 8px}.nutrition-fact-value{font-size:20px}.nutrition-fact-label{font-size:9px}.recipe-detail-header{align-items:stretch;flex-direction:column;gap:16px}.header-actions{justify-content:center}.recipe-hero-content{padding:24px}.recipe-title{font-size:28px}.recipe-description{font-size:16px}.recipe-meta{gap:16px;grid-template-columns:1fr}.recipe-content-grid{gap:24px;grid-template-columns:1fr}.ingredients-section,.instructions-section{padding:24px}.recipe-footer-content{justify-content:center}.recipe-stats{gap:32px}}@media (max-width:480px){.recipe-detail-container{padding:100px 12px 12px}.recipe-hero-content{padding:20px}.recipe-title{font-size:24px}.ingredients-section,.instructions-section{padding:20px}.recipe-footer{padding:24px}}.item-scanner-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.item-scanner-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:900px;min-width:700px;width:60%}.item-scanner-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.item-scanner-header h2{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.item-scanner-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.item-scanner-category{color:#374151;font-weight:600}.item-scanner-help-link{color:#2e7d32;cursor:pointer;text-decoration:underline}.item-scanner-help-link:hover{color:#1b5e20}.back-btn-icon,.close-btn-icon{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;top:15px;width:30px;z-index:11}.back-btn-icon{left:20px}.close-btn-icon{right:20px}.back-btn-icon:hover,.close-btn-icon:hover{background:#f3f4f6;color:#374151}.tab-selector{background:#fff;border-bottom:1px solid #d1d5db;display:flex;gap:0;padding:0}.tab-btn{align-items:center;background:#f9fafb;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.tab-btn.active{background:#fff;border-bottom-color:#2e7d32;color:#2e7d32}.tab-btn:disabled{cursor:not-allowed;opacity:.5}.tab-icon{font-size:18px}.item-scanner-content{background:#fff;flex:1 1;overflow-y:auto;position:relative}.item-scanner-loading{background:#fff;justify-content:center;min-height:100%;padding:40px 20px}.item-scanner-loading,.loading-content{align-items:center;display:flex;flex-direction:column}.loading-content{gap:20px;margin-bottom:0}.loading-spinner{align-items:center;display:flex;height:56px;justify-content:center;position:relative;width:56px}.loading-spinner:before{border:4px solid #e5e7eb;border-radius:50%;box-sizing:border-box;content:"";inset:0;position:absolute}.spinner-circle{animation:spin .9s linear infinite;border-color:#10b981 #34d399 #0000 #0000;border-radius:50%;border-style:solid;border-width:4px;box-sizing:border-box;inset:2px;position:absolute}.loading-text{color:#111827;text-align:center}.loading-line1,.loading-line2{color:#111827;font-size:16px;font-weight:500;margin:0}.loading-time{color:#6b7280;font-size:14px;margin:8px 0 0}.loading-progress{margin-top:20px;max-width:300px;width:100%}.progress-bar{border-radius:2px;height:4px}.progress-fill{background:#10b981;border-radius:2px}.camera-view{border-radius:8px;display:flex;flex-direction:column;height:60vh;margin:0 auto;max-height:60vh;overflow:hidden;position:relative}.camera-video,.camera-view{background:#000;min-height:400px;width:100%}.camera-video{display:block;height:100%;object-fit:cover}.camera-controls{align-items:center;background:linear-gradient(0deg,#000000b3,#0000);bottom:0;display:flex;justify-content:space-between;left:0;padding:20px;position:absolute;right:0}.help-btn,.upload-btn-camera{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:8px;color:#fff;font-size:14px;gap:8px;padding:12px 16px}.capture-btn,.help-btn,.upload-btn-camera{align-items:center;cursor:pointer;display:flex}.capture-btn{background:#fff;border:4px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 12px #0000004d;height:70px;justify-content:center;width:70px}.camera-icon{font-size:32px}.captured-preview{align-items:center;bottom:100px;display:flex;gap:12px;left:20px;position:absolute}.captured-preview img{border:2px solid #fff;border-radius:8px;height:60px;object-fit:cover;width:60px}.remove-capture-btn{background:#ef4444;border-radius:50%;font-size:16px;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px}.continue-btn,.remove-capture-btn{align-items:center;border:none;color:#fff;cursor:pointer;display:flex}.continue-btn{background:#10b981;border-radius:8px;font-size:14px;font-weight:600;gap:8px;padding:12px 20px}.upload-section{background:#fff;justify-content:center;min-height:400px;padding:40px 20px}.upload-main,.upload-section{align-items:center;display:flex;flex-direction:column}.upload-main{gap:20px;max-width:400px;width:100%}.camera-primary-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 12px #0000001a;cursor:pointer;display:flex;flex-direction:column;gap:12px;height:120px;justify-content:center;padding:20px;transition:all .2s;width:120px}.camera-primary-btn:hover{border-color:#2e7d32;box-shadow:0 6px 16px #2e7d3233;transform:translateY(-2px)}.camera-primary-btn:active{transform:translateY(0) scale(.95)}.camera-primary-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.camera-primary-btn:disabled:hover{border-color:#e5e7eb;box-shadow:0 4px 12px #0000001a;transform:none}.camera-icon-large{font-size:48px}.camera-primary-btn span:last-child{color:#1f2937;font-size:16px;font-weight:600}.upload-secondary-btn{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s}.upload-secondary-btn:hover{background:#fff;border-color:#2e7d32;color:#2e7d32}.upload-secondary-btn:disabled{cursor:not-allowed;opacity:.5}.upload-secondary-btn:disabled:hover{background:#f9fafb;border-color:#e5e7eb;color:#374151}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin:0 0 20px;max-width:560px;overflow-wrap:anywhere;padding:12px 16px;white-space:normal;width:100%;word-break:break-word}.manual-add-btn{width:160px}.products-preview-list{gap:16px;padding:20px}.product-preview-card,.products-preview-list{background:#fff;display:flex;flex-direction:column}.product-preview-card{border:1px solid #e5e7eb;border-radius:12px;gap:12px;padding:16px}.product-preview-left{align-items:flex-start;display:flex;gap:0}.product-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.product-name-input-preview{background:#0000;border:none;border-bottom:1px solid #0000;color:#111827;font-size:16px;font-weight:600;padding:4px 0;transition:border-color .2s}.product-name-input-preview:focus{border-bottom-color:#10b981;outline:none}.product-expiry-display{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.product-expiry-input{background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px}.expiry-text,.product-expiry-input{color:#6b7280;font-size:14px}.product-preview-right{align-items:center;display:flex;gap:8px}.product-icons{display:flex;gap:4px}.product-icon{font-size:20px}.product-actions{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:12px;margin-top:8px;padding-top:12px}.delete-btn,.edit-btn{background:none;border:none;cursor:pointer;font-size:18px;opacity:.7;padding:4px;transition:opacity .2s}.delete-btn:hover,.edit-btn:hover{opacity:1}.location-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.location-btn.active{background:#10b981;color:#fff}.location-btn:not(.active):hover{background:#e5e7eb}.location-toggle-group{align-items:center;display:flex;gap:8px;margin-left:auto}.item-scanner-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.add-all-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.add-all-btn:hover:not(:disabled){background:#1b5e20}.add-all-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:768px){.item-scanner-container{height:100vh}.camera-controls{padding:16px}.capture-btn{height:60px;width:60px}.camera-icon{font-size:24px}.products-preview-list{padding:16px}.product-preview-card{padding:12px}.item-scanner-content,.item-scanner-footer,.item-scanner-header{padding-left:16px!important;padding-right:16px!important}.tab-selector,.tabs-container{gap:8px}.tab-btn{flex:1 1;min-width:0}}.barcode-scanner-overlay{align-items:center;animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.barcode-scanner-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0006;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.scanner-header{background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:8px 8px 0 0;justify-content:space-between;padding:12px 16px}.scanner-header,.scanner-header h3{align-items:center;color:#fff;display:flex}.scanner-header h3{font-size:14px;font-weight:600;gap:6px;line-height:1.2;margin:0}.scanner-header h3:before{content:"📱";font-size:12px}.scan-mode-toggle{border-bottom:1px solid #e0e0e0;display:flex;gap:8px;padding:0 20px 15px}.mode-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s ease}.mode-btn:hover{background:#f0f9ff;border-color:#1976d2}.mode-btn.active{background:#1976d2;border-color:#1976d2;color:#fff}.close-btn{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.close-btn:hover{background:#fff3}.scanner-content{padding:20px}.scanner-container{background:#000;border-radius:8px;height:60vh;margin-bottom:20px;max-height:70vh;overflow:hidden;position:relative;width:100%}.scanner-container:before{border:4px solid #0f0;border-radius:12px;box-shadow:0 0 0 9999px #00000080,0 0 20px #00ff0080;height:150px;width:250px}.scanner-container:after,.scanner-container:before{content:"";left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.scanner-container:after{animation:scanPulse 2s infinite;border:2px solid #0f0;border-radius:8px;height:100px;width:200px}.scanner-container.no-frame:after,.scanner-container.no-frame:before{display:none!important}.scanner-container.qr-mode:after,.scanner-container.qr-mode:before{border-radius:12px;height:150px;width:150px}.scanner-container.qr-mode .scanner-guide{height:150px;width:150px}@keyframes scanPulse{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.scanner-guide{height:150px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:250px;z-index:15}.scanner-guide:after,.scanner-guide:before{border:3px solid #0f0;content:"";height:20px;position:absolute;width:20px}.scanner-guide:before{border-bottom:none;border-right:none;left:0;top:0}.scanner-guide:after{border-left:none;border-top:none;bottom:0;right:0}.scanner-guide .corner-bottom-left,.scanner-guide .corner-top-right{border:3px solid #0f0;height:20px;position:absolute;width:20px}.scanner-guide .corner-top-right{border-bottom:none;border-left:none;right:0;top:0}.scanner-guide .corner-bottom-left{border-right:none;border-top:none;bottom:0;left:0}.scanner-video{height:100%;width:100%}.quagga-overlay,.quagga-overlay .drawingBuffer,.scanner-video canvas,.scanner-video video{height:100%!important;left:0;object-fit:cover;position:absolute;top:0;width:100%!important}.scanner-placeholder{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.scanner-placeholder p{font-size:16px;margin:0}.scanner-error{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.scanner-error p{color:#e53e3e;margin:0 0 15px}.retry-btn{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.retry-btn:hover{background:#c53030}.scan-result{margin-top:20px}.loading{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:20px}.loading p{color:#0369a1;font-weight:500;margin:0}.success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:20px;text-align:center}.success h4{color:#16a34a;font-size:1.1rem;margin:0 0 15px}.success p{color:#166534;margin:5px 0}.success p strong{font-weight:600}.error{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;padding:20px;text-align:center}.error h4{color:#e53e3e;font-size:1.1rem;margin:0 0 15px}.error p{color:#c53030;margin:5px 0}.error-actions{display:flex;gap:12px;margin-top:15px}.custom-btn{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.custom-btn:hover{background:#1565c0}.custom-product-form{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:20px;max-height:400px;overflow-y:auto;padding:20px;text-align:left}.custom-product-form h4{color:#1976d2;font-size:1.1rem;margin:0 0 15px}.custom-product-form p{color:#666;font-size:14px;margin:0 0 20px}.custom-product-form .form-group{margin-bottom:15px}.custom-product-form label{color:#333;display:block;font-weight:500;margin-bottom:5px}.custom-product-form input,.custom-product-form textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.custom-product-form input:focus,.custom-product-form textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d233;outline:none}.form-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;bottom:0;margin-top:20px;padding-top:15px;position:-webkit-sticky;position:sticky;z-index:10}.cancel-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.cancel-btn:hover{background:#4b5563}.create-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.create-btn:hover{background:#059669}.scanner-instructions{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:15px;text-align:center}.scanner-instructions p{color:#666;font-size:14px;margin:0}.scanner-instructions .qr-note{color:#1976d2;font-size:12px;font-style:italic;margin-top:5px}#scanner-container{height:100%;position:relative;width:100%}.quagga-overlay{bottom:0;pointer-events:none;right:0}.quagga-overlay,.quagga-overlay .drawingBuffer{left:0;position:absolute;top:0}@media (max-width:768px){.barcode-scanner-modal{margin:10px;width:95%}.scanner-container{height:55vh}.scanner-content,.scanner-header{padding:15px}}@media (max-width:480px){.scanner-container{height:50vh}.scanner-header h3{font-size:1rem}}.confirmation-overlay{animation:fadeIn .2s ease-out;background:#0009;bottom:0;left:0;right:0;top:0;z-index:1002}.confirmation-card{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:480px;overflow:hidden;padding:0;width:100%}.confirmation-header{align-items:center;background:linear-gradient(135deg,#059669,#047857);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.confirmation-header h3{color:#fff;font-size:20px;font-weight:700;margin:0}.confirmation-close{background:#fff3;font-size:24px;transition:all .2s ease}.confirmation-close:hover{background:#ffffff4d;transform:scale(1.1)}.confirmation-subtitle{color:#6b7280;font-size:14px;margin:0 0 16px;padding:16px 24px 0}.confirmation-card form{flex:1 1;overflow-y:auto;padding:0 24px 24px}.confirmation-card .form-group{margin-bottom:16px}.confirmation-card label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.confirmation-card .form-input,.confirmation-card .form-select,.confirmation-card .form-textarea{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.confirmation-card .form-input:focus,.confirmation-card .form-select:focus,.confirmation-card .form-textarea:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;outline:none}.confirmation-card .form-textarea{min-height:80px;resize:vertical}.confirmation-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-top:20px;padding-top:20px}.confirmation-actions .cancel-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.confirmation-actions .cancel-btn:hover{background:#4b5563;box-shadow:0 4px 12px #6b72804d;transform:translateY(-2px)}.confirmation-actions .confirm-btn{background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.confirmation-actions .confirm-btn:hover{background:#047857;box-shadow:0 4px 12px #05966966;transform:translateY(-2px)}@media (max-width:768px){.confirmation-card{max-width:95%}}.pantry-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 32px 32px;transition:margin-left .3s ease}.pantry-container.sidebar-open{margin-left:220px}.pantry-header{justify-content:space-between;margin-bottom:32px}.pantry-header,.pantry-title{align-items:center;display:flex}.pantry-title{color:#1f2937;font-size:32px;font-weight:700;gap:12px;margin:0}.pantry-subtitle{color:#6b7280;font-size:16px;margin:4px 0 0}.header-actions,.scan-item-btn{align-items:center;display:flex;gap:8px}.scan-item-btn{background:#1976d2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.scan-item-btn:hover{background:#1565c0;box-shadow:0 4px 12px #1976d24d;transform:translateY(-1px)}.scan-item-btn span{font-size:16px}.receipt-scanner-btn{align-items:center;background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.receipt-scanner-btn:hover{background:#7c3aed;box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.receipt-scanner-btn span{font-size:16px}.add-item-btn{background:#2e7d32;border-radius:8px;font-size:14px;padding:12px 20px;transition:background .2s ease}.add-item-btn:hover{background:#256029}.quick-add-btn{align-items:center;background:#0f766e;border-radius:8px;display:flex;font-weight:600;gap:8px;padding:12px 20px}.quick-add-btn:hover{background:#0b5f58}.bulk-select-btn,.quick-add-btn,.scan-item-btn{min-height:46px}.pantry-add-choice-overlay{align-items:center;background:#00000073;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.pantry-add-choice-card{background:#fff;border-radius:12px;box-shadow:0 14px 30px #0003;max-width:420px;padding:24px;width:100%}.pantry-add-choice-title{color:#1f2937;font-size:20px;font-weight:700;margin:0 0 6px}.pantry-add-choice-subtitle{color:#6b7280;font-size:14px;margin:0 0 16px}.pantry-add-choice-actions{display:flex;gap:10px}.pantry-add-choice-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 14px}.pantry-add-choice-btn.manual{background:#2e7d32}.pantry-add-choice-btn.quick{background:#0f766e}.pantry-add-choice-btn.manual:hover{background:#256029}.pantry-add-choice-btn.quick:hover{background:#0b5f58}.summary-card{display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:24px}.summary-number{font-size:36px}.summary-number.red{color:#dc2626}.summary-label{font-size:16px}.alert-banner{align-items:flex-start;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;box-sizing:border-box;display:flex;gap:12px;height:100px;margin-bottom:24px;max-height:100px;max-width:100%;overflow:hidden;padding:16px}.alert-icon{color:#dc2626;flex-shrink:0;font-size:20px}.alert-content{display:flex;flex:1 1;flex-direction:column;height:68px;justify-content:center;max-height:68px;min-width:0;overflow:hidden}.alert-title{color:#1f2937;font-size:17px;font-weight:700;margin:0 0 4px}.alert-items,.alert-title{line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-items{color:#6b7280;font-size:15px;margin:0}.alert-suggestions{align-items:center;background:#ffffff4d;border-radius:6px;box-sizing:border-box;color:#92400e;display:flex;flex-shrink:0;font-size:12px;gap:6px;height:24px;margin-top:6px;max-height:24px;max-width:100%;min-height:24px;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap;width:100%}.alert-suggestions.loading{color:#6b7280;transition:opacity .3s ease}.alert-suggestions.error,.alert-suggestions.loading{font-style:italic;height:24px;max-height:24px;min-height:24px;opacity:.8}.alert-suggestions.error{color:#dc2626}.loading-indicator{animation:pulse 1.5s ease-in-out infinite;display:inline-block;font-size:10px;margin-left:6px;opacity:.6}.alert-suggestions .suggestion-icon{flex-shrink:0;font-size:14px}.suggestion-icon{font-size:14px}.compact-loading{gap:4px;height:24px;max-height:24px;max-width:100%;min-height:24px;overflow:hidden}.compact-loading,.loading-dots{align-items:center;display:inline-flex}.loading-dots{flex-shrink:0;gap:2px}.loading-dots span{animation:loading-dots 1.4s ease-in-out infinite;background:#6b7280;border-radius:50%;flex-shrink:0;height:3px;width:3px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-dots{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.search-section{box-sizing:border-box;max-width:none;width:100%}.search-container{margin-bottom:0}.search-input{font-size:18px;height:52px;padding:16px 20px}.items-grid{grid-gap:20px;align-content:start;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));justify-content:start;margin-top:16px;padding:0;width:100%}.items-grid:has(.item-card:first-child:last-child),.items-grid:has(.item-card:nth-child(2):last-child){max-width:100%}.item-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;display:block;margin-bottom:0;min-height:240px;padding:24px;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.item-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.item-card.highlighted{border:2px solid #f59e0b}.item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.item-title{color:#1f2937;font-size:26px;font-weight:700;margin:0 0 8px}.item-quantity{font-size:18px;margin:0}.item-quantity-container{align-items:center;display:flex;gap:12px}.quantity-controls{display:flex;gap:4px}.quantity-btn{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:28px;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:28px}.quantity-btn:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.quantity-btn:active{background:#d1d5db;transform:translateY(0)}.quantity-btn.minus-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.quantity-btn.plus-btn:hover{background:#f0fdf4;border-color:#86efac;color:#16a34a}.quantity-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.quantity-btn:disabled:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151;transform:none}@media (max-width:768px){.item-quantity-container{align-items:flex-start;flex-direction:column;gap:8px}.quantity-controls{gap:6px}.quantity-btn{font-size:18px;height:32px;width:32px}}.item-actions{display:flex;gap:8px}.action-btn{border-radius:6px;color:#9ca3af;font-size:18px;transition:color .2s ease}.action-btn:hover{color:#6b7280}.item-tags{display:flex;gap:8px;margin-bottom:12px}.item-tag{align-items:center;background:#f3f4f6;border-radius:12px;color:#6b7280;display:flex;font-size:16px;gap:6px;justify-content:center;min-width:100px;padding:10px 16px;white-space:nowrap}.item-tag.fridge{background:#dbeafe;color:#1e40af}.item-tag.pantry{background:#fef3c7;color:#92400e}.item-tag.days{background:#fee2e2;color:#dc2626}.item-tag.days.orange{background:#fed7aa;color:#ea580c}.progress-fill.orange{background:#f59e0b}.progress-fill.red{background:#dc2626}.item-description{color:#6b7280;font-size:12px;font-style:italic;margin:0 0 8px}.item-meta-note{color:#6b7280;font-size:12px;margin:-4px 0 10px 2px}.item-alert{align-items:center;color:#f59e0b;display:flex;font-size:14px;font-weight:600;gap:6px}@media (max-width:1200px){.pantry-container,.pantry-container.sidebar-open{margin-left:0}}@media (max-width:768px){.pantry-container{padding:100px 20px 20px}.pantry-header{align-items:flex-start;flex-direction:column;gap:16px}.pantry-title{font-size:28px}.summary-cards{gap:16px;grid-template-columns:repeat(2,1fr)}.items-grid{gap:8px;grid-template-columns:1fr;justify-content:center;margin-top:8px;padding:0 12px}.add-item-btn{justify-content:center;width:100%}}.pantry-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.pantry-modal-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;min-width:600px;width:50%}.pantry-modal-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.pantry-modal-title{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.pantry-modal-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.pantry-kitchen{color:#374151;font-weight:600}.pantry-help-link{color:#2e7d32;cursor:pointer;text-decoration:underline}.pantry-help-link:hover{color:#1b5e20}.pantry-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:20px;top:15px;width:30px}.pantry-modal-close:hover{background:#f3f4f6;color:#374151}.pantry-modal-content{background:#fff;flex:1 1;overflow-y:auto;padding:20px 30px}.pantry-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.pantry-cancel-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.pantry-cancel-btn:hover{background:#4b5563}.pantry-submit-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.pantry-submit-btn:hover{background:#1b5e20}.modal-content{max-height:85vh;max-width:520px;overflow:hidden}.modal-header h3{color:#fff}.modal-header h3:before{content:"📦"}.modal-body{max-height:60vh;overflow-y:auto;padding:20px 24px}.form-group{margin-bottom:18px;position:relative}.form-group label{font-size:12px;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fafafa;box-sizing:border-box;font-family:inherit;padding:10px 14px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;box-shadow:0 0 0 4px #2e7d321a;transform:translateY(-1px)}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af;font-style:italic}.form-group input[type=date]{color-scheme:light}.form-group input[type=date]::-webkit-calendar-picker-indicator{border-radius:4px;cursor:pointer;margin-right:2px;opacity:.6;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.btn-primary:disabled{position:relative}.btn-primary:disabled:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:16px;margin:auto;position:absolute;width:16px}.form-group textarea{font-family:inherit;max-height:80px;min-height:60px}.form-group select{-webkit-appearance:none;appearance:none;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 12px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:40px}.modal-actions{background:#f8fafc;border-top:1px solid #e2e8f0;gap:16px;padding:16px 24px}.btn-primary,.btn-secondary{border-radius:10px;font-size:15px;letter-spacing:.5px;text-transform:uppercase;transition:all .3s ease}.btn-primary{box-shadow:0 4px 12px #2e7d324d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#256029,#45a049);box-shadow:0 6px 16px #2e7d3266;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #e5e7eb}.btn-secondary:hover{background:#f8fafc;transform:translateY(-1px)}.delete-confirm-modal{max-width:450px}.delete-header{background:linear-gradient(135deg,#dc2626,#ef4444)}.delete-header h3{color:#fff}.delete-content{margin-bottom:24px}.delete-text h4{font-weight:600}.item-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:12px 0;padding:12px}.item-name{color:#1f2937;font-size:16px;font-weight:600}.item-details{color:#6b7280;font-size:14px}.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 4px 12px #dc26264d}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#dc2626);box-shadow:0 6px 16px #dc262666;transform:translateY(-2px)}.form-group input:invalid:not(:placeholder-shown),.form-group select:invalid:not(:placeholder-shown),.form-group textarea:invalid:not(:placeholder-shown){background:#fef2f2;border-color:#ef4444}.form-group input:valid:not(:placeholder-shown),.form-group select:valid:not(:placeholder-shown),.form-group textarea:valid:not(:placeholder-shown){background:#f0fdf4;border-color:#10b981}@media (max-width:1024px){.items-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));justify-content:start;margin-top:12px;padding:0 16px}}@media (max-width:768px){.pantry-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{justify-content:flex-end;width:100%}.quick-add-btn,.scan-item-btn{flex:1 1;font-size:13px;justify-content:center;padding:10px 16px}.pantry-add-choice-actions{flex-direction:column}.alert-banner{height:85px;margin-bottom:20px;max-height:85px;padding:12px}.alert-content{height:61px;max-height:61px}.alert-title{font-size:15px}.alert-items{font-size:13px}.alert-suggestions{font-size:11px;height:20px;margin-top:4px;max-height:20px;min-height:20px;padding:4px 8px}.loading-dots span{height:2px;width:2px}.modal-overlay{padding:10px}.modal-content{border-radius:12px;max-height:95vh}.modal-header{padding:16px 20px}.modal-header h3{font-size:16px}.modal-actions,.modal-body{padding:16px 20px}.modal-actions{flex-direction:column;gap:12px}.btn-primary,.btn-secondary{font-size:14px;padding:14px 20px;width:100%}.form-group{margin-bottom:14px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:14px 16px}.delete-confirm-modal{max-width:95%}.delete-content{flex-direction:column;gap:12px;text-align:center}.delete-icon{font-size:28px}.delete-text h4{font-size:16px}}@media (max-width:480px){.pantry-container{padding:100px 16px 16px}.pantry-title{font-size:24px}.summary-cards{gap:12px;grid-template-columns:1fr}.summary-card{padding:16px}.summary-number{font-size:28px}.item-card{padding:16px}}.bulk-select-btn{align-items:center;background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.bulk-select-btn:hover{background:#4b5563;box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.bulk-select-btn.active{background:#dc2626}.bulk-select-btn.active:hover{background:#b91c1c}.bulk-select-btn span{font-size:16px}.bulk-actions-bar{align-items:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.bulk-info{color:#374151;font-weight:600}.bulk-actions{display:flex;gap:12px}.bulk-select-all-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.bulk-select-all-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.bulk-select-all-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.bulk-select-all-btn span{font-size:16px}.bulk-delete-btn{align-items:center;background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.bulk-delete-btn:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.bulk-delete-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.bulk-select-mode{border:2px solid #0000;position:relative;transition:all .2s ease}.bulk-select-mode:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.bulk-select-mode.selected{background-color:#fef2f2;border-color:#dc2626;box-shadow:0 4px 12px #dc262633}.bulk-select-checkbox{left:12px;position:absolute;top:12px;z-index:10}.bulk-select-checkbox input[type=checkbox]{accent-color:#dc2626;cursor:pointer;height:20px;width:20px}.pantry-ingredient-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.pantry-ingredient-modal-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:900px;min-width:700px;width:60%}.pantry-ingredient-modal-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.pantry-ingredient-modal-title{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.pantry-ingredient-modal-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.pantry-quick-kitchen{color:#374151;font-weight:600}.pantry-all-ingredients-link{color:#2e7d32}.pantry-ingredient-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:20px;top:15px;width:30px}.pantry-ingredient-modal-close:hover{background:#f3f4f6;color:#374151}.pantry-ingredient-modal-content{background:#fff;flex:1 1;overflow-y:auto;padding:20px 30px}.quickstart-info-box{background:#f0fdf4;border:1px solid #86efac;border-radius:10px;margin-bottom:16px;padding:12px 14px}.quickstart-info-box h4{color:#166534;font-size:15px;margin:0 0 8px}.quickstart-info-box p{color:#14532d;font-size:13px;line-height:1.4;margin:0 0 6px}.quickstart-info-box p:last-child{margin-bottom:0}.pantry-ingredient-category-section{margin-bottom:25px}.pantry-ingredient-category-title{border-bottom:2px solid #2e7d32;color:#374151;font-size:16px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding-bottom:5px;text-transform:uppercase}.pantry-ingredient-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.pantry-ingredient-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:8px;min-height:62px;padding:10px 12px;transition:all .2s ease}.pantry-ingredient-item:hover{background:#f9fafb;border-color:#2e7d32}.pantry-ingredient-item input[type=checkbox]{accent-color:#2e7d32;cursor:pointer;height:18px;margin:0;width:18px}.pantry-ingredient-item input[type=checkbox]:checked+.pantry-ingredient-name{color:#2e7d32;font-weight:600}.pantry-ingredient-item:has(input:checked){background:#f0f9f0;border-color:#2e7d32}.pantry-ingredient-name{color:#374151;cursor:pointer;font-size:14px;font-weight:500;line-height:1.25;-webkit-user-select:none;user-select:none}.pantry-ingredient-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.pantry-ingredient-clear-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.pantry-ingredient-clear-btn:hover:not(:disabled){background:#4b5563}.pantry-ingredient-skip-btn{background:#0000;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.pantry-ingredient-skip-btn:hover:not(:disabled){background:#f3f4f6;color:#374151}.pantry-ingredient-apply-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.pantry-ingredient-apply-btn:hover:not(:disabled){background:#1b5e20}.pantry-ingredient-apply-btn:disabled,.pantry-ingredient-clear-btn:disabled,.pantry-ingredient-skip-btn:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.pantry-ingredient-modal-container{max-width:95vw;min-width:auto;width:90%}.pantry-ingredient-list{grid-template-columns:repeat(2,1fr)}.pantry-ingredient-modal-header{padding:15px 20px}.pantry-ingredient-modal-title{font-size:24px}.pantry-ingredient-modal-content,.pantry-ingredient-modal-footer{padding:15px 20px}.pantry-header{margin-bottom:18px}.pantry-title{font-size:26px;gap:8px}.pantry-subtitle{font-size:14px}.add-item-btn,.bulk-select-btn,.quick-add-btn,.receipt-scanner-btn,.scan-item-btn{justify-content:center;padding:12px 14px;width:100%}.summary-cards{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{align-items:center;border-radius:14px;display:flex;flex-direction:column;justify-content:center;min-height:68px;padding:10px 8px}.summary-number{font-size:20px;line-height:1;margin-bottom:3px}.summary-label{font-size:11px;line-height:1.2;text-align:center}.pantry-add-choice-card{border-radius:22px 22px 12px 12px;padding:20px}.pantry-add-choice-actions{flex-direction:column}}@media (max-width:480px){.summary-cards{gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{border-radius:12px;min-height:60px;padding:8px 6px}.summary-number{font-size:18px;margin-bottom:2px}.summary-label{font-size:10px;line-height:1.1}}.confirmation-overlay{align-items:center;background:#12141080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.delete-confirmation-card{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;overflow:hidden;width:100%}.confirmation-close{align-items:center;background:#ffffff2e;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;width:32px}.confirmation-close:hover{background:#ffffff47}.delete-confirmation-header{align-items:center;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.delete-confirmation-header h3{color:#fff;font-size:20px;font-weight:700;margin:0}.delete-confirmation-body{padding:32px 24px;text-align:center}.delete-icon-large{animation:pulse 2s ease-in-out infinite;font-size:56px;margin-bottom:16px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.delete-confirmation-body h4{color:#1f2937;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 20px}.item-preview-box{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin:20px 0;padding:16px}.preview-item-name{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:8px}.preview-item-details{color:#6b7280;font-size:14px}.delete-warning-text{color:#dc2626;font-size:14px;font-style:italic;font-weight:500;margin:20px 0 0}.delete-confirmation-actions{display:flex;gap:12px;padding:0 24px 24px}.delete-confirmation-actions .cancel-btn{background:#6b7280;border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.delete-confirmation-actions .cancel-btn:hover:not(:disabled){background:#4b5563;box-shadow:0 4px 12px #6b72804d;transform:translateY(-2px)}.delete-confirmation-actions .delete-btn{background:#dc2626;border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.delete-confirmation-actions .delete-btn:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc262666;transform:translateY(-2px)}.delete-confirmation-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}@media (max-width:768px){.confirmation-overlay{padding:10px}.delete-confirmation-card{margin:0 auto;max-width:95%}.delete-icon-large{font-size:48px}.delete-confirmation-body{padding:24px 20px}.delete-confirmation-body h4{font-size:16px}}body.ui-touch .confirmation-overlay{align-items:center!important;inset:0!important;justify-content:center!important;padding:calc(10px + env(safe-area-inset-top, 0px)) 10px calc(10px + env(safe-area-inset-bottom, 0px))!important;position:fixed!important;z-index:5000!important}body.ui-touch .delete-confirmation-card{margin-bottom:calc(24px + env(safe-area-inset-bottom, 0px))!important;max-height:calc(100dvh - 170px)!important;max-width:min(100%,380px)!important;overflow-y:auto!important;position:relative!important;transform:translateY(-20px)!important;width:min(100%,380px)!important;z-index:5001!important}.shopping-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 32px 32px;transition:margin-left .3s ease}.shopping-container.sidebar-open{margin-left:220px}.shopping-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.shopping-title{align-items:center;color:#1f2937;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0 0 8px}.shopping-subtitle{color:#6b7280;font-size:16px;margin:0}.shopping-header .header-actions{align-items:center;display:flex;gap:10px}.add-item-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:12px;box-shadow:0 4px 12px #2e7d324d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.add-item-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 6px 20px #2e7d3266;transform:translateY(-2px)}.essentials-btn{align-items:center;background:linear-gradient(135deg,#0f766e,#115e59);border:none;border-radius:12px;box-shadow:0 4px 12px #0f766e4d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.essentials-btn:hover{background:linear-gradient(135deg,#115e59,#134e4a);box-shadow:0 6px 20px #0f766e66;transform:translateY(-2px)}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center}.summary-number{font-size:32px;font-weight:700;margin:0 0 8px}.summary-number.green{color:#2e7d32}.summary-number.blue{color:#1e40af}.summary-number.orange{color:#ea580c}.summary-number.purple{color:#7c3aed}.summary-label{color:#6b7280;font-size:14px;margin:0}.search-section{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin:0 0 24px;padding:24px;width:97.3%}.search-container{align-items:center;display:flex;margin-bottom:20px;position:relative}.search-input{background:linear-gradient(90deg,#d9d9d9,#f8f8f8);border:2px solid #ccc;box-shadow:0 2px 5px #0000001a,inset 0 0 5px #0003;color:#555;font-size:16px;height:40px;outline:none;padding:12px 20px;position:relative;transform-style:preserve-3d;transition:box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease;width:100%}.search-input:focus{animation:inputPulse .5s ease;background:linear-gradient(90deg,#c2f0c2,#f0f0f0);border-color:#4caf50;transform:rotateX(5deg)}.search-input:focus,.search-input:hover{box-shadow:0 2px 5px #0000001a,inset 0 0 10px #0003}.search-input:hover{background:linear-gradient(90deg,#e6e6e6,#f9f9f9);border-color:#999}.search-input::placeholder{color:#999}.clear-search-btn{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:24px;justify-content:center;padding:4px;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px;z-index:1}.clear-search-btn:hover{background:#fef2f2;color:#dc2626;transform:translateY(-50%) scale(1.1)}@keyframes inputPulse{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.filter-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s ease}.filter-btn:hover{background:#f9fafb;border-color:#d1d5db}.filter-btn.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.lists-section{margin-bottom:32px}.section-header{flex-wrap:wrap;gap:8px;margin-bottom:16px}.section-indicators{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.auto-add-indicator{background:#d1fae5;border:1px solid #a7f3d0;border-radius:20px;color:#065f46}.auto-add-indicator,.essentials-indicator{align-items:center;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.essentials-indicator{background:#ecfeff;border:1px solid #99f6e4;border-radius:20px;color:#0f766e}.indicator-icon{font-size:14px}.indicator-text{white-space:nowrap}.lists-grid{grid-gap:20px;align-content:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));justify-content:start}.list-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;max-width:400px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.essentials-list-card{background:linear-gradient(180deg,#fff,#f0fdfa);border:2px solid #0f766e}.list-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.list-title{color:#1f2937;font-size:18px;font-weight:600;margin:0}.essentials-lock-badge{color:#0f766e;font-size:14px;font-weight:600}.completed-badge{color:#059669;font-size:16px;font-weight:500}.list-actions{display:flex;gap:8px}.action-btn{align-items:center;color:#475569;display:inline-flex;font-size:16px;height:28px;justify-content:center;line-height:1;padding:0;transition:color .2s ease,background-color .2s ease,transform .2s ease;width:28px}.action-btn:hover{background:#eef2f7;transform:translateY(-1px)}.action-btn--share:hover{color:#2563eb}.action-btn--print:hover{color:#4338ca}.action-btn--edit:hover{color:#0f766e}.action-btn--bulk:hover{color:#166534}.action-btn--danger{color:#b91c1c}.action-btn--danger:hover{background:#fee2e2;color:#991b1b}.list-stats{color:#6b7280;display:flex;font-size:14px;gap:16px;margin-bottom:16px}.stat-item{gap:4px}.list-items{margin-bottom:16px}.list-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:12px;padding:8px 0}.list-item:last-child{border-bottom:none}.item-checkbox{border:2px solid #d1d5db;border-radius:3px;cursor:pointer;height:16px;width:16px}.item-checkbox.checked{background:#2e7d32;border-color:#2e7d32}.item-name{color:#374151;flex:1 1;font-size:14px}.item-name.completed{color:#9ca3af;text-decoration:line-through}.item-quantity{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 6px}.list-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding-top:16px}.list-date{color:#9ca3af;font-size:12px}.list-progress{color:#6b7280;font-size:12px}.quick-add{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:32px;padding:20px}.quick-add-title{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 16px}.quick-add-form{align-items:center;display:flex;gap:12px}.quick-input{border:1px solid #e5e7eb;border-radius:6px;flex:1 1;font-size:14px;outline:none;padding:10px 12px}.quick-input:focus{border-color:#2e7d32}.quick-quantity{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;outline:none;padding:10px 12px;width:80px}.quick-add-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 16px;transition:background .2s ease}.quick-add-btn:hover{background:#256029}@media (max-width:1200px){.shopping-container,.shopping-container.sidebar-open{margin-left:0}}@media (max-width:768px){.shopping-container{padding:100px 20px 20px}.shopping-header{align-items:flex-start;flex-direction:column;gap:16px}.shopping-title{font-size:28px}.summary-cards{gap:16px;grid-template-columns:repeat(2,1fr)}.lists-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));justify-content:start}.add-item-btn,.essentials-btn{justify-content:center;width:100%}}@media (max-width:480px){.shopping-container{padding:100px 16px 16px}.shopping-title{font-size:24px}.summary-cards{gap:12px;grid-template-columns:1fr}.summary-card{padding:16px}.summary-number{font-size:28px}.list-card{padding:16px}.quick-add-form{align-items:stretch;flex-direction:column}.quick-quantity{width:100%}}.shopping-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.shopping-modal-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;min-width:600px;width:50%}.shopping-modal-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.shopping-modal-title{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.shopping-modal-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.shopping-kitchen{color:#374151;font-weight:600}.shopping-help-link{color:#2e7d32;cursor:pointer;text-decoration:underline}.shopping-help-link:hover{color:#1b5e20}.shopping-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:20px;top:15px;width:30px}.shopping-modal-close:hover{background:#f3f4f6;color:#374151}.shopping-modal-content{background:#fff;flex:1 1;overflow-y:auto;padding:20px 30px}.shopping-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.shopping-cancel-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.shopping-cancel-btn:hover{background:#4b5563}.shopping-submit-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.shopping-submit-btn:hover{background:#1b5e20}.modal-header{padding:16px 20px}.modal-header h3{align-items:center;display:flex;font-size:18px;font-weight:700;gap:8px}.modal-header h3:before{content:"🛒";font-size:16px}.modal-overlay .modal-content .modal-header h3{color:#fff!important;font-size:18px!important;font-weight:700!important}.modal-overlay .modal-content .modal-header{background:linear-gradient(135deg,#4caf50,#2e7d32)!important;color:#fff!important}.modal-body{padding:20px}.form-help{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;padding:12px}.form-help p{color:#6b7280;font-size:12px;margin:0 0 4px}.form-help p:last-child{margin-bottom:0}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:12px 24px;transition:all .2s ease}.list-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:12px 0;padding:12px}.delete-item-btn{align-items:center;background:none;border:none;border-radius:4px;color:#b91c1c;cursor:pointer;display:inline-flex;font-size:14px;height:24px;justify-content:center;margin-left:8px;padding:0;transition:background-color .2s ease,color .2s ease,transform .2s ease;width:24px}.delete-item-btn:hover{background:#fee2e2;color:#991b1b;transform:scale(1.05)}.no-items{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.modal-content{margin:20px;width:95%}.modal-header{padding:16px 20px}.modal-header h3{font-size:16px}.modal-body{padding:20px}.form-row{gap:0}.form-row,.modal-actions{flex-direction:column}.section-indicators{align-items:flex-start;width:100%}.btn-danger,.btn-primary,.btn-secondary{width:100%}.shopping-header{margin-bottom:18px}.list-card,.summary-card{border-radius:18px}.lists-grid{grid-template-columns:1fr}.shopping-modal-container{border-radius:22px 22px 12px 12px}}.mealplans-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 32px 32px;transition:margin-left .3s ease}.mealplans-container.sidebar-open{margin-left:220px}.mealplans-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.mealplans-title{align-items:center;color:#1f2937;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0 0 8px}.mealplans-subtitle{color:#6b7280;font-size:16px;margin:0}.create-plan-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:12px;box-shadow:0 4px 12px #2e7d324d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.create-plan-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 6px 20px #2e7d3266;transform:translateY(-2px)}.quick-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.stat-card{border:1px solid #e5e7eb;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.stat-number{font-size:28px;margin-bottom:8px}.stat-number.green{color:#059669}.stat-number.blue{color:#2563eb}.stat-number.purple{color:#7c3aed}.stat-label{font-weight:500}.section-header{align-items:center;display:flex;justify-content:space-between}.section-title-container{align-items:center;display:flex;flex-direction:row-reverse;gap:16px}.section-title{margin:0}.toggle-label-small{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.toggle-checkbox{display:none}.toggle-slider-small{background:#d1d5db;border-radius:9px;height:18px;position:relative;transition:background-color .3s ease;width:32px}.toggle-slider-small:before{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .3s ease;width:14px}.toggle-checkbox:checked+.toggle-slider-small{background:#2e7d32}.toggle-checkbox:checked+.toggle-slider-small:before{transform:translateX(14px)}.toggle-text-small{color:#374151;font-size:14px;font-weight:500}.weekly-plans-section{margin-bottom:40px}.create-weekly-btn{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease}.create-weekly-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.create-weekly-btn:disabled{background:#6b7280;box-shadow:none;cursor:not-allowed;transform:none}.weekly-grid-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.week-navigation{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 0}.week-nav-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}.week-nav-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.current-week-display{color:#1f2937;font-size:18px;font-weight:600;text-align:center}.weekly-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(7,1fr)}.day-column{display:flex;flex-direction:column;gap:12px}.today-column{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #2196f3;border-radius:12px;box-shadow:0 4px 12px #2196f326;padding:8px}.today-column .day-header{background:#2196f3;border-radius:8px;color:#fff;font-weight:600}.today-column .day-date,.today-column .day-name{color:#fff}.day-header{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px 8px;text-align:center}.day-name{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:4px}.day-date{color:#6b7280;font-size:12px}.meal-slot{display:flex;flex-direction:column;gap:8px;min-height:60px}.meal-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.meal-display{width:100%}.meal-item{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;font-size:12px;gap:8px;padding:10px;transition:all .2s ease}.meal-item:hover{border-color:#d1d5db;box-shadow:0 2px 6px #00000026}.meal-item.clickable{cursor:pointer;transition:all .2s ease}.meal-item.clickable:hover{border-color:#2e7d32;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.meal-checkbox{flex-shrink:0;height:16px;margin:2px 0 0;width:16px}.meal-content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.meal-name{word-wrap:break-word;color:#1f2937;font-size:13px;font-weight:600;line-height:1.3}.meal-name.completed{color:#6b7280;text-decoration:line-through}.meal-description{word-wrap:break-word;color:#6b7280;font-size:11px;font-style:italic;line-height:1.2}.meal-calories{align-self:flex-start;background:#f0fdf4;border-radius:4px;color:#059669;font-size:10px;font-weight:500;padding:2px 6px}.delete-meal-btn{background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:12px;margin-top:2px;padding:4px;transition:all .2s ease}.delete-meal-btn:hover{background:#fef2f2;transform:scale(1.1)}.add-meal-btn{align-items:center;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:12px;font-weight:500;justify-content:center;min-height:40px;padding:8px;transition:all .2s ease}.add-meal-btn:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.custom-plans-section{margin-bottom:32px}.create-custom-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease}.create-custom-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.custom-plans-grid{grid-gap:20px;align-content:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));justify-content:start}.custom-plan-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.custom-plan-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.plan-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.plan-title{color:#1f2937;flex:1 1;font-size:18px;font-weight:600;margin:0}.plan-actions{display:flex;gap:8px}.action-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:14px;padding:6px;transition:all .2s ease}.action-btn:hover{background:#f3f4f6;color:#374151}.plan-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.stat-item{align-items:center;color:#6b7280;display:flex;gap:8px}.stat-item span:first-child{font-size:16px}.plan-description{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:16px}.plan-dates{align-items:center;background:#f9fafb;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:16px;padding:8px 12px}.date-range{color:#374151;font-size:14px;font-weight:500}.plan-meals{border-top:1px solid #e5e7eb;padding-top:16px}.plan-meals h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.meals-list{display:flex;flex-direction:column;gap:8px}.meal-preview{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.meal-preview .meal-checkbox{margin:0}.meal-preview .meal-name{flex:1 1;font-size:14px;font-weight:500}.meal-preview .meal-name.completed{color:#6b7280;text-decoration:line-through}.meal-preview .meal-day,.meal-preview .meal-type{background:#e5e7eb;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 6px}.meal-preview .delete-meal-btn{background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:12px;padding:4px;transition:background-color .2s ease}.meal-preview .delete-meal-btn:hover{background:#fef2f2}.more-meals{background:#f3f4f6;border-radius:6px;color:#6b7280;font-size:12px;font-style:italic;padding:8px;text-align:center}.custom-plan-days{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.custom-plan-days h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.custom-days-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));max-height:350px;overflow-y:auto}.custom-day-column{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:8px}.custom-day-header{background:#e5e7eb;border-radius:6px;padding:6px 4px;text-align:center}.custom-day-name{color:#1f2937;font-size:12px;font-weight:600;margin-bottom:2px}.custom-day-date{color:#6b7280;font-size:10px}.custom-meal-slot{display:flex;flex-direction:column;gap:4px;min-height:40px}.custom-meal-label{border-radius:4px;color:#6b7280;font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;padding:4px 8px;text-align:center;text-transform:uppercase}.clickable-meal-label{background:#f3f4f6;border:1px solid #d1d5db;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.clickable-meal-label:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151;transform:translateY(-1px)}.custom-meals-list{display:flex;flex-direction:column;gap:4px}.custom-meal-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:4px;display:flex;font-size:10px;gap:4px;padding:4px 6px}.custom-meal-item .meal-checkbox{flex-shrink:0;height:12px;margin:0;width:12px}.custom-meal-item .meal-name{word-wrap:break-word;flex:1 1;font-size:10px;font-weight:500;line-height:1.2}.custom-meal-item .meal-name.completed{color:#6b7280;text-decoration:line-through}.custom-meal-item .delete-meal-btn{background:none;border:none;border-radius:2px;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:10px;padding:2px;transition:background-color .2s ease}.custom-meal-item .delete-meal-btn:hover{background:#fef2f2}.no-custom-plans{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;padding:60px 20px;text-align:center}.no-plans-icon{font-size:64px;margin-bottom:20px}.no-custom-plans h4{color:#374151;font-size:20px;font-weight:600;margin:0 0 8px}.no-custom-plans p{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 24px}.create-first-plan-btn{background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.create-first-plan-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.meal-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.meal-modal-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;min-width:600px;width:50%}.meal-modal-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.meal-modal-title{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.meal-modal-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.meal-kitchen{color:#374151;font-weight:600}.meal-help-link{color:#2e7d32;cursor:pointer;text-decoration:underline}.meal-help-link:hover{color:#1b5e20}.meal-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:20px;top:15px;width:30px}.meal-modal-close:hover{background:#f3f4f6;color:#374151}.meal-modal-content{background:#fff;flex:1 1;overflow-y:auto;padding:20px 30px}.meal-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.meal-cancel-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.meal-cancel-btn:hover{background:#4b5563}.meal-submit-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.meal-submit-btn:hover{background:#1b5e20}.modal-overlay{animation:fadeIn .3s ease-out}.modal-content{animation:slideUp .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #0006;width:90%}.modal-header{background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:8px 8px 0 0;color:#fff;padding:12px 16px}.modal-header h3{font-size:14px;font-weight:600;line-height:1.2;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.modal-close:hover{background:#fff3}.modal-body{padding:24px}.form-group label{color:#374151}.form-input,.form-textarea{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input:focus,.form-textarea:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.form-textarea{min-height:80px;resize:vertical}.form-hint{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;color:#059669;font-size:12px;font-weight:500;margin-top:4px;padding:4px 8px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1 1}.modal-actions{border-top:1px solid #e5e7eb;padding-top:20px}.btn-primary,.btn-secondary{font-weight:600;min-width:100px}.btn-primary{background:linear-gradient(135deg,#2e7d32,#1b5e20)}.btn-primary:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.btn-primary:disabled{background:#9ca3af;box-shadow:none;transform:none}.btn-secondary:hover{border-color:#9ca3af}.delete-confirm-modal{max-width:400px}.delete-header{background:linear-gradient(135deg,#dc2626,#b91c1c)}.delete-content{margin-bottom:20px}.delete-icon{flex-shrink:0;font-size:32px}.delete-text h4{color:#374151;font-size:16px}.plan-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:12px 0;padding:12px}.preview-item{display:flex;flex-direction:column;gap:4px}.preview-item .item-name{color:#374151;font-weight:600}.preview-item .item-details{color:#6b7280;font-size:14px}.delete-warning{color:#6b7280;font-style:italic;margin:12px 0 0}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);box-shadow:0 4px 12px #dc26264d}.meal-details-modal{max-width:500px}.meal-details-content{display:flex;flex-direction:column;gap:20px}.meal-info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.info-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.info-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#1f2937;font-size:14px;font-weight:500}.info-value.completed{color:#059669}.info-value.pending{color:#f59e0b}.meal-description-section,.meal-notes-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.meal-description-section h4,.meal-notes-section h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 8px}.meal-description-section p,.meal-notes-section p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.meal-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.auth-required-message{min-height:400px;padding:40px 20px}.auth-message-content{border-radius:12px;box-shadow:0 2px 8px #0000001a}.auth-icon{font-size:48px;margin-bottom:20px}.auth-message-content h3{font-weight:600;margin:0 0 12px}.auth-message-content p{font-size:16px}@media (max-width:768px){.mealplans-container{padding:80px 16px 16px}.mealplans-header{align-items:flex-start;flex-direction:column;gap:16px}.quick-stats{gap:16px;grid-template-columns:1fr}.stat-card{padding:16px}.stat-number{font-size:20px}.section-header{gap:12px}.section-header,.section-title-container{align-items:flex-start;flex-direction:column}.section-title-container{gap:8px}.weekly-grid{gap:12px;grid-template-columns:1fr}.day-column{border:1px solid #e5e7eb;border-radius:8px;padding:12px}.day-header{margin-bottom:12px}.week-navigation{flex-direction:column;gap:12px}.current-week-display{font-size:16px}.custom-plans-grid{gap:16px;grid-template-columns:1fr}.custom-plan-card{padding:16px}.custom-days-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));max-height:200px}.custom-day-column{gap:6px;padding:6px}.custom-day-header{padding:4px}.custom-day-name{font-size:11px}.custom-day-date,.custom-meal-label{font-size:9px}.custom-meal-item{font-size:9px;gap:3px;padding:3px 4px}.custom-meal-item .meal-checkbox{height:10px;width:10px}.custom-meal-item .meal-name{font-size:9px}.clickable-meal-label{font-size:9px;padding:3px 6px}.plan-header{flex-direction:column;gap:12px}.plan-actions{align-self:flex-end}.plan-dates{align-items:flex-start;flex-direction:column;gap:8px}.meal-preview{flex-wrap:wrap;gap:6px}.meal-preview .meal-day,.meal-preview .meal-type{font-size:10px;padding:1px 4px}.modal-content{margin:20px;width:95%}.modal-header{padding:16px 20px}.modal-header h3{font-size:16px}.modal-body{padding:20px}.form-row{gap:0}.form-row,.modal-actions{flex-direction:column}.meal-item{gap:6px;padding:8px}.meal-name{font-size:12px}.meal-description{font-size:10px}.meal-calories{font-size:9px;padding:1px 4px}.delete-meal-btn{font-size:10px;padding:2px}.meal-info-grid{gap:8px;grid-template-columns:1fr}.info-item{padding:8px}.meal-description-section,.meal-notes-section{padding:12px}.meal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (max-width:1024px){.weekly-grid{gap:12px;grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.weekly-grid{gap:10px;grid-template-columns:repeat(2,1fr)}}input[type=date]{direction:ltr;text-align:left}input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper{display:flex;flex-direction:row}input[type=date]::-webkit-datetime-edit-text{padding:0 2px}input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-year-field{padding:0 2px}input[type=date]{-webkit-appearance:textfield;appearance:textfield}input[type=date]::-moz-datetime-edit{display:flex;flex-direction:row}@media (max-width:768px){.mealplans-header{margin-bottom:18px}.week-navigation{flex-wrap:wrap;gap:10px}.weekly-grid-container{overflow:visible}.mealplan-grid,.weekly-grid{grid-template-columns:1fr!important}.day-column,.today-column{border-radius:18px;min-width:0}.custom-days-grid{grid-template-columns:1fr;max-height:none}}.ai-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 32px 32px;transition:margin-left .3s ease}.ai-container.sidebar-open{margin-left:220px}.ai-header{margin-bottom:32px}.ai-title{align-items:center;color:#1f2937;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0 0 8px}.ai-subtitle{color:#6b7280;font-size:16px;margin:0}.feature-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.feature-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:24px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.feature-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;height:48px;justify-content:center;margin:0 auto 16px;width:48px}.feature-icon.green{background:#dcfce7;color:#166534}.feature-icon.blue{background:#dbeafe;color:#1e40af}.feature-icon.orange{background:#fed7aa;color:#ea580c}.feature-title{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 8px}.feature-description{color:#6b7280;font-size:14px;line-height:1.4;margin:0}.chat-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:500px;margin-bottom:24px;overflow:hidden}.chat-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px}.chat-title{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 4px}.chat-time{color:#6b7280;font-size:12px;margin:0}.chat-messages{flex:1 1;gap:16px;overflow-y:auto;padding:20px}.chat-message,.chat-messages{display:flex;flex-direction:column}.chat-message{max-width:80%}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.chat-message.user .message-content{background:#2e7d32;border-radius:18px 18px 4px 18px;color:#fff;padding:12px 16px}.chat-message.assistant .message-content{background:#f3f4f6;border-radius:18px 18px 18px 4px;color:#1f2937;padding:12px 16px}.message-time{color:#9ca3af;font-size:11px;margin-top:4px;text-align:right}.chat-message.assistant .message-time{text-align:left}.loading-indicator-compact{align-items:center;align-self:flex-start;background:#2e7d321a;border-radius:20px;display:flex;gap:8px;margin:8px 0;max-width:-webkit-fit-content;max-width:fit-content;padding:8px 12px}.typing-indicator-small{align-items:center;display:flex;gap:3px}.typing-indicator-small span{animation:typing-small 1.4s ease-in-out infinite;background:#2e7d32;border-radius:50%;height:4px;width:4px}.typing-indicator-small span:first-child{animation-delay:-.32s}.typing-indicator-small span:nth-child(2){animation-delay:-.16s}.loading-text{color:#2e7d32;font-size:12px;font-weight:500}@keyframes typing-small{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.typing-indicator{align-items:center;display:flex;gap:4px}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#9ca3af;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.suggestions-section{padding:0 20px 20px}.suggestions-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.suggestion-buttons{display:flex;flex-wrap:wrap;gap:8px}.suggestion-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#374151;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s ease}.suggestion-btn:hover{background:#e5e7eb;border-color:#d1d5db}.chat-input-container{align-items:center;display:flex;gap:12px;padding:20px}.chat-input{border:1px solid #e5e7eb;border-radius:24px;flex:1 1;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s ease}.chat-input:focus{border-color:#2e7d32}.chat-input::placeholder{color:#9ca3af}.send-btn{align-items:center;background:#2e7d32;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:background .2s ease;width:40px}.send-btn:hover:not(:disabled){background:#256029}.send-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.try-asking{margin-bottom:24px}.try-asking-title{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px}.try-asking-buttons{display:flex;flex-wrap:wrap;gap:12px}.try-asking-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#374151;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .2s ease}.try-asking-btn:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}@media (max-width:1200px){.ai-container,.ai-container.sidebar-open{margin-left:0}}@media (max-width:768px){.ai-container{padding:100px 20px 20px}.ai-title{font-size:28px}.feature-cards{gap:16px;grid-template-columns:1fr}.feature-card{padding:20px}.suggestion-buttons{gap:6px}.suggestion-btn{font-size:11px;padding:6px 10px}.try-asking-buttons{gap:8px}.try-asking-btn{font-size:13px;padding:10px 12px}}@media (max-width:480px){.ai-container{padding:100px 16px 16px}.ai-title{font-size:24px}.feature-card{padding:16px}.feature-icon{font-size:20px;height:40px;width:40px}.chat-container{margin-bottom:20px}.chat-header,.chat-input-container,.chat-message{padding:16px}.try-asking-buttons{grid-template-columns:1fr}.loading-indicator-compact{gap:6px;padding:6px 10px}.loading-text{font-size:11px}.typing-indicator-small span{height:3px;width:3px}}.login-prompt{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 8px 32px #0000001a;color:#fff;margin:20px 0;padding:30px;text-align:center}.login-prompt-content h3{font-size:24px;font-weight:600;margin:0 0 15px}.login-prompt-content p{font-size:16px;line-height:1.6;margin:0 0 25px;opacity:.9}.login-btn{background:#fff;border-radius:25px;box-shadow:0 4px 15px #0000001a;color:#667eea;padding:12px 30px;transition:all .3s ease}.login-btn:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.message-content strong{color:#1f2937;font-weight:600}.message-content em{color:#6b7280;font-style:italic}.message-content ul{margin:10px 0;padding-left:20px}.message-content li{line-height:1.5;margin:5px 0}.message-content .day-header{background:#0596691a;border-left:3px solid #059669;color:#059669}.message-content .cooking-tip-header,.message-content .day-header{border-radius:4px;font-size:16px;font-weight:600;margin:15px 0 8px;padding:8px 10px}.message-content .cooking-tip-header{background:#dc26261a;border-left:3px solid #dc2626;color:#dc2626}.message-content .weekend-idea-header{background:#7c3aed1a;border-left:3px solid #7c3aed;border-radius:4px;color:#7c3aed;font-size:16px;font-weight:600;margin:15px 0 8px;padding:8px 10px}.message-content .day-header+br+*{background:#f9fafbcc;border:1px solid #e5e7ebcc;border-radius:6px;margin-left:15px;padding:8px 12px}.message-content strong:first-child{color:#059669;display:block;font-size:16px;margin-bottom:10px}.message-content p:first-child{background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;color:#1e40af;font-size:14px;margin-bottom:15px;padding:12px}.achievements-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 32px 32px;transition:margin-left .3s ease}.achievements-container.sidebar-open{margin-left:220px}.achievements-header{margin-bottom:32px}.achievements-title{align-items:center;color:#1f2937;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0 0 8px}.achievements-subtitle{color:#6b7280;font-size:16px;margin:0}.stats-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(5,1fr);margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;text-align:center}.stat-number{font-size:32px;font-weight:700;margin:0 0 8px}.stat-number.green{color:#2e7d32}.stat-number.platinum{color:#6b21a8}.stat-number.gold{color:#ca8a04}.stat-number.silver{color:#6b7280}.stat-number.bronze{color:#ea580c}.stat-label{color:#6b7280;font-size:14px;margin:0}.section-title{font-size:24px;font-weight:700}.section-subtitle{color:#6b7280;font-size:14px;margin:0 0 20px}.earned-achievements{background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:16px;color:#fff;margin-bottom:40px;padding:24px}.earned-achievements .section-title{color:#fff}.earned-achievements .achievement-card{background:#ffffff1a;border:1px solid #fff3}.earned-achievements .achievement-card:hover{background:#ffffff26;transform:translateY(-2px)}.all-achievements{margin-bottom:32px}.category-title{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 16px}.achievements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.achievement-card{background:#fff;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.achievement-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.achievement-card.unlocked{border:2px solid #2e7d32}.achievement-header{align-items:center;display:flex;gap:16px;margin-bottom:12px}.achievement-icon{border-radius:12px;height:48px;width:48px}.achievement-icon.platinum{background:#faf5ff;color:#6b21a8}.achievement-icon.gold{background:#fef3c7;color:#ca8a04}.achievement-icon.silver{background:#e5e7eb;color:#6b7280}.achievement-icon.bronze{background:#fed7aa;color:#ea580c}.achievement-icon.locked{background:#f3f4f6;color:#9ca3af}.achievement-info h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 4px}.achievement-info p{color:#6b7280;font-size:14px;margin:0}.achievement-progress{margin-top:12px}.progress-bar{background:#e5e7eb;margin-bottom:8px}.progress-fill{background:#2e7d32}.progress-text{color:#6b7280;font-size:12px;text-align:center}.achievement-reward{align-items:center;background:#f0fdf4;border-radius:8px;color:#166534;display:flex;font-size:14px;gap:8px;margin-top:12px;padding:8px 12px}.recent-achievements{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:32px;padding:24px}.recent-title{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px}.recent-list{display:flex;flex-direction:column;gap:12px}.recent-item{background:#f9fafb;gap:12px;padding:12px}.recent-icon,.recent-item{align-items:center;border-radius:8px;display:flex}.recent-icon{background:#2e7d32;color:#fff;font-size:16px;height:32px;justify-content:center;width:32px}.recent-content h4{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 2px}.recent-content p{color:#6b7280;font-size:12px;margin:0}@media (max-width:1200px){.achievements-container,.achievements-container.sidebar-open{margin-left:0}}@media (max-width:768px){.achievements-container{padding:100px 20px 20px}.achievements-title{font-size:28px}.stats-overview{gap:16px;grid-template-columns:repeat(2,1fr)}.achievements-grid{gap:16px;grid-template-columns:1fr}.achievement-card{padding:16px}}@media (max-width:480px){.achievements-container{padding:100px 16px 16px}.achievements-title{font-size:24px}.stats-overview{gap:12px;grid-template-columns:1fr}.stat-card{padding:16px}.stat-number{font-size:28px}.achievement-header{gap:12px}.achievement-icon{font-size:20px;height:40px;width:40px}}.leaderboard-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:70px 32px 32px;transition:margin-left .3s ease}.leaderboard-container.sidebar-open{margin-left:220px}.leaderboard-header{margin-bottom:32px}.leaderboard-title{align-items:center;color:#1f2937;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0 0 6px}.title-icon{font-size:24px}.leaderboard-subtitle{color:#6b7280;font-size:14px;margin:0 0 14px}.tab-navigation{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.tab-buttons{display:flex;gap:8px}.friends-toggle,.friends-toggle-btn{align-items:center;display:flex}.friends-toggle-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#374151;cursor:pointer;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.friends-toggle-btn:hover{background:#f9fafb;border-color:#2e7d32;box-shadow:0 4px 12px #2e7d3233;transform:translateY(-1px)}.friends-toggle-btn.active{background:#2e7d32;border-color:#2e7d32;box-shadow:0 4px 12px #2e7d324d;color:#fff}.friends-toggle-btn.active:hover{background:#2563eb;border-color:#2563eb;box-shadow:0 6px 16px #2563eb4d;transform:translateY(-1px)}.toggle-icon{font-size:16px}.no-friends-message{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:24px;padding:60px 20px;text-align:center}.no-friends-icon{font-size:48px;margin-bottom:16px}.no-friends-message h3{color:#374151;font-size:20px;font-weight:600;margin:0 0 8px}.no-friends-message p{color:#6b7280;font-size:14px;margin:0 0 4px}.tab-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.tab-icon{font-size:16px}.tab-button:hover{background:#f9fafb;border-color:#d1d5db}.tab-button.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.refresh-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 16px;transition:all .2s ease}.refresh-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#2e7d32}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.refresh-icon{font-size:16px}.leaderboard-content{margin-bottom:32px}.leaderboard-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:24px;overflow:hidden}.leaderboard-item{align-items:center;display:flex;padding:20px 24px;position:relative;transition:all .3s ease}.leaderboard-item,.leaderboard-item:last-child{border-bottom:1px solid #e5e7eb}.leaderboard-header-row{align-items:center;background:#f8f9fa;border-bottom:2px solid #d1d5db;color:#6b7280;display:flex;font-size:14px;font-weight:600;padding:16px 24px}.header-rank{text-align:center;width:60px}.header-player{flex:1 1;margin:0 20px}.header-stats{text-align:right}.leaderboard-item:hover{background:#f9fafb}.leaderboard-item.current-user{background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff}.leaderboard-item.current-user:hover{background:linear-gradient(135deg,#1b5e20,#2e7d32)}.rank-section{text-align:center;width:60px}.rank-icon{font-size:20px;font-weight:700}.player-section{flex:1 1;margin:0 20px}.player-avatar,.player-section{align-items:center;display:flex}.player-avatar{background:linear-gradient(135deg,#2e7d32,#4caf50);border-radius:50%;color:#fff;font-size:18px;font-weight:700;height:48px;justify-content:center;margin-right:16px;width:48px}.leaderboard-item.current-user .player-avatar{background:#fff;color:#2e7d32}.player-info{flex:1 1}.player-name{font-size:16px;font-weight:600;margin-bottom:4px}.player-level{font-size:14px;opacity:.8}.stats-section{text-align:right}.points-stat{font-size:18px;font-weight:700;margin-bottom:4px}.streak-stat{font-size:14px;opacity:.8}.user-rank-section{margin-top:24px}.user-rank-card{background:linear-gradient(135deg,#2e7d32,#4caf50);border-radius:12px;box-shadow:0 4px 12px #2e7d3233;color:#fff;padding:24px}.user-rank-card h3{font-size:18px;font-weight:600;margin:0 0 16px}.user-rank-info{align-items:center;display:flex}.user-rank-icon{font-size:32px;margin-right:16px}.user-rank-details{flex:1 1}.user-rank-position{font-size:16px;font-weight:600;margin-bottom:4px}.user-rank-points{font-size:14px;opacity:.9}.info-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.info-card{background:#fff;border-left:4px solid #2e7d32;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.info-card h3{color:#2e7d32;font-size:16px;font-weight:600;margin:0 0 16px}.info-card ul{margin:0;padding-left:20px}.info-card li{color:#6b7280;line-height:1.5;margin-bottom:8px}.loading{padding:60px 20px}@media (max-width:768px){.leaderboard-container{padding:70px 16px 16px}.leaderboard-container.sidebar-open{margin-left:0}.leaderboard-title{font-size:24px}.tab-navigation{align-items:center;flex-direction:column;gap:16px}.friends-toggle,.tab-buttons{justify-content:center}.tab-button{flex:1 1;padding:12px 16px;text-align:center}.leaderboard-item{padding:16px}.leaderboard-item,.player-section{flex-direction:column;text-align:center}.player-section{margin:12px 0}.player-avatar{margin:0 0 8px}.stats-section{text-align:center}.info-section{grid-template-columns:1fr}.user-rank-info{flex-direction:column;text-align:center}.user-rank-icon{margin:0 0 12px}}@media (max-width:480px){.leaderboard-container{padding:70px 12px 12px}.leaderboard-item{padding:12px}.player-avatar{font-size:16px;height:40px;width:40px}.rank-icon{font-size:18px}.points-stat{font-size:16px}}.profile-avatar-image{height:100%;width:100%}.user-code{margin-left:4px}.user-avatar img,.user-avatar-large img{border-radius:50%;height:100%;object-fit:cover;object-position:center;width:100%}.user-avatar,.user-avatar-large{background:#e5e7eb;flex-shrink:0;overflow:hidden}.user-avatar{align-items:center;border-radius:50%;color:#374151;display:flex;font-size:20px;font-weight:700;height:56px!important;justify-content:center;max-height:56px;max-width:56px;min-height:56px;min-width:56px;width:56px!important}.friends-modal-overlay,.notifications-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.friends-modal,.notifications-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:80vh;max-width:1000px;overflow-y:auto;padding:24px;width:98%}.friends-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:block!important;margin:20px 0;padding:24px;position:relative;z-index:1000}.friends-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.friends-header h2{color:#1f2937;font-size:24px;margin:0}.close-friends-btn,.close-notifications-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px;transition:all .2s ease}.close-friends-btn:hover,.close-notifications-btn:hover{background:#f3f4f6;color:#374151}.notifications-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.notifications-header-actions{align-items:center;display:flex;gap:12px}.notifications-header h2{color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:24px;font-weight:700;margin:0}.notifications-content{max-height:400px;overflow-y:auto;padding:0 24px!important}.notification-item{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;gap:16px;margin:0 8px!important;padding:16px 0!important}.notification-item:last-child{border-bottom:none}.notification-icon{flex-shrink:0;font-size:20px}.notification-content{flex:1 1;padding:0 12px!important}.notification-title{color:#1f2937;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:4px}.notification-message,.notification-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.notification-message{color:#374151;font-size:15px;line-height:1.6;margin-bottom:6px}.notification-time{color:#9ca3af;font-size:12px}.mark-all-read-btn,.notification-time{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500}.mark-all-read-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.mark-all-read-btn:hover{background:#f3f4f6;color:#374151}.clear-all-notifications-btn{background:none;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;margin-left:8px;padding:8px 12px;transition:all .2s ease}.clear-all-notifications-btn:hover{background:#fef2f2;color:#b91c1c}.search-section{margin-bottom:32px}.search-section h3{color:#1f2937;font-size:18px;margin:0 0 16px}.search-form{margin-bottom:20px}.search-input-group{align-items:center;display:flex;gap:12px}.search-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:14px;padding:12px 16px;transition:border-color .2s ease}.search-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.btn-search{background:#2e7d32;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.btn-search:hover:not(:disabled){background:#1b5e20}.btn-search:disabled{background:#9ca3af;cursor:not-allowed}.search-results h4{color:#1f2937;font-size:16px;margin:0 0 16px}.results-grid{grid-gap:16px;display:grid;gap:16px}.suggestions-section{margin-bottom:32px}.suggestions-section h3{color:#1f2937;font-size:18px;margin:0 0 16px}.suggestions-grid{grid-gap:16px;display:grid;gap:16px}.friends-list-section h3{color:#1f2937;font-size:18px;margin:0 0 16px}.friends-grid{grid-gap:16px;gap:16px}.user-card{background:#fff!important;border-radius:12px;gap:16px}.user-card:hover{background:#f9fafb!important;border-color:#d1d5db}.user-card .user-avatar{align-items:center;background:#e5e7eb;border-radius:50%;color:#374151;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px!important;justify-content:center;max-height:40px;max-width:40px;min-height:40px;min-width:40px;width:40px!important}.user-card .user-avatar img{border-radius:50%;height:100%;max-height:40px;max-width:40px;object-fit:cover;width:100%}.avatar-initial{align-items:center;background:#2e7d32;border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:700;height:100%;justify-content:center;width:100%}.user-card .user-info{flex:1 1;min-width:0}.user-card .user-name{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 4px}.user-card .user-bio{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 8px}.user-stats{color:#6b7280;font-size:12px;gap:12px}.user-level{color:#1f2937}.user-points{color:#374151;font-weight:500}.user-actions{flex-shrink:0}.btn-add-friend{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.btn-add-friend:hover:not(:disabled){background:#1b5e20}.btn-add-friend:disabled{background:#9ca3af;cursor:not-allowed}.empty-state{color:#6b7280;padding:32px;text-align:center}.empty-state p{font-size:14px;margin:0 0 8px}.empty-state p:last-child{margin-bottom:0}body .sidebar{background:#144d29!important;width:220px!important}body .sidebar .nav-list{padding-top:56px!important}body .sidebar .nav-list li a{padding:12px 20px!important}body .sidebar .nav-icon{font-size:18px!important;width:20px!important}body .sidebar .nav-text{font-size:14px!important}.instagram-feed-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 0 32px;position:relative;transition:margin-left .3s ease}.instagram-feed-container.sidebar-open{margin-left:220px}.instagram-layout{background:#f3f4f6;display:flex;min-height:calc(100vh - 100px);position:relative}.instagram-left-sidebar{background:#2e7d32;border-left:4px solid #1b5e20;border-right:1px solid #1b5e20;box-sizing:border-box;height:calc(100vh - 56px);left:0;padding:24px 12px;position:fixed;top:56px;transition:left .3s ease;width:244px;z-index:50}.instagram-feed-container.sidebar-open .instagram-left-sidebar{border-left:4px solid #1b5e20;left:220px}.instagram-left-sidebar .sidebar-nav{display:flex;flex-direction:column;gap:4px}.instagram-left-sidebar .nav-item{align-items:center;background:none;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:400;gap:16px;padding:12px;text-align:left;transition:background-color .2s ease;width:100%}.instagram-left-sidebar .nav-item:hover{background:#ffffff1a}.instagram-left-sidebar .nav-item.active{background:#fff3;font-weight:600}.instagram-left-sidebar .nav-icon{align-items:center;display:flex;font-size:24px;height:24px;justify-content:center;width:24px}.instagram-left-sidebar .nav-text{font-size:16px}.instagram-center-feed{background:#f3f4f6;bottom:0;box-sizing:border-box;left:244px;overflow-y:auto;padding:24px;position:fixed;right:293px;top:56px;transition:left .3s ease,right .3s ease}.instagram-feed-container.sidebar-open .instagram-center-feed{left:464px}.feed-tabs{border-bottom:1px solid #e5e7eb;display:flex;margin-bottom:24px}.feed-tab{background:none;border:none;border-bottom:1px solid #0000;color:#6b7280;cursor:pointer;font-size:16px;font-weight:600;margin-right:32px;padding:16px 0;transition:color .2s ease}.feed-tab.active{border-bottom-color:#2e7d32;color:#2e7d32}.feed-tab:hover:not(.active){color:#1f2937}.feed-content{margin:0 auto;max-width:614px}.loading{font-size:16px;padding:40px}.empty-feed,.loading{color:#6b7280;text-align:center}.empty-feed{padding:60px 20px}.empty-feed h3{color:#1f2937;font-size:24px;margin:0 0 8px}.empty-feed p{font-size:16px;margin:0}.no-posts-message{color:#6b7280;padding:60px 20px;text-align:center}.no-posts-message h3{color:#1f2937;font-size:24px;margin:0 0 8px}.no-posts-message p{font-size:16px;margin:0}.posts-container{display:flex;flex-direction:column;gap:24px}.post-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.post-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.post-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:14px 16px}.post-header .user-info{align-items:center;display:flex;flex:1 1;gap:12px;justify-content:flex-start}.post-header .user-avatar{align-items:center;background:#e5e7eb;border-radius:50%;color:#374151;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:56px!important;justify-content:center;max-height:56px;max-width:56px;min-height:56px;min-width:56px;overflow:hidden;width:56px!important}.post-header .user-details{align-items:flex-start;display:flex;flex-direction:column;justify-content:flex-start;text-align:left}.post-header .username{color:#1f2937;font-size:14px;font-weight:600;margin:0;padding:0;text-align:left}.post-header .post-time{color:#6b7280;font-size:12px;margin:0;padding:0;text-align:left}.post-actions-inline{align-items:center;display:flex;flex-shrink:0;gap:8px}.post-header .user-info{align-items:center!important}.post-header .user-details,.post-header .user-info{justify-content:flex-start!important;text-align:left!important}.post-header .user-details{align-items:flex-start!important}.post-card .post-header .post-time,.post-card .post-header .username,.post-header .post-time,.post-header .username{display:block!important;margin:0!important;padding:0!important;text-align:left!important}.post-card .post-header .user-details{align-items:flex-start!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;max-width:none!important;width:auto!important}.post-card .post-header .username{color:#1f2937!important;font-size:14px!important;font-weight:600!important}.post-card .post-header .post-time,.post-card .post-header .username{display:block!important;margin:0!important;max-width:none!important;padding:0!important;text-align:left!important;width:auto!important}.post-card .post-header .post-time{color:#6b7280!important;font-size:12px!important}div.post-card div.post-header div.user-info{align-items:center!important}div.post-card div.post-header div.user-info div.user-details span.post-time,div.post-card div.post-header div.user-info div.user-details span.username{display:block!important;margin:0!important;max-width:none!important;padding:0!important;text-align:left!important;width:auto!important}.post-card .post-header .post-time,.post-card .post-header .user-details,.post-card .post-header .user-info,.post-card .post-header .username{align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important}.post-card .post-header .user-details{text-align:left!important}.post-card .post-header .user-info{align-items:center!important;flex:1 1!important}.post-card .post-header .user-info .user-details .post-time,.post-card .post-header .user-info .user-details .username{display:block!important;line-height:1.2!important;margin:0!important;max-width:none!important;padding:0!important;text-align:left!important;width:auto!important}.post-card .post-header{align-items:center!important;justify-content:space-between!important}.post-card .post-header>.user-info{align-items:center!important;display:flex!important;flex:1 1!important;gap:12px!important;justify-content:flex-start!important;margin:0!important;max-width:none!important;padding:0!important;text-align:left!important;width:auto!important}.post-card .post-header .user-info,.post-card .post-header .user-info .user-details{float:left!important}.post-card .post-header .post-actions-inline{position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important}div.post-card div.post-header{align-items:flex-start!important;display:flex!important;justify-content:flex-start!important;padding:14px 16px!important;position:relative!important;text-align:left!important;width:100%!important}div.post-card div.post-header div.user-info{flex:0 0 auto!important;gap:12px!important}div.post-card div.post-header div.user-info,div.post-card div.post-header div.user-info div.user-details{align-items:flex-start!important;display:flex!important;float:left!important;justify-content:flex-start!important;margin:0!important;max-width:none!important;padding:0!important;position:relative!important;text-align:left!important;width:auto!important}div.post-card div.post-header div.user-info div.user-details{flex-direction:column!important;gap:2px!important}div.post-card div.post-header div.user-info div.user-details span.username{color:#1f2937!important;font-size:14px!important;font-weight:600!important}div.post-card div.post-header div.user-info div.user-details span.post-time,div.post-card div.post-header div.user-info div.user-details span.username{display:block!important;line-height:1.2!important;margin:0!important;max-width:none!important;padding:0!important;position:relative!important;text-align:left!important;white-space:nowrap!important;width:auto!important}div.post-card div.post-header div.user-info div.user-details span.post-time{color:#6b7280!important;font-size:12px!important}.post-card .post-header{align-items:flex-start!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;padding:14px 16px!important;text-align:left!important;width:100%!important}.post-card .post-header .user-info{flex:0 0 auto!important;flex-direction:row!important;gap:12px!important}.post-card .post-header .user-info,.post-card .post-header .user-info .user-details{align-items:flex-start!important;display:flex!important;justify-content:flex-start!important;margin:0!important;max-width:none!important;padding:0!important;text-align:left!important;width:auto!important}.post-card .post-header .user-info .user-details{flex-direction:column!important;gap:2px!important}.post-card .post-header .user-info .user-details .username{color:#1f2937!important;font-size:14px!important;font-weight:600!important}.post-card .post-header .user-info .user-details .post-time,.post-card .post-header .user-info .user-details .username{display:block!important;line-height:1.2!important;margin:0!important;max-width:none!important;padding:0!important;text-align:left!important;white-space:nowrap!important;width:auto!important}.post-card .post-header .user-info .user-details .post-time{color:#6b7280!important;font-size:12px!important}.edit-post-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;gap:4px;padding:6px 12px;transition:all .2s ease}.edit-post-btn:hover{background:#2563eb;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.delete-post-btn-inline{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;gap:4px;padding:6px 12px;transition:all .2s ease}.delete-post-btn-inline:hover{background:#dc2626;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.edit-post-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.edit-description-input,.edit-title-input{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:8px 12px;resize:vertical}.edit-description-input:focus,.edit-title-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.save-edit-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.save-edit-btn:hover{background:#059669;transform:translateY(-1px)}.cancel-edit-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.cancel-edit-btn:hover{background:#4b5563;transform:translateY(-1px)}.post-image{aspect-ratio:1;background:#f3f4f6;overflow:hidden;width:100%}.post-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.post-image:hover img{transform:scale(1.02)}.post-actions{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:16px;padding:8px 16px}.comment-btn,.like-btn{align-items:center;background:none;border:none;border-radius:8px;color:#1f2937;cursor:pointer;display:flex;font-size:24px;gap:8px;padding:8px;transition:all .2s ease}.comment-btn:hover,.like-btn:hover{background:#f3f4f6}.like-btn.liked{color:#ef4444}.post-content{padding:8px 16px 16px}.post-title{font-weight:600;margin:0 0 8px}.post-description,.post-title{color:#1f2937;font-size:14px;line-height:1.4}.post-description{margin:0}.comments-section{border-top:1px solid #f3f4f6;padding:8px 16px 16px}.add-comment{display:flex;gap:8px;margin-bottom:16px}.add-comment input{background:#fff;border:1px solid #e5e7eb;border-radius:20px;color:#1f2937;flex:1 1;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s ease}.add-comment input:focus{border-color:#2e7d32}.add-comment input::placeholder{color:#6b7280}.add-comment button{background:#2e7d32;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .2s ease}.add-comment button:hover{background:#1b5e20}.comments-list{display:flex;flex-direction:column;gap:8px}.comment{position:relative}.comment-user{align-items:center;display:flex;gap:8px;margin-bottom:4px}.comment-username{color:#1f2937;font-size:14px;font-weight:600}.comment-time{color:#6b7280;font-size:12px}.comment-content{position:relative}.comment-content p{color:#1f2937;font-size:14px;line-height:1.4;margin:0}.delete-comment-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;opacity:0;position:absolute;right:-4px;top:-4px;transition:opacity .2s ease;width:20px}.comment:hover .delete-comment-btn{opacity:1}.instagram-right-sidebar{background:#f3f4f6;box-sizing:border-box;height:calc(100vh - 56px);overflow-y:auto;padding:24px 16px;position:fixed;right:0;top:56px;transition:right .3s ease;width:293px}.instagram-feed-container.sidebar-open .instagram-right-sidebar{right:0}.user-profile-section{align-items:center;display:flex;gap:12px;margin-bottom:24px}.user-avatar-large{align-items:center;background:linear-gradient(135deg,#2e7d32,#1b5e20);border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:600;height:56px;justify-content:center;width:56px}.user-info{flex:1 1}.username{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:2px}.user-fullname{color:#6b7280;font-size:14px}.switch-btn{background:none;border:none;color:#2e7d32;cursor:pointer;font-size:12px;font-weight:600;transition:color .2s ease}.switch-btn:hover{color:#1b5e20}.suggestions-section{margin-bottom:24px}.suggestions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.suggestions-title{color:#1f2937;font-size:14px;font-weight:600}.see-all-btn{background:none;border:none;color:#1f2937;cursor:pointer;font-size:12px;font-weight:600;transition:color .2s ease}.see-all-btn:hover{color:#374151}.suggestions-list{display:flex;flex-direction:column;gap:12px}.suggestion-item{align-items:center;display:flex;gap:12px}.suggestion-avatar{align-items:center;background:#e5e7eb;border-radius:50%;display:flex;font-size:12px;height:24px!important;justify-content:center;max-height:24px;max-width:24px;min-height:24px;min-width:24px;overflow:hidden;width:24px!important}.suggestion-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.suggestion-avatar .avatar-initial{align-items:center;background:#2e7d32;color:#fff;display:flex;font-size:10px;font-weight:700;height:100%;justify-content:center;width:100%}.suggestion-info{flex:1 1}.suggestion-username{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:2px}.suggestion-followed{color:#1f2937;font-size:12px;font-weight:700}.follow-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .2s ease}.follow-btn:hover{background:#1b5e20;transform:translateY(-1px)}.footer-links{margin-top:24px}.footer-links-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.footer-links-row a{color:#374151;font-size:11px;text-decoration:none;transition:color .2s ease}.footer-links-row a:hover{color:#1f2937}.footer-link-btn{background:none;border:none;border-radius:3px;color:#374151;cursor:pointer;font-family:inherit;font-size:11px;padding:2px 4px;text-decoration:none;transition:color .2s ease}.footer-link-btn:hover{background:#f3f4f6;color:#1f2937}.copyright{color:#374151;font-size:11px}.feed-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.feed-modal-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;min-width:600px;width:50%}.feed-modal-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.feed-modal-title{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.feed-modal-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.feed-kitchen{color:#374151;font-weight:600}.feed-help-link{color:#2e7d32;cursor:pointer;text-decoration:underline}.feed-help-link:hover{color:#1b5e20}.feed-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:20px;top:15px;width:30px}.feed-modal-close:hover{background:#f3f4f6;color:#374151}.feed-modal-content{background:#fff;flex:1 1;overflow-y:auto;padding:20px 30px}.feed-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.feed-cancel-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.feed-cancel-btn:hover{background:#4b5563}.feed-submit-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.feed-submit-btn:hover{background:#1b5e20}.modal-content{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 20px 50px #00000026;max-width:500px}.modal-header{border-bottom:1px solid #e5e7eb;padding:24px 24px 0}.modal-header h2{color:#1f2937;font-size:24px}.close-btn:hover{background:#f3f4f6;color:#1f2937}.create-post-form{padding:0 24px 24px}.form-group{margin-bottom:20px}.form-group label{color:#1f2937;display:block;margin-bottom:8px}.form-group input,.form-group textarea{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#1f2937;font-size:16px;padding:12px 16px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#2e7d32;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#6b7280}.form-group textarea{min-height:100px}.image-upload-options{display:flex;flex-direction:column;gap:12px}.upload-toggle{display:flex;gap:8px;margin-bottom:8px}.toggle-btn{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-weight:500;padding:8px 16px;transition:all .2s ease}.toggle-btn.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.toggle-btn:hover:not(.active){background:#f3f4f6;border-color:#d1d5db}.image-upload input[type=file]{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;padding:8px;width:100%}.image-link-input input[type=url]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:16px;padding:12px 16px;transition:border-color .2s ease;width:100%}.image-link-input input[type=url]:focus{border-color:#2e7d32;outline:none}.image-preview{margin-top:12px}.image-preview img{border:1px solid #e5e7eb;border-radius:8px;height:200px;max-width:300px;object-fit:cover;width:100%}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.form-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.form-actions button[type=button]{background:#f3f4f6;color:#6b7280}.form-actions button[type=button]:hover{background:#e5e7eb}.form-actions button[type=submit]{background:#2e7d32;color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:#1b5e20}.form-actions button:disabled{cursor:not-allowed;opacity:.6}.auth-required-message{align-items:center;display:flex;justify-content:center;min-height:60vh}.auth-message-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 12px #0000000d;max-width:400px;padding:40px;text-align:center}.auth-message-content h3{color:#1f2937;font-size:24px;margin:0 0 16px}.auth-message-content p{color:#6b7280;line-height:1.5;margin:0}.delete-confirm-modal{max-width:500px}.delete-header{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.delete-header h3{align-items:center;display:flex;font-size:20px;gap:8px;margin:0}.delete-content{align-items:flex-start;display:flex;gap:16px}.delete-icon{font-size:48px;line-height:1}.delete-text h4{color:#1f2937;font-size:18px;margin:0 0 12px}.delete-warning{color:#ef4444;font-size:14px;font-weight:500;margin:8px 0 0}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);font-size:16px}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db}@media (max-width:1200px){.instagram-right-sidebar{display:none}}@media (max-width:768px){.instagram-feed-container{padding:80px 0 16px}.instagram-left-sidebar{display:none}.instagram-center-feed{padding:0 16px}.modal-content{margin:20px;max-height:calc(100vh - 40px)}.post-actions{gap:16px}.comment-btn,.like-btn{font-size:20px}.delete-content{align-items:center;flex-direction:column;text-align:center}}.friend-requests-section{margin-bottom:30px}.friend-requests-section h3{border-bottom:2px solid #4caf50;color:#333;font-size:1.2rem;margin-bottom:15px;padding-bottom:8px}.friend-request-item{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px;transition:all .2s}.friend-request-item:hover{background:#f0f8f0;border-color:#4caf50}.friend-request-info{align-items:center;display:flex;flex:1 1}.friend-request-avatar{align-items:center;background:#4caf50;border-radius:50%;display:flex;height:40px;justify-content:center;margin-right:12px;overflow:hidden;width:40px}.friend-request-avatar-img{height:100%;object-fit:cover;width:100%}.friend-request-avatar-initial{color:#fff;font-size:16px;font-weight:700}.friend-request-details{flex:1 1}.friend-request-name{color:#333;font-weight:600;margin-bottom:2px}.friend-request-message{color:#666;font-size:.9rem}.friend-request-actions{display:flex;gap:8px}.accept-friend-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.accept-friend-btn:hover{background:#45a049}.decline-friend-btn{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s}.decline-friend-btn:hover{background:#da190b}.regular-notifications-section h3{border-bottom:2px solid #2196f3;color:#333;font-size:1.2rem;margin-bottom:15px;padding-bottom:8px}.my-friends-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:30px;padding:20px}.my-friends-section h3{border-bottom:2px solid #4caf50;color:#333;font-size:1.2rem;margin-bottom:15px;padding-bottom:8px}.friends-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:15px}.friend-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;padding:15px;transition:all .2s}.friend-card:hover{border-color:#4caf50;box-shadow:0 2px 8px #0000001a}.friend-avatar{align-items:center;background:#4caf50;border-radius:50%;display:flex;flex-shrink:0;height:50px;justify-content:center;margin-right:12px;overflow:hidden;width:50px}.friend-avatar img{height:100%;object-fit:cover;width:100%}.friend-avatar .avatar-initial{color:#fff;font-size:18px;font-weight:700}.friend-info{flex:1 1;min-width:0}.friend-name{color:#333;font-size:1rem;font-weight:600;margin:0 0 5px}.friend-bio,.friend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-bio{color:#666;font-size:.9rem;margin:0 0 8px}.friend-stats{display:flex;font-size:.8rem;gap:10px}.friend-level{color:#4caf50;font-weight:500}.friend-points{color:#666}.empty-friends-state{color:#666;font-style:italic;padding:40px 20px;text-align:center}@media (max-width:768px){.instagram-feed-container{padding:72px 0 18px}.instagram-center-feed{left:auto;padding:0 0 8px;position:static;right:auto;top:auto;width:100%}.create-post-section,.feed-modal-container,.friends-modal,.notifications-modal,.post-card,.suggestions-card{border-radius:18px}.post-card{margin-bottom:14px}}.profile-container{background:#f3f4f6;box-sizing:border-box;color:#1f2937;font-family:Inter,Arial,sans-serif;margin-left:0;min-height:100vh;padding:100px 32px 32px;transition:margin-left .3s ease}.profile-container.sidebar-open{margin-left:220px}.profile-header{margin-bottom:32px}.profile-header-content{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.refresh-stats-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:12px;box-shadow:0 4px 12px #2e7d324d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.refresh-stats-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 6px 20px #2e7d3266;transform:translateY(-2px)}.refresh-stats-btn:active{transform:translateY(0)}.refresh-stats-btn:disabled{cursor:not-allowed}.refresh-stats-btn:disabled,.refresh-stats-btn:disabled:hover{background:#9ca3af;box-shadow:none;transform:none}.profile-title{color:#111827;font-size:32px;font-weight:700;margin:0 0 8px}.profile-subtitle{color:#6b7280;font-size:16px;margin:0}.profile-content{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:2fr 1fr}.profile-card{background:#fff;border-radius:16px;box-shadow:0 6px 18px #0f172a0f;padding:32px}.profile-avatar-section{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:20px;margin-bottom:32px;padding-bottom:24px}.profile-avatar-container{display:inline-block;flex-shrink:0;height:80px;position:relative;width:80px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;display:flex;font-size:28px;font-weight:700;justify-content:center}.profile-avatar,.profile-avatar-image{border-radius:50%;box-shadow:0 4px 14px #2e7d3233;height:80px;width:80px}.profile-avatar-image{border:3px solid #2e7d32;display:block;flex-shrink:0;object-fit:cover;object-position:center}.profile-picture-upload{bottom:-5px;position:absolute;right:-5px}.upload-profile-picture-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);border:3px solid #fff;border-radius:50%;box-shadow:0 3px 10px #0003;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;position:relative;transition:all .2s ease;width:36px;z-index:10}.upload-profile-picture-btn:hover{background:linear-gradient(135deg,#1b5e20,#2e7d32);box-shadow:0 4px 12px #0003;transform:scale(1.1)}.user-code{color:#6b7280;font-size:.9em;font-weight:400;margin-left:8px}.profile-info{flex:1 1}.profile-name-with-badges{align-items:center;display:flex;gap:12px;margin-bottom:4px}.profile-name{color:#111827;font-size:24px;font-weight:700;margin:0}.user-badges{gap:8px}.user-badge,.user-badges{align-items:center;display:flex}.user-badge{background:#e5e7eb;border:1px solid #d1d5db;border-radius:16px;cursor:pointer;height:20px;justify-content:center;position:relative;transition:all .2s ease;width:32px}.user-badge:hover{background:#d1d5db;transform:scale(1.05)}.badge-placeholder{align-items:center;color:#9ca3af;display:flex;height:20px;justify-content:center;width:20px}.badge-placeholder svg{height:16px;width:16px}.achievement-badge,.level-badge,.points-badge,.streak-badge{background:#e5e7eb;border-color:#d1d5db}.dark-mode .user-badge{background:var(--bg-tertiary);border-color:var(--border-primary)}.dark-mode .user-badge:hover{background:var(--bg-hover)}.dark-mode .badge-placeholder{color:var(--text-muted)}.dark-mode .achievement-badge,.dark-mode .level-badge,.dark-mode .points-badge,.dark-mode .streak-badge{background:var(--bg-tertiary);border-color:var(--border-primary)}.level-display{gap:1rem;margin-bottom:1rem}.level-badge,.level-display{align-items:center;display:flex}.level-badge{border-radius:50%;box-shadow:0 4px 12px #00000026;color:#fff;font-size:1.5rem;height:50px;justify-content:center;width:50px}.level-info{flex:1 1}.profile-level{color:#667eea;font-size:18px;font-weight:600;margin:0 0 4px}.level-description{color:#6b7280;font-size:14px;font-style:italic;margin:0}.level-progress{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:1rem;padding:1rem}.progress-info{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between;margin-bottom:.5rem}.progress-bar{background:#e9ecef;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.points-to-next{color:#6b7280;font-size:12px;text-align:center}.profile-stats{display:flex;gap:16px}.stat-item{background:#f3f4f6;border-radius:20px;color:#374151;font-size:14px;font-weight:600;padding:6px 12px}.edit-btn{background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:12px;box-shadow:0 4px 12px #2e7d324d;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.edit-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 6px 20px #2e7d3266;transform:translateY(-2px)}.profile-details{display:flex;flex-direction:column;gap:32px}.detail-section h3{color:#111827;font-size:18px;font-weight:700;margin:0 0 16px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-item label{color:#374151;font-size:14px;font-weight:600}.detail-item span{color:#6b7280;font-size:16px}.profile-input,.profile-select,.profile-textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s ease}.profile-input:focus,.profile-select:focus,.profile-textarea:focus{border-color:#2e7d32;outline:none}.profile-textarea{min-height:80px}.profile-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px}.save-btn{background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:12px;box-shadow:0 4px 12px #2e7d324d;color:#fff;cursor:pointer;font-weight:600;padding:12px 32px;transition:all .2s ease}.save-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d3e0d);box-shadow:0 6px 20px #2e7d3266;transform:translateY(-2px)}.achievement-section{background:#fff;border-radius:16px;box-shadow:0 6px 18px #0f172a0f;height:-webkit-fit-content;height:fit-content;padding:24px}.achievement-section h3{color:#111827;font-size:18px;font-weight:700;margin:0 0 20px}.achievement-grid{display:flex;flex-direction:column;gap:16px}.achievement-card{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.achievement-card.locked{background:#f3f4f6;opacity:.6}.achievement-card:not(.locked):hover{background:#f0f9ff;border-color:#2e7d32;transform:translateY(-2px)}.achievement-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.achievement-card h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 4px}.achievement-card p{color:#6b7280;font-size:12px;margin:0}@media (max-width:1200px){.profile-container,.profile-container.sidebar-open{margin-left:0}}@media (max-width:768px){.profile-container{padding:100px 20px 20px}.profile-header-content{align-items:flex-start;flex-direction:column;gap:16px}.refresh-stats-btn{align-self:flex-start}.profile-content{gap:20px;grid-template-columns:1fr}.profile-card{padding:24px}.profile-avatar-section{flex-direction:column;gap:16px;text-align:center}.detail-grid{gap:16px;grid-template-columns:1fr}.profile-stats{justify-content:center}}@media (max-width:480px){.profile-container{padding:100px 16px 16px}.profile-title{font-size:28px}.profile-card{padding:20px}.profile-avatar{font-size:24px;height:64px;width:64px}}.no-achievements{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;padding:40px 20px;text-align:center}.no-achievements-icon{font-size:48px;margin-bottom:16px}.no-achievements h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.no-achievements p{color:#6b7280;font-size:14px;margin:0}.achievement-date{color:#6b7280;font-size:12px;font-style:italic;margin-top:8px}.view-all-achievements{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px;text-align:center}.view-all-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.view-all-btn:hover{background:linear-gradient(135deg,#1b5e20,#388e3c);box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.profile-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.profile-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.profile-textarea{border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-height:60px;padding:8px 12px;resize:vertical;transition:border-color .2s ease;width:100%}.profile-textarea:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.profile-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.profile-select:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.read-only-field{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;display:inline-block;font-style:italic;min-width:200px;padding:8px 12px}.bio-display{word-wrap:break-word;display:block;max-width:100%;overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word}.bio-input-container{position:relative}.character-counter{background:#ffffffe6;border-radius:4px;bottom:8px;color:#6b7280;font-size:12px;padding:2px 6px;pointer-events:none;position:absolute;right:12px}.character-counter.warning{color:#dc2626;font-weight:600}.settings-container{align-items:center;background:#f3f4f6;bottom:0;box-sizing:border-box;color:#1f2937;display:flex;flex-direction:column;font-family:Inter,Arial,sans-serif;left:0;margin:0;overflow-x:hidden;overflow-y:auto;padding:100px 0 0;position:fixed;right:0;top:0;transition:left .3s ease;width:100%;z-index:1}.settings-container.sidebar-open{left:220px}.settings-content{box-sizing:border-box;max-width:800px;padding:0 32px;width:100%}.settings-header{margin-bottom:32px}.settings-title{align-items:center;color:#1f2937;display:flex;font-size:32px;font-weight:700;gap:12px;margin:0}.settings-subtitle{color:#6b7280;font-size:16px;margin:4px 0 0}.settings-sections{display:flex;flex-direction:column;gap:32px;padding-bottom:32px}.settings-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;padding:24px}.section-header{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:16px}.section-title{align-items:center;color:#1f2937;display:flex;font-size:20px;font-weight:600;gap:8px;margin:0 0 8px}.section-icon{font-size:18px}.section-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.settings-group{display:flex;flex-direction:column;gap:20px}.setting-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:16px;transition:all .2s ease}.setting-item:hover{background:#f3f4f6;border-color:#d1d5db}.setting-info{flex:1 1;margin-right:16px}.setting-title{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 4px}.setting-description{color:#6b7280;font-size:14px;line-height:1.4;margin:0}.setting-control{align-items:center;display:flex;gap:8px}.toggle-switch{display:inline-block;height:24px;position:relative;width:48px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#d1d5db;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}input:checked+.toggle-slider{background-color:#2e7d32}input:checked+.toggle-slider:before{transform:translateX(24px)}.setting-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px;transition:border-color .2s ease}.setting-select:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.setting-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;padding:8px 12px;text-align:center;transition:border-color .2s ease;width:80px}.setting-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.input-suffix{color:#6b7280;font-size:14px;font-weight:500}.reset-settings-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.reset-settings-btn:hover{background:#dc2626}.replay-tutorial-btn{background:#2e7d32;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.replay-tutorial-btn:hover{background:#1b5e20}.danger-section{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #dc2626}.danger-section .section-title{color:#dc2626}.danger-section .section-description{color:#fff}.delete-profile-btn{background:#dc2626;border:none;border-radius:8px;box-shadow:0 2px 4px #dc262633;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.delete-profile-btn:hover{background:#b91c1c;box-shadow:0 4px 8px #dc26264d;transform:translateY(-1px)}.delete-profile-btn:active{transform:translateY(0)}.professional-warning{background:linear-gradient(135deg,#fef7f7,#fef2f2);border:1px solid #fecaca;border-radius:16px;box-shadow:0 4px 20px #dc26261a;margin-bottom:24px;padding:32px}.warning-header{border-bottom:2px solid #fecaca;margin-bottom:32px;padding-bottom:20px;text-align:center}.warning-header h3{color:#dc2626;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.warning-header h3,.warning-subtitle{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.warning-subtitle{color:#991b1b;font-size:16px;font-weight:500;margin:0;opacity:.9}.warning-content{flex-direction:column;gap:24px}.warning-section{text-align:center}.warning-section h4{color:#dc2626;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:18px;font-weight:600;margin:0 0 16px}.deletion-list{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:400px}.deletion-item{align-items:center;background:#dc26260d;border:1px solid #dc26261a;border-radius:8px;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.deletion-item:hover{background:#dc262614;border-color:#dc262633}.deletion-icon{flex-shrink:0;font-size:18px}.deletion-item span:last-child{color:#991b1b;flex:1 1;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:500;text-align:left}.preservation-note{align-items:center;background:#22c55e0d;border:1px solid #22c55e33;border-radius:8px;display:flex;gap:12px;margin:0 auto;max-width:500px;padding:16px 20px}.preservation-icon{flex-shrink:0;font-size:20px}.preservation-note span:last-child{color:#166534;flex:1 1;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:500;text-align:left}.confirmation-input{margin-top:20px}.confirmation-input label{display:block;margin-bottom:12px}.confirmation-input label,.confirmation-text-input{color:#dc2626;font-size:16px;font-weight:600;text-align:center}.confirmation-text-input{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #dc2626;border-radius:12px;box-shadow:0 2px 8px #dc262633;box-sizing:border-box;letter-spacing:1px;padding:16px 20px;transition:all .3s ease;width:100%}.confirmation-text-input:focus{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#b91c1c;box-shadow:0 4px 12px #dc26264d;outline:none;transform:translateY(-1px)}.confirmation-text-input::placeholder{color:#dc2626;font-weight:500;opacity:.7}.btn-danger{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 8px #dc26264d;transform:translateY(-1px)}.btn-danger:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.settings-container{padding:80px 0 0}.settings-container.sidebar-open{left:0}.settings-content{padding:0 16px}.settings-title{font-size:24px}.settings-section{padding:16px}.setting-item{align-items:flex-start;flex-direction:column;gap:12px}.setting-info{margin-right:0}.setting-control{justify-content:flex-end;width:100%}.setting-select{min-width:120px}}@media (prefers-color-scheme:dark){.settings-container{background:#1f2937;color:#f9fafb}.settings-title{color:#f9fafb}.settings-subtitle{color:#9ca3af}.settings-section{background:#374151;border:1px solid #4b5563}.section-title{color:#f9fafb}.section-description{color:#9ca3af}.setting-item{background:#4b5563;border-color:#6b7280}.setting-item:hover{background:#6b7280;border-color:#9ca3af}.setting-title{color:#f9fafb}.setting-description{color:#d1d5db}.setting-input,.setting-select{background:#374151;border-color:#6b7280;color:#f9fafb}.setting-input:focus,.setting-select:focus{border-color:#2e7d32}.input-suffix{color:#9ca3af}}.test-points-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.test-points-btn:hover:not(:disabled){box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.test-points-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.admin-container{background:#f8f9fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.admin-header{background:linear-gradient(135deg,#2e7d32,#388e3c);border-radius:12px;color:#fff;margin-bottom:40px;padding:20px;text-align:center}.admin-header h1{font-size:2.5rem;font-weight:700;margin:0 0 10px}.admin-header p{font-size:1.1rem;margin:0;opacity:.9}.admin-message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 20px}.admin-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.admin-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.admin-sections{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:40px}.admin-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:24px}.admin-section h2{border-bottom:2px solid #2e7d32;color:#000!important;font-size:1.5rem;font-weight:700;margin:0 0 20px;padding-bottom:8px}.admin-form{display:flex;flex-direction:column;gap:16px}.form-group{gap:6px}.form-group label{color:#000!important;font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#fff!important;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;padding:12px 16px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff!important;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#6b7280!important;opacity:1}.admin-btn{background:#2e7d32;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.admin-btn:hover:not(:disabled){background:#1b5e20;box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.admin-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.admin-access-denied{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:60px 20px;text-align:center}.admin-access-denied h2{color:#dc2626;font-size:1.5rem;margin-bottom:16px}.admin-access-denied p{color:#6b7280;font-size:1rem}.users-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-height:400px;overflow-y:auto}.user-card{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .2s ease}.user-card:hover{background:#f1f5f9;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.user-info{display:flex;flex-direction:column;gap:4px}.user-info strong{color:#000!important;font-size:14px;font-weight:700}.user-email{color:#374151!important;font-size:12px}.user-level{color:#2e7d32!important;font-size:12px;font-weight:700}.user-stats{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.user-stats span{color:#1f2937!important;font-size:12px;font-weight:600}.user-stats .active{color:#059669!important;font-weight:700}.user-stats .inactive{color:#dc2626!important;font-weight:700}@media (max-width:768px){.admin-container{padding:16px}.admin-sections{gap:20px;grid-template-columns:1fr}.admin-section{padding:20px}.admin-header h1{font-size:2rem}.users-list{grid-template-columns:1fr}.user-card{flex-direction:column;gap:12px}.user-card,.user-stats{align-items:flex-start}}.page-container{background:#f3f4f6;margin-left:0;min-height:100vh;padding:70px 32px 32px;transition:margin-left .3s ease}.page-container.sidebar-open{margin-left:220px}.wheel-page-content{margin:0 auto;max-width:1000px}.page-header{margin-bottom:24px}.page-title{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 8px}.page-subtitle{color:#6b7280;font-size:16px;margin:0}.wheel-card{background:#fff;border-radius:12px;box-shadow:0 6px 18px #00000014;margin-bottom:24px;padding:40px}.wheel-container-chartjs{align-items:center;display:flex;justify-content:center;margin:0 auto 32px;max-width:450px;min-height:450px;position:relative;width:100%}#wheel-canvas{display:block;height:450px!important;max-height:450px;max-width:450px;width:100%}.wheel-arrow{animation:bounce 2s ease-in-out infinite;color:#f59e0b;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));font-size:3rem;left:50%;position:absolute;top:-10px;transform:translateX(-50%);z-index:10}@keyframes bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}#spin-btn{background:radial-gradient(#fdcf3b 50%,#d88a40 85%);border:0;border-radius:50%;box-shadow:0 6px 20px #0000004d;color:#c66e16;cursor:pointer;font-size:1.4em;font-weight:700;height:26%;left:50%;letter-spacing:.1em;min-height:90px;min-width:90px;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%);transition:all .2s ease;width:26%;z-index:5}#spin-btn:hover:not(:disabled){box-shadow:0 8px 24px #0006;transform:translate(-50%,-50%) scale(1.05)}#spin-btn:disabled{cursor:not-allowed;opacity:.6;transform:translate(-50%,-50%)}#spin-btn.spinning{animation:spin-button-pulse 1s ease-in-out infinite}@keyframes spin-button-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.spin-status-message{margin-top:24px;text-align:center}.status-ready{color:#2e7d32;font-size:1.25rem;font-weight:600;margin:0}.status-cooldown{align-items:center;display:flex;flex-direction:column;gap:8px}.cooldown-label{color:#6b7280;font-size:14px;margin:0}.cooldown-time{color:#2e7d32;font-size:1.5rem;font-weight:700;margin:0}.rewards-info-card{background:#fff;border-radius:12px;box-shadow:0 6px 18px #00000014;padding:24px}.rewards-info-card h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 16px}.rewards-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.reward-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.reward-item:hover{background:#f3f4f6;transform:translateX(4px)}.reward-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.reward-label{color:#374151;font-size:14px;font-weight:600}.modal-overlay{animation:fadeIn .2s ease;background:#00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error-modal-card{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;max-width:400px;width:100%}.error-modal-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 24px 16px}.error-modal-header h2{color:#dc2626;flex:1 1;font-size:1.5rem;font-weight:700;margin:0}.error-modal-body{padding:24px}.error-message{color:#374151;font-size:1rem;line-height:1.6;margin:0;text-align:center}.error-modal-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:center;padding:16px 24px}.result-modal-card{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;max-width:500px;width:100%}.result-modal-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:24px 24px 16px}.result-modal-header h2{color:#1f2937;flex:1 1;font-size:1.5rem;font-weight:700;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#f3f4f6;color:#1f2937}.result-modal-body{padding:24px}.result-modal-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:16px 24px}.recipe-result{text-align:center}.recipe-result-image{border-radius:8px;height:200px;margin-bottom:16px;object-fit:cover;width:100%}.recipe-result-title{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 8px}.recipe-result-desc{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 16px}.points-result{align-items:center;display:flex;flex-direction:column;gap:16px;padding:24px 0}.points-result-icon{animation:popIn .5s ease;font-size:4rem}@keyframes popIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.points-result-value{color:#f59e0b;font-size:3rem;font-weight:700}.points-result-label{color:#6b7280;font-size:1rem}.boost-result,.nothing-result,.shield-result{padding:16px 0;text-align:center}.boost-result-icon,.nothing-result-icon,.shield-result-icon{animation:popIn .5s ease;font-size:4rem;margin-bottom:16px}.boost-result-text,.nothing-result-text,.shield-result-text{color:#374151;font-size:1rem;line-height:1.6;margin:0}.shield-result-validity{color:#6b7280;font-size:.875rem;font-style:italic;margin:8px 0 0}.primary-btn{background:linear-gradient(135deg,#2e7d32,#4caf50);border:none;border-radius:8px;box-shadow:0 2px 8px #2e7d3233;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.primary-btn:hover{background:linear-gradient(135deg,#1b5e20,#388e3c);box-shadow:0 4px 12px #2e7d324d;transform:translateY(-1px)}.secondary-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.secondary-btn:hover{background:#e5e7eb;border-color:#9ca3af}.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner{color:#6b7280;font-size:1.25rem}@media (max-width:768px){.page-container{padding:70px 16px 16px}.wheel-card{padding:24px 16px}.wheel-container-chartjs{max-width:350px;min-height:350px}#wheel-canvas{height:350px!important;max-height:350px;max-width:350px}.wheel-arrow{font-size:2.5rem}#spin-btn{font-size:1.2em;min-height:80px;min-width:80px}.rewards-list{grid-template-columns:1fr}.page-title{font-size:24px}.result-modal-header h2{font-size:1.25rem}}@media (max-width:480px){.wheel-container-chartjs{max-width:300px;min-height:300px}#wheel-canvas{height:300px!important;max-height:300px;max-width:300px}.wheel-arrow{font-size:2rem;top:-5px}#spin-btn{font-size:1em;min-height:70px;min-width:70px}.wheel-card{padding:20px 12px}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#2e7d32f2,#4caf50f2);bottom:0;display:flex;font-family:Inter,Arial,sans-serif;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border:1px solid #2e7d321a;border-radius:16px;box-shadow:0 20px 40px #00000026;margin:20px;max-height:90vh;max-width:400px;overflow-y:auto;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{justify-content:space-between;margin-bottom:24px;padding:32px 32px 0}.modal-header,.modal-logo{align-items:center;display:flex}.modal-logo{gap:12px}.logo-icon{font-size:20px;height:32px;width:32px}.modal-header h2{color:#111827;font-size:20px;font-weight:700;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px;transition:all .2s ease}.close-btn:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:0 32px 32px}.modal-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px;text-align:center}.forgot-password-form{display:flex;flex-direction:column;gap:20px}.form-input.error{box-shadow:0 0 0 3px #ef44441a}.success-message{background-color:#ecfdf5;border:1px solid #d1fae5;border-radius:8px;color:#059669;font-size:14px;margin-top:4px;padding:12px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;transition:all .2s ease}.btn-secondary{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-secondary:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.btn-primary.loading{cursor:not-allowed;opacity:.8}@media (max-width:480px){.modal-overlay{padding:10px}.modal-content{max-width:100%}.modal-header{padding:20px 20px 0}.modal-body{padding:0 20px 20px}.modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}#root{height:100%}.login-container{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);display:flex;font-family:Inter,Arial,sans-serif;height:100vh;justify-content:center;left:0;margin:0;overflow:hidden;padding:0;position:fixed;top:0;width:100vw}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;margin:20px;max-width:400px;padding:32px;position:relative;width:100%}.login-header{margin-bottom:24px;text-align:center}.login-logo h1{font-size:22px;margin:0}.login-logo h1,.login-title{color:#111827;font-weight:700}.login-title{font-size:20px;margin:0 0 6px}.login-subtitle{color:#374151;font-size:14px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-input{border:2px solid #e5e7eb;border-radius:12px;color:#1f2937!important;padding:16px}.form-input,.form-input:focus{background:#fff!important}.form-input::placeholder{color:#6b7280!important;opacity:1}.form-input.error{background:#fef2f2!important}.form-input.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-options{align-items:center;display:flex;justify-content:space-between}.checkbox-container{align-items:center;gap:8px}.forgot-password{background:none;border:none;color:#2e7d32;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:none;transition:color .2s ease}.forgot-password:hover{color:#256029}.login-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px;transition:all .2s ease}.login-btn:hover:not(:disabled){box-shadow:0 8px 25px #2e7d324d;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.login-btn.loading{background:#9ca3af}.login-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.login-footer p{color:#374151;font-size:14px;margin:0}.demo-credentials{background:#f3f4f6;border-left:4px solid #2e7d32;border-radius:12px;margin-top:24px;padding:16px}.demo-credentials h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 8px}.demo-credentials p{color:#374151;font-family:monospace;font-size:13px;margin:4px 0}@media (max-width:768px){.login-container{padding:16px}.login-card{padding:32px 24px}.login-logo h1{font-size:24px}.login-title{font-size:20px}}@media (max-width:480px){.login-card{padding:24px 20px}.form-options{align-items:flex-start;flex-direction:column;gap:12px}.demo-credentials{margin-top:16px;padding:12px}}.test-build-warning{align-items:center;background:#ff98001a;border:1px solid #ff98004d;border-radius:8px;color:#ff9800;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem}.test-build-warning .warning-icon{flex-shrink:0;font-size:1.1rem}body,html{overflow-x:hidden;overflow-y:auto}#root,body,html{min-height:100%;width:100%}#root{margin:0;padding:0}.register-container{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);display:flex;font-family:Inter,Arial,sans-serif;justify-content:center;margin:0;min-height:100vh;overflow-y:auto;padding:24px 16px;width:100%}.register-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:20px;max-width:600px;padding:40px;position:relative;width:100%}.register-header{margin-bottom:32px;text-align:center}.register-logo{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:24px}.logo-icon{border-radius:12px;font-size:32px;height:48px;width:48px}.register-logo h1{color:#111827;font-size:28px;font-weight:700;margin:0}.register-title{color:#111827;font-size:24px;font-weight:700;margin:0 0 8px}.register-subtitle{color:#374151;font-size:16px;margin:0}.register-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-label{color:#000!important;font-weight:600}.form-input,.form-select{background:#fff!important;border:2px solid #e5e7eb;border-radius:12px;color:#1f2937!important;font-size:16px;padding:16px;transition:all .2s ease}.form-input:focus,.form-select:focus{background:#fff!important;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.form-input::placeholder,.form-select::placeholder{color:#6b7280!important;opacity:1}.form-input:-webkit-autofill,.form-input:-webkit-autofill:active,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:hover{-webkit-text-fill-color:#1f2937!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}.form-input.error,.form-select.error{background:#fef2f2!important;border-color:#ef4444}.form-input.error:focus,.form-select.error:focus{box-shadow:0 0 0 3px #ef44441a}.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' 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 12px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:40px}.form-options{margin:8px 0}.checkbox-container{align-items:flex-start;color:#1f2937;cursor:pointer;display:flex;font-size:14px;gap:12px;line-height:1.5}.checkbox-container input[type=checkbox]{display:none}.checkmark{border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;height:18px;margin-top:2px;position:relative;transition:all .2s ease;width:18px}.checkbox-container input[type=checkbox]:checked+.checkmark{background:#2e7d32;border-color:#2e7d32}.checkbox-container input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.register-btn{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px;transition:all .2s ease}.register-btn:hover:not(:disabled){box-shadow:0 8px 25px #2e7d324d;transform:translateY(-2px)}.register-btn:disabled{cursor:not-allowed;opacity:.7}.register-btn.loading{background:#9ca3af}.spinner{border-top-color:#fff}.register-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.register-footer p{color:#374151;font-size:14px;margin:0}.link{font-size:inherit;font-weight:600;text-decoration:none;transition:color .2s ease}.link:hover{color:#256029}.general-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:12px;text-align:center}@media (max-width:768px){.register-container{align-items:flex-start;padding:20px 12px}.register-card{border-radius:18px;margin:0;max-width:100%;padding:24px 18px}.register-logo h1{font-size:24px}.register-title{font-size:20px}.form-row{gap:14px;grid-template-columns:1fr}}@media (max-width:480px){.register-container{padding:12px 8px 24px}.register-card{border-radius:16px;padding:18px 14px}.test-build-warning{font-size:.75rem;margin-bottom:1rem;padding:.65rem .75rem}.register-header{margin-bottom:20px}.register-logo{gap:10px;margin-bottom:16px}.logo-icon{font-size:26px;height:40px;width:40px}.register-logo h1{font-size:20px}.register-title{font-size:18px}.register-subtitle{font-size:14px}.register-form{gap:14px}.checkbox-container,.error-message,.form-label,.register-footer p{font-size:13px}.form-input,.form-select,.register-btn{font-size:15px;padding:13px}.checkbox-container{align-items:flex-start;gap:8px}}*{margin:0;padding:0}body,html{height:100%;margin:0;overflow:hidden;padding:0}.reset-password-container{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);display:flex;font-family:Inter,Arial,sans-serif;height:100vh;justify-content:center;left:0;margin:0;min-height:100vh;overflow:hidden;padding:0;position:fixed;top:0;width:100vw}.reset-password-card{animation:slideUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;margin:0;max-width:400px;padding:24px;position:relative;width:100%}.reset-password-header{margin-bottom:20px;text-align:center}.login-logo{gap:10px;margin-bottom:16px}.login-logo,.logo-icon{align-items:center;display:flex;justify-content:center}.logo-icon{background:linear-gradient(135deg,#2e7d32,#4caf50);border-radius:8px;color:#fff;font-size:24px;height:36px;width:36px}.reset-password-header h1{color:#111827;font-size:20px;font-weight:700;margin:0 0 6px}.reset-password-header p{color:#6b7280;font-size:14px;margin:0}.reset-password-form{gap:16px}.form-group,.reset-password-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{color:#374151;font-size:14px;font-weight:500}.form-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s ease}.form-input:focus{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a;outline:none}.form-input.error{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.form-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.error-message{color:#ef4444;font-size:14px;margin-top:4px}.message{border-radius:10px;font-size:14px;margin-bottom:20px;padding:16px;text-align:center}.message.success{background-color:#ecfdf5;border:1px solid #d1fae5;color:#059669}.message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.btn-primary{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1b5e20,#388e3c)}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.reset-password-footer{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px;text-align:center}.reset-password-footer p{color:#6b7280;font-size:14px;margin:0}.link{background:none;border:none;color:#2e7d32;cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.link:hover{color:#1b5e20}@media (max-width:480px){.reset-password-container{padding:10px}.reset-password-card{padding:24px}.reset-password-header h1{font-size:24px}.logo-icon{font-size:40px}}.cookie-consent-banner{animation:slideUp .4s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -4px 20px #0000001a;left:0;padding:1rem 1.5rem;position:fixed;right:0;z-index:3500}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-consent-content{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin:0 auto;max-width:1200px}.cookie-consent-text{align-items:flex-start;display:flex;flex:1 1;gap:.75rem;min-width:250px}.cookie-icon{flex-shrink:0;font-size:1.5rem;margin-top:.2rem}.cookie-consent-text>div{flex:1 1}.cookie-consent-text p{color:#555;font-size:.9rem;line-height:1.5;margin:0}.cookie-consent-text ul{margin:.5rem 0;padding-left:1.5rem}.cookie-consent-text li{color:#555;line-height:1.5;margin:.25rem 0}.cookie-consent-buttons{display:flex;flex-shrink:0;gap:.75rem}.cookie-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;transition:all .3s ease;white-space:nowrap}.cookie-btn-accept{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.cookie-btn-accept:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.cookie-btn-decline{background:#f5f5f5;border:1px solid #ddd;color:#666}.cookie-btn-decline:hover{background:#e8e8e8;color:#444}@media (max-width:768px){.cookie-consent-banner{border:1px solid #e0e0e0;border-radius:18px;bottom:calc(78px + env(safe-area-inset-bottom, 0px));left:10px;padding:.9rem;right:10px}.cookie-consent-content{align-items:stretch;flex-direction:column;gap:1rem}.cookie-consent-text{align-items:flex-start;flex-direction:column;text-align:left}.cookie-consent-buttons{width:100%}.cookie-btn{flex:1 1;padding:.75rem}}.onboarding-overlay{inset:0;pointer-events:none;position:fixed;z-index:5200}.onboarding-card{background:#fff;border:1px solid #d1d5db;border-radius:14px;box-shadow:0 14px 30px #0000002e;padding:16px;pointer-events:auto;position:fixed;right:20px;top:86px;width:min(360px,calc(100vw - 40px))}.onboarding-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.onboarding-badge{background:#ecfdf3;border-radius:999px;color:#166534;font-size:12px;font-weight:700;padding:4px 10px}.onboarding-skip{background:#0000;border:none;color:#6b7280;cursor:pointer;font-size:13px;text-decoration:underline}.onboarding-progress{align-items:center;display:flex;gap:8px;margin-bottom:12px}.onboarding-progress span{color:#4b5563;font-size:12px;font-weight:600}.onboarding-progress-bar{background:#e5e7eb;border-radius:999px;flex:1 1;height:8px;overflow:hidden}.onboarding-progress-fill{background:linear-gradient(90deg,#16a34a,#22c55e);height:100%;transition:width .25s ease}.onboarding-title{color:#111827;font-size:18px;margin:0 0 8px}.onboarding-text{color:#374151;font-size:14px;line-height:1.5;margin:0 0 10px}.onboarding-tip{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46;font-size:13px;line-height:1.4;margin:0 0 14px;padding:8px 10px}.onboarding-replay-tip{color:#4b5563;font-size:12px;margin:-4px 0 14px}.onboarding-actions{display:flex;gap:8px;justify-content:space-between}.onboarding-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px}.onboarding-btn.secondary{background:#e5e7eb;color:#374151}.onboarding-btn.secondary:disabled{cursor:not-allowed;opacity:.5}.onboarding-btn.primary{background:#2e7d32;color:#fff}.onboarding-btn.primary:hover{background:#1b5e20}@media (max-width:768px){.onboarding-card{bottom:calc(88px + env(safe-area-inset-bottom, 0px));left:12px;right:12px;top:auto;width:auto}}.notification{animation:slideInRight .3s ease-out;max-width:300px;position:fixed;right:20px;top:100px;z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.success-notification{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:8px;box-shadow:0 4px 12px #4caf5066;color:#fff;max-width:300px;padding:12px 16px;position:fixed;right:20px;top:100px;z-index:100}.success-content{align-items:center;display:flex;gap:12px}.success-icon{flex-shrink:0;font-size:20px}.success-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.success-text strong{font-size:14px;font-weight:600;line-height:1.2}.success-text span{font-size:12px;line-height:1.2;opacity:.9}.success-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.success-close:hover{background:#fff3}.error-notification{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:8px;box-shadow:0 4px 12px #ef444466;color:#fff;max-width:300px;padding:12px 16px;position:fixed;right:20px;top:100px;z-index:1000}.error-content{align-items:center;display:flex;gap:12px}.error-icon{flex-shrink:0;font-size:20px}.error-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.error-text strong{font-size:14px;font-weight:600;line-height:1.2}.error-text span{font-size:12px;line-height:1.2;opacity:.9}.error-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.error-close:hover{background:#fff3}.warning-notification{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:8px;box-shadow:0 4px 12px #f59e0b66;color:#fff;max-width:300px;padding:12px 16px;position:fixed;right:20px;top:100px;z-index:1000}.warning-content{align-items:center;display:flex;gap:12px}.warning-icon{flex-shrink:0;font-size:20px}.warning-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.warning-text strong{font-size:14px;font-weight:600;line-height:1.2}.warning-text span{font-size:12px;line-height:1.2;opacity:.9}.warning-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.warning-close:hover{background:#fff3}.info-notification{animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;box-shadow:0 4px 12px #3b82f666;color:#fff;max-width:300px;padding:12px 16px;position:fixed;right:20px;top:100px;z-index:1000}.info-content{align-items:center;display:flex;gap:12px}.info-icon{flex-shrink:0;font-size:20px}.info-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.info-text strong{font-size:14px;font-weight:600;line-height:1.2}.info-text span{font-size:12px;line-height:1.2;opacity:.9}.info-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.info-close:hover{background:#fff3}.notification:nth-child(2){top:160px}.notification:nth-child(3){top:220px}.notification:nth-child(4){top:280px}@media (max-width:768px){.error-notification,.info-notification,.notification,.success-notification,.warning-notification{left:10px;max-width:none;right:10px;top:80px}.notification:nth-child(2){top:140px}.notification:nth-child(3){top:200px}.notification:nth-child(4){top:260px}}body.ui-touch .error-notification,body.ui-touch .info-notification,body.ui-touch .notification,body.ui-touch .success-notification,body.ui-touch .warning-notification{bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important;left:10px!important;max-width:none!important;right:10px!important;top:auto!important;z-index:1550!important}body.ui-touch .error-content,body.ui-touch .info-content,body.ui-touch .success-content,body.ui-touch .warning-content{align-items:flex-start}body.ui-touch .error-text strong,body.ui-touch .info-text strong,body.ui-touch .success-text strong,body.ui-touch .warning-text strong{font-size:13px}body.ui-touch .error-text span,body.ui-touch .info-text span,body.ui-touch .success-text span,body.ui-touch .warning-text span{font-size:12px}:root{--header-height:56px;--shell-bg:#eef4ef;--surface:#fff;--surface-soft:#f7faf7;--line:#dbe6dd;--text:#1f2937;--muted-text:#6b7280;--primary:#2e7d32;--primary-dark:#1f5c25;--mobile-gutter:14px;--mobile-radius:16px}#root,body,html{height:100%;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;background:#eef4ef;background:var(--shell-bg);color:#1f2937;color:var(--text);margin:0;overflow-x:hidden;overflow-y:auto}body.mobile-nav-open{overflow:hidden}*{box-sizing:border-box}.app-container{background:#eef4ef;background:var(--shell-bg);display:flex;min-height:100vh}.main-content{background:linear-gradient(180deg,#f4f8f4,#eef4ef);flex:1 1;min-height:100vh;min-width:0;overflow-x:hidden;overflow-y:visible;padding:0;position:relative}.app-sidebar-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a6b;border:0;inset:0;position:fixed;z-index:1090}.ingredient-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.ingredient-modal-container{background:#f5f5f5;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:900px;min-width:700px;width:60%}.ingredient-modal-header{background:#fff;border-bottom:1px solid #d1d5db;padding:20px 30px;position:relative}.ingredient-modal-title{color:#2e7d32;font-size:28px;font-weight:700;letter-spacing:1px;margin:0 0 15px;text-align:center;text-transform:uppercase}.ingredient-modal-subheader{align-items:center;color:#6b7280;display:flex;font-size:14px;justify-content:space-between}.quick-kitchen{color:#374151;font-weight:600}.all-ingredients-link{color:#2e7d32;cursor:pointer;text-decoration:underline}.all-ingredients-link:hover{color:#1b5e20}.ingredient-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;position:absolute;right:20px;top:15px;width:30px}.ingredient-modal-close:hover{background:#f3f4f6;color:#374151}.ingredient-modal-content{background:#fff;flex:1 1;overflow-y:auto;padding:20px 30px}.ingredient-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.ingredient-clear-btn{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.ingredient-clear-btn:hover:not(:disabled){background:#4b5563}.ingredient-apply-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.ingredient-apply-btn:hover:not(:disabled){background:#1b5e20}.page h1{margin-bottom:10px}@media (min-width:769px){.app-sidebar-backdrop{display:none}}@media (max-width:768px){.main-content{min-height:100dvh;overflow-y:visible}.achievements-container,.admin-container,.ai-container,.dashboard-container,.instagram-feed-container,.leaderboard-container,.mealplans-container,.page-container,.pantry-container,.profile-container,.recipe-detail-container,.recipes-container,.settings-container,.shopping-container{margin-left:0!important;padding-left:14px!important;padding-left:var(--mobile-gutter)!important;padding-right:14px!important;padding-right:var(--mobile-gutter)!important}.achievements-container,.admin-container,.ai-container,.dashboard-container,.leaderboard-container,.mealplans-container,.page-container,.pantry-container,.profile-container,.recipe-detail-container,.recipes-container,.settings-container,.shopping-container{padding-bottom:24px!important;padding-top:74px!important;padding-top:calc(var(--header-height) + 18px)!important}.achievements-header,.admin-header,.ai-header,.dashboard-header,.leaderboard-header,.mealplans-header,.page-header,.pantry-header,.profile-header,.recipes-header,.settings-header,.shopping-header{align-items:flex-start;display:flex;flex-direction:column;gap:10px;margin-bottom:18px!important}.header-actions,.pantry-header .header-actions,.recipes-header .header-actions,.shopping-header .header-actions{grid-gap:10px;display:grid!important;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.ai-title,.leaderboard-title,.pantry-title,.recipes-title,.section-title,.settings-title,.shopping-title{line-height:1.1}.search-container,.search-filters-section{border-radius:16px!important;border-radius:var(--mobile-radius)!important}.lists-grid,.quick-actions,.recipes-grid,.stats-column,.summary-cards{gap:12px!important}.ingredient-modal-overlay,.item-scanner-overlay,.modal-overlay,.receipt-scanner-overlay,.recipe-modal-overlay,.share-modal-overlay,.shopping-list-generator-overlay,.shopping-modal-overlay{align-items:flex-end!important;padding:12px!important}.ingredient-modal-container,.item-scanner-container,.modal-content,.receipt-scanner-container,.recipe-modal-container,.share-modal-content,.shopping-list-generator-modal,.shopping-modal-container{border-radius:22px 22px 12px 12px!important;max-height:min(88dvh,88vh)!important;max-width:min(100%,100vw - 24px)!important;min-width:0!important;width:min(100%,100vw - 24px)!important}}@media (max-width:480px){:root{--mobile-gutter:12px}.header-actions,.pantry-header .header-actions,.recipes-header .header-actions,.shopping-header .header-actions{grid-template-columns:1fr}.achievements-container,.admin-container,.ai-container,.dashboard-container,.leaderboard-container,.mealplans-container,.page-container,.pantry-container,.profile-container,.recipe-detail-container,.recipes-container,.settings-container,.shopping-container{padding-top:70px!important;padding-top:calc(var(--header-height) + 14px)!important}}@media (max-width:1024px){.achievements-container,.admin-container,.ai-container,.dashboard-container,.leaderboard-container,.mealplans-container,.page-container,.pantry-container,.profile-container,.recipe-detail-container,.recipes-container,.settings-container,.shopping-container{padding-left:20px!important;padding-right:20px!important}.achievements-container.sidebar-open,.ai-container.sidebar-open,.dashboard-container.sidebar-open,.leaderboard-container.sidebar-open,.mealplans-container.sidebar-open,.page-container.sidebar-open,.pantry-container.sidebar-open,.profile-container.sidebar-open,.recipe-detail-container.sidebar-open,.recipes-container.sidebar-open,.settings-container.sidebar-open,.shopping-container.sidebar-open{margin-left:0!important}}@media (max-width:820px){.achievements-grid,.admin-grid,.lists-grid,.mealplan-stats,.nutrition-grid,.profile-grid,.recipe-stats-grid,.recipes-grid,.settings-grid,.stats-grid,.summary-cards{gap:12px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-content-grid,.chat-layout,.profile-main-grid,.recipe-content-grid,.recipe-main-content,.top-row{grid-template-columns:1fr!important}.section-indicators,.tab-navigation,.week-navigation{-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:4px;white-space:nowrap}.ingredient-modal-overlay,.item-scanner-overlay,.meal-modal-overlay,.modal-overlay,.pantry-ingredient-modal-overlay,.pantry-modal-overlay,.receipt-scanner-overlay,.recipe-modal-overlay,.share-modal-overlay,.shopping-list-generator-overlay,.shopping-modal-overlay{align-items:flex-end!important;padding:10px!important}.error-modal-card,.feed-modal-container,.friends-modal,.ingredient-modal-container,.item-scanner-container,.meal-details-modal,.meal-modal-container,.modal-content,.notifications-modal,.pantry-ingredient-modal-container,.pantry-modal-container,.receipt-scanner-container,.recipe-modal-container,.result-modal-card,.share-modal-content,.shopping-list-generator-modal,.shopping-modal-container{border-radius:24px 24px 12px 12px!important;margin:0!important;max-height:min(90dvh,90vh)!important;max-width:min(100%,100vw - 20px)!important;min-width:0!important;overflow:hidden!important;width:min(100%,100vw - 20px)!important}.error-modal-header,.feed-modal-header,.friends-header,.generator-header,.ingredient-modal-header,.item-scanner-header,.meal-modal-header,.modal-header,.notifications-header,.pantry-ingredient-modal-header,.pantry-modal-header,.receipt-scanner-header,.recipe-modal-header,.result-modal-header,.share-modal-header,.shopping-modal-header{padding:16px 16px 12px!important}.feed-modal-subheader,.ingredient-modal-subheader,.item-scanner-subheader,.meal-modal-subheader,.pantry-ingredient-modal-subheader,.pantry-modal-subheader,.recipe-modal-subheader,.shopping-modal-subheader{align-items:flex-start!important;display:flex!important;flex-direction:column!important;gap:6px!important;text-align:left!important}.feed-modal-content,.generator-content,.ingredient-modal-content,.item-scanner-content,.meal-modal-content,.modal-body,.notifications-content,.pantry-ingredient-modal-content,.pantry-modal-content,.receipt-scanner-content,.recipe-modal-content,.share-modal-body,.shopping-modal-content{padding:14px 16px!important}.feed-modal-footer,.generator-footer,.ingredient-modal-footer,.item-scanner-footer,.meal-modal-footer,.modal-actions,.pantry-ingredient-modal-footer,.pantry-modal-footer,.receipt-scanner-footer,.recipe-modal-footer,.shopping-modal-footer{display:flex!important;flex-direction:column!important;gap:10px!important;padding:12px 16px 16px!important}.btn-danger,.btn-primary,.btn-secondary,.feed-modal-footer button,.generator-footer button,.ingredient-modal-footer button,.item-scanner-footer button,.meal-modal-footer button,.modal-actions button,.pantry-ingredient-modal-footer button,.pantry-modal-footer button,.receipt-scanner-footer button,.recipe-modal-footer button,.shopping-modal-footer button{width:100%!important}.form-row,.input-row,.three-column-row,.two-column-row{gap:12px!important;grid-template-columns:1fr!important}.form-group,.ingredient-modal-content .form-group,.meal-modal-content .form-group,.modal-body .form-group,.pantry-ingredient-modal-content .form-group,.pantry-modal-content .form-group,.recipe-modal-content .form-group,.shopping-modal-content .form-group{min-width:0!important}.form-group label,.ingredient-modal-content label,.meal-modal-content label,.modal-body label,.pantry-ingredient-modal-content label,.pantry-modal-content label,.recipe-modal-content label,.shopping-modal-content label{display:block!important;font-size:13px!important;line-height:1.25!important;margin-bottom:6px!important;white-space:normal!important;word-break:break-word!important}.form-input,.form-select,.form-textarea,.ingredient-modal-content input,.ingredient-modal-content select,.ingredient-modal-content textarea,.meal-modal-content input,.meal-modal-content select,.meal-modal-content textarea,.modal-body input,.modal-body select,.modal-body textarea,.pantry-ingredient-modal-content input,.pantry-ingredient-modal-content select,.pantry-ingredient-modal-content textarea,.pantry-modal-content input,.pantry-modal-content select,.pantry-modal-content textarea,.recipe-modal-content input,.recipe-modal-content select,.recipe-modal-content textarea,.shopping-modal-content input,.shopping-modal-content select,.shopping-modal-content textarea{font-size:16px!important;min-height:44px!important;min-width:0!important;width:100%!important}.form-textarea,textarea{min-height:96px!important}}@media (max-width:600px){.achievements-grid,.admin-grid,.lists-grid,.mealplan-stats,.nutrition-grid,.profile-grid,.recipe-stats-grid,.recipes-grid,.settings-grid,.stats-grid,.summary-cards{grid-template-columns:1fr!important}.card-actions,.filters,.header-actions,.list-actions,.recipe-actions,.search-container{width:100%!important}.action-btn,.add-item-btn,.add-recipe-btn,.essentials-btn,.filter-icon-btn,.ingredient-filter-btn,.quick-add-btn,.receipt-scanner-btn,.scan-item-btn,.search-input,.week-nav-btn{justify-content:center!important;width:100%!important}.achievement-card,.chat-container,.day-column,.feed-modal-container,.list-card,.post-card,.recipe-card,.stat-card,.summary-card,.today-column{border-radius:16px!important}}body.ui-touch{--mobile-bg:#f3efe5;--mobile-surface:#fffaf1;--mobile-surface-2:#f5eddc;--mobile-panel:#fffaf1e6;--mobile-line:#293e2d1f;--mobile-line-strong:#293e2d2e;--mobile-text:#1f2a20;--mobile-muted:#6d7668;--mobile-brand:#2e7d32;--mobile-brand-dark:#1f5d28;--mobile-brand-soft:#dceacb;--mobile-accent:#f0b44d;--mobile-shadow:0 18px 42px #3e392524;--mobile-radius-xl:28px;--mobile-radius-lg:22px;--mobile-radius-md:16px;--mobile-radius-sm:12px;--mobile-gutter:14px;--mobile-top-offset:132px;--mobile-bottom-offset:136px;--mobile-font:"Avenir Next","Trebuchet MS","Segoe UI",sans-serif}body.ui-tablet{--mobile-gutter:20px;--mobile-top-offset:142px}body.ui-touch,body.ui-touch button,body.ui-touch input,body.ui-touch select,body.ui-touch textarea{font-family:var(--mobile-font)}body.ui-touch{background:radial-gradient(circle at top left,#f0b44d38,#0000 30%),radial-gradient(circle at top right,#2e7d322e,#0000 25%),linear-gradient(180deg,#f7f1e7,#f1eadc 48%,#ece8d9)}body.ui-touch .app-container{background:#0000}body.ui-touch .main-content{background:#0000;min-height:100vh;padding-bottom:calc(var(--mobile-bottom-offset) + env(safe-area-inset-bottom, 0px));padding-top:calc(var(--mobile-top-offset) + env(safe-area-inset-top, 0px))}body.ui-touch .app-header,body.ui-touch .app-sidebar-backdrop,body.ui-touch .sidebar{display:none!important}body.ui-touch .mobile-chrome{background:linear-gradient(160deg,#225728fa,#428f48f2);border-bottom-left-radius:18px;border-bottom-right-radius:18px;box-shadow:0 18px 44px #16341a38;color:#fffdf7;inset:0 0 auto 0;padding:calc(6px + env(safe-area-inset-top, 0px)) var(--mobile-gutter) 8px;position:fixed;z-index:1100}body.ui-touch .mobile-chrome:after{background:#ffffff29;content:"";height:1px;inset:auto 18px 7px;position:absolute}body.ui-touch .mobile-chrome__topline{align-items:center;display:flex;gap:8px;justify-content:space-between}body.ui-touch .mobile-chrome__identity,body.ui-touch .mobile-chrome__menu,body.ui-touch .mobile-chrome__profile{background:#0000;border:0;color:inherit}body.ui-touch .mobile-chrome__menu{grid-gap:4px;background:#ffffff1f;border-radius:14px;display:grid;gap:4px;height:40px;padding:10px;place-items:center;width:40px}body.ui-touch .mobile-chrome__menu span{background:#fff;border-radius:999px;display:block;height:2px;width:16px}body.ui-touch .mobile-chrome__identity{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0;text-align:left}body.ui-touch .mobile-chrome__badge{background:linear-gradient(145deg,#ffffff3d,#ffffff14);border-radius:13px;display:grid;font-weight:800;height:36px;letter-spacing:.08em;place-items:center;width:36px}body.ui-touch .mobile-chrome__identity-copy{display:flex;flex-direction:column;min-width:0}body.ui-touch .mobile-chrome__identity-copy strong{font-size:14px;font-weight:700}body.ui-touch .mobile-chrome__identity-copy small{color:#fffdf7bd;font-size:10px}body.ui-touch .mobile-chrome__profile{background:#ffffff24;border-radius:13px;display:grid;font-weight:700;height:36px;place-items:center;width:36px}body.ui-touch .mobile-chrome__hero{align-items:flex-end;display:flex;gap:8px;justify-content:space-between;margin-top:6px}body.ui-touch .mobile-chrome__eyebrow{color:#fffdf7b3;font-size:10px;letter-spacing:.16em;margin-bottom:3px;text-transform:uppercase}body.ui-touch .mobile-chrome__title{font-size:18px;letter-spacing:-.03em;line-height:1;margin:0}body.ui-touch .mobile-chrome__meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}body.ui-touch .mobile-chip{align-items:center;background:#ffffff1f;border-radius:999px;display:inline-flex;font-size:10px;padding:5px 9px}body.ui-touch .mobile-chrome.is-condensed{box-shadow:0 12px 28px #16341a2e;padding-bottom:8px}body.ui-touch .mobile-chrome.is-condensed .mobile-chrome__hero,body.ui-touch .mobile-chrome.is-condensed:after{display:none}body.ui-touch .mobile-chip--alert{background:#f0b44d3d}body.ui-touch .mobile-drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d211b6b;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .24s ease;z-index:1120}body.ui-touch .mobile-drawer-backdrop.is-open{opacity:1;pointer-events:auto}body.ui-touch .mobile-drawer{background:linear-gradient(180deg,#fffaf0,#f5efdf);box-shadow:16px 0 48px #25271e2e;display:flex;flex-direction:column;gap:16px;inset:0 auto 0 0;padding:calc(18px + env(safe-area-inset-top, 0px)) 16px calc(16px + env(safe-area-inset-bottom, 0px));position:fixed;transform:translateX(-104%);transition:transform .28s ease;width:min(84vw,360px);z-index:1150}body.ui-touch .mobile-drawer.is-open{transform:translateX(0)}body.ui-touch .mobile-drawer__header{align-items:flex-start;border-bottom:1px solid var(--mobile-line);display:flex;gap:12px;justify-content:space-between;padding-bottom:16px}body.ui-touch .mobile-drawer__label{color:var(--mobile-muted);font-size:11px;letter-spacing:.12em;margin-bottom:4px;text-transform:uppercase}body.ui-touch .mobile-drawer__name{color:var(--mobile-text);font-size:20px;font-weight:700}body.ui-touch .mobile-drawer__close{background:#1f2a2012;border:0;border-radius:12px;color:var(--mobile-text);font-size:24px;height:38px;width:38px}body.ui-touch .mobile-drawer__nav{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto}body.ui-touch .mobile-drawer__link{align-items:center;background:#ffffff8a;border:1px solid #0000;border-radius:18px;color:var(--mobile-text);display:flex;gap:12px;padding:14px;text-decoration:none}body.ui-touch .mobile-drawer__link.is-active{background:linear-gradient(145deg,#2e7d322e,#2e7d3214);border-color:#2e7d322e}body.ui-touch .mobile-drawer__icon{background:linear-gradient(145deg,#2e7d3229,#2e7d3214);border-radius:13px;color:var(--mobile-brand-dark);display:grid;flex-shrink:0;height:34px;place-items:center;width:34px}body.ui-touch .mobile-drawer__icon svg{height:18px;width:18px}body.ui-touch .mobile-drawer__footer{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}body.ui-touch .mobile-drawer__danger,body.ui-touch .mobile-drawer__ghost{border:0;border-radius:16px;font-size:14px;font-weight:600;padding:14px 12px}body.ui-touch .mobile-drawer__ghost{background:#1f2a2014;color:var(--mobile-text)}body.ui-touch .mobile-drawer__danger{background:#213327;color:#fff8ee}body.ui-touch .mobile-dock{grid-gap:8px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#20281fe0;border:1px solid #ffffff14;border-radius:18px;bottom:calc(8px + env(safe-area-inset-bottom, 0px));box-shadow:0 14px 34px #1618134d;display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr));left:50%;padding:7px;position:fixed;transform:translateX(-50%);width:min(calc(100vw - 16px),460px);z-index:1100}body.ui-touch .mobile-dock__item{align-items:center;border-radius:15px;color:#fff8eeb8;display:flex;flex-direction:column;gap:5px;justify-content:center;min-height:50px;text-decoration:none}body.ui-touch .mobile-dock__item.is-active{background:linear-gradient(145deg,#58ba643d,#ffffff14);color:#fff}body.ui-touch .mobile-dock__icon{background:#ffffff05;border-radius:10px;color:currentColor;display:grid;height:28px;place-items:center;width:28px}body.ui-touch .mobile-dock__icon svg{height:17px;width:17px}body.ui-touch .mobile-dock__item.is-active .mobile-dock__icon{background:#ffffff1a}body.ui-touch .mobile-dock__label{font-size:9px;font-weight:600}body.ui-touch .achievements-container,body.ui-touch .admin-container,body.ui-touch .ai-container,body.ui-touch .dashboard-container,body.ui-touch .instagram-feed-container,body.ui-touch .leaderboard-container,body.ui-touch .mealplans-container,body.ui-touch .page-container,body.ui-touch .pantry-container,body.ui-touch .profile-container,body.ui-touch .recipe-detail-container,body.ui-touch .recipes-container,body.ui-touch .settings-container,body.ui-touch .shopping-container{margin-left:0!important;padding-bottom:calc(var(--mobile-bottom-offset) + 18px)!important;padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important;padding-top:18px!important}body.ui-touch .achievements-container.sidebar-open,body.ui-touch .admin-container.sidebar-open,body.ui-touch .ai-container.sidebar-open,body.ui-touch .dashboard-container.sidebar-open,body.ui-touch .leaderboard-container.sidebar-open,body.ui-touch .mealplans-container.sidebar-open,body.ui-touch .page-container.sidebar-open,body.ui-touch .pantry-container.sidebar-open,body.ui-touch .profile-container.sidebar-open,body.ui-touch .recipe-detail-container.sidebar-open,body.ui-touch .recipes-container.sidebar-open,body.ui-touch .settings-container.sidebar-open,body.ui-touch .shopping-container.sidebar-open{margin-left:0!important}body.ui-mobile .mobile-chrome__hero{align-items:flex-start;flex-direction:column}body.ui-mobile .mobile-chrome__meta{justify-content:flex-start}body.ui-mobile .mobile-drawer{width:min(92vw,360px)}body.ui-touch .achievements-header,body.ui-touch .admin-header,body.ui-touch .ai-header,body.ui-touch .dashboard-header,body.ui-touch .leaderboard-header,body.ui-touch .mealplans-header,body.ui-touch .page-header,body.ui-touch .pantry-header,body.ui-touch .profile-header,body.ui-touch .recipe-detail-header,body.ui-touch .recipes-header,body.ui-touch .settings-header,body.ui-touch .shopping-header{align-items:flex-start!important;display:flex!important;flex-direction:column!important;gap:12px!important;margin-bottom:18px!important}body.ui-touch .ai-title,body.ui-touch .leaderboard-title,body.ui-touch .pantry-title,body.ui-touch .profile-title,body.ui-touch .recipes-title,body.ui-touch .section-title,body.ui-touch .settings-title,body.ui-touch .shopping-title,body.ui-touch .welcome-message{color:var(--mobile-text)!important;font-size:28px!important;letter-spacing:-.03em!important;line-height:.96!important}body.ui-touch .ai-subtitle,body.ui-touch .leaderboard-subtitle,body.ui-touch .pantry-subtitle,body.ui-touch .profile-subtitle,body.ui-touch .recipes-subtitle,body.ui-touch .settings-subtitle,body.ui-touch .shopping-subtitle,body.ui-touch .subtitle{color:var(--mobile-muted)!important;font-size:14px!important;line-height:1.5!important;max-width:42ch}body.ui-touch .header-actions,body.ui-touch .pantry-header .header-actions,body.ui-touch .recipe-detail-header .header-actions,body.ui-touch .recipes-header .header-actions,body.ui-touch .shopping-header .header-actions{grid-gap:10px;display:grid!important;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}body.ui-mobile .header-actions,body.ui-mobile .pantry-header .header-actions,body.ui-mobile .recipe-detail-header .header-actions,body.ui-mobile .recipes-header .header-actions,body.ui-mobile .shopping-header .header-actions{grid-template-columns:1fr}body.ui-touch .achievements-grid,body.ui-touch .admin-grid,body.ui-touch .lists-grid,body.ui-touch .mealplan-stats,body.ui-touch .nutrition-grid,body.ui-touch .profile-grid,body.ui-touch .quick-actions,body.ui-touch .recipe-stats-grid,body.ui-touch .recipes-grid,body.ui-touch .settings-grid,body.ui-touch .stats-column,body.ui-touch .stats-grid,body.ui-touch .summary-cards{gap:12px!important}body.ui-tablet .achievements-grid,body.ui-tablet .admin-grid,body.ui-tablet .lists-grid,body.ui-tablet .mealplan-stats,body.ui-tablet .nutrition-grid,body.ui-tablet .profile-grid,body.ui-tablet .quick-actions,body.ui-tablet .recipe-stats-grid,body.ui-tablet .recipes-grid,body.ui-tablet .settings-grid,body.ui-tablet .stats-column,body.ui-tablet .stats-grid,body.ui-tablet .summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.ui-mobile .achievements-grid,body.ui-mobile .admin-grid,body.ui-mobile .lists-grid,body.ui-mobile .mealplan-stats,body.ui-mobile .nutrition-grid,body.ui-mobile .profile-grid,body.ui-mobile .quick-actions,body.ui-mobile .recipe-stats-grid,body.ui-mobile .recipes-grid,body.ui-mobile .settings-grid,body.ui-mobile .stats-column,body.ui-mobile .stats-grid,body.ui-mobile .summary-cards,body.ui-touch .admin-content-grid,body.ui-touch .chat-layout,body.ui-touch .profile-main-grid,body.ui-touch .recipe-content-grid,body.ui-touch .recipe-main-content,body.ui-touch .top-row{grid-template-columns:1fr!important}body.ui-touch .achievement-card,body.ui-touch .action-card,body.ui-touch .chat-container,body.ui-touch .custom-meal-item,body.ui-touch .day-column,body.ui-touch .list-card,body.ui-touch .meal-preview,body.ui-touch .pantry-item-card,body.ui-touch .post-card,body.ui-touch .profile-card,body.ui-touch .recipe-card,body.ui-touch .search-container,body.ui-touch .search-filters-section,body.ui-touch .settings-section,body.ui-touch .stat-card,body.ui-touch .summary-card,body.ui-touch .today-column{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--mobile-panel)!important;border:1px solid var(--mobile-line)!important;border-radius:var(--mobile-radius-xl)!important;box-shadow:var(--mobile-shadow)!important}body.ui-touch .stat-card,body.ui-touch .summary-card{overflow:hidden;position:relative}body.ui-touch .action-card:before,body.ui-touch .list-card:before,body.ui-touch .recipe-card:before,body.ui-touch .stat-card:before,body.ui-touch .summary-card:before{background:linear-gradient(145deg,#ffffff52,#0000 48%);content:"";inset:0;pointer-events:none;position:absolute}body.ui-touch .summary-card{min-height:104px!important;padding:16px 14px!important}body.ui-touch .summary-number{color:var(--mobile-brand-dark)!important;font-size:26px!important;line-height:1!important}body.ui-touch .summary-label{color:var(--mobile-muted)!important;font-size:12px!important;line-height:1.2!important}body.ui-touch .action-card{align-items:flex-start!important;min-height:124px!important;padding:18px!important;text-align:left!important}body.ui-touch .action-card h3,body.ui-touch .list-card h3,body.ui-touch .profile-card h3,body.ui-touch .recipe-card h3,body.ui-touch .settings-section h3{color:var(--mobile-text)!important}body.ui-touch .action-card p,body.ui-touch .list-card p,body.ui-touch .profile-card p,body.ui-touch .recipe-card p,body.ui-touch .settings-section p{color:var(--mobile-muted)!important}body.ui-touch .search-container,body.ui-touch .search-filters-section{padding:16px!important}body.ui-touch .filters{gap:10px!important}body.ui-mobile .filters{align-items:stretch!important;flex-direction:column!important}body.ui-touch .action-btn,body.ui-touch .add-item-btn,body.ui-touch .add-recipe-btn,body.ui-touch .btn-danger,body.ui-touch .btn-primary,body.ui-touch .btn-secondary,body.ui-touch .essentials-btn,body.ui-touch .filter-icon-btn,body.ui-touch .ingredient-filter-btn,body.ui-touch .quick-add-btn,body.ui-touch .receipt-scanner-btn,body.ui-touch .scan-item-btn,body.ui-touch .week-nav-btn{border-radius:16px!important;box-shadow:none!important;min-height:48px!important}body.ui-touch .action-btn,body.ui-touch .add-item-btn,body.ui-touch .btn-primary,body.ui-touch .quick-add-btn,body.ui-touch .receipt-scanner-btn,body.ui-touch .scan-item-btn{background:linear-gradient(145deg,var(--mobile-brand) 0,#58a85f 100%)!important;border:0!important;color:#fff8ee!important}body.ui-touch .btn-secondary,body.ui-touch .essentials-btn,body.ui-touch .ingredient-filter-btn,body.ui-touch .week-nav-btn{background:#ffffffbd!important;border:1px solid var(--mobile-line)!important;color:var(--mobile-text)!important}body.ui-touch .category-filter-section,body.ui-touch .section-indicators,body.ui-touch .tab-navigation,body.ui-touch .week-navigation{-webkit-overflow-scrolling:touch;display:flex!important;gap:10px!important;overflow-x:auto!important;padding-bottom:6px!important;white-space:nowrap}body.ui-touch .category-filter-btn,body.ui-touch .section-indicator,body.ui-touch .tab-button,body.ui-touch .week-nav-tab{border-radius:18px!important;flex:0 0 auto!important;min-width:112px!important;padding:12px 14px!important}body.ui-touch .all-ingredients-link,body.ui-touch .desktop-inline-filter,body.ui-touch .desktop-only,body.ui-touch .help-link,body.ui-touch .instagram-left-sidebar,body.ui-touch .instagram-right-sidebar,body.ui-touch .item-scanner-help-link,body.ui-touch .pantry-help-link,body.ui-touch .profile-side-column,body.ui-touch .secondary-panel,body.ui-touch .shopping-help-link,body.ui-touch .sidebar-stats,body.ui-touch .suggestions-panel{display:none!important}body.ui-touch .form-row,body.ui-touch .input-row,body.ui-touch .three-column-row,body.ui-touch .two-column-row{gap:12px!important;grid-template-columns:1fr!important}body.ui-touch .form-input,body.ui-touch .form-select,body.ui-touch .form-textarea,body.ui-touch input,body.ui-touch select,body.ui-touch textarea{border-radius:16px!important}body.ui-mobile .login-container,body.ui-mobile .register-container,body.ui-mobile .reset-password-container{align-items:flex-start!important;justify-content:flex-start!important;min-height:100vh!important;overflow-y:auto!important;padding:16px 10px 24px!important;position:relative!important}body.ui-mobile .login-card,body.ui-mobile .register-card,body.ui-mobile .reset-password-card{background:var(--mobile-panel)!important;border:1px solid #ffffff3d!important;border-radius:28px!important;box-shadow:var(--mobile-shadow)!important;margin:88px 0 0!important;max-width:none!important;padding:18px!important;width:100%!important}body.ui-mobile .login-header,body.ui-mobile .register-header,body.ui-mobile .reset-password-header{margin-bottom:18px!important;text-align:left!important}body.ui-mobile .login-logo,body.ui-mobile .register-logo{justify-content:flex-start!important}body.ui-mobile .login-title,body.ui-mobile .register-title,body.ui-mobile .reset-password-header h1{font-size:24px!important;line-height:.98!important}body.ui-mobile .login-subtitle,body.ui-mobile .register-subtitle,body.ui-mobile .reset-password-header p{font-size:14px!important}body.ui-mobile .form-options{align-items:flex-start!important;flex-direction:column!important;gap:10px!important}body.ui-touch .danger-section{background:#fffffff0!important;border:1px solid #1f2a201a!important;border-left:0!important}body.ui-touch .confirmation-input label,body.ui-touch .danger-section .section-description,body.ui-touch .danger-section .section-title,body.ui-touch .deletion-item span:last-child,body.ui-touch .warning-header h3,body.ui-touch .warning-section h4,body.ui-touch .warning-subtitle{color:var(--mobile-text)!important}body.ui-touch .professional-warning{background:linear-gradient(180deg,#fffffff7,#f6f2ebf5)!important;border:1px solid #1f2a201a!important;box-shadow:0 16px 36px #2f2c2214!important}body.ui-touch .warning-header{border-bottom:1px solid #1f2a2014!important}body.ui-touch .deletion-item,body.ui-touch .preservation-note{background:#f7f4eeeb!important;border:1px solid #1f2a2014!important}body.ui-touch .preservation-note span:last-child{color:var(--mobile-text)!important}body.ui-touch .confirmation-text-input{background:#fff!important;border:2px solid #1f2a201f!important;box-shadow:none!important;color:var(--mobile-text)!important}body.ui-touch .confirmation-text-input::placeholder{color:#8c9487!important;opacity:1!important}body.ui-touch .confirmation-text-input:focus{background:#fff!important;border-color:#2e7d3266!important;box-shadow:0 0 0 4px #2e7d3214!important;transform:none!important}body.ui-touch .settings-section{background:linear-gradient(180deg,#fffbf5f7,#f7f2e9f7)!important}body.ui-touch .setting-item{background:#fff!important;border:1px solid #1f2a2014!important;box-shadow:0 10px 24px #312e230f!important}body.ui-touch .setting-item:hover{background:#fff!important;border-color:#2e7d3224!important}body.ui-touch .setting-title{color:#243126!important}body.ui-touch .input-suffix,body.ui-touch .setting-description{color:#70786e!important}body.ui-touch .setting-input,body.ui-touch .setting-select{background:#fffdfa!important;border:1px solid #1f2a201f!important;color:#243126!important}body.ui-touch .setting-input:focus,body.ui-touch .setting-select:focus{border-color:#2e7d3259!important;box-shadow:0 0 0 4px #2e7d3214!important}body.ui-touch .toggle-slider{background:#d7ddd5!important}body.ui-touch .toggle-slider:before{background:#fff!important;box-shadow:0 2px 8px #1f2a2029!important}body.ui-touch .toggle-switch input:checked+.toggle-slider{background:linear-gradient(145deg,#3d8d43,#2f6f36)!important}body.ui-touch .replay-tutorial-btn,body.ui-touch .reset-settings-btn{background:#f3efe7!important;border:1px solid #1f2a201a!important;color:#243126!important}body.ui-touch .delete-profile-btn{background:#fff!important;border:1px solid #1f2a201f!important;box-shadow:0 10px 24px #312e230f!important;color:#2b342c!important}body.ui-touch .delete-profile-btn:active,body.ui-touch .delete-profile-btn:hover{background:#fbf7f0!important;box-shadow:0 10px 24px #312e230f!important;color:#243126!important;transform:none!important}body.ui-touch .pantry-title>span,body.ui-touch .shopping-title>span{background:linear-gradient(145deg,#2e7d3224,#2e7d3214);border-radius:12px;box-shadow:inset 0 0 0 1px #2e7d3214;color:var(--mobile-brand-dark);display:inline-grid;font-size:18px!important;height:34px;line-height:1;place-items:center;width:34px}body.ui-touch .pantry-header .header-actions button>span,body.ui-touch .shopping-header .header-actions button>span{display:inline-grid;flex-shrink:0;font-size:14px!important;height:22px;line-height:1;place-items:center;width:22px}body.ui-touch .pantry-header .header-actions .quick-add-btn>span,body.ui-touch .shopping-header .header-actions .add-item-btn>span{background:#ffffff29;border-radius:999px;font-size:16px!important;font-weight:700;height:24px;width:24px}body.ui-touch .pantry-header .header-actions .bulk-select-btn>span,body.ui-touch .pantry-header .header-actions .scan-item-btn>span,body.ui-touch .shopping-header .header-actions .bulk-select-btn>span,body.ui-touch .shopping-header .header-actions .essentials-btn>span{background:#ffffff1f;border-radius:8px}body.ui-touch .item-actions,body.ui-touch .list-actions{gap:8px!important}body.ui-touch .shopping-container .list-header{align-items:flex-start!important}body.ui-touch .shopping-container .list-actions{flex-wrap:nowrap!important;justify-content:flex-end!important;margin-left:auto!important}body.ui-touch .pantry-container .item-actions .action-btn,body.ui-touch .shopping-container .list-actions .action-btn{display:inline-grid!important;flex:0 0 auto!important;min-height:0!important;padding:0!important;place-items:center!important}body.ui-touch .shopping-container .list-actions .action-btn{border-radius:10px!important;height:28px!important;width:28px!important}body.ui-touch .pantry-container .item-actions .action-btn{border-radius:12px!important;height:34px!important;padding:0!important;width:34px!important}body.ui-touch .list-item .delete-item-btn,body.ui-touch .pantry-container .item-actions .action-btn,body.ui-touch .shopping-container .list-actions .action-btn{font-size:12px!important;line-height:1!important}body.ui-touch .pantry-container .item-actions .action-btn{font-size:14px!important}body.ui-touch .shopping-container .list-actions .action-btn--bulk,body.ui-touch .shopping-container .list-actions .action-btn--danger,body.ui-touch .shopping-container .list-actions .action-btn--print,body.ui-touch .shopping-container .list-actions .action-btn--share{box-shadow:none!important}body.ui-touch .pantry-container .item-actions .action-btn{background:linear-gradient(145deg,var(--mobile-brand) 0,#58a85f 100%)!important;color:#fff8ee!important}body.ui-touch .list-item .delete-item-btn,body.ui-touch .pantry-container .item-actions .action-btn:last-child,body.ui-touch .shopping-container .list-actions .action-btn--danger{color:#ffe7e2!important}body.ui-touch .list-item .delete-item-btn{border-radius:10px!important;display:inline-grid!important;height:28px!important;padding:0!important;place-items:center!important;width:28px!important}body.ui-touch .confirmation-overlay,body.ui-touch .feed-modal-overlay,body.ui-touch .friends-modal-overlay,body.ui-touch .ingredient-modal-overlay,body.ui-touch .item-scanner-overlay,body.ui-touch .meal-modal-overlay,body.ui-touch .modal-overlay,body.ui-touch .notifications-modal-overlay,body.ui-touch .pantry-add-choice-overlay,body.ui-touch .pantry-ingredient-modal-overlay,body.ui-touch .pantry-modal-overlay,body.ui-touch .receipt-scanner-overlay,body.ui-touch .recipe-modal-overlay,body.ui-touch .share-modal-overlay,body.ui-touch .shopping-list-generator-overlay,body.ui-touch .shopping-modal-overlay{align-items:center!important;inset:0!important;justify-content:center!important;padding:calc(10px + env(safe-area-inset-top, 0px)) 10px calc(10px + env(safe-area-inset-bottom, 0px))!important;position:fixed!important;z-index:5000!important}body.ui-touch .delete-confirm-modal,body.ui-touch .delete-confirmation-card,body.ui-touch .error-modal-card,body.ui-touch .feed-modal-container,body.ui-touch .friends-modal,body.ui-touch .ingredient-modal-container,body.ui-touch .item-scanner-container,body.ui-touch .meal-details-modal,body.ui-touch .meal-modal-container,body.ui-touch .modal-content,body.ui-touch .notifications-modal,body.ui-touch .pantry-add-choice-card,body.ui-touch .pantry-ingredient-modal-container,body.ui-touch .pantry-modal-container,body.ui-touch .receipt-scanner-container,body.ui-touch .recipe-modal-container,body.ui-touch .result-modal-card,body.ui-touch .share-modal-content,body.ui-touch .shopping-list-generator-modal,body.ui-touch .shopping-modal-container{border-radius:24px 24px 12px 12px!important;margin:0!important;max-height:min(94dvh,94vh)!important;max-width:min(100%,100vw - 20px)!important;min-width:0!important;overflow:hidden!important;position:relative!important;width:min(100%,100vw - 20px)!important;z-index:5001!important}body.ui-touch .delete-confirmation-card,body.ui-touch .modal-content.delete-confirm-modal{align-self:center!important;margin-bottom:calc(24px + env(safe-area-inset-bottom, 0px))!important;max-height:calc(100dvh - 170px)!important;max-width:min(100%,380px)!important;overflow-y:auto!important;transform:translateY(-20px)!important;width:min(100%,380px)!important}body.ui-touch .delete-confirm-modal,body.ui-touch .delete-confirmation-card,body.ui-touch .ingredient-modal-container,body.ui-touch .meal-modal-container,body.ui-touch .modal-content,body.ui-touch .pantry-ingredient-modal-container,body.ui-touch .pantry-modal-container,body.ui-touch .recipe-modal-container,body.ui-touch .shopping-modal-container{display:flex!important;flex-direction:column!important}body.ui-touch .error-modal-header,body.ui-touch .feed-modal-header,body.ui-touch .friends-header,body.ui-touch .generator-header,body.ui-touch .ingredient-modal-header,body.ui-touch .item-scanner-header,body.ui-touch .meal-modal-header,body.ui-touch .modal-header,body.ui-touch .notifications-header,body.ui-touch .pantry-ingredient-modal-header,body.ui-touch .pantry-modal-header,body.ui-touch .receipt-scanner-header,body.ui-touch .recipe-modal-header,body.ui-touch .result-modal-header,body.ui-touch .share-modal-header,body.ui-touch .shopping-modal-header{padding:16px 16px 12px!important}body.ui-touch .feed-modal-title,body.ui-touch .generator-header h2,body.ui-touch .ingredient-modal-title,body.ui-touch .meal-modal-title,body.ui-touch .modal-header h2,body.ui-touch .modal-header h3,body.ui-touch .pantry-ingredient-modal-title,body.ui-touch .pantry-modal-title,body.ui-touch .recipe-modal-title,body.ui-touch .shopping-modal-title{font-size:24px!important;line-height:1.1!important;text-align:left!important}body.ui-mobile .feed-modal-title,body.ui-mobile .generator-header h2,body.ui-mobile .ingredient-modal-title,body.ui-mobile .meal-modal-title,body.ui-mobile .modal-header h2,body.ui-mobile .modal-header h3,body.ui-mobile .pantry-ingredient-modal-title,body.ui-mobile .pantry-modal-title,body.ui-mobile .recipe-modal-title,body.ui-mobile .shopping-modal-title{font-size:21px!important}body.ui-touch .feed-modal-subheader,body.ui-touch .generator-header .step-header,body.ui-touch .ingredient-modal-subheader,body.ui-touch .item-scanner-subheader,body.ui-touch .meal-modal-subheader,body.ui-touch .pantry-ingredient-modal-subheader,body.ui-touch .pantry-modal-subheader,body.ui-touch .recipe-modal-subheader,body.ui-touch .shopping-modal-subheader{align-items:flex-start!important;display:flex!important;flex-direction:column!important;gap:6px!important;text-align:left!important}body.ui-touch .feed-modal-content,body.ui-touch .generator-content,body.ui-touch .ingredient-modal-content,body.ui-touch .item-scanner-content,body.ui-touch .meal-modal-content,body.ui-touch .modal-body,body.ui-touch .notifications-content,body.ui-touch .pantry-ingredient-modal-content,body.ui-touch .pantry-modal-content,body.ui-touch .receipt-scanner-content,body.ui-touch .recipe-modal-content,body.ui-touch .share-modal-body,body.ui-touch .shopping-modal-content{overflow-y:auto!important;overscroll-behavior:contain!important;padding:14px 16px!important}body.ui-touch .feed-modal-footer,body.ui-touch .generator-footer,body.ui-touch .ingredient-modal-footer,body.ui-touch .item-scanner-footer,body.ui-touch .meal-modal-footer,body.ui-touch .modal-actions,body.ui-touch .pantry-ingredient-modal-footer,body.ui-touch .pantry-modal-footer,body.ui-touch .receipt-scanner-footer,body.ui-touch .recipe-modal-footer,body.ui-touch .shopping-list-generator-modal .options-actions,body.ui-touch .shopping-list-generator-modal .preview-actions,body.ui-touch .shopping-modal-footer{-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;background:#fffaf1fa!important;bottom:0!important;display:flex!important;flex-direction:column!important;gap:10px!important;padding:12px 16px 16px!important;position:-webkit-sticky!important;position:sticky!important}body.ui-touch .btn-danger,body.ui-touch .btn-primary,body.ui-touch .btn-secondary,body.ui-touch .feed-modal-footer button,body.ui-touch .generator-footer button,body.ui-touch .ingredient-apply-btn,body.ui-touch .ingredient-clear-btn,body.ui-touch .ingredient-modal-footer button,body.ui-touch .item-scanner-footer button,body.ui-touch .meal-modal-footer button,body.ui-touch .modal-actions button,body.ui-touch .pantry-cancel-btn,body.ui-touch .pantry-ingredient-modal-footer button,body.ui-touch .pantry-modal-footer button,body.ui-touch .pantry-submit-btn,body.ui-touch .receipt-scanner-footer button,body.ui-touch .recipe-modal-footer button,body.ui-touch .shopping-list-generator-modal .options-actions button,body.ui-touch .shopping-list-generator-modal .preview-actions button,body.ui-touch .shopping-modal-footer button{width:100%!important}body.ui-touch .form-row,body.ui-touch .ingredient-modal-content .form-row,body.ui-touch .meal-modal-content .form-row,body.ui-touch .modal-body .form-row,body.ui-touch .pantry-ingredient-modal-content .form-row,body.ui-touch .pantry-modal-content .form-row,body.ui-touch .recipe-modal-content .form-row,body.ui-touch .shopping-modal-content .form-row{gap:12px!important;grid-template-columns:1fr!important}body.ui-touch .form-group,body.ui-touch .ingredient-modal-content .form-group,body.ui-touch .meal-modal-content .form-group,body.ui-touch .modal-body .form-group,body.ui-touch .pantry-ingredient-modal-content .form-group,body.ui-touch .pantry-modal-content .form-group,body.ui-touch .recipe-modal-content .form-group,body.ui-touch .shopping-modal-content .form-group{min-width:0!important}body.ui-touch .form-group label,body.ui-touch .ingredient-modal-content label,body.ui-touch .meal-modal-content label,body.ui-touch .modal-body label,body.ui-touch .pantry-ingredient-modal-content label,body.ui-touch .pantry-modal-content label,body.ui-touch .recipe-modal-content label,body.ui-touch .shopping-modal-content label{display:block!important;font-size:13px!important;line-height:1.25!important;margin-bottom:6px!important;white-space:normal!important;word-break:break-word!important}body.ui-touch .form-input,body.ui-touch .form-select,body.ui-touch .form-textarea,body.ui-touch .ingredient-modal-content input,body.ui-touch .ingredient-modal-content select,body.ui-touch .ingredient-modal-content textarea,body.ui-touch .meal-modal-content input,body.ui-touch .meal-modal-content select,body.ui-touch .meal-modal-content textarea,body.ui-touch .modal-body input,body.ui-touch .modal-body select,body.ui-touch .modal-body textarea,body.ui-touch .pantry-ingredient-modal-content input,body.ui-touch .pantry-ingredient-modal-content select,body.ui-touch .pantry-ingredient-modal-content textarea,body.ui-touch .pantry-modal-content input,body.ui-touch .pantry-modal-content select,body.ui-touch .pantry-modal-content textarea,body.ui-touch .recipe-modal-content input,body.ui-touch .recipe-modal-content select,body.ui-touch .recipe-modal-content textarea,body.ui-touch .shopping-modal-content input,body.ui-touch .shopping-modal-content select,body.ui-touch .shopping-modal-content textarea{font-size:16px!important;min-height:44px!important;min-width:0!important;width:100%!important}body.ui-touch .ingredient-modal-content input[type=checkbox],body.ui-touch .ingredient-modal-content input[type=radio],body.ui-touch .meal-modal-content input[type=checkbox],body.ui-touch .meal-modal-content input[type=radio],body.ui-touch .modal-body input[type=checkbox],body.ui-touch .modal-body input[type=radio],body.ui-touch .pantry-ingredient-modal-content input[type=checkbox],body.ui-touch .pantry-ingredient-modal-content input[type=radio],body.ui-touch .pantry-modal-content input[type=checkbox],body.ui-touch .pantry-modal-content input[type=radio],body.ui-touch .recipe-modal-content input[type=checkbox],body.ui-touch .recipe-modal-content input[type=radio],body.ui-touch .shopping-modal-content input[type=checkbox],body.ui-touch .shopping-modal-content input[type=radio]{border-radius:4px!important;flex:0 0 18px!important;height:18px!important;max-height:18px!important;max-width:18px!important;min-height:18px!important;min-width:18px!important;padding:0!important;width:18px!important}body.ui-touch .form-textarea,body.ui-touch textarea{min-height:96px!important}body.ui-mobile .ingredient-modal-subheader span:last-child,body.ui-mobile .pantry-modal-subheader span:last-child,body.ui-mobile .recipe-modal-subheader span:last-child,body.ui-mobile .shopping-modal-subheader span:last-child{display:none!important}
/*# sourceMappingURL=main.f6608c41.css.map*/