/* ============================================================
   INNOVATIK — konfigurátor haly (samostatný štýl)
   ============================================================ */

.page-hero--planner{padding-bottom:60px}
.ph-split{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:end}
@media(max-width:1020px){.ph-split{grid-template-columns:1fr;gap:34px}}
.ph-mini{display:grid;gap:12px}
.mini-stat{
  background:rgba(132,202,234,.05);border:1px solid var(--line);border-radius:14px;
  padding:16px 20px;display:flex;align-items:baseline;gap:14px;
  transition:border-color .3s,transform .3s;
}
.mini-stat:hover{border-color:var(--line-strong);transform:translateX(-4px)}
.mini-stat b{font-family:var(--font-head);font-size:1.6rem;color:var(--accent);min-width:70px;letter-spacing:-.02em}
.mini-stat span{font-size:.82rem;color:var(--muted)}

.planner-section{padding:34px 0 90px}

/* ---------- horný panel ---------- */
.pl-bar{
  display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-bottom:20px;
  background:linear-gradient(160deg,var(--panel),var(--bg-2));
  border:1px solid var(--line);border-radius:16px;padding:14px 20px;
  position:sticky;top:72px;z-index:850;backdrop-filter:blur(14px);
}
.pl-bar-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pl-bar-group--right{margin-left:auto}
.pl-bar-label{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);font-weight:600;
}
.pl-dim{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted)}
.pl-dim input{
  width:66px;padding:8px 10px;border-radius:9px;background:rgba(132,202,234,.07);
  border:1px solid var(--line);color:var(--text);font-family:var(--font-head);font-size:.92rem;
  font-weight:600;outline:none;transition:border-color .2s,box-shadow .2s;
}
.pl-dim input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(132,202,234,.12)}
.pl-dim i{font-style:normal;color:var(--muted-2);font-size:.78rem}

.pl-switch{display:flex;background:rgba(132,202,234,.06);border:1px solid var(--line);border-radius:11px;padding:3px;gap:3px}
.pl-switch button{
  padding:8px 16px;border:0;border-radius:8px;background:transparent;color:var(--muted);
  font-size:.82rem;font-weight:600;transition:.25s;
}
.pl-switch button.on{background:var(--accent);color:#06121e;box-shadow:0 4px 14px rgba(132,202,234,.25)}

.pl-tbtn{
  padding:9px 15px;border-radius:10px;border:1px solid var(--line);background:rgba(132,202,234,.06);
  color:var(--text);font-size:.8rem;font-weight:600;transition:.2s;white-space:nowrap;
}
.pl-tbtn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.pl-tbtn:disabled{opacity:.32;cursor:not-allowed;transform:none}
.pl-tbtn:disabled:hover{border-color:var(--line);color:var(--text)}
.pl-tbtn.danger:hover{border-color:var(--danger);color:var(--danger)}

/* ---------- rozloženie ---------- */
.planner{display:grid;grid-template-columns:298px 1fr 306px;gap:20px;align-items:start}
@media(max-width:1280px){.planner{grid-template-columns:270px 1fr}.pl-right{grid-column:1/-1}}
@media(max-width:900px){.planner{grid-template-columns:1fr}}

.pl-panel{
  background:linear-gradient(160deg,var(--panel),var(--bg-2));
  border:1px solid var(--line);border-radius:var(--radius);padding:22px;
  position:relative;overflow:hidden;
}
.pl-panel::before{
  content:"";position:absolute;top:0;left:20px;right:20px;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.45;
}
.pl-panel h3{font-size:.98rem;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.pl-panel h3::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--accent);box-shadow:0 0 10px var(--glow)}
.pl-tip{font-size:.78rem;color:var(--muted-2);margin-bottom:16px;line-height:1.5}

/* šablóny */
.pl-presets{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.preset-row{display:grid;gap:8px}
.preset-row button{
  text-align:left;padding:12px 14px;border-radius:11px;border:1px solid var(--line);
  background:rgba(132,202,234,.04);transition:.22s;
}
.preset-row button:hover{border-color:var(--accent);background:rgba(132,202,234,.1);transform:translateX(3px)}
.preset-row b{display:block;font-family:var(--font-head);font-size:.86rem;color:var(--text);margin-bottom:2px}
.preset-row span{font-size:.72rem;color:var(--muted-2)}

/* paleta */
.pal-group{margin-bottom:16px}
.pal-group-title{
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);
  font-weight:600;margin-bottom:8px;padding-left:2px;
}
.pl-item{
  display:flex;gap:11px;align-items:center;padding:10px 11px;border-radius:11px;cursor:grab;
  border:1px solid var(--line);margin-bottom:7px;background:rgba(132,202,234,.03);
  transition:border-color .2s,transform .2s,background .2s;user-select:none;
}
.pl-item:hover{border-color:var(--accent);background:rgba(132,202,234,.09);transform:translateX(4px)}
.pl-item:active,.pl-item.dragging{cursor:grabbing;opacity:.6}
.pl-swatch{
  width:32px;height:32px;border-radius:8px;flex-shrink:0;border:1.5px solid;
  display:flex;align-items:center;justify-content:center;
}
.pl-swatch svg{width:17px;height:17px}
.pl-item b{font-size:.8rem;display:block;line-height:1.3;font-family:var(--font-head)}
.pl-item span{font-size:.68rem;color:var(--muted-2)}

/* ---------- plocha ---------- */
.pl-stage-wrap{position:relative}
#plStage{
  position:relative;width:100%;background:
    radial-gradient(120% 90% at 50% 0%,#0d1a29,#070f18 70%);
  border:1px solid var(--line-strong);border-radius:18px;overflow:hidden;touch-action:none;
  box-shadow:inset 0 0 80px rgba(0,0,0,.6),0 20px 60px rgba(0,0,0,.35);
}
#plStage.drop-active{border-color:var(--accent);box-shadow:inset 0 0 80px rgba(132,202,234,.12),0 0 40px var(--glow)}
#plSvg{display:block;width:100%;height:auto}

.pl-hint{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;text-align:center;padding:20px;
}
.pl-hint b{display:block;font-family:var(--font-head);font-size:1.1rem;color:var(--muted);margin-bottom:6px}
.pl-hint span{font-size:.88rem;color:var(--muted-2)}

.pl-legend{
  position:absolute;left:16px;bottom:14px;display:flex;gap:16px;flex-wrap:wrap;
  font-size:.7rem;color:var(--muted-2);pointer-events:none;
}
.pl-legend span{display:inline-flex;align-items:center;gap:6px}
.lg{width:14px;height:9px;border-radius:3px;display:inline-block;border:1px solid}
.lg-safe{background:rgba(132,202,234,.12);border-color:rgba(132,202,234,.45);border-style:dashed}
.lg-bad{background:rgba(255,107,107,.16);border-color:var(--danger)}
.lg-gate{background:rgba(255,182,72,.14);border-color:var(--warn)}

.pl-zoom{
  position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:4px;
  background:rgba(7,13,22,.8);backdrop-filter:blur(10px);border:1px solid var(--line);
  border-radius:10px;padding:4px;
}
.pl-zoom button{
  width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--accent);
  font-size:1.05rem;font-weight:700;transition:.2s;
}
.pl-zoom button:hover{background:rgba(132,202,234,.16)}
.pl-zoom span{font-size:.72rem;color:var(--muted);min-width:44px;text-align:center;font-family:var(--font-head)}

/* kontroly dispozície */
.pl-checks{display:grid;gap:8px;margin-top:14px}
.chk{
  display:flex;gap:11px;align-items:flex-start;padding:12px 16px;border-radius:12px;
  font-size:.82rem;border:1px solid;line-height:1.45;
}
.chk i{font-style:normal;font-size:.95rem;line-height:1.2;flex-shrink:0}
.chk-ok{background:rgba(57,217,138,.06);border-color:rgba(57,217,138,.28);color:#a9edcd}
.chk-warn{background:rgba(255,182,72,.06);border-color:rgba(255,182,72,.3);color:#ffd9a1}
.chk-bad{background:rgba(255,107,107,.06);border-color:rgba(255,107,107,.3);color:#ffc1c1}

/* ---------- pravý panel ---------- */
.pl-summary{display:grid;gap:0;margin-bottom:18px}
.sum-row{
  display:flex;justify-content:space-between;gap:10px;padding:9px 0;
  border-bottom:1px dashed rgba(132,202,234,.12);font-size:.82rem;
}
.sum-row:last-child{border-bottom:0}
.sum-row span{color:var(--muted)}
.sum-row b{font-family:var(--font-head);white-space:nowrap}
.sum-empty{font-size:.82rem;color:var(--muted-2);padding:10px 0}

.pl-kpi{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.kpi{
  background:rgba(7,13,22,.5);border:1px solid var(--line);border-radius:11px;padding:12px 14px;
}
.kpi span{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-bottom:3px}
.kpi b{font-family:var(--font-head);font-size:1.02rem;color:var(--accent)}

.pl-usage{margin-bottom:18px}
.pl-usage-top{display:flex;justify-content:space-between;font-size:.82rem;color:var(--muted);margin-bottom:8px}
.pl-usage-top b{font-family:var(--font-head);color:var(--text)}
.pl-meter{height:9px;border-radius:6px;background:rgba(132,202,234,.12);overflow:hidden}
.pl-meter i{display:block;height:100%;width:0;border-radius:6px;transition:width .45s cubic-bezier(.2,.65,.3,1);
  background:linear-gradient(90deg,var(--accent-deep),var(--accent))}
.pl-meter.warn i{background:linear-gradient(90deg,#c78320,var(--warn))}
.pl-meter.hot i{background:linear-gradient(90deg,#c2402a,var(--danger))}
.pl-usage small{display:block;font-size:.72rem;color:var(--muted-2);margin-top:8px;line-height:1.5}

.sel-info{
  margin-bottom:18px;padding:16px;border-radius:14px;border:1px solid var(--line-strong);
  background:rgba(132,202,234,.06);display:none;
}
.sel-info.show{display:block;animation:selIn .3s ease}
@keyframes selIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.sel-lbl{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}
.sel-info>b{display:block;font-family:var(--font-head);font-size:1rem;margin:6px 0 3px}
.sel-info>span{font-size:.78rem;color:var(--muted)}
.sel-specs{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.sel-specs i{
  font-style:normal;font-size:.68rem;padding:4px 9px;border-radius:6px;
  background:rgba(7,13,22,.5);border:1px solid var(--line);color:var(--muted);
}
.sel-actions{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.sel-actions .pl-tbtn{padding:7px 11px;font-size:.74rem}

.pl-send{width:100%;justify-content:center}
.pl-note{font-size:.72rem;color:var(--muted-2);line-height:1.55;margin-top:14px}

/* toast */
#plToast{
  position:fixed;left:50%;bottom:34px;transform:translate(-50%,20px);z-index:2500;
  background:rgba(9,17,28,.94);backdrop-filter:blur(14px);border:1px solid var(--line-strong);
  border-radius:14px;padding:14px 24px;font-size:.86rem;color:var(--text);
  box-shadow:0 18px 46px rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.35s;
}
#plToast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
#plToast.bad{border-color:rgba(255,107,107,.5);color:#ffc1c1}

/* ============================================================
   v3 — tok výroby, otáčanie, technický list
   ============================================================ */

.pl-tbtn.accent{
  border-color:rgba(255,176,32,.45);color:var(--amber);background:rgba(255,176,32,.08);
}
.pl-tbtn.accent:hover{border-color:var(--amber);background:rgba(255,176,32,.16);color:var(--amber)}

/* tlačidlo simulácie toku */
.flow-btn{
  position:absolute;left:16px;top:16px;z-index:6;
  padding:10px 18px;border:1px solid rgba(255,176,32,.4);background:rgba(9,14,20,.86);
  backdrop-filter:blur(10px);color:var(--amber);font-family:var(--font-mono);
  font-size:.76rem;font-weight:500;letter-spacing:.06em;transition:.22s;border-radius:2px;
}
.flow-btn:hover{background:rgba(255,176,32,.16);border-color:var(--amber)}
.flow-btn.on{background:var(--amber);color:#1a1000;border-color:var(--amber);font-weight:700}

/* blok priepustnosti v pravom paneli */
.pl-flowbox{
  border:1px solid rgba(255,176,32,.24);background:rgba(255,176,32,.045);
  padding:16px;margin-bottom:18px;border-radius:2px;
}
.pl-flow-head{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;
}
.pl-flow-head > span{
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-weight:600;
}
.shift-sw{display:flex;gap:2px;border:1px solid var(--line);padding:2px}
.shift-sw button{
  padding:4px 8px;border:0;background:transparent;color:var(--muted-2);
  font-family:var(--font-mono);font-size:.68rem;transition:.2s;
}
.shift-sw button.on{background:var(--amber);color:#1a1000;font-weight:600}

.flow-row{
  display:flex;justify-content:space-between;gap:10px;padding:6px 0;
  border-bottom:1px dashed rgba(255,176,32,.16);font-size:.8rem;
}
.flow-row:last-of-type{border-bottom:0}
.flow-row span{color:var(--muted)}
.flow-row b{font-family:var(--font-mono);color:var(--amber);letter-spacing:-.02em}
.flow-neck{
  margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,176,32,.2);
  font-size:.76rem;color:var(--muted-2);
}
.flow-neck b{color:var(--amber);font-family:var(--font-mono)}

/* kurzor pri otáčaní 3D */
#plSvg{cursor:default}

/* legenda doplnená o tok */
.lg-flow{background:rgba(255,176,32,.2);border-color:var(--amber);border-style:dashed}

@media(max-width:640px){
  .flow-btn{left:10px;top:10px;padding:8px 12px;font-size:.7rem}
  .pl-bar{position:static}
}

/* ---------- pevná pracovná plocha: scéna sa vždy zmestí ---------- */
#plStage{height:clamp(420px,66vh,680px)}
#plSvg{width:100%;height:100%;display:block}
@media(max-width:900px){#plStage{height:clamp(340px,52vh,460px)}}
