.calc-hero{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#eaf2fe,#f1ecfe)}.calc-hero .container{text-align:center;padding:34px 20px 30px}.calc-hero h1{max-width:720px;margin:0 auto 10px}.calc-hero p{max-width:560px;color:var(--ink-2);margin:0 auto}.calc-grid{grid-template-columns:1fr 360px;align-items:start;gap:30px;margin-top:-30px;display:grid}@media (width<=900px){.calc-grid{grid-template-columns:1fr}}.calc-panel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:26px}.calc-search{position:relative}.calc-search label{margin-bottom:8px;font-size:.9rem;font-weight:700;display:block}.search-row{gap:10px;display:flex}.field{flex:1;position:relative}input[type=text],input[type=number]{border:1.5px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:#fff;outline:none;padding:13px 15px;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.grams{width:120px}.grams-wrap{position:relative}.grams-wrap .u{color:var(--ink-3);pointer-events:none;font-size:.85rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.suggestions{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:20;background:#fff;max-height:280px;display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.suggestions.open{display:block}.suggestions .s-item{cursor:pointer;border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:11px 15px;display:flex}.suggestions .s-item:last-child{border-bottom:0}.suggestions .s-item:hover,.suggestions .s-item.active{background:var(--macro-protein-bg)}.suggestions .s-item .em{font-size:1.3rem}.suggestions .s-item .nm{flex:1;font-weight:600}.suggestions .s-item .kc{color:var(--ink-3);font-size:.84rem}.suggestions .s-item .kc b{color:var(--brand-800)}.suggestions .empty{color:var(--ink-3);padding:14px 15px;font-size:.9rem}.add-btn{margin-top:14px}.plate{margin-top:26px}.plate h3{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:1rem;display:flex}.plate h3 .clear{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:.82rem;font-weight:600}.plate h3 .clear:hover{color:var(--ink);text-decoration:underline}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plate-item{border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:12px 0;display:flex}.plate-item .em{font-size:1.4rem}.plate-item .pi-main{flex:1}.plate-item .pi-main b{font-size:.98rem}.plate-item .pi-main div{color:var(--ink-3);font-size:.82rem}.plate-item .pi-macros{gap:5px;display:flex}.plate-item .pi-k{color:var(--brand-800);white-space:nowrap;font-weight:800}.plate-item .rm{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0 4px;font-family:inherit;font-size:1.2rem;line-height:1}.plate-item .rm:hover{color:#ef4444}.plate-item .rm:focus-visible,.s-item:focus-visible,.plate h3 .clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.plate-empty{text-align:center;color:var(--ink-3);padding:26px 0}.plate-empty .em{margin-bottom:8px;font-size:2.4rem;display:block}.result-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:24px;position:sticky;top:82px}.result-total{text-align:center;border-bottom:1px solid var(--line);margin-bottom:18px;padding:8px 0 18px}.result-total .big{color:var(--brand-800);font-size:3rem;font-weight:800;line-height:1}.result-total .lbl{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.macro-rows{gap:14px;margin-bottom:20px;display:grid}.macro-row .mr-top{justify-content:space-between;margin-bottom:5px;font-size:.92rem;display:flex}.macro-row .mr-top b{font-weight:800}.macro-row .track{border-radius:var(--radius-pill);background:var(--line-2);height:9px;overflow:hidden}.macro-row .track>span{border-radius:var(--radius-pill);height:100%;transition:width .3s;display:block}.calc-cta{background:linear-gradient(135deg,var(--brand-800),var(--brand-900));color:#fff;border-radius:var(--radius);text-align:center;margin-top:20px;padding:20px}.calc-cta .ph{font-size:2rem}.calc-cta p{color:#dce7f8;margin:6px 0 14px;font-size:.9rem}
