:root{--bg: #0f1115;--surface: #181b22;--surface-2: #21252e;--border: #2b3038;--text: #e6e9ef;--text-dim: #99a1b3;--accent: #6ea8fe;--protein: #f0883e;--carbs: #6ea8fe;--fat: #d18cf0;--ok: #57cf8a;--danger: #f4658a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.5rem .9rem;border-radius:8px;transition:background .12s,border-color .12s}button:hover{background:var(--border)}button.primary{background:var(--accent);border-color:var(--accent);color:#0b1220;font-weight:600}button.primary:hover{filter:brightness(1.08)}button.ghost{background:transparent;border-color:transparent;color:var(--text-dim);padding:.3rem .5rem}button.ghost:hover{background:var(--surface-2);color:var(--text)}input,select{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem;width:100%}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}label{display:block;font-size:.8rem;color:var(--text-dim);margin-bottom:.3rem}.app{max-width:900px;margin:0 auto;padding:1.25rem 1rem 4rem}header.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}header.topbar h1{font-size:1.3rem;margin:0;letter-spacing:-.01em}nav.tabs{display:flex;gap:.4rem;margin-bottom:1.25rem;flex-wrap:wrap}nav.tabs button{background:transparent;border-color:transparent;color:var(--text-dim)}nav.tabs button.active{background:var(--surface);border-color:var(--border);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem;margin-bottom:1rem}.card h2{margin:0 0 .9rem;font-size:1rem;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.kcal-big{font-size:2.6rem;font-weight:700;line-height:1}.kcal-big small{font-size:1rem;color:var(--text-dim);font-weight:400}.macro-row{margin-top:.9rem}.macro-row .macro-head{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.bar{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.bar>span{display:block;height:100%;border-radius:4px}.meal-group{margin-bottom:1rem}.meal-group h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 .4rem}.entry{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.entry:last-child{border-bottom:none}.entry .info{flex:1;min-width:0}.entry .name{font-weight:500}.entry .sub{font-size:.8rem;color:var(--text-dim)}.entry .kcal{font-variant-numeric:tabular-nums;white-space:nowrap}.grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.row{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}.row>div{flex:1;min-width:120px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:right;padding:.45rem .5rem;border-bottom:1px solid var(--border);font-size:.9rem}th:first-child,td:first-child{text-align:left}th{color:var(--text-dim);font-weight:500}.muted{color:var(--text-dim)}.center{text-align:center}.error{color:var(--danger);font-size:.85rem}.ok{color:var(--ok);font-size:.85rem}.auth-wrap{max-width:380px;margin:15vh auto 0;text-align:center}.auth-wrap .card{text-align:left}.spacer{height:.6rem}
