
/* ===== SIRIUS WMS V5.0.38 · NAVEGACIÓN FIORI LIMPIA ===== */
:root{
  --tx-shell:#ffffff;
  --tx-surface:#ffffff;
  --tx-surface-soft:#f7f9fb;
  --tx-border:#d5dadd;
  --tx-border-soft:#e5e9ec;
  --tx-text:#1d2d3e;
  --tx-text-secondary:#52606d;
  --tx-text-muted:#6a7a89;
  --tx-blue:#0a6ed1;
  --tx-blue-hover:#085caf;
  --tx-blue-soft:#eaf3fc;
  --tx-focus:0 0 0 3px rgba(10,110,209,.18);
  --tx-shadow:0 10px 28px rgba(29,45,62,.16);
}

/* Shell superior: clara, contenida y con el buscador como elemento principal. */
.topbar{
  height:58px!important;
  display:grid!important;
  grid-template-columns:auto auto minmax(290px,380px) minmax(0,1fr) auto;
  align-items:center;
  gap:10px!important;
  padding:0 14px!important;
  overflow:visible!important;
  background:var(--tx-shell)!important;
  border-bottom:1px solid var(--tx-border)!important;
  box-shadow:0 1px 6px rgba(29,45,62,.12)!important;
}
.tplogo{
  color:var(--tx-text)!important;
  border-right:0!important;
  padding:0 10px 0 0!important;
  margin:0!important;
  /* V5.0.56 · presencia de marca: mayor cuerpo e interletrado cerrado. */
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:-.2px!important;
}
.tplogo span{color:var(--tx-blue)!important;font-weight:800!important}
.tx-sidebar-toggle{
  width:36px;height:36px;border:1px solid transparent;border-radius:7px;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:transparent;color:var(--tx-text);cursor:pointer;transition:.15s;
}
.tx-sidebar-toggle span{display:block;width:17px;height:2px;border-radius:2px;background:currentColor}
.tx-sidebar-toggle:hover{background:var(--tx-blue-soft);color:var(--tx-blue)}
.tx-sidebar-toggle:focus-visible{outline:none;box-shadow:var(--tx-focus)}
.tx-sidebar-toggle[aria-expanded="true"]{background:var(--tx-blue-soft);color:var(--tx-blue)}

.tx-command-wrap{
  position:relative;display:flex;align-items:center;width:100%;height:40px;min-width:0;
  max-width:380px;grid-column:3;z-index:1510
}
.tx-command-icon{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;
  color:var(--tx-text-muted);pointer-events:none
}
.tx-command-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}
#tx-command-input{
  width:100%;height:40px;border:1px solid #8996a3;border-radius:8px;
  background:#fff;color:var(--tx-text);padding:0 70px 0 41px;
  font:500 13px 'Noto Sans',sans-serif;outline:none;transition:border-color .15s,box-shadow .15s,background .15s
}
#tx-command-input::placeholder{color:#647585;opacity:1}
#tx-command-input:hover{border-color:#5f6f7d}
#tx-command-input:focus{border-color:var(--tx-blue);box-shadow:var(--tx-focus);background:#fff}
.tx-command-kbd{
  position:absolute;right:9px;top:50%;transform:translateY(-50%);
  color:var(--tx-text-muted);font:700 9px/1 'Noto Sans',sans-serif;
  border:1px solid var(--tx-border);background:var(--tx-surface-soft);border-radius:4px;padding:3px 5px;
  pointer-events:none
}
.tx-command-results{
  display:none;position:absolute;top:45px;left:0;right:0;min-width:100%;max-height:420px;
  overflow:auto;background:var(--tx-surface);border:1px solid var(--tx-border);border-radius:9px;
  box-shadow:var(--tx-shadow);z-index:1600;padding:6px
}
.tx-command-results.open{display:block}
.tx-search-row{
  display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;
  cursor:pointer;color:var(--tx-text);border:1px solid transparent;outline:none
}
.tx-search-row:hover,.tx-search-row.active,.tx-search-row:focus-visible{
  background:var(--tx-blue-soft);border-color:#b8d9f5
}
.tx-search-code{
  font:800 10px/1 'IBM Plex Mono',monospace;color:var(--tx-blue);
  background:#fff;border:1px solid #9ec7eb;border-radius:4px;padding:5px 6px;
  min-width:50px;text-align:center;letter-spacing:.15px
}
.tx-search-main{min-width:0;flex:1}
.tx-search-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-search-group{font-size:10px;color:var(--tx-text-muted);margin-top:2px}
.tx-search-empty{padding:18px;text-align:center;font-size:11px;color:var(--tx-text-muted)}

/* Accesos rápidos del shell conservados, pero visualmente secundarios. */
.topnav{grid-column:4;gap:2px!important;padding-left:2px}
.topnav .tbb{
  height:32px!important;padding:4px 8px!important;border-color:transparent!important;
  background:transparent!important;color:var(--tx-text-secondary)!important;border-radius:6px!important
}
.topnav .tbb:hover{background:var(--tx-blue-soft)!important;color:var(--tx-blue)!important}
.topnav .tbb.active{background:var(--tx-blue-soft)!important;color:var(--tx-blue)!important}
.topnav .tbb.tbg{border:1px solid #8cc8a5!important;background:#edf8f1!important;color:#16794a!important}
.topnav .tbb.tbg:hover{background:#dff3e7!important;color:#11653d!important}
.topnav-sep{background:var(--tx-border)!important}
.tpright{grid-column:5;color:var(--tx-text-secondary);gap:8px!important}
.tpclock{color:var(--tx-text-muted)!important}
.tpuser{
  min-width:0;max-width:152px;padding:3px 5px 3px 7px!important;gap:7px!important;
  color:var(--tx-text-secondary)!important;border-radius:8px!important
}
.tpuser:hover{background:var(--tx-surface-soft)}
.tpuser-info{min-width:0;max-width:107px}
.tpuser-name{
  max-width:107px!important;color:var(--tx-text)!important;font-size:10.5px!important;
  font-weight:750!important;line-height:1.15
}
.tpuser-role{
  max-width:107px!important;color:var(--tx-text-muted)!important;font-size:8px!important;
  font-weight:600!important;line-height:1.2
}
.av{background:var(--tx-blue)!important}
.wms-logout-btn{border-color:#e7b5b5!important;background:#fff5f5!important;color:#b42318!important}
.wms-logout-btn:hover{background:#b42318!important;border-color:#b42318!important;color:#fff!important}

/* V5.0.42.4 · Contexto operativo legible dentro del shell claro. */
.wms-warehouse-context{
  min-width:228px!important;max-width:300px!important;height:36px!important;padding:0 10px!important;
  gap:7px!important;border:1px solid #c7d0d9!important;border-radius:8px!important;
  background:#f7f9fb!important;color:var(--tx-text)!important;
  box-shadow:0 1px 2px rgba(29,45,62,.05)!important
}
.wms-warehouse-context:hover{border-color:#8da2b3!important;background:#f1f6fa!important}
.wms-warehouse-context span{
  color:var(--tx-text)!important;font-weight:800!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.wms-warehouse-context select{
  width:100%;min-width:190px;max-width:260px;height:32px;padding:0 4px!important;
  border:0!important;background:#f7f9fb!important;color:var(--tx-text)!important;
  font:700 10px 'Noto Sans',sans-serif!important;outline:none!important;cursor:pointer;color-scheme:light
}
.wms-warehouse-context select:focus-visible{box-shadow:var(--tx-focus);border-radius:5px}
.wms-warehouse-context select option{background:#fff!important;color:#1d2d3e!important;font-weight:600!important}
.wms-warehouse-context select option:checked{background:#0a6ed1!important;color:#fff!important}

/* Se preservan los nodos técnicos para compatibilidad, pero no se exponen. */
.stbar{display:none!important}

/* Historial con interacción de fila consistente con las demás vistas. */
#tb-prodh tr.prodh-row-clickable{cursor:pointer}
#tb-prodh tr.prodh-row-clickable:hover{background:#eef6fd}
#tb-prodh tr.prodh-row-clickable:hover td:first-child{box-shadow:inset 3px 0 var(--tx-blue)}
#tb-prodh tr.prodh-row-clickable:focus-visible{outline:2px solid var(--tx-blue);outline-offset:-2px;background:#eef6fd}

/* Sidebar Fiori: árbol oculto al iniciar y acordeón de una sección. */
.app-body{position:relative}
.sidebar{
  width:0!important;min-width:0!important;overflow:hidden!important;opacity:0;
  background:var(--tx-surface-soft)!important;border-right:0 solid var(--tx-border)!important;
  transition:width .2s ease,opacity .16s ease,border-width .2s ease;
}
body.tx-sidebar-open .sidebar{
  width:294px!important;min-width:294px!important;overflow-y:auto!important;opacity:1;
  border-right-width:1px!important
}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:#bdc7d0;border-radius:8px;border:2px solid var(--tx-surface-soft)}
.sbg{border-bottom:1px solid var(--tx-border-soft)!important;background:var(--tx-surface)}
.sbgh{min-height:42px;padding:9px 14px!important;background:var(--tx-surface);transition:.15s}
.sbgh:hover{background:#f1f5f8!important}
.sbgl{font-size:10.5px!important;font-weight:750!important;color:var(--tx-text-secondary)!important;letter-spacing:.45px}
.sbgico{opacity:.75!important;filter:saturate(.72)}
.sbch{color:var(--tx-text-muted)!important;font-size:10px!important;transition:transform .18s}
.sbg.open .sbch{transform:rotate(180deg)}
.sbitems{display:none;background:#fbfcfd;padding:3px 0 5px}
.sbg.open .sbitems{display:block}
.sbitem{
  min-height:38px;gap:8px!important;padding:7px 12px 7px 23px!important;
  color:var(--tx-text)!important;font-size:11.5px!important;border-left:3px solid transparent!important;
  background:transparent;white-space:normal;line-height:1.25
}
.sbitem:hover{background:var(--tx-blue-soft)!important;color:var(--tx-text)!important}
.sbitem.active{background:#dcecf9!important;color:#073b6f!important;border-left-color:var(--tx-blue)!important;font-weight:700}
.sbii{opacity:.72!important;filter:saturate(.72);min-width:16px;text-align:center}
.sbitem .tx-code{
  font:800 9px/1 'IBM Plex Mono',monospace;color:#075a9c!important;
  border:1px solid #a7cbe9!important;background:#fff!important;border-radius:4px!important;
  padding:4px 5px!important;min-width:43px!important;text-align:center;flex-shrink:0
}
.sb-badge{margin-left:auto}

.tx-favorites{border-bottom:1px solid var(--tx-border)!important;background:#eef5fb!important}
.tx-fav-head{
  width:100%;display:flex;align-items:center;gap:8px;padding:11px 14px 9px;border:0;
  background:transparent;color:#174a73;font-size:10px;font-weight:800;letter-spacing:.45px;
  text-transform:uppercase;cursor:pointer;text-align:left
}
.tx-fav-head:hover{background:#e4f0fa}
.tx-fav-head-icon{width:15px;height:15px;color:var(--tx-blue);fill:currentColor;flex-shrink:0}
.tx-fav-chevron{margin-left:auto;color:var(--tx-text-muted);font-size:10px;transition:transform .18s}
.tx-favorites.open .tx-fav-chevron{transform:rotate(180deg)}
.tx-fav-content{display:none}
.tx-favorites.open .tx-fav-content{display:block}
.tx-fav-list{padding:0 8px 8px;max-height:190px;overflow:auto}
.tx-fav-item{
  display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;
  color:var(--tx-text);cursor:pointer;font-size:10.5px;border:1px solid transparent
}
.tx-fav-item:hover{background:#fff!important;color:var(--tx-text)!important;border-color:#c9ddec}
.tx-fav-item .tx-code{
  font:800 8.5px/1 'IBM Plex Mono',monospace;color:#075a9c;
  border:1px solid #a7cbe9;background:#fff;border-radius:4px;padding:4px 5px;min-width:42px;text-align:center
}
.tx-fav-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-fav-empty{padding:7px 9px 10px;color:var(--tx-text-muted);font-size:9.5px;line-height:1.45}
.tx-fav-status{padding:5px 10px 9px;font-size:8.5px;color:var(--tx-text-muted);line-height:1.35}

/* Menú contextual: única vía visual para gestionar favoritos. */
.tx-context-menu{
  display:none;position:fixed;z-index:5000;min-width:210px;padding:5px;
  background:#fff;border:1px solid var(--tx-border);border-radius:8px;box-shadow:var(--tx-shadow)
}
.tx-context-menu.open{display:block}
.tx-context-menu-label{padding:6px 9px 4px;color:var(--tx-text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.45px}
.tx-context-action{
  width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:5px;
  background:transparent;color:var(--tx-text);font:600 11px 'Noto Sans',sans-serif;text-align:left;cursor:pointer
}
.tx-context-action:hover,.tx-context-action:focus-visible{background:var(--tx-blue-soft);color:var(--tx-blue);outline:none}
.tx-context-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
.tx-sidebar-backdrop{display:none;position:absolute;inset:0;background:rgba(29,45,62,.28);z-index:1390}

@media(max-width:1500px){
  .topbar{grid-template-columns:auto auto minmax(260px,340px) minmax(0,1fr) auto}
  .topnav .tbb .qtxt{display:none}
  .topnav .tbb{font-size:13px!important;padding:4px 7px!important}
}
@media(max-width:1120px){
  .topbar{grid-template-columns:auto auto minmax(260px,1fr) auto}
  .tx-command-wrap{grid-column:3;max-width:none}
  .topnav{display:none!important}
  .tpright{grid-column:4}
}
@media(max-width:760px){
  .topbar{height:56px!important;grid-template-columns:auto auto minmax(170px,1fr) auto;padding:0 8px!important;gap:5px!important}
  .tplogo{font-size:0!important;width:27px;padding:0!important}
  .tplogo::before{content:'WMS';font-size:11px;color:var(--tx-text);font-weight:800}
  .tx-command-kbd,.tpclock,.tpuser-info,#wms-almacen-scope-wrap{display:none!important}
  #tx-command-input{padding-right:12px;font-size:12px}
  .sidebar{
    position:absolute;left:0;top:0;bottom:0;z-index:1400;width:294px!important;min-width:294px!important;
    transform:translateX(-102%);opacity:1;transition:transform .2s ease!important;border-right-width:1px!important
  }
  body.tx-sidebar-open .sidebar{transform:translateX(0);overflow-y:auto!important}
  body.tx-sidebar-open .tx-sidebar-backdrop{display:block}
}
