:root{--black:#0b0b0c;--white:#fff;--accent:#c6f24e;--accent-pressed:#b2dc3c;--text:#0b0b0c;--muted:#6b6b73;--bg:#f4f4f5;--border:#e4e4e7;--error:#e5484d;--error-bg:#fdecec;--radius:14px;--radius-lg:20px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2{letter-spacing:-.02em;margin:0}h1{font-size:28px}h2{font-size:20px}h1 span,.brand span{color:var(--accent-pressed)}p{margin:0}.muted{color:var(--muted)}.strong{font-weight:600}.stack{flex-direction:column;gap:16px;display:flex}.center{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.card{background:var(--white);border-radius:var(--radius-lg)}label{flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}input,select,textarea{font:inherit;border:1.5px solid var(--bg);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:10px 12px;font-size:15px;font-weight:400}input:focus,select:focus,textarea:focus{border-color:var(--black);outline:none}textarea{resize:vertical}.button{font:inherit;border-radius:var(--radius);border:1.5px solid var(--accent);background:var(--accent);min-height:44px;color:var(--black);cursor:pointer;padding:0 20px;font-size:15px;font-weight:700}.button:hover{background:var(--accent-pressed)}.button:disabled{opacity:.6;cursor:default}.button.secondary{background:var(--white);border-color:var(--border)}.button.secondary:hover{background:var(--bg)}.link{font:inherit;cursor:pointer;color:var(--text);background:0 0;border:none;padding:4px;font-weight:600}.link.danger{color:var(--error)}.message{border-radius:var(--radius);padding:12px 14px;font-size:14px}.message.error{background:var(--error-bg);color:var(--error)}:focus-visible{outline:2px solid var(--black);outline-offset:2px}.login{flex-direction:column;gap:16px;width:min(400px,100%);padding:32px;display:flex}.layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--black);color:var(--white);flex-direction:column;gap:24px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{padding:0 8px;font-size:20px;font-weight:800}.brand span{color:var(--accent)}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a{color:#9a9aa3;border-radius:10px;padding:10px 12px;font-weight:600;text-decoration:none}.sidebar nav a:hover{color:var(--white)}.sidebar nav a.active{color:var(--accent);background:#1d1d20}.account{flex-direction:column;gap:4px;margin-top:auto;padding:0 8px;font-size:14px;display:flex}.account-email{overflow-wrap:anywhere}.account .button{margin-top:12px}.content{min-width:0;padding:32px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header p{margin-top:4px}.filters{flex-wrap:wrap;gap:12px;display:flex}.filters input{background:var(--white);border-color:var(--white);flex:1;min-width:220px}.filters select{background:var(--white);border-color:var(--white)}.table-card{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:14px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--bg);vertical-align:top;padding:12px 16px}tr:last-child td{border-bottom:none}th.num,td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.num-text{font-variant-numeric:tabular-nums}td.actions{white-space:nowrap;text-align:right}.empty{text-align:center;padding:24px}.badge{background:var(--error-bg);color:var(--error);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px}.badge.pending{color:#9a5b00;background:#fff4e0}.dialog{border-radius:var(--radius-lg);border:none;width:min(1000px,100vw - 32px);max-height:calc(100vh - 32px);padding:0}.dialog::backdrop{background:#0b0b0c80}.dialog form{flex-direction:column;gap:16px;padding:24px;display:flex}.dialog-header,.dialog-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-footer{justify-content:flex-end}.form-row{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.form-row.nutrients{grid-template-columns:repeat(4,1fr)}.unit-select{max-width:240px}.muscle-picker{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}.muscle-groups{flex-direction:column;gap:12px;display:flex}.muscle-groups fieldset{border:none;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.muscle-groups legend{margin-bottom:6px;font-size:13px;font-weight:700}.chip{font:inherit;border:1.5px solid var(--border);background:var(--white);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}span.chip{cursor:default;padding:2px 8px}.chip.primary{background:#8fc31f;border-color:#8fc31f}.chip.secondary{background:#ddf2a6;border-color:#ddf2a6}.body-map{width:100%;height:auto}.body-map .pickable{cursor:pointer}.body-map .pickable:hover{stroke-width:2.5px;stroke-opacity:1}@media (width<=860px){.layout{grid-template-columns:1fr}.sidebar{height:auto;position:static}.content{padding:16px}.muscle-picker,.form-row{grid-template-columns:1fr}.form-row.nutrients{grid-template-columns:repeat(2,1fr)}}
