:root{--bg:#111522;--panel:#1e2230;--line:#303648;--red:#438cf2;--muted:#a1a8b8;--text:#f5f6fa;--shadow:0 16px 40px rgba(0,0,0,.2)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}.hidden{display:none!important}.topbar{height:70px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #222226;background:#0b0b0d}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.7px}.brand b{color:#ff737a}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:2px solid var(--red);border-radius:11px;color:#fff;font-weight:900;font-style:italic;box-shadow:0 0 20px #f20d1825}.topbar-right{display:flex;align-items:center;gap:12px}.user-label{color:var(--muted);font-size:11px}.logout-button{padding:8px 11px;border:1px solid #39393e;border-radius:7px;background:#1d1d20;color:#ddd;font-size:10px;cursor:pointer}.auth-panel{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:28px 15px;background:radial-gradient(ellipse at 50% 90%,#91000830,transparent 55%)}.auth-card{width:min(100%,430px);padding:30px;border:1px solid #302629;border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.auth-card h1{margin:0;color:#fff;font-size:28px;letter-spacing:-.8px}.auth-copy{margin:10px 0 18px;color:#aaaab0;font-size:12px;line-height:1.6}.eyebrow{margin:0 0 7px;color:#ff646b;font-size:9px;font-weight:800;letter-spacing:1.4px}.auth-form{display:grid;gap:13px}.field{display:flex;flex-direction:column;gap:7px;color:#dddde0;font-size:11px;font-weight:650}.field input,.field select{width:100%;height:40px;padding:0 11px;border:1px solid #39393e;border-radius:7px;outline:none;background:#1d1d20;color:#f4f4f5}.field input:focus,.field select:focus{border-color:var(--red);box-shadow:0 0 0 3px #f20d1829}.field input::placeholder{color:#85858c;font-weight:400}.primary-button{min-height:42px;padding:0 16px;border:0;border-radius:7px;background:var(--red);color:white;font-weight:750;cursor:pointer;transition:background .15s,transform .15s}.primary-button:hover{background:#d30c15;transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:wait;transform:none}.text-button{border:0;background:none;color:#ff747b;font-size:11px;font-weight:650;cursor:pointer;padding:8px}.auth-toggle{width:100%;margin-top:6px}.form-message{min-height:16px;margin:0;color:#ff858b;font-size:11px;line-height:1.45}.form-message.error{color:#ffab9d}.layout{width:min(1160px,100%);margin:0 auto;padding:28px 24px 24px}.intro{min-height:240px;position:relative;display:flex;align-items:center;overflow:hidden;padding:34px 40px;border:1px solid #382326;border-radius:14px;background:linear-gradient(100deg,#171719 0%,#1c1113 63%,#321316 100%)}.intro h1{margin:0;font-size:48px;line-height:1.02;letter-spacing:-2.5px}.intro h1 span{color:var(--red)}.intro-copy{max-width:440px;color:#aaaab0;font-size:13px;line-height:1.6}.intro-symbol{position:absolute;right:8%;top:50%;transform:translateY(-50%) rotate(-8deg);display:grid;place-items:center;width:182px;height:182px;border:1px solid #f20d1855;border-radius:50%;color:#fff;font-size:35px;font-weight:900;font-style:italic;box-shadow:inset 0 0 0 22px #f20d1809,inset 0 0 0 50px #f20d1809,0 0 60px #f20d1816}.panel{margin-top:15px;padding:21px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.toolbar-panel{display:grid;grid-template-columns:minmax(200px,1fr) minmax(180px,240px) 2fr;align-items:end;gap:14px}.toolbar-panel .optional{align-self:center}.optional{color:var(--muted);font-size:10px;font-weight:400}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-heading h2,.advice-panel h2{margin:0;color:#fff;font-size:19px;letter-spacing:-.5px}.goal-form{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr)) auto;align-items:end;gap:10px}.goal-form .primary-button{white-space:nowrap}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-card{padding:13px;border:1px solid #303035;border-radius:9px;background:#1d1d20}.summary-card>span{display:block;color:#aaaab0;font-size:9px;font-weight:800;letter-spacing:.8px}.summary-card strong{display:block;margin:7px 0 3px;color:#fff;font-size:23px}.summary-card small{color:#9b9ba2;font-size:10px}.progress-track{height:5px;margin-top:9px;border-radius:5px;background:#39393e;overflow:hidden}.progress-track i{display:block;width:0;height:100%;border-radius:5px;background:var(--red);transition:width .2s}.progress-track i.over{background:#f3a63b}.summary-card p{min-height:28px;margin:7px 0 0;color:#d5d5d8;font-size:10px;line-height:1.4}.assistant-response{margin:12px 0 0;padding:12px 14px;border-left:3px solid var(--red);border-radius:0 7px 7px 0;background:#241517;color:#f1dfe0;font-size:12px;line-height:1.55}.empty-note{margin:0 0 12px;padding:13px;border:1px dashed #38383d;border-radius:8px;color:#aaaab0;text-align:center;font-size:11px}.form-help{margin:-7px 0 14px;color:#aaaab0;font-size:11px;line-height:1.5}.food-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.field-wide{grid-column:span 2}.food-preview{display:flex;flex-direction:column;gap:5px;min-height:56px;margin-top:12px;padding:10px 12px;border:1px solid #39393e;border-radius:7px;background:#171719;color:#c9c9ce;font-size:11px;line-height:1.45}.food-preview strong{color:#fff;font-size:10px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.form-actions>div{display:flex;align-items:center;gap:8px}.table-wrap{overflow:auto;position:relative;min-height:65px}table{width:100%;min-width:850px;border-collapse:collapse;text-align:left;white-space:nowrap}thead th{padding:10px 8px;border-bottom:1px solid var(--line);color:#9b9ba2;font-size:9px;letter-spacing:.7px}tbody td{padding:12px 8px;border-bottom:1px solid #29292d;color:#ddd;font-size:11px;vertical-align:middle}tbody td:first-child strong,tbody td:first-child small{display:block}tbody td small{margin-top:4px;color:#99999f;font-size:9px;white-space:normal}.edit-button,.delete-button{border:1px solid #39393e;border-radius:5px;background:#202023;color:#eee;padding:5px 7px;font-size:10px;cursor:pointer}.delete-button{margin-left:4px;border:0;background:none;color:#aaa;font-size:16px}.edit-button:hover,.delete-button:hover{color:#ff777e}.advice-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 20px}.advice-panel h2{font-size:15px}.advice-panel p:not(.eyebrow){max-width:720px;margin:6px 0 0;color:#aaaab0;font-size:11px;line-height:1.5}.advice-panel a{color:#ff777e;font-size:10px;text-decoration:none}.advice-panel small{grid-column:1/-1;color:#898990;font-size:9px;line-height:1.5}footer{display:flex;justify-content:space-between;margin:20px 3px 0;color:#96969d;font-size:9px;letter-spacing:.7px}footer span{letter-spacing:0;color:#d0d0d3}
@media(max-width:850px){.layout{padding:20px 16px}.intro{padding:30px}.intro-symbol{right:4%;opacity:.55}.goal-form{grid-template-columns:repeat(2,1fr)}.goal-form .primary-button{grid-column:1/-1}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide{grid-column:1/-1}}
@media(max-width:550px){.topbar{height:60px;padding:0 12px}.brand{gap:7px;font-size:10px;letter-spacing:.3px}.brand-mark{width:32px;height:32px}.user-label{display:none}.layout{padding:14px 11px}.intro{min-height:0;align-items:flex-start;padding:24px 20px 22px}.intro h1{font-size:37px;letter-spacing:-1.8px}.intro-copy{max-width:275px;font-size:12px}.intro-symbol{right:-48px;top:auto;bottom:-40px;transform:none;width:142px;height:142px;font-size:25px;opacity:.28}.panel{padding:16px 13px}.toolbar-panel{grid-template-columns:1fr}.toolbar-panel .optional{margin:0}.panel-heading h2{font-size:17px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:7px}.summary-card{padding:10px}.summary-card strong{font-size:20px}.goal-form,.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.goal-form .primary-button{width:100%}.field{font-size:10px}.form-actions{align-items:stretch;flex-direction:column}.form-actions>div{display:grid;grid-template-columns:1fr 2fr}.form-actions .primary-button{width:100%}.advice-panel{grid-template-columns:1fr}.advice-panel a{grid-row:auto}.advice-panel small{grid-column:auto}footer{font-size:8px}}
.weekly-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.weekly-summary article{padding:13px;border:1px solid var(--line);border-radius:9px;background:#252a39}.weekly-summary span,.weekly-summary strong{display:block}.weekly-summary span{color:var(--muted);font-size:10px}.weekly-summary strong{margin-top:8px;font-size:19px}.weekly-chart{height:190px;margin:24px 0 13px;padding:12px 8px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.chart-day{min-width:0;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:5px;color:var(--muted);font-size:10px}.chart-track{width:min(28px,55%);height:125px;border-radius:99px;background:#151925;display:flex;align-items:flex-end;overflow:hidden}.chart-track i{display:block;width:100%;border-radius:99px;background:linear-gradient(0deg,#3479dc,#71b5ff)}.chart-day small{font-size:8px}.bottom-nav{display:none}
.heading-actions{display:flex;align-items:center;gap:8px}
@media(max-width:550px){.weekly-summary{grid-template-columns:repeat(2,1fr)}.weekly-chart{height:170px;gap:4px}.chart-track{height:105px;width:22px}.bottom-nav{position:fixed;z-index:10;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);padding:7px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid #303648;background:#171b27ed;backdrop-filter:blur(14px)}.bottom-nav button{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}.bottom-nav button.active{background:#25344e;color:#78b3ff}.layout{padding-bottom:82px}.intro{display:none}.table-wrap{overflow:visible}table{min-width:0;white-space:normal}thead{display:none}tbody{display:grid;gap:8px}tbody tr{display:grid;grid-template-columns:1fr 1fr;padding:8px;border:1px solid var(--line);border-radius:9px;background:#252a39}tbody td{padding:7px 5px;border:0;font-size:11px}tbody td:first-child{grid-column:1/-1}tbody td:nth-child(7){grid-column:1/-1}tbody td:nth-child(2){grid-column:1/-1;color:#aeb4c2}tbody td:last-child{text-align:right}tbody td small{font-size:9px}}
.brand-logo{display:block;width:42px;height:42px;object-fit:contain;border-radius:9px;background:#000}.brand-mark{display:none}.intro{background:linear-gradient(90deg,rgba(17,21,34,.98) 0%,rgba(17,21,34,.9) 35%,rgba(17,21,34,.14) 100%),url('assets/nutrition-balance-hero.png') center right/cover no-repeat}.intro-symbol{display:none}
@media(max-width:550px){.brand-logo{width:36px;height:36px}.intro{display:flex;min-height:174px;align-items:center;padding:20px 17px;border-radius:12px;background:linear-gradient(90deg,rgba(17,21,34,.97) 0%,rgba(17,21,34,.88) 48%,rgba(17,21,34,.25) 100%),url('assets/nutrition-balance-hero.png') 58% center/cover no-repeat}.intro h1{font-size:31px}.intro-copy{max-width:220px;font-size:11px}.intro .eyebrow{color:#80b7ff}.heading-actions{gap:2px}.heading-actions .text-button{padding:6px;font-size:10px}}
.plus-nav{justify-self:center;width:54px;height:54px;min-height:54px!important;margin-top:-21px;border-radius:50%!important;background:#438cf2!important;color:#fff!important;font-size:32px!important;font-weight:400!important;box-shadow:0 7px 24px #438cf244}.quick-add-dialog{position:fixed;inset:auto 0 0;width:min(100%,620px);max-width:none;max-height:min(88vh,760px);margin:0 auto;padding:0;border:1px solid #3a4154;border-bottom:0;border-radius:22px 22px 0 0;background:#1e2230;color:var(--text);box-shadow:0 -18px 70px #0008;overflow:auto}.quick-add-dialog::backdrop{background:#080a10b8;backdrop-filter:blur(3px)}.quick-add-sheet{padding:12px 20px max(20px,env(safe-area-inset-bottom))}.sheet-handle{width:42px;height:4px;margin:0 auto 15px;border-radius:6px;background:#697085}.quick-add-sheet .panel-heading{margin-bottom:18px}.quick-add-sheet h2{margin:0;font-size:20px}.close-sheet{width:34px;height:34px;border:0;border-radius:50%;background:#2c3242;color:#d9deeb;font-size:24px;cursor:pointer}.quick-add-sheet .field{margin-bottom:14px}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{display:grid;justify-items:start;gap:6px;min-height:112px;padding:16px;border:1px solid #353d51;border-radius:13px;background:#252b3b;color:#f5f6fa;text-align:left;cursor:pointer}.quick-action>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#243b5d;color:#79b5ff;font-size:23px}.quick-action strong{font-size:13px}.quick-action small{color:var(--muted);font-size:10px}.sheet-note{display:block;margin:15px 0 0;line-height:1.5}.scanner-panel{display:grid;gap:10px;margin-top:15px}.scanner-panel video{width:100%;max-height:250px;border-radius:12px;background:#0e111a;object-fit:cover}.scanner-panel .optional{margin:0}.scanner-panel .primary-button{width:100%}
@media(min-width:551px){.quick-add-dialog{inset:0;margin:auto;border:1px solid #3a4154;border-radius:20px}.quick-add-sheet{padding:20px 24px 24px}}
:root{--bg:#0e1714;--panel:#17231f;--line:#2c3b34;--red:#6bd1a2;--muted:#a1b2a9;--text:#f2f7f4;--shadow:0 16px 40px rgba(0,0,0,.22)}
body{background:var(--bg)}.topbar{background:#0a120f;border-color:#23312a}.brand b{color:#8ce0b9}.auth-panel{background:radial-gradient(ellipse at 50% 90%,#12634435,transparent 58%)}.auth-card{border-color:#294438}.eyebrow{color:#7ad8aa}.intro{border-color:#315342;background:linear-gradient(90deg,rgba(14,23,20,.98) 0%,rgba(14,23,20,.88) 35%,rgba(14,23,20,.12) 100%),url('assets/nutrition-balance-hero.png') center right/cover no-repeat}.intro h1 span{color:#77d5a5}.intro .eyebrow{color:#7ad8aa}.panel{border-color:var(--line);background:var(--panel)}.field{color:#dce9e1}.field input,.field select{border-color:#35473e;background:#202e28;color:#f2f7f4}.field input:focus,.field select:focus{border-color:#6bd1a2;box-shadow:0 0 0 3px #6bd1a229}.field input::placeholder{color:#91a39a}.primary-button{background:#26966a;color:#fff}.primary-button:hover{background:#1e7c57}.text-button{color:#81dcb1}.summary-card{border-color:#34463c;background:#202e28}.summary-card>span,.summary-card small{color:#a4b7ac}.progress-track{background:#34443b}.progress-track i{background:#64c995}.progress-track i.over{background:#e6ad5b}.summary-card p{color:#d3e1d8}.assistant-response{border-left-color:#64c995;background:#183327;color:#d8efe1}.empty-note{border-color:#3c4d43;color:#aabbb1}.form-help{color:#aabbb1}.food-preview{border-color:#3a4a41;background:#1a2822;color:#c9dbcf}.food-preview strong{color:#eef8f1}.table-wrap tbody td{border-color:#2c3b34;color:#d9e5dd}.table-wrap thead th{border-color:#34463c;color:#a7b9ae}.edit-button{border-color:#3b4d43;background:#24342c;color:#e9f4ed}.delete-button{color:#a9bbb0}.edit-button:hover,.delete-button:hover{color:#85dfb2}.advice-panel a{color:#85dfb2}.advice-panel p:not(.eyebrow){color:#adbbb3}.advice-panel small{color:#91a39a}.weekly-summary article{border-color:#35473d;background:#202e28}.weekly-summary span{color:#a7b9ae}.weekly-chart{border-color:#35473d}.chart-track{background:#1a2822}.chart-track i{background:linear-gradient(0deg,#25855e,#7be0ad)}.bottom-nav{border-color:#2d4036;background:#101b16ed}.bottom-nav button.active{background:#1e3b2c;color:#88e0b3}.plus-nav{background:#43b980!important;color:#07130d!important;box-shadow:0 7px 24px #43b98044}.quick-add-dialog{border-color:#34483d;background:#17231f}.quick-add-dialog::backdrop{background:#060d09c7}.sheet-handle{background:#6a8174}.close-sheet{background:#26372e;color:#e1eee5}.quick-action{border-color:#354a3d;background:#202e28;color:#eff7f1}.quick-action>span{background:#1e4937;color:#88e0b3}.sheet-note,.scanner-panel .optional{color:#a5b8ac}.scanner-panel video{background:#0a130f}.logout-button{border-color:#35473d;background:#202e28;color:#dce9e1}.form-message{color:#ff9e91}.form-message.error{color:#ffb29f}footer{color:#a3b4aa}footer span{color:#c9d8ce}
@media(max-width:550px){.intro{background:linear-gradient(90deg,rgba(14,23,20,.97) 0%,rgba(14,23,20,.88) 48%,rgba(14,23,20,.22) 100%),url('assets/nutrition-balance-hero.png') 58% center/cover no-repeat}.bottom-nav{background:#101b16ed}.bottom-nav button.active{background:#1e3b2c;color:#88e0b3}}
.custom-measure-tools{display:grid;gap:8px}.custom-measure-tools>.text-button{justify-self:start;padding-left:0}.custom-measure-fields{padding:12px;border:1px solid var(--line);border-radius:8px;background:#1a2822}.custom-measure-fields>.optional{display:block;margin:0 0 10px;line-height:1.5}.custom-measure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:550px){.custom-measure-grid{grid-template-columns:1fr}}
.nutrition-preview{padding:12px;border:1px solid #385244;border-radius:9px;background:#193026}.nutrition-preview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.nutrition-preview-heading strong{color:#eef8f1;font-size:11px}.nutrition-preview-heading span{color:#9fb8aa;font-size:10px;text-align:right}.nutrition-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.nutrition-preview-grid>div{padding:9px;border:1px solid #344b3e;border-radius:7px;background:#202e28}.nutrition-preview-grid span,.nutrition-preview-grid strong{display:block}.nutrition-preview-grid span{color:#a7b9ae;font-size:9px}.nutrition-preview-grid strong{margin-top:5px;color:#8ce0b9;font-size:15px}.nutrition-preview-grid>div:first-child strong{color:#f0ca78}
@media(max-width:550px){.nutrition-preview{padding:10px}.nutrition-preview-heading{align-items:flex-start;flex-direction:column;gap:4px}.nutrition-preview-heading span{text-align:left}.nutrition-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-preview-grid>div{padding:8px}}
.password-input{position:relative;display:block}.password-input input{padding-right:46px}.password-toggle{position:absolute;top:50%;right:7px;display:grid;place-items:center;width:32px;height:32px;transform:translateY(-50%);border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover{background:#ffffff10;color:var(--text)}.password-toggle:focus-visible{outline:2px solid var(--red);outline-offset:1px}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
