/* ============================================================
   Moduly: sklad, objednávky, mapa, práva, CMS, grafy
   ============================================================ */

/* ============ SKLAD ============ */
.wh-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(192px,1fr));gap:10px;margin-bottom:16px}
.wh-card{
  text-align:left;border:1px solid var(--line);background:var(--panel);padding:13px 14px;
  display:grid;gap:9px;transition:border-color .14s,background .14s,transform .14s;
}
.wh-card:hover{border-color:var(--gold-dim);transform:translateY(-1px)}
.wh-card.on{border-color:var(--gold);background:linear-gradient(150deg,rgba(209,170,96,.09),var(--panel))}
.wh-card.drop{border-color:var(--gain);background:var(--gain-wash);border-style:dashed}
.wh-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.wh-name{font-family:var(--f-display);font-size:14.5px;font-weight:600}
.wh-card.on .wh-name{color:var(--gold)}
.wh-code{font-size:9.5px;letter-spacing:.1em;color:var(--text-3)}
.wh-stats{display:flex;gap:14px}
.wh-stat{display:grid;gap:1px}
.wh-stat em{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;color:var(--text-3);font-style:normal;white-space:nowrap}
.wh-stat b{font-size:14px;font-weight:600}
.wh-stat.warn b{color:var(--warn)}
.wh-stat.bad b{color:var(--loss-2)}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs button{
  border-bottom:2px solid transparent;color:var(--text-3);
  padding:10px 14px;font-size:12.5px;font-weight:600;white-space:nowrap;
  display:flex;align-items:center;gap:7px;
}
.tabs button:hover{color:var(--text-2)}
.tabs button.on{color:var(--gold);border-bottom-color:var(--gold)}

.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:10px}
.slot{
  position:relative;border:1px solid var(--line-2);
  background:linear-gradient(155deg,#17150F,#0C0B08);
  padding:11px 11px 34px;display:grid;gap:6px;text-align:center;
  transition:border-color .12s,transform .12s,background .12s;cursor:grab;
}
.slot:hover{border-color:var(--gold-dim);transform:translateY(-2px);background:linear-gradient(155deg,#1C1912,#0E0D09)}
.slot.dragging{opacity:.35;cursor:grabbing}
.slot.s-low{border-color:rgba(224,163,62,.45)}
.slot.s-out{border-color:rgba(217,97,79,.5);background:linear-gradient(155deg,#1A1210,#0C0908)}
.slot-ico{display:block;padding:0 12%}
.slot-ico .ico-fb{font-size:3em}
.slot-name{
  display:block;font-size:11.5px;font-weight:500;color:var(--text-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.slot-qty{
  position:absolute;left:0;right:0;bottom:0;padding:6px 9px;
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--line);background:rgba(0,0,0,.35);
}
.slot-qty b{font-size:13px;font-weight:600}
.slot.s-low .slot-qty b{color:var(--warn)}
.slot.s-out .slot-qty b{color:var(--loss-2)}
.flag{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.1em;font-weight:600;padding:2px 4px}
.flag.low{color:var(--warn);background:var(--warn-wash);border:1px solid rgba(224,163,62,.35)}
.flag.out{color:var(--loss-2);background:var(--loss-wash);border:1px solid rgba(217,97,79,.35)}
.flag.unit{color:var(--text-3)}
.slot-drag{position:absolute;top:7px;right:7px;color:var(--text-3);opacity:0;transition:opacity .12s}
.slot:hover .slot-drag{opacity:1}

.inv-list{border:1px solid var(--line);background:var(--panel)}
.inv-row{
  display:grid;grid-template-columns:34px 1fr 110px 80px 90px;gap:12px;align-items:center;
  padding:9px 13px;border-top:1px solid var(--line);cursor:pointer;
}
.inv-row:first-child{border-top:0}
.inv-row:hover{background:var(--gold-wash)}
.inv-row .ico{width:30px}
.inv-row .ico-fb{font-size:1.1em}
.ir-name{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ir-low{text-align:right;font-size:11px;color:var(--text-3)}
.inv-row b{text-align:right}

/* stav položky v drawer */
.stock-now{
  display:flex;align-items:baseline;gap:10px;padding:12px 14px;
  border:1px solid var(--line);background:var(--panel);margin-bottom:16px;
}
.stock-now .big{font-size:26px;font-weight:600}
.stock-now .unit{font-size:12px;color:var(--text-3)}
.stock-now .thr{margin-left:auto;font-size:11px;color:var(--text-3);text-align:right}

.dir{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}
.dir button{
  display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;
  font-size:13px;font-weight:700;border:1px solid var(--line-2);
  background:var(--panel-2);color:var(--text-2);
}
.dir button.on-in{border-color:var(--gain);color:var(--gain-2);background:var(--gain-wash)}
.dir button.on-out{border-color:var(--loss);color:var(--loss-2);background:var(--loss-wash)}

.stepper{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:7px;align-items:stretch}
.stepper button{
  min-width:46px;padding:0 10px;font-family:var(--f-mono);font-size:13px;font-weight:600;
  border:1px solid var(--line-2);background:var(--panel-2);color:var(--text-2);
}
.stepper button:hover{border-color:var(--gold-dim);color:var(--gold)}
.stepper input{
  text-align:center;font-family:var(--f-mono);font-size:21px;font-weight:600;
  padding:10px 6px;min-width:0;
}
.quick{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.quick button{
  padding:5px 10px;font-size:11.5px;font-weight:600;
  border:1px solid var(--line);color:var(--text-3);
}
.quick button:hover{border-color:var(--gold-dim);color:var(--gold)}

.result{
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin-top:15px;padding:13px;border:1px solid var(--line);background:var(--bg);
}
.result .from{font-size:17px;color:var(--text-3)}
.result .to{font-size:23px;font-weight:600}
.result .arrow{color:var(--text-3);display:flex}
.result .tag{font-size:12px;font-weight:600;padding:3px 8px}
.result.up .to{color:var(--gain-2)}
.result.up .tag{color:var(--gain-2);background:var(--gain-wash);border:1px solid rgba(95,176,124,.3)}
.result.down .to{color:var(--loss-2)}
.result.down .tag{color:var(--loss-2);background:var(--loss-wash);border:1px solid rgba(217,97,79,.3)}
.result.zero{border-color:rgba(217,97,79,.4)}

.reasons{display:flex;gap:7px;flex-wrap:wrap}
.reasons button{
  padding:7px 11px;font-size:12px;font-weight:600;
  border:1px solid var(--line-2);background:var(--panel-2);color:var(--text-2);
}
.reasons button:hover{border-color:var(--gold-dim);color:var(--text)}
.reasons button.on{border-color:var(--gold);color:var(--gold);background:var(--gold-wash)}

.trend-box{margin-top:20px;border:1px solid var(--line);background:var(--panel);padding:13px}
.mini-log{display:flex;flex-direction:column}
.mini-row{
  display:grid;grid-template-columns:56px 1fr auto auto;gap:10px;align-items:center;
  padding:7px 0;border-top:1px solid var(--line);font-size:11.5px;
}
.mini-row:first-child{border-top:0}
.mini-row small{display:block;color:var(--text-3);font-size:10px;margin-top:1px}
.mini-row .when{color:var(--text-3);font-size:10.5px}

/* inventura */
.audit-hero{
  border:1px solid var(--gold-dim);
  background:linear-gradient(120deg,rgba(209,170,96,.1),var(--panel));
  padding:17px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;
}
.audit-hero h3{font-size:16px;margin:5px 0 5px}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.audit-sheet{border:1px solid var(--line);background:var(--panel)}
.audit-row{
  display:grid;grid-template-columns:32px 1fr 90px 108px 92px;gap:12px;align-items:center;
  padding:8px 13px;border-top:1px solid var(--line);
}
.audit-row:first-child{border-top:0}
.audit-row.head{
  background:var(--panel-2);font-family:var(--f-mono);font-size:9.5px;
  letter-spacing:.12em;color:var(--gold-dim);
}
.audit-row .ico{width:28px}
.audit-row .ico-fb{font-size:1em}
.ar-name{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audit-row input{text-align:center;font-family:var(--f-mono);font-size:13px;padding:7px}
.diff{font-size:12.5px;font-weight:600;color:var(--text-3)}
.diff.ok{color:var(--gain-2)}
.diff.up{color:var(--gain-2)}
.diff.down{color:var(--loss-2)}

/* správa skladu */
.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.panel{border:1px solid var(--line);background:var(--bg-2);padding:13px}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.panel-h h4{font-family:var(--f-display);font-size:13px}
.panel-list{display:flex;flex-direction:column;max-height:390px;overflow-y:auto}
.panel-row{
  display:grid;grid-template-columns:32px 1fr auto auto;gap:10px;align-items:center;
  padding:9px 4px;border-top:1px solid var(--line);
}
.panel-row:first-child{border-top:0}
.panel-row.off{opacity:.5}
.panel-row .ico{width:28px}
.panel-row .ico-fb{font-size:1em}
.pr-main{min-width:0}
.pr-main b{display:block;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-main small{display:block;margin-top:3px;font-size:10.5px;color:var(--text-3)}
.pr-actions{display:flex;gap:5px}
.wh-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px}
.wh-check{
  display:flex;align-items:center;gap:9px;border:1px solid var(--line-2);
  background:var(--panel-2);padding:10px 11px;cursor:pointer;font-size:12.5px;
}
.wh-check input{width:auto}

/* seznam nízkých zásob */
.lowlist{display:grid;gap:8px}
.lowrow{
  display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;
  border:1px solid var(--line);background:var(--bg-2);padding:9px 11px;font-size:12px;
}
.lowrow .bar{grid-column:1/-1;height:3px;background:var(--panel-3);overflow:hidden}
.lowrow .bar i{display:block;height:100%}
.lr-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ============ GRAFY ============ */
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart-empty{
  padding:28px;text-align:center;color:var(--text-3);font-size:12.5px;
  border:1px dashed var(--line-2);
}
.axis-label{font-family:var(--f-mono);font-size:9px;fill:var(--text-3)}
.axis-label.warn{fill:var(--warn)}
.axis-title{font-family:var(--f-mono);font-size:8.5px;fill:var(--text-3);letter-spacing:.1em}
.bar-value{font-family:var(--f-mono);font-size:9.5px;font-weight:600;fill:var(--text-2)}
.bar-value.gold{fill:var(--gold-2)}
.place{font-family:var(--f-mono);font-size:8px;fill:#5C564C;letter-spacing:.08em}
.place.big{font-size:12px;fill:#7E7669;letter-spacing:.2em;font-weight:600}
.mgrid{stroke:#1B1812;stroke-width:.7}
.mcoord{font-family:var(--f-mono);font-size:7px;fill:#3F3A31}

.legend{display:flex;gap:16px;margin-top:11px;font-size:11.5px;color:var(--text-3);flex-wrap:wrap}
.legend i{display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:middle}
.legend b{color:var(--text-2);margin-left:4px}
.legend b.up{color:var(--gain-2)}
.legend b.down{color:var(--loss-2)}
.legend-net{margin-left:auto}
.legend-mini{font-size:10px;color:var(--text-3)}
.legend-mini i{display:inline-block;width:8px;height:8px;margin:0 5px 0 9px;vertical-align:middle}

.stats-head{display:flex;justify-content:flex-end;margin-bottom:12px}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.barlist{display:grid;gap:11px}
.barrow{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px;align-items:baseline}
.barrow .bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.barrow .bl small{display:block;color:var(--text-3);font-size:10px;margin-top:2px}
.barrow>b{color:var(--gold)}
.barrow .track{grid-column:1/-1;height:6px;background:var(--panel-3);overflow:hidden}
.barrow .track i{display:flex;height:100%}
.barrow .track i.solid{background:linear-gradient(90deg,var(--gold-dim),var(--gold))}
.barrow .track u{display:block;height:100%;text-decoration:none}

.donut-wrap{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.donut-total{font-family:var(--f-mono);font-size:17px;font-weight:600;fill:var(--gold)}
.donut-sub{font-family:var(--f-mono);font-size:8px;fill:var(--text-3);letter-spacing:.1em}
.donut-legend{flex:1;min-width:150px;display:grid;gap:6px;font-size:11.5px}
.donut-legend span{display:flex;align-items:center;gap:7px}
.donut-legend i{width:9px;height:9px;flex:none}
.donut-legend .dl-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}
.donut-legend b{color:var(--text-3)}

.ranks{display:grid;gap:8px}
.rankrow{
  display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;
  border:1px solid var(--line);background:var(--bg-2);padding:9px 11px;font-size:12px;
}
.rankrow .rk{font-family:var(--f-display);color:var(--gold);font-size:13px}

/* ============ PŘEHLED ============ */
.dash-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:12px}
.feed{display:flex;flex-direction:column}
.feed-row{
  display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;
  padding:9px 0;border-top:1px solid var(--line);
}
.feed-row:first-child{border-top:0}
.feed-badge{
  width:26px;height:26px;display:grid;place-items:center;
  border:1px solid var(--line-2);color:var(--text-3);
}
.feed-badge.gain{border-color:rgba(95,176,124,.35);color:var(--gain-2)}
.feed-badge.warn{border-color:rgba(224,163,62,.35);color:var(--warn)}
.feed-main b{display:block;font-size:12.5px}
.feed-main small{display:block;color:var(--text-3);font-size:11px;margin-top:2px}
.feed-time{font-family:var(--f-mono);font-size:10.5px;color:var(--text-3);white-space:nowrap}

.rank-bars{display:grid;gap:8px}
.rank-bar{display:grid;grid-template-columns:96px 1fr 28px;gap:9px;align-items:center;font-size:12px}
.rb-label{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-track{height:6px;background:var(--panel-3);overflow:hidden}
.rb-track i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold))}
.rank-bar b{text-align:right;color:var(--gold)}

.deadlines{display:grid;gap:7px}
.dl-row{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  border:1px solid var(--line);background:var(--bg-2);padding:9px 11px;font-size:12px;
}
.dl-row.late b{color:var(--loss-2)}
.mini-stat{
  display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 13px;
  border:1px solid var(--line);background:var(--bg-2);cursor:pointer;font-size:12.5px;
}
.mini-stat:hover{border-color:var(--gold-dim)}
.mini-stat span{flex:1;color:var(--text-2)}
.mini-stat b{color:var(--gold)}
.act-cell{display:flex;align-items:center;gap:9px}

/* ============ OBJEDNÁVKY ============ */
.orders-bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.orders-bar .notice{flex:1;margin-bottom:0}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.klane{border:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;min-height:260px}
.klane-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}
.klane-h b{font-size:12.5px;font-weight:600}
.klane-h .n{font-size:10px;color:var(--text-3)}
.klane-body{padding:9px;display:grid;gap:9px;align-content:start;flex:1}
.klane.drop{border-color:var(--gold);background:var(--gold-wash)}
.klane[data-lane="new"] .klane-h{border-bottom-color:var(--g-sys)}
.klane[data-lane="wip"] .klane-h{border-bottom-color:var(--warn)}
.klane[data-lane="ready"] .klane-h{border-bottom-color:var(--gain)}
.klane[data-lane="done"] .klane-h{border-bottom-color:var(--gold-dim)}

.ocard{border:1px solid var(--line-2);background:var(--panel);padding:11px;display:grid;gap:8px;cursor:grab}
.ocard:hover{border-color:var(--gold-dim)}
.ocard.dragging{opacity:.4}
.ocard-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ocard-h b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prio{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.1em;font-weight:600;padding:2px 5px;flex:none}
.prio.hi{color:var(--loss-2);background:var(--loss-wash);border:1px solid rgba(217,97,79,.35)}
.prio.mid{color:var(--warn);background:var(--warn-wash);border:1px solid rgba(224,163,62,.35)}
.prio.lo{color:var(--text-3);background:var(--panel-2);border:1px solid var(--line-2)}
.ocard-items{display:grid;gap:3px}
.oitem{font-size:11px;color:var(--text-3);display:flex;justify-content:space-between;gap:8px}
.oitem b{color:var(--text-2)}
.oitem.done{color:var(--gain-2)}
.oitem.done b{color:var(--gain-2)}
.prog{display:grid;gap:5px}
.prog-t{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-3)}
.prog-bar{height:5px;background:var(--panel-3);overflow:hidden}
.prog-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold))}
.prog-bar i.full{background:linear-gradient(90deg,#3E8F79,var(--gain))}
.prog.big .prog-bar{height:8px}
.prog.big .prog-t{font-size:12px;margin-bottom:2px}
.contribs{display:flex;gap:5px;flex-wrap:wrap}
.contrib{font-family:var(--f-mono);font-size:10px;padding:2px 6px;border:1px solid var(--line);color:var(--text-2)}
.contrib.more{color:var(--text-3)}
.ocard-f{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}
.ocard-f .over{color:var(--loss-2)}

.oline-list{display:grid;gap:8px}
.oline-row{
  display:grid;grid-template-columns:30px 1fr auto auto;gap:10px;align-items:center;
  border:1px solid var(--line);background:var(--panel);padding:9px 11px;
}
.oline-row.complete{border-color:rgba(95,176,124,.3);background:var(--gain-wash)}
.oline-row .ico{width:26px}
.oline-row .ico-fb{font-size:.95em}
.olr-main{min-width:0;display:grid;gap:5px}
.olr-main b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.olr-n{font-size:12px;color:var(--text-2)}
.olr-ok{color:var(--gain-2);display:flex}
.oline{display:grid;grid-template-columns:1fr 90px auto;gap:8px;margin-bottom:8px}
.contrib-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.contrib-head .ico{width:40px;flex:none}
.contrib-head small{display:block;color:var(--text-3);font-size:11.5px;margin-top:3px}
.avail{margin:-6px 0 12px;min-height:16px}

/* ============ MAPA ============ */
.map-layout{display:grid;grid-template-columns:1fr 250px;gap:14px;align-items:start}
.map-shell{
  position:relative;border:1px solid var(--line);background:#0B1015;
  overflow:hidden;aspect-ratio:9/12.6;max-height:76vh;
}
.map-shell svg{width:100%;height:100%;transform-origin:center center;transition:transform .12s ease-out}
.map-shell.grabbing{cursor:grabbing}
.map-shell.placing{cursor:crosshair}
.map-loading{padding:60px;text-align:center;color:var(--text-3)}
.map-tools{position:absolute;right:10px;top:10px;display:grid;gap:6px}
.map-placing-bar{
  position:absolute;left:50%;transform:translateX(-50%);bottom:12px;
  display:flex;align-items:center;gap:10px;padding:9px 13px;
  border:1px solid var(--gold);background:rgba(19,17,14,.94);font-size:12px;
}
.pin{cursor:pointer}
.pin:hover circle:first-child{opacity:.34}

.map-side{border:1px solid var(--line);background:var(--panel);padding:13px}
.legend-list{display:grid;gap:4px}
.legend-item{
  display:grid;grid-template-columns:10px 1fr auto auto;gap:9px;align-items:center;
  padding:7px 8px;font-size:12px;color:var(--text-2);text-align:left;
}
.legend-item:hover{background:var(--gold-wash)}
.legend-item i{width:10px;height:10px;border-radius:50%}
.legend-item b{font-size:11px;color:var(--text-3)}
.legend-item em{display:flex;color:var(--text-3)}
.legend-item.off{opacity:.42}
.marker-list{display:grid;gap:3px;max-height:230px;overflow-y:auto}
.marker-row{
  display:grid;grid-template-columns:8px 1fr;gap:9px;align-items:center;
  padding:6px 8px;font-size:12px;color:var(--text-2);text-align:left;
}
.marker-row:hover{background:var(--gold-wash);color:var(--text)}
.marker-row i{width:8px;height:8px;border-radius:50%}
.marker-row small{display:block;color:var(--text-3);font-size:10px}
.marker-shot{display:block;margin-bottom:14px;border:1px solid var(--line)}
.marker-shot img{display:block;width:100%;max-height:230px;object-fit:cover}
.marker-desc{color:var(--text-2);font-size:13px;line-height:1.65}
.marker-meta{
  display:grid;gap:6px;margin-top:16px;padding-top:13px;
  border-top:1px solid var(--line);font-size:11.5px;color:var(--text-3);
}
.shot-drop{
  display:flex;align-items:center;gap:10px;padding:14px;
  border:1px dashed var(--line-2);color:var(--text-3);font-size:12px;cursor:pointer;
}
.shot-drop:hover,.shot-drop.over{border-color:var(--gold-dim);color:var(--gold)}
.shot-drop.busy{opacity:.6;pointer-events:none}
.shot-preview{display:block;width:100%;max-height:170px;object-fit:cover;margin-top:10px;border:1px solid var(--line)}

/* ============ PRÁVA ============ */
.perm-layout{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:start}
.perm-roles{border:1px solid var(--line);background:var(--panel);padding:8px;display:grid;gap:3px}
.perm-role{
  display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;
  color:var(--text-2);padding:9px 10px;font-size:12.5px;font-weight:600;
  border-left:2px solid transparent;
}
.perm-role:hover{background:rgba(255,255,255,.03);color:var(--text)}
.perm-role.on{background:var(--gold-wash);color:var(--gold);border-left-color:var(--gold)}
.perm-role .n{font-size:10px;color:var(--text-3);font-weight:500}
.perm-role.zero .n{color:var(--loss-2)}
.perm-panel{border:1px solid var(--line);background:var(--panel);padding:16px}
.perm-presets{display:flex;gap:7px;flex-wrap:wrap}
.perm-table{min-width:600px}
.perm-table td:first-child{font-weight:600}

/* ============ ZÁLOŽKY MENU + CMS ============ */
.nav-edit{border:1px solid var(--line);background:var(--panel)}
.nav-edit-row{
  display:grid;grid-template-columns:28px 1fr auto auto;gap:11px;align-items:center;
  padding:9px 13px;border-top:1px solid var(--line);
}
.nav-edit-row:first-child{border-top:0}
.nav-edit-row.child{padding-left:38px;background:rgba(255,255,255,.015)}
.nav-edit-row.off{opacity:.5}
.ne-icon{display:flex;color:var(--gold-dim)}
.ne-main{min-width:0}
.ne-main b{display:block;font-size:12.5px}
.ne-main small{display:block;font-size:10.5px;color:var(--text-3);margin-top:2px}
.ne-group{font-size:10px;color:var(--text-3)}
.ne-actions{display:flex;gap:4px}

.cms-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.cms-head .notice{flex:1;margin:0}
.cms-actions{display:flex;gap:8px}
.cms-cats{display:grid;gap:12px}
.cms-cat{border:1px solid var(--line);background:var(--panel)}
.cms-cat-h{
  display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;
  padding:10px 13px;border-bottom:1px solid var(--line);background:var(--panel-2);
}
.cms-cat-h b{font-family:var(--f-display);font-size:13px;color:var(--gold)}
.cms-page{
  display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;
  padding:9px 13px;border-top:1px solid var(--line);font-size:12.5px;
}
.cms-page:first-of-type{border-top:0}
.cp-roles{display:flex;gap:4px;flex-wrap:wrap}
.cms-empty{padding:12px 13px;color:var(--text-3);font-size:12px}

/* ============ RESPONZIVITA ============ */
@media (max-width:1150px){
  .map-layout{grid-template-columns:1fr}
  .map-shell{aspect-ratio:1/1;max-height:64vh}
  .chart-grid,.dash-cols{grid-template-columns:1fr}
  .kanban{grid-template-columns:repeat(2,1fr)}
  .admin-cols{grid-template-columns:1fr}
  .perm-layout{grid-template-columns:1fr}
}
@media (max-width:700px){
  .kanban{grid-template-columns:1fr}
  .wh-strip{grid-template-columns:1fr}
  .inv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-hero{flex-direction:column;align-items:stretch}
  .audit-row{grid-template-columns:26px 1fr 60px 78px 66px;gap:7px;padding:8px}
  .inv-row{grid-template-columns:30px 1fr 70px 74px;gap:8px}
  .inv-row .ir-low{display:none}
  .stepper{grid-template-columns:auto 1fr auto}
  .stepper button:nth-child(1),.stepper button:nth-child(5){display:none}
}
