@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";:root{font-family:Outfit,sans-serif;color:#163129;background:radial-gradient(circle at top left,rgba(240,180,91,.22),transparent 34%),radial-gradient(circle at 80% 0%,rgba(107,200,182,.25),transparent 28%),linear-gradient(180deg,#f7fcf8,#eef8f3);--bg-panel: rgba(255, 255, 255, .82);--bg-panel-strong: rgba(255, 255, 255, .94);--line: rgba(31, 122, 109, .12);--text-main: #163129;--text-soft: #50776e;--accent: #1f7a6d;--accent-strong: #145247;--amber: #f0b45b;--salmon: #f08d49;--danger: #d45745;--shadow: 0 22px 46px rgba(20, 82, 71, .1)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text-main);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{width:min(1180px,calc(100% - 24px));margin:0 auto;padding:24px 0 110px}.app-header{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:24px}.app-header__content{display:grid;gap:4px;max-width:72ch;flex:1}.app-header__title-row{display:flex;align-items:center;gap:10px;min-width:0}.app-header__title-icon{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:#1f7a6d14;color:var(--accent-strong);flex-shrink:0}.app-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-shrink:0}.app-header__brand-logo{display:block;width:clamp(190px,20vw,280px);max-width:30vw;height:auto;object-fit:contain;border-radius:24px;opacity:.9;filter:saturate(.94) drop-shadow(0 7px 13px rgba(20,82,71,.12))}.app-header h1,.hero-panel h2{font-family:Outfit,sans-serif;font-weight:600;letter-spacing:-.03em}.app-header h1{margin:4px 0 0;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.05;max-width:16ch}.app-header__session{margin:2px 0 0;color:var(--accent-strong);font-size:.82rem;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--text-soft)}.notification-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#ffffffe6;border:1px solid var(--line);box-shadow:var(--shadow)}.notification-pill span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--accent);color:#fff}.app-main,.page-grid,.page-grid--dashboard{display:grid;gap:20px;min-width:0}.page-grid--dashboard{grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;align-items:start}.dashboard-hero,.dashboard-stats,.dashboard-section--expiring{grid-column:span 12}.dashboard-section--inventory,.dashboard-section--categories,.dashboard-section--waste{grid-column:span 4}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;padding:22px;border-radius:30px;border:1px solid rgba(31,122,109,.2);background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.34),transparent 40%),radial-gradient(circle at 90% 0%,rgba(240,180,91,.22),transparent 42%),linear-gradient(130deg,#1f7a6df7,#37b28ae6);box-shadow:0 24px 42px #1452473d;color:#f6fffc}.dashboard-hero__content{display:grid;align-content:center;gap:10px}.dashboard-hero__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:#f6fffcc7}.dashboard-hero__content h2{margin:0;font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.05;letter-spacing:-.03em}.dashboard-hero__content p{margin:0;max-width:46ch;color:#f6fffce0}.dashboard-hero__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:center}.dashboard-hero__metric{padding:12px;border-radius:16px;background:#ffffff26;border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;gap:6px}.dashboard-hero__metric span{font-size:.72rem;letter-spacing:.03em;color:#f6fffcd1}.dashboard-hero__metric strong{font-size:1.15rem;line-height:1}.page-grid--dashboard .section-card,.page-grid--dashboard .stat-card{position:relative;overflow:hidden;border-color:#1f7a6d29}.page-grid--dashboard .section-card:before,.page-grid--dashboard .stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(140deg,#fff3,#fff0);pointer-events:none}.page-grid--dashboard .section-card{transition:transform .2s ease,box-shadow .2s ease}.page-grid--dashboard .section-card:hover{transform:translateY(-3px);box-shadow:0 26px 44px #14524729}.dashboard-stats .stat-card{min-height:138px;box-shadow:0 18px 32px #1452471c}.chart-box{border-radius:18px;background:linear-gradient(180deg,#ffffffa8,#ecfaf585);border:1px solid rgba(31,122,109,.12);padding:8px}.chart-legend__item,.chart-detail-card,.waste-peak-list__item{background:linear-gradient(180deg,#ffffffdb,#f4fcf9c2)}.dashboard-hero,.dashboard-stats,.dashboard-section{animation:dashboardRise .45s ease both}.dashboard-stats{animation-delay:.05s}.dashboard-section--inventory{animation-delay:.08s}.dashboard-section--categories{animation-delay:.12s}.dashboard-section--waste{animation-delay:.16s}.dashboard-section--expiring{animation-delay:.2s}@keyframes dashboardRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-panel,.section-card,.stat-card,.achievement-card,.detail-card,.inventory-card,.recipe-card,.notification-card,.advice-card,.scanner-box{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-panel{padding:24px;border-radius:28px;background:linear-gradient(135deg,#1f7a6df5,#35aa83e6),var(--bg-panel);color:#fff}.hero-panel p{max-width:54ch;color:#ffffffe0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.stat-card{padding:18px;border-radius:22px;min-height:130px;display:flex;flex-direction:column;justify-content:space-between}.stat-card strong{font-size:1.9rem;line-height:1}.stat-card--mint{background:linear-gradient(180deg,#f1fff9f2,#e4f7f0d6)}.stat-card--amber{background:linear-gradient(180deg,#fff8e8f5,#ffeccdd6)}.section-card{padding:20px;border-radius:26px;min-width:0}.section-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;min-width:0;flex-wrap:wrap}.section-card__header>div{min-width:0}.section-card h2,.section-card h3,.achievement-card h3,.inventory-card h3,.recipe-card h3,.notification-card h3,.advice-card h3,.detail-card h3{margin:0;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.nutrition-table{width:100%;margin-top:10px;border-collapse:collapse;font-size:.92rem}.nutrition-table th,.nutrition-table td{padding:5px 4px;border-bottom:1px solid var(--line);text-align:right;font-weight:400}.nutrition-table th:first-child{text-align:left}.nutrition-table thead th{font-weight:600}.nutrition-table__sub th{padding-left:16px;font-style:italic}.nutriscore{display:inline-block;min-width:1.8em;padding:2px 8px;border-radius:8px;color:#fff;font-weight:700;text-align:center}.nutriscore--a{background:#038141}.nutriscore--b{background:#85bb2f}.nutriscore--c{background:#fecb02;color:#163129}.nutriscore--d{background:#ee8100}.nutriscore--e{background:#e63e11}.detail-card--wide{grid-column:1 / -1}.insights{display:grid;gap:16px;margin-top:10px}.insights h4{margin:0 0 8px;font-size:.95rem}.insights p{margin:4px 0}.insights__header{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.insights__image{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#fff}.insights__score{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;color:#fff;line-height:1}.insights__score strong{font-size:1.7rem}.insights__score span{font-size:.75rem}.insights__score--excellent{background:#038141}.insights__score--good{background:#85bb2f}.insights__score--poor{background:#ee8100}.insights__score--bad{background:#e63e11}.insights__verdict{font-size:1.2rem;font-weight:600}.insights__badges,.insights__chips,.alternatives__meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.nova-badge{display:inline-block;padding:2px 8px;border-radius:8px;color:#fff;font-weight:600}.nova-badge--1{background:#0a0}.nova-badge--2{background:#fc0;color:#163129}.nova-badge--3{background:#f60}.nova-badge--4{background:red}.insights__columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.insights__points ul,.additives,.alternatives{display:grid;gap:6px;margin:0;padding:0;list-style:none}.insight-point,.additive{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--line)}.insight-point__dot{width:10px;height:10px;border-radius:50%;background:#9aa7a2}.insight-point__detail,.additive__risk{font-size:.85rem;color:#5b6f68;text-align:right}.insight-point--positive .insight-point__dot,.additive--no .insight-point__dot{background:#038141}.insight-point--moderate .insight-point__dot,.additive--moderate .insight-point__dot{background:#ee8100}.insight-point--negative .insight-point__dot,.additive--high .insight-point__dot{background:#e63e11}.insights__formula summary,.insights details summary{cursor:pointer;font-weight:500}.alternatives li{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.alternatives img,.alternatives__placeholder{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#fff}.insights__source{font-size:.8rem}.section-card p,.muted{color:var(--text-soft)}.profile-identity-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;margin-bottom:18px;border-radius:18px;background:#1f7a6d14;border:1px solid var(--line)}.profile-identity-card strong,.auth-card__hint strong{display:block;margin-bottom:4px}.profile-identity-card p,.auth-card__hint span{margin:0;color:var(--text-soft);font-size:.88rem}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px 12px}.auth-card{width:min(980px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);gap:22px;padding:22px;border-radius:30px;background:var(--bg-panel-strong);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0;overflow:hidden}.auth-card>*{min-width:0}.auth-card__hero{padding:24px;border-radius:24px;background:linear-gradient(145deg,#1f7a6df5,#f0b45be0);color:#fff}.auth-card__hero h1{margin:6px 0 12px;font-size:clamp(1.8rem,4vw,3rem);line-height:.98}.auth-card__hero p{margin:0;max-width:32ch;color:#ffffffeb}.auth-card__hint{display:grid;gap:4px;width:fit-content;margin-top:20px;padding:14px 16px;border-radius:18px;background:#ffffff2e;border:1px solid rgba(255,255,255,.22)}.auth-form{display:grid;gap:14px;align-content:center;padding:6px 2px;min-width:0}.auth-form label,.form-grid label{display:grid;gap:6px}.auth-form input{min-height:48px}.auth-form input:focus-visible{outline:2px solid rgba(31,122,109,.24);outline-offset:1px}.auth-form__switch{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:6px;border-radius:999px;background:#1f7a6d14;width:100%}.auth-form__switch button{border:none;background:transparent;padding:10px 14px;border-radius:999px;color:var(--text-soft);font-weight:600}.auth-form__switch .is-active{background:#fff;color:var(--accent-strong);box-shadow:0 10px 20px #14524714}.auth-form__submit{width:100%;justify-content:center;min-height:50px}.auth-form__error{margin:0;padding:12px 14px;border-radius:14px;background:#d457451a;color:var(--danger);border:1px solid rgba(212,87,69,.2)}.dashboard-info{display:grid;gap:10px}.dashboard-info p{margin:0}.dashboard-info ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--text-soft)}.dashboard-info li{line-height:1.4}.chart-box{width:100%;min-height:240px;min-width:0;overflow:hidden}.chart-detail-block{display:grid;gap:12px;margin-top:12px}.chart-summary-pill{display:inline-flex;width:fit-content;max-width:100%;align-items:center;padding:8px 12px;border-radius:999px;background:#1f7a6d14;color:var(--accent-strong);border:1px solid var(--line);font-size:.82rem;font-weight:600}.chart-legend{display:grid;gap:8px}.chart-legend__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:#ffffffb8;border:1px solid var(--line)}.chart-legend__swatch{width:10px;height:10px;border-radius:999px}.chart-legend__label,.chart-legend__value,.chart-legend__meta{min-width:0}.chart-legend__label{font-weight:600}.chart-legend__value,.chart-legend__meta{color:var(--text-soft);font-size:.82rem}.chart-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}.chart-detail-card{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#ffffffb8;border:1px solid var(--line)}.chart-detail-card strong{font-size:.8rem;color:var(--accent-strong);letter-spacing:.02em}.chart-detail-card span{font-size:1rem;font-weight:600}.chart-detail-card small{color:var(--text-soft);font-size:.78rem}.chart-detail-card__action{margin-top:4px;justify-self:start;border:none;background:#1f7a6d14;color:var(--accent-strong);padding:7px 10px;border-radius:999px;font-size:.76rem;font-weight:600}.chart-detail-card__action:hover,.chart-detail-card__action:focus-visible{background:#1f7a6d24;outline:none}.waste-peak-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.waste-peak-list__item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:12px;background:#ffffffb8;border:1px solid var(--line)}.waste-peak-list__item strong{display:block;margin-bottom:2px}.waste-peak-list__item p{margin:0;color:var(--text-soft);font-size:.82rem}.waste-peak-list__meta{display:grid;justify-items:end;gap:4px;font-size:.82rem;color:var(--accent-strong);white-space:nowrap}.stack-list{display:grid;gap:14px}.inventory-card,.recipe-card,.notification-card{padding:16px;border-radius:20px}.recipe-card__image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:16px;margin-bottom:14px;display:block}.recipe-card__meta{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 12px;color:var(--text-soft);font-size:.85rem}.recipe-card__meta span{padding:6px 10px;border-radius:999px;background:#1f7a6d14}.recipe-card__header-badges{display:grid;gap:8px;justify-items:end}.recipe-card__compatibility-button{border:none;cursor:pointer;gap:6px;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;box-shadow:0 8px 18px #1f7a6d14}.recipe-card__compatibility-button:hover,.recipe-card__compatibility-button:focus-visible{transform:translateY(-1px);background:#1f7a6d24;box-shadow:0 10px 20px #1f7a6d1f}.recipe-card__compatibility-icon{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:999px;border:1px solid currentColor;font-size:.68rem;line-height:1}.recipe-card__profile-warning{margin-top:12px;padding:12px 14px;border-radius:16px;background:#d4574514;border:1px solid rgba(212,87,69,.16)}.recipe-card__profile-warning strong{display:block;margin-bottom:6px;color:var(--danger)}.compatibility-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0d1d186b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60}.compatibility-modal{width:min(380px,100%);max-height:min(82dvh,680px);border-radius:18px;background:var(--bg-panel-strong);border:1px solid var(--line);box-shadow:0 18px 34px #0f2f2838;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.compatibility-modal__header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:14px 14px 0}.compatibility-modal__header h3{margin:4px 0 0;font-size:1.05rem}.compatibility-modal__body{padding:12px 14px 14px;display:grid;gap:10px;font-size:.92rem;overflow-y:auto;min-width:0}.compatibility-modal__grid{display:grid;grid-template-columns:1fr;gap:8px}.compatibility-modal__grid>div,.compatibility-modal__warning,.compatibility-modal__ok{padding:10px 12px;border-radius:14px;background:#1f7a6d0f;border:1px solid rgba(31,122,109,.12)}.compatibility-modal__warning{background:#d4574514;border-color:#d457452e}.compatibility-modal__ok{background:#3eaa8314;border-color:#3eaa832e}.compatibility-modal__grid strong,.compatibility-modal__warning strong,.compatibility-modal__ok strong{display:block;margin-bottom:4px;font-size:.84rem}.compatibility-modal__footer{display:flex;justify-content:flex-end}.compatibility-modal__close{border:none;background:#1f7a6d14;color:var(--accent-strong);width:28px;height:28px;border-radius:999px;display:inline-grid;place-items:center;font-size:1.2rem;line-height:1;cursor:pointer;flex-shrink:0}.recipe-card__availability{margin:10px 0 0}.recipe-card__ingredients,.recipe-card__preparation{margin-top:12px}.recipe-card__ingredients strong,.recipe-card__preparation strong{display:block;margin-bottom:8px;font-size:.86rem;letter-spacing:.02em;color:var(--accent-strong)}.recipe-card__ingredients ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--text-main)}.recipe-card__ingredients li{line-height:1.35}.ingredient-status{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:14px;list-style:none;background:#1f7a6d0d}.ingredient-status--available{color:var(--accent-strong)}.ingredient-status--missing{color:var(--text-soft)}.ingredient-status__icon{width:1rem;display:inline-flex;justify-content:center}.ingredient-status__label{font-size:.76rem;text-transform:lowercase;color:var(--text-soft)}.recipe-card__preparation p{margin:0}.inventory-card__top,.recipe-card__header,.inventory-card__actions,.recipe-card__footer,.scanner-box__header,.simple-row,.leaderboard-row,.input-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.inventory-card__meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-soft);margin:14px 0}.badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:600}.badge--safe{background:#3eaa832e;color:var(--accent-strong)}.badge--warning{background:#f0b45b2e;color:#8a5b09}.badge--critical{background:#d4574529;color:var(--danger)}.badge--neutral{background:#16312914;color:var(--text-main)}.food-icon{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:999px;background:linear-gradient(180deg,#ffffffe6,#e4f7f0e6);border:1px solid rgba(31,122,109,.2);box-shadow:0 4px 10px #14524724;color:var(--accent-strong);vertical-align:middle}.food-icon svg{width:1.2rem;height:1.2rem}.food-icon--dairy,.food-icon--latte,.food-icon--yogurt,.food-icon--mozzarella,.food-icon--parmigiano{color:#1f7a6d}.food-icon--carbs,.food-icon--pasta,.food-icon--riso,.food-icon--pane,.food-icon--cereali,.food-icon--patate{color:#8a5b09}.food-icon--protein,.food-icon--pollo,.food-icon--tonno,.food-icon--uova,.food-icon--legumi{color:#5e4a2f}.food-icon--vegetables{color:#2c8a4d}.food-icon--pomodorini,.food-icon--mele{color:#ca4b3f}.food-icon--zucchine,.food-icon--basilico,.food-icon--insalata{color:#2c8a4d}.food-icon--fruit,.food-icon--banane{color:#ca4b3f}.food-icon--pomodorini{color:#d45745}.food-icon--desserts,.food-icon--biscotti{color:#875b2a}.food-icon--legumi{color:#5e4a2f}.food-icon-banner{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;background:#1f7a6d1a;border:1px solid var(--line);color:var(--accent-strong);font-weight:600}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:16px;padding:12px 16px;transition:transform .18s ease,background .18s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button{background:var(--accent);color:#fff}.secondary-button{background:#1f7a6d1a;color:var(--accent-strong)}.secondary-button--alert{background:#d457451f;color:var(--danger)}.ghost-button{background:#ffffff8c;color:var(--text-main)}.form-grid,.wizard-grid,.detail-grid,.achievement-grid{display:grid;gap:14px}.wizard-grid,.detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:18px}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-grid label{display:grid;gap:8px;font-weight:500}.form-grid__full,.form-grid__actions{grid-column:1 / -1}input,select,textarea{width:100%;padding:12px 14px;border:1px solid rgba(31,122,109,.14);border-radius:14px;background:var(--bg-panel-strong);color:var(--text-main)}.checkbox-inline{display:inline-flex;align-items:center;gap:8px}.checkbox-inline input{width:auto}.scanner-box{padding:16px;border-radius:20px}.scanner-video{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:16px;background:#16312914}.scanner-stage{position:relative}.scanner-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.scanner-controls__badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.scanner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.scanner-target{width:min(82%,360px);aspect-ratio:16 / 7;border:2px solid rgba(255,255,255,.92);border-radius:14px;box-shadow:0 0 0 999px #0000003d;overflow:hidden;position:relative}.scanner-line{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#ffffff1a,#3effcdf5,#ffffff1a);animation:scanline 1.9s ease-in-out infinite}@keyframes scanline{0%{top:8%;opacity:.8}50%{top:84%;opacity:1}to{top:8%;opacity:.8}}.scanner-tip{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#f0b45b29;color:#7a4d07}.scan-feedback{display:grid;gap:10px;margin-top:-2px;padding:14px;border-radius:16px;border:1px solid var(--line);background:#fffc}.barcode-learning-notice{display:grid;gap:5px;padding:13px 15px;border-radius:16px;background:linear-gradient(135deg,#f0b45b33,#ffffffd1);border:1px solid rgba(240,180,91,.34);color:var(--text-main)}.barcode-learning-notice strong{color:#79520c}.barcode-learning-notice span{color:var(--text-soft);font-size:.86rem;line-height:1.4}.scan-feedback__row{display:flex;justify-content:space-between;align-items:center;gap:12px}.scanner-hint{margin-top:8px}.advice-list{display:grid;gap:12px}.advice-card{padding:16px;border-radius:18px}.advice-card--high{border-left:5px solid var(--danger)}.advice-card--medium{border-left:5px solid var(--amber)}.advice-card--low{border-left:5px solid var(--accent)}.notification-card--critical,.notification-card--high{border-left:5px solid var(--danger)}.notification-card--warning{border-left:5px solid var(--amber)}.notification-card--info{border-left:5px solid var(--accent)}.detail-card,.achievement-card{padding:18px;border-radius:20px}.leaderboard-row,.simple-row{padding:14px 16px;border-radius:16px;background:#ffffffb8}.feature-flag-list{display:grid;gap:14px}.feature-flag-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:#ffffffc2;border:1px solid var(--line)}.feature-flag-card p{margin:6px 0 0}.feature-flag-card input[type=checkbox]{width:22px;height:22px}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.page-state,.empty-state{padding:24px;border-radius:20px;background:#ffffffa6;text-align:center;color:var(--text-soft)}.shopping-toolbar__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:0}.shopping-toolbar__chips .badge{justify-content:center;background:#1f7a6d14;color:var(--accent-strong);border:1px solid var(--line)}.wizard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;align-items:start}.wizard-grid>div{display:grid;gap:14px}.wizard-grid .scanner-box,.wizard-grid .form-grid{background:#ffffffb8;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.wizard-grid .form-grid,.wizard-grid .scanner-box{padding:18px}.wizard-grid .food-icon-banner{margin-bottom:4px}.shopping-page__session-count{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#1f7a6d14;color:var(--accent-strong);font-weight:600}.mobile-nav{position:fixed;left:50%;bottom:16px;transform:translate(-50%);width:min(1120px,calc(100% - 24px));display:flex;flex-direction:row;gap:8px;padding:10px;border-radius:24px;background:#ffffffe0;border:1px solid var(--line);box-shadow:0 18px 40px #16312926;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.toast-host{position:sticky;top:12px;z-index:20;padding:14px 16px;border-radius:18px;background:#145247eb;color:#fff;box-shadow:var(--shadow)}.mobile-nav__item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 12px;border-radius:18px;color:var(--text-soft);font-size:.78rem;white-space:nowrap;flex-shrink:0;min-width:max-content}.mobile-nav__item--button{border:none;background:transparent;width:auto}.mobile-nav__item--button:hover,.mobile-nav__item--button:focus-visible{background:#1f7a6d14;outline:none}.app-info-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0d1d185c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:70}.app-info-modal{width:min(360px,100%);max-height:min(82dvh,680px);border-radius:18px;background:var(--bg-panel-strong);border:1px solid var(--line);box-shadow:0 18px 34px #0f2f2838;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.app-info-modal__header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:14px 14px 0}.app-info-modal__header h3{margin:4px 0 0;font-size:1.05rem}.app-info-modal__close{border:none;background:#1f7a6d14;color:var(--accent-strong);width:28px;height:28px;border-radius:999px;display:inline-grid;place-items:center;font-size:1.2rem;line-height:1;cursor:pointer;flex-shrink:0}.app-info-modal__body{padding:12px 14px 14px;display:grid;gap:10px;font-size:.92rem;overflow-y:auto;min-width:0}.app-info-modal__body p{margin:0}.app-info-modal__body ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--text-soft)}.mobile-nav__item.is-active{background:#1f7a6d1f;color:var(--accent-strong)}@media(max-width:880px){.auth-page{padding:18px 12px;align-items:start}.auth-card{grid-template-columns:1fr;gap:14px;padding:16px;border-radius:24px}.auth-card__hero,.auth-form{padding:18px}.auth-card__hero p{max-width:none}.auth-card__hint{width:100%}.page-grid--dashboard{grid-template-columns:1fr;gap:16px}.page-grid--dashboard>*{grid-column:1!important}.dashboard-hero{grid-template-columns:1fr;padding:18px;border-radius:24px}.dashboard-hero__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.app-header{flex-direction:column;align-items:stretch;gap:14px}.app-header__actions{justify-content:space-between;width:100%}}@media(max-width:720px){.auth-page{min-height:100dvh;padding:10px}.auth-card{gap:12px;padding:12px;border-radius:20px}.auth-card__hero,.auth-form{padding:14px;border-radius:18px}.auth-card__hero h1{font-size:clamp(1.55rem,8vw,2.2rem)}.auth-card__hero p,.auth-card__hint span,.auth-form__error{font-size:.88rem}.auth-form{gap:12px}.auth-form__switch button{padding:10px 8px;font-size:.9rem}.app-shell{width:100%;padding-inline:9px;padding-top:18px;padding-bottom:90px}.app-header h1{font-size:1.55rem}.app-header{margin-bottom:14px}.page-grid--dashboard{grid-template-columns:1fr;gap:16px}.page-grid--dashboard>*{grid-column:1!important}.hero-panel{padding:16px;border-radius:20px}.hero-panel h2{font-size:1.08rem;line-height:1.2}.hero-panel p{font-size:.9rem;line-height:1.4}.dashboard-hero__content h2{font-size:1.25rem}.dashboard-hero__metrics{grid-template-columns:1fr;gap:8px}.dashboard-hero__metric{padding:10px 12px}.app-header__title-row{gap:8px}.app-header__brand-logo{width:clamp(150px,44vw,210px);max-width:58vw;border-radius:18px}.app-header__title-icon{width:1.8rem;height:1.8rem}.shopping-toolbar__chips{gap:8px}.shopping-page__session-count{width:100%;justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:14px;border-radius:18px;min-height:110px}.stat-card strong{font-size:1.5rem}.stat-card p{font-size:.75rem;line-height:1.3}.section-card{padding:14px;border-radius:20px}.profile-identity-card{flex-direction:column;align-items:stretch}}@media(max-width:420px){.auth-page{padding:8px}.auth-card{padding:10px;border-radius:18px}.auth-card__hero,.auth-form{padding:12px}.auth-card__hint{padding:12px 14px}.section-card__header{gap:8px}.section-card h2{font-size:.92rem;margin:0 0 4px}.section-card p{font-size:.8rem;margin:0}.wizard-grid{grid-template-columns:1fr;gap:12px}.wizard-grid .scanner-box,.wizard-grid .form-grid{padding:14px;border-radius:18px}.scanner-controls{flex-direction:column;align-items:flex-start}.scanner-controls__badges{justify-content:flex-start}.form-grid label{gap:6px;font-size:.88rem}input,select,textarea{padding:11px 12px;border-radius:12px}.form-grid__actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.form-grid__actions .muted{text-align:center}.section-card__header{margin-bottom:12px}.chart-box{min-height:210px;overflow:hidden;width:100%}.chart-summary-pill{width:100%;justify-content:center;font-size:.78rem}.chart-legend__item{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:9px 10px}.chart-legend__value{justify-self:end}.chart-legend__meta{grid-column:2 / -1;justify-self:start}.chart-detail-grid{grid-template-columns:1fr}.waste-peak-list__item{flex-direction:column}.waste-peak-list__meta{justify-items:start;white-space:normal}.stack-list{gap:10px}.inventory-card{padding:12px;border-radius:16px}.inventory-card h3{font-size:.95rem}.badge{font-size:.7rem;padding:6px 10px}.mobile-nav{bottom:10px;width:calc(100% - 14px);gap:8px;padding:8px;border-radius:20px}.mobile-nav__item{padding:8px 6px;font-size:.7rem;gap:4px}.mobile-nav__item svg{width:16px;height:16px}.app-info-modal__backdrop,.compatibility-modal__backdrop{align-items:end;padding:10px}.app-info-modal,.compatibility-modal{width:100%;max-height:min(78dvh,560px);border-radius:20px 20px 16px 16px}.app-info-modal__header,.compatibility-modal__header{padding:12px 12px 0}.app-info-modal__body,.compatibility-modal__body{padding:10px 12px 12px;font-size:.88rem}.notification-pill{align-self:flex-start;justify-content:center;width:auto;max-width:fit-content}.leaderboard-row,.simple-row,.inventory-card__top,.inventory-card__actions,.recipe-card__footer,.scanner-box__header,.input-row,.scan-feedback__row{flex-direction:column;align-items:flex-start}.recipe-card__header{align-items:flex-start;flex-wrap:wrap}.recipe-card__header-badges{justify-items:start}.ingredient-status{grid-template-columns:auto minmax(0,1fr)}.ingredient-status__label{grid-column:2}}.encouragement__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0d1d186b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:70}.encouragement{width:min(360px,100%);max-height:min(86dvh,640px);overflow-y:auto;padding:22px 20px 18px;border-radius:20px;background:var(--bg-panel-strong);border:1px solid var(--line);box-shadow:0 18px 34px #0f2f2838;text-align:center;display:grid;gap:10px;animation:encouragement-pop .35s ease-out}.encouragement h2{margin:0;font-size:1.35rem;color:#1f7a6d}.encouragement p{margin:0}.encouragement__icon{font-size:2.6rem;line-height:1}.encouragement__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.encouragement__stats div{display:grid;gap:2px;padding:10px 6px;border-radius:14px;background:#1f7a6d1a}.encouragement__stats strong{font-size:1.1rem;color:#1f7a6d}.encouragement__stats span{font-size:.8rem;color:#5b6f68}.encouragement__highlight{font-weight:600;color:#b06a00}@keyframes encouragement-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.encouragement{animation:none}}:root{--surface: #ffffff;--surface-muted: #f2f8f5;--surface-accent: rgba(31, 122, 109, .09);--border: rgba(22, 49, 41, .1);--text-muted: #5b6f68;--focus-ring: 0 0 0 3px rgba(31, 122, 109, .28);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 22px;--shadow-card: 0 10px 30px rgba(20, 82, 71, .08);--shadow-float: 0 14px 34px rgba(20, 82, 71, .18);--nav-clearance: calc(118px + env(safe-area-inset-bottom, 0px)) }.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:var(--surface-accent);color:var(--accent-strong);flex-shrink:0}.icon-button:disabled{opacity:.4;cursor:not-allowed}.link-button{padding:0;border:none;background:none;color:var(--accent);font-weight:600;text-decoration:underline}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed;transform:none}:where(button,input,select,summary,a):focus-visible{outline:none;box-shadow:var(--focus-ring)}.score-chip{display:inline-block;padding:4px 10px;border-radius:999px;color:#fff;font-size:.85rem;font-weight:600}.score-chip--excellent{background:#038141}.score-chip--good{background:#6fa82a}.score-chip--poor{background:#e07800}.score-chip--bad{background:#e63e11}.shop{display:grid;gap:16px;padding-bottom:72px;max-width:640px;margin:0 auto;width:100%}.shop-steps{display:flex;gap:6px;margin:0;padding:0;list-style:none}.shop-steps li{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.8rem;white-space:nowrap}.shop-steps li span{display:inline-grid;place-items:center;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#1631291a;font-size:.75rem;font-weight:600}.shop-steps li.is-current{background:var(--accent);color:#fff;font-weight:600}.shop-steps li.is-current span{background:#ffffff40}.shop-steps li.is-done{background:var(--surface-accent);color:var(--accent-strong)}.shop-card{display:grid;gap:16px;padding:20px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card)}.shop-card h2{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.shop-card>p{margin:-8px 0 0}.shop-card .scanner-box{padding:0;background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.scanner-box__header{flex-wrap:wrap;justify-content:flex-start}.scanner-box--barcode .scanner-box__header,.scanner-box--compact .scanner-box__header{flex-direction:row;align-items:stretch}.scanner-box--barcode .scanner-box__header>*{flex:1 1 auto}.scanner-box__main-action{flex-basis:100%!important;min-height:56px;font-size:1.05rem;font-weight:600;border-radius:var(--radius-md)}.scanner-box--compact .scanner-box__header{gap:8px}.scanner-box--compact .scanner-box__header>button{flex:1 1 auto;padding:10px;font-size:.9rem;white-space:nowrap}.scanner-box .scanner-hint{margin:8px 0 0}.shop-divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.85rem}.shop-divider:before,.shop-divider:after{content:"";flex:1;height:1px;background:var(--border)}.shop-search{display:grid;gap:8px}.shop-search__field{position:relative;display:block}.shop-search__field svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.shop-search__field input{padding-left:42px;min-height:48px}.shop-search__results{display:grid;margin:0;padding:6px;list-style:none;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.shop-search__results button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:none;border-radius:var(--radius-sm);background:none;color:inherit;text-align:left}.shop-search__results button:hover{background:var(--surface-muted)}.shop-search__manual{color:var(--accent-strong)!important;font-weight:500}.shop-search__plain{justify-self:start}.shop-product{display:flex;align-items:center;gap:12px}.shop-product__icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--surface-muted);flex-shrink:0}.shop-product__main{display:grid;gap:2px;flex:1;min-width:0}.shop-product__name{padding:4px 0!important;border:none!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;font-size:1.2rem;font-weight:600}.shop-product__name:focus{border-bottom-color:var(--accent)!important;box-shadow:none!important}.shop-product__meta{font-size:.85rem}.shop-insights{display:grid;gap:10px;padding:12px;border-radius:var(--radius-md);background:var(--surface-muted)}.shop-product__score{display:flex;align-items:center;gap:10px}.shop-product__score img{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-sm);background:#fff}.shop-insights__toggle{justify-self:start;padding:6px 10px}.is-flipped{transform:rotate(180deg)}.shop-notice{display:grid;gap:6px;padding:12px 14px;border-radius:var(--radius-md);background:#f0b45b29;color:#6d4506}.shop-notice button{justify-self:start;margin-top:4px}.shop-field{display:grid;gap:8px}.shop-field__label{font-weight:600;font-size:.95rem}.shop-field__sub{display:grid;gap:6px;font-size:.85rem;color:var(--text-muted)}.shop-hint{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-muted);font-size:.88rem;color:var(--text-muted)}.shop-quantity{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.stepper{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:var(--surface-muted)}.stepper input{width:64px;padding:8px 4px;border:none;background:transparent;text-align:center;font-size:1.05rem;font-weight:600;-moz-appearance:textfield}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:var(--radius-md);background:var(--surface-muted)}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:none;border-radius:calc(var(--radius-md) - 4px);background:transparent;color:var(--text-muted);font-weight:500}.segmented button.is-active{background:var(--surface);color:var(--accent-strong);box-shadow:0 2px 8px #14524724;font-weight:600}.segmented--small{flex:1;min-width:180px}.segmented--small button{padding:8px 6px}.shop-more{border-top:1px solid var(--border);padding-top:12px}.shop-more summary{cursor:pointer;font-weight:600;color:var(--accent-strong)}.shop-more__body{display:grid;gap:12px;margin-top:12px}.shop-more__body label{display:grid;gap:6px}.shop-actions{position:sticky;bottom:var(--nav-clearance);z-index:5;margin:0 -20px -20px;padding:12px 20px 16px;border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface)}.shop-actions__save{width:100%;min-height:54px;font-size:1.05rem;font-weight:600;border-radius:var(--radius-md)}.cart-bar{position:fixed;left:50%;bottom:var(--nav-clearance);transform:translate(-50%);width:min(640px,calc(100% - 24px));display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-main);box-shadow:var(--shadow-float);z-index:30}.cart-bar.has-items{background:var(--accent-strong);color:#fff;border-color:transparent}.cart-bar__label{font-weight:600}.cart-bar__count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:#ffffff38;font-weight:700}.cart-bar:not(.has-items) .cart-bar__count{background:var(--surface-muted)}.cart-bar__advice{margin-left:auto;font-size:.85rem;opacity:.9}.cart-bar>svg:last-child{margin-left:auto}.cart-bar__advice+svg{margin-left:0!important}.sheet__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#0d1d186b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80}.sheet{width:min(640px,100%);max-height:85dvh;overflow-y:auto;display:grid;gap:14px;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-float);animation:sheet-up .25s ease-out}.sheet__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.sheet__header h2,.sheet__section h3{margin:0;font-size:1.15rem}.sheet__section{display:grid;gap:10px}.sheet__note{margin:0;font-size:.82rem}.cart-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.cart-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--border)}.cart-list__text{display:grid;gap:2px;min-width:0}.cart-list__text small{font-size:.8rem}.cart-list li.cart-list__confirm,.cart-close-confirm{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-radius:var(--radius-md);background:var(--surface-muted)}.cart-list__confirm>span,.cart-close-confirm>span{grid-column:1 / -1;font-weight:500}.icon-button--danger{background:#d457451a;color:var(--danger)}.cart-close-button{min-height:52px;font-weight:600;border-radius:var(--radius-md)}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}.pantry{display:grid;gap:16px;max-width:640px;margin:0 auto;width:100%}.pantry__view button{padding:10px 8px}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-main);font-weight:500;white-space:nowrap}.filter-chip span{min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-muted);font-size:.78rem;font-weight:600;text-align:center}.filter-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-chip.is-active span{background:#ffffff40}.pantry-summary{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.pantry-summary__item{display:grid;gap:0;padding:10px 8px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-md);background:#ffffff24;color:#ffffffe6;font-size:.82rem;text-align:center}.pantry-summary__item strong{font-size:1.35rem;line-height:1.1;color:#fff}.pantry-summary__item--critical strong{color:#ffd0c7}.pantry-summary__item--warning strong{color:#ffe1a8}.pantry-summary__item.is-active{border-color:#fff;background:#fff;color:var(--accent-strong)}.pantry-summary__item.is-active strong{color:var(--accent-strong)}.pantry-summary__item--critical.is-active strong{color:var(--danger)}.pantry-summary__item--warning.is-active strong{color:#c77800}.pantry-hero__title{display:grid;gap:4px}.pantry-hero__title h2{margin:0;color:#fff;font-size:1.2rem;font-weight:700}.pantry-hero__title p{margin:0;color:#fff;font-size:.92rem;opacity:.85}.pantry-toolbar{gap:12px}.pantry-toolbar .chip-row{margin:0 -18px;padding:0 18px 2px}.card-section__count{display:inline-block;min-width:22px;margin-left:4px;padding:0 7px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.76rem;font-weight:600;line-height:1.6;text-align:center;vertical-align:middle}.card-section--expired .profile-card__icon,.card-section--expired .card-section__count{background:#d4574524;color:var(--danger)}.card-section--soon .profile-card__icon,.card-section--soon .card-section__count{background:#f0b45b38;color:#8a5b09}.card-section--none .profile-card__icon{background:var(--surface-muted);color:var(--text-muted)}.card-section .pantry-list{margin:0 -18px -18px;border:none;border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:none}.card-section .pantry-list:not(:last-child){margin-bottom:0;border-bottom:1px solid var(--border);border-radius:0}.pantry-list{display:grid;margin:0;padding:0;list-style:none;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);overflow:hidden}.pantry-row{display:flex;align-items:center;gap:4px;padding:0 10px 0 0;border-bottom:1px solid var(--border)}.pantry-row:last-child{border-bottom:none}.pantry-row__main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;flex:1;min-width:0;padding:10px 6px 10px 12px;color:inherit}.pantry-row__text{display:grid;gap:3px;min-width:0}.pantry-row__meta{display:flex;align-items:center;gap:6px;min-width:0}.pantry-row__text strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pantry-row__text small{color:var(--text-muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pantry-row__actions{display:flex;gap:6px}.pantry-row__actions .icon-button{width:36px;height:36px}.pantry-row__chevron{color:var(--text-muted)}.pantry-row--history .pantry-row__main{padding-right:6px}.pantry-row--history{padding-right:4px;opacity:.85}.pantry-row--confirm{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:var(--surface-muted)}.pantry-row--confirm>span{grid-column:1 / -1;font-weight:500}.pantry-chip{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.pantry-chip--critical{background:#d4574524;color:var(--danger)}.pantry-chip--warning{background:#f0b45b38;color:#8a5b09}.pantry-chip--safe{background:var(--surface-accent);color:var(--accent-strong)}.pantry-chip--neutral{background:var(--surface-muted);color:var(--text-muted)}@media(prefers-color-scheme:dark){.pantry-chip--warning,.card-section--soon .profile-card__icon,.card-section--soon .card-section__count{color:#f3c98a}}.home{display:grid;gap:16px;max-width:640px;margin:0 auto;width:100%}.home-hero{display:grid;gap:8px;padding:20px;border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-card)}.home-hero h2{margin:0;font-size:1.45rem;font-weight:600;letter-spacing:-.02em}.home-hero p{margin:0;font-size:1rem;line-height:1.4;color:#ffffffeb}.home-hero--good{background:linear-gradient(135deg,#1f7a6d,#3eaa83)}.home-hero--warning{background:linear-gradient(135deg,#c77800,#f0b45b)}.home-hero--critical{background:linear-gradient(135deg,#b8432f,#e0664f)}.home-hero__level{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;margin-top:4px;padding:10px 12px;border-radius:var(--radius-md);background:#ffffff2e;color:#fff;font-weight:600;font-size:.9rem}.home-hero__progress{grid-column:1 / -1;height:6px;border-radius:999px;background:#ffffff4d;overflow:hidden}.home-hero__progress span{display:block;height:100%;border-radius:inherit;background:#fff}.home-section{display:grid;gap:10px}.home-section__header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px}.home-section__header h2{margin:0;font-size:1.1rem;font-weight:600}.home-section__header a{display:inline-flex;align-items:center;gap:2px;color:var(--accent-strong);font-size:.88rem;font-weight:500}.home-more{justify-self:center;color:var(--accent-strong);font-weight:500;font-size:.9rem}.profile-card__header.has-action{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon title action" "icon hint hint";row-gap:4px}.profile-card__header.has-action>.profile-card__icon{grid-area:icon}.profile-card__header.has-action>.profile-card__heading{display:contents}.profile-card__header.has-action h3{grid-area:title;align-self:center}.profile-card__header.has-action p{grid-area:hint}.profile-card__header.has-action>.card-section__action{grid-area:action;align-self:center}.card-section__action a{display:inline-flex;align-items:center;gap:2px;padding-top:2px;color:var(--accent-strong);font-size:.85rem;font-weight:600;white-space:nowrap}.card-section__empty{margin:0;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-muted);font-size:.92rem;line-height:1.45}.home-recipe{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px 10px 10px;border-radius:var(--radius-md);background:var(--surface-muted);color:inherit}.home-recipe img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-md)}.home-recipe__text{display:grid;gap:2px;min-width:0}.home-recipe__text small{color:var(--accent-strong);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.home-recipe__text strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-recipe__text span{color:var(--text-muted);font-size:.85rem}.home-impact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.home-impact>div{display:grid;gap:2px;justify-items:center;padding:14px 6px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:center}.home-impact svg{color:var(--accent)}.home-impact strong{font-size:1.15rem;color:var(--accent-strong)}.home-impact span{font-size:.78rem;color:var(--text-muted)}.home-rate,.home-chart{display:grid;gap:8px}.home-chart{padding-top:14px;border-top:1px solid var(--border)}.home-rate__label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.92rem}.home-rate__bar{height:10px;border-radius:999px;background:#e0664f;overflow:hidden}.home-rate__bar span{display:block;height:100%;background:#2b9a6f}.home-chart h3{margin:0;font-size:.95rem;font-weight:600}.home-details .detailed-stats{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.home-details .detailed-stats>*{padding:0;border:none;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.home-details .detailed-stats>*+*{padding-top:16px;border-top:1px solid var(--border)}.detailed-stats{display:grid;gap:16px;margin-top:12px}.about{max-width:640px;margin:0 auto;width:100%}.about__card{display:grid;gap:12px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.about__logo{width:100%;max-width:420px;justify-self:center;padding:12px;border-radius:var(--radius-md);background:#fff}.about__card h2{margin:4px 0 0;font-size:1.4rem}.about__card>p{margin:0}.about__facts{display:grid;gap:10px;margin:4px 0 0}.about__facts div{display:grid;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-muted)}.about__facts dt{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.about__facts dd{margin:0}.about__disclaimer{font-size:.82rem;color:var(--text-muted);line-height:1.45}.app-info-modal__about{display:inline-block;margin-top:8px;color:var(--accent-strong);font-weight:600}@media(prefers-color-scheme:dark){.home-hero--good{background:linear-gradient(135deg,#17594f,#23806a)}.home-hero--warning{background:linear-gradient(135deg,#8a5300,#b9801f)}.home-hero--critical{background:linear-gradient(135deg,#8a2f22,#b44c3a)}}.progress-page{display:grid;gap:16px;max-width:640px;margin:0 auto;width:100%}.level-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:20px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#1f7a6d,#3eaa83);color:#fff;box-shadow:var(--shadow-card)}.level-card__badge{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff3}.level-card__badge span{position:absolute;right:-4px;bottom:-4px;min-width:26px;height:26px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#f0b45b;color:#3d2a00;font-weight:700;font-size:.85rem}.level-card__text{display:grid;gap:6px}.level-card h2{margin:0;font-size:1.35rem}.level-card p{margin:0;color:#ffffffe6;font-size:.92rem}.level-card__bar,.badge-card__bar{display:block;height:8px;border-radius:999px;background:#ffffff4d;overflow:hidden}.level-card__bar span,.badge-card__bar span{display:block;height:100%;border-radius:inherit;background:#fff}.progress-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.progress-stats>div{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.progress-stats strong{font-size:1.4rem;color:var(--accent-strong)}.progress-stats span{font-size:.82rem;color:var(--text-muted)}.progress-rules{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.progress-rules summary{cursor:pointer;font-weight:600;color:var(--accent-strong)}.progress-rules ul{display:grid;gap:6px;margin:10px 0 0;padding-left:18px;font-size:.9rem}.badge-grid{display:grid;gap:8px;margin:0;padding:0;list-style:none}.badge-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.badge-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface-muted);color:var(--text-muted)}.badge-card.is-unlocked .badge-card__icon{background:linear-gradient(135deg,#f0b45b,#e08a1e);color:#fff}.badge-card__text{display:grid;gap:3px;min-width:0}.badge-card__text small{color:var(--text-muted);font-size:.82rem}.badge-card__done{color:var(--accent-strong)!important;font-weight:600}.badge-card__progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-top:2px}.badge-card__progress .badge-card__bar{background:var(--surface-muted)}.badge-card__progress .badge-card__bar span{background:var(--accent)}.badge-card:not(.is-unlocked) strong{color:var(--text-muted)}.ranking__row{display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.ranking__row:last-child{border-bottom:none}.ranking__rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-muted);font-weight:700;font-size:.85rem}.ranking__row:first-child .ranking__rank{background:#f0b45b;color:#3d2a00}.ranking__row.is-me{background:var(--surface-accent)}.ranking__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-card__cooked{margin-top:10px;width:100%}@media(prefers-color-scheme:dark){.level-card{background:linear-gradient(135deg,#17594f,#23806a)}}.auth-form__password{position:relative;display:block}.auth-form__password input{padding-right:48px}.auth-form__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--text-muted)}.auth-form__hint{color:var(--text-muted);font-size:.8rem;font-weight:400}.auth-form__consent{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:10px!important;font-size:.86rem;font-weight:400;color:var(--text-muted)}.auth-form__consent input{width:20px;height:20px;min-height:0!important;margin:2px 0 0;accent-color:var(--accent)}.auth-form__switch-hint{margin:0;text-align:center;font-size:.9rem;color:var(--text-muted)}.profile-reminder{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid rgba(240,180,91,.45);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(240,180,91,.16),var(--surface));color:inherit}.profile-reminder__ring{--value: 0;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:conic-gradient(#e08a1e calc(var(--value) * 1%),var(--surface-muted) 0);font-size:.8rem;font-weight:700}.profile-reminder__ring span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface)}.profile-reminder__text{display:grid;gap:2px;min-width:0}.profile-reminder__text strong{font-size:.98rem}.profile-reminder__text small{color:var(--text-muted);font-size:.82rem}.profile-reminder__close{align-self:start}.profile-form{display:grid;gap:18px}.missing-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#f0b45b33;color:#a86400;font-size:.72rem;font-weight:600;line-height:1.4;vertical-align:middle;white-space:nowrap}.choice-chips{display:flex;flex-wrap:wrap;gap:8px}.choice-chips .filter-chip{font-size:.9rem}.profile-page{display:grid;gap:16px}.profile-hero{display:grid;gap:14px;padding:20px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff;box-shadow:var(--shadow-card)}.profile-hero__identity{display:flex;align-items:center;gap:14px;min-width:0}.profile-hero__identity>div{display:grid;gap:2px;min-width:0}.profile-hero__identity strong{font-size:1.2rem;font-weight:700}.profile-hero__identity span:not(.profile-hero__avatar){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-size:.92rem}.profile-hero__avatar{display:grid;flex:0 0 auto;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.45);font-size:1.2rem;font-weight:700;letter-spacing:.02em}.profile-hero .profile-completion-bar{padding:12px 14px;background:#ffffff24;color:#fff}.profile-hero .profile-completion-bar__track{background:#ffffff40}.profile-hero .profile-completion-bar__track span{background:#fff}.profile-hero__done{display:inline-flex;align-items:center;gap:6px;justify-self:start;margin:0;padding:4px 12px;border-radius:999px;background:#ffffff2e;font-size:.88rem;font-weight:600}.profile-hero__hint{margin:0;font-size:.86rem;opacity:.85}.profile-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-shortcuts.is-single{grid-template-columns:1fr}.profile-shortcuts.is-single .profile-shortcut{grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center;padding-right:40px}.profile-shortcuts.is-single .profile-shortcut>svg:first-child{grid-row:span 2;margin:0}.profile-shortcuts.is-single .profile-shortcut__chevron{top:50%;transform:translateY(-50%)}.profile-shortcut{position:relative;display:grid;align-content:start;gap:4px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text-main)}.profile-shortcut>svg:first-child{margin-bottom:4px;color:var(--accent)}.profile-shortcut strong{font-size:.96rem}.profile-shortcut small{color:var(--text-muted);font-size:.8rem;line-height:1.35}.profile-shortcut__chevron{position:absolute;top:14px;right:12px;color:var(--text-muted)}.profile-page__form{display:grid;gap:16px}.profile-card{display:grid;gap:16px;min-width:0;margin:0;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.profile-card.is-missing{border-color:#f0b45b8c}.profile-card__header,.profile-card--more summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.profile-card__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--surface-accent);color:var(--accent-strong)}.profile-card__heading{display:grid;gap:4px;min-width:0}.profile-card__heading h3{margin:0;font-size:1.02rem;font-weight:600;line-height:1.35}.profile-card__heading h3 .missing-badge{margin-left:4px}.profile-card__heading p,.profile-card__heading small{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.4}.profile-card--more{gap:0}.profile-card--more summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;cursor:pointer;list-style:none}.profile-card--more summary::-webkit-details-marker{display:none}.profile-card--more summary strong{font-size:1.02rem;font-weight:600}.profile-card__chevron{color:var(--text-muted);transition:transform .2s ease}.profile-card--more[open] .profile-card__chevron{transform:rotate(90deg)}.profile-card__more-body{display:grid;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.choice-custom{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}.choice-custom input{min-width:0}.choice-custom .icon-button{width:44px;height:44px}.profile-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stepper-field{display:grid;gap:8px;font-weight:600}.stepper-field.is-missing .stepper-field__label{color:#a86400}.stepper-field.is-missing .stepper input{border-color:#f0b45bb3}.profile-savebar{position:sticky;bottom:var(--nav-clearance);z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-float);font-size:.9rem}.profile-savebar.is-dirty{border-color:var(--accent)}.profile-savebar .primary-button{min-height:44px;padding:0 18px}.profile-completion-bar{display:grid;gap:6px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-muted);font-size:.9rem}.profile-completion-bar__track{height:8px;border-radius:999px;background:var(--border);overflow:hidden}.profile-completion-bar__track span{display:block;height:100%;background:var(--accent)}.profile-form__field{display:grid;gap:6px;font-weight:600}.stepper-field__label{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.stepper{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:6px}.stepper input{width:100%;min-width:0;text-align:center;-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-section{display:grid;gap:10px;margin-bottom:20px}.settings-section h3{margin:0;font-size:1rem}.settings-section .muted{margin:0}.settings-languages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-language{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:inherit;font:inherit;font-weight:600;text-align:left}.settings-language.is-active{border-color:var(--accent);background:var(--surface-accent);color:var(--accent-strong)}.settings-section .profile-identity-card strong{display:block;overflow-wrap:anywhere}.recipes{display:grid;gap:16px;max-width:640px;margin:0 auto;width:100%}.recipe-tile{gap:14px;overflow:hidden}.recipe-tile__image{display:block;width:calc(100% + 36px);max-width:none;margin:-18px -18px 0;aspect-ratio:16 / 9;object-fit:cover}.recipe-tile__heading{display:grid;gap:4px}.recipe-tile__heading h3{margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.recipe-tile__heading p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.45}.recipe-tile__badges{display:flex;flex-wrap:wrap;gap:6px}.recipe-tile__badges .badge{padding:6px 10px;font-size:.78rem}.recipe-tile__meta{display:flex;flex-wrap:wrap;gap:8px}.recipe-tile__meta span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-muted);font-size:.84rem}.recipe-tile__meta svg{color:var(--accent)}.recipe-tile__ingredients{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.recipe-tile__section-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.recipe-tile__section-title strong{font-size:.95rem;font-weight:600}.recipe-tile__group{display:grid;gap:6px}.recipe-tile__group-label{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.recipe-tile__group--have .recipe-tile__group-label{color:var(--accent-strong)}.recipe-tile__group ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.recipe-tile__group li{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:5px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-muted);font-size:.85rem;line-height:1.3}.recipe-tile__group--have li{border-color:transparent;background:var(--surface-accent);color:var(--accent-strong);font-weight:500}.recipe-tile__warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px 14px;border:1px solid rgba(212,87,69,.2);border-radius:var(--radius-md);background:#d4574514;color:var(--danger)}.recipe-tile__warning strong{font-size:.92rem}.recipe-tile__warning p{margin:2px 0 0;color:var(--text-main);font-size:.88rem}.recipe-tile__steps{padding-top:14px;border-top:1px solid var(--border)}.recipe-tile__steps summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--accent-strong);font-weight:600;cursor:pointer;list-style:none}.recipe-tile__steps summary::-webkit-details-marker{display:none}.recipe-tile__steps[open] .profile-card__chevron{transform:rotate(90deg)}.recipe-tile__steps p{margin:10px 0 0;color:var(--text-muted);font-size:.92rem;line-height:1.55;white-space:pre-line}.recipe-tile__cooked{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px}.recipes__toolbar{padding:12px}:root{color-scheme:light dark;--bg-app: #f4f9f6;--bg-panel: var(--surface);--bg-panel-strong: #ffffff;--line: var(--border);--shadow: var(--shadow-card);--text-soft: var(--text-muted);background:var(--bg-app)}body{background:radial-gradient(circle at 0% 0%,rgba(240,180,91,.12),transparent 30%),radial-gradient(circle at 100% 0%,rgba(107,200,182,.16),transparent 30%),var(--bg-app);background-attachment:fixed;-webkit-font-smoothing:antialiased}.app-shell{padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:calc(var(--nav-clearance) + 24px)}.app-header{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.app-header__title-row{min-width:0}.app-header h1{margin:0;max-width:none;font-size:clamp(1.45rem,3vw,1.9rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__title-icon{width:2.4rem;height:2.4rem;border-radius:14px;background:var(--surface-accent)}.app-header__actions{width:auto;gap:8px}.app-header__brand-logo{width:auto;max-width:34vw;max-height:44px;border-radius:10px;filter:none}.header-icon-button{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-card)}.notification-bell__count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;background:var(--danger);color:#fff;font-size:.72rem;font-weight:700;border:2px solid var(--bg-app)}.mobile-nav{bottom:calc(10px + env(safe-area-inset-bottom,0px));width:min(560px,calc(100% - 20px));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:2px;padding:6px 8px;border-radius:24px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-float);overflow:visible;z-index:40}.mobile-nav__item{min-width:0;gap:3px;padding:6px 2px;border-radius:16px;font-size:.72rem;font-weight:500;color:var(--text-muted)}.mobile-nav__icon{display:inline-grid;place-items:center;width:44px;height:30px;border-radius:999px;transition:background .15s ease}.mobile-nav__item.is-active{background:none;color:var(--accent-strong);font-weight:600}.mobile-nav__item.is-active .mobile-nav__icon{background:var(--surface-accent)}.mobile-nav__item--primary .mobile-nav__icon{width:52px;height:52px;margin-top:-22px;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 8px 18px #1f7a6d59;border:4px solid var(--surface)}.mobile-nav__item--primary.is-active .mobile-nav__icon{background:var(--accent-strong)}.section-card,.stat-card,.achievement-card,.detail-card,.inventory-card,.recipe-card,.notification-card,.advice-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:none;backdrop-filter:none}.section-card{border-radius:var(--radius-lg)}.section-card__header h2{margin:0 0 4px;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.inventory-card,.recipe-card,.notification-card,.detail-card{border-radius:18px}.page-grid--dashboard .section-card:before,.page-grid--dashboard .stat-card:before{display:none}.page-grid--dashboard .section-card:hover{transform:none;box-shadow:var(--shadow-card)}.stat-card--mint{background:linear-gradient(180deg,var(--surface),rgba(62,170,131,.08))}.stat-card--amber{background:linear-gradient(180deg,var(--surface),rgba(240,180,91,.1))}.dashboard-stats .stat-card{min-height:112px;box-shadow:var(--shadow-card)}.page-state,.empty-state{background:var(--surface-muted);border:1px dashed var(--border)}.chart-box{background:var(--surface-muted);border-color:var(--border)}.chart-legend__item,.chart-detail-card,.waste-peak-list__item,.leaderboard-row,.simple-row,.feature-flag-card,.scan-feedback,.wizard-grid .scanner-box,.wizard-grid .form-grid{background:var(--surface-muted)}.ghost-button{background:var(--surface-muted);color:var(--text-main)}input,select,textarea{border-color:var(--border);background:var(--bg-panel-strong);color:var(--text-main)}.recipe-card__header{flex-direction:column;align-items:stretch;gap:10px}.recipe-card__header h3{font-size:1.1rem}.recipe-card__header-badges{display:flex;flex-wrap:wrap;justify-items:start;gap:6px}.recipe-card__meta span{border-radius:var(--radius-sm)}.recipe-card__preparation{border-top:1px solid var(--border);padding-top:10px}.recipe-card__preparation summary{cursor:pointer;font-weight:600;color:var(--accent-strong)}.recipe-card__preparation p{margin-top:8px}.inventory-card__actions{flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:8px}.inventory-card__actions>*{flex:1 1 0;min-width:max-content;text-align:center}.badge--neutral{background:var(--surface-muted)}.filter-bar input,.filter-bar select{min-height:44px}.profile-links{display:grid;gap:8px;margin-bottom:18px}.profile-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-main)}.profile-link>svg:first-child{color:var(--accent)}.profile-link span{display:grid;gap:2px}.profile-link small{color:var(--text-muted)}@media(prefers-color-scheme:dark){:root{--bg-app: #0e1714;--surface: #16221e;--surface-muted: #1c2b26;--surface-accent: rgba(95, 214, 190, .14);--border: rgba(214, 240, 232, .1);--bg-panel-strong: #1a2823;--text-main: #e4f1ec;--text-muted: #9fb8b0;--accent: #2b9a86;--accent-strong: #7fdcc9;--danger: #f07a68;--amber: #f0b45b;--focus-ring: 0 0 0 3px rgba(127, 220, 201, .35);--shadow-card: 0 10px 28px rgba(0, 0, 0, .35);--shadow-float: 0 14px 34px rgba(0, 0, 0, .5);color:var(--text-main)}body{color:var(--text-main);background:radial-gradient(circle at 0% 0%,rgba(240,180,91,.06),transparent 30%),radial-gradient(circle at 100% 0%,rgba(107,200,182,.08),transparent 30%),var(--bg-app)}.app-header__brand-logo{background:#fff;padding:4px 6px}.stat-card--mint{background:linear-gradient(180deg,var(--surface),rgba(62,170,131,.14))}.stat-card--amber{background:linear-gradient(180deg,var(--surface),rgba(240,180,91,.12))}.badge--safe{color:#8be3c4}.badge--warning{background:#f0b45b2e;color:#f3c98a}.badge--critical{color:#f5a093}.scanner-tip,.shop-notice{background:#f0b45b24;color:#f3d3a1}.barcode-learning-notice{background:#f0b45b1f}.food-icon{background:var(--surface-muted)}.auth-card{background:var(--surface);border-color:var(--border)}.auth-form__switch .is-active,.segmented button.is-active{background:var(--surface);color:var(--accent-strong)}.insight-point__detail,.additive__risk,.encouragement__stats span{color:var(--text-muted)}.encouragement h2,.encouragement__stats strong{color:var(--accent-strong)}.encouragement__highlight{color:#f3c98a}.shop-steps li span{background:#ffffff1f}.cart-bar.has-items{background:var(--accent)}.mobile-nav__item--primary.is-active .mobile-nav__icon{background:var(--accent);box-shadow:0 0 0 2px var(--accent-strong),0 8px 18px #00000073}.scanner-video{background:#000}.recipe-card__profile-warning{background:#f07a681a}.advice-card--high,.notification-card--critical,.notification-card--high{border-left-color:var(--danger)}.recharts-text,.recharts-cartesian-axis-tick-value{fill:var(--text-muted)}.recharts-default-tooltip{background:var(--surface)!important;border-color:var(--border)!important}::-webkit-calendar-picker-indicator{filter:invert(.8)}}
