









.brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

 
.brand-ci {
  height: 46px;
  width: auto;
  background: var(--nu-card);
  border-radius: var(--nu-r-large);
  padding: 6px 9px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.22);
  flex-shrink: 0;
}

.nav {
  display: grid;
  gap: 6px;
}

.nav-group > summary {
  list-style: none;
  cursor: pointer;
  padding: 8px 12px 6px;
  color: rgba(255,255,255,0.5);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}

 


.content {
  display: flex;
  flex-direction: column;
  gap: 10px;
   
  --content-pad-b: 12px;
  padding: 12px 16px var(--content-pad-b);
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}







.content, .layout-root, .layout-root > * { min-width: 0; }

@media (max-height: 780px) {
  .content { padding: 16px 22px; gap: 14px; }
}

@media (max-height: 700px) {
  .content { padding: 12px 20px; gap: 10px; }
}

 
.charts-grid {
  display: grid;
  grid-template-columns: 2fr 1.2fr;
  gap: 18px;
}

.chart-box,
.table-card {
  padding: 20px 22px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--nu-r-xl);
  box-shadow: var(--shadow);
}

 
.dash-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}


.sc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  min-width: 1100px;
}

 
@media (max-width: 1200px) {
  .cards-row,
    .charts-grid,
    .tables-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
  .dash-stat-row   { grid-template-columns: repeat(2, 1fr); }
}





@media (max-height: 820px) {
  .brand     { gap: 10px; }

   
    .content     { padding: 12px 18px; gap: 10px; }

  .inv-table, .ep-table, .sc-table,
    .ed-right-table, .wr-table, .sh-table {
      font-size: 0.74rem;
    }

}

#layoutRoot.home-fill .home-inv-row { flex: 1 1 auto; align-items: center; }

#layoutRoot.home-fill .home-note { flex: 0 0 auto; }

 
@media (max-height: 860px) {
  #layoutRoot.home-fill .home-kri { padding: 9px 14px; }

  #layoutRoot.home-fill .home-kri-title { margin-bottom: 6px; font-size: 0.88rem; }

  #layoutRoot.home-fill .home-kri-card { padding: 7px 12px; }

  #layoutRoot.home-fill .home-kri-desc { font-size: 0.73rem; line-height: 1.4; }

  #layoutRoot.home-fill .home-kpi { padding: 10px 16px; }

  #layoutRoot.home-fill .home-kpi-v { font-size: 1.6rem; }
}

@media (max-height: 720px) {
  #layoutRoot.home-fill .home-kri-desc { display: none; }

  #layoutRoot.home-fill .home-kpi-v { font-size: 1.4rem; }
}







@media (max-width: 1100px) {
  #layoutRoot.home-fill .home-inv-row { flex: 0 0 auto; }
}

#layoutRoot.home-fill .jv-kpi {
  display: flex; align-items: center; gap: 14px;
  background: var(--jv-card); border: 1px solid var(--jv-border); border-radius: var(--nu-r-large);
  box-shadow: var(--jv-shadow); padding: 14px 16px;
  transition: box-shadow 0.15s, border-color 0.15s, transform 0.15s;    
}

#layoutRoot.home-fill .jv-kpi-ico {
  flex-shrink: 0; width: 46px; height: 46px; border-radius: var(--nu-r-large);
  display: flex; align-items: center; justify-content: center;
}

#layoutRoot.home-fill .jv-kpi-ico svg { width: 22px; height: 22px; }

#layoutRoot.home-fill .home-kpi-v {                                       
  margin-top: 3px; font-size: 26px; font-weight: 700; line-height: 1;
  color: var(--jv-txt1); font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
}






#layoutRoot.home-fill .home-kri,
#layoutRoot .home-kri.kri-totals {
  


  background: var(--jv-primary); border-radius: var(--nu-r-large); padding: 12px 16px;
  box-shadow: var(--nu-elev-low);
}

#layoutRoot.home-fill .home-kri-title,
#layoutRoot .kri-totals .home-kri-title { font-size: 13px; font-weight: 700; color: var(--nu-on-accent); margin-bottom: 8px; }

#layoutRoot.home-fill .home-kri-card,
#layoutRoot .kri-totals .home-kri-card {
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.18); border-radius: var(--nu-r-large); padding: 9px 13px;
}

#layoutRoot.home-fill .home-kri-desc,
#layoutRoot .kri-totals .home-kri-desc { font-size: 11px; color: rgba(255,255,255,0.78); line-height: 1.45; margin-top: 4px; }

 
#layoutRoot.home-fill .home-inv-row { gap: 10px; }

#layoutRoot.home-fill .home-inv {
  background: var(--jv-page); border: 1px solid var(--jv-border); border-radius: var(--nu-r-large); padding: 12px 10px;
}

#layoutRoot.home-fill .home-inv-l { font-size: 11px; color: var(--jv-txt3); margin-bottom: 5px; }

#layoutRoot.home-fill .home-inv-v {
  font-size: 26px; font-weight: 700; color: var(--jv-txt1);
  font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -0.02em;
}

#layoutRoot.home-fill .home-inv-v span { font-size: 13px; font-weight: 600; color: var(--jv-txt3); margin-left: 3px; }

#layoutRoot.home-fill .home-note { font-size: 10px; color: var(--jv-txt4); margin-top: 8px; }

 
#layoutRoot.home-fill .home-inv-row { flex: 0 0 auto; align-items: stretch; }

#layoutRoot.home-fill .home-inv-trend-t {
  flex: 0 0 auto; margin-top: 12px; font-size: 11px; font-weight: 700; color: var(--jv-txt2);
}

#layoutRoot.home-fill .home-inv-trend-t span { font-weight: 400; font-size: 10px; color: var(--jv-txt4); margin-left: 6px; }

#layoutRoot.home-fill .home-inv-trend { position: relative; flex: 1 1 auto; min-height: 64px; margin-top: 4px; }

 
@keyframes jvSlideIn { from { transform: translateY(6px); opacity: 0; } to { transform: none; opacity: 1; } }

 
@media (max-height: 860px) {
  #layoutRoot.home-fill .jv-kpi { padding: 11px 14px; gap: 11px; }

  #layoutRoot.home-fill .jv-kpi-ico { width: 40px; height: 40px; border-radius: var(--nu-r-large); }

  #layoutRoot.home-fill .jv-kpi-ico svg { width: 19px; height: 19px; }

  #layoutRoot.home-fill .home-kpi-v { font-size: 22px; }

  #layoutRoot.home-fill .home-inv-v { font-size: 22px; }
}

@media (max-height: 720px) {
  #layoutRoot.home-fill .jv-kpi-ico { width: 34px; height: 34px; }

  #layoutRoot.home-fill .jv-kpi-ico svg { width: 17px; height: 17px; }

  #layoutRoot.home-fill .home-kpi-v { font-size: 19px; }

  #layoutRoot.home-fill .home-inv-v { font-size: 19px; }

   
    #layoutRoot.home-fill .home-inv-trend-t { margin-top: 6px; }

  #layoutRoot.home-fill .home-inv-trend-t span { display: none; }

  #layoutRoot.home-fill .home-inv-trend { min-height: 44px; }

  #layoutRoot.home-fill .home-note { margin-top: 5px; }
}



.brand-ci { background: transparent; box-shadow: none; padding: 0; }

.brand {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--jv-border-l);
}






:root {
  --nav-ico: 16px; --nav-ico-gap: 7px;
  




  --nav-sub-line: 14px;
  


  --nav-sub-indent: 33px;
}




.nav-group > summary {
  color: var(--jv-txt1);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.01em;
  border-radius: var(--nu-r-medium);
  padding: 6px 10px;
  

  justify-content: flex-start;
  gap: var(--nav-ico-gap);
  transition: color 0.12s, background 0.12s;
}

 
thead th { font-weight: 600; }




















@media (min-width: 1201px) {
  .app-shell { grid-template-columns: 210px 1fr; }
   
  .app-shell.nav-off { grid-template-columns: 1fr; }

   
    .brand { gap: 9px; padding-bottom: 10px; }

  .brand-ci { height: 32px; }

  




    

    .nav { gap: 2px; }

  .nav-group > summary { padding: 5px 10px; font-size: 13px; }
}



#layoutRoot.home-fill .home-kri,
#layoutRoot .home-kri.kri-totals {
  background: var(--nu-gradient);
  box-shadow: var(--nu-elev-low);
}

 
.site-name-input {
  padding: 8px 12px; font-size: 0.9rem; font-weight: 600;
  background: var(--nu-card); color: var(--nu-txt1);
}









#layoutRoot.kpi-page { display: flex; flex-direction: column; gap: 6px; flex: 1; min-height: 0; }

 
.kpi-head { display: flex; align-items: center; justify-content: flex-start; gap: 16px; }    

.kpi-head-l { display: flex; align-items: center; gap: 16px; min-width: 0; }
.kpi-period { display: flex; align-items: baseline; gap: 10px; font-size: 0.86rem; color: var(--nu-txt3); }

.kpi-period strong { font-size: 0.95rem; color: var(--nu-txt1); font-weight: 700; }

 






.kpi-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
 
.kpi-cards > .mx-card { min-width: 0; padding: 8px 12px; gap: 0; border-radius: var(--nu-r-large); }


.kpi-cards > .mx-card .mx-card-h { gap: 5px; }
.kpi-cards > .mx-card .mx-card-title { font-size: 0.74rem; font-weight: 600; color: var(--nu-txt3); }
.kpi-cards > .mx-card .mx-card-b { gap: 1px; margin-top: 2px; }
.kpi-cards > .mx-card .mx-kpi-v { font-size: 1.24rem; font-weight: 800; line-height: 1.15; }
.kpi-cards > .mx-card .mx-kpi-u { font-size: 0.86rem; font-weight: 600; }
.kpi-cards > .mx-card .mx-kpi-note,
.kpi-cards > .mx-card .mx-card-lines li { font-size: 0.7rem; }
.kpi-cards > .mx-card .mx-card-lines li > b { font-weight: 500; color: var(--nu-txt3); }

 



 


.kpi-charts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }









.kpi-canvas { position: relative; height: 144px; }

#layoutRoot.fit-page.kpi-page .kpi-charts .kpi-canvas { flex: 1 1 auto; height: auto; min-height: 120px; }

.kpi-canvas > canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }

 


.kpi-note { margin: 0; padding: 8px 12px; font-size: 0.76rem; line-height: 1.5;
  color: var(--nu-txt3); background: var(--nu-surface-2);
  border: 1px solid var(--nu-border-l); border-radius: var(--nu-r-medium); }

.kpi-note strong { color: var(--nu-txt2); }



.data-note { margin: 0; }

.data-note > summary::before { content: "ⓘ"; font-size: 0.82rem; line-height: 1; }

.data-note > summary::after { content: "▾"; font-size: 0.62rem; color: var(--nu-txt4); }

.data-note[open] > summary::after { content: "▴"; }

.data-note[open] > summary { margin-bottom: 6px; }

.data-note > .kpi-note { background: none; border: 0; padding: 0 2px; }

 
.kpi-table-box { flex: 1; min-height: 0; display: flex; flex-direction: column; }

.kpi-table-wrap { flex: 1; min-height: 0; overflow: auto; margin-top: 10px; max-width: 100%; }

 
.chart-box, .prod-line-box, .kpi-table-box { min-width: 0; }
















#layoutRoot.gantt-page { display: flex; flex-direction: column; gap: 12px; flex: 1; min-height: 0; }

 
.gantt-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

.gantt-nav { display: flex; align-items: center; gap: 8px; }

.gantt-daymeta { margin-left: 6px; font-size: 0.78rem; color: var(--nu-txt3); }
 
.mx-filterbar .gantt-daymeta { line-height: var(--mx-ctl-h); }

 
select.mx-select.is-inline { margin-left: 12px; }

 
.gantt-derived { padding: 4px 12px; font-size: 0.76rem; font-weight: 700; cursor: help;
  color: var(--nu-txt2); background: var(--nu-surface-2);
  border: 1px dashed var(--nu-border-strong); border-radius: var(--nu-r-pill); }

.gantt-over { color: var(--nu-alert-text); font-weight: 700; }

 
.gantt-chart-box { flex: 0 0 auto; }

.gantt-canvas { position: relative; height: 210px; }

.gantt-canvas > canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }

.gantt-sub { margin-left: 6px; font-size: 0.82rem; font-weight: 600; color: var(--nu-txt3); }

.gantt-legend { float: right; display: flex; align-items: center; gap: 6px;
  font-size: 0.76rem; font-weight: 600; color: var(--nu-txt3); }

.gl-swatch { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }

.gl-swatch + .gl-swatch { margin-left: 8px; }

 
.gl-swatch.is-actual { background: var(--nu-success-text); }
.gl-swatch.is-base { background: var(--nu-txt4); }

.gl-setup { background: repeating-linear-gradient(45deg,
    var(--nu-surface-3) 0 2px, var(--nu-txt3) 2px 4px); }

.gl-run   { background: var(--chart-1); }

.gl-down  { background: var(--nu-alert); }

.gl-break { background: var(--nu-surface-3); border: 1px solid var(--border); }

 
 
.gantt-table-box { flex: 0 1 auto; min-height: 0; display: flex; flex-direction: column; }

.gantt-table-wrap { flex: 1; min-height: 0; overflow: auto; margin-top: 10px; }


 

 
.gantt-flag { padding: 1px 7px; font-size: 0.7rem; font-weight: 700; border-radius: var(--nu-r-pill);
  color: var(--nu-warning-text); background: var(--nu-warning-soft); border: 1px solid var(--nu-warning-border); }

 
#layoutRoot.feeder-page { display: flex; flex-direction: column; gap: 12px; flex: 1; min-height: 0; }

.feeder-charts { display: grid; grid-template-columns: 1.35fr 1fr; gap: 12px; }

.fd-delta { color: var(--nu-success-text); font-weight: 700; }

.gl-remain { background: var(--chart-1); }

.gl-thresh { background: var(--nu-warning); }

 
.fd-trigger.is-bad { padding: 1px 7px; border-radius: var(--nu-r-pill); font-weight: 700;
  color: var(--nu-alert-text); background: var(--nu-alert-light-2); }


 
#layoutRoot.scenario-page { display: flex; flex-direction: column; gap: 12px; flex: 1; min-height: 0; }

 
.sc-verdict { display: grid; grid-template-columns: 1fr auto 1fr auto; align-items: center; gap: 16px;
  padding: 14px 18px; background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--nu-r-large); box-shadow: var(--shadow); }

.sc-head-a, .sc-head-b { font-size: 0.92rem; font-weight: 700; color: var(--nu-txt1); }

.sc-head-a em, .sc-head-b em { display: block; margin-top: 3px; font-style: normal;
  font-size: 0.76rem; font-weight: 500; color: var(--nu-txt3); }

.sc-tag { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 7px;
  border-radius: var(--nu-r-small); font-size: 0.74rem; font-weight: 800;
  color: var(--nu-on-accent); background: var(--chart-4); }

.sc-tag.is-b { background: var(--chart-2); }

.sc-arrow { font-size: 1.2rem; color: var(--nu-txt4); }

.sc-punch { padding-left: 18px; border-left: 1px solid var(--border); text-align: right; white-space: nowrap;
  font-size: 0.95rem; font-weight: 700; color: var(--nu-txt1); }

.sc-punch strong { font-size: 1.5rem; color: var(--nu-success-text); }

.sc-punch span { display: block; margin-top: 3px; font-size: 0.76rem; font-weight: 500; color: var(--nu-txt3); }

.sc-body { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 12px; flex: 1; min-height: 0; }

.sc-table-box { display: flex; flex-direction: column; }

.sc-table { margin-top: 8px; }


.sc-note { display: block; font-size: 0.7rem; font-weight: 500; color: var(--nu-txt4); }

 
.sc-delta { font-weight: 700; color: var(--nu-txt3); }

.sc-delta.is-better { color: var(--nu-success-text); }

.sc-delta.is-worse { color: var(--nu-alert-text); }

.sc-canvas { position: relative; flex: 1; min-height: 200px; }

.sc-canvas > canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }

.sc-body > .chart-box { display: flex; flex-direction: column; min-height: 0; }

.gl-a { background: var(--chart-4); }

.gl-b { background: var(--chart-2); }


.sch-accepted { margin-left: 6px; padding: 1px 7px; border-radius: var(--nu-r-pill);
  font-size: 0.68rem; font-weight: 700; color: var(--nu-on-accent); background: var(--nu-primary); }


 
#layoutRoot.prod-page { display: flex; flex-direction: column; gap: 6px; flex: 1; min-height: 0; }

 
.prod-badge { padding: 4px 12px; font-size: 0.76rem; font-weight: 700; cursor: help;
  color: var(--nu-brand-text); background: var(--nu-primary-tint);
  border: 1px solid var(--nu-primary-light); border-radius: var(--nu-r-pill); }






.prod-mid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }

 
.prod-mid.is-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); }




.prod-mid.is-routing { grid-template-columns: 1.6fr 1fr 1.2fr; }





#layoutRoot.fit-page.prod-page > .prod-mid.is-routing {
  flex: 1 1 0; min-height: 0; grid-template-rows: minmax(0, 1fr); }

.prod-mid > .chart-box { display: flex; flex-direction: column; min-height: 0; min-width: 0; }



@media (max-width: 1280px) {
  .prod-mid, .ship-mid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 860px) {
  .prod-mid, .ship-mid, .prod-bot { grid-template-columns: 1fr !important; }

  .charts-grid { grid-template-columns: 1fr; }

  .dash-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  


    .prod-mid > *, .ship-mid > *, .prod-bot > * { grid-column: auto !important; }
}

.prod-canvas { position: relative; height: 190px; }





.prod-canvas.is-fill { flex: 1 1 auto; height: auto; min-height: 156px; }

.prod-canvas > canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }

.prod-stopnote { margin: 8px 0 0; font-size: 0.74rem; line-height: 1.5; color: var(--nu-txt3); }


.prod-station-box { flex: 1; min-height: 0; display: flex; flex-direction: column; }

.prod-station-canvas { position: relative; flex: 1; min-height: 170px; margin-top: 8px; }

.prod-station-canvas > canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }

.gl-run2   { background: var(--chart-2); }

.gl-setup2 { background: var(--nu-txt4); }

.gl-down2  { background: var(--nu-alert); }

.gl-st     { background: var(--chart-1); }

.gl-stneck { background: var(--nu-alert); }

.gl-tact   { background: var(--nu-warning); }













#layoutRoot.scroll-page { display: flex; flex-direction: column; gap: 8px;
  flex: 0 0 auto; min-height: auto; }

#layoutRoot.scroll-page .kpi-table-box { flex: 0 0 auto; }

#layoutRoot.scroll-page .kpi-table-wrap { flex: 0 0 auto; max-height: 420px; }





#layoutRoot.scroll-page .chart-box,
#layoutRoot.prod-page .chart-box,
#layoutRoot.kpi-page .chart-box { padding: 9px 12px; border-radius: var(--nu-r-large); }

#layoutRoot.scroll-page .chart-title,
#layoutRoot.prod-page .chart-title,
#layoutRoot.kpi-page .chart-title { margin-bottom: 6px; font-size: 0.88rem; }

#layoutRoot.scroll-page .kpi-table-wrap,
#layoutRoot.prod-page .kpi-table-wrap,
#layoutRoot.kpi-page .kpi-table-wrap { margin-top: 5px; }

#layoutRoot.scroll-page .gantt-head,
#layoutRoot.prod-page .gantt-head { margin-bottom: 0; }

#layoutRoot.scroll-page .prod-canvas,
#layoutRoot.prod-page .prod-canvas { height: 156px; }

#layoutRoot.scroll-page .prod-stopnote,
#layoutRoot.prod-page .prod-stopnote { margin-top: 5px; }


 
@media (max-height: 900px) {
  #layoutRoot.scroll-page .prod-canvas,
    #layoutRoot.prod-page .prod-canvas { height: 150px; }

  #layoutRoot.scroll-page .kpi-table-wrap { max-height: 340px; }
}

@media (max-height: 780px) {
  #layoutRoot.scroll-page .prod-canvas,
    #layoutRoot.prod-page .prod-canvas { height: 132px; }

  #layoutRoot.scroll-page .kpi-table-wrap { max-height: 260px; }

  #layoutRoot.scroll-page .chart-box,
    #layoutRoot.prod-page .chart-box { padding: 9px 11px; }

}

 
.kpi-line-box .kpi-table-wrap { max-height: none; }


 
.prod-line-box .kpi-table-wrap { max-height: none; }

 


.ship-mid { grid-template-columns: repeat(3, minmax(0, 1fr)); }




#layoutRoot.prod-page .ship-mid .prod-canvas { height: 196px; }
@media (max-height: 900px) {
  #layoutRoot.prod-page .ship-mid .prod-canvas { height: 190px; }
}
@media (max-height: 780px) {
  #layoutRoot.prod-page .ship-mid .prod-canvas { height: 172px; }
}



.prod-bot.c48 { grid-template-columns: calc((100% - 16px) / 3) minmax(0, 1fr); }

.prod-bot.c84 { grid-template-columns: calc((100% - 16px) / 3 * 2 + 8px) minmax(0, 1fr); }

 
#layoutRoot.prod-page .prod-bot.c84 > .chart-box:last-child .kpi-table th,
#layoutRoot.prod-page .prod-bot.c84 > .chart-box:last-child .kpi-table td,
#layoutRoot.prod-page .prod-bot.c48 > .chart-box:first-child .kpi-table th,
#layoutRoot.prod-page .prod-bot.c48 > .chart-box:first-child .kpi-table td,
#layoutRoot.prod-page .prod-bot.c84 > .chart-box:last-child .mx-grid-table th,
#layoutRoot.prod-page .prod-bot.c84 > .chart-box:last-child .mx-grid-table td,
#layoutRoot.prod-page .prod-bot.c48 > .chart-box:first-child .mx-grid-table th,
#layoutRoot.prod-page .prod-bot.c48 > .chart-box:first-child .mx-grid-table td {
  padding-left: 6px; padding-right: 6px; }

.prod-bot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: stretch; }

.prod-bot > .chart-box { min-width: 0; }

.prod-bot .kpi-table-wrap { max-height: 340px; }



.prod-bot.is-3 { grid-template-columns: 0.95fr 0.85fr 1.2fr; }



.prod-mid.is-2 { grid-template-columns: 0.8fr 1.2fr; }

 
#layoutRoot.prod-page .kt-row .prod-canvas { height: 190px; }

#layoutRoot.prod-page .prod-mid.is-2 .prod-canvas { height: 148px; }



#layoutRoot.prod-page .ml-mid .prod-canvas { height: 200px; }

 
#layoutRoot.prod-page .mt-mid .prod-canvas { height: 200px; }



#layoutRoot.prod-page .ml-bot .kpi-table th,
#layoutRoot.prod-page .ml-bot .kpi-table td,
#layoutRoot.prod-page .mt-bot .kpi-table th,
#layoutRoot.prod-page .mt-bot .kpi-table td,
#layoutRoot.prod-page .sh-bot .kpi-table th,
#layoutRoot.prod-page .sh-bot .kpi-table td,
#layoutRoot.prod-page .ml-bot .mx-grid-table th,
#layoutRoot.prod-page .ml-bot .mx-grid-table td,
#layoutRoot.prod-page .mt-bot .mx-grid-table th,
#layoutRoot.prod-page .mt-bot .mx-grid-table td,
#layoutRoot.prod-page .sh-bot .mx-grid-table th,
#layoutRoot.prod-page .sh-bot .mx-grid-table td { padding-left: 6px; padding-right: 6px; }










#layoutRoot.fit-page.prod-page > *,
#layoutRoot.fit-page.kpi-page > *  { flex: 0 0 auto; }

#layoutRoot.fit-page.prod-page > .fill,
#layoutRoot.fit-page.kpi-page > .fill { flex: 1 1 0; min-height: 0; }

 
#layoutRoot.fit-page.prod-page .chart-box,
#layoutRoot.fit-page.kpi-page .chart-box { display: flex; flex-direction: column; min-height: 0; }














#layoutRoot.fit-page.prod-page > .fill,
#layoutRoot.fit-page.kpi-page > .fill { min-height: 213px; }






#layoutRoot.fit-page.prod-page .fill .kpi-table-wrap,
#layoutRoot.fit-page.kpi-page .fill .kpi-table-wrap {
  flex: 0 1 auto; min-height: 167px; max-height: none; overflow: auto; }

 
#layoutRoot.fit-page.prod-page .prod-mid > .chart-box { flex: 0 0 auto; }



#layoutRoot.fit-page .fill .chart-box > .kpi-table-wrap:not(:last-of-type) { flex: 0 0 auto; }







#layoutRoot.fit-page .fill .chart-box > .kpi-table-wrap:not(:last-of-type),
#layoutRoot.fit-page .fill .chart-box > .kpi-table-wrap:not(:first-of-type) { min-height: 60px; }







.grid-host { overflow: hidden !important; display: flex; flex-direction: column; }
.grid-host > .mx-grid { flex: 1 1 auto; min-height: 0; }


 
.mx-grid-table .is-bad  { color: var(--nu-alert-text); font-weight: 700; }
.mx-grid-table .is-good { color: var(--nu-success-text); font-weight: 700; }
.mx-grid-table tr.is-partial td { color: var(--nu-txt3); font-style: italic; }
.mx-grid-table tr.is-auto td { background: var(--nu-primary-tint); }
.mx-grid-table tr.is-auto:hover td { background: var(--row-hover); }
.mx-grid-table tr.is-stop td { background: var(--nu-alert-light-2); }


.mx-grid-table tbody tr:has(+ tr.is-newgroup) > td { border-bottom-color: var(--nu-border-strong, var(--border)); }



#layoutRoot .chart-box.has-more { position: relative; }

#layoutRoot .chart-box.has-more::after {
  content: ""; position: absolute; left: 1px; right: 1px; bottom: 1px; height: 26px;
  background: linear-gradient(to bottom, transparent, var(--panel) 80%);
  border-radius: 0 0 var(--nu-r-large) var(--nu-r-large);
  pointer-events: none;
}





.chart-title.has-note { display: flex; align-items: center; gap: 8px; }

.chart-title.has-note > .data-note { margin-left: auto; font-weight: 400; }

.data-note { position: relative; }

.data-note[open] > summary { margin-bottom: 0; }

.data-note[open] > .kpi-note,
.data-note[open] > .prod-stopnote {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 60;
  box-sizing: border-box;    
  width: min(760px, 62vw); padding: 10px 14px; margin: 0;
  font-weight: 400; text-align: left; white-space: normal;
  background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--nu-r-medium); box-shadow: var(--shadow);
}


.sch-gain { color: var(--nu-success-text) !important; font-weight: 600; }

.sch-loss { color: var(--nu-alert-text)   !important; font-weight: 600; }


@keyframes simVideoReveal {
  from { clip-path: inset(48% 42% 48% 42% round 14px); opacity: 0; transform: scale(.98); }
  35%  { opacity: 1; }
  to   { clip-path: inset(0 0 0 0 round 14px); opacity: 1; transform: none; }
}


.note-slot { display: flex; align-items: center; }





.retired-panel { max-width: 860px; margin: 0 auto; padding: 32px 36px; }

.retired-badge { display: inline-block; padding: 3px 12px; margin-bottom: 14px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em;
  color: var(--nu-warning-text); background: var(--nu-warning-soft);
  border: 1px solid var(--nu-warning-border); border-radius: var(--nu-r-pill); }

.retired-title { margin: 0 0 6px; font-size: 1.35rem; font-weight: 800; color: var(--nu-txt1); }

.retired-lead { margin: 0 0 20px; font-size: 0.9rem; color: var(--nu-txt2); }

.retired-dl { margin: 0; display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 10px 18px; }

.retired-dl dt { font-size: 0.8rem; font-weight: 700; color: var(--nu-txt3); }

.retired-dl dd { margin: 0; font-size: 0.84rem; line-height: 1.65; color: var(--nu-txt1); }

.retired-dl code { padding: 1px 5px; font-size: 0.78rem;
  background: var(--nu-surface-2); border: 1px solid var(--nu-border-l); border-radius: var(--nu-r-small); }

.retired-acts { display: flex; align-items: center; gap: 10px; margin-top: 24px; }

.retired-warn { margin: 16px 0 0; padding: 9px 14px; font-size: 0.78rem; line-height: 1.5;
  color: var(--nu-txt2); background: var(--nu-warning-soft);
  border: 1px solid var(--nu-warning-border); border-radius: var(--nu-r-medium); }

 
@media (max-width: 1280px) {
  .prod-bot { grid-template-columns: minmax(0, 1fr); }

  .retired-dl { grid-template-columns: minmax(0, 1fr); gap: 4px 0; }

  .retired-dl dd { margin-bottom: 10px; }
}













:root { --topbar-h: 44px; }

.brand {
  height: var(--topbar-h);
  flex-shrink: 0;
  padding: 0 10px;
  border-bottom: 1px solid var(--jv-border);
}

 
.brand-ci { height: 30px; }








.brand.is-logo-only { position: relative; justify-content: center; }

.brand.is-logo-only .brand-ci {
   
  height: calc(var(--topbar-h) - 6px);
  max-width: calc(100% - 12px); width: auto; object-fit: contain;
}

.brand.is-logo-only .brand-name { display: none; }

.brand.is-logo-only .nav-toggle-all {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin-left: 0;
}

.nav {
  padding: 8px 10px 12px;
  overflow-y: auto;
  min-height: 0;
  flex: 1;
  


  align-content: start;
}


 
.panel.is-placeholder { padding: 32px; text-align: center; }
.placeholder-title { margin: 0 0 8px; }
.placeholder-desc { margin: 0; color: var(--nu-txt3); }




.ov-head-l { display: flex; align-items: baseline; gap: 10px; font-size: 13px; }
.ov-head-l strong { font-size: 15px; }
.ov-head-l span, .ov-head-r { color: var(--nu-txt3); font-size: 12px; }
















.ov-card {
  background: var(--nu-surface-2); border: 1px solid var(--border);
  border-radius: var(--nu-r-medium); overflow: hidden; min-width: 0;
  display: flex; flex-direction: column;
}
.ov-card.is-now { border-color: var(--nu-primary); }
.ov-card-h {
  display: flex; align-items: baseline; gap: 8px; padding: 7px 11px 6px;
  border-bottom: 1px solid var(--border); background: var(--panel);
}
.ov-card-h b { font-size: 13.5px; }
.ov-card-s { margin-left: auto; font-size: 10px; color: var(--nu-txt3);
  font-variant-numeric: tabular-nums; }

.ov-blk { padding: 8px 11px 9px; min-width: 0; }
.ov-blk + .ov-blk { border-top: 1px solid var(--border); }
.ov-blk-k { font-size: 10px; letter-spacing: .06em; color: var(--nu-txt4); margin-bottom: 5px; }
 
.ov-blk-ax { letter-spacing: 0; font-weight: 400; }

 
.ov-pair { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.ov-big { font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.15;
  font-variant-numeric: tabular-nums; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ov-big.is-sm { font-size: 18px; }
.ov-unit { font-size: 10.5px; font-weight: 500; color: var(--nu-txt3); }


.ov-den { font-size: 13px; font-weight: 500; color: var(--nu-txt3); letter-spacing: 0; }
.ov-big.is-sm .ov-den { font-size: 12px; }
.ov-mrow { display: flex; align-items: baseline; gap: 6px; margin-top: 4px; }
.ov-mpct { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ov-mnote { font-size: 10px; color: var(--nu-txt3); margin-left: auto; text-align: right; }
 
.ov-bar.is-over > i { background: var(--nu-success); }










.ov-yoy { display: grid; grid-template-columns: 62px minmax(0, 1fr) 52px;
  gap: 4px 7px; align-items: center; }
.ov-bd-l {
  font-size: 10.5px; color: var(--nu-txt3); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
.ov-bd {
  position: relative; height: 8px; min-width: 0;
  background: var(--nu-surface-4, var(--border)); border: 1px solid var(--border);
  border-radius: 2px;
}
.ov-bd::before {
  content: ""; position: absolute; left: 50%; top: -3px; bottom: -3px;
  width: 1px; background: var(--nu-txt4);
}
 
.ov-bd > i { position: absolute; top: 0; bottom: 0; min-width: 2px; }
 
.ov-bd > i.is-pos { left: 50%; }
.ov-bd > i.is-neg { right: 50%; }


.ov-bd > i.is-good { background: var(--nu-success); }
.ov-bd > i.is-bad { background: var(--nu-alert); }
 
.ov-bd > i.is-flat { background: var(--nu-txt4); }
 
.ov-bd > i.is-cut.is-neg { border-left: 2px solid var(--nu-txt1); }
.ov-bd > i.is-cut.is-pos { border-right: 2px solid var(--nu-txt1); }
.ov-bd-v { font-size: 10.5px; font-weight: 600; white-space: nowrap; text-align: right;
  font-variant-numeric: tabular-nums; color: var(--nu-txt3); }
.ov-bd-v.is-up { color: var(--nu-success-text); }
.ov-bd-v.is-down { color: var(--nu-alert-text); }



.ov-bd-ax { display: grid; grid-template-columns: 62px minmax(0, 1fr) 52px; gap: 7px;
  font-size: 9px; color: var(--nu-txt4); margin-bottom: 3px; }
.ov-bd-ax span:first-child { text-align: right; }
.ov-bd-ax span:nth-child(2) { text-align: center; }
.ov-bd-ax span:last-child { text-align: right; }

 
.ov-rates { display: grid; gap: 6px; }


.ov-rate { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto auto;
  gap: 2px 7px; align-items: center; }
.ov-rate-v { font-size: 12.5px; font-weight: 700; white-space: nowrap;
  font-variant-numeric: tabular-nums; text-align: right; min-width: 44px; }
.ov-rate .ov-bd-v { min-width: 52px; }
.ov-rate-n { grid-column: 1 / -1; font-size: 9.5px; color: var(--nu-txt4); line-height: 1.4; }

 
.ov-gauge-yoy { width: 100%; border-top: 1px solid var(--border); padding-top: 6px; margin-top: 2px; }





.ov-bar {
  height: 9px; border-radius: var(--nu-r-pill);
  background: var(--nu-surface-3); border: 1px solid var(--border);
  overflow: hidden;
}
.ov-bar > i { display: block; height: 100%; background: var(--nu-primary); border-radius: inherit; }

 
.is-up { color: var(--nu-success-text); }
.is-down { color: var(--nu-alert-text); }
.is-flat { color: var(--nu-txt3); }






.ov-canvas { position: relative; }
.ov-canvas > canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }








.ov-gauges {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px;
  height: 100%; grid-auto-rows: minmax(0, 1fr);
}



.ov-gauge {
  background: var(--nu-surface-2); border: 1px solid var(--border);
  

  border-radius: var(--nu-r-medium); padding: 7px 11px;
  


  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 11px;
  align-items: center; min-width: 0;
   
  container-type: inline-size;
}
.ov-gauge-side { display: grid; gap: 4px; min-width: 0; }
.ov-gauge-name {
  font-size: 11.5px; font-weight: 700; color: var(--nu-txt2);
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ov-gauge-qty {
  font-size: 10px; color: var(--nu-txt4); font-variant-numeric: tabular-nums;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}






.ov-rings {
   
  display: block; align-self: center;
  height: 100%; width: auto; aspect-ratio: 1 / 1;
  











  min-height: 78px; max-height: min(160px, 100cqw - 150px);
}
 
.ov-gauge > .ov-gauge-side { align-self: center; }
.ov-ring-track { fill: none; stroke: var(--nu-surface-4, var(--border)); stroke-width: 9; }
.ov-ring-fill {
  fill: none; stroke-width: 9; stroke-linecap: butt;
  stroke: var(--nu-txt3, #6B7280);
}
 
.ov-ring-fill.is-m, .ov-ring-track.is-m { stroke-width: 7; }













:root {
  --ovr-y: #7038E5;         
  --ovr-m: #0B7BB9;         
  --ovr-d: #279FA0;         
}
:root[data-theme="dark"], :root[data-theme="blak"] {
  --ovr-y: #908FFE; --ovr-m: #82C6F9; --ovr-d: #88F3EF;
}
.ov-ring-fill.is-y { stroke: var(--ovr-y); opacity: 1; }
.ov-ring-fill.is-m { stroke: var(--ovr-m); opacity: 1; }
 





.ov-pie-track {
  fill: var(--nu-surface-4, var(--border));
  stroke: var(--nu-border-strong, var(--border)); stroke-width: 1;
}


.ov-pie-fill { fill: none; stroke: var(--ovr-d); }
 
.ov-pie-edge { fill: none; stroke: var(--nu-surface-2, #fff); stroke-width: 2; }








.ov-ring-fill.is-m { animation-delay: 110ms; }
.ov-pie-fill { animation-delay: 220ms; }
.ov-pie-edge { animation: ovFade 300ms ease-out 900ms both; }
@keyframes ovFade { from { opacity: 0; } }
 
@media (prefers-reduced-motion: reduce) {
  .ov-pie-edge { animation: none; }
}









.ov-ring-fill.is-over { stroke: var(--nu-alert); opacity: 1; }
.ov-pie-fill.is-over { stroke: var(--nu-alert); }



 
.ov-rv.is-over { color: var(--nu-alert-text); font-weight: 700; }
.ov-rv > i {
  font-style: normal; font-size: 9.5px; font-weight: 700; margin-left: 3px;
  border: 1px solid currentColor; border-radius: 3px; padding: 0 3px;
}
 
.ov-ringkey i.is-over { background: var(--nu-alert); border: none; opacity: 1; }

 


.ov-gauge-vals {
  display: grid; gap: 1px;
  font-size: 12px; font-variant-numeric: tabular-nums;
  

  line-height: 1.35;
}
.ov-rv { display: flex; align-items: baseline; gap: 5px; }


.ov-rv b { width: 2.2em; flex: none; }
.ov-rv { color: var(--nu-txt2); white-space: nowrap; }
.ov-rv b { color: var(--nu-txt4); font-weight: 600; margin-right: 1px; }
.ov-rv i { font-style: normal; font-size: 10px; color: var(--nu-txt3); margin-left: 2px; }


.ov-rv.is-y { color: var(--nu-txt1); font-weight: 700; }
.ov-rv.is-m { color: var(--nu-txt2); }
.ov-rv.is-d { color: var(--nu-txt3); }

 




.mx-card[data-card^="cheil.ov.period."] .mx-card-h { flex-wrap: nowrap; min-width: 0; }
.mx-card[data-card^="cheil.ov.period."] .mx-card-title { min-width: 0; }
.mx-card[data-card^="cheil.ov.period."] .mx-card-sub {
  order: 2; flex-basis: auto; margin-left: 8px;
  

  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}









.mx-card[data-card^="cheil.tr."] .mx-card-h { flex-wrap: nowrap; min-width: 0; }
.mx-card[data-card^="cheil.tr."] .mx-card-title { min-width: 0; white-space: nowrap; }
.mx-card[data-card^="cheil.tr."] .mx-card-sub {
  order: 2; flex-basis: auto; margin-left: 10px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}






.mx-card[data-card="cheil.tr.groups"] { position: relative; }
.mx-card[data-card="cheil.tr.groups"] .mx-grid-bar {
  position: absolute; top: 10px; right: 14px; margin: 0; z-index: 2;
}
.mx-card[data-card="cheil.tr.groups"] .mx-card-tools { padding-right: 132px; }



.mx-card[data-card="cheil.tr.groups"] .mx-card-b { position: static; }
 
.mx-card[data-card="cheil.tr.groups"] .kpi-table-wrap { margin-top: 0; }



.ov-ringkey { font-size: 11px; font-weight: 500; color: var(--nu-txt3); }
 
.mx-card-tools > .ov-ringkey:not([hidden]) { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.ov-ringkey b { color: var(--nu-txt2); }


.ov-ringkey i {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  border: 2px solid var(--ovr-y); margin: 0 3px -1px 8px;
}
.ov-ringkey i.is-m { width: 8px; height: 8px; border-color: var(--ovr-m); }
.ov-ringkey i.is-d {
  background: var(--ovr-d); width: 8px; height: 8px; border: none;
}











.ov-canvas.is-tall { flex: 1; min-height: 150px; }






#layoutRoot.kpi-page.fit-page { overflow-y: auto; }

.ov-d { font-weight: 700; font-size: 12px; }


.ov-d-w { font-size: 11px; color: var(--nu-txt3); margin-left: 4px; }



.ov-plan-wrap { min-width: 0; }
.ov-plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
 
.ov-plan {
  background: var(--nu-surface-2); border: 1px solid var(--border);
  border-radius: var(--nu-r-medium); padding: 10px 12px; min-width: 0;
}
.ov-plan-h { font-size: 12px; font-weight: 700; color: var(--nu-txt3); margin-bottom: 4px; }
.ov-plan-r { font-size: 13px; line-height: 1.5; }
.ov-plan-r b { font-variant-numeric: tabular-nums; }


.ov-plan-ship {
  margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--border);
  font-size: 12px; color: var(--nu-txt3);
}
.ov-plan-ship b { font-variant-numeric: tabular-nums; color: var(--nu-txt1); }
.ov-plan-ship-h { display: flex; align-items: baseline; gap: 6px; }
.ov-plan-ship-p { margin-left: auto; font-weight: 700; color: var(--nu-txt2); font-variant-numeric: tabular-nums; }
 
.ov-bar.is-ship { margin-top: 4px; }
.ov-bar.is-ship > i { background: var(--nu-info, var(--nu-primary)); }
.ov-plan .ov-bar { margin-top: 6px; }

 
@media (max-width: 1200px) {
  .ov-plans { grid-template-columns: repeat(2, 1fr); }
  .ov-gauges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}





@media (max-width: 720px) {
  .ov-plans { grid-template-columns: 1fr; }
  .ov-gauges { grid-template-columns: 1fr; grid-auto-rows: auto; height: auto; }
}












@media (forced-colors: active) {
  .ov-bar { border-color: CanvasText; background: Canvas; }
  





   
  








  .ov-ring-track { stroke: GrayText; stroke-width: 3; }
  .ov-ring-track.is-m { stroke-width: 2; }
  

  .ov-pie-track { fill: GrayText; }
  

  .ov-pie-edge { stroke: Canvas; }

  .ov-gauge { border: 1px solid CanvasText; }
  .ov-card, .ov-bd { border-color: CanvasText; }
  .ov-blk + .ov-blk { border-top-color: CanvasText; }
  




  



  .ov-bd > i.is-good, .ov-bd > i.is-bad, .ov-bd > i.is-flat { background: CanvasText; }
  

  .ov-bd::before { background: GrayText; }
  

  .ov-bd > i.is-cut.is-neg, .ov-bd > i.is-cut.is-pos { border-color: Canvas; }
  

  .ov-bar > i { background: CanvasText; border-right: 2px solid Canvas; }
}









.nav-mark {
  margin-left: auto;
  flex: none;
  padding: 1px 5px;
  border-radius: var(--nu-r-small);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: var(--nu-txt3);
  background: var(--nu-surface-3);
}

 
.nav-mark.is-new {
  color: var(--nu-warning-text);
  background: var(--nu-warning-soft);
}

.nav a.active .nav-mark { color: var(--nu-brand-text); background: var(--nu-primary-tint); }



.topbar-mark {
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: var(--nu-r-pill);
  font-size: 11px;
  font-weight: 700;
  color: var(--nu-txt3);
  background: var(--nu-surface-3);
  border: 1px solid var(--nu-line);
  cursor: help;
}





.panel.is-reserved { padding: 28px 32px; max-width: 720px; }
#layoutRoot.fit-page > .panel.is-reserved { flex: none; }





#layoutRoot.fit-page > .mx-screen { flex: 1; min-height: 0; display: flex; flex-direction: column; }
#layoutRoot.fit-page > .mx-screen > .panel { flex: 1; min-height: 0; display: flex; flex-direction: column; }
#layoutRoot.fit-page > .mx-screen > .panel.is-reserved { flex: none; }
.mx-screen [hidden] { display: none !important; }


















.content:has(> #layoutRoot.fit-page) { padding-bottom: 0; }
#layoutRoot.fit-page { overflow-y: auto; padding-bottom: 12px; }

#layoutRoot.fit-page > .ch-home { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 6px; }
.ch-home-panel { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; gap: 6px; }
.ch-home-panel > .ch-home-head { flex: 0 0 auto; margin-bottom: 0; }
.ch-home-panel > .ch-home-dash { flex: 1 1 0; min-height: 0; }
.ch-home-head .ov-head-l { display: flex; align-items: baseline; gap: 10px; }
.ch-home-head .ov-head-r { margin-left: auto; }




.ch-home-head { flex-wrap: wrap; row-gap: 6px; }
.ch-home-head .ov-pending-btn { border-color: var(--nu-primary); color: var(--nu-primary); font-weight: 700; }
.ch-home-head .ov-pending-btn b { margin: 0 1px; }


@media (max-width: 1899px) {
  .ch-home-head > .ov-head-k { order: 3; flex-basis: 100%; }
  .ch-home-head .ov-kpi-tag { margin-left: 0; padding-left: 0; border-left: 0; }
}
.ov-head-k { display: flex; align-items: center; min-width: 0; }
.ov-kpis { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ov-kpi-tag { align-self: stretch; display: inline-flex; align-items: center; margin-left: 4px; padding-left: 12px;
  border-left: 1.5px solid var(--nu-border); font-size: 11.5px; font-weight: 800; letter-spacing: 0.04em; color: var(--nu-primary); white-space: nowrap; }
.ov-kpi { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border: 1px solid var(--nu-border-l);
  border-radius: 8px; background: var(--nu-surface); white-space: nowrap; font-size: 12px; cursor: default; }
.ov-kpi-l { color: var(--nu-txt2); font-size: 11.5px; }
.ov-kpi-v { font-size: 13.5px; font-weight: 700; color: var(--nu-txt1); font-variant-numeric: tabular-nums; }
.ov-kpi-g { color: var(--nu-txt3); font-size: 11px; }
.ov-kpi-st { font-size: 10.5px; font-weight: 700; border: 1px solid currentColor; border-radius: 999px; padding: 0 6px; }
.ov-kpi.is-ok .ov-kpi-st { color: var(--nu-success-text); }
.ov-kpi.is-warn .ov-kpi-st { color: var(--nu-warning-text); }
.ov-kpi.is-bad .ov-kpi-st { color: var(--nu-alert-text); }
 
.ch-home-panel.is-dash { display: block; overflow-y: auto; }












.ch-home-panel { overflow-y: auto; }
.ch-home-panel > .ch-home-dash.is-yoy { flex: 0 0 auto; min-height: 880px; }























@media (max-width: 720px) {
  #layoutRoot.fit-page > .ch-home,
  .ch-home-panel,
  .ch-home-panel > .ch-home-dash,
  .ch-home-panel > .ch-home-dash.is-yoy { flex: 0 0 auto; min-height: auto; }
  .ch-home-panel { overflow-y: visible; }
}


@media (min-width: 721px) and (max-width: 1100px) {
  #layoutRoot.fit-page:has(> .ch-home) { flex: 1 1 0%; min-height: 0; }
}






@media (max-width: 720px) {
  .ch-home-head { flex-wrap: wrap; row-gap: 6px; }
  .ch-home-head .ov-head-l { flex-wrap: wrap; row-gap: 4px; }
  .ch-home-head .ov-head-r { margin-left: 0; }
}

 



.mx-card .ov-card { border: 0; border-radius: 0; background: none; overflow: visible; height: 100%; }








.mx-card .ov-blk:not([hidden]) {
  flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center;
}
.mx-card .ov-card-h { display: none; }

























.mx-card .ov-card .ov-blk { padding-top: 2px; padding-bottom: 2px; }
 
.mx-card .ov-card .ov-blk-k { margin-bottom: 1px; line-height: 1.3; }
 
.ov-pair > .ov-mrow { margin-top: 0; flex: 0 0 auto; }
.ov-pair > .ov-mrow .ov-mnote { margin-left: 6px; }
.mx-card .ov-card .ov-mrow { margin-top: 0; line-height: 1.2; }
.mx-card .ov-card .ov-bar { height: 7px; }
.mx-card .ov-card .ov-rates { gap: 3px; }
 
.mx-card .ov-card .ov-rate { line-height: 1.2; }
.mx-card .ov-card .ov-rate-v { font-size: 11.5px; }
.mx-card .ov-card .ov-yoy { gap: 2px 7px; }
.mx-card .ov-card .ov-bd-l,
.mx-card .ov-card .ov-bd-v { font-size: 10px; }


.mx-card .ov-gauge-side { gap: 3px; }
.mx-card:has(.ov-card.is-now) { border-color: var(--nu-primary); }    




.mx-card .ov-ringkey:not([hidden]) { display: block; margin: 0 0 6px; }
 
.mx-card-tools > .ov-yoy-scale:not([hidden]) { display: inline; margin-left: 10px; }
 
.mx-card[data-card^="cheil.ov."] .mx-card-b { overflow-y: auto; }
 
.mx-card[data-card="cheil.tr.groups"] .mx-card-b { display: flex; flex-direction: column; min-height: 0; }
.mx-card[data-card="cheil.tr.groups"] .grid-host { flex: 1 1 0; min-height: 0; margin-top: 0; }
.reserved-badge {
  display: inline-block;
  align-self: flex-start;
  margin: 0 0 12px;
  padding: 3px 9px;
  border-radius: var(--nu-r-pill);
  font-size: 11px;
  font-weight: 700;
  color: var(--nu-warning-text);
  background: var(--nu-warning-soft);
}
.reserved-title { margin: 0 0 6px; font-size: 18px; }
.reserved-lead { margin: 0 0 16px; color: var(--nu-txt2); }
.reserved-list { margin: 0; padding-left: 18px; color: var(--nu-txt3); line-height: 1.7; }
.reserved-list li { margin-bottom: 6px; }
.reserved-src { margin: 18px 0 0; font-size: 11px; color: var(--nu-txt4); }






.prod-blocked {
  border: 1px dashed var(--nu-line);
  border-radius: 4px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 190px;
  justify-content: center;
  flex: 1;
}
.prod-blocked-mark {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--nu-txt3);
  border: 1px solid var(--nu-line);
  border-radius: 2px;
  padding: 2px 8px;
  align-self: flex-start;
}
.prod-blocked p {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.6;
  color: var(--nu-txt2);
}

 
.prod-canvas.is-tall { height: 260px; }
.sc-dim { color: var(--nu-txt3); font-size: 0.9em; }





.sim-console-panel {
  display: flex; flex-direction: column; gap: 10px;
  height: 100%; min-height: 0; padding: 12px 14px;
}
.sim-console-bar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 12.5px; color: var(--nu-txt2);
}
.sim-console-tag {
  border: 1px solid var(--nu-line); border-radius: 3px;
  padding: 1px 7px; font-size: 11.5px; font-weight: 600; color: var(--nu-txt3);
  white-space: nowrap;
}
.sim-console-desc { flex: 1 1 240px; min-width: 0; }
.sim-console-open {
  border: 1px solid var(--nu-line); border-radius: 3px;
  padding: 3px 10px; font-size: 12px; text-decoration: none; white-space: nowrap;
}
.sim-console-frame {
  flex: 1 1 auto; min-height: 420px; width: 100%;
  border: 1px solid var(--nu-line); border-radius: 3px; background: #fff;
}






.prod-groups { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 4fr); gap: 8px; }
.prod-groups > .chart-box { display: flex; flex-direction: column; min-height: 0; min-width: 0; }


.screen-card { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.screen-card > .mx-card { flex: 1 1 auto; border: 0; padding: 0; background: none; box-shadow: none; gap: 0; }
.screen-card > .mx-card > .mx-card-h { display: none; }
.screen-card > .mx-card > .mx-card-b { gap: 0; }    
 
.mx-card .gcards, .mx-card .dt-cards { flex: 1 1 0; min-height: 0; }

 
.prod-donut-sum {
  position: absolute; inset: 0; display: grid; place-content: center; text-align: center;
  pointer-events: none; line-height: 1.2;
}
.prod-donut-sum b { font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--nu-txt1); }
.prod-donut-sum span { font-size: 0.7rem; color: var(--nu-txt3); }

 
.prod-legend {
  list-style: none; margin: 8px 0 0; padding: 7px 0 0; border-top: 1px solid var(--nu-border-l);
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 8px;
  font-size: 0.72rem; color: var(--nu-txt2);
}
.prod-legend li { display: flex; align-items: center; gap: 6px; min-width: 0; }
.prod-legend span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.prod-legend-chip, .gcard-chip { width: 10px; height: 10px; border-radius: 2px; flex: none; }

 
.gcards {
  flex: 1 1 auto; display: grid; gap: 8px; margin-top: 6px;
  grid-template-columns: repeat(var(--gcols, 4), minmax(0, 1fr)); grid-auto-rows: 1fr;
}
.gcard {
  border: 1px solid var(--nu-border); border-radius: var(--nu-r-medium); background: var(--nu-card);
  padding: 8px 10px 9px; display: grid; gap: 5px; align-content: center; min-width: 0;
}
.gcard-head { display: flex; align-items: center; gap: 7px; min-width: 0; }
.gcard-name { font-size: 0.8rem; font-weight: 700; color: var(--nu-txt1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.gcard-share { font-size: 0.7rem; color: var(--nu-txt3); font-variant-numeric: tabular-nums; flex: none; }
.gcard-rate { margin-left: auto; font-size: 1.1rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; color: var(--nu-txt1); flex: none; }
.gcard-rate.is-short { color: var(--nu-alert-text); }

 
.gcard-meter { position: relative; height: 10px; border-radius: 2px; background: var(--nu-surface-2); }
.gcard-fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 2px 0 0 2px; background: var(--chart-2); }
.gcard-fill.is-short { background: var(--nu-alert); }
 
.gcard-over {
  position: absolute; top: 0; bottom: 0;
  background: repeating-linear-gradient(135deg, var(--chart-2) 0 3px, transparent 3px 6px);
  border: 1px solid var(--chart-2); border-left: 0;
}
.gcard-goal { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: var(--nu-txt2); }

.gcard-line {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 8px;
  font-size: 0.72rem; color: var(--nu-txt3); font-variant-numeric: tabular-nums; min-width: 0;
}
.gcard-line b { color: var(--nu-txt2); font-weight: 600; }
.gcard-gap { font-weight: 600; }
.gcard-gap.is-short { color: var(--nu-alert-text); }
.gcard-gap.is-over { color: var(--nu-success-text); }

 
@media (max-width: 1100px) {
  .prod-groups { grid-template-columns: 1fr; }
  .gcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}




@media (forced-colors: active) {
  .gcard-fill, .gcard-over, .gcard-chip, .prod-legend-chip { forced-color-adjust: none; }
  .gcard-meter { background: Canvas; outline: 1px solid GrayText; }
  .gcard-goal { forced-color-adjust: none; background: CanvasText; }
}




.ov-pending-btn b { font-variant-numeric: tabular-nums; }

.ov-modal { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; }
.ov-modal-back { position: absolute; inset: 0; background: rgb(0 0 0 / 38%); }
.ov-modal-box {
  position: relative; display: flex; flex-direction: column;
   
  width: min(1440px, 96vw); max-height: 88vh;
  background: var(--panel); color: var(--nu-txt1);
  border: 1px solid var(--border); border-radius: var(--nu-r-large);
  box-shadow: 0 18px 48px rgb(0 0 0 / 22%);
}
.ov-modal-h {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 18px; border-bottom: 1px solid var(--border);
}
.ov-modal-h h2 { margin: 0; font-size: 1.05rem; font-weight: 700; }
.ov-modal-body { padding: 14px 18px 18px; overflow: auto; display: flex; flex-direction: column; gap: 10px; }

.ov-pend-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
 
.ov-pend-chips > .basis-btn--inline { margin-left: auto; }
.ov-pend-chip b { font-variant-numeric: tabular-nums; margin-left: 2px; }
.ov-pend-note { margin: 0; font-size: 0.78rem; line-height: 1.6; color: var(--nu-txt3); }
.ov-pend-note b { color: var(--nu-txt2); }
.ov-pend-sum {
  display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 8px 12px;
  background: var(--nu-surface-2); border: 1px solid var(--border);
  border-radius: var(--nu-r-medium); font-size: 0.8rem; color: var(--nu-txt2);
}
.ov-pend-sum b { font-variant-numeric: tabular-nums; color: var(--nu-txt1); }
 
.ov-pend-grid { flex: 1; min-height: 240px; }
.ov-pend-loading { color: var(--nu-txt3); font-size: 0.85rem; }

 
.ov-pend-badge {
  display: inline-block; padding: 1px 7px; border-radius: 999px;
  font-size: 0.72rem; font-weight: 700; border: 1px solid currentColor;
}
.ov-pend-badge.is-miss { color: var(--nu-alert-text); }
.ov-pend-badge.is-wip { color: var(--nu-primary-dark); }
.ov-pend-badge.is-soon { color: var(--nu-success-text); }
.ov-pend-badge.is-cancel { color: var(--nu-txt4); }
.ov-pend-badge.is-done { color: var(--nu-txt2); }


.ov-pend-detail-b.mls-detail { grid-template-columns: minmax(460px, 1.6fr) repeat(3, minmax(200px, 1fr)); }
 
.ov-pend-badge.ml-badge.is-under { color: var(--nu-alert-text); }
.ov-pend-badge.ml-badge.is-warn { color: var(--nu-warning-text); }
.ov-pend-badge.ml-badge.is-ok { color: var(--nu-success-text); }
.ov-pend-badge.ml-badge.is-rich { color: var(--nu-primary-dark); }
 
.ov-pend-urgent, .ov-pend-manual {
  padding: 0 6px; border-radius: 999px; border: 1px solid var(--nu-alert-border);
  font-size: 0.68rem; font-weight: 700; white-space: nowrap;
  color: var(--nu-alert-text); background: var(--nu-alert-light);
}
 
.ov-pend-manual { color: var(--nu-info-text); background: var(--nu-info-light); border-color: var(--nu-info-border); }
 
.ov-pend-plan { color: var(--nu-txt3); }
.ov-pend-noplan { font-weight: 700; color: var(--nu-warning-text, var(--nu-alert-text)); }
#ovPendGrid .mx-grid-table tbody tr, #orsGrid .mx-grid-table tbody tr { cursor: pointer; }
 
#ovPendGrid .mx-grid-detail-td, #orsGrid .mx-grid-detail-td { background: var(--nu-surface-2); padding: 10px 14px 12px 44px;
  white-space: normal; font-size: 0.8rem; color: var(--nu-txt2); border-bottom: 2px solid var(--border); }
.ov-pend-detail-hint { margin-left: auto; color: var(--nu-txt4, var(--nu-txt3)); font-size: 0.72rem; }
.ov-pend-detail-h { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.ov-pend-detail-h b { color: var(--nu-txt1); font-size: 0.88rem; }
.ov-pend-detail-b { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 22px; }
.ov-pend-sec { min-width: 0; }
.ov-pend-sec h3 { margin: 0 0 4px; font-size: 0.78rem; font-weight: 700; color: var(--nu-txt1); }
.ov-pend-dl { display: grid; grid-template-columns: max-content 1fr; gap: 2px 10px; margin: 0; }
.ov-pend-dl dt { color: var(--nu-txt3); }
.ov-pend-dl dd { margin: 0; color: var(--nu-txt1); font-variant-numeric: tabular-nums; }
.ov-pend-dl small { color: var(--nu-txt3); }
.ov-pend-detail-note { margin: 0; line-height: 1.6; }
.ov-pend-mini { border-collapse: collapse; width: 100%; font-size: 0.76rem; }
.ov-pend-mini th, .ov-pend-mini td { padding: 2px 6px; border-bottom: 1px solid var(--border); text-align: left; }
.ov-pend-mini th { color: var(--nu-txt3); font-weight: 600; }
.ov-pend-mini .num { text-align: right; font-variant-numeric: tabular-nums; }
.ov-pend-mini tfoot td { font-weight: 700; color: var(--nu-txt1); border-bottom: 0; }
.ov-pend-miss { margin: 0; padding-left: 16px; }
 
.ov-pend-clip { display: inline-block; vertical-align: bottom; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1500px) {
  #ovPendGrid .ov-pend-clip { max-width: 136px; }
}
.is-late { font-weight: 700; color: var(--nu-alert-text); }

 
 
#layoutRoot > .oe-wrap { display: grid; grid-template-columns: minmax(380px, 440px) minmax(0, 1fr); gap: 14px; min-height: 0; }
.oe-wrap > .chart-box { min-height: 0; min-width: 0; }
.oe-panel { display: flex; flex-direction: column; gap: 10px; overflow: auto; }
.oe-tabs { display: flex; gap: 6px; }
.oe-form { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 8px 10px; align-items: center; font-size: 13px; }
.oe-form > label, .oe-form > .oe-label { color: var(--nu-txt2); }
.oe-fixed { font-weight: 600; color: var(--nu-txt1); }
 
.ov-rate.is-judging .ov-rate-wait { grid-column: 2 / -1; color: var(--nu-txt3); font-size: 0.78rem; }
 
.oe-req { color: var(--nu-alert-text); font-weight: 700; margin-left: 2px; }
.oe-req-note { margin: 0; text-align: right; }    
.oe-form .mx-select, .oe-form .mx-input { width: 100%; box-sizing: border-box; }
.oe-form .oe-num { width: 120px; text-align: right; }
.oe-form > span { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.oe-form input[type="date"] { width: 160px; }
.oe-sub { color: var(--nu-txt3); font-size: 12px; }
.oe-actions { display: flex; justify-content: flex-end; gap: 6px; border-top: 1px solid var(--nu-line); padding-top: 10px; }
.oe-edit { margin: 0; font-size: 13px; }
.oe-msg { margin: 0; font-size: 12.5px; color: var(--nu-success-text); }
.oe-msg.is-bad { color: var(--nu-alert-text); }
.oe-steps { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 13px; }
.oe-steps li > .oe-sub { display: block; margin-top: 2px; }
.oe-file { cursor: pointer; }
.oe-check { max-height: 360px; }
.oe-errs { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 12.5px; color: var(--nu-alert-text); max-height: 160px; overflow: auto; }
.ors-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: 10px; vertical-align: middle; }
.ors-chips .mx-chip { font-weight: 500; }
.ors-ok { color: var(--nu-success-text); font-weight: 600; }
@media (max-width: 1500px) {
  #orsGrid .ov-pend-clip { max-width: 150px; }
}

@media (max-width: 720px) {
  .ov-modal-box { width: 96vw; max-height: 92vh; }
  .ov-pend-sum { flex-direction: column; gap: 4px; }
}






.tr-colorkey i { display: inline-block; width: 9px; height: 9px; border: none; border-radius: 2px; margin: 0 4px 0 8px; }
.tr-colorkey i.is-bad { background: var(--nu-alert-text); }
.tr-colorkey i.is-cur { background: var(--nu-txt4); opacity: 0.55; }
 
.mx-grid-table .is-cur { color: var(--nu-txt3); }
 
.tr-carry { color: var(--nu-txt4); font-weight: 400; }








.mx-grid-table thead th.mx-grid-no { font-size: 0; }
.mx-grid-table thead th.mx-grid-no::after { content: 'No'; font-size: 0.82rem; }















thead th { text-align: center; }




.mx-grid-table thead th.mx-grid-th-left,
.mx-grid-table thead th.mx-grid-th-center,
.mx-grid-table thead th.mx-grid-th-right,
.mx-grid-table thead th.mx-grid-no { text-align: center; }






#layoutRoot thead th.tb-al-l,
#layoutRoot thead th.tb-al-c,
#layoutRoot thead th.tb-al-r { text-align: center; padding-left: 8px; padding-right: 8px; }



.eqc-tbl thead th.n { text-align: center; }









#layoutRoot .is-barline > .kpi-table-wrap.grid-host { margin-top: -28px; }



#layoutRoot .is-barline > .chart-title { position: relative; z-index: 1; }




#layoutRoot .is-barline > .chart-title.has-note > .data-note { margin-left: 0; }
 
#layoutRoot .is-barline > .chart-title.has-note > .data-note[open] > .kpi-note,
#layoutRoot .is-barline > .chart-title.has-note > .data-note[open] > .prod-stopnote {
  left: 0; right: auto; }



#layoutRoot .is-barline .mx-grid-bar { pointer-events: none; }
#layoutRoot .is-barline .mx-grid-bar > * { pointer-events: auto; }




#layoutRoot .is-barline .mx-grid-bar { position: relative; z-index: 2; }
#layoutRoot .is-barline > .chart-title:has(.data-note[open]) { z-index: 3; }









#layoutRoot .is-barline > .kpi-table-wrap.is-note { margin-top: 5px; }
#layoutRoot .tbl-onerow > .kpi-table-wrap.is-note { margin-top: 33px; }





.eq-ach { display: inline-flex; align-items: center; gap: 7px; justify-content: flex-end; width: 100%; }
.eq-achbar {
  position: relative; flex: 0 0 56px; height: 9px; border-radius: 3px;
  background: var(--nu-bg2, var(--surface-2, #eef1f5)); overflow: hidden;
}
.eq-achbar > i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--nu-primary); border-radius: 3px; }
.eq-ach.is-over .eq-achbar > i { background: var(--nu-success, #2f7d5f); }
 
.eq-achbar > b { position: absolute; top: -1px; bottom: -1px; width: 2px; background: var(--nu-txt2); opacity: 0.55; }
.eq-achnum { min-width: 3.4em; text-align: right; font-variant-numeric: tabular-nums; }

 
.eq-badge {
  display: inline-block; padding: 1px 8px; border-radius: 999px;
  font-size: 0.72rem; font-weight: 700; border: 1px solid currentColor; white-space: nowrap;
}
.eq-badge.is-ok { color: var(--nu-success-text); }
.eq-badge.is-down { color: var(--nu-alert-text); }
.eq-badge.is-none { color: var(--nu-txt4); }
.eq-badge.is-ended { color: var(--nu-txt4); opacity: 0.85; }








.dt-cards {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px; overflow: auto;
  



  grid-auto-rows: min-content; align-content: start;
}
@media (max-width: 1100px) { .dt-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px)  { .dt-cards { grid-template-columns: 1fr; } }

.eqcard {
  display: flex; flex-direction: column; gap: 7px; min-width: 0;
   
  overflow: hidden;
  padding: 11px 15px; text-decoration: none; color: inherit;
  background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--nu-r-large); box-shadow: var(--shadow);
}
.eqcard:hover { border-color: var(--nu-primary); }
.eqcard:focus-visible { outline: 2px solid var(--nu-primary); outline-offset: 2px; }



.eqc-head { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
.eqc-name { flex: 0 1 auto; min-width: 0; font-size: 0.92rem; font-weight: 700;
            color: var(--nu-txt1); line-height: 1.3;
            white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eqc-code { flex: 0 0 auto; font-size: 0.72rem; color: var(--nu-txt3); white-space: nowrap; }
.eqc-meta { display: block; font-size: 0.72rem; color: var(--nu-txt4); margin-top: 2px;
            white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.eqc-body { display: flex; align-items: center; gap: 14px; min-width: 0; }
 
.eqd { flex: 0 0 84px; width: 84px; height: 84px; }
.eqd circle { fill: none; stroke-width: 8.5; }
.eqd-bg { stroke: var(--nu-bg2, #eef1f5); }
 
.eqd-fg { stroke: var(--nu-primary); transform: rotate(-90deg); transform-origin: 32px 32px; }
.eqd.is-low .eqd-fg { stroke: var(--nu-alert-text); }
.eqd.is-over .eqd-fg { stroke: var(--nu-success, #2f7d5f); }
.eqd.is-none .eqd-fg { stroke: none; }
.eqd-n { font-size: 15px; font-weight: 700; text-anchor: middle; fill: var(--nu-txt1); }    
.eqd-n.is-long { font-size: 13px; }    
.eqd-u { font-size: 8.5px; text-anchor: middle; fill: var(--nu-txt4); }

.eqc-tbl { flex: 1 1 auto; border-collapse: collapse; font-size: 0.78rem; min-width: 0; }
.eqc-tbl th, .eqc-tbl td { padding: 2px 0 2px 9px; border: 0; white-space: nowrap; }
.eqc-tbl thead th { font-size: 0.7rem; color: var(--nu-txt4); font-weight: 500;
                    border-bottom: 1px solid var(--border); padding-bottom: 3px; }
.eqc-tbl tbody th { color: var(--nu-txt3); font-weight: 500; padding-left: 0; text-align: left; }


.eqcard .eqc-tbl tbody th { font-size: 0.7rem; font-weight: 500; text-align: center; padding: 2px 8px 3px; }
.eqc-tbl .n { text-align: right; font-variant-numeric: tabular-nums; }
.eqc-tbl tbody td { color: var(--nu-txt2); }
.eqc-tbl b { font-weight: 700; color: var(--nu-txt1); }
.eqc-tbl b.is-low { color: var(--nu-alert-text); }
.eqc-tbl b.is-ok { color: var(--nu-success-text); }

.eqc-foot { display: flex; align-items: center; gap: 8px; padding-top: 8px; margin-top: auto;
            border-top: 1px solid var(--border); font-size: 0.74rem; color: var(--nu-txt3); }
.eqc-note { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eqc-util { white-space: nowrap; font-variant-numeric: tabular-nums; }


 
.eq-back { padding: 2px 10px; font-size: 0.78rem; }
.eq-title { font-size: 0.98rem; font-weight: 700; color: var(--nu-txt1); margin-left: 4px; }



.eqcard.is-ended { opacity: 0.66; border-style: dashed; }



.scope-note {
  display: inline-block; margin-left: 8px; padding: 1px 9px; border-radius: 999px;
  font-size: 0.72rem; font-weight: 600; white-space: nowrap;
  color: var(--nu-primary-dark); border: 1px solid var(--nu-primary);
  background: var(--nu-primary-tint);
}
















 
#layoutRoot.fit-page.prod-page > .fill.eq-one { display: flex; flex-direction: column; }
#layoutRoot.fit-page.prod-page > .fill.eq-one > .chart-box { flex: 1 1 auto; min-height: 0; }
#layoutRoot.fit-page.prod-page > .fill.eq-one .kpi-table-wrap {
  flex: 1 1 auto; min-height: 167px; max-height: none; overflow: auto; }







#eqProdGrid .mx-grid-table th.mx-grid-no,
#eqProdGrid .mx-grid-table td.mx-grid-no { display: none; }

 
.eq-pick { max-width: 320px; }

#eqProdGrid .mx-grid-table tbody tr.eqp-done  { background: var(--nu-success-light); }
#eqProdGrid .mx-grid-table tbody tr.eqp-doing { background: var(--nu-warning-light); }
#eqProdGrid .mx-grid-table tbody tr.eqp-todo  { background: var(--nu-surface-2); }


#eqProdGrid .mx-grid-table tbody tr:hover { background: var(--nu-primary-tint); }



#eqProdGrid .mx-grid-table td.eq-late {
  background: var(--nu-alert-light); color: var(--nu-alert-text); font-weight: 700;
  box-shadow: inset 0 0 0 1px var(--nu-alert-border);
}
#eqProdGrid .mx-grid-table td.eq-late b { font-weight: 800; }

 
.eqp-legend { display: inline-flex; gap: 5px; margin-left: 8px; vertical-align: middle; }
.eqp-key {
  padding: 1px 8px; border-radius: 999px; font-size: 0.7rem; font-weight: 600;
  white-space: nowrap; color: var(--nu-txt2); border: 1px solid var(--border);
}
.eqp-key.eqp-done  { background: var(--nu-success-light); }
.eqp-key.eqp-doing { background: var(--nu-warning-light); }
.eqp-key.eqp-todo  { background: var(--nu-surface-2); }

 
.eqp-urgent {
  margin-left: 6px; padding: 0 6px; border-radius: 999px;
  font-size: 0.68rem; font-weight: 700; white-space: nowrap;
  color: var(--nu-alert-text); background: var(--nu-alert-light);
  border: 1px solid var(--nu-alert-border);
}
 
 
.sh-slack-key i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin: 0 3px 0 8px; vertical-align: -1px; }
.sh-slack-key i.is-late { background: var(--nu-alert, #D64545); }
.sh-slack-key i.is-day { background: var(--nu-warning, #D97706); }
.sh-slack-key i.is-ok { background: var(--nu-success, #059669); }
.eqp-urgent.eqp-manual { color: var(--nu-info-text); background: var(--nu-info-light); border-color: var(--nu-info-border); }




#pgGrid .mx-grid-table tbody tr.eqp-done  { background: var(--nu-success-light); }
#pgGrid .mx-grid-table tbody tr.eqp-doing { background: var(--nu-warning-light); }
#pgGrid .mx-grid-table tbody tr.eqp-todo  { background: var(--nu-surface-2); }
 
#pgGrid .mx-grid-table tbody tr:hover { background: var(--nu-primary-tint); }

#pgGrid .mx-grid-table td.eq-late {
  background: var(--nu-alert-light); color: var(--nu-alert-text); font-weight: 700;
  box-shadow: inset 0 0 0 1px var(--nu-alert-border);
}
#pgGrid .mx-grid-table td.eq-late b { font-weight: 800; }

 
.eqp-key.eqp-late {
  background: var(--nu-alert-light); color: var(--nu-alert-text);
  border-color: var(--nu-alert-border); font-weight: 700;
}

 
.mx-field .mx-select:disabled { opacity: 1; color: var(--nu-txt2); background: var(--nu-surface-2); cursor: default; }

@media (forced-colors: active) {
   
  #pgGrid .mx-grid-table td.eq-late { outline: 2px solid CanvasText; outline-offset: -2px; }
  .eqp-key.eqp-late { border: 1px solid CanvasText; }
}



.dm-num { width: 7em; }
 
.dm-sg { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.dm-sg b { color: var(--nu-brand-text); font-variant-numeric: tabular-nums; }
.dm-tbl { width: 100%; }
.dm-tbl th[scope="col"] { text-align: center; white-space: nowrap; }
.dm-tbl th[scope="row"] { text-align: left; white-space: nowrap; }

.dm-sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.dm-away { color: var(--nu-alert-text); }
.dm-make { color: var(--nu-success-text); }
.dm-sum b { font-variant-numeric: tabular-nums; }
.dm-arrow { color: var(--nu-txt2); }

@media (forced-colors: active) {
  .dm-away, .dm-make { color: CanvasText; }
  .dm-away b { text-decoration: line-through; }
}














.as-tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.82rem; }
.as-tbl thead th {
  position: sticky; top: 0; z-index: 2;
  background: var(--mx-th-bg, var(--nu-primary-tint)); color: var(--mx-th-fg, var(--nu-txt1));    
  font-weight: 600; text-align: center;
  

  vertical-align: middle;
  border-bottom: 1px solid var(--mx-line-head, var(--nu-border));
  padding: 6px 8px;
}
.as-tbl tbody th, .as-tbl tbody td {
  padding: 6px 8px; border-bottom: 1px solid var(--mx-line-row, var(--nu-border-l));
  color: var(--nu-txt1); font-weight: 400;
}
.as-tbl tbody tr:hover > th, .as-tbl tbody tr:hover > td { background: var(--nu-surface-2); }



.as-tbl thead th:first-child, .as-tbl tbody th {
  position: sticky; left: 0; background: var(--nu-card);
  border-right: 1px solid var(--border);
}
.as-tbl tbody th { text-align: left; }
.as-tbl thead th:first-child { z-index: 3; background: var(--mx-th-bg, var(--nu-primary-tint)); }
.as-tbl th, .as-tbl td { white-space: nowrap; }




.as-tbl td.n { text-align: right; font-variant-numeric: tabular-nums; }
.as-tbl thead th.n { text-align: center; }
.as-tbl td.as-cell { text-align: center; }
.as-tbl td.as-group { color: var(--nu-txt2); white-space: nowrap; }

 
.dm-gone { color: var(--nu-txt4); }

 
.as-role {
  display: block; font-size: 0.66rem; font-weight: 500; color: var(--nu-txt2);
  margin-top: 1px;
}
td .as-role { display: inline; margin-left: 4px; }
 
th .as-ended-tag {
  display: inline; margin-left: 5px; padding: 0 5px; border-radius: 9px;
  font-size: 0.64rem; font-weight: 600;
  color: var(--nu-txt2); background: var(--nu-page); border: 1px solid var(--nu-border-strong);
}
.as-tbl tr.as-ended th[scope="row"] { color: var(--nu-txt3); }

 
.as-chk { display: inline-flex; align-items: center; justify-content: center;
          padding: 3px 10px; cursor: pointer; }
.as-chk input { width: 16px; height: 16px; cursor: pointer; }



.as-tbl tr.as-diff > th, .as-tbl tr.as-diff > td { background: var(--nu-warning-light); }
.as-tbl tr.as-empty > th { color: var(--nu-txt2); }
.as-none {
  margin-left: 6px; padding: 0 6px; border-radius: 999px;
  font-size: 0.68rem; font-weight: 600; white-space: nowrap;
  color: var(--nu-txt2); background: var(--nu-surface-2); border: 1px solid var(--border);
}

 
.kpi-note.is-ok  { color: var(--nu-success-text); }
.kpi-note.is-bad { color: var(--nu-alert-text); font-weight: 600; }

@media (forced-colors: active) {
  .as-tbl tr.as-diff > th, .as-tbl tr.as-diff > td { border-top: 2px solid CanvasText; }
  .as-none { border: 1px solid CanvasText; }
}







.mx-grid-table tr.is-picked > td { background: var(--nu-surface-2); }
.mx-grid-table tr.is-picked > td:first-child {
  box-shadow: inset 3px 0 0 var(--nu-primary);
}
.cm-pick {
  margin-left: 6px; padding: 0 6px; border-radius: 999px;
  font-size: 0.68rem; font-weight: 700; white-space: nowrap;
  color: var(--nu-txt2); background: var(--nu-warning-light); border: 1px solid var(--border);
}





.cm-edit { width: 100%; flex: 0 0 auto; }
 
.cm-edit th { width: 78px; white-space: nowrap; }
#layoutRoot .eqc-tbl.cm-edit th { text-align: center; }    
.cm-edit td { padding: 3px 0; }
.cm-edit select.mx-select.is-inline { margin-left: 0; max-width: 100%; }
.cm-edit input.mx-input.is-inline { width: 100%; max-width: 240px; }

.cm-actions { display: flex; align-items: center; gap: 10px; margin: 10px 0 2px; }
 
.cm-msg { font-size: 0.78rem; font-weight: 600; color: var(--nu-success-text, var(--nu-txt2)); }
.cm-msg.is-bad { color: var(--nu-alert-text); }




#alGrid .mx-grid-table tr.is-unread > td { background: var(--nu-warning-light); font-weight: 600; }

 
.al-chips { display: flex; flex-wrap: wrap; gap: 6px; }
 
.al-chip { height: var(--mx-ctl-h); padding-top: 0; padding-bottom: 0; }
.al-chip:disabled { opacity: 0.45; cursor: default; }
.al-chip > b { font-variant-numeric: tabular-nums; }
.al-chip > em {
  font-style: normal; font-size: 0.7rem; font-weight: 700;
  padding: 0 6px; border-radius: 999px;
  background: var(--nu-warning-light); color: var(--nu-warning-text, var(--nu-txt1));
}
.al-chip[aria-pressed="true"] > em { background: rgba(255, 255, 255, 0.22); color: #fff; }

 
.al-empty {
  display: flex; flex-direction: column; gap: 6px;
  padding: 28px 18px; text-align: center;
}
.al-empty > b { font-size: 0.95rem; color: var(--nu-txt1); }
.al-empty > span { font-size: 0.8rem; color: var(--nu-txt3); line-height: 1.5; }



.mat-po-stack { display: flex; flex-direction: column; gap: 8px; min-height: 0; }
.mat-po-stack > .chart-box { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; }
.mat-po-stack > .chart-box > .kpi-table-wrap { flex: 1 1 auto; min-height: 0; }

 










.inv-tabs {
  margin: 0; padding-bottom: 6px; gap: 6px; flex: 0 0 auto;
  border-bottom: 1px solid var(--border);
}
.inv-tabs button {
  font-size: 13px; font-weight: 600; padding: 7px 18px;
  color: var(--nu-txt2); background: var(--nu-surface-2);
  border: 1px solid var(--border);
}
.inv-tabs button:hover { color: var(--nu-txt1); background: var(--nu-primary-tint); }
.inv-tabs button.on {
  background: var(--nu-primary-deep); border-color: var(--nu-primary-deep);
  color: var(--nu-on-accent);
}




.sa-stack { display: flex; flex-direction: column; gap: 10px; min-height: 0; }
.sa-stack > .chart-box:last-child { flex: 1 1 auto; min-height: 0; }
.sa-under { color: var(--nu-alert-text); }
 
.sa-tag {
  font-size: 0.72rem; font-weight: 600; padding: 1px 7px; border-radius: 999px;
  background: var(--nu-surface-2); color: var(--nu-txt2); border: 1px solid var(--border);
  white-space: nowrap;
}
.sa-tag.is-out { background: var(--nu-primary-tint); color: var(--nu-primary); border-color: var(--nu-primary); }

 


.os-cards { display: flex; flex-wrap: wrap; gap: 10px; }
.os-card {
  flex: 1 1 320px; min-width: 0;
  

  border: 1px solid var(--border); border-radius: 8px; background: var(--panel);
  padding: 10px 14px;
}
.os-card-h { font-size: 0.95rem; font-weight: 700; color: var(--nu-txt1); }
.os-card-h > i { font-style: normal; font-size: 0.72rem; font-weight: 500; color: var(--nu-txt4); margin-left: 6px; }
.os-card-sub { font-size: 0.75rem; color: var(--nu-txt3); margin-top: 2px; }
.os-card-sub > i { font-style: normal; color: var(--nu-txt4); }
.os-card-n { display: flex; gap: 18px; margin-top: 8px; }
.os-card-n dt { font-size: 0.7rem; color: var(--nu-txt4); margin: 0; }
.os-card-n dd { margin: 0; font-size: 1.05rem; font-weight: 700; color: var(--nu-txt1); font-variant-numeric: tabular-nums; }
.os-card-f { margin-top: 8px; font-size: 0.74rem; color: var(--nu-txt3); }
 
#osGrid .mx-grid-table tr.os-row-done > td:first-child { box-shadow: inset 3px 0 0 var(--nu-primary); }






.dp-wrap { overflow: auto; }











.dp-tbl { border-collapse: separate; border-spacing: 0; font-size: 0.78rem; white-space: nowrap; }
.dp-tbl th, .dp-tbl td {
  padding: 4px 8px; border-bottom: 1px solid var(--nu-border-l); text-align: right;
  font-variant-numeric: tabular-nums;
}



.dp-tbl thead th {
  position: sticky; top: 0; z-index: 2; text-align: center; line-height: 1.15;
  background: var(--mx-th-bg, var(--nu-primary-tint)); color: var(--mx-th-fg, var(--nu-txt1));    
  


  border-bottom: 1px solid var(--nu-border);
  padding-top: 9px; padding-bottom: 9px;
}
.dp-tbl thead th:not(.dp-corner) { min-width: 66px; }
 
.dp-tbl th.dp-corner, .dp-tbl th.dp-line, .dp-tbl th.dp-item {
  position: sticky; left: 0; z-index: 3; text-align: left; background: var(--nu-card);
  border-right: 1px solid var(--border); min-width: 168px; max-width: 260px;
  white-space: normal; word-break: keep-all;
}
 
.dp-tbl th.dp-corner { z-index: 4; background: var(--mx-th-bg, var(--nu-primary-tint)); }
.dp-tbl thead .dp-d { display: block; font-weight: 700; font-size: 0.84rem; }
.dp-tbl thead .dp-w, .dp-tbl thead .dp-t { display: block; font-size: 0.66rem; color: var(--nu-txt3); font-weight: 500; }
.dp-code { display: block; font-size: 0.66rem; color: var(--nu-txt4); font-weight: 500; }



.dp-tbl td.dp-col-past  { background: var(--nu-surface-2); }
.dp-tbl td.dp-col-next  { background: var(--nu-card); }
.dp-tbl td.dp-col-today { background: var(--nu-warning-light-3, var(--nu-warning-light)); }



.dp-tbl thead th.dp-today,
.dp-tbl td.dp-col-today { box-shadow: inset 1px 0 0 var(--nu-warning-border), inset -1px 0 0 var(--nu-warning-border); }
.dp-tbl thead th.dp-today { background: var(--nu-warning-light); }
.dp-tbl thead th.dp-today .dp-t { color: var(--nu-txt1); font-weight: 700; }








.dp-tbl thead th.dp-off {
  background-color: var(--mx-th-bg, var(--nu-primary-tint)); background-image: none;    
  color: color-mix(in srgb, var(--mx-th-fg, var(--nu-txt1)) 55%, transparent);    
}
 
:root:is([data-th="navy"], [data-th="wine"], [data-th="forest"]):not([data-theme="dark"], [data-theme="blak"], [data-theme="hc"]) #layoutRoot .dp-tbl thead th.dp-today { color: var(--nu-txt1); }

 
.dp-tbl tr.dp-lrow > * { background: var(--nu-surface-3); font-weight: 600; }
.dp-tbl tr.dp-lrow > td.dp-col-today { background: var(--nu-warning-light); }
.dp-tbl th.dp-item { padding-left: 16px; font-weight: 500; }

 
.dp-tbl td.dp-min { font-size: 0.72rem; color: var(--nu-txt2); }
.dp-tbl td.dp-min b { font-weight: 700; color: var(--nu-txt1); }
.dp-tbl td.dp-min i { font-style: normal; color: var(--nu-txt4); font-weight: 400; }
.dp-tbl td.dp-min em {
  font-style: normal; font-weight: 700; margin-left: 4px;
  color: var(--nu-alert-text);
}



.dp-tbl td.dp-past { color: var(--nu-txt3); font-weight: 500; }
.dp-tbl td.dp-plan { color: var(--nu-txt1); font-weight: 700; font-size: 0.82rem; }
.dp-tbl td.dp-in { color: var(--nu-txt2); }





.dp-tbl .dp-off {
  background-color: var(--nu-surface-2);
  background-image: repeating-linear-gradient(135deg,
    transparent 0 5px, var(--nu-border-l) 5px 6px);
  color: var(--nu-txt4); text-align: center; font-weight: 400;
}
 
.dp-tbl tr.dp-lrow > .dp-off { background-color: var(--nu-surface-3); }
.dp-tbl td.dp-warn { background: var(--nu-warning-light); }
 
.dp-tbl td.dp-over,
.dp-tbl tr.dp-lrow > td.dp-over {
  background: var(--nu-alert-light); color: var(--nu-alert-text); font-weight: 700;
  box-shadow: inset 0 0 0 1px var(--nu-alert-border);
}
.dp-tbl td.dp-over b { color: var(--nu-alert-text); }
.dp-tbl td.dp-empty { color: var(--nu-txt4); }
.dp-tbl tfoot th, .dp-tbl tfoot td {
  border-top: 2px solid var(--nu-border); font-weight: 700; font-size: 0.82rem;
}
.dp-tbl td.dp-none { text-align: center; color: var(--nu-txt3); padding: 18px 0; }






.mi-tbl td.mi-per, .mi-tbl th.mi-per { text-align: right; color: var(--nu-txt3); white-space: nowrap; }
.mi-tbl td.mi-qty, .mi-tbl th.mi-qty { text-align: right; color: var(--nu-txt2); white-space: nowrap; }
.mi-tbl td.mi-sum, .mi-tbl th.mi-sum {
  text-align: right; font-weight: 700; color: var(--nu-txt1); white-space: nowrap;
  border-left: 1px solid var(--nu-border);
}
.mi-tbl th.dp-corner { min-width: 190px; }



.dp-tbl tbody th.dp-item, .dp-tbl tbody th.dp-line, .dp-tbl tfoot th.dp-line,
.ov-modal-box .dp-tbl tbody th.dp-item, .ov-modal-box .dp-tbl tfoot th.dp-line { color: var(--nu-txt1); }
.mi-tbl thead th.mi-per, .mi-tbl thead th.mi-qty, .mi-tbl thead th.mi-sum,
.ov-modal-box .mi-tbl thead th.mi-per, .ov-modal-box .mi-tbl thead th.mi-qty, .ov-modal-box .mi-tbl thead th.mi-sum {
  color: var(--mx-th-fg, var(--nu-txt1)); text-align: center;
}
.dp-urgent {
  margin-left: 4px; padding: 0 4px; border-radius: 999px; font-size: 0.62rem; font-weight: 700;
  color: var(--nu-alert-text); background: var(--nu-alert-light); border: 1px solid var(--nu-alert-border);
}

.dp-legend { display: inline-flex; gap: 5px; margin-left: 8px; vertical-align: middle; }
.dp-key {
  padding: 1px 8px; border-radius: 999px; font-size: 0.7rem; font-weight: 600;
  color: var(--nu-txt2); border: 1px solid var(--border);
}



.dp-key.dp-k-past  { background: var(--nu-surface-2); }
.dp-key.dp-k-today { background: var(--nu-warning-light); border-color: var(--nu-warning-border); font-weight: 700; color: var(--nu-txt1); }
.dp-key.dp-k-plan  { background: var(--nu-card); color: var(--nu-txt1); font-weight: 700; }
.dp-key.dp-k-over  { background: var(--nu-alert-light); color: var(--nu-alert-text); border-color: var(--nu-alert-border); }
.dp-key.dp-k-off   { background: var(--nu-surface-4, var(--nu-surface-3)); color: var(--nu-txt4); }



.dp-tbl.is-two td { padding-top: 4px; padding-bottom: 4px; line-height: 1.25; }
.dp-tbl.is-two td > b, .dp-tbl.is-two td > i { display: block; font-style: normal; }
.mn-use { font-weight: 600; color: var(--nu-txt1); }
.mn-in { font-weight: 700; color: var(--nu-brand-text, var(--nu-txt1)); }
.mn-none { font-weight: 400; color: var(--nu-txt4); }
 
.dp-tbl thead .mn-done { display: block; font-size: 0.7rem; font-weight: 400; opacity: 0.85; }
 
.mn-bal { font-size: 0.66rem; font-weight: 500; color: var(--nu-txt3); }
.mn-bad { font-size: 0.64rem; font-weight: 700; color: var(--nu-alert-text); }
.mn-legend { display: inline-flex; gap: 6px; align-items: baseline; margin-left: 8px; }
.mn-legend > * {
  display: inline-block; padding: 0 6px; border-radius: 999px; font-size: 0.68rem;
  border: 1px solid var(--border);
}

 
#mnGrid .mx-grid-table tr.is-warn > td { background: var(--nu-warning-light); }




.mn-stack { display: flex; flex-direction: column; gap: 8px; min-height: 0; }
.mn-stack > .chart-box { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; }
.mn-stack > .chart-box > .kpi-table-wrap { flex: 1 1 auto; min-height: 0; max-height: none; overflow: auto; }





.tbl-onerow { position: relative; }
.tbl-onerow > .chart-title {
  position: absolute; top: 9px; left: 12px; z-index: 1; margin: 0;
  height: 28px; display: flex; align-items: center;
  



  gap: 8px;
}




.tbl-onerow .mx-grid-bar { position: relative; z-index: 2; pointer-events: none; }
.tbl-onerow .mx-grid-bar > * { pointer-events: auto; }



#otMainGrid .mx-grid-table tr.is-warn > td,
#otStopGrid .mx-grid-table tr.is-warn > td { background: var(--nu-warning-light); }
.ot-key {
  font-size: 0.78rem; font-weight: 600; color: var(--nu-txt2);
  padding: 1px 8px; border-radius: 999px; background: var(--nu-surface-2); border: 1px solid var(--border);
}
.ot-hint { font-size: 0.7rem; font-weight: 500; color: var(--nu-txt4); margin-left: auto; }







.chart-title.hd-row { display: flex; align-items: center; gap: 10px; }
.chart-title.hd-row > .mx-btn:first-of-type { margin-left: auto; }
.chart-title.hd-row > .mx-btn { flex: 0 0 auto; }






#layoutRoot .chart-title.as-title { font-size: 1rem; }
 
.mx-filterbar > .as-meta {
  flex: 1 1 auto; min-width: 0; margin-left: 14px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}


.chart-title:has(> .ot-hint) { display: flex; align-items: center; gap: 8px; }
 
.prod-canvas.is-short { height: 142px; }




@media (forced-colors: active) {
  #eqProdGrid .mx-grid-table td.eq-late { box-shadow: none; outline: 2px solid CanvasText; }
  .eqp-key { border: 1px solid CanvasText; }
  .eqp-urgent, .ov-pend-urgent, .ov-pend-manual { border: 1px solid CanvasText; }
  .cm-pick { border: 1px solid CanvasText; }
  .dp-tbl td.dp-over, .dp-tbl td.dp-warn { outline: 1px solid CanvasText; }
   
  .dp-tbl .dp-off { border: 1px dashed CanvasText; }
  .dp-tbl td.dp-col-today, .dp-tbl thead th.dp-today { outline: 2px solid Highlight; }
  .dp-key { border: 1px solid CanvasText; }
  .dp-urgent { border: 1px solid CanvasText; }
  #alGrid .mx-grid-table tr.is-unread > td { outline: 1px solid CanvasText; }
   
  .sa-tag { border: 1px solid CanvasText; }
  .os-card { border: 1px solid CanvasText; }
  #osGrid .mx-grid-table tr.os-row-done > td:first-child {
    box-shadow: none; border-left: 3px solid CanvasText;
  }
   
  .mx-grid-table tr.is-picked > td { outline: 1px solid CanvasText; }
  .mx-grid-table tr.is-picked > td:first-child {
    box-shadow: none; border-left: 3px solid CanvasText;
  }
}






#layoutRoot :is(.chart-box, .eqcard, .sim-page) {
  box-shadow: var(--mx-lift); --mx-grid-lift: none; --mx-grid-edge: transparent; --mx-grid-bar-pad: 0 0 6px 0;
}


@media not (forced-colors: active) {
  #layoutRoot :is(.chart-box, .eqcard:not(:hover), .sim-page) { border-color: var(--mx-card-edge); }
}












#layoutRoot :is(.chart-box, .eqcard, .sim-page) .mx-grid,
.mx-card .mx-grid { background: transparent; }
@media (forced-colors: active) {
  #layoutRoot :is(.chart-box, .eqcard, .sim-page) { box-shadow: none; }
}







#layoutRoot .dp-tbl :is(tbody, tfoot) th[class],
#layoutRoot .as-tbl tbody th[class],
#layoutRoot .admin-perm-table tbody th[class] { color: var(--nu-txt1); }
 
#layoutRoot .dp-tbl thead th.dp-today[class] { color: var(--nu-txt1); }


#layoutRoot .admin-perm-table thead th.apm-role[class] { background: var(--mx-th-bg, var(--nu-primary-tint)); }







#homePanel,
#homePanel .mx-card-b { scrollbar-gutter: stable; }






:root { --basis-w: min(560px, 44vw); }
.basis-rel { position: relative; }    
.basis-btn {
  flex: none; width: 20px; height: 20px; padding: 0; border-radius: 50%;
  border: 1px solid var(--jv-primary); background: var(--jv-card); color: var(--jv-primary);
  font: 700 11px/18px var(--font-sans, inherit); text-align: center; cursor: pointer;
  opacity: 0; transition: opacity .12s;
}
.basis-btn.is-hot, .basis-btn.is-row, .basis-btn:focus-visible, .basis-on .basis-btn[aria-pressed="true"] { opacity: 1; }    
.basis-btn[aria-pressed="true"] { background: var(--jv-primary); color: var(--jv-card); }
.basis-btn:focus-visible { outline: 2px solid var(--jv-primary); outline-offset: 2px; opacity: 1; }
@media (hover: none) { .basis-btn { opacity: 1; } }
.basis-on { outline: 2px solid var(--jv-primary); outline-offset: 2px; }
 
.basis-btn--inline { display: inline-block; vertical-align: middle; margin-left: 6px; }
.basis-btn--abs { position: absolute; top: 6px; right: 6px; z-index: 5; }
.basis-btn--over { position: absolute; top: -20px; right: -22px; z-index: 5; }    
.basis-btn--modal { position: absolute; top: 14px; right: 52px; z-index: 5; }
.ov-head-l.basis-host { padding-right: 28px; }
 
 
p.basis-host > .basis-btn--abs, .basis-host > p.basis-host > .basis-btn--abs { top: -9px; right: -9px; }


.mx-stat.basis-host { padding-right: 32px; }
.mx-stat > .basis-btn--abs { top: 8px; right: 8px; }
.gantt-head > .basis-btn--abs { position: static; align-self: center; margin-left: 4px; }
.ov-head-l > .basis-btn--abs { top: 50%; right: 0; margin-top: -10px; }





.ch-flex { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ch-tools { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; flex: 0 0 auto; font-weight: 400; }
.has-tools > .ch-tools ~ * { margin-left: 0; }
.mx-filterbar > .ch-tools { align-self: flex-end; height: var(--mx-ctl-h, 28px); }
.gantt-head > .mx-filterbar.has-tools, .kpi-head > .mx-filterbar.has-tools { flex: 1 1 auto; }
.ch-tools > .data-note { margin: 0; }
 
.ch-tools > .data-note.is-compact > summary { font-size: 0; gap: 3px; }
.ch-tools > .basis-btn--tool { position: static; }
 
#layoutRoot .is-barline > .chart-title.has-tools { min-height: 28px; }
 
#layoutRoot .tbl-onerow > .chart-title > .ch-tools { position: relative; top: 6px; }
#layoutRoot .is-barline > .chart-title > .ch-tools { position: relative; top: 7px; }





#layoutRoot .is-barline:has(> .grid-host .mx-grid-bar) > .chart-title { top: 7px; }
#layoutRoot .is-barline:has(> .grid-host .mx-grid-bar) > .chart-title > .ch-tools { top: 0; }
 
#layoutRoot .tbl-onerow:has(> .grid-host .mx-grid-bar, > .kpi-table-wrap .mx-grid-bar) > .chart-title { top: 15px; }
#layoutRoot .tbl-onerow:has(> .grid-host .mx-grid-bar, > .kpi-table-wrap .mx-grid-bar) > .chart-title > .ch-tools { top: 0; }
.mx-grid-bar > .ch-tools { margin-left: 0; }


#layoutRoot .is-barline.is-stack > .kpi-table-wrap.grid-host { margin-top: 4px; }
#layoutRoot .is-barline.is-stack > .chart-title { top: 0; }
#layoutRoot .tbl-onerow.is-stack > .chart-title { position: static; height: auto; min-height: 28px; flex-wrap: wrap; row-gap: 4px; margin-bottom: 4px; }
#layoutRoot .is-stack > .chart-title > .ch-tools { top: 0; }
 
#layoutRoot .is-stack > .chart-title { height: auto; flex-shrink: 0; row-gap: 4px; }
#layoutRoot .is-stack > .chart-title > * { max-width: 100%; }

body.basis-open .main-content { margin-right: var(--basis-w); }
body.basis-open .ov-modal, body.basis-open .popup-overlay { right: var(--basis-w); }
 
.basis-drawer[hidden] { display: none; }
.basis-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: var(--basis-w); z-index: 70;
  min-width: 0;
  background: var(--jv-card); border-left: 1px solid var(--jv-border); box-shadow: var(--jv-shadow);
  color: var(--jv-txt1); font-size: 13px; line-height: 1.5;
}
.basis-drawer:not([hidden]) { display: flex; flex-direction: column; }
.basis-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--jv-border); }
.basis-h b { font-size: 14px; }
.basis-h small { display: block; color: var(--jv-txt3); font-weight: 400; }
 
.basis-brief { margin: 6px 0 4px; padding: 8px 10px; font-size: 13px; line-height: 1.55; font-weight: 400; color: var(--jv-txt1);
  background: var(--jv-primary-light); border-left: 3px solid var(--jv-primary); border-radius: 4px; }
.basis-tabs { display: flex; flex-wrap: wrap; gap: 2px; padding: 6px 14px 0; border-bottom: 1px solid var(--jv-border); }
.basis-tab { border: 1px solid transparent; border-bottom: none; background: none; color: var(--jv-txt3); padding: 6px 12px; cursor: pointer; border-radius: 4px 4px 0 0; margin-bottom: -1px; font: inherit; }
.basis-tab[aria-selected="true"] { border-color: var(--jv-border); background: var(--jv-card); color: var(--jv-txt1); font-weight: 600; }
.basis-b { flex: 1; min-height: 0; overflow: auto; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.basis-fn { background: var(--jv-page); border: 1px solid var(--jv-border); border-radius: 4px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; }
.basis-fn h4 { margin: 0; font-size: 12.5px; color: var(--jv-primary); }
.basis-fn p { margin: 0; }
.basis-cmt { margin: 0; padding-left: 16px; color: var(--jv-txt3); font-size: 12.5px; display: flex; flex-direction: column; gap: 3px; }
.basis-muted { color: var(--jv-txt3); font-size: 12px; }
.basis-err { color: var(--jv-danger); }
.basis-tlist { display: flex; flex-direction: column; gap: 6px; }
.basis-trow { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) minmax(0, .9fr) auto; gap: 10px; align-items: center; border: 1px solid var(--jv-border); border-radius: 4px; padding: 6px 10px; }
.basis-trow code, .basis-meta code { color: var(--jv-txt3); font-size: 12px; }
.basis-sw { display: flex; flex-wrap: wrap; gap: 6px; }
.basis-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; color: var(--jv-txt3); font-size: 12px; }
.basis-tw { overflow: auto; max-height: calc(100vh - 260px); border: 1px solid var(--jv-border); border-radius: 4px; }
.basis-t { border-collapse: collapse; width: 100%; font-size: 12px; }
.basis-t th, .basis-t td { padding: 4px 8px; border-bottom: 1px solid var(--jv-border); white-space: nowrap; text-align: left; }
.basis-t th { position: sticky; top: 0; z-index: 1; background: var(--jv-page); color: var(--jv-txt2); font-weight: 600; }
.basis-t td.n, .basis-t th.n { text-align: right; font-variant-numeric: tabular-nums; }
.basis-sum td { font-weight: 700; background: var(--jv-primary-light); }
.basis-qh { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.basis-drawer pre { margin: 0; font: 12px/1.5 Consolas, "D2Coding", monospace; background: var(--jv-page); border: 1px solid var(--jv-border); border-radius: 4px; padding: 10px; overflow: auto; max-height: 36vh; white-space: pre; }
.basis-det summary { cursor: pointer; color: var(--jv-txt3); font-size: 12px; }
@media (max-width: 900px) {
  :root { --basis-w: 100vw; }
  body.basis-open .main-content { margin-right: 0; }
}




#layoutRoot.fit-page.prod-page > .fill.eq-one.pr-two { gap: 12px; }
#layoutRoot.fit-page.prod-page > .fill.eq-one.pr-two > .chart-box { flex: 1 1 0; }
#layoutRoot.fit-page.prod-page > .fill.eq-one.pr-two .kpi-table-wrap { min-height: 134px; }
#lcItemGrid .mx-grid-table tbody tr { cursor: pointer; }
 
.pr-dim { color: var(--nu-txt3, var(--nu-txt2)); font-size: .92em; }
 
.lr-panel { margin-top: 16px; }
.lr-panel .widget-header { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.lr-panel td.num { text-align: right; font-variant-numeric: tabular-nums; }
.lr-panel .lr-hist > td { background: var(--nu-surface-2); }
.lr-panel .lr-hist-table { margin-bottom: 8px; }
.lr-panel .lr-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
