
/* ==========================================================
   V48 REAL CLEAN BUILD — 5S UI over V41 core logic
   Keeps import, schedule, leftovers, materials, settings, barrels.
   Removes duplicate/noise panels and keeps one clear control layer.
   ========================================================== */

:root{
  --v48-bg:#071018;
  --v48-card:#0d1a25;
  --v48-line:rgba(164,191,224,.16);
  --v48-text:#eef6ff;
  --v48-muted:#91a8bf;
  --v48-green:#00e0a4;
  --v48-cyan:#00d7ff;
  --v48-warn:#ffb020;
  --v48-red:#ff647d;
}

body{
  background:radial-gradient(circle at 80% -10%,rgba(0,224,164,.11),transparent 36%),
             linear-gradient(180deg,#061019,#07131d 58%,#050b11)!important;
}

/* Hide version-chaos / duplicated engine panels */
.v42-speed-panel,
.v39-engine-bar,
.v40-progress,
.v41-progress-panel,
.clean-kpi-grid,
.cards,
.clean-main-grid,
.clean-main-grid.lower,
.fake-chart,
.sparkline,
.chart-card,
section#dashboard .panel,
#dashMerge,
#dashLines,
#dashUncovered,
#dailyPlanWrap,
.panel:has(#dashMerge),
.panel:has(#dashLines),
.panel:has(#dashUncovered),
.panel:has(#dailyPlanWrap),
.panel:has(.merge-mode-grid),
.panel:has(#mergeAiWrap),
.panel:has(.fake-chart),
.panel:has(.v42-speed-panel){
  display:none!important;
}

/* Keep important working panels visible */
section#schedule > .panel,
section#leftovers > .panel,
section#optimizer > .panel:first-of-type,
section#mixing > .panel,
section#components > .panel,
section#settings > .panel,
section#help > .panel{
  display:block!important;
}

/* 5S dashboard */
.v48-dashboard{
  display:grid;
  gap:16px;
}

.v48-statusbar{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.v48-status-tile{
  min-height:82px;
  padding:16px;
  border-radius:18px;
  border:1px solid var(--v48-line);
  background:linear-gradient(145deg,rgba(18,34,49,.88),rgba(7,18,28,.96));
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}

.v48-status-tile small{
  display:block;
  color:var(--v48-muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-weight:900;
  margin-bottom:8px;
}

.v48-status-tile b{
  font-size:24px;
  color:#fff;
  letter-spacing:-.4px;
}

.v48-control{
  border:1px solid rgba(0,224,164,.30);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(0,224,164,.10),rgba(10,24,35,.94));
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  padding:20px;
}

.v48-control-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:16px;
}

.v48-control-title{
  font-size:24px;
  line-height:1.05;
  font-weight:950;
}

.v48-control-sub{
  margin-top:6px;
  color:var(--v48-muted);
  font-size:13px;
}

.v48-mode{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(0,224,164,.28);
  background:rgba(0,224,164,.08);
  color:#dffef6;
  font-size:12px;
  font-weight:900;
}

.v48-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.v48-action{
  min-height:94px!important;
  border-radius:18px!important;
  border:1px solid rgba(164,191,224,.18)!important;
  background:linear-gradient(145deg,rgba(18,34,49,.86),rgba(7,18,28,.98))!important;
  color:#f3fbff!important;
  text-align:left!important;
  padding:16px!important;
  display:grid!important;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
}

.v48-action:hover{
  border-color:rgba(0,224,164,.48)!important;
  box-shadow:0 18px 45px rgba(0,224,164,.10);
  transform:translateY(-1px);
}

.v48-action .ico{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(0,224,164,.10);
  color:var(--v48-green);
  font-size:23px;
}

.v48-action b{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}

.v48-action small{
  color:var(--v48-muted);
  font-size:12px;
  line-height:1.35;
}

.v48-action.primary{
  background:linear-gradient(145deg,rgba(0,224,164,.22),rgba(0,215,255,.10))!important;
  border-color:rgba(0,224,164,.50)!important;
}

.v48-progress{
  margin-top:16px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(164,191,224,.14);
  background:rgba(255,255,255,.03);
}

.v48-progress-line{
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  overflow:hidden;
  margin-top:10px;
}

.v48-progress-fill{
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--v48-green),var(--v48-cyan));
  transition:width .2s ease;
}

.v48-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.v48-box{
  border:1px solid var(--v48-line);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(18,34,49,.76),rgba(7,18,28,.94));
  padding:18px;
}

.v48-box h3{
  margin:0 0 12px;
  font-size:16px;
  text-transform:uppercase;
  letter-spacing:.3px;
}

.v48-list{
  display:grid;
  gap:8px;
}

.v48-line{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(164,191,224,.10);
  background:rgba(255,255,255,.025);
  color:#d9e9f8;
  font-size:13px;
}

.v48-toggle{
  margin-top:12px;
}

.v48-hidden{
  display:none!important;
}

/* Clean existing page panels */
.ph h3{
  letter-spacing:.3px;
}

.table table{
  min-width:860px!important;
}

th,td{
  padding:10px 12px!important;
}

/* Component edit visual fix */
#components .comp-form{
  border:1px solid rgba(0,224,164,.24)!important;
  background:rgba(0,224,164,.035)!important;
  border-radius:18px!important;
}

/* Keep barrel panel hidden behind toggle */
#v41BarrelsPanel{
  display:none!important;
}

.v48-barrels-panel{
  border:1px solid var(--v48-line);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(18,34,49,.76),rgba(7,18,28,.94));
  padding:18px;
}

.v48-barrels-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(80px,1fr));
  gap:12px;
  margin-top:14px;
}

.v48-barrel-card{
  text-align:center;
  border:1px solid rgba(164,191,224,.12);
  border-radius:16px;
  padding:10px 7px;
  background:rgba(255,255,255,.025);
}

.v48-barrel{
  width:48px;
  height:84px;
  margin:8px auto;
  border:3px solid rgba(0,224,164,.60);
  border-radius:14px 14px 11px 11px;
  position:relative;
  overflow:hidden;
  background:#07131d;
}

.v48-barrel-fill{
  position:absolute;
  left:0;right:0;bottom:0;
  height:0%;
  background:linear-gradient(180deg,#00d7ff,#00e0a4);
}

@media(max-width:1100px){
  .v48-statusbar,
  .v48-actions,
  .v48-summary{
    grid-template-columns:1fr;
  }
}
