:root{--bg:#f7f2e7;--card:#fff;--border:#eee7d9;--ink:#2b2823;--ink-soft:#3a3630;--muted:#8a8378;--muted-light:#b3aba0;--track:#ebe5d8;--dark:#2b2823;--accent:#d9a441;--protein:#b5432b;--carbo:#c08a2e;--gordura:#6e7f4a;--radius-lg:20px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Poppins,Segoe UI,sans-serif}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:15px}.app-shell{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}.screen{flex:1;padding:20px 18px 100px;overflow-y:auto}.page-title{color:var(--ink);margin:0 0 2px;font-size:21px;font-weight:800}.page-subtitle{color:var(--muted);text-transform:none;margin:0 0 14px;font-size:11.5px;font-weight:600}.card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px}.field-label{color:var(--ink-soft);margin-bottom:6px;font-size:12.5px;font-weight:700;display:block}.field-input,.field-select{border-radius:var(--radius-sm);border:1.5px solid var(--border);width:100%;color:var(--ink);background:#fff;outline:none;padding:12px 14px}.field-input:focus,.field-select:focus{border-color:var(--accent)}.field-group{margin-bottom:16px}.btn-primary{border-radius:var(--radius-md);background:var(--dark);width:100%;color:var(--bg);cursor:pointer;border:none;padding:14px;font-size:14.5px;font-weight:700}.btn-secondary{border-radius:var(--radius-md);border:1.5px solid var(--border);width:100%;color:var(--ink);cursor:pointer;background:#fff;padding:14px;font-size:14.5px;font-weight:700}.chip{border:1.5px solid var(--border);color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.chip.active{background:var(--dark);border-color:var(--dark);color:var(--bg)}.bottom-nav{border-top:1px solid var(--border);padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#fff;width:100%;max-width:480px;margin:0 auto;display:flex;position:sticky;bottom:0}.nav-item{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;display:flex}.nav-label{font-size:10px;font-weight:600}
