.ec-cfg{--ec-blue:#1F4D78;--ec-blue2:#2E6DA4;--ec-ink:#1c2530;--ec-mut:#5f6b76;
  --ec-line:#d8e0e8;--ec-bg:#f4f7fa;--ec-ok:#1F5F4E;--ec-warn:#B4690E;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ec-ink);line-height:1.45;font-size:15px;box-sizing:border-box}
.ec-cfg *,.ec-cfg *::before,.ec-cfg *::after{box-sizing:inherit}
.ec-cfg h2,.ec-cfg h3,.ec-cfg h4{margin:0;font-weight:700;line-height:1.25}
.ec-cfg .ec-head{border-bottom:3px solid var(--ec-blue);padding-bottom:12px;margin-bottom:18px}
.ec-cfg .ec-head h2{font-size:26px;color:var(--ec-blue)}
.ec-cfg .ec-head p{margin:6px 0 0;color:var(--ec-mut);font-size:14px}
.ec-cfg .ec-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
@media(max-width:900px){.ec-cfg .ec-grid{grid-template-columns:1fr}}

.ec-cfg .ec-sec{border:1px solid var(--ec-line);border-radius:8px;margin-bottom:16px;overflow:hidden;background:#fff}
.ec-cfg .ec-sec>header{background:var(--ec-blue);color:#fff;padding:9px 14px;display:flex;
  justify-content:space-between;align-items:center;gap:10px}
.ec-cfg .ec-sec>header h3{font-size:15px;letter-spacing:.02em;color:#fff !important}
.ec-cfg .ec-tag{font-size:11px;font-weight:600;background:rgba(255,255,255,.22);
  padding:2px 8px;border-radius:10px;white-space:nowrap;color:#fff !important}
.ec-cfg .ec-hint{padding:8px 14px;background:var(--ec-bg);color:var(--ec-mut);
  font-size:13px;border-bottom:1px solid var(--ec-line)}
.ec-cfg .ec-sub{padding:9px 14px 3px;font-size:12px;font-weight:700;color:var(--ec-blue2);
  text-transform:uppercase;letter-spacing:.05em}

.ec-cfg .ec-opt{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;
  padding:9px 14px;border-top:1px solid #eef2f6;cursor:pointer;transition:background .12s}
.ec-cfg .ec-opt:first-of-type{border-top:none}
.ec-cfg .ec-opt:hover{background:#f8fbfd}
.ec-cfg .ec-opt.on{background:#eef5fb}
.ec-cfg .ec-opt input{width:17px;height:17px;margin:0;accent-color:var(--ec-blue);cursor:pointer}
.ec-cfg .ec-lbl{min-width:0}
.ec-cfg .ec-code{font-weight:700;font-size:13px;color:var(--ec-blue)}
.ec-cfg .ec-desc{font-size:13.5px;color:var(--ec-ink)}
.ec-cfg .ec-price{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;
  white-space:nowrap;text-align:right}
.ec-cfg .ec-poa{color:var(--ec-warn);font-weight:600;font-size:12.5px}
.ec-cfg .ec-qty{width:52px;padding:3px 5px;border:1px solid var(--ec-line);border-radius:4px;
  font-size:13px;text-align:center;margin-left:8px}
.ec-cfg .ec-row-end{display:flex;align-items:center;justify-content:flex-end}

.ec-cfg .ec-panel{position:sticky;top:20px;border:1px solid var(--ec-line);border-radius:8px;
  background:#fff;overflow:hidden}
@media(max-width:900px){.ec-cfg .ec-panel{position:static}}
.ec-cfg .ec-panel>header{background:var(--ec-blue);color:#fff;padding:11px 14px}
.ec-cfg .ec-panel>header h3{font-size:16px;color:#fff !important}
.ec-cfg .ec-lines{max-height:290px;overflow:auto;padding:6px 0;border-bottom:1px solid var(--ec-line)}
.ec-cfg .ec-line{display:flex;justify-content:space-between;gap:10px;padding:4px 14px;font-size:12.5px}
.ec-cfg .ec-line span:first-child{color:var(--ec-mut)}
.ec-cfg .ec-line b{font-variant-numeric:tabular-nums;white-space:nowrap}
.ec-cfg .ec-tot{padding:10px 14px}
.ec-cfg .ec-tot div{display:flex;justify-content:space-between;padding:3px 0;font-size:14px}
.ec-cfg .ec-tot .ec-grand{border-top:2px solid var(--ec-blue);margin-top:7px;padding-top:8px;
  font-size:19px;font-weight:700;color:var(--ec-blue)}
.ec-cfg .ec-tot b{font-variant-numeric:tabular-nums}

.ec-cfg .ec-msgs{padding:0 14px 4px}
.ec-cfg .ec-msg{font-size:12.5px;padding:7px 9px;border-radius:5px;margin-bottom:6px;
  border-left:3px solid}
.ec-cfg .ec-msg.warn{background:#fdf4e7;border-color:var(--ec-warn);color:#7a4708}
.ec-cfg .ec-msg.info{background:#eef5fb;border-color:var(--ec-blue2);color:#1a3c5c}

.ec-cfg .ec-form{padding:10px 14px;border-top:1px solid var(--ec-line);background:var(--ec-bg)}
.ec-cfg .ec-form label{display:block;font-size:11.5px;font-weight:600;color:var(--ec-mut);
  margin:7px 0 2px;text-transform:uppercase;letter-spacing:.04em}
.ec-cfg .ec-form input,.ec-cfg .ec-form textarea{width:100%;padding:7px 9px;font-size:13.5px;
  border:1px solid var(--ec-line);border-radius:5px;font-family:inherit;background:#fff}
.ec-cfg .ec-form textarea{resize:vertical;min-height:48px}
.ec-cfg .ec-acts{padding:12px 14px;display:grid;gap:8px}
.ec-cfg button{font-family:inherit;font-size:14px;font-weight:600;padding:11px 14px;
  border-radius:6px;border:1px solid transparent;cursor:pointer;transition:filter .12s}
.ec-cfg button:hover{filter:brightness(1.08)}
.ec-cfg .ec-btn1{background:var(--ec-blue);color:#fff}
.ec-cfg .ec-btn2{background:#fff;color:var(--ec-blue);border-color:var(--ec-blue)}
.ec-cfg .ec-btn3{background:transparent;color:var(--ec-mut);border-color:var(--ec-line);font-weight:500}
.ec-cfg .ec-foot{font-size:11.5px;color:var(--ec-mut);padding:0 14px 12px;line-height:1.4}
.ec-cfg .ec-status{font-size:12.5px;padding:0 14px 10px;min-height:16px}
.ec-cfg .ec-status.err{color:#b3261e}
.ec-cfg .ec-status.ok{color:var(--ec-ok)}
.ec-cfg .ec-disc{margin:0 14px 10px;padding:9px 11px;background:#fdf4e7;
  border-left:3px solid var(--ec-warn);border-radius:5px;font-size:12px;
  line-height:1.45;color:#7a4708}
