*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f7f8;--surface:#fff;--border:#e5e7eb;--text:#111827;--text-muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#dc2626;--radius:8px;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}body{background:var(--bg);min-height:100vh}#root{max-width:680px;margin:0 auto;padding:32px 16px 64px}h1{letter-spacing:-.3px;font-size:22px;font-weight:700}h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:16px;font-weight:600}.app-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.date-nav{align-items:center;gap:8px;display:flex}.date-label{color:var(--text-muted);text-align:center;min-width:120px;font-size:14px;font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.summary-row{flex-wrap:wrap;gap:24px;display:flex}.summary-stat{flex-direction:column;gap:2px;display:flex}.summary-stat .value{letter-spacing:-.5px;font-size:28px;font-weight:700}.summary-stat--macro .value{font-size:22px}.summary-stat .label{color:var(--text-muted);font-size:12px;font-weight:500}.macro-input{width:80px}.form-row{align-items:end;gap:10px;margin-top:14px;display:flex}.form-row+.form-row{margin-top:10px}.form-field{flex-direction:column;gap:4px;display:flex}.form-field label{color:var(--text-muted);font-size:12px;font-weight:500}input[type=text],input[type=number],input[type=time]{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .15s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}button{cursor:pointer;border:none;border-radius:6px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,opacity .15s}.btn-primary{background:var(--accent);color:#fff;white-space:nowrap;padding:8px 18px}.btn-primary:hover{background:var(--accent-hover)}.btn-icon{color:var(--text-muted);background:0 0;border-radius:4px;padding:4px 8px;font-size:16px;line-height:1}.btn-icon:hover{background:var(--bg);color:var(--danger)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0;padding:6px 10px}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-estimate{background:var(--bg);color:var(--accent);border:1px solid var(--accent);white-space:nowrap;align-self:flex-end;padding:8px 14px}.btn-estimate:hover:not(:disabled){background:#eff6ff}.btn-estimate:disabled{opacity:.45;cursor:not-allowed}.btn-link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.estimate-note{color:var(--text-muted);margin-top:6px;font-size:12px}.estimate-error{color:var(--danger);margin-top:6px;font-size:12px}.settings-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px 20px}.settings-row{align-items:end;gap:10px;display:flex}.settings-note{color:var(--text-muted);margin-top:8px;font-size:12px}.api-key-hint{color:var(--text-muted);text-align:center;margin-bottom:12px;font-size:13px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.meal-list{flex-direction:column;gap:8px;list-style:none;display:flex}.meal-item{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;display:flex}.meal-time{color:var(--text-muted);flex-shrink:0;width:40px;font-size:12px}.meal-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.meal-name{font-weight:500}.meal-macros{color:var(--text-muted);font-size:11px}.meal-calories{color:var(--accent);white-space:nowrap;font-size:14px;font-weight:600}.meal-delete{opacity:0;transition:opacity .15s}.meal-item:hover .meal-delete{opacity:1}@media (hover:none){.meal-delete{opacity:1}}.empty-state{text-align:center;color:var(--text-muted);padding:24px 0;font-size:14px}.dialog-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);width:100%;max-width:320px;padding:24px;box-shadow:0 8px 24px #00000026}.dialog-message{margin-bottom:20px;font-size:15px;font-weight:500}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.btn-danger{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:background .15s}.btn-danger:hover{background:#b91c1c}.history-list{flex-direction:column;gap:8px;list-style:none;display:flex}.history-item{border:1px solid var(--border);cursor:pointer;background:var(--bg);border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;transition:border-color .15s;display:flex}.history-item:hover{border-color:var(--accent)}.history-date{font-weight:500}.history-meta{color:var(--text-muted);gap:16px;font-size:13px;display:flex}.history-cals{color:var(--text);font-weight:600}@media (width<=480px){#root{padding-top:16px}.form-row{flex-wrap:wrap}.btn-primary,.btn-estimate{width:100%}.summary-stat .value{font-size:22px}.macro-row{grid-template-columns:1fr 1fr;display:grid}.macro-row .btn-primary{grid-column:1/-1}.macro-input{width:100%}.btn-ghost,.btn-primary,.btn-estimate{min-height:44px}.btn-icon{min-width:44px;min-height:44px}}
