/* Подбор SDR — все селекторы внутри .sv-sdr */
.sv-sdr{--sv-ok:#1E8A4C;--sv-bad:#C0392B;--sv-mid:#B8650E;--sv-line:var(--line,#D6E1EB);--sv-ink2:var(--ink-2,#4A5560);margin:24px 0 8px;font-family:var(--f)}
.sv-sdr [hidden]{display:none!important}
.sv-sdr *{box-sizing:border-box}
.sv-sdr__tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--blue-z,#F4F8FC);border:1px solid var(--sv-line);border-radius:12px;padding:5px;margin-bottom:16px}
.sv-sdr__tab{border:0;background:transparent;border-radius:9px;padding:12px 10px;font:700 15px/1.25 var(--f);color:var(--sv-ink2);cursor:pointer;min-height:48px}
.sv-sdr__tab.is-on{background:#fff;color:var(--blue-d);box-shadow:0 2px 10px -4px rgba(20,82,138,.35)}
/* top:132px вместо 90px из брифа: шапка сайта (sticky) на десктопе ≈ 120 px и перекрывала бы верх 3D-панели; так же сделано в gidravlika.css
   Раунд 2: телефон/планшет — поля → визуализация → результат; ≥1024 px — слева поля и результат, справа sticky-3D */
.sv-sdr__grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"form" "vis" "out";gap:18px}
.sv-sdr__form{grid-area:form}.sv-sdr__vis{grid-area:vis}.sv-sdr__out{grid-area:out}
@media (min-width:1024px){
  .sv-sdr__grid{grid-template-columns:minmax(0,43fr) minmax(0,57fr);grid-template-rows:auto 1fr;grid-template-areas:"form vis" "out vis";column-gap:22px;align-items:start}
  .sv-sdr__vis{position:sticky;top:132px;align-self:start;margin-top:0}
}
.sv-sdr__form{display:flex;flex-direction:column;gap:12px;min-width:0}
.sv-sdr__fs{border:1px solid var(--sv-line);border-radius:12px;padding:14px 14px 16px;margin:0;min-width:0;background:#fff}
.sv-sdr__fs legend,.sv-sdr__more summary{font:700 15px var(--f);color:var(--blue-d);padding:0 6px}
.sv-sdr__more summary{cursor:pointer;padding:4px 0;list-style-position:inside}
.sv-sdr__more[open] summary{margin-bottom:10px}
.sv-sdr__f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--sv-ink2);margin-top:10px;min-width:0}
.sv-sdr__f input,.sv-sdr__f select{width:100%;min-height:48px;border:1px solid #B9C8D6;border-radius:9px;padding:10px 12px;font:400 17px var(--f);color:var(--ink,#1E2328);background:#fff}
.sv-sdr__f select{padding-right:8px;text-overflow:ellipsis}
.sv-sdr__f input:focus,.sv-sdr__f select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.sv-sdr__hint{font-weight:400;font-size:13px;color:var(--sv-ink2);line-height:1.35}
.sv-sdr__row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sv-sdr__chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sv-sdr__chips--3{grid-template-columns:repeat(3,1fr)}
@media (min-width:560px){.sv-sdr__chips{grid-template-columns:repeat(3,1fr)}}
.sv-sdr__chips label{position:relative;display:block;cursor:pointer}
.sv-sdr__chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.sv-sdr__chips span{display:flex;flex-direction:column;justify-content:center;min-height:52px;height:100%;border:1.5px solid #B9C8D6;border-radius:10px;padding:8px 10px;font:700 14px/1.2 var(--f);color:var(--ink,#1E2328);background:#fff;transition:border-color .15s,background .15s}
.sv-sdr__chips small{font-weight:400;font-size:12px;color:var(--sv-ink2);margin-top:2px}
.sv-sdr__chips input:checked+span{border-color:var(--blue);background:var(--blue-l,#EAF2FA);color:var(--blue-d);box-shadow:inset 0 0 0 1px var(--blue)}
.sv-sdr__chips input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.sv-sdr__gas{margin-top:4px}
.sv-sdr__chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.35;margin-top:12px;cursor:pointer;color:var(--ink,#1E2328)}
.sv-sdr__chk input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--blue)}

.sv-sdr__out{border:1px solid var(--sv-line);border-radius:14px;padding:14px;background:linear-gradient(180deg,var(--blue-z,#F4F8FC),#fff 220px);min-width:0}
.sv-sdr__st{border-radius:10px;padding:11px 13px;font-size:15px;line-height:1.4;margin-bottom:12px;border-left:5px solid}
.sv-sdr__st--ok{background:#EAF6EF;border-color:var(--sv-ok)}
.sv-sdr__st--bad{background:#FBEDEB;border-color:var(--sv-bad)}
.sv-sdr__st--mid{background:#FDF3E6;border-color:var(--sv-mid)}
.sv-sdr__kpi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sv-sdr__card{background:#fff;border:1px solid var(--sv-line);border-radius:11px;padding:10px 12px;display:flex;flex-direction:column;min-width:0}
.sv-sdr__card:last-child:nth-child(odd){grid-column:1/-1}
.sv-sdr__card span{font-size:12.5px;color:var(--sv-ink2);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.sv-sdr__card b{font:700 26px/1.15 var(--fn,var(--f));color:var(--ink,#1E2328);margin:3px 0}
.sv-sdr__card small{font-size:13px;color:var(--sv-ink2);line-height:1.3}
.sv-sdr__card--acc{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.sv-sdr__card--acc b{color:var(--blue-d)}
.sv-sdr__card--bad b{color:var(--sv-bad)}
@media (min-width:560px){.sv-sdr__kpi{grid-template-columns:repeat(3,1fr)}.sv-sdr__card:last-child:nth-child(odd){grid-column:auto}}

.sv-sdr__vis{min-width:0;border:1px solid var(--sv-line);border-radius:12px;background:radial-gradient(120% 90% at 50% 40%,#fff,#E6EEF6);overflow:hidden}
.sv-sdr__stage{position:relative;height:320px}
@media (min-width:560px) and (max-width:1023.98px){.sv-sdr__stage{height:380px}}
@media (min-width:1024px){.sv-sdr__stage{height:clamp(380px,calc(100vh - 230px),600px)}}
.sv-sdr__cv{display:block;width:100%;height:100%;touch-action:pan-y;opacity:0;transition:opacity .4s}
.sv-sdr__stage.is-3d .sv-sdr__cv{opacity:1}
.sv-sdr__stage.is-active{box-shadow:inset 0 0 0 2px var(--blue)}
.sv-sdr__svg{position:absolute;inset:16px;margin:auto;width:calc(100% - 32px);height:calc(100% - 32px);max-width:300px}
.sv-sdr__stage.is-3d .sv-sdr__svg{display:none}
.sv-sdr__stage:not(.is-3d):not(.is-2d) .sv-sdr__svg{opacity:.35}
.sv-sdr__svg circle{transition:r .6s cubic-bezier(.2,.7,.2,1)}
.sv-sdr__svg text{font:700 12px var(--f);fill:#14528A}
.sv-sdr__svg .sv-sdr__st2{fill:#9a4d0c}
.sv-sdr__labels{position:absolute;inset:0;pointer-events:none}
.sv-sdr__stage:not(.is-3d) .sv-sdr__labels{display:none}
.sv-sdr__lb{position:absolute;left:0;top:0;white-space:nowrap;font:700 13px var(--f);color:#fff;background:rgba(20,82,138,.92);padding:3px 8px;border-radius:6px;margin:-12px 0 0 -10px;will-change:transform}
.sv-sdr__lb--e{background:#E07A1F}
.sv-sdr__lb--di{background:rgba(30,35,40,.85);margin-left:-40px}
.sv-sdr__lb--t{transform:none!important;left:10px;top:10px;margin:0;background:#fff;color:var(--ink,#1E2328);border:1px solid var(--sv-line);font-weight:400;white-space:normal;max-width:calc(100% - 20px)}
.sv-sdr__lb--t b{color:var(--blue-d)}
.sv-sdr__vbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px;border-top:1px solid var(--sv-line);background:#fff}
.sv-sdr__sdrchips{display:flex;flex-wrap:wrap;gap:5px}
.sv-sdr__chip3{border:1px solid #B9C8D6;background:#fff;border-radius:7px;min-width:40px;min-height:36px;padding:4px 7px;font:700 13px var(--f);color:var(--sv-ink2);cursor:pointer}
.sv-sdr__chip3.is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.sv-sdr__vbtns{display:flex;gap:6px}
.sv-sdr__vbtns .btn{min-height:40px}
.sv-sdr__stage.is-2d~.sv-sdr__vbar .sv-sdr__vbtns{display:none}

.sv-sdr__how{margin-top:20px;background:#fff;border:1px solid var(--sv-line);border-radius:12px;padding:10px 13px}
.sv-sdr__how summary{font-weight:700;color:var(--blue-d);cursor:pointer}
.sv-sdr__how p{margin:8px 0 0;font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}
.sv-sdr__warn{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.sv-sdr__w{font-size:14px;line-height:1.42;padding:8px 11px 8px 30px;border-radius:9px;position:relative;background:#fff;border:1px solid var(--sv-line)}
.sv-sdr__w:before{content:"";position:absolute;left:11px;top:13px;width:9px;height:9px;border-radius:50%;background:var(--blue)}
.sv-sdr__w--ok:before{background:var(--sv-ok)}
.sv-sdr__w--bad{background:#FBEDEB;border-color:#F0C9C3}.sv-sdr__w--bad:before{background:var(--sv-bad)}
.sv-sdr__w--mid{background:#FDF6EC;border-color:#F1DDBF}.sv-sdr__w--mid:before{background:var(--sv-mid)}
.sv-sdr__w--info{color:var(--sv-ink2)}
.sv-sdr__btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.sv-sdr__btns .btn{min-height:44px;flex:1 1 auto}
.sv-sdr__toast{font-size:14px;color:var(--sv-ok);font-weight:700;min-height:1em}
.sv-sdr__brand{margin-top:12px;font-size:13px;color:var(--sv-ink2);border-top:1px dashed var(--sv-line);padding-top:8px}

.sv-sdr__psum{display:none}
.sv-sdr__tblbox{margin-top:26px}
.sv-sdr__h{font-size:22px;margin:0 0 6px}
.sv-sdr__tnote{font-size:13.5px;margin:0 0 10px}
.sv-sdr__tbl{font-size:14.5px;min-width:640px}
.sv-sdr__tbl th{font-size:12.5px;line-height:1.25;vertical-align:bottom}
.sv-sdr__tbl td,.sv-sdr__tbl th{padding:8px 9px;white-space:nowrap}
.sv-sdr__tbl tbody tr{cursor:pointer}
.sv-sdr__tbl tbody tr:hover td{background:var(--blue-z,#F4F8FC)}
.sv-sdr__tbl tr.is-off td{color:#8A96A3}
.sv-sdr__tbl tr.is-view td{background:var(--blue-l,#EAF2FA)}
.sv-sdr__tbl tr.is-view td:first-child{box-shadow:inset 4px 0 0 var(--blue)}
.sv-sdr__tbl tr:focus-visible{outline:2px solid var(--blue)}
.sv-sdr__tag{display:inline-block;font-size:12px;font-weight:700;border-radius:5px;padding:2px 7px;margin-right:4px;color:#fff}
.sv-sdr__tag--min{background:var(--sv-mid)}
.sv-sdr__tag--rec{background:var(--sv-ok)}
.sv-sdr__y{color:var(--sv-ok);font-weight:700;font-size:13px}
.sv-sdr__n{color:#8A96A3;font-size:13px}
.sv-sdr__tip{font-size:13px;margin-top:6px}

.sv-sdr__gloss{margin-top:26px}
.sv-sdr__gloss dl{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0 0}
@media (min-width:720px){.sv-sdr__gloss dl{grid-template-columns:1fr 1fr}}
.sv-sdr__gloss dl>div{border:1px solid var(--sv-line);border-radius:12px;padding:12px 14px;background:#fff}
.sv-sdr__gloss dt{font:700 20px var(--fn,var(--f));color:var(--blue-d)}
.sv-sdr__gloss dd{margin:4px 0 0;font-size:15px;line-height:1.5}

@media (max-width:400px){.sv-sdr__chips--3 span{font-size:13px;padding:8px 7px}.sv-sdr__card b{font-size:22px}}

@media print{
  .sv-sdr{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sv-sdr__tabs,.sv-sdr__btns,.sv-sdr__vbar,.sv-sdr__cv,.sv-sdr__labels,.sv-sdr__tip{display:none!important}
  .sv-sdr__grid{display:flex!important;flex-direction:column;gap:10px}
  .sv-sdr__out{order:1}.sv-sdr__vis{order:2}
  .sv-sdr__vis{position:static!important;break-inside:avoid}
  .sv-sdr__form{display:none!important}
  .sv-sdr__psum{display:block;font-size:13px;margin:0 0 8px}
  .sv-sdr__kpi{grid-template-columns:repeat(3,1fr)!important}
  .sv-sdr__card b{font-size:20px}
  .sv-sdr__out{position:static!important;background:#fff;border-color:#999}
  .sv-sdr__fs,.sv-sdr__card,.sv-sdr__how,.sv-sdr__w{border-color:#bbb;break-inside:avoid}
  .sv-sdr__stage{height:200px!important}
  .sv-sdr__vis{background:#fff}
  .sv-sdr__stage .sv-sdr__svg{display:block!important;opacity:1!important}
  .sv-sdr__how{display:block}
  .sv-sdr__how[open] summary~*,.sv-sdr__how div{display:block}
  .sv-sdr__tbl{min-width:0;font-size:11px}
  .sv-sdr__tbl td,.sv-sdr__tbl th{padding:3px 5px}
  .sv-sdr__gloss{display:none}
  .sv-sdr__more{display:block}
  .sv-sdr__chips input:not(:checked)+span{display:none}
  .sv-sdr__chips{grid-template-columns:1fr 1fr!important}
}
