.demand-panel{width:100%;padding:24px;margin-bottom:20px}
.demand-panel h2{margin-bottom:16px}
.demand-panel .panel-heading{padding:0 0 16px;margin-bottom:16px}
.demand-panel .panel-heading h2{margin:0}
.demand-contact{grid-template-columns:2fr 1fr 1fr}
.demand-item{display:grid;grid-template-columns:90px 120px minmax(130px,1.4fr) minmax(100px,1fr) 140px 64px 110px minmax(180px,1.5fr) auto;gap:10px;align-items:end;padding:16px;background:#f7fafb;border:1px solid #e0e9ee;border-radius:7px;margin-bottom:12px}
.demand-item .field>span{white-space:nowrap}
.demand-item input,.demand-item select{padding:9px 7px;height:44px}
.demand-item output{display:block;min-height:44px;padding:9px 6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:#176e6a}
.demand-item .button{height:44px}
.demand-total{text-align:right;padding:16px 0;color:#597184}
.demand-total strong{font-size:24px;color:#176e6a;margin:0 8px}
.demand-total .demand-invalid{color:#b54747}
.demand-panel .form-actions{justify-content:flex-end;margin-top:8px;padding-top:16px;flex-wrap:wrap}
.demand-review{grid-template-columns:220px minmax(0,1fr);align-items:start;margin-top:20px}
@media(max-width:1550px){.demand-item{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.demand-contact,.demand-review{grid-template-columns:minmax(0,1fr)}.demand-item{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.demand-panel{padding:16px}.demand-item{grid-template-columns:minmax(0,1fr)}.demand-panel .panel-heading{gap:12px;flex-wrap:wrap}}
