:root{color:#18352a;background:#f4f8f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;margin:0;background:radial-gradient(circle at 100% 0,rgb(204 234 211 / 65%),transparent 31rem),#f4f8f3}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgb(36 140 92 / 34%);outline-offset:2px}.app-shell{width:min(100% - 28px,760px);min-height:100dvh;margin:auto;padding:22px 0 48px}.auth-shell{display:grid;align-content:center;max-width:440px;padding-bottom:12vh}.app-header{margin-bottom:22px;padding:2px 2px 0}.brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.eyebrow{margin:0 0 5px;color:#23784f;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(1.65rem,5vw,2.15rem);line-height:1.12;letter-spacing:-.035em}h2{margin-bottom:0;font-size:1.05rem;line-height:1.25;letter-spacing:-.015em}.muted,.result span,.entry span,.queue-entry>span{color:#61736a;font-size:.88rem;line-height:1.45}.link-button{padding:0;border:0;background:transparent;color:#23784f;font-weight:700;text-decoration:underline;text-underline-offset:2px}.sync-status{flex:0 0 auto;margin:0;padding:6px 9px;border-radius:999px;background:#e5f5e9;color:#23784f;font-size:.72rem;font-weight:750;line-height:1.2;white-space:nowrap}.sync-status.offline,.sync-status.attention{background:#fff0e9;color:#a14327}.sync-status.pending{background:#fff5d9;color:#86620e}nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}nav::-webkit-scrollbar{display:none}nav button{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#65766d;font-size:.84rem;font-weight:700}nav button:hover{background:#deefe1ad;color:#1b603f}nav .active{border-color:#c6dfcd;background:#e5f5e9;color:#176740}button:not(.link-button){min-height:42px;border:1px solid #20794d;border-radius:11px;background:#20794d;color:#fff;font-weight:750;transition:background .16s ease,border-color .16s ease,transform .16s ease}button:not(.link-button):hover:not(:disabled){background:#176740;border-color:#176740}button:not(.link-button):active:not(:disabled){transform:translateY(1px)}.secondary,.entry-actions button,.day-nav button{border-color:#c5d9cb!important;background:#fff!important;color:#286845!important}.secondary:hover:not(:disabled),.entry-actions button:hover:not(:disabled),.day-nav button:hover:not(:disabled){border-color:#92bf9f!important;background:#eff8f0!important}.card,.result,.form-card{border:1px solid #dce8df;border-radius:18px;background:#ffffffe8;box-shadow:0 12px 34px #254b3512}.card{margin:13px 0;padding:18px}.summary{border-color:#cfe5d4;background:linear-gradient(140deg,#fff,#f0f9f1)}.day-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px}.day-nav button{width:42px;padding:0;font-size:1.12rem}input,select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #c9d9cd;border-radius:11px;background:#fff;color:#18352a;box-shadow:inset 0 1px 2px #163a2708}input::placeholder{color:#8a9a90}.day-nav input{text-align:center;font-weight:700}.nutrition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:17px 0}.nutrition div{min-width:0;padding:11px;border-radius:12px;background:#edf7ef}.nutrition div:nth-child(2){background:#edf5fb}.nutrition div:nth-child(3){background:#fff5e5}.nutrition div:nth-child(4){background:#f7effb}.nutrition dt{color:#61736a;font-size:.7rem;font-weight:700}.nutrition dd{margin:4px 0 0;color:#18352a;font-size:1rem;font-weight:800}.recommendation,.error{margin:12px 0 0;padding:11px 12px;border-radius:12px;font-size:.9rem;line-height:1.45}.recommendation{background:#fff6dc;color:#705516}.error{background:#fff0ec;color:#953c28}.meal-heading,.entry,.actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-heading{margin-bottom:2px}.meal-heading>button{min-height:38px;padding:7px 11px}.entry,.queue-entry{padding:13px 0;border-top:1px solid #edf1ee}.entry:first-of-type{border-top:0}.entry strong,.queue-entry strong{display:block;font-size:.94rem}.entry span,.queue-entry>span{display:block;margin-top:3px}.entry-actions{display:flex;flex:0 0 auto;gap:5px}.entry-actions button{min-height:34px;padding:5px 8px;font-size:.75rem}.queue-entry .nutrition{margin:10px 0}.search,label,.goal-form{display:grid;gap:6px;font-weight:720}.search{margin:20px 0 14px}.search input{margin-top:1px}.goal-form,.form-card form{gap:14px;margin-top:18px}.results{display:grid;gap:9px}.result{width:100%;min-height:0!important;padding:14px 15px;border-color:#d0e2d4!important;background:#fff!important;color:#18352a!important;text-align:left}button.result:hover:not(:disabled){border-color:#7ebc8f!important;background:#f0f9f2!important}.result strong{display:block;font-size:.96rem}.result span{display:block;margin-top:4px}.actions{flex-wrap:wrap;justify-content:flex-start;margin-top:2px}.actions button{padding:9px 12px}.form-card{position:fixed;z-index:2;inset:auto max(14px,calc((100vw - 600px)/2)) 18px;max-height:min(82dvh,680px);padding:20px;overflow:auto;border-color:#c6dfcd;box-shadow:0 24px 70px #10321e33}.hidden-file{display:none}.import-history{margin-top:24px;padding-top:18px;border-top:1px solid #e4ece6}.import-history summary{color:#286845;font-weight:800;cursor:pointer}.import-history summary::marker{color:#23784f}.import-history>.muted{margin:12px 0}.history-content{margin-top:20px}.history-content>h2{margin-bottom:10px}@media(min-width:560px){.app-shell{padding-top:34px}.card{padding:22px}.nutrition{grid-template-columns:repeat(4,minmax(0,1fr))}.entry-actions button{padding:6px 10px}}@media(max-width:410px){.brand-row{align-items:flex-end}.sync-status{max-width:118px;white-space:normal;text-align:center}.entry{align-items:flex-start}.entry-actions{flex-direction:column}.entry-actions button{width:100%}}
