/* ElvoCAD — hesap modülü sayfaları: mühendislik paneli (elvocad-modul-pro.js ile birlikte) */
.mp-panel{
  --mp-bg:#09111e;--mp-s1:#0e192a;--mp-s2:#122136;--mp-s3:#172a43;
  --mp-line:#1f324b;--mp-line2:#2b4362;--mp-tx:#e9eff7;--mp-tx2:#a8b7cb;--mp-tx3:#7286a1;
  --mp-acc:#ff5a1f;--mp-acc2:#b3141b;--mp-ok:#1fb45a;--mp-warn:#fab219;--mp-bad:#e5484d;--mp-info:#3987e5;
  --mp-r:10px;--mp-ease:cubic-bezier(.22,.8,.24,1);
  position:absolute;top:8px;bottom:8px;left:282px;right:10px;z-index:26;
  display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;
  padding:12px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;
  background:radial-gradient(1200px 500px at 85% -10%,rgba(255,90,31,.07),transparent 60%),linear-gradient(180deg,#0a1322,#08101c);
  border:1px solid var(--mp-line);border-radius:12px;color:var(--mp-tx);
  font:13px/1.45 Inter,"Segoe UI",system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;
  container-type:inline-size;container-name:mp;scrollbar-width:thin;scrollbar-color:#2b4362 transparent;
}
.mp-panel[hidden]{display:none!important}
.mp-panel *{box-sizing:border-box}
.mp-panel.mp-sahne{bottom:auto;max-height:calc(100% - 16px);background:rgba(8,16,28,.97);backdrop-filter:blur(6px)}
.mp-panel.mp-sahne .mp-body{display:none}
/* eski sonuç satırı (#mqResults) ve not (.mq-footer-note) DOM'da kalır (test araçları okur); panel z-index ile üstünü örter */

/* giriş animasyonu */
.mp-in{opacity:0;transform:translateY(8px);animation:mpIn .52s var(--mp-ease) forwards;animation-delay:calc(var(--i,0) * 55ms)}
@keyframes mpIn{to{opacity:1;transform:none}}

/* başlık */
.mp-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:44px;flex-shrink:0}
.mp-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 280px}
.mp-no{display:inline-grid;place-items:center;min-width:46px;height:34px;padding:0 8px;border-radius:8px;font:700 14px/1 Inter,system-ui;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,var(--mp-acc),var(--mp-acc2));box-shadow:0 4px 18px rgba(255,90,31,.25)}
.mp-title h2{margin:0;font:700 17px/1.2 "Plus Jakarta Sans",Inter,system-ui;color:var(--mp-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-title p{margin:2px 0 0;font-size:12px;color:var(--mp-tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-title>div{min-width:0}
.mp-tt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.mp-tt .mp-chip{height:20px;padding:0 7px;font-size:10.5px}
.mp-std{display:flex;gap:6px;flex-wrap:wrap}
.mp-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border:1px solid var(--mp-line2);border-radius:999px;background:var(--mp-s1);color:var(--mp-tx2);font:600 11px/1 Inter,system-ui;white-space:nowrap}
.mp-chip svg{width:12px;height:12px;color:var(--mp-tx3)}
.mp-verdict{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:8px;font:700 12px/1 Inter,system-ui;letter-spacing:.04em;border:1px solid;white-space:nowrap;transition:background .3s,border-color .3s,color .3s}
.mp-verdict svg{width:16px;height:16px}
.mp-verdict[data-sev=ok]{color:#7ee2a4;border-color:rgba(31,180,90,.45);background:rgba(31,180,90,.10)}
.mp-verdict[data-sev=warn]{color:#ffd36b;border-color:rgba(250,178,25,.45);background:rgba(250,178,25,.10)}
.mp-verdict[data-sev=bad]{color:#ff9a9d;border-color:rgba(229,72,77,.5);background:rgba(229,72,77,.12)}
.mp-verdict[data-sev=info]{color:#9cc3f5;border-color:rgba(57,135,229,.45);background:rgba(57,135,229,.10)}
.mp-verdict.mp-flash{animation:mpFlash .7s var(--mp-ease)}
@keyframes mpFlash{0%{transform:scale(.96);filter:brightness(1.6)}100%{transform:none;filter:none}}

.mp-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mp-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--mp-line2);border-radius:8px;background:var(--mp-s1);color:var(--mp-tx2);font:600 12px/1 Inter,system-ui;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .12s}
.mp-btn svg{width:15px;height:15px;flex:none}
.mp-btn:hover{background:var(--mp-s3);color:var(--mp-tx);border-color:#3a5678}
.mp-btn:active{transform:translateY(1px)}
.mp-btn[aria-pressed=true]{color:#fff;border-color:rgba(255,90,31,.7);background:rgba(255,90,31,.16)}
.mp-btn:focus-visible,.mp-seg button:focus-visible,.mp-panel [tabindex]:focus-visible,.mp-panel summary:focus-visible{outline:2px solid var(--mp-acc);outline-offset:2px}
.mp-seg{display:inline-flex;padding:2px;border:1px solid var(--mp-line2);border-radius:9px;background:var(--mp-s1)}
.mp-seg button{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--mp-tx3);font:600 12px/1 Inter,system-ui;cursor:pointer;transition:background .2s,color .2s}
.mp-seg button svg{width:14px;height:14px}
.mp-seg button[aria-pressed=true]{background:linear-gradient(135deg,var(--mp-acc),#d7361c);color:#fff;box-shadow:0 2px 10px rgba(255,90,31,.3)}
@container mp (max-width:1240px){.mp-btn-lbl{display:none}.mp-btn{padding:0 8px}}

/* KPI kartları */
.mp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;flex-shrink:0}
.mp-kpi{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;gap:2px 8px;min-height:96px;padding:10px 12px 9px 14px;border:1px solid var(--mp-line);border-radius:var(--mp-r);background:linear-gradient(180deg,var(--mp-s2),var(--mp-s1));overflow:hidden;transition:border-color .3s}
.mp-kpi::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--mp-line2);transition:background .3s}
.mp-kpi[data-sev=ok]::before{background:var(--mp-ok)}.mp-kpi[data-sev=warn]::before{background:var(--mp-warn)}.mp-kpi[data-sev=bad]::before{background:var(--mp-bad)}.mp-kpi[data-sev=info]::before{background:var(--mp-info)}
.mp-kpi[data-sev=bad]{border-color:rgba(229,72,77,.4)}
.mp-kpi-ad{grid-column:1;font:600 11px/1.3 Inter,system-ui;color:var(--mp-tx3);letter-spacing:.03em;text-transform:uppercase;min-width:0}
.mp-kpi-v{grid-column:1;align-self:end;display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap}
.mp-kpi-v b{font:700 24px/1.05 Inter,system-ui;color:var(--mp-tx);letter-spacing:-.01em}
.mp-kpi-v b.mp-uzun{font-size:15px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mp-kpi-v span{font:600 12px/1 Inter,system-ui;color:var(--mp-tx2)}
.mp-kpi-alt{grid-column:1/3;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--mp-tx3);min-height:18px}
.mp-kpi-ring{grid-column:2;grid-row:1/3;width:46px;height:46px;align-self:center}
.mp-kpi-ring circle{fill:none;stroke-width:5}
.mp-kpi-ring .mp-ring-bg{stroke:#1d2f47}
.mp-kpi-ring .mp-ring-v{stroke-linecap:round;transition:stroke-dashoffset .8s var(--mp-ease),stroke .3s}
.mp-tag{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:5px;font:700 10px/1 Inter,system-ui;letter-spacing:.04em;white-space:nowrap}
.mp-tag svg{width:11px;height:11px}
.mp-tag[data-sev=ok]{background:rgba(31,180,90,.14);color:#7ee2a4}
.mp-tag[data-sev=warn]{background:rgba(250,178,25,.14);color:#ffd36b}
.mp-tag[data-sev=bad]{background:rgba(229,72,77,.16);color:#ff9a9d}
.mp-tag[data-sev=info]{background:rgba(57,135,229,.14);color:#9cc3f5}
.mp-tag[data-sev=n]{background:#18283e;color:var(--mp-tx2)}
.mp-delta{font-weight:700;color:var(--mp-tx2)}

/* gövde */
.mp-body{flex:1 0 auto;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:8px;min-height:560px;height:0}
.mp-main{display:grid;grid-template-rows:minmax(300px,1.45fr) minmax(220px,1fr);gap:8px;min-height:0;min-width:0}
.mp-main.mp-tek{grid-template-rows:minmax(300px,1fr)}
.mp-row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;min-height:0;min-width:0}
.mp-side{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0}
.mp-card{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--mp-line);border-radius:var(--mp-r);background:var(--mp-s1);overflow:hidden}
.mp-side .mp-card{flex:1 1 auto}
.mp-card-h{display:flex;align-items:center;gap:8px;padding:9px 12px 7px;border-bottom:1px solid #18293f;min-height:38px;flex-wrap:wrap}
.mp-card-h h3{margin:0;font:700 12.5px/1.2 Inter,system-ui;color:var(--mp-tx);letter-spacing:.01em}
.mp-card-h small{color:var(--mp-tx3);font-size:11px}
.mp-card-h .mp-sp{flex:1}
.mp-card-h svg.mp-ico{width:15px;height:15px;color:var(--mp-acc)}
.mp-leg{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--mp-tx2)}
.mp-leg i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}
.mp-leg i.d{background:none!important;border-top:2px dashed;height:0}
.mp-viz{position:relative;flex:1 1 auto;min-height:0;min-width:0}
.mp-viz>svg,.mp-viz>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.mp-tip{position:absolute;z-index:3;pointer-events:none;min-width:120px;max-width:280px;padding:7px 9px;border:1px solid #33506f;border-radius:8px;background:rgba(10,19,33,.96);box-shadow:0 8px 24px rgba(0,0,0,.45);color:var(--mp-tx);font:12px/1.45 Inter,system-ui;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s;white-space:nowrap}
.mp-tip.on{opacity:1;transform:none}
.mp-tip b{font-weight:700}
.mp-tip i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}
.mp-tip .t{color:var(--mp-tx3);font-size:11px;margin-bottom:2px}

/* adımlar */
.mp-steps{flex:1 1 auto;overflow:auto;padding:4px 10px 8px;scrollbar-width:thin;scrollbar-color:#2b4362 transparent;min-height:120px}
.mp-step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:3px 8px;padding:8px 2px;border-bottom:1px dashed #1c2e45}
.mp-step:last-child{border-bottom:0}
.mp-step-n{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:#18283e;color:var(--mp-acc);font:700 11px/1 Inter,system-ui}
.mp-step-b{font:600 12px/1.35 Inter,system-ui;color:var(--mp-tx);align-self:center}
.mp-step-f{grid-column:2;font:500 12px/1.5 "JetBrains Mono",ui-monospace,Consolas,monospace;color:#cfe0f5;word-break:break-word}
.mp-step-y{grid-column:2;font:11.5px/1.5 "JetBrains Mono",ui-monospace,Consolas,monospace;color:var(--mp-tx3);word-break:break-word}
.mp-step-s{grid-column:2;font:700 13px/1.4 Inter,system-ui;color:#ffb38f}
.mp-notes{border-top:1px solid #18293f;flex:none}
.mp-notes summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:9px 12px;font:600 12px/1.2 Inter,system-ui;color:var(--mp-tx2)}
.mp-notes summary::-webkit-details-marker{display:none}
.mp-notes summary svg{width:14px;height:14px;transition:transform .2s}
.mp-notes[open] summary svg{transform:rotate(90deg)}
.mp-notes p{margin:0;padding:0 12px 12px;font-size:12px;line-height:1.55;color:var(--mp-tx2);max-height:170px;overflow:auto}
.mp-scen{padding:12px 14px;font-size:12.5px;line-height:1.6;color:var(--mp-tx2)}
.mp-scen b{color:var(--mp-tx)}
.mp-matrix{width:100%;border-collapse:collapse;font-size:12px}
.mp-matrix td,.mp-matrix th{padding:8px 12px;border-bottom:1px solid #18293f;text-align:left}
.mp-matrix th{color:var(--mp-tx3);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}

/* toast */
.mp-toast{position:absolute;right:16px;bottom:16px;z-index:5;padding:9px 14px;border-radius:8px;border:1px solid #33506f;background:#10203a;color:var(--mp-tx);font:600 12px/1.2 Inter,system-ui;box-shadow:0 10px 30px rgba(0,0,0,.4);opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;pointer-events:none}
.mp-toast.on{opacity:1;transform:none}

/* SVG animasyon sınıfları */
.mp-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:mpDraw 1.1s var(--mp-ease) forwards}
@keyframes mpDraw{to{stroke-dashoffset:0}}
.mp-morph{transition:d .5s var(--mp-ease)}
.mp-geo{transition:cx .5s var(--mp-ease),cy .5s var(--mp-ease),r .5s var(--mp-ease),x .5s var(--mp-ease),y .5s var(--mp-ease),width .5s var(--mp-ease),height .5s var(--mp-ease),d .5s var(--mp-ease),opacity .3s}
.mp-flow{stroke-dasharray:3 11;animation:mpFlow var(--dur,1.4s) linear infinite;animation-delay:var(--mp-faz,0s)}
@keyframes mpFlow{to{stroke-dashoffset:-14}}
.mp-pulse{transform-box:fill-box;transform-origin:center;animation:mpPulse 2.6s ease-out infinite;animation-delay:calc(var(--mp-faz,0s) + var(--d,0s))}
@keyframes mpPulse{0%{transform:scale(.25);opacity:.75}80%{opacity:0}100%{transform:scale(1);opacity:0}}
.mp-glow{animation:mpGlow 3.4s ease-in-out infinite alternate;animation-delay:calc(var(--mp-faz,0s) + var(--d,0s))}
@keyframes mpGlow{0%{opacity:.62}50%{opacity:.88}100%{opacity:.7}}
.mp-spin{animation:mpSpin 30s linear infinite;animation-delay:var(--mp-faz,0s)}
@keyframes mpSpin{to{transform:rotate(360deg)}}
.mp-pop{transform-box:fill-box;transform-origin:center;animation:mpPop .5s var(--mp-ease) both;animation-delay:var(--d,0s)}
@keyframes mpPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.mp-bolt{animation:mpBolt 4.2s linear infinite;animation-delay:var(--mp-faz,0s)}
@keyframes mpBolt{0%,86%,100%{opacity:0}87%,89%{opacity:1}88%{opacity:.3}}
.mp-bar{transition:y .55s var(--mp-ease),height .55s var(--mp-ease),x .55s var(--mp-ease),width .55s var(--mp-ease),fill .3s}
.mp-chev{animation:mpChev 1.6s linear infinite;animation-delay:calc(var(--mp-faz,0s) + var(--d,0s))}
@keyframes mpChev{0%{opacity:.15}50%{opacity:1}100%{opacity:.15}}

/* modül dışındayken / sekme gizliyken döngüler durur */
.mp-panel.mp-dur :is(.mp-flow,.mp-pulse,.mp-glow,.mp-spin,.mp-bolt,.mp-chev),.mp-panel.mp-sahne :is(.mp-flow,.mp-pulse,.mp-glow,.mp-spin,.mp-bolt,.mp-chev){animation-play-state:paused!important}

/* duyarlılık */
@container mp (max-width:880px){.mp-body{grid-template-columns:1fr;height:auto;min-height:0}.mp-main{grid-template-rows:360px 280px}.mp-main.mp-tek{grid-template-rows:380px}.mp-side{height:auto}.mp-side .mp-card{min-height:320px}.mp-steps{max-height:420px}}
@container mp (max-width:760px){.mp-kpi-v b{font-size:20px}.mp-title h2{font-size:15px}}
@media (max-height:820px){.mp-kpi{min-height:84px;padding:8px 10px 8px 13px}.mp-kpi-v b{font-size:21px}.mp-kpi-ring{width:40px;height:40px}.mp-main{grid-template-rows:minmax(230px,1.4fr) minmax(180px,1fr)}.mp-body{min-height:430px}.mp-head{min-height:40px}}
@media (prefers-reduced-motion:reduce){
  .mp-panel *,.mp-panel{animation:none!important;transition:none!important}
  .mp-in{opacity:1;transform:none}
  .mp-draw{stroke-dashoffset:0}
}
