.container--concrete{max-width:1180px}.concrete-intro{background:linear-gradient(145deg,#e7efec,#f4eee4);border:1px solid #c3d3cd;border-radius:24px;padding:clamp(1.25rem,4vw,2.4rem);margin-bottom:1.4rem}.concrete-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.88fr);gap:1rem;align-items:start}.concrete-inputs{display:grid;gap:1rem;min-width:0}.concrete-panel{min-width:0}.concrete-modes{display:flex;gap:.65rem;flex-wrap:wrap;border:0;padding:0;margin:.75rem 0 0}.concrete-modes legend{font-weight:800;margin-bottom:.45rem;width:100%}.concrete-mode{display:flex;align-items:center;gap:.45rem;border:1px solid #91a89f;border-radius:999px;background:#f5f8f6;padding:.55rem .8rem;font-weight:700;cursor:pointer}.concrete-mode:has(input:checked){background:#294f46;color:#fff;border-color:#294f46}.concrete-mode input,.concrete-check input{width:1.1rem;height:1.1rem;accent-color:#294f46;flex:0 0 auto}.concrete-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.8rem}.concrete-fields--three{grid-template-columns:repeat(3,minmax(0,1fr))}.concrete-fields--single{grid-template-columns:minmax(0,1fr)}.concrete-fields[hidden]{display:none}.concrete-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:center;min-width:0;font-weight:700}.concrete-field>span:first-child{grid-column:1/-1}.concrete-field input{grid-column:1;min-width:0;width:100%;min-height:46px;border:2px solid #829f94;border-radius:10px;background:#fff;color:#17231f;padding:.7rem .75rem;font:inherit}.concrete-field select{grid-column:2;min-height:46px;border:2px solid #829f94;border-radius:10px;background:#fff;color:#17231f;padding:.6rem .7rem;font:inherit;font-weight:800}.concrete-field input:focus-visible,.concrete-field select:focus-visible,.concrete-mode:focus-within,.concrete-check:focus-within{outline:3px solid #f2b84b;outline-offset:2px}.concrete-unit{grid-column:2;color:#405b53;font-weight:800;white-space:nowrap}.concrete-field small{grid-column:1/-1;color:#53665f;font-weight:500;line-height:1.45}.concrete-check{display:flex;align-items:center;gap:.55rem;border:1px solid #9bb0a7;border-radius:12px;background:#f5f8f6;padding:.8rem;font-weight:800;cursor:pointer}.concrete-fields.is-disabled{opacity:.58}.concrete-error{min-height:1.5em;color:#a12626;font-weight:800;margin:.8rem 0 0}.concrete-results{position:sticky;top:1rem}.concrete-primary{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:.65rem}.concrete-primary article{min-width:0;border-radius:14px;background:#294f46;color:#fff;padding:1rem}.concrete-primary h3{font-size:.9rem;margin:0 0 .35rem;color:#dbece5}.concrete-primary output{display:block;font-size:clamp(1.35rem,3vw,2rem);font-weight:900;overflow-wrap:anywhere}.concrete-primary p{margin:.25rem 0 0;color:#e6f2ed;font-weight:800;overflow-wrap:anywhere}.concrete-note{color:#4f625b;line-height:1.65;margin:.8rem 0}.concrete-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1rem 0;border:1px solid #d3ded8;border-radius:12px;overflow:hidden}.concrete-summary div{min-width:0;padding:.7rem;border-bottom:1px solid #d3ded8}.concrete-summary div:nth-child(odd){border-right:1px solid #d3ded8}.concrete-summary div:last-child{border-bottom:0}.concrete-summary dt{font-size:.8rem;color:#586a64}.concrete-summary dd{margin:.15rem 0 0;font-weight:800;overflow-wrap:anywhere}.concrete-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.concrete-guide{margin-top:1.25rem}.concrete-guide code{overflow-wrap:anywhere}.concrete-faq details{border-top:1px solid #d4dfda;padding:.75rem 0}.concrete-faq summary{font-weight:800;cursor:pointer}.concrete-faq p{margin-bottom:0}
@media(max-width:900px){.concrete-layout{grid-template-columns:1fr}.concrete-results{position:static}}
@media(max-width:720px){.concrete-fields--three{grid-template-columns:1fr}}
@media(max-width:640px){.concrete-fields,.concrete-primary,.concrete-summary{grid-template-columns:1fr}.concrete-summary div,.concrete-summary div:nth-child(odd){border-right:0;border-bottom:1px solid #d3ded8}.concrete-summary div:last-child{border-bottom:0}.concrete-mode{width:100%}.concrete-actions .button{flex:1 1 100%}.concrete-field--select{grid-template-columns:minmax(0,1fr) minmax(88px,auto)}}
@media(max-width:360px){.concrete-intro,.concrete-panel{padding-left:.8rem;padding-right:.8rem}.concrete-field input,.concrete-field select{font-size:16px}}
