/*
 MAT_BOM_GUI_R052.65_A01_G19
 GUI validation layer only.
 - No workflow/API/permission/session logic.
 - Scoped to body.gui-v1.
 - Original styles.css remains authoritative and unchanged.
*/

body.gui-v1{
  --gui-navy-950:#071b3a;
  --gui-navy-900:#0b254d;
  --gui-navy-800:#123968;
  --gui-accent:#ff7a00;
  --gui-page:#f6f8fc;
  --gui-panel:#ffffff;
  --gui-soft:#f2f5fb;
  --gui-soft-blue:#eef3ff;
  --gui-line:#d7deec;
  --gui-line-strong:#bfcbe0;
  --gui-text:#152033;
  --gui-muted:#65728a;
  background:var(--gui-page);
  color:var(--gui-text);
}

/* Login: keep the original form and authentication contract intact. */
body.gui-v1 .login-wrap{
  background:
    radial-gradient(circle at 12% 10%,rgba(50,91,190,.10),transparent 34%),
    linear-gradient(135deg,#f8faff,#eef3fb 56%,#f9fbff);
}
body.gui-v1 .login-card{
  border-color:#dfe5f1;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(18,39,78,.14);
}
body.gui-v1 .brand-mark,
body.gui-v1 .logo span{
  background:linear-gradient(145deg,var(--gui-navy-900),var(--gui-navy-800));
}

/* Header: same 62px grid contract, only visual refinement. */
body.gui-v1 .app>header{
  background:#fff;
  border-bottom:1px solid #dce3ef;
  box-shadow:0 2px 10px rgba(25,49,85,.05);
}
body.gui-v1 .logo{
  color:var(--gui-navy-950);
}
body.gui-v1 .logo b{
  letter-spacing:-.02em;
}
body.gui-v1 .logo #appVersionBadge{
  color:var(--gui-muted);
  padding-left:2px;
}
body.gui-v1 .gui-build-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border:1px solid #f6bb7c;
  border-radius:999px;
  background:#fff4e8;
  color:#a14b00;
  font-size:10px;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}
body.gui-v1 .project-chip{
  background:#f2f5fb;
  border-color:#dbe2ee;
  color:#44546d;
}

/* Navigation: enterprise ERP look without changing menu DOM or event binding. */
body.gui-v1 aside{
  background:linear-gradient(180deg,var(--gui-navy-950),#0a2346 60%,#0b294e);
  border-right:0;
  box-shadow:8px 0 24px rgba(10,29,60,.08);
}
body.gui-v1 nav button{
  position:relative;
  color:#dce7f8;
  border-radius:8px;
  margin:2px 0;
  transition:background-color .15s ease,color .15s ease,transform .15s ease;
}
body.gui-v1 nav button:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
body.gui-v1 nav button.active{
  background:rgba(92,133,216,.28);
  color:#fff;
  box-shadow:inset 3px 0 0 var(--gui-accent);
}
body.gui-v1 nav button.active::after{
  content:"";
  position:absolute;
  right:10px;
  top:50%;
  width:5px;
  height:5px;
  margin-top:-2.5px;
  border-radius:50%;
  background:var(--gui-accent);
}
body.gui-v1 .aside-note{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.16);
  color:#cad8ec;
}

/* Main workspace */
body.gui-v1 main{
  background:var(--gui-page);
}
body.gui-v1 .page-head{
  align-items:center;
  min-height:48px;
  margin-bottom:14px;
  padding:2px 2px 10px;
  border-bottom:1px solid #e1e6ef;
}
body.gui-v1 .page-head h1{
  color:#17243a;
  font-size:22px;
  letter-spacing:-.025em;
}
body.gui-v1 .page-head p{
  color:var(--gui-muted);
  font-size:12px;
}
body.gui-v1 .page-actions{
  align-items:center;
}

/* Panels and KPI cards */
body.gui-v1 .panel,
body.gui-v1 .kpi{
  border-color:var(--gui-line);
  border-radius:10px;
  box-shadow:0 2px 9px rgba(26,55,98,.045);
}
body.gui-v1 .panel{
  background:var(--gui-panel);
}
body.gui-v1 .panel h2{
  color:#243650;
  letter-spacing:-.015em;
}
body.gui-v1 .kpi{
  position:relative;
  overflow:hidden;
}
body.gui-v1 .kpi::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:#8ba7d9;
}
body.gui-v1 .kpi b{
  color:var(--gui-navy-800);
}

/* Search / filter inputs: visually coherent, behavior untouched. */
body.gui-v1 .toolbar{
  gap:8px;
}
body.gui-v1 .panel>.toolbar:first-child,
body.gui-v1 .panel>.form-grid:first-child,
body.gui-v1 .panel>form.form-grid:first-child{
  padding:12px;
  border:1px solid #e1e6f0;
  border-radius:9px;
  background:#f5f7fb;
}
body.gui-v1 .toolbar input,
body.gui-v1 .toolbar select,
body.gui-v1 .form-grid input,
body.gui-v1 .form-grid select,
body.gui-v1 .form-grid textarea{
  min-height:36px;
  border-color:#c5cfdd;
  border-radius:6px;
  color:#17243a;
  box-shadow:none;
}
body.gui-v1 .toolbar input:focus,
body.gui-v1 .toolbar select:focus,
body.gui-v1 .form-grid input:focus,
body.gui-v1 .form-grid select:focus,
body.gui-v1 .form-grid textarea:focus{
  outline:2px solid rgba(36,93,255,.16);
  outline-offset:0;
  border-color:#668ee8;
}
body.gui-v1 .form-grid label{
  color:#41516a;
}

/* Buttons: preserve semantic classes, improve consistency only. */
body.gui-v1 button,
body.gui-v1 .button{
  border-radius:6px;
  box-shadow:none;
}
body.gui-v1 .primary{
  background:#245dff;
  color:#fff;
}
body.gui-v1 .primary:hover{
  background:#1749d1;
}
body.gui-v1 .secondary{
  background:var(--gui-navy-800);
  color:#fff;
}
body.gui-v1 .secondary:hover{
  background:#0e2f58;
}
body.gui-v1 .ghost{
  background:#fff;
  color:#3e4d63;
  border-color:#c8d2e0;
}
body.gui-v1 .ghost:hover{
  background:#f3f6fa;
}
body.gui-v1 .danger{
  background:#b52d2d;
  color:#fff;
}
body.gui-v1 button:focus-visible,
body.gui-v1 .button:focus-visible{
  outline:3px solid rgba(36,93,255,.28);
  outline-offset:2px;
}

/* Data grid: ERP-like density, existing sticky/scroll rules remain active. */
body.gui-v1 .table-wrap,
body.gui-v1 .data-table-host>.table-wrap,
body.gui-v1 .data-table-container{
  border-color:var(--gui-line);
  border-radius:7px;
  box-shadow:none;
}
body.gui-v1 table{
  color:#243248;
}
body.gui-v1 th,
body.gui-v1 td{
  padding:9px 10px;
  border-bottom-color:#e4e9f1;
}
body.gui-v1 th,
body.gui-v1 .data-table-host thead th,
body.gui-v1 .data-table-container thead th{
  background:#edf2fc;
  color:#334866;
  font-weight:800;
}
body.gui-v1 tr:hover td{
  background:#f7f9fd;
}
body.gui-v1 tr.selected-row td,
body.gui-v1 #view-items tr.selected-row td,
body.gui-v1 #view-suppliers tr.selected-row td,
body.gui-v1 #view-purchase tr.selected-row td{
  background:#e5edff!important;
}
body.gui-v1 .table-status-bar{
  padding:2px 0;
}

/* Modal polish without changing confirmation/validation behavior. */
body.gui-v1 .business-modal,
body.gui-v1 .session-modal,
body.gui-v1 .master-picker-dialog{
  border-color:#cfd8e7;
  border-radius:12px;
  box-shadow:0 28px 80px rgba(7,27,58,.24);
}
body.gui-v1 .business-modal h2,
body.gui-v1 .session-modal h2,
body.gui-v1 .master-picker-dialog h2{
  color:var(--gui-navy-900);
}

/* Keep the existing mobile layout contract; only restyle its horizontal nav. */
@media(max-width:900px){
  body.gui-v1 aside{
    background:var(--gui-navy-950);
  }
  body.gui-v1 nav button.active{
    box-shadow:inset 0 -3px 0 var(--gui-accent);
  }
  body.gui-v1 nav button.active::after{
    display:none;
  }
  body.gui-v1 .gui-build-badge{
    display:none;
  }
}
/* G02: semantic sidebar grouping only. No data-view/event/API changes. */
body.gui-v1 #menu{
  display:block;
}
body.gui-v1 #menu>.gui-nav-home{
  margin-bottom:10px;
  font-size:13px;
}
body.gui-v1 .gui-nav-group{
  margin:0 0 9px;
  padding:0 0 7px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.gui-v1 .gui-nav-group:last-child{
  border-bottom:0;
}
body.gui-v1 .gui-nav-group-title{
  display:flex;
  align-items:center;
  min-height:26px;
  padding:6px 12px 4px;
  color:#8fa8ca;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  user-select:none;
}
body.gui-v1 .gui-nav-group button{
  padding-left:18px;
  font-size:12px;
  font-weight:700;
}
body.gui-v1 .gui-nav-group button.active{
  padding-left:18px;
}
@media(max-width:900px){
  body.gui-v1 #menu{
    display:flex;
    gap:6px;
    align-items:center;
  }
  body.gui-v1 #menu>.gui-nav-home{
    margin:0;
  }
  body.gui-v1 .gui-nav-group{
    display:flex;
    gap:2px;
    align-items:center;
    margin:0;
    padding:0;
    border:0;
  }
  body.gui-v1 .gui-nav-group-title{
    display:none;
  }
  body.gui-v1 .gui-nav-group button{
    padding-left:14px;
  }
}



/* G03: dashboard render-only refinement. Existing API/data-view contracts are reused. */
body.gui-v1 #view-dashboard .page-head{
  margin-bottom:12px;
}
body.gui-v1 .dashboard-welcome{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-bottom:16px;
  padding:24px 26px;
  border:1px solid #dce4f2;
  border-radius:14px;
  background:
    radial-gradient(circle at 90% 15%,rgba(36,93,255,.11),transparent 34%),
    linear-gradient(120deg,#ffffff,#f4f7ff 65%,#eef3ff);
  box-shadow:0 5px 18px rgba(26,55,98,.055);
}
body.gui-v1 .dashboard-eyebrow{
  display:block;
  margin-bottom:6px;
  color:#6c7fa3;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
body.gui-v1 .dashboard-welcome h2{
  margin:0;
  color:#102443;
  font-size:25px;
  letter-spacing:-.035em;
}
body.gui-v1 .dashboard-welcome p{
  max-width:760px;
  margin:8px 0 0;
  color:#66758c;
  font-size:12px;
  line-height:1.65;
}
body.gui-v1 .dashboard-welcome-status{
  min-width:138px;
  padding:14px 18px;
  border:1px solid #d8e1f0;
  border-radius:11px;
  background:rgba(255,255,255,.88);
  text-align:center;
}
body.gui-v1 .dashboard-welcome-status span,
body.gui-v1 .dashboard-welcome-status small{
  display:block;
  color:#71809a;
  font-size:10px;
}
body.gui-v1 .dashboard-welcome-status b{
  display:block;
  margin:2px 0;
  color:#123968;
  font-size:29px;
}
body.gui-v1 .dashboard-section{
  margin-bottom:16px;
}
body.gui-v1 .dashboard-section-head{
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin:0 2px 9px;
}
body.gui-v1 .dashboard-section-head>div>span{
  display:block;
  margin-bottom:2px;
  color:#7b8aa3;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
body.gui-v1 .dashboard-section-head h2{
  margin:0;
  color:#263a57;
  font-size:16px;
}
body.gui-v1 .dashboard-section-head p{
  margin:0 0 1px auto;
  color:#7b8799;
  font-size:10px;
}
body.gui-v1 .dashboard-task-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
}
body.gui-v1 .dashboard-task-card{
  min-width:0;
  min-height:80px;
  padding:13px 14px;
  border:1px solid #d8e1ef;
  border-radius:10px;
  background:#fff;
  color:#24354e;
  text-align:left;
  box-shadow:0 2px 8px rgba(28,55,93,.035);
}
body.gui-v1 .dashboard-task-card:hover{
  border-color:#9eb4d8;
  background:#f8faff;
}
body.gui-v1 .dashboard-task-card span,
body.gui-v1 .dashboard-task-card small{
  display:block;
}
body.gui-v1 .dashboard-task-card span{
  color:#4c5d76;
  font-size:11px;
  font-weight:800;
}
body.gui-v1 .dashboard-task-card b{
  display:block;
  margin:7px 0 4px;
  color:#163f73;
  font-size:25px;
}
body.gui-v1 .dashboard-task-card small{
  overflow:hidden;
  color:#8792a3;
  font-size:9px;
  line-height:1.35;
  text-overflow:ellipsis;
}
body.gui-v1 .dashboard-task-card.has-work{
  box-shadow:inset 3px 0 0 #ff9b43,0 2px 8px rgba(28,55,93,.035);
}
body.gui-v1 .dashboard-task-card.has-work b{
  color:#c65b00;
}
body.gui-v1 .dashboard-task-card.is-clear{
  box-shadow:inset 3px 0 0 #9bb4d8,0 2px 8px rgba(28,55,93,.035);
}
body.gui-v1 .dashboard-work-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
body.gui-v1 .dashboard-work-card{
  min-width:0;
  padding:14px;
  border:1px solid #dbe3ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(28,55,93,.035);
}
body.gui-v1 .dashboard-card-head,
body.gui-v1 .dashboard-panel-head{
  display:flex;
  align-items:center;
  gap:10px;
}
body.gui-v1 .dashboard-card-head{
  margin-bottom:10px;
}
body.gui-v1 .dashboard-card-head h2,
body.gui-v1 .dashboard-panel-head h2{
  margin:0;
}
body.gui-v1 .dashboard-card-link,
body.gui-v1 .dashboard-panel-head button{
  margin-left:auto;
  padding:5px 9px;
  font-size:10px;
}
body.gui-v1 .dashboard-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
@media(min-width:901px){
  body.gui-v1 .dashboard-work-grid > .dashboard-work-card:nth-child(5){
    grid-column:1/-1;
  }
  body.gui-v1 .dashboard-work-grid > .dashboard-work-card:nth-child(5) .dashboard-mini-grid{
    grid-template-columns:repeat(8,minmax(0,1fr));
  }
}
body.gui-v1 .dashboard-mini-metric{
  min-width:0;
  padding:8px 9px;
  border:1px solid #e4e9f1;
  border-radius:7px;
  background:#f9fbfe;
}
body.gui-v1 .dashboard-mini-metric span{
  display:block;
  overflow:hidden;
  color:#67758b;
  font-size:9px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
body.gui-v1 .dashboard-mini-metric b{
  display:block;
  margin-top:3px;
  color:#223d62;
  font-size:17px;
}
body.gui-v1 .dashboard-mini-metric.has-work b{
  color:#264f87;
}
body.gui-v1 .dashboard-quick-grid{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:7px;
}
body.gui-v1 .dashboard-quick-link{
  min-width:0;
  min-height:54px;
  padding:8px 9px;
  border:1px solid #d9e1ee;
  border-radius:8px;
  background:#fff;
  color:#263a57;
  text-align:center;
}
body.gui-v1 .dashboard-quick-link:hover{
  border-color:#9db3d9;
  background:#f5f8ff;
}
body.gui-v1 .dashboard-quick-link span,
body.gui-v1 .dashboard-quick-link small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.gui-v1 .dashboard-quick-link span{
  font-size:10px;
  font-weight:800;
}
body.gui-v1 .dashboard-quick-link small{
  margin-top:4px;
  color:#8a96a7;
  font-size:8px;
}
body.gui-v1 .dashboard-data-split .panel{
  min-width:0;
}
body.gui-v1 .dashboard-panel-head{
  margin-bottom:4px;
}
@media(max-width:1280px){
  body.gui-v1 .dashboard-task-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.gui-v1 .dashboard-quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:900px){
  body.gui-v1 .dashboard-welcome{grid-template-columns:1fr;padding:18px}
  body.gui-v1 .dashboard-welcome-status{justify-self:start;min-width:120px}
  body.gui-v1 .dashboard-work-grid{grid-template-columns:1fr}
  body.gui-v1 .dashboard-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.gui-v1 .dashboard-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.gui-v1 .dashboard-section-head{align-items:flex-start;flex-direction:column}
  body.gui-v1 .dashboard-section-head p{margin-left:0}
}
@media(max-width:560px){
  body.gui-v1 .dashboard-task-grid{grid-template-columns:1fr}
  body.gui-v1 .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.gui-v1 .dashboard-mini-grid{grid-template-columns:1fr 1fr}
  body.gui-v1 .dashboard-welcome h2{font-size:21px}
}


/* G04: Phase 4-C1 item/supplier search · toolbar · grid shell only. */
body.gui-v1 .erp-search-panel{
  padding:14px 16px;
  border:1px solid #dbe3ef;
  border-radius:9px;
  background:#f6f8fc;
}
body.gui-v1 .erp-panel-head,
body.gui-v1 .erp-result-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
body.gui-v1 .erp-panel-head{
  margin-bottom:12px;
}
body.gui-v1 .erp-panel-head h2{
  margin:2px 0 0;
  font-size:15px;
  color:#243650;
}
body.gui-v1 .erp-panel-head p{
  margin:0;
  color:var(--gui-muted);
  font-size:10px;
  text-align:right;
}
body.gui-v1 .erp-eyebrow{
  display:block;
  color:#6980a4;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
body.gui-v1 .erp-search-grid{
  display:grid;
  grid-template-columns:minmax(250px,1.8fr) repeat(3,minmax(135px,1fr)) auto;
  gap:9px;
  align-items:end;
}
body.gui-v1 .supplier-search-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) auto;
}
body.gui-v1 .supplier-search-grid .erp-field-wide{
  grid-column:1/-1;
}
body.gui-v1 .erp-field{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
  color:#506078;
  font-size:10px;
  font-weight:800;
}
body.gui-v1 .erp-field input,
body.gui-v1 .erp-field select{
  width:100%;
  min-width:0;
  min-height:36px;
  padding:8px 9px;
  border:1px solid #c5cfdd;
  border-radius:6px;
  background:#fff;
  color:#17243a;
  font:inherit;
  font-size:11px;
}
body.gui-v1 .erp-field input:focus,
body.gui-v1 .erp-field select:focus{
  outline:2px solid rgba(36,93,255,.16);
  border-color:#668ee8;
}
body.gui-v1 .erp-search-actions{
  display:flex;
  align-items:flex-end;
}
body.gui-v1 .erp-search-actions button{
  min-width:78px;
  min-height:36px;
}
body.gui-v1 .erp-result-toolbar{
  min-height:50px;
  padding:10px 12px;
  border-bottom:1px solid #dfe5ee;
  background:#fff;
}
body.gui-v1 .erp-result-title{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
body.gui-v1 .erp-result-title span{
  color:#243650;
  font-size:13px;
  font-weight:900;
}
body.gui-v1 .erp-result-title strong{
  color:#60728f;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
body.gui-v1 .erp-action-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
body.gui-v1 .erp-action-bar button,
body.gui-v1 .erp-action-bar .button{
  min-height:32px;
  padding:7px 10px;
  font-size:10px;
}
body.gui-v1 #view-items .item-filter-panel{
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
body.gui-v1 #view-items .item-filter-panel.erp-search-panel{
  padding:14px 16px;
  border:1px solid #dbe3ef;
  background:#f6f8fc;
}
body.gui-v1 #view-items .item-list-panel.erp-result-panel{
  border-color:#d8e0ec;
}
body.gui-v1 #view-items .erp-table-meta{
  justify-content:flex-end;
  min-height:42px;
  margin:0;
  padding:7px 12px;
  border-bottom:1px solid #e2e7ef;
  background:#fbfcfe;
}
body.gui-v1 #view-items .item-table-wrap{
  border-top:0;
  border-radius:0 0 7px 7px;
}
body.gui-v1 #view-suppliers .supplier-list-panel{
  padding:0;
  overflow:hidden;
}
body.gui-v1 #view-suppliers .supplier-list-fixed{
  padding:12px 12px 0;
  border-bottom:1px solid #e2e7ef;
}
body.gui-v1 #view-suppliers .supplier-search-panel{
  margin-bottom:10px;
}
body.gui-v1 #view-suppliers .supplier-result-toolbar{
  margin:0 -12px;
  border-top:1px solid #e2e7ef;
}
body.gui-v1 #view-suppliers .supplier-table-host{
  padding:0 12px 12px;
}
body.gui-v1 #view-suppliers .supplier-list-scroll{
  border-top:0;
  border-radius:0 0 7px 7px;
}
body.gui-v1 #view-items th,
body.gui-v1 #view-suppliers th{
  background:#eaf1fb;
  color:#294666;
  box-shadow:inset 0 -1px 0 #cbd7e8;
}
body.gui-v1 #view-items tr.selected-row td,
body.gui-v1 #view-suppliers tr.selected-row td{
  background:#eef4ff;
}
@media(max-width:1280px){
  body.gui-v1 .erp-search-grid,
  body.gui-v1 .supplier-search-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.gui-v1 .erp-field-wide{grid-column:1/-1}
  body.gui-v1 .erp-search-actions{justify-content:flex-end}
}
@media(max-width:760px){
  body.gui-v1 .erp-panel-head,
  body.gui-v1 .erp-result-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  body.gui-v1 .erp-panel-head p{text-align:left}
  body.gui-v1 .erp-search-grid,
  body.gui-v1 .supplier-search-grid{
    grid-template-columns:1fr;
  }
  body.gui-v1 .erp-field-wide{grid-column:auto}
  body.gui-v1 .erp-search-actions,
  body.gui-v1 .erp-action-bar{width:100%}
  body.gui-v1 .erp-search-actions button{width:100%}
}

/* G05: Phase 4-C2 purchase request / purchase order / order management search · toolbar · grid shell only. */
body.gui-v1 #view-purchase .purchase-list-panel,
body.gui-v1 #view-orders .order-list-panel,
body.gui-v1 #view-order-management .order-management-list-panel{
  padding:0;
  overflow:hidden;
  border-color:#d8e0ec;
}
body.gui-v1 #view-purchase .purchase-search-panel,
body.gui-v1 #view-orders .order-search-panel,
body.gui-v1 #view-order-management .order-management-search-panel{
  margin:12px 12px 0;
}
body.gui-v1 .purchase-search-grid,
body.gui-v1 .order-search-grid,
body.gui-v1 .order-management-search-grid{
  grid-template-columns:minmax(280px,2fr) minmax(170px,1fr) auto;
}
body.gui-v1 #view-order-management .erp-search-actions{
  gap:7px;
}
body.gui-v1 #view-purchase .erp-result-toolbar,
body.gui-v1 #view-orders .erp-result-toolbar,
body.gui-v1 #view-order-management .erp-result-toolbar{
  margin-top:10px;
  border-top:1px solid #e1e7f0;
}
body.gui-v1 #view-purchase .erp-grid-host,
body.gui-v1 #view-orders .erp-grid-host,
body.gui-v1 #view-order-management .erp-grid-host{
  padding:0 12px 12px;
}
body.gui-v1 #view-purchase .erp-grid-host table,
body.gui-v1 #view-orders .erp-grid-host table,
body.gui-v1 #view-order-management .erp-grid-host table{
  margin-top:0;
}
body.gui-v1 #view-purchase .erp-grid-host th,
body.gui-v1 #view-orders .erp-grid-host th,
body.gui-v1 #view-order-management .erp-grid-host th{
  background:#eaf1fb;
  color:#294666;
  box-shadow:inset 0 -1px 0 #cbd7e8;
}
body.gui-v1 #view-purchase .erp-grid-host tr.selected-row td,
body.gui-v1 #view-orders .erp-grid-host tr.selected-row td,
body.gui-v1 #view-order-management .erp-grid-host tr.selected-row td{
  background:#eef4ff;
}
body.gui-v1 #view-purchase .workflow-guide,
body.gui-v1 #view-orders .workflow-alert,
body.gui-v1 #view-order-management .grid-kpi{
  margin-bottom:12px;
}
@media(max-width:1280px){
  body.gui-v1 .purchase-search-grid,
  body.gui-v1 .order-search-grid,
  body.gui-v1 .order-management-search-grid{
    grid-template-columns:1fr 1fr;
  }
  body.gui-v1 .purchase-search-grid .erp-field-wide,
  body.gui-v1 .order-search-grid .erp-field-wide,
  body.gui-v1 .order-management-search-grid .erp-field-wide{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  body.gui-v1 .purchase-search-grid,
  body.gui-v1 .order-search-grid,
  body.gui-v1 .order-management-search-grid{
    grid-template-columns:1fr;
  }
  body.gui-v1 .purchase-search-grid .erp-field-wide,
  body.gui-v1 .order-search-grid .erp-field-wide,
  body.gui-v1 .order-management-search-grid .erp-field-wide{
    grid-column:auto;
  }
  body.gui-v1 #view-order-management .erp-search-actions{
    flex-wrap:wrap;
  }
  body.gui-v1 #view-order-management .erp-search-actions button{
    flex:1 1 120px;
  }
}


/* G06: Phase 4-C3 PO receiving / inspection / NCR-CAR / inventory search · toolbar · grid shell only. */
body.gui-v1 #view-receiving .receiving-list-panel,
body.gui-v1 #view-inspection .inspection-list-panel,
body.gui-v1 #view-ncr .ncr-list-panel,
body.gui-v1 #view-inventory .inventory-lot-panel,
body.gui-v1 #view-inventory .inventory-tx-panel{
  padding:0;
  overflow:hidden;
  border-color:#d8e0ec;
}
body.gui-v1 #view-receiving .receiving-search-panel,
body.gui-v1 #view-inspection .inspection-search-panel,
body.gui-v1 #view-ncr .ncr-search-panel,
body.gui-v1 #view-inventory .inventory-search-panel{
  margin:12px 12px 0;
}
body.gui-v1 .receiving-search-grid,
body.gui-v1 .inspection-search-grid,
body.gui-v1 .inventory-search-grid{
  grid-template-columns:minmax(280px,2fr) minmax(170px,1fr) auto;
}
body.gui-v1 .ncr-search-grid{
  grid-template-columns:minmax(280px,2fr) minmax(170px,1fr) minmax(150px,.8fr) auto;
}
body.gui-v1 #view-receiving .erp-result-toolbar,
body.gui-v1 #view-inspection .erp-result-toolbar,
body.gui-v1 #view-ncr .erp-result-toolbar,
body.gui-v1 #view-inventory .erp-result-toolbar{
  margin-top:10px;
  border-top:1px solid #e1e7f0;
}
body.gui-v1 #view-receiving .erp-grid-host,
body.gui-v1 #view-inspection .erp-grid-host,
body.gui-v1 #view-ncr .erp-grid-host,
body.gui-v1 #view-inventory .erp-grid-host{
  padding:0 12px 12px;
}
body.gui-v1 #view-receiving .erp-grid-host table,
body.gui-v1 #view-inspection .erp-grid-host table,
body.gui-v1 #view-ncr .erp-grid-host table,
body.gui-v1 #view-inventory .erp-grid-host table{
  margin-top:0;
}
body.gui-v1 #view-receiving .erp-grid-host th,
body.gui-v1 #view-inspection .erp-grid-host th,
body.gui-v1 #view-ncr .erp-grid-host th,
body.gui-v1 #view-inventory .erp-grid-host th{
  background:#eaf1fb;
  color:#294666;
  box-shadow:inset 0 -1px 0 #cbd7e8;
}
body.gui-v1 #view-receiving .grid-kpi,
body.gui-v1 #view-inspection .grid-kpi,
body.gui-v1 #view-ncr .grid-kpi{
  margin-bottom:12px;
}
body.gui-v1 #view-inventory .inventory-tx-panel{
  margin-top:12px;
}
body.gui-v1 #view-inventory .inventory-lot-panel{
  margin-top:12px;
}
@media(max-width:1280px){
  body.gui-v1 .receiving-search-grid,
  body.gui-v1 .inspection-search-grid,
  body.gui-v1 .inventory-search-grid,
  body.gui-v1 .ncr-search-grid{
    grid-template-columns:1fr 1fr;
  }
  body.gui-v1 .receiving-search-grid .erp-field-wide,
  body.gui-v1 .inspection-search-grid .erp-field-wide,
  body.gui-v1 .inventory-search-grid .erp-field-wide,
  body.gui-v1 .ncr-search-grid .erp-field-wide{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  body.gui-v1 .receiving-search-grid,
  body.gui-v1 .inspection-search-grid,
  body.gui-v1 .inventory-search-grid,
  body.gui-v1 .ncr-search-grid{
    grid-template-columns:1fr;
  }
  body.gui-v1 .receiving-search-grid .erp-field-wide,
  body.gui-v1 .inspection-search-grid .erp-field-wide,
  body.gui-v1 .inventory-search-grid .erp-field-wide,
  body.gui-v1 .ncr-search-grid .erp-field-wide{
    grid-column:auto;
  }
  body.gui-v1 #view-ncr .erp-action-bar{
    width:100%;
  }
}

/* G07: Phase 4-C4A general management/read-only screens search · toolbar · grid shell only. */
body.gui-v1 #view-supplier-performance .supplier-performance-list-panel,
body.gui-v1 #view-bom .bom-main-panel,
body.gui-v1 #view-labels .labels-list-panel,
body.gui-v1 #view-reviews .review-list-panel,
body.gui-v1 #view-stock-control .stock-count-panel,
body.gui-v1 #view-stock-control .stock-lot-scroll,
body.gui-v1 #view-approvals .erp-result-panel,
body.gui-v1 #view-reports .reports-trace-panel,
body.gui-v1 #view-reports .reports-summary-panel,
body.gui-v1 #view-drawings .drawing-list-panel,
body.gui-v1 #view-codes .code-list-panel{
  border-color:#d8e0ec;
}
body.gui-v1 #view-supplier-performance .supplier-performance-search-panel,
body.gui-v1 #view-bom .bom-search-panel,
body.gui-v1 #view-reviews .review-search-panel,
body.gui-v1 #view-stock-control .stock-control-search-panel,
body.gui-v1 #view-reports .reports-trace-search-panel,
body.gui-v1 #view-drawings .drawing-search-panel{
  margin:12px 12px 0;
}
body.gui-v1 .supplier-performance-search-grid,
body.gui-v1 .review-search-grid,
body.gui-v1 .reports-trace-search-grid{
  grid-template-columns:minmax(320px,1fr) auto;
}
body.gui-v1 .bom-search-grid{
  grid-template-columns:minmax(360px,2fr) minmax(160px,.7fr) auto;
}
body.gui-v1 .stock-control-search-grid{
  grid-template-columns:minmax(300px,2fr) minmax(190px,1fr) auto;
}
body.gui-v1 .drawing-search-grid{
  grid-template-columns:minmax(180px,1fr) minmax(170px,.9fr) minmax(300px,1.6fr) auto;
}
body.gui-v1 #view-supplier-performance .erp-grid-host,
body.gui-v1 #view-bom .erp-grid-host,
body.gui-v1 #view-labels .erp-grid-host,
body.gui-v1 #view-reviews .erp-grid-host,
body.gui-v1 #view-stock-control .erp-grid-host,
body.gui-v1 #view-approvals .erp-grid-host,
body.gui-v1 #view-reports .erp-grid-host,
body.gui-v1 #view-drawings .erp-grid-host,
body.gui-v1 #view-codes .erp-grid-host{
  min-width:0;
}
body.gui-v1 #view-supplier-performance .erp-grid-host th,
body.gui-v1 #view-bom .erp-grid-host th,
body.gui-v1 #view-labels .erp-grid-host th,
body.gui-v1 #view-reviews .erp-grid-host th,
body.gui-v1 #view-stock-control .erp-grid-host th,
body.gui-v1 #view-approvals .erp-grid-host th,
body.gui-v1 #view-reports .erp-grid-host th,
body.gui-v1 #view-drawings .erp-grid-host th,
body.gui-v1 #view-codes .erp-grid-host th{
  background:#eaf1fb;
  color:#294666;
  box-shadow:inset 0 -1px 0 #cbd7e8;
}
body.gui-v1 #view-codes .code-management-control-panel{
  margin-bottom:12px;
}
body.gui-v1 #view-codes .code-management-toolbar{
  padding-left:0;
  padding-right:0;
  border-top:0;
}
body.gui-v1 #view-labels .labels-workspace,
body.gui-v1 #view-codes .code-management-workspace,
body.gui-v1 #view-approvals .approval-secondary-grid{
  gap:12px;
}
body.gui-v1 #view-stock-control .stock-count-panel,
body.gui-v1 #view-stock-control .stock-lot-scroll,
body.gui-v1 #view-reports .reports-summary-panel{
  margin-top:12px;
}
body.gui-v1 #view-drawings .drawing-list-panel{
  overflow:hidden;
}
body.gui-v1 #view-drawings .erp-result-toolbar,
body.gui-v1 #view-bom .erp-result-toolbar,
body.gui-v1 #view-stock-control .erp-result-toolbar,
body.gui-v1 #view-reviews .erp-result-toolbar,
body.gui-v1 #view-supplier-performance .erp-result-toolbar,
body.gui-v1 #view-reports .erp-result-toolbar{
  border-top:1px solid #e1e7f0;
}
@media(max-width:1280px){
  body.gui-v1 .supplier-performance-search-grid,
  body.gui-v1 .review-search-grid,
  body.gui-v1 .reports-trace-search-grid,
  body.gui-v1 .bom-search-grid,
  body.gui-v1 .stock-control-search-grid,
  body.gui-v1 .drawing-search-grid{
    grid-template-columns:1fr 1fr;
  }
  body.gui-v1 .supplier-performance-search-grid .erp-field-wide,
  body.gui-v1 .review-search-grid .erp-field-wide,
  body.gui-v1 .reports-trace-search-grid .erp-field-wide,
  body.gui-v1 .bom-search-grid .erp-field-wide,
  body.gui-v1 .stock-control-search-grid .erp-field-wide,
  body.gui-v1 .drawing-search-grid .erp-field-wide{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  body.gui-v1 .supplier-performance-search-grid,
  body.gui-v1 .review-search-grid,
  body.gui-v1 .reports-trace-search-grid,
  body.gui-v1 .bom-search-grid,
  body.gui-v1 .stock-control-search-grid,
  body.gui-v1 .drawing-search-grid{
    grid-template-columns:1fr;
  }
  body.gui-v1 .supplier-performance-search-grid .erp-field-wide,
  body.gui-v1 .review-search-grid .erp-field-wide,
  body.gui-v1 .reports-trace-search-grid .erp-field-wide,
  body.gui-v1 .bom-search-grid .erp-field-wide,
  body.gui-v1 .stock-control-search-grid .erp-field-wide,
  body.gui-v1 .drawing-search-grid .erp-field-wide{
    grid-column:auto;
  }
  body.gui-v1 #view-codes .code-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
  }
}

/* G08: Phase 4-C4B system-impact screens visual shell only. */
body.gui-v1 .system-screen-note{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid #cad8e8;
  border-left:4px solid #245dff;
  border-radius:9px;
  background:#f7faff;
  color:#31475f;
}
body.gui-v1 .system-screen-note b{font-size:14px;color:#173f70}
body.gui-v1 .system-screen-note small{color:#667482}
body.gui-v1 #view-users .system-admin-workspace,
body.gui-v1 #view-master-import .erp-system-step-panel,
body.gui-v1 #view-server-transfer .server-transfer-guide-panel,
body.gui-v1 #view-remote-update .erp-system-step-panel,
body.gui-v1 #view-audit .audit-backup-panel,
body.gui-v1 #view-audit .audit-log-panel{
  border-color:#d8e0ec;
}
body.gui-v1 #view-users .system-user-list-panel,
body.gui-v1 #view-server-transfer .server-transfer-list-panel,
body.gui-v1 #view-remote-update .remote-update-package-panel,
body.gui-v1 #view-master-import .master-import-history-panel,
body.gui-v1 #view-audit .audit-backup-panel,
body.gui-v1 #view-audit .audit-log-panel{
  padding:0;
  overflow:hidden;
}
body.gui-v1 #view-users .system-user-list-panel .erp-grid-host,
body.gui-v1 #view-server-transfer .server-transfer-list-panel .erp-grid-host,
body.gui-v1 #view-remote-update .remote-update-package-panel .erp-grid-host,
body.gui-v1 #view-master-import .master-import-history-panel .erp-grid-host,
body.gui-v1 #view-audit .erp-grid-host{
  padding:0 12px 12px;
  min-width:0;
}
body.gui-v1 #view-users .system-user-list-panel .erp-grid-host table,
body.gui-v1 #view-server-transfer .server-transfer-list-panel .erp-grid-host table,
body.gui-v1 #view-remote-update .remote-update-package-panel .erp-grid-host table,
body.gui-v1 #view-master-import .master-import-history-panel .erp-grid-host table,
body.gui-v1 #view-audit .erp-grid-host table{
  margin-top:0;
}
body.gui-v1 #view-users .system-user-list-panel th,
body.gui-v1 #view-server-transfer .server-transfer-list-panel th,
body.gui-v1 #view-remote-update .remote-update-package-panel th,
body.gui-v1 #view-master-import .master-import-history-panel th,
body.gui-v1 #view-audit .erp-grid-host th{
  background:#eaf1fb;
  color:#294666;
  box-shadow:inset 0 -1px 0 #cbd7e8;
}
body.gui-v1 #view-users .system-user-editor-panel .erp-panel-head,
body.gui-v1 #view-master-import .erp-system-step-panel .erp-panel-head,
body.gui-v1 #view-server-transfer .server-transfer-guide-panel .erp-panel-head,
body.gui-v1 #view-remote-update .erp-system-step-panel .erp-panel-head{
  margin-bottom:12px;
}
body.gui-v1 #view-master-import .critical-step-panel,
body.gui-v1 #view-remote-update .critical-step-panel{
  border-color:#e3c58c;
  background:#fffdf8;
}
body.gui-v1 .system-critical-actions{
  margin-top:12px;
  justify-content:flex-start;
}
body.gui-v1 #view-remote-update .remote-upload-row{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  gap:10px;
  align-items:center;
  margin:12px 0 8px;
}
body.gui-v1 #view-remote-update .remote-upload-row input[type="file"]{
  width:100%;
  min-width:0;
}
body.gui-v1 #view-remote-update .system-panel-description{
  margin:10px 12px 12px;
}
body.gui-v1 #view-server-transfer .server-transfer-guide-panel ol{
  margin:0 0 10px 22px;
  padding:0;
  line-height:1.75;
}
body.gui-v1 #view-users .user-admin-split{
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);
  gap:12px;
}
body.gui-v1 #view-users .system-user-editor-panel{
  min-width:0;
}
body.gui-v1 #view-audit .grid-kpi,
body.gui-v1 #view-server-transfer .grid-kpi,
body.gui-v1 #view-remote-update .grid-kpi{
  margin-bottom:12px;
}
body.gui-v1 #view-audit .audit-log-panel,
body.gui-v1 #view-audit .audit-backup-panel,
body.gui-v1 #view-remote-update .remote-update-package-panel,
body.gui-v1 #view-server-transfer .server-transfer-list-panel,
body.gui-v1 #view-master-import .master-import-history-panel{
  margin-top:12px;
}
@media(max-width:1100px){
  body.gui-v1 #view-users .user-admin-split{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  body.gui-v1 #view-remote-update .remote-upload-row{
    grid-template-columns:1fr;
  }
  body.gui-v1 .system-screen-note{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* G09: Phase 4-D detailed views / modal / tab visual standardization only.
   No DOM id, event, API, focus, validation, confirmation or workflow logic changes. */
body.gui-v1{
  --gui-detail-border:#d5deea;
  --gui-detail-soft:#f7f9fc;
  --gui-detail-head:#eef3fb;
  --gui-detail-title:#18365e;
  --gui-modal-accent:#245dff;
}

/* Detail cards: retain existing DOM and workflow forms; standardize only surface hierarchy. */
body.gui-v1 #itemFormPanel.item-form-drawer,
body.gui-v1 #view-suppliers .supplier-work-panel,
body.gui-v1 #view-supplier-performance .supplier-performance-detail-panel,
body.gui-v1 #view-drawings .drawing-master-panel,
body.gui-v1 #view-drawings .drawing-revision-panel,
body.gui-v1 #view-drawings .drawing-file-panel,
body.gui-v1 #inspectionWorkDetail .inspection-work-editor,
body.gui-v1 #ncrForm > .panel,
body.gui-v1 #ncrDetail > .panel,
body.gui-v1 #approvalLineEditorPanel{
  border:1px solid var(--gui-detail-border);
  border-radius:10px;
  background:#fff;
  box-shadow:0 6px 20px rgba(31,54,87,.06);
}
body.gui-v1 #itemFormPanel.item-form-drawer,
body.gui-v1 #view-suppliers .supplier-work-panel,
body.gui-v1 #view-supplier-performance .supplier-performance-detail-panel,
body.gui-v1 #view-drawings .drawing-master-panel,
body.gui-v1 #view-drawings .drawing-revision-panel,
body.gui-v1 #view-drawings .drawing-file-panel,
body.gui-v1 #inspectionWorkDetail .inspection-work-editor,
body.gui-v1 #ncrForm > .panel,
body.gui-v1 #ncrDetail > .panel{
  margin-top:12px;
}
body.gui-v1 #itemFormPanel > h2,
body.gui-v1 #view-suppliers .supplier-section-head h2,
body.gui-v1 #view-supplier-performance .supplier-section-head h2,
body.gui-v1 #view-drawings .drawing-section-head h2,
body.gui-v1 #view-drawings .drawing-subhead h3,
body.gui-v1 #inspectionWorkDetail .inspection-work-editor > h2,
body.gui-v1 #ncrForm > .panel > h2,
body.gui-v1 #ncrDetail > .panel > h2,
body.gui-v1 #approvalLineEditorPanel > h2{
  color:var(--gui-detail-title);
  letter-spacing:-.015em;
}
body.gui-v1 #itemFormPanel > h2,
body.gui-v1 #approvalLineEditorPanel > h2{
  margin:-1px -1px 16px;
  padding:14px 16px;
  border:1px solid var(--gui-detail-border);
  border-radius:10px 10px 0 0;
  background:var(--gui-detail-head);
  font-size:16px;
}
body.gui-v1 #view-suppliers .supplier-section-head,
body.gui-v1 #view-supplier-performance .supplier-section-head,
body.gui-v1 #view-drawings .drawing-section-head,
body.gui-v1 #view-drawings .drawing-file-head,
body.gui-v1 #view-drawings .drawing-subhead,
body.gui-v1 #inspectionWorkDetail .inspection-work-editor .inspection-work-head{
  padding-bottom:10px;
  border-bottom:1px solid #e3e8f0;
}
body.gui-v1 #view-suppliers .supplier-basic-form,
body.gui-v1 #inspectionWorkDetail .inspection-work-editor .form-grid,
body.gui-v1 #ncrForm .form-grid,
body.gui-v1 #ncrDetail .form-grid{
  padding-top:2px;
}
body.gui-v1 #view-suppliers .supplier-subgrid > section,
body.gui-v1 #view-drawings .drawing-review-history,
body.gui-v1 #view-drawings .drawing-file-history,
body.gui-v1 #view-drawings .drawing-delete-history,
body.gui-v1 #ncrDetail .panel.subtle,
body.gui-v1 #inspectionWorkDetail .panel.subtle{
  border-color:#dce3ed;
  background:var(--gui-detail-soft);
}

/* Tab pattern: ERP-like text tabs, active underline, no event/data attribute changes. */
body.gui-v1 .supplier-work-tabs{
  padding:0 14px;
  border:1px solid var(--gui-detail-border);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
body.gui-v1 .supplier-tab-bar,
body.gui-v1 .code-tabs{
  display:flex;
  align-items:flex-end;
  gap:2px;
  flex-wrap:wrap;
  border-bottom:1px solid #d9e1ec;
  background:#fff;
}
body.gui-v1 .supplier-tab-bar button,
body.gui-v1 .code-tabs button{
  min-height:40px;
  margin:0;
  padding:9px 14px 8px;
  border:0;
  border-bottom:3px solid transparent;
  border-radius:0;
  background:transparent;
  color:#52657c;
  font-weight:800;
  box-shadow:none;
}
body.gui-v1 .supplier-tab-bar button:hover:not(:disabled),
body.gui-v1 .code-tabs button:hover:not(:disabled){
  background:#f5f8fd;
  color:#244f83;
}
body.gui-v1 .supplier-tab-bar button.active,
body.gui-v1 .code-tabs button.active{
  border-color:var(--gui-modal-accent);
  background:#f7faff;
  color:#173f70;
  box-shadow:none;
}
body.gui-v1 .supplier-tab-bar button:focus-visible,
body.gui-v1 .code-tabs button:focus-visible{
  outline:2px solid #7fa8e8;
  outline-offset:-2px;
}

/* Generic business/workflow modal chrome. Existing close/focus trap/validation behavior is untouched. */
body.gui-v1 .business-modal-backdrop,
body.gui-v1 .work-message-modal-backdrop,
body.gui-v1 .approval-line-modal-backdrop,
body.gui-v1 .session-modal-backdrop{
  background:rgba(10,27,52,.58);
  backdrop-filter:blur(1.5px);
}
body.gui-v1 .business-modal,
body.gui-v1 .workflow-modal,
body.gui-v1 .master-picker-dialog,
body.gui-v1 .approval-line-validation-dialog,
body.gui-v1 .work-message-modal,
body.gui-v1 .session-modal{
  border:1px solid #cbd6e5;
  border-radius:12px;
  box-shadow:0 28px 80px rgba(7,27,58,.28);
}
body.gui-v1 .business-modal > h2,
body.gui-v1 .workflow-modal > h2,
body.gui-v1 .master-picker-dialog > h2,
body.gui-v1 .session-modal > h2{
  margin:-24px -24px 18px;
  padding:15px 20px 14px;
  border-bottom:1px solid #d8e0ec;
  border-top:4px solid var(--gui-modal-accent);
  border-radius:12px 12px 0 0;
  background:#f3f6fb;
  color:#18365e;
  font-size:18px;
  line-height:1.35;
}
body.gui-v1 dialog.workflow-native-dialog > h2{
  margin:-18px -18px 18px;
}
body.gui-v1 .business-modal-message{
  margin-bottom:16px;
  padding:11px 12px;
  border:1px solid #dbe4ef;
  border-radius:8px;
  background:#f8fafd;
  color:#364a62;
}
body.gui-v1 .workflow-fields{
  padding:12px;
  border:1px solid #e0e6ef;
  border-radius:9px;
  background:#fbfcfe;
}
body.gui-v1 .workflow-fields > label{
  color:#334a66;
}
body.gui-v1 .workflow-selection-summary{
  border-color:#cddbeb;
  background:#f2f7fd;
}
body.gui-v1 .business-modal > .toolbar,
body.gui-v1 .workflow-modal > .toolbar,
body.gui-v1 .remote-update-history-modal > .toolbar,
body.gui-v1 .bom-drawing-link-actions{
  justify-content:flex-end;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e1e7ef;
}
body.gui-v1 .business-modal-note{
  padding-top:9px;
  border-top:1px dashed #dfe5ed;
  line-height:1.55;
}
body.gui-v1 .business-modal-validation{
  border-left-width:4px;
}

/* Specialized modal heads keep their current markup and behavior. */
body.gui-v1 .approval-source-readonly-head,
body.gui-v1 .bom-drawing-link-head,
body.gui-v1 .approval-line-modal-head,
body.gui-v1 .work-message-modal-head{
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #dce4ee;
}
body.gui-v1 .approval-source-readonly-head h2,
body.gui-v1 .bom-drawing-link-head h2,
body.gui-v1 .approval-line-modal-head h2,
body.gui-v1 .work-message-modal-title{
  color:#18365e;
}
body.gui-v1 .work-message-modal{
  border-top:4px solid #7387a3;
}
body.gui-v1 .work-message-modal-success{border-top-color:#16804a}
body.gui-v1 .work-message-modal-info{border-top-color:#245dff}
body.gui-v1 .work-message-modal-warning{border-top-color:#c18a24}
body.gui-v1 .work-message-modal-error,
body.gui-v1 .work-message-modal-critical{border-top-color:#b52d2d}
body.gui-v1 .approval-line-validation-dialog{
  border-top:4px solid #b52d2d;
}
body.gui-v1 .master-picker-dialog{
  border-top:4px solid var(--gui-modal-accent);
}

/* Detail action zones: visual hierarchy only. */
body.gui-v1 .item-form-actions,
body.gui-v1 .drawing-file-actions,
body.gui-v1 .purchase-primary-actions,
body.gui-v1 #inspectionWorkDetail .toolbar,
body.gui-v1 #ncrDetail .toolbar{
  border-radius:8px;
}
body.gui-v1 .detail-flow-status,
body.gui-v1 .drawing-workflow,
body.gui-v1 .workflow-guide{
  border-color:#c9d8ea;
  background:#f4f8fd;
}
body.gui-v1 .supplier-detail-kpi .kpi,
body.gui-v1 .po-detail-kpi .kpi{
  border-color:#d8e1ed;
  box-shadow:none;
}

@media(max-width:720px){
  body.gui-v1 .business-modal > h2,
  body.gui-v1 .workflow-modal > h2,
  body.gui-v1 .master-picker-dialog > h2,
  body.gui-v1 .session-modal > h2{
    margin:-18px -18px 16px;
    padding:13px 16px 12px;
  }
  body.gui-v1 .supplier-tab-bar,
  body.gui-v1 .code-tabs{
    align-items:stretch;
  }
  body.gui-v1 .supplier-tab-bar button,
  body.gui-v1 .code-tabs button{
    flex:1 1 120px;
  }
}


/* G10: MAT-BOM internal back navigation. GUI-only; no business/API contract changes. */
body.gui-v1 .page-head-primary{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
body.gui-v1 .page-head-copy{
  min-width:0;
}
body.gui-v1 .page-back-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:96px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #cbd6e5;
  background:#f4f7fb;
  color:#2b4668;
  white-space:nowrap;
}
body.gui-v1 .page-back-button:hover{
  background:#eaf0f8;
  border-color:#aebed3;
  color:#173f68;
}
body.gui-v1 .page-back-button:focus-visible{
  outline:3px solid rgba(36,93,255,.28);
  outline-offset:2px;
}
@media(max-width:560px){
  body.gui-v1 .page-head-primary{align-items:flex-start;flex-wrap:wrap}
  body.gui-v1 .page-back-button{min-width:auto}
}


/* G11: dashboard typography balance, code-grid header placement, BOM top-anchored grid,
   drawing preview simplification, and NCR detail KPI typography. GUI-only revision. */

/* 1. Dashboard: rebalance label/value hierarchy and improve quick-action affordance. */
body.gui-v1 .dashboard-welcome p{
  font-size:13px;
  line-height:1.65;
}
body.gui-v1 .dashboard-welcome-status span,
body.gui-v1 .dashboard-welcome-status small{
  font-size:11px;
  line-height:1.35;
}
body.gui-v1 .dashboard-welcome-status b{
  font-size:27px;
  line-height:1.1;
}
body.gui-v1 .dashboard-section-head p{
  color:#66758c;
  font-size:12px;
  line-height:1.45;
}
body.gui-v1 .dashboard-task-card span{
  font-size:13px;
  line-height:1.35;
}
body.gui-v1 .dashboard-task-card b{
  margin:6px 0 4px;
  font-size:23px;
  line-height:1.1;
}
body.gui-v1 .dashboard-task-card small{
  font-size:10.5px;
  line-height:1.45;
}
body.gui-v1 .dashboard-card-head h2{
  font-size:15px;
}
body.gui-v1 .dashboard-card-link,
body.gui-v1 .dashboard-panel-head button{
  min-height:30px;
  padding:6px 11px;
  border:1px solid #cad7e8;
  background:#f2f6fb;
  color:#315579;
  font-size:11px;
  font-weight:800;
  box-shadow:0 1px 3px rgba(26,55,98,.06);
}
body.gui-v1 .dashboard-card-link:hover,
body.gui-v1 .dashboard-panel-head button:hover{
  border-color:#9fb5d2;
  background:#eaf1fa;
  color:#173f68;
}
body.gui-v1 .dashboard-mini-metric span{
  font-size:11.5px;
  line-height:1.3;
}
body.gui-v1 .dashboard-mini-metric b{
  margin-top:4px;
  font-size:18px;
  line-height:1.1;
}
body.gui-v1 .dashboard-quick-link{
  min-height:60px;
  padding:10px 9px;
  border-color:#cfdbea;
  background:linear-gradient(180deg,#ffffff,#f7f9fc);
  box-shadow:0 2px 6px rgba(27,55,94,.055);
}
body.gui-v1 .dashboard-quick-link:hover{
  transform:translateY(-1px);
  border-color:#9fb6d5;
  background:#eef4fb;
  box-shadow:0 4px 10px rgba(27,55,94,.08);
}
body.gui-v1 .dashboard-quick-link span{
  font-size:12px;
  line-height:1.3;
}
body.gui-v1 .dashboard-quick-link small{
  margin-top:5px;
  color:#71839a;
  font-size:10px;
  font-weight:700;
}

/* 2. Code management: list title/count match editor heading; inactive toggle belongs to grid header. */
body.gui-v1 #view-codes .code-list-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
body.gui-v1 #view-codes .code-list-panel .erp-result-title span,
body.gui-v1 #view-codes .code-list-panel .erp-result-title strong{
  color:#243650;
  font-size:17px;
  font-weight:800;
  line-height:1.25;
}
body.gui-v1 #view-codes .code-grid-inactive-toggle{
  margin-left:auto;
  color:#445a73;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
body.gui-v1 #view-codes .code-grid-inactive-toggle input{
  margin:0 5px 0 0;
}

/* 3. BOM: five actual children require five grid rows. Keep note auto-height and give the
      flexible row to bomTable so small result sets start immediately below the note. */
body.gui-v1 #view-bom>.bom-main-panel{
  grid-template-rows:auto auto auto auto minmax(0,1fr);
}
body.gui-v1 #view-bom .bom-table-host{
  align-self:stretch;
}

/* 4. Drawing: custom PDF toolbar is removed from DOM. Keep preview stage directly below title. */
body.gui-v1 #view-drawings .drawing-file-head + .drawing-pdf-stage{
  margin-top:12px;
}

/* 5. NCR detail only: reduce oversized nested KPI values without affecting top summary KPI. */
body.gui-v1 #ncrDetail .grid-kpi{
  gap:8px;
  margin-bottom:12px;
}
body.gui-v1 #ncrDetail .grid-kpi>.kpi{
  min-width:0;
  padding:10px 12px;
}
body.gui-v1 #ncrDetail .grid-kpi>.kpi span{
  display:block;
  font-size:11px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
body.gui-v1 #ncrDetail .grid-kpi>.kpi b{
  display:block;
  margin-top:4px;
  font-size:17px;
  line-height:1.2;
  overflow-wrap:anywhere;
  white-space:normal;
}

@media(max-width:760px){
  body.gui-v1 #view-codes .code-list-toolbar{align-items:flex-start;flex-wrap:wrap}
  body.gui-v1 #view-codes .code-grid-inactive-toggle{margin-left:0}
}

/* =========================================================
   G12-01: Dashboard typography refinement
   Approved direction: larger labels/support text, balanced KPI values,
   stronger quick-link/button affordance, card/layout dimensions preserved.
   STATIC FRONTEND ONLY.
   ========================================================= */
body.gui-v1 .dashboard-welcome p{
  font-size:14px;
  line-height:1.68;
}
body.gui-v1 .dashboard-welcome-status span,
body.gui-v1 .dashboard-welcome-status small{
  font-size:12px;
  line-height:1.4;
}
body.gui-v1 .dashboard-welcome-status b{
  font-size:27px;
  line-height:1.1;
}
body.gui-v1 .dashboard-section-head>div>span{
  font-size:10px;
}
body.gui-v1 .dashboard-section-head h2{
  font-size:18px;
  line-height:1.25;
}
body.gui-v1 .dashboard-section-head p{
  font-size:13px;
  line-height:1.5;
}
body.gui-v1 .dashboard-task-card span{
  font-size:14px;
  line-height:1.38;
}
body.gui-v1 .dashboard-task-card b{
  margin:6px 0 4px;
  font-size:23px;
  line-height:1.1;
}
body.gui-v1 .dashboard-task-card small{
  font-size:11.5px;
  line-height:1.48;
}
body.gui-v1 .dashboard-card-head h2,
body.gui-v1 .dashboard-panel-head h2{
  font-size:16.5px;
  line-height:1.25;
}
body.gui-v1 .dashboard-card-link,
body.gui-v1 .dashboard-panel-head button{
  min-height:32px;
  padding:7px 13px;
  font-size:12.5px;
  line-height:1.2;
  border-color:#bfd0e4;
  background:#eef4fb;
  color:#244f79;
}
body.gui-v1 .dashboard-mini-metric span{
  font-size:12.5px;
  line-height:1.35;
}
body.gui-v1 .dashboard-mini-metric b{
  margin-top:4px;
  font-size:19px;
  line-height:1.1;
}
body.gui-v1 .dashboard-quick-link{
  min-height:64px;
  padding:11px 10px;
  border-color:#c6d7e9;
  background:linear-gradient(180deg,#ffffff,#f3f7fc);
}
body.gui-v1 .dashboard-quick-link span{
  font-size:13px;
  line-height:1.32;
}
body.gui-v1 .dashboard-quick-link small{
  margin-top:5px;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
}
@media(max-width:900px){
  body.gui-v1 .dashboard-section-head h2{font-size:17px}
  body.gui-v1 .dashboard-section-head p{font-size:12.5px}
}
@media(max-width:560px){
  body.gui-v1 .dashboard-welcome p{font-size:13px}
  body.gui-v1 .dashboard-task-card span{font-size:13.5px}
  body.gui-v1 .dashboard-mini-metric span{font-size:12px}
}

/* =========================================================
   G12-03: Whole sidebar slide toggle
   - desktop only
   - UI state only
   - no navigation / workflow contract changes
   ========================================================= */
@media(min-width:901px){
  body.gui-v1 #appView{
    transition:grid-template-columns .25s cubic-bezier(.2,.8,.2,1);
  }
  body.gui-v1 #appView>aside{
    min-width:0;
    overflow-x:hidden;
  }
  body.gui-v1 .gui-sidebar-toggle-row{
    display:flex;
    align-items:center;
    min-height:42px;
    margin:0 0 8px;
    padding:0 8px 8px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  body.gui-v1 .gui-sidebar-toggle-label{
    color:#bcd0ea;
    font-size:11px;
    font-weight:900;
    letter-spacing:.03em;
    white-space:nowrap;
  }
  body.gui-v1 .gui-sidebar-toggle{
    width:34px;
    min-width:34px;
    height:34px;
    min-height:34px;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(120,187,255,.46);
    border-radius:10px;
    background:#103f78;
    color:#fff;
    font-size:18px;
    line-height:1;
    text-align:center;
    box-shadow:0 3px 10px rgba(0,0,0,.16);
    transition:background-color .15s ease,transform .25s ease;
  }
  body.gui-v1 .gui-sidebar-toggle:hover{
    background:#16508f;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed{
    grid-template-columns:72px 1fr;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-sidebar-toggle-row{
    justify-content:center;
    padding-left:0;
    padding-right:0;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-sidebar-toggle-label{
    display:none;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-sidebar-toggle{
    margin-left:0;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed #menu>.gui-nav-home,
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group,
  body.gui-v1 #appView.gui-sidebar-collapsed .aside-note{
    visibility:hidden;
    opacity:0;
    pointer-events:none;
  }
}
@media(max-width:900px){
  body.gui-v1 .gui-sidebar-toggle-row{
    display:none;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed{
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion: reduce){
  body.gui-v1 #appView,
  body.gui-v1 .gui-sidebar-toggle{
    transition-duration:.01ms!important;
  }
}

/* =========================================================
   G12-04: Selected Dark Navy grouped sidebar
   Approved prototype behavior:
   - large-category independent expand/collapse
   - complete inventory submenu
   - visible vertical scrollbar when expanded content exceeds viewport
   - Dark Navy expanded menu and Dark Navy slim rail remain visually continuous
   ========================================================= */
@media(min-width:901px){
  body.gui-v1 #appView>aside{
    display:flex;
    flex-direction:column;
    height:calc(100vh - 62px);
    min-height:0;
    overflow:hidden;
    background:linear-gradient(180deg,#0b2f5a 0%,#0d3b70 46%,#0a2d54 100%);
    box-shadow:8px 0 26px rgba(4,31,63,.14);
  }
  body.gui-v1 #menu{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
    padding:10px 10px 18px;
    scrollbar-width:thin;
    scrollbar-color:rgba(143,201,255,.65) rgba(255,255,255,.04);
  }
  body.gui-v1 #menu::-webkit-scrollbar{width:9px}
  body.gui-v1 #menu::-webkit-scrollbar-track{
    background:rgba(255,255,255,.035);
    border-radius:999px;
  }
  body.gui-v1 #menu::-webkit-scrollbar-thumb{
    background:rgba(143,201,255,.48);
    border:2px solid rgba(8,40,73,.58);
    border-radius:999px;
  }
  body.gui-v1 #menu::-webkit-scrollbar-thumb:hover{
    background:rgba(143,201,255,.74);
  }

  body.gui-v1 .gui-sidebar-toggle-row{
    position:sticky;
    top:0;
    z-index:4;
    min-height:48px;
    margin:-10px -10px 10px;
    padding:8px 12px;
    background:rgba(7,34,66,.94);
    border-bottom:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
  }
  body.gui-v1 .gui-sidebar-toggle-label{
    color:#c7ddf5;
    font-size:12px;
  }

  body.gui-v1 #menu>.gui-nav-home{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:0 12px;
    margin:0 0 9px;
    border:1px solid rgba(143,201,255,.22);
    border-radius:10px;
    background:rgba(255,255,255,.035);
    color:#dcecff;
    font-size:13px;
    font-weight:800;
    box-shadow:none;
    white-space:nowrap;
  }
  body.gui-v1 #menu>.gui-nav-home.active{
    border-color:#3288e8;
    background:linear-gradient(90deg,rgba(45,126,224,.68),rgba(31,95,173,.43));
    color:#fff;
    box-shadow:inset 3px 0 0 #ff9b30;
  }
  body.gui-v1 #menu>.gui-nav-home.active::after{display:none}
  body.gui-v1 .gui-nav-active-dot{
    width:6px;
    height:6px;
    margin-left:auto;
    border-radius:50%;
    background:#ff9f34;
    opacity:0;
  }
  body.gui-v1 #menu>.gui-nav-home.active .gui-nav-active-dot{opacity:1}

  body.gui-v1 .gui-nav-icon{
    display:inline-grid;
    place-items:center;
    width:22px;
    min-width:22px;
    color:#72b8ff;
    font-size:16px;
    line-height:1;
  }
  body.gui-v1 .gui-nav-label,
  body.gui-v1 .gui-nav-group-label{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.gui-v1 .gui-nav-group{
    margin:7px 0;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.045);
    border-radius:12px;
    background:rgba(255,255,255,.028);
    box-shadow:none;
    transition:border-color .15s ease,background-color .15s ease;
  }
  body.gui-v1 .gui-nav-group:hover{
    border-color:rgba(143,201,255,.13);
  }
  body.gui-v1 .gui-nav-group-title{
    width:100%;
    min-height:43px;
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    padding:0 11px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#a8d5ff;
    font-size:12.5px;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
    text-align:left;
    cursor:pointer;
  }
  body.gui-v1 .gui-nav-group.open .gui-nav-group-title,
  body.gui-v1 .gui-nav-group.has-active .gui-nav-group-title{
    background:linear-gradient(90deg,rgba(37,107,190,.20),rgba(255,255,255,.012));
    color:#d0e9ff;
  }
  body.gui-v1 .gui-nav-group-title:hover{
    background:rgba(255,255,255,.055);
    color:#e8f5ff;
    transform:none;
  }
  body.gui-v1 .gui-nav-group-title.active{
    box-shadow:none;
  }
  body.gui-v1 .gui-nav-group-title.active::after{display:none}
  body.gui-v1 .gui-nav-chevron{
    margin-left:auto;
    color:#8fc9ff;
    font-size:17px;
    line-height:1;
    transform:rotate(0deg);
    transition:transform .21s cubic-bezier(.2,.8,.2,1);
  }
  body.gui-v1 .gui-nav-group.open .gui-nav-chevron{
    transform:rotate(90deg);
  }

  body.gui-v1 .gui-nav-group-body{
    display:grid;
    grid-template-rows:0fr;
    opacity:.65;
    transition:grid-template-rows .21s cubic-bezier(.2,.8,.2,1),opacity .16s ease;
  }
  body.gui-v1 .gui-nav-group.open .gui-nav-group-body{
    grid-template-rows:1fr;
    opacity:1;
  }
  body.gui-v1 .gui-nav-group-inner{
    min-height:0;
    overflow:hidden;
    padding:0 8px 0 37px;
  }
  body.gui-v1 .gui-nav-group.open .gui-nav-group-inner{
    padding-top:2px;
    padding-bottom:7px;
  }
  body.gui-v1 .gui-nav-group .gui-nav-group-inner>button[data-view]{
    width:100%;
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    margin:1px 0;
    padding:7px 7px;
    border-radius:8px;
    color:#d4e6f7;
    font-size:12px;
    font-weight:700;
    text-align:left;
    white-space:nowrap;
  }
  body.gui-v1 .gui-nav-child-icon{
    display:inline-grid;
    place-items:center;
    width:18px;
    min-width:18px;
    color:#72b8ff;
    font-size:13px;
  }
  body.gui-v1 .gui-nav-group .gui-nav-group-inner>button[data-view]:hover{
    background:rgba(255,255,255,.065);
    color:#fff;
    transform:translateX(2px);
  }
  body.gui-v1 .gui-nav-group .gui-nav-group-inner>button[data-view].active{
    padding-left:7px;
    background:rgba(83,146,224,.20);
    color:#fff;
    box-shadow:inset 3px 0 0 #ff9b30;
  }
  body.gui-v1 .gui-nav-group .gui-nav-group-inner>button[data-view].active::after{
    right:8px;
    background:#ff9f34;
  }

  body.gui-v1 .aside-note{
    flex:0 0 auto;
    margin:8px 10px 10px;
  }

  /* Slim Rail: group icons remain visible; child menus stay hidden. */
  body.gui-v1 #appView.gui-sidebar-collapsed #menu>.gui-nav-home,
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed #menu{
    padding-left:8px;
    padding-right:8px;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-sidebar-toggle-row{
    margin-left:-8px;
    margin-right:-8px;
    justify-content:center;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed #menu>.gui-nav-home{
    width:52px;
    min-height:46px;
    justify-content:center;
    gap:0;
    margin-left:auto;
    margin-right:auto;
    padding:0;
    border-color:rgba(143,201,255,.22);
    background:rgba(255,255,255,.035);
    box-shadow:none;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed #menu>.gui-nav-home.active{
    border-color:#3288e8;
    background:rgba(45,126,224,.22);
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-label,
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-active-dot{
    display:none;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group{
    width:52px;
    margin:6px auto;
    overflow:visible;
    border-color:transparent;
    background:transparent;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group-title{
    width:52px;
    min-height:46px;
    justify-content:center;
    gap:0;
    padding:0;
    border:1px solid transparent;
    border-radius:10px;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group-title:hover{
    border-color:rgba(143,201,255,.20);
    background:rgba(255,255,255,.055);
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group.has-active .gui-nav-group-title{
    border-color:rgba(50,136,232,.60);
    background:rgba(37,107,190,.22);
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group-label,
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-chevron,
  body.gui-v1 #appView.gui-sidebar-collapsed .gui-nav-group-body{
    display:none;
  }
  body.gui-v1 #appView.gui-sidebar-collapsed .aside-note{
    display:none;
  }
}
@media(max-width:900px){
  body.gui-v1 .gui-nav-icon,
  body.gui-v1 .gui-nav-child-icon{
    display:none;
  }
  body.gui-v1 .gui-nav-group-body,
  body.gui-v1 .gui-nav-group.open .gui-nav-group-body{
    display:contents;
    opacity:1;
  }
  body.gui-v1 .gui-nav-group-inner,
  body.gui-v1 .gui-nav-group.open .gui-nav-group-inner{
    display:contents;
    padding:0;
  }
  body.gui-v1 .gui-nav-group-title{
    display:none;
  }
}
@media (prefers-reduced-motion: reduce){
  body.gui-v1 .gui-nav-group,
  body.gui-v1 .gui-nav-chevron,
  body.gui-v1 .gui-nav-group-body,
  body.gui-v1 .gui-nav-group .gui-nav-group-inner>button[data-view]{
    transition-duration:.01ms!important;
  }
}


/* R052.63_A02 / G17 — NEXT-UI-01 field correction.
   gui-v1.css is loaded after styles.css and uses body.gui-v1-qualified KPI selectors.
   Reassert the actionable KPI visual contract at the same GUI specificity so
   Dashboard/general actionable cards remain visually distinct in Production. */
body.gui-v1 .dashboard-mini-metric.kpi-actionable,
body.gui-v1 .kpi.kpi-actionable{
  cursor:pointer;
  background:#f3f7ff;
  border-color:#a9c4ee;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease;
}
body.gui-v1 .dashboard-mini-metric.kpi-actionable:hover,
body.gui-v1 .kpi.kpi-actionable:hover{
  background:#eaf2ff;
  border-color:#6f9fe2;
  box-shadow:0 0 0 3px rgba(36,93,255,.08);
}
body.gui-v1 .dashboard-mini-metric.kpi-actionable:focus,
body.gui-v1 .dashboard-mini-metric.kpi-actionable:focus-visible,
body.gui-v1 .kpi.kpi-actionable:focus,
body.gui-v1 .kpi.kpi-actionable:focus-visible{
  outline:none;
  background:#eaf2ff;
  border-color:#4f83d1;
  box-shadow:0 0 0 3px rgba(36,93,255,.16);
}
body.gui-v1 .dashboard-mini-metric.kpi-actionable:active,
body.gui-v1 .kpi.kpi-actionable:active{
  transform:translateY(1px);
}
body.gui-v1 .dashboard-mini-metric.kpi-actionable.is-alert,
body.gui-v1 .kpi.kpi-actionable.is-alert{
  background:#fff8e8;
  border-color:#e0bd71;
}
body.gui-v1 .dashboard-mini-metric.kpi-actionable.is-alert:hover,
body.gui-v1 .dashboard-mini-metric.kpi-actionable.is-alert:focus,
body.gui-v1 .dashboard-mini-metric.kpi-actionable.is-alert:focus-visible,
body.gui-v1 .kpi.kpi-actionable.is-alert:hover,
body.gui-v1 .kpi.kpi-actionable.is-alert:focus,
body.gui-v1 .kpi.kpi-actionable.is-alert:focus-visible{
  background:#fff3cf;
  border-color:#d4aa55;
  box-shadow:0 0 0 3px rgba(166,106,0,.12);
}
body.gui-v1 .dashboard-mini-metric.kpi-actionable.is-alert b,
body.gui-v1 .kpi.kpi-actionable.is-alert b{
  color:var(--warn);
}


/* =========================================================
   A13 / G44: Browser-like Multi-Tab Workspace
   - 1 menu = 1 live View DOM; no duplicate View IDs
   - max 10 tabs; overflow warning at screen top
   - switching tabs never reloads the View
   ========================================================= */
body.gui-v1 .mat-bom-workspace-tabs{
  position:sticky;top:-20px;z-index:45;height:42px;margin:-20px -20px 18px;
  display:flex;align-items:stretch;overflow:hidden;
  border-bottom:1px solid #d9ae9e;
  background:linear-gradient(180deg,#f8ded3 0%,#f4d1c3 50%,#efc4b2 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.66),0 3px 10px rgba(70,45,35,.07);
}
body.gui-v1 .mat-bom-tab-nav{flex:0 0 76px;display:flex;align-items:center;gap:3px;padding:0 7px;border-right:1px solid rgba(155,104,86,.22)}
body.gui-v1 .mat-bom-tab-nav-btn{width:29px;height:29px;padding:0;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#76574d;font-size:21px;line-height:1}
body.gui-v1 .mat-bom-tab-nav-btn:hover:not(:disabled){background:rgba(255,255,255,.5);color:#3d2c27}
body.gui-v1 .mat-bom-tab-nav-btn:disabled{opacity:.28;cursor:default}
body.gui-v1 .mat-bom-tab-viewport{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
body.gui-v1 .mat-bom-tab-viewport::-webkit-scrollbar{display:none}
body.gui-v1 .mat-bom-tabs{height:42px;display:flex;align-items:flex-end;min-width:max-content;padding-right:10px}
body.gui-v1 .mat-bom-tab{position:relative;height:42px;min-width:150px;max-width:210px;display:flex;align-items:center;gap:7px;padding:0 8px 0 13px;color:#694d43;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer;user-select:none;isolation:isolate}
body.gui-v1 .mat-bom-tab:not(.active)::after{content:"";position:absolute;right:0;top:11px;width:1px;height:19px;background:#d9ab99;opacity:.75}
body.gui-v1 .mat-bom-tab:hover:not(.active){background:rgba(255,255,255,.2);color:#47342d}
body.gui-v1 .mat-bom-tab.active{height:39px;margin-top:3px;border:1px solid rgba(196,158,144,.7);border-bottom:0;border-radius:9px 9px 0 0;background:linear-gradient(#fff,#fffdfc);color:#172033;font-weight:900;box-shadow:0 -1px 0 rgba(255,255,255,.8),0 1px 7px rgba(95,58,46,.08);z-index:3}
body.gui-v1 .mat-bom-tab-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
body.gui-v1 .mat-bom-tab-close{flex:0 0 18px;width:18px;height:18px;padding:0;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#87685f;font-size:16px;line-height:1}
body.gui-v1 .mat-bom-tab-close:hover{background:rgba(255,255,255,.65);color:#c94623}
body.gui-v1 .mat-bom-tab.active .mat-bom-tab-close{color:#df5b36}
body.gui-v1 .mat-bom-tab-counter{flex:0 0 auto;display:flex;align-items:center;padding:0 11px;border-left:1px solid rgba(155,104,86,.22);color:#72564d;font-size:11px;font-weight:800;white-space:nowrap}
body.gui-v1 .mat-bom-workspace-empty{min-height:52vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#718196;text-align:center}
body.gui-v1 .mat-bom-workspace-empty b{font-size:17px;color:#34495f}
body.gui-v1 .mat-bom-tab-top-notice{position:fixed;z-index:8000;top:76px;left:50%;transform:translateX(-50%);max-width:min(760px,calc(100vw - 40px));display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:10px;border:1px solid #dfb68f;background:#fffaf4;color:#794f2a;box-shadow:0 12px 34px rgba(78,47,28,.2);font-size:12.5px;font-weight:750}
body.gui-v1 .mat-bom-tab-top-notice.success{border-color:#a9cfb7;background:#f4fbf6;color:#28613b}
body.gui-v1 .mat-bom-tab-top-notice button{flex:0 0 auto;padding:6px 10px;background:#fff;border:1px solid currentColor;color:inherit}
@media(max-width:900px){body.gui-v1 .mat-bom-workspace-tabs{top:-12px;margin:-12px -12px 14px}.mat-bom-tab-nav{display:none!important}body.gui-v1 .mat-bom-tab{min-width:132px;max-width:176px}body.gui-v1 .mat-bom-tab-top-notice{top:72px}}


/* A25: code management full-width grid + single-row exclusive edit. */
body.gui-v1 #view-codes .code-inline-workspace{width:100%;min-width:0}
body.gui-v1 #view-codes .code-inline-workspace .code-list-toolbar{align-items:center}
body.gui-v1 #view-codes .code-grid-toolbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
body.gui-v1 #view-codes .code-inline-grid-host{width:100%;min-width:0}
body.gui-v1 #view-codes .code-inline-grid-host .table-wrap{max-height:calc(100vh - 315px);min-height:320px;overflow:auto}
body.gui-v1 #view-codes .code-inline-table{width:100%;table-layout:fixed;min-width:920px}
body.gui-v1 #view-codes .code-inline-qualifications{min-width:1000px}
body.gui-v1 #view-codes .code-inline-table input,
body.gui-v1 #view-codes .code-inline-table select{width:100%;min-width:0;border:1px solid #aebdce;border-radius:6px;padding:7px 8px;background:#fff;font:inherit}
body.gui-v1 #view-codes .code-inline-table td:last-child{width:150px}
body.gui-v1 #view-codes .code-inline-table tr.code-row-selected td{background:#eef5ff;box-shadow:inset 0 1px 0 #b7c9e2,inset 0 -1px 0 #b7c9e2}
body.gui-v1 #view-codes .code-inline-table tr.code-edit-row td{background:#fff9e7;box-shadow:inset 0 1px 0 #e4bd58,inset 0 -1px 0 #e4bd58}
body.gui-v1 #view-codes .code-inline-table tr.code-row-locked td{color:#7d8996;background:#f7f9fb}
body.gui-v1 #view-codes .code-inline-table tr.code-row-locked{cursor:not-allowed}
body.gui-v1 #view-codes .code-inline-table button:disabled{opacity:.45;cursor:not-allowed}
body.gui-v1 #view-codes .code-validity-stack{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(135px,1.2fr);gap:6px}
body.gui-v1 #view-codes .code-inline-guide{margin-top:10px;min-height:0;color:#5f7185}
@media(max-width:1200px){body.gui-v1 #view-codes .code-inline-grid-host .table-wrap{max-height:calc(100vh - 335px)}}
@media(max-width:900px){body.gui-v1 #view-codes .code-grid-toolbar-actions{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap}body.gui-v1 #view-codes .code-inline-grid-host .table-wrap{max-height:none;min-height:0}}
