:root{--ink:#0d1016;--aqua:#4fcfbb;--forest:#173c38;--paper:#fffdfa;--muted:#687078;--blue:#5c79e7;--pink:#e45b92;--violet:#a66cd4;--line:rgba(13,16,22,.09);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#11151a;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#11151a}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}.hidden{display:none!important}.app-stage{min-height:100vh;display:grid;place-items:start center;background:radial-gradient(circle at 0 0,rgba(79,207,187,.22),transparent 28%),radial-gradient(circle at 100% 5%,rgba(245,184,156,.23),transparent 26%),#e9eeee}.app-shell{position:relative;width:min(100%,500px);min-height:100dvh;padding-bottom:102px;overflow:hidden;background:linear-gradient(145deg,#e9f7f4 0%,#f7f2ed 52%,#edf0f1 100%);box-shadow:0 0 55px rgba(0,0,0,.22)}.screen{display:none;padding:calc(18px + env(safe-area-inset-top)) 20px 28px}.screen.active{display:block}.top-header,.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.top-header h1,.app-header h1{font-family:Georgia,serif;font-size:34px;line-height:1;margin:4px 0 0}.app-header p,.eyebrow{font-size:15px;font-weight:800;color:#687078;margin:0}.header-symbol{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.78);display:grid;place-items:center;font-size:27px}.offline-banner{position:sticky;z-index:20;top:0;padding:10px 18px;background:#fff1c8;color:#634f13;font-size:14px;font-weight:750;text-align:center}.balance-card{padding:18px;border-radius:28px;background:rgba(255,253,249,.93);border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 42px rgba(13,16,22,.1)}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;font-weight:850}.card-heading b{padding:8px 10px;border-radius:13px;background:#ddf6f1;font-size:15px}.gauge{position:relative;width:235px;height:132px;margin:8px auto 0}.gauge svg{width:100%;height:100%;overflow:visible}.gauge path{fill:none;stroke-width:19;stroke-linecap:round}.gauge-track{stroke:#dbe2e2}.gauge-fill{stroke:var(--aqua);stroke-dasharray:0 100;transition:stroke-dasharray .45s ease}.gauge>div{position:absolute;inset:46px 0 auto;display:grid;justify-items:center}.gauge strong{font-family:Georgia,serif;font-size:44px;line-height:1}.gauge span{margin-top:4px;font-size:15px;color:var(--muted)}.energy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.energy-stats span{display:grid;gap:5px;color:var(--muted);font-size:14px}.energy-stats b{color:var(--ink);font-size:20px}.balance-message{margin:17px auto 16px;text-align:center;color:#555f66;font-size:16px;line-height:1.42}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.macro-grid>div{min-width:0;padding:11px 9px;border:1px solid #dce1df;border-radius:17px;background:white}.macro-grid span,.macro-grid b{display:block}.macro-grid span{font-size:14px;color:#555e63}.macro-grid b{margin:6px 0 9px;font-size:15px;white-space:nowrap}.bar{display:block;height:8px;border-radius:9px;background:#e5e8e7;overflow:hidden}.bar i{display:block;height:100%;border-radius:inherit}.check-card{width:100%;display:grid;grid-template-columns:52px 1fr 25px;align-items:center;gap:12px;margin:14px 0 0;padding:14px;border:0;border-radius:22px;background:linear-gradient(130deg,#0d1016,#1b3031);color:white;text-align:left;box-shadow:0 12px 30px rgba(13,16,22,.16)}.check-icon{width:52px;height:52px;border-radius:17px;background:var(--aqua);color:var(--ink);display:grid;place-items:center;font-size:27px;font-weight:900}.check-card>span:nth-child(2){display:grid;gap:3px}.check-card small{font-size:14px;color:var(--aqua);font-weight:900;letter-spacing:.06em}.check-card b,.check-card em{font-size:16px;line-height:1.35}.check-card em{color:#c7cdd0;font-style:normal}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 3px 13px}.section-title h2{font-family:Georgia,serif;font-size:29px;margin:0}.section-title button{border:0;border-radius:14px;background:rgba(255,255,255,.78);padding:10px 13px;font-weight:800}.meal-list{overflow:hidden;border-radius:25px;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(13,16,22,.08)}.meal-row{display:grid;grid-template-columns:54px 1fr 48px;align-items:center;gap:11px;padding:14px;border-bottom:1px solid #e2e5e3}.meal-row:last-child{border:0}.meal-symbol{width:52px;height:52px;border-radius:17px;background:#eef4ed;display:grid;place-items:center;font-size:27px}.meal-copy{border:0;background:transparent;text-align:left;padding:0}.meal-copy b,.meal-copy span{display:block}.meal-copy b{font-size:18px}.meal-copy span{margin-top:4px;font-size:15px;color:var(--muted)}.meal-progress{display:block;height:7px;margin-top:8px;border-radius:8px;background:#e5e8e7;overflow:hidden}.meal-progress i{display:block;height:100%;background:var(--aqua);border-radius:inherit}.quick-add{width:46px;height:46px;border:0;border-radius:50%;background:var(--ink);color:var(--aqua);font-size:29px}.recent-log{margin-top:13px;padding:15px;border-radius:22px;background:rgba(255,255,255,.91)}.recent-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.recent-head h3{margin:0;font-family:Georgia,serif;font-size:21px}.recent-head button{border:0;background:transparent;color:#744;font-weight:750}.log-row{display:grid;grid-template-columns:1fr auto 34px;align-items:center;gap:8px;padding:12px 0;border-top:1px solid #e5e7e6}.log-row span{display:grid;gap:4px}.log-row small{font-size:14px;color:var(--muted)}.log-row button{border:0;background:transparent;font-size:20px}.wellness-title p{margin:4px 0 0;color:var(--muted);font-size:15px}.wellness-title>span{padding:7px 10px;border-radius:12px;background:#ddf6f1;font-size:14px;font-weight:800}.wellness-card{padding:13px;border-radius:25px;background:rgba(255,255,255,.9)}.wellness-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wellness-item{display:grid;grid-template-columns:43px 1fr;gap:9px;align-items:start;border:0;border-radius:18px;background:#f3f5f4;padding:11px;text-align:left}.wellness-icon{width:42px;height:42px;border-radius:14px;background:#dff5f1;display:grid;place-items:center;font-size:21px}.wellness-copy{display:grid;gap:2px}.wellness-copy b{font-size:14px}.wellness-copy strong{font-size:16px}.wellness-copy small{font-size:13px;color:var(--muted)}.wellness-tip{margin-top:11px;padding:12px;border-radius:16px;background:#e8f5f2;font-size:14px;line-height:1.4}.app-header{margin-bottom:18px}.entry-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.entry-modes button{min-width:0;height:80px;border:1px solid rgba(13,16,22,.08);border-radius:18px;background:rgba(255,255,255,.77);color:var(--ink);font-size:25px}.entry-modes button span{display:block;margin-top:5px;font-size:13px;font-weight:800}.entry-modes button.active{background:var(--ink);color:var(--aqua)}.food-search{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:7px;margin:15px 0 11px;padding:7px 7px 7px 14px;border-radius:19px;background:white}.food-search>span{font-size:24px}.food-search input{min-width:0;border:0;outline:0;background:transparent;font-size:16px}.food-search button{border:0;border-radius:14px;background:var(--ink);color:var(--aqua);padding:12px 14px;font-weight:850}.search-filters{display:flex;gap:8px}.search-filters button,.diet-tags span{border:1px solid rgba(13,16,22,.08);border-radius:14px;background:rgba(255,255,255,.76);padding:9px 12px;font-size:14px;font-weight:750}.source-note{margin:15px 4px;color:#617071;font-size:14px;line-height:1.4}.result-head{display:flex;align-items:end;justify-content:space-between;gap:10px}.result-head h2{font-family:Georgia,serif;font-size:27px;margin:7px 0 10px}.result-head span{margin-bottom:12px;font-size:13px;color:var(--muted)}.food-results{display:grid;gap:10px}.food-result{display:grid;grid-template-columns:52px 1fr auto 43px;align-items:center;gap:9px;padding:13px;border-radius:21px;background:rgba(255,255,255,.92)}.food-photo{width:52px;height:52px;border-radius:16px;background:#eaf3e8;display:grid;place-items:center;font-size:24px}.food-main{min-width:0;border:0;background:transparent;text-align:left;padding:0}.food-main b,.food-main span,.food-main small{display:block}.food-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.food-main span{margin-top:4px;color:var(--muted);font-size:14px}.food-main small{margin-top:5px;color:#4d6d68;font-size:13px}.result-calories{text-align:right;font-size:18px;font-weight:850}.result-calories small{display:block;color:var(--muted);font-size:13px}.result-add{width:42px;height:42px;border:2px solid var(--ink);border-radius:50%;background:white;font-size:25px}.empty-state{padding:35px 20px;border-radius:22px;background:rgba(255,255,255,.75);text-align:center}.plan-hero{position:relative;height:335px;overflow:hidden;border-radius:29px}.plan-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(13,16,22,.85))}.plan-hero img{width:100%;height:100%;object-fit:cover}.plan-hero div{position:absolute;z-index:1;left:22px;right:22px;bottom:22px;color:white}.plan-hero span{font-size:14px;letter-spacing:.08em}.plan-hero h2{font-family:Georgia,serif;font-size:34px;margin:7px 0}.plan-hero p{font-size:16px;margin:0}.diet-tags{display:flex;gap:8px;overflow:auto;margin:13px 0}.diet-tags span{white-space:nowrap}.plan-date{margin-top:22px}.plan-date h2{font-size:27px}.plan-meal{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:11px 0;padding:17px 17px 17px 23px;border-radius:22px;background:rgba(255,255,255,.92);overflow:hidden}.plan-meal:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--aqua)}.plan-meal.amber:before{background:#e4aa33}.plan-meal.coral:before{background:#d87963}.plan-meal div{display:grid;gap:5px}.plan-meal small,.plan-meal span{color:var(--muted);font-size:14px}.plan-meal b{font-size:17px}.target-summary{padding:18px;border-radius:25px;background:var(--forest);color:white;box-shadow:0 14px 32px rgba(13,16,22,.2)}.target-summary small,.target-summary span,.target-summary strong{display:block}.target-summary>span{color:var(--aqua);font-size:13px;font-weight:900;letter-spacing:.07em}.target-summary strong{font-family:Georgia,serif;font-size:48px;margin:9px 0 2px}.target-summary small{color:#cbd2d3;font-size:15px}.target-summary p{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.15);color:#dfe4e4;font-size:14px;line-height:1.45}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:13px 0;padding:5px;border-radius:17px;background:rgba(255,255,255,.72)}.mode-switch button{border:0;border-radius:13px;background:transparent;padding:11px;font-weight:850}.mode-switch button.active{background:var(--aqua)}.settings-card{margin-top:12px;padding:16px;border-radius:23px;background:rgba(255,255,255,.92);box-shadow:0 9px 26px rgba(13,16,22,.07)}.settings-title{margin-bottom:13px}.settings-title h2{font-family:Georgia,serif;font-size:23px;margin:0}.settings-title p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.4}.settings-form,.target-inputs{display:grid;gap:11px}.two-cols,.target-inputs{grid-template-columns:1fr 1fr}.settings-form label,.target-inputs label{display:grid;gap:6px;min-width:0}.settings-form label>span,.target-inputs label>span{font-size:14px;font-weight:800;color:#4f575d}.settings-form label.wide{grid-column:1/-1}.settings-form select,.settings-form input,.target-inputs input{width:100%;height:47px;border:1px solid #d8ddda;border-radius:13px;background:#fff;color:var(--ink);padding:0 11px;font-size:16px;outline:0}.settings-form input:focus,.settings-form select:focus,.target-inputs input:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(79,207,187,.2)}.unit-input{position:relative}.unit-input input{padding-right:50px}.unit-input i{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--muted);font-style:normal}.pace-value{text-align:center;margin:5px 0 18px}.pace-value strong{display:block;font-family:Georgia,serif;font-size:39px}.pace-value span{display:block;color:var(--muted);margin-top:3px}.pace-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pace-options button{height:60px;border:2px solid #d9dfdd;border-radius:16px;background:#fff;font-size:19px;font-weight:850}.pace-options button span{font-size:13px;color:var(--muted)}.pace-options button.active{border-color:var(--ink);background:var(--aqua)}.slider-ends{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:14px}.preference-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preference-grid button{min-height:48px;border:1px solid #d9dfdc;border-radius:14px;background:#fff;padding:10px;font-size:14px;font-weight:750;text-align:left}.preference-grid button.active{border-color:var(--aqua);background:#dff5f1}.target-inputs input:disabled{background:#edf1ef;color:#5d656a}.restore-auto{width:100%;margin-top:13px;border:0;border-radius:14px;background:#edf1ef;padding:12px;font-weight:800}.macro-control{margin-top:17px}.macro-control>div{display:flex;align-items:center;justify-content:space-between}.macro-control label,.macro-control output{font-weight:850}.macro-control input{width:100%;accent-color:var(--aqua);margin-top:9px}.save-settings{width:100%;margin:14px 0 4px;border:0;border-radius:17px;background:var(--ink);color:var(--aqua);padding:15px;font-size:16px;font-weight:900}.bottom-nav{position:absolute;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(13,16,22,.95);backdrop-filter:blur(18px)}.bottom-nav button{border:0;background:transparent;color:#aab0b5;padding:5px;font-size:14px}.bottom-nav span,.bottom-nav b{display:block}.bottom-nav span{width:53px;margin:auto;border-radius:15px;padding:5px;font-size:25px}.bottom-nav b{margin-top:3px}.bottom-nav button.active{color:var(--aqua)}.bottom-nav button.active span{background:var(--aqua);color:var(--ink)}.sheet-backdrop{position:absolute;z-index:50;inset:0;background:rgba(13,16,22,.56);display:flex;align-items:flex-end}.food-sheet{width:100%;max-height:88%;overflow:auto;padding:22px 20px calc(24px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:#fff}.sheet-top{display:flex;align-items:start;justify-content:space-between;gap:15px}.sheet-top button{width:44px;height:44px;border:0;border-radius:14px;background:#eef1ef;font-size:24px}.food-sheet h2{font-family:Georgia,serif;font-size:29px;margin:10px 0 5px}.food-sheet>p{color:var(--muted);margin:0}.calorie-number{display:flex;align-items:end;gap:10px;margin:20px 0}.calorie-number strong{font-family:Georgia,serif;font-size:50px}.calorie-number span{padding-bottom:7px;color:var(--muted)}.portion-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.portion-picker button{border:1px solid #dce1df;border-radius:13px;background:#fff;padding:10px}.portion-picker button.active{background:var(--aqua);border-color:var(--ink)}.nutrition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}.nutrition-grid div{padding:11px;border-radius:15px;background:#f1f4f3}.nutrition-grid b,.nutrition-grid span{display:block}.nutrition-grid span{font-size:13px;color:var(--muted);margin:4px 0 7px}.add-food{width:100%;border:0;border-radius:17px;background:var(--ink);color:var(--aqua);padding:15px;font-size:16px;font-weight:900}.check-flow{position:absolute;z-index:60;inset:0;overflow:auto;padding:calc(18px + env(safe-area-inset-top)) 18px 28px;background:linear-gradient(155deg,#e7f7f3,#f7f2ec 55%,#eee8f2)}.check-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.check-header button{width:46px;height:46px;border:0;border-radius:14px;background:white;font-size:23px}.check-header span{text-align:center}.check-header small,.check-header b{display:block}.check-header small{font-size:13px;letter-spacing:.07em;color:#28786d}.check-header b{font-size:17px;margin-top:2px}.check-intro{text-align:center;margin:25px auto 20px}.check-intro .big-icon{width:72px;height:72px;margin:auto;border-radius:22px;background:var(--ink);color:var(--aqua);display:grid;place-items:center;font-size:35px}.check-intro h1{font-family:Georgia,serif;font-size:34px;margin:13px 0 7px}.check-intro p{color:var(--muted);font-size:16px;line-height:1.45}.sample-block{margin:17px 0}.sample-block div{display:flex;gap:8px;overflow:auto;margin-top:8px}.sample-block button{white-space:nowrap;border:1px solid var(--line);border-radius:13px;background:white;padding:10px}.label-editor{display:grid;gap:8px;font-weight:800}.label-editor textarea{min-height:145px;border:1px solid #ccd8d5;border-radius:18px;padding:13px;font-size:16px;line-height:1.45;resize:vertical}.complete-check{display:flex;gap:10px;margin:12px 0;padding:12px;border-radius:16px;background:rgba(255,255,255,.72)}.complete-check input{width:23px;height:23px;accent-color:var(--aqua)}.check-primary{width:100%;border:0;border-radius:18px;background:var(--ink);color:var(--aqua);padding:16px;font-size:17px;font-weight:900}.check-note{color:var(--muted);font-size:14px;line-height:1.4;text-align:center}.verdict{padding:23px;border-radius:26px;text-align:center}.verdict.safe{background:#dff5f1}.verdict.unsafe{background:#f6d6ce}.verdict.unknown{background:#f5e7bd}.verdict-symbol{width:74px;height:74px;margin:auto;border-radius:50%;background:#29766c;color:white;display:grid;place-items:center;font-size:38px}.verdict.unsafe .verdict-symbol{background:#a8483b}.verdict.unknown .verdict-symbol{background:#8b6818}.verdict h1{font-family:Georgia,serif;font-size:35px;margin:12px 0 7px}.verdict p{font-size:16px;line-height:1.45}.verdict-list{margin:13px 0;overflow:hidden;border-radius:20px;background:white}.verdict-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px;border-bottom:1px solid #e5e8e7}.verdict-row:last-child{border:0}.verdict-row b,.verdict-row small{display:block}.verdict-row small{margin-top:4px;color:var(--muted);font-size:14px}.verdict-row strong{align-self:center}.disclaimer{padding:12px;border-radius:15px;background:#fff0e7;color:#6e4938;font-size:14px;line-height:1.45}.toast{position:absolute;z-index:90;left:50%;bottom:105px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 36px);padding:12px 16px;border-radius:14px;background:var(--ink);color:white;font-size:14px;font-weight:750;box-shadow:0 10px 30px rgba(0,0,0,.25)}@media(min-width:700px){.app-stage{padding:24px 0}.app-shell{min-height:calc(100dvh - 48px);max-height:920px;border-radius:34px}.bottom-nav{border-radius:0 0 34px 34px}.sheet-backdrop,.check-flow{border-radius:34px}}@media(max-width:370px){.screen{padding-left:15px;padding-right:15px}.macro-grid,.nutrition-grid{gap:5px}.macro-grid>div{padding:9px 6px}.macro-grid span{font-size:13px}.macro-grid b{font-size:13px}.two-cols,.target-inputs{grid-template-columns:1fr}.settings-form label.wide{grid-column:auto}.entry-modes button span{font-size:13px}}

.brand{display:flex;align-items:center;gap:11px;min-width:0}
.brand-logo{width:45px;height:45px;border-radius:14px;flex:none}
.icon-btn{width:48px;height:48px;flex:none;border:0;border-radius:16px;background:rgba(255,255,255,.78);display:grid;place-items:center;font-size:23px;color:var(--ink)}
.icon-btn[aria-expanded="true"]{background:var(--ink);color:var(--aqua)}
.menu-panel{position:absolute;z-index:70;top:calc(16px + env(safe-area-inset-top));right:18px;width:min(300px,calc(100% - 36px));max-height:70%;overflow:auto;padding:8px;border-radius:20px;background:#fffdfa;box-shadow:0 18px 44px rgba(13,16,22,.28)}
.menu-panel[hidden]{display:none}
.menu-group+.menu-group{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}
.menu-title{margin:9px 12px 5px;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.menu-row{display:block;width:100%;border:0;border-radius:13px;background:transparent;padding:12px;text-align:left;font-size:15px;font-weight:750;color:var(--ink)}
.menu-row:hover,.menu-row:focus-visible{background:#eef4f2}
.menu-versione{margin:8px 12px 6px;font-size:13px;color:var(--muted)}
.doc-sheet{position:absolute;z-index:80;inset:0;overflow:auto;background:rgba(13,16,22,.56)}
.doc-inner{margin-top:14%;padding:22px 20px calc(26px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:#fffdfa;min-height:86%}
.doc-top{display:flex;align-items:start;justify-content:space-between;gap:14px}
.doc-top h2{font-family:Georgia,serif;font-size:28px;margin:4px 0 0}
.doc-top button{width:44px;height:44px;flex:none;border:0;border-radius:14px;background:#eef1ef;font-size:24px}
.doc-sheet p,.doc-sheet li{font-size:15px;line-height:1.55;color:#3d4449}
.doc-sheet ul{padding-left:20px}
.doc-sheet code{background:#eef1ef;border-radius:6px;padding:1px 5px;font-size:14px}

.screen.paged.active{display:flex;flex-direction:column;height:100dvh;padding-bottom:calc(102px + env(safe-area-inset-bottom))}
.screen.paged>.top-header,.screen.paged>.app-header{flex:none}
.pager{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pager::-webkit-scrollbar{display:none}
.page{flex:0 0 100%;min-width:100%;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-align:start;scroll-snap-stop:always;padding-bottom:10px;scrollbar-width:none}
.page::-webkit-scrollbar{display:none}
.section-title.first{margin-top:0}
.pager-dots{flex:none;display:flex;justify-content:center;align-items:center;gap:7px;padding:11px 0 3px}
.pager-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(13,16,22,.22)}
.pager-dots button[aria-current="true"]{width:22px;border-radius:5px;background:var(--ink)}
@media(prefers-reduced-motion:reduce){.pager{scroll-behavior:auto}}

/* Colori e icone come nel prototipo originale: le schede tornano su fondo
   chiaro, i pasti hanno la loro emoji in un cerchio colorato e ogni abitudine
   di "Oltre il piatto" ha il suo colore, con la barra di avanzamento. */
.ico{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em}
.icon-btn .ico{width:24px;height:24px}
.card-heading b{display:inline-flex;align-items:center;gap:7px}
.card-heading b .ico{width:19px;height:19px}
.check-icon .ico{width:28px;height:28px;stroke-width:2.2}
.check-card>strong{display:grid;place-items:center;color:var(--aqua)}
.check-card>strong .ico{width:28px;height:28px}
.check-intro .big-icon .ico{width:36px;height:36px}
.entry-modes button{display:grid;place-items:center;align-content:center;gap:0}
.entry-modes button .ico{width:26px;height:26px}
.food-search>span{display:grid;place-items:center}
.food-search>span .ico{width:21px;height:21px}
.save-settings .ico{width:19px;height:19px;stroke-width:2.6}
.bottom-nav span{display:grid;place-items:center;height:40px}
.bottom-nav span .ico{width:24px;height:24px}
.quick-add{display:grid;place-items:center}
.quick-add .ico{width:24px;height:24px;stroke-width:2.4}

.meal-symbol{border-radius:50%;font-size:25px;line-height:1}
.meal-colazione .meal-symbol{background:#e8e0f1}
.meal-pranzo .meal-symbol{background:#f5dfd2}
.meal-cena .meal-symbol{background:#d8ece9}
.meal-spuntini .meal-symbol{background:#f2e0e3}
.meal-row.over .meal-progress i{background:#e18b62}

.wellness-card{padding:14px}
.wellness-item{min-height:112px;padding:13px}
.wellness-icon .ico{width:22px;height:22px}
.wellness-bar{display:block;height:6px;margin-top:8px;border-radius:6px;background:rgba(13,16,22,.1);overflow:hidden}
.wellness-bar i{display:block;height:100%;border-radius:inherit}
.wellness-water{background:#eaf5f3}.wellness-water .wellness-icon{background:#cdeae5;color:#197567}.wellness-water .wellness-bar i{background:#4fcfbb}
.wellness-steps{background:#fff0e7}.wellness-steps .wellness-icon{background:#f7d9c8;color:#ac603b}.wellness-steps .wellness-bar i{background:#db8258}
.wellness-sleep{background:#f0eaf7}.wellness-sleep .wellness-icon{background:#ddd1ed;color:#705792}
.wellness-vegetables{background:#edf2ef}.wellness-vegetables .wellness-icon{background:#d9e7df;color:#527663}.wellness-vegetables .wellness-bar i{background:#6f9880}
.wellness-tip{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start;background:#f6ebe1}
.tip-icon{width:34px;height:34px;border-radius:11px;background:#fffdfa;color:#ac603b;display:grid;place-items:center}
.tip-icon .ico{width:19px;height:19px}

.settings-card.first,.wellness-title.first{margin-top:0}

/* L'altezza della schermata sfogliabile deve seguire quella del guscio,
   che sopra i 700px e' limitato: altrimenti i puntini finiscono sotto il
   bordo visibile e la pagina sembra priva di indicatori. */
@media(min-width:700px){
  .screen.paged.active{height:min(calc(100dvh - 48px),920px)}
}

/* La barra resta agganciata al fondo dello schermo anche quando la schermata
   scorre: prima era in fondo al guscio, quindi su Cerca e Piano spariva
   scorrendo. Fissa e centrata, larga quanto il guscio. */
.bottom-nav{position:fixed;left:50%;right:auto;transform:translateX(-50%);width:min(100%,500px)}

/* iPad e schermi grandi: niente finestra a forma di telefono, si usa tutta
   la pagina. Con questo spazio le sezioni ci stanno per intero, quindi lo
   sfogliamento a pagine si spegne e si torna a un unico scorrimento
   verticale; resta attivo sul telefono, dove serve davvero. */
@media(min-width:700px){
  .app-stage{padding:0}
  .app-shell{width:100%;max-width:none;min-height:100dvh;max-height:none;border-radius:0;box-shadow:none}
  .screen{padding-left:28px;padding-right:28px}
  .screen.paged.active{display:block;height:auto}
  .pager{display:block;overflow:visible;scroll-snap-type:none}
  .page{min-width:0;overflow:visible}
  .pager-dots{display:none}
  .section-title.first,.wellness-title.first{margin-top:25px}
  .settings-card.first{margin-top:22px}
  .page:first-child .first{margin-top:0}
  .bottom-nav{width:min(520px,calc(100% - 40px));bottom:16px;border-radius:26px;padding:9px 10px}
  .sheet-backdrop,.check-flow{border-radius:0}
}

/* Marchio. Prima il segno (45px) era piu' basso del blocco di testo (55px):
   galleggiava a meta' altezza accanto a una scritta piu' grande di lui, e la
   data — 15px in grassetto — pesava quanto il nome. Ora il segno e il testo
   hanno la stessa altezza e la data torna a fare da occhiello: piccola,
   leggera, sopra l'unica voce forte della testata. */
.brand{gap:14px;align-items:center}
.brand-logo{width:56px;height:56px;border-radius:18px;box-shadow:0 8px 20px rgba(13,16,22,.16)}
.brand-text{min-width:0}
.top-header .eyebrow{font-size:13px;font-weight:750;letter-spacing:.03em;line-height:1.3;color:#6b747b}
.top-header h1{font-size:36px;line-height:1;margin:5px 0 0;letter-spacing:-.01em}

/* Su schermo largo cresce tutto il resto: il marchio cresce con lui. */
@media(min-width:700px){
  .brand{gap:18px}
  .brand-logo{width:66px;height:66px;border-radius:21px}
  .top-header .eyebrow{font-size:14px}
  .top-header h1{font-size:42px}
}

/* L'avviso a schermo restava fuori dall'albero di accessibilita' finche' era
   display:none, e i lettori di schermo non lo annunciavano mai. */
.toast{opacity:0;visibility:hidden;transform:translateX(-50%) translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.toast.is-visible{opacity:1;visibility:visible;transform:translateX(-50%)}

/* Quando si supera l'obiettivo l'arco cambia colore: il numero da solo non
   basta a far capire che si e' andati oltre. */
.gauge.over .gauge-fill{stroke:#d87963}

/* La voce che l'app non misura ancora non deve sembrare una voce raggiunta. */
.wellness-item.waiting{opacity:.7}

.search-filters button.active{border-color:var(--ink);background:var(--ink);color:var(--aqua)}

/* Chi naviga da tastiera deve vedere dove si trova: quasi tutti i pulsanti
   qui hanno il bordo a zero e il contorno predefinito spariva. */
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* Chi ha chiesto al sistema meno animazioni non deve subire lo scorrimento
   morbido delle pagine ne' le transizioni. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .pager{scroll-behavior:auto}
}

/* Open Food Facts: foto, gruppi di risultati, scheda prodotto, lettore di codici */
.food-photo img{width:100%;height:100%;object-fit:contain;border-radius:8px;background:#fff}
.result-group{margin:18px 0 2px;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.search-status{padding:16px 0;color:var(--muted);font-size:14px;line-height:1.4}
.source-note a,.data-source a{color:inherit}
.sheet-photo{display:block;width:88px;height:88px}
.sheet-photo img{width:100%;height:100%;object-fit:contain;border-radius:14px;background:#f4f6f5}
.food-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.food-badges span{padding:6px 9px;border-radius:10px;background:#eef1ef;font-size:13px;font-weight:800}
.nutriscore.ns-a{background:#1e8f4e;color:#fff}.nutriscore.ns-b{background:#7ac547;color:#0d1016}.nutriscore.ns-c{background:#f5c623;color:#0d1016}.nutriscore.ns-d{background:#ee8b25;color:#0d1016}.nutriscore.ns-e{background:#e0412b;color:#fff}
.portion-picker button small{display:block;font-size:13px;color:var(--muted)}
.portion-custom{display:grid;grid-template-columns:auto 130px;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0;font-size:14px;font-weight:800;color:#4f575d}
.portion-custom input{width:100%;height:42px;border:1px solid #d8ddda;border-radius:12px;padding:0 34px 0 11px;font-size:16px}
.nutrition-more{font-size:14px;color:var(--muted);margin:-6px 0 12px}
.data-source{font-size:13px;color:var(--muted);line-height:1.45}
.scan-frame{position:relative;margin:18px 0 12px;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#0d1016}
.scan-frame video{width:100%;height:100%;object-fit:cover;display:block}
.scan-frame i{position:absolute;left:8%;right:8%;top:30%;bottom:30%;border:3px solid var(--aqua);border-radius:14px;box-shadow:0 0 0 999px rgba(13,16,22,.35)}
.scan-status{min-height:42px;margin:0 2px 8px;font-size:15px;line-height:1.4;text-align:center}
.scan-flow .check-primary{margin-bottom:10px}
.value-warning{margin:14px 0 0;padding:12px;border-radius:14px;background:#fff0d6;color:#5f4410;font-size:14px;line-height:1.45}
.food-photo{font-size:26px;line-height:1}
.add-own{width:100%;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;margin:12px 0 4px;padding:12px;border:1px dashed #b9c6c2;border-radius:18px;background:rgba(255,255,255,.6);text-align:left}
.add-own>.ico{width:40px;height:40px;padding:9px;border-radius:50%;background:var(--ink);color:var(--aqua)}
.add-own b,.add-own small{display:block}.add-own small{margin-top:2px;color:var(--muted);font-size:13px}
.scan-photo{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:10px;cursor:pointer}
.scan-photo .ico{width:22px;height:22px}
.scan-photo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.scan-secondary{width:100%;margin:0 0 10px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;font-weight:800}
.own-food{grid-template-columns:1fr 1fr;margin-top:14px}
.own-food .wide,.own-food .value-warning{grid-column:1/-1}
.own-food input{width:100%;height:44px;border:1px solid #d8ddda;border-radius:12px;padding:0 11px;font-size:16px;background:#fff}
.own-food .unit-input input{padding-right:46px}
.sheet-top small{font-size:13px;font-weight:900;letter-spacing:.07em;color:#28786d}
.qty-row{display:grid;grid-template-columns:96px 1fr;gap:8px;margin:0 0 9px}
.qty-row input,.qty-row select{height:48px;border:1px solid #d8ddda;border-radius:14px;background:#fff;color:var(--ink);padding:0 12px;font-size:17px;font-weight:800}
.qty-row input{text-align:center}
.value-note{margin:12px 0 0;padding:10px 12px;border-radius:14px;background:#e6f4f1;color:#1d5b52;font-size:14px;line-height:1.45}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Le finestre (scheda prodotto, fotocamera, controllo etichetta, documenti) si
   agganciano allo schermo, non al guscio dell'app: il guscio è lungo quanto il
   contenuto, e nella ricerca la scheda finiva in fondo, quasi fuori dalla vista. */
.sheet-backdrop,.check-flow,.doc-sheet{position:fixed;top:0;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:min(100%,500px)}
.food-sheet{max-height:92dvh;overscroll-behavior:contain}
@media(min-width:700px){.sheet-backdrop,.check-flow,.doc-sheet{width:100%}}
#confirm-add-food{position:sticky;bottom:calc(-1 * (24px + env(safe-area-inset-bottom)));margin-top:14px;box-shadow:0 -12px 18px 4px #fff,0 44px 0 28px #fff}

/* ─────────────────────────────────────────────────────────────────────────
   Stile pulito (come JustMeteo): i contenuti stanno direttamente sullo
   sfondo colorato del prototipo, separati da linee sottili. Restano pieni
   solo i comandi: Rootyle Check, i +, i pulsanti principali, la barra in
   basso, il campo di ricerca e le finestre (scheda prodotto, fotocamera).
   ───────────────────────────────────────────────────────────────────────── */
.app-stage{background:#e8f7f4}
.app-shell{background:radial-gradient(circle at 105% -5%,#f2c8b3 0,transparent 25%),linear-gradient(160deg,#e8f7f4 0%,#f1ebf4 28%,#faf7f1 56%,#e8f1f0 100%);box-shadow:none}
.check-card{box-shadow:none}

.balance-card,.meal-list,.recent-log,.wellness-card,.settings-card,.plan-meal,.empty-state,.target-summary{background:transparent;border:0;box-shadow:none;border-radius:0}
.balance-card,.wellness-card,.settings-card,.recent-log{padding-left:0;padding-right:0}
.balance-card{padding-top:4px}
.card-heading b{background:rgba(79,207,187,.16)}

/* macronutrienti e valori nutrizionali: niente scatole, solo testo e barra */
.macro-grid>div,.nutrition-grid>div{background:transparent;border:0;padding:0}
.macro-grid{gap:16px}

/* pasti: righe separate da una linea, l'emoji resta nel suo cerchio colorato */
.meal-row{padding:14px 0;border-bottom:1px solid var(--line)}
.meal-row:last-child{border-bottom:0}

/* registrati oggi, risultati di ricerca: righe con linea sottile */
.food-result{background:transparent;border-radius:0;padding:13px 0;border-bottom:1px solid var(--line);box-shadow:none}
.food-results{gap:0}
.food-photo{background:rgba(255,255,255,.55);border-radius:14px}
.log-row{border-top:1px solid var(--line)}

/* oltre il piatto: niente riquadri colorati, restano le icone e le barre colorate */
.wellness-grid{gap:0 18px}
.wellness-item{background:transparent;padding:14px 0;min-height:0;border-radius:0;border-bottom:1px solid var(--line)}
.wellness-water,.wellness-steps,.wellness-sleep,.wellness-vegetables{background:transparent}
.wellness-tip{background:transparent;padding:14px 0 0;border-radius:0}
.tip-icon{background:rgba(255,255,255,.6)}

/* obiettivi e piano */
.target-summary{color:var(--ink);padding:4px 0 14px;border-bottom:1px solid var(--line)}
.target-summary small{color:var(--muted)}
.target-summary>span{color:#28786d}
.target-summary p{color:#4f575d;border-top:0;padding-top:0}
.settings-card{margin-top:18px;padding-top:0;padding-bottom:18px;border-bottom:1px solid var(--line)}
.plan-meal{padding:15px 0 15px 18px;border-bottom:1px solid var(--line)}
.plan-meal:before{border-radius:3px;top:14px;bottom:14px}
.mode-switch{background:rgba(255,255,255,.45)}
.preference-grid button,.pace-options button{background:rgba(255,255,255,.5)}

/* inserimento: i quattro modi sono comandi, ma leggeri */
.entry-modes button{background:rgba(255,255,255,.45);border-color:transparent}
.search-filters button{background:rgba(255,255,255,.45);border-color:transparent}
.empty-state{padding:30px 0}
.add-own{background:transparent}
.food-rating{margin:4px 0 14px}
.food-rating h3{margin:0 0 8px;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.food-rating h3 small{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}
.food-rating div{display:flex;flex-wrap:wrap;gap:7px}
.food-rating span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-size:14px;font-weight:750}
.food-rating .ico{width:16px;height:16px;stroke-width:2.5}
.rating-buono{background:#e3f5ec;color:#1e6b45}
.rating-attenzione{background:#fdeedd;color:#8a4a12}
.update-banner{position:fixed;z-index:95;left:50%;transform:translateX(-50%);top:calc(10px + env(safe-area-inset-top));width:min(calc(100% - 24px),476px);display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:16px;background:rgba(13,16,22,.92);color:#fff;font-size:14px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.update-banner[hidden]{display:none}
.update-banner span{flex:1}
.update-banner button{border:0;border-radius:11px;padding:8px 12px;font-weight:850}
#update-now{background:var(--aqua);color:var(--ink)}
#update-later{background:transparent;color:#aab0b5;font-size:20px;padding:4px 8px}

/* Barra in basso più bassa: icona 22px in una pillola da 30, scritta 12px.
   Circa 58px più la fascia di sicurezza dell'iPhone, invece di quasi 90. */
.bottom-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
.bottom-nav button{padding:3px;font-size:13px}
.bottom-nav span{width:48px;height:30px;padding:0;border-radius:11px}
.bottom-nav span .ico{width:22px;height:22px}
.bottom-nav b{margin-top:2px}
.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
@media(min-width:700px){.bottom-nav{padding:6px 8px}}

/* Niente più pagine da sfogliare di lato: Oggi e Obiettivi scorrono in verticale
   in un'unica schermata, e dalla fine di una sezione si passa alla successiva. */
.screen.paged.active{display:block;height:auto;padding-bottom:28px}
.pager{display:block;overflow:visible;scroll-snap-type:none}
.page{min-width:0;overflow:visible;padding-bottom:0}
.pager-dots{display:none}
.section-title.first,.wellness-title.first{margin-top:30px}
.settings-card.first{margin-top:18px}
.page:first-child .first{margin-top:0}

/* Rootyle Check meno pesante: una riga chiara, non più un blocco scuro */
.check-card{grid-template-columns:40px 1fr 24px;gap:12px;margin-top:18px;padding:11px 14px;border:1px solid rgba(79,207,187,.45);border-radius:18px;background:rgba(255,255,255,.55);color:var(--ink)}
.check-icon{width:40px;height:40px;border-radius:12px;background:#d8f2ec;color:#197567}
.check-icon .ico{width:22px;height:22px}
.check-card small{font-size:13px;letter-spacing:.04em;color:#28786d}
.check-card b{font-size:15px}
.check-card>strong{color:#197567}
.check-card>strong .ico{width:22px;height:22px}

/* Passaggio tra le schermate con lo swipe: la nuova entra dal lato del gesto */
@keyframes entraDaDestra{from{opacity:.4;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes entraDaSinistra{from{opacity:.4;transform:translateX(-36px)}to{opacity:1;transform:none}}
.screen.entra-destra{animation:entraDaDestra .22s ease-out}
.screen.entra-sinistra{animation:entraDaSinistra .22s ease-out}

/* ─────────────────────────────────────────────────────────────────────────
   Testa e fondo come JustMeteo.
   Testa: una barra sottile, uguale in tutte le schermate, col marchio piccolo
   a sinistra e il menu a destra senza riquadro; sotto, il titolo della schermata.
   Fondo: nessun blocco scuro, la barra nasce dallo sfondo con una sfumatura e
   la voce attiva è segnata dal colore e da un filo di luce sopra l'icona.
   ───────────────────────────────────────────────────────────────────────── */
html,body{background:#e8f7f4}
.appbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 20px 0}
.appbar-brand{display:flex;align-items:center;gap:9px}
.appbar-brand img{width:30px;height:30px;border-radius:9px}
.appbar-brand b{font-size:17px;font-weight:850;letter-spacing:-.01em}
.appbar-btn{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:var(--ink)}
.appbar-btn .ico{width:24px;height:24px}
.appbar-btn[aria-expanded="true"]{background:rgba(13,16,22,.08)}
.menu-panel{top:calc(56px + env(safe-area-inset-top))}
.screen{padding-top:6px}
.app-header{margin:6px 0 16px}
.app-header p{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#28786d}
.app-header h1{font-size:30px;margin-top:4px}

.bottom-nav{background:linear-gradient(to top,rgba(250,247,241,.96) 45%,rgba(250,247,241,.7) 78%,rgba(250,247,241,0) 100%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  -webkit-mask-image:linear-gradient(to top,#000 78%,rgba(0,0,0,.6) 92%,transparent 100%);mask-image:linear-gradient(to top,#000 78%,rgba(0,0,0,.6) 92%,transparent 100%);
  padding:12px 6px calc(6px + env(safe-area-inset-bottom))}
.bottom-nav button{position:relative;color:#6b747b;font-size:13px;font-weight:750}
.bottom-nav span{width:auto;height:28px;background:transparent!important}
.bottom-nav button.active{color:#197567}
.bottom-nav button.active span{color:#197567}
.bottom-nav button.active .ico{filter:drop-shadow(0 3px 8px rgba(79,207,187,.55))}
.bottom-nav button.active:before{content:"";position:absolute;top:-4px;left:50%;width:26px;height:2px;margin-left:-13px;border-radius:2px;background:var(--aqua);box-shadow:0 0 12px var(--aqua)}
@media(min-width:700px){.bottom-nav{border-radius:22px}}
.toast{bottom:calc(84px + env(safe-area-inset-bottom))}

/* Nome del programma piccolo come in JustMeteo; il calendario accanto al menu */
.appbar-brand img{width:24px;height:24px;border-radius:7px}
.appbar-brand b{font-size:15px;font-weight:850}
.appbar-actions{display:flex;align-items:center;gap:2px}
.appbar-btn .ico{width:23px;height:23px}
.appbar-btn[aria-expanded="true"]{background:rgba(13,16,22,.08)}

/* Il giorno mostrato su Oggi, con le frecce */
.day-header{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.day-arrows{display:flex;gap:6px;margin-bottom:2px}
.day-arrows button{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55);font-size:22px;line-height:1;color:var(--ink)}
.day-arrows button:disabled{opacity:.3}
.day-today{margin:-8px 0 14px;border:0;border-radius:999px;background:rgba(79,207,187,.18);color:#197567;padding:7px 13px;font-size:14px;font-weight:800}
.day-today[hidden]{display:none}

/* Calendario */
.calendar-panel{padding:12px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cal-head b{font-size:16px}
.cal-head button{width:36px;height:36px;border:0;border-radius:10px;background:#eef4f2;font-size:20px}
.cal-head button:disabled{opacity:.3}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cal-week span{font-size:13px;font-weight:800;color:var(--muted);padding:4px 0}
.cal-grid button{position:relative;height:38px;border:0;border-radius:11px;background:transparent;font-size:15px;font-weight:700;color:var(--ink)}
.cal-grid button:disabled{color:#b8bfc3}
.cal-grid button.oggi{color:#197567;font-weight:900}
.cal-grid button.scelto{background:var(--ink);color:var(--aqua)}
.cal-grid button.con-voci:after{content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--aqua)}
.cal-note{margin:10px 2px 4px;font-size:13px;color:var(--muted);line-height:1.4}
.cal-today{width:100%;margin-top:6px;border:0;border-radius:12px;background:var(--ink);color:var(--aqua);padding:11px;font-weight:850}
.day-header h1{font-size:25px;line-height:1.1}

/* Inserimento: tre modi (Etichetta, Barcode più largo, Voce); la ricerca è il campo sotto */
.entry-modes{grid-template-columns:1fr 1.6fr 1fr}
/* Tutti, Frequenti, Recenti: al centro, quello attivo in turchese */
.search-filters{justify-content:center}
.search-filters button.active{border-color:transparent;background:var(--aqua);color:var(--ink)}

/* Barra in alto fissa mentre si scorre, con una sfumatura che la stacca dal contenuto;
   icone più grandi. Menu e calendario si aprono sempre sotto di lei. */
.appbar{position:fixed;z-index:45;top:0;left:50%;transform:translateX(-50%);width:min(100%,500px);
  padding:calc(8px + env(safe-area-inset-top)) 16px 10px 20px;
  background:linear-gradient(to bottom,rgba(240,246,244,.96) 55%,rgba(240,246,244,.75) 80%,rgba(240,246,244,0));
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  -webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent);mask-image:linear-gradient(to bottom,#000 80%,transparent)}
.app-shell{padding-top:calc(62px + env(safe-area-inset-top))}
.appbar-btn{width:48px;height:48px}
.appbar-btn .ico{width:28px;height:28px}
.appbar-brand img{width:26px;height:26px}
.menu-panel,.calendar-panel{position:fixed;top:calc(64px + env(safe-area-inset-top));right:max(14px,calc((100vw - 500px) / 2 + 14px))}
@media(min-width:700px){.appbar{width:100%}.menu-panel,.calendar-panel{right:20px}}

/* ─────────────────────────────────────────────────────────────────────────
   Menu: scelta del tema
   ───────────────────────────────────────────────────────────────────────── */
.tema-scelta{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:2px 8px 4px;padding:4px;border-radius:13px;background:rgba(13,16,22,.06)}
.tema-scelta button{border:0;border-radius:10px;background:transparent;padding:9px 4px;font-size:14px;font-weight:750;color:var(--ink)}
.tema-scelta button[aria-checked="true"]{background:var(--aqua);color:#0d1016}
.menu-nota{margin:4px 12px 6px;font-size:13px;color:var(--muted);line-height:1.35}

/* ─────────────────────────────────────────────────────────────────────────
   Tema scuro. Si attiva con data-scuro="si" sulla radice (lo decide tema.js:
   scelta dell'utente, oppure il telefono se è su Automatico). Stessa app, stessi
   colori che portano significato; cambiano sfondi, testi, linee e superfici.
   ───────────────────────────────────────────────────────────────────────── */
html[data-scuro="si"]{--ink:#eef4fb;--muted:#a7bacb;--line:rgba(255,255,255,.1);--paper:#13202e;--sup:rgba(255,255,255,.08);--sup-2:rgba(255,255,255,.12);--campo:rgba(255,255,255,.07)}
html[data-scuro="si"],html[data-scuro="si"] body,html[data-scuro="si"] .app-stage{background:#0b1520}
html[data-scuro="si"] .app-shell{background:radial-gradient(circle at -5% -5%,rgba(79,207,187,.26) 0,transparent 36%),radial-gradient(circle at 105% -5%,rgba(242,170,140,.2) 0,transparent 30%),radial-gradient(circle at 50% 110%,rgba(110,120,230,.14) 0,transparent 45%),linear-gradient(170deg,#0d1c26 0%,#0e1a28 45%,#0a1520 100%);color:var(--ink)}
html[data-scuro="si"] .appbar{background:linear-gradient(to bottom,rgba(12,26,36,.94) 55%,rgba(12,26,36,.7) 80%,rgba(12,26,36,0))}
html[data-scuro="si"] .bottom-nav{background:linear-gradient(to top,rgba(10,21,32,.96) 45%,rgba(10,21,32,.7) 78%,rgba(10,21,32,0) 100%)}
html[data-scuro="si"] .bottom-nav button{color:#93a7b8}
html[data-scuro="si"] .bottom-nav button.active,html[data-scuro="si"] .bottom-nav button.active span{color:var(--aqua)}
html[data-scuro="si"] .appbar-btn,html[data-scuro="si"] .icon-btn{color:var(--ink)}
html[data-scuro="si"] .appbar-btn[aria-expanded="true"]{background:rgba(255,255,255,.1)}
html[data-scuro="si"] .app-header p,html[data-scuro="si"] .check-card small,html[data-scuro="si"] .sheet-top small,html[data-scuro="si"] .target-summary>span,html[data-scuro="si"] .check-header small{color:#6fd9c6}

/* testi */
html[data-scuro="si"] .balance-message,html[data-scuro="si"] .macro-grid span,html[data-scuro="si"] .source-note,html[data-scuro="si"] .settings-form label>span,html[data-scuro="si"] .target-inputs label>span,html[data-scuro="si"] .target-summary p,html[data-scuro="si"] .doc-sheet p,html[data-scuro="si"] .doc-sheet li,html[data-scuro="si"] .food-main small{color:var(--muted)}
html[data-scuro="si"] .energy-stats b,html[data-scuro="si"] .card-heading{color:var(--ink)}

/* barre e tracce */
html[data-scuro="si"] .bar,html[data-scuro="si"] .meal-progress,html[data-scuro="si"] .wellness-bar{background:rgba(255,255,255,.1)}
html[data-scuro="si"] .gauge-track{stroke:rgba(255,255,255,.12)}
html[data-scuro="si"] .card-heading b{background:rgba(79,207,187,.16)}

/* superfici: comandi, campi, chip, finestre */
html[data-scuro="si"] .entry-modes button,html[data-scuro="si"] .search-filters button,html[data-scuro="si"] .section-title button,html[data-scuro="si"] .day-arrows button,html[data-scuro="si"] .preference-grid button,html[data-scuro="si"] .pace-options button,html[data-scuro="si"] .mode-switch,html[data-scuro="si"] .restore-auto,html[data-scuro="si"] .scan-secondary,html[data-scuro="si"] .sample-block button,html[data-scuro="si"] .cal-head button,html[data-scuro="si"] .doc-top button,html[data-scuro="si"] .sheet-top button,html[data-scuro="si"] .check-header button,html[data-scuro="si"] .portion-picker button,html[data-scuro="si"] .food-badges span{background:var(--sup);color:var(--ink);border-color:var(--line)}
html[data-scuro="si"] .entry-modes button.active,html[data-scuro="si"] .search-filters button.active,html[data-scuro="si"] .portion-picker button.active,html[data-scuro="si"] .pace-options button.active,html[data-scuro="si"] .mode-switch button.active{background:var(--aqua);color:#0d1016}
html[data-scuro="si"] .preference-grid button.active{background:rgba(79,207,187,.2);border-color:var(--aqua)}
html[data-scuro="si"] .food-search,html[data-scuro="si"] .qty-row input,html[data-scuro="si"] .qty-row select,html[data-scuro="si"] .own-food input,html[data-scuro="si"] .settings-form select,html[data-scuro="si"] .settings-form input,html[data-scuro="si"] .target-inputs input,html[data-scuro="si"] .portion-custom input,html[data-scuro="si"] .label-editor textarea{background:var(--campo);color:var(--ink);border-color:var(--line)}
html[data-scuro="si"] .food-search input{color:var(--ink)}
html[data-scuro="si"] .target-inputs input:disabled{background:var(--sup);color:var(--muted)}
html[data-scuro="si"] .food-search button,html[data-scuro="si"] .quick-add,html[data-scuro="si"] .add-food,html[data-scuro="si"] .check-primary,html[data-scuro="si"] .save-settings,html[data-scuro="si"] .cal-today{background:var(--aqua);color:#0d1016}
html[data-scuro="si"] .result-add{background:transparent;border-color:var(--ink);color:var(--ink)}
html[data-scuro="si"] .food-photo,html[data-scuro="si"] .sheet-photo img{background:var(--sup)}
html[data-scuro="si"] .menu-panel,html[data-scuro="si"] .food-sheet,html[data-scuro="si"] .doc-inner{background:var(--paper);color:var(--ink)}
html[data-scuro="si"] #confirm-add-food{box-shadow:0 -12px 18px 4px var(--paper),0 44px 0 28px var(--paper)}
html[data-scuro="si"] .menu-row{color:var(--ink)}
html[data-scuro="si"] .menu-row:hover,html[data-scuro="si"] .menu-row:focus-visible{background:var(--sup)}
html[data-scuro="si"] .tema-scelta{background:rgba(255,255,255,.07)}
html[data-scuro="si"] .tema-scelta button{color:var(--ink)}
html[data-scuro="si"] .tema-scelta button[aria-checked="true"]{color:#0d1016}
html[data-scuro="si"] .check-flow{background:linear-gradient(170deg,#0d1c26,#0e1a28 55%,#0a1520)}
html[data-scuro="si"] .verdict-list,html[data-scuro="si"] .complete-check{background:var(--sup)}
html[data-scuro="si"] .doc-sheet code{background:var(--sup)}
html[data-scuro="si"] .cal-grid button{color:var(--ink)}
html[data-scuro="si"] .cal-grid button:disabled{color:#4f6273}
html[data-scuro="si"] .cal-grid button.scelto{background:var(--aqua);color:#0d1016}

/* Rootyle Check, pasti e benessere: restano i loro colori, più spenti */
html[data-scuro="si"] .check-card{background:rgba(79,207,187,.08);border-color:rgba(79,207,187,.35);color:var(--ink)}
html[data-scuro="si"] .check-icon,html[data-scuro="si"] .wellness-water .wellness-icon{background:rgba(79,207,187,.18);color:#6fd9c6}
html[data-scuro="si"] .check-card>strong{color:#6fd9c6}
html[data-scuro="si"] .meal-colazione .meal-symbol{background:rgba(232,224,241,.14)}
html[data-scuro="si"] .meal-pranzo .meal-symbol{background:rgba(245,223,210,.14)}
html[data-scuro="si"] .meal-cena .meal-symbol{background:rgba(216,236,233,.14)}
html[data-scuro="si"] .meal-spuntini .meal-symbol{background:rgba(242,224,227,.14)}
html[data-scuro="si"] .wellness-steps .wellness-icon{background:rgba(219,130,88,.2);color:#f0a37c}
html[data-scuro="si"] .wellness-sleep .wellness-icon{background:rgba(145,118,184,.22);color:#c3abe6}
html[data-scuro="si"] .wellness-vegetables .wellness-icon{background:rgba(111,152,128,.22);color:#9fceb1}
html[data-scuro="si"] .tip-icon{background:var(--sup)}
html[data-scuro="si"] .wellness-title>span,html[data-scuro="si"] .day-today{background:rgba(79,207,187,.16);color:#6fd9c6}

/* avvisi e valutazioni */
html[data-scuro="si"] .value-warning,html[data-scuro="si"] .rating-attenzione{background:rgba(238,139,37,.16);color:#f3be84}
html[data-scuro="si"] .value-note,html[data-scuro="si"] .rating-buono{background:rgba(79,207,187,.14);color:#8fe3d3}
html[data-scuro="si"] .disclaimer{background:rgba(238,139,37,.14);color:#f3be84}
html[data-scuro="si"] .verdict.safe{background:rgba(79,207,187,.16)}
html[data-scuro="si"] .verdict.unsafe{background:rgba(216,121,99,.2)}
html[data-scuro="si"] .verdict.unknown{background:rgba(228,170,51,.18)}
html[data-scuro="si"] .offline-banner{background:#4a3d12;color:#ffe6a3}
html[data-scuro="si"] .add-own{border-color:var(--line)}
html[data-scuro="si"] .add-own>.ico{background:var(--aqua);color:#0d1016}

/* Tema scuro: le superfici sono vetro chiaro sul blu notte, con un bordo sottile */
html[data-scuro="si"] .entry-modes button,html[data-scuro="si"] .search-filters button,html[data-scuro="si"] .day-arrows button,html[data-scuro="si"] .section-title button{border:1px solid rgba(255,255,255,.08)}
html[data-scuro="si"] .food-search{border:1px solid rgba(255,255,255,.1)}
html[data-scuro="si"] .menu-panel,html[data-scuro="si"] .food-sheet{border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px rgba(0,0,0,.45)}
html[data-scuro="si"] .gauge-fill{filter:drop-shadow(0 0 8px rgba(79,207,187,.45))}
html[data-scuro="si"] .bottom-nav button.active .ico{filter:drop-shadow(0 3px 10px rgba(79,207,187,.7))}
/* Tema scuro: dove lo sfondo era il colore del testo (scuro), ora sarebbe chiaro su chiaro */
html[data-scuro="si"] .toast{background:#e9f1f8;color:#0b1520}
html[data-scuro="si"] .check-intro .big-icon,html[data-scuro="si"] .verdict-symbol{background:var(--aqua);color:#0b1520}
html[data-scuro="si"] .pager-dots button[aria-current="true"]{background:var(--aqua)}
html[data-scuro="si"] .mode-switch button.active{color:#0b1520}
html[data-scuro="si"] .scan-frame{background:#05090e}

/* ─────────────────────────────────────────────────────────────────────────
   Fibre tra i valori del giorno; consiglio del giorno; registro alimentare
   ───────────────────────────────────────────────────────────────────────── */
.macro-grid{grid-template-columns:repeat(4,1fr);gap:10px}
.macro-grid b{font-size:14px}

.daily-tip{margin-top:16px;padding:14px 15px;border-radius:18px;border:1px solid rgba(79,207,187,.45);background:rgba(255,255,255,.55)}
.daily-tip[hidden]{display:none}
.tip-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.tip-head b{font-size:16px}
.tip-head small{margin-left:auto;font-size:13px;font-weight:800;color:#28786d;text-transform:uppercase;letter-spacing:.05em}
.tip-leaf{width:28px;height:28px;border-radius:9px;background:#d8f2ec;color:#197567;display:grid;place-items:center}
.tip-leaf .ico{width:17px;height:17px}
.daily-tip p{margin:0;font-size:15px;line-height:1.45;color:#3d4449}

.recent-log .log-row{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;padding:12px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:inherit}
.log-foto{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.6);display:grid;place-items:center;font-size:24px;overflow:hidden}
.log-foto img{width:100%;height:100%;object-fit:cover}
.log-testo{display:grid;gap:3px;min-width:0}
.log-testo b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-testo small{font-size:13px;color:var(--muted)}
.log-chip{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
.nchip{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.nchip i{font-style:normal;display:grid;place-items:center;min-width:22px;height:22px;padding:0 4px;border-radius:11px;font-size:13px;font-weight:900;color:#fff}
.nchip.c i{background:#5c79e7}.nchip.p i{background:#e45b92}.nchip.g i{background:#a66cd4}.nchip.f i{background:#6f9880}
.recent-log .log-row strong{text-align:right;font-size:17px}
.recent-log .log-row strong small{display:block;font-size:13px;color:var(--muted);font-weight:700}

.meal-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px;font-size:14px;font-weight:800;color:#4f575d}
.meal-pick select{height:44px;min-width:150px;border:1px solid #d8ddda;border-radius:12px;background:#fff;color:var(--ink);padding:0 10px;font-size:16px;font-weight:750}
.delete-entry{width:100%;margin:12px 0 0;border:0;background:transparent;color:#b0453a;font-size:15px;font-weight:800;padding:10px}

html[data-scuro="si"] .daily-tip{background:rgba(79,207,187,.08);border-color:rgba(79,207,187,.35)}
html[data-scuro="si"] .daily-tip p{color:var(--muted)}
html[data-scuro="si"] .tip-leaf{background:rgba(79,207,187,.18);color:#6fd9c6}
html[data-scuro="si"] .tip-head small{color:#6fd9c6}
html[data-scuro="si"] .log-foto{background:var(--sup)}
html[data-scuro="si"] .meal-pick{color:var(--muted)}
html[data-scuro="si"] .meal-pick select{background:var(--campo);color:var(--ink);border-color:var(--line)}
html[data-scuro="si"] .delete-entry{color:#f08a7c}
/* La vecchia regola .log-row span{display:grid} impilava e stirava le etichette */
.recent-log .log-row .log-chip{display:flex;flex-wrap:wrap;gap:5px 9px}
.recent-log .log-row .nchip{display:inline-flex;gap:4px}
.recent-log .log-row .log-foto{display:grid}

/* ─────────────────────────────────────────────────────────────────────────
   Punteggio del pasto, anelli delle calorie, progressi
   ───────────────────────────────────────────────────────────────────────── */
.score-row{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.score{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-size:22px;font-weight:900;line-height:1;color:#fff}
.score small{font-size:13px;font-weight:700;opacity:.85;margin-top:-3px}
.score-alto{background:#2e9e62}.score-medio{background:#d99a2b}.score-basso{background:#d0604f}
.score-row p{margin:0;font-size:15px;line-height:1.4}
.anelli{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 16px;text-align:center}
.anello{position:relative;display:grid;justify-items:center;gap:2px}
.anello svg{width:66px;height:66px}
.anello circle{fill:none;stroke-width:6;stroke-linecap:round}
.anello-traccia{stroke:rgba(13,16,22,.1)}
.anello b{position:absolute;top:22px;font-size:14px}
.anello span{font-size:13px;color:var(--muted)}
.anello small{font-size:13px;font-weight:800}

.progress-card .settings-title{margin-bottom:10px}
.peso-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}
.peso-form label{display:grid;gap:6px;font-size:14px;font-weight:800;color:#4f575d}
.peso-form input{width:100%;height:46px;border:1px solid #d8ddda;border-radius:13px;background:#fff;padding:0 40px 0 12px;font-size:17px;font-weight:750;color:var(--ink)}
.peso-form button{height:46px;border:0;border-radius:13px;background:var(--aqua);color:#0d1016;padding:0 16px;font-size:15px;font-weight:850}
.peso-ultimo{margin:10px 0 6px;font-size:14px;color:var(--muted)}
.progress-vuoto{margin:10px 0;font-size:14px;color:var(--muted);line-height:1.45}
.peso-grafico{width:100%;height:auto;margin-top:6px}
.peso-grafico polyline{fill:none;stroke:var(--aqua);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.peso-grafico circle{fill:#197567}
.peso-assi{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted)}
.settimana{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:16px}
.settimana div{display:grid;gap:2px}
.settimana b{font-size:20px;font-variant-numeric:tabular-nums}
.settimana span{font-size:13px;color:var(--muted);line-height:1.3}

html[data-scuro="si"] .anello-traccia{stroke:rgba(255,255,255,.12)}
html[data-scuro="si"] .peso-form label{color:var(--muted)}
html[data-scuro="si"] .peso-form input{background:var(--campo);color:var(--ink);border-color:var(--line)}
html[data-scuro="si"] .peso-grafico circle{fill:#6fd9c6}
.food-rating .score-row{flex-wrap:nowrap}
.food-rating .score-row p{flex:1}

/* Pasti ricorrenti */
.salva-pasto{display:grid;gap:4px;margin:4px 0 14px;padding:13px 14px;border-radius:16px;border:1px dashed rgba(79,207,187,.7);background:rgba(255,255,255,.5)}
.salva-pasto b{font-size:15px}
.salva-pasto small{font-size:13px;color:var(--muted);line-height:1.35}
.salva-pasto span{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:6px}
.salva-pasto input{height:42px;border:1px solid #d8ddda;border-radius:12px;padding:0 11px;font-size:16px;background:#fff;color:var(--ink)}
.salva-pasto button{border:0;border-radius:12px;background:var(--aqua);color:#0d1016;padding:0 16px;font-weight:850}
.pasto-salvato .food-main span{white-space:normal}
.link-piccolo{border:0;background:transparent;padding:0;color:#b0453a;font-size:13px;font-weight:800}
.search-filters{flex-wrap:wrap}
html[data-scuro="si"] .salva-pasto{background:rgba(79,207,187,.07)}
html[data-scuro="si"] .salva-pasto input{background:var(--campo);color:var(--ink);border-color:var(--line)}
html[data-scuro="si"] .link-piccolo{color:#f08a7c}

/* La data su una riga: prima a 25 px "Mercoledì 30 settembre" andava a capo */
.day-header h1{font-size:21px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-header>div:first-child{min-width:0}

/* Giorno passato senza registrazioni: i valori si spengono */
.giorno-vuoto .gauge,.giorno-vuoto .energy-stats,.giorno-vuoto .macro-grid{opacity:.45}
.giorno-vuoto .gauge strong{font-size:38px}

/* ─────────────────────────────────────────────────────────────────────────
   Sfondo più caldo e accogliente.
   Chiaro: menta in alto a sinistra, pesca e rosa in alto a destra, crema calda
   al centro, un velo di lavanda in fondo.
   Scuro: verde petrolio profondo che scalda verso prugna e ambra, con il
   bagliore turchese e quello pesca più ampi; niente più blu-grigio freddo.
   ───────────────────────────────────────────────────────────────────────── */
.app-stage{background:#f3efe8}
.app-shell{background:
  radial-gradient(ellipse 80% 45% at 0% 0%,rgba(79,207,187,.45) 0,transparent 70%),
  radial-gradient(ellipse 75% 40% at 100% 0%,rgba(250,165,125,.50) 0,transparent 70%),
  radial-gradient(ellipse 60% 35% at 100% 55%,rgba(245,160,180,.22) 0,transparent 70%),
  radial-gradient(ellipse 80% 40% at 0% 100%,rgba(178,160,232,.26) 0,transparent 70%),
  linear-gradient(170deg,#eaf8f3 0%,#fdf1e8 40%,#fcf5ee 70%,#f1ecf8 100%)}
.appbar{background:linear-gradient(to bottom,rgba(241,247,242,.95) 55%,rgba(241,247,242,.7) 80%,rgba(241,247,242,0))}
.bottom-nav{background:linear-gradient(to top,rgba(248,243,240,.97) 45%,rgba(248,243,240,.7) 78%,rgba(248,243,240,0) 100%)}

html[data-scuro="si"],html[data-scuro="si"] body,html[data-scuro="si"] .app-stage{background:#0f1c1d}
html[data-scuro="si"] .app-shell{background:
  radial-gradient(ellipse 80% 45% at 0% 0%,rgba(79,207,187,.42) 0,transparent 70%),
  radial-gradient(ellipse 75% 40% at 100% 0%,rgba(250,150,105,.42) 0,transparent 70%),
  radial-gradient(ellipse 60% 35% at 100% 60%,rgba(220,110,160,.20) 0,transparent 70%),
  radial-gradient(ellipse 80% 40% at 0% 100%,rgba(240,175,85,.24) 0,transparent 70%),
  linear-gradient(170deg,#0f3431 0%,#16263a 40%,#2a1d36 72%,#33211f 100%)}
html[data-scuro="si"] .appbar{background:linear-gradient(to bottom,rgba(16,40,39,.94) 55%,rgba(16,40,39,.7) 80%,rgba(16,40,39,0))}
html[data-scuro="si"] .bottom-nav{background:linear-gradient(to top,rgba(34,26,32,.96) 45%,rgba(34,26,32,.7) 78%,rgba(34,26,32,0) 100%)}
html[data-scuro="si"] .menu-panel,html[data-scuro="si"] .food-sheet,html[data-scuro="si"] .doc-inner{background:#1a2427}
html[data-scuro="si"] #confirm-add-food{box-shadow:0 -12px 18px 4px #1a2427,0 44px 0 28px #1a2427}

/* Rootyle Check in evidenza: il comando principale dell'app dopo il diario.
   Un riquadro turchese pieno, con icona e fotocamera su dischi chiari. */
.check-card{grid-template-columns:54px 1fr 46px;gap:13px;margin-top:20px;padding:16px;border:0;border-radius:22px;
  background:linear-gradient(135deg,#3fc6b0 0%,#5fd6c2 55%,#8fe3d0 100%);color:#0b2a26;
  box-shadow:0 12px 28px rgba(31,140,122,.28)}
.check-card .check-icon{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.85);color:#197567}
.check-card .check-icon .ico{width:28px;height:28px}
.check-card>span:nth-child(2){gap:3px}
.check-card small{font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#0f4f46}
.check-card b{font-size:17px;line-height:1.25}
.check-card em{display:block;font-style:normal;font-size:14px;line-height:1.35;color:#16463f}
.check-card>strong{width:46px;height:46px;border-radius:50%;background:#0d1016;color:var(--aqua)}
.check-card>strong .ico{width:22px;height:22px}
html[data-scuro="si"] .check-card{background:linear-gradient(135deg,#2bb39d 0%,#3fc6b0 55%,#66d4c1 100%);color:#062320;border:0;box-shadow:0 12px 30px rgba(43,179,157,.25)}
html[data-scuro="si"] .check-card small{color:#0a3d36}
html[data-scuro="si"] .check-card em{color:#0b3832}
html[data-scuro="si"] .check-card .check-icon{background:rgba(255,255,255,.85);color:#197567}
html[data-scuro="si"] .check-card>strong{background:#0d1016;color:var(--aqua)}
