:root{--hub-navy:#153a64;--hub-deep:#102e53;--hub-teal:#0c91a2;--hub-lime:#a7dc4f;--hub-surface:#f4f8f9;--hub-line:#dfe8ee}
.app-shell{grid-template-columns:238px minmax(0,1fr);background:var(--hub-surface)}
.sidebar{background:linear-gradient(180deg,var(--hub-navy),var(--hub-deep));border:0;color:#fff;gap:8px;padding:0 13px 16px}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border:2px solid transparent;background-clip:padding-box}
.brand{min-height:78px;padding:0 7px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;box-shadow:none}
.brand>div{display:grid;grid-template-columns:126px auto;align-items:center;column-gap:7px;min-width:0}.brand-logo{width:126px;height:48px;object-fit:cover;object-position:left top}
.brand-module{color:var(--hub-lime);font-size:10px;font-weight:900;letter-spacing:1.2px}.brand p{grid-column:1/-1;width:190px;margin:-8px 0 6px 1px;color:#91a6bd;font-size:8px}
.brand .icon-button{flex:0 0 auto;width:30px;min-height:30px;padding:0;color:#d9e6f3;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.workspace-label{margin:18px 10px 3px;color:#7088a4;font-size:8px;font-weight:900;letter-spacing:1.35px}
.current-workspace,.nexo-back-button{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:39px;padding:0 12px;border:0;border-radius:6px;font-size:10px;font-weight:700}
.current-workspace{color:#fff;background:rgba(12,145,162,.22);box-shadow:inset 2px 0 var(--hub-lime)}.current-workspace svg,.nexo-back-button svg{width:15px;height:15px}
.nexo-back-button{margin:0 0 6px;color:#a9bbcf;background:transparent}.nexo-back-button:hover{color:#fff;background:rgba(12,145,162,.18)}
.sidebar .panel{padding:10px;color:#dce7f2;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);border-radius:7px;box-shadow:none}
.sidebar .panel-heading span,.sidebar .members-title span,.sidebar summary,.sidebar .members-open-button span,.sidebar .session-panel strong{color:#fff}
.sidebar .panel-heading span,.sidebar .members-title span{font-size:9px;letter-spacing:.55px}.sidebar .panel-heading span:before,.sidebar .members-title span:before{background:linear-gradient(180deg,var(--hub-lime),var(--hub-teal))}
.sidebar .stats-panel>div:not(.panel-heading){background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.1)}
.sidebar .stats-panel span,.sidebar .members-open-button small,.sidebar .session-panel span,.sidebar .save-state,.sidebar .compact-file-name{color:#91a6bd}
.sidebar input,.sidebar select{color:#eef5fb;background:rgba(4,24,46,.38);border-color:rgba(255,255,255,.14)}.sidebar input::placeholder{color:#8fa4ba}.sidebar select option{color:#172026;background:#fff}
.sidebar .segmented button,.sidebar .tool-row button,.sidebar .session-actions button,.sidebar .save-row button,.sidebar .mini-actions button,.sidebar .mini-file,.sidebar .member-actions button{color:#dbe7f3;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.14)}
.sidebar button:hover,.sidebar .mini-file:hover,.sidebar .segmented button.active{color:#fff;background:rgba(12,145,162,.22)}
.map-wrap{display:grid;grid-template-rows:61px minmax(0,1fr);background:var(--hub-surface)}
.module-header{grid-row:1;display:flex;align-items:center;justify-content:space-between;min-width:0;padding:0 29px;color:#8995a6;background:#fff;border-bottom:1px solid #e3e9ee;z-index:610}
.module-breadcrumb{display:flex;align-items:center;gap:10px;font-size:10px}.module-breadcrumb strong{color:#174473}.module-breadcrumb span:first-of-type{color:#d3dae2}
.module-header-copy{display:flex;align-items:center;gap:12px;font-size:9px}.module-header-copy a{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;color:#174473;background:#fff;border:1px solid #e1e7ec;border-radius:7px;font-weight:700;text-decoration:none}.module-header-copy a:hover{border-color:#a8d9dd;color:var(--hub-teal)}.module-header-copy svg{width:14px;height:14px}
#map{grid-row:2;min-height:0;height:100%}.topbar{top:75px}.sidebar-toggle{left:250px;top:73px}.sidebar-collapsed .sidebar-toggle{left:14px}
.status-pill,.coord-pill,.map-select,.locate-button{border-color:var(--hub-line);border-radius:7px;box-shadow:0 4px 12px rgba(21,58,100,.1)}.locate-button{color:var(--hub-teal)}
.detail-panel,.conduit-panel,.network-diagram-panel,.members-panel{top:78px;max-height:calc(100vh - 96px);border-color:var(--hub-line);border-radius:9px}
@media(max-width:860px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{padding-top:0}.module-header{padding:0 13px}.module-header-copy>span{display:none}.topbar{top:72px;left:10px;right:10px}.sidebar-toggle{top:71px}}

/* Ajuste compacto v4: proporciones idénticas a Nexo y todos los accesos visibles. */
@media(min-width:861px){
  .app-shell{grid-template-columns:262px minmax(0,1fr)}
  .sidebar{gap:6px;padding:0 12px 10px;overflow:hidden;background:linear-gradient(180deg,#16375f,#102b50)}
  .sidebar-toggle{left:274px}
  .sidebar-collapsed .sidebar-toggle{left:14px}
  .brand{min-height:69px;height:69px;padding:0 6px}
  .brand>div{grid-template-columns:154px auto;column-gap:4px}
  .brand-logo{width:154px;height:56px;object-fit:cover;object-position:left top;image-rendering:auto}
  .brand-module{font-size:9px;letter-spacing:1px}
  .brand p{width:205px;margin:-10px 0 3px 1px;font-size:7px}
  .brand .icon-button{width:28px;min-height:28px}
  .workspace-label{margin:9px 9px 2px;font-size:7px}
  .current-workspace,.nexo-back-button{min-height:34px;padding:0 10px;font-size:9px}
  .nexo-back-button{margin:0}
  .sidebar .panel{padding:8px;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.085)}
  .stats-panel{gap:6px!important;grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats-panel .panel-heading{margin:0!important}
  .stats-panel div{min-width:0;padding:7px 6px!important;border-radius:6px!important}
  .stats-panel span{font-size:8px!important;white-space:nowrap}
  .stats-panel strong{font-size:15px!important;line-height:1.12;margin-top:3px!important;overflow-wrap:normal!important;white-space:nowrap}
  .tools-panel,.project-io-panel{padding:0!important}
  .tools-disclosure summary{min-height:36px;padding:0 10px!important;color:#fff!important;background:rgba(3,25,48,.16)}
  .tools-disclosure summary span,.tools-disclosure summary svg{color:#fff!important;opacity:1!important}
  .tools-disclosure[open] .tools-content{max-height:235px;overflow:auto;padding:7px!important}
  .search-panel{padding:6px!important}.search-panel input{min-height:34px;padding:7px 9px}
  .filter-panel{gap:5px!important;padding:7px!important}.filter-panel select{min-height:33px;padding:6px 9px}
  .members-launch-panel,.admin-diagram-panel{padding:0!important}
  .members-open-button{min-height:43px!important;padding:6px 9px!important;grid-template-columns:24px 1fr!important;gap:0 8px!important;color:#fff!important;background:rgba(3,25,48,.16)!important}
  .members-open-button svg{width:17px;height:17px;color:#72d1d8!important}.members-open-button span{font-size:10px}.members-open-button small{font-size:8px!important;color:#94a9bf!important}
  .session-panel{margin-top:0!important;padding:7px 8px!important;gap:5px!important;background:rgba(255,255,255,.085)!important}
  .session-panel span{font-size:8px!important}.session-panel strong{font-size:10px!important;margin-top:1px!important}.session-panel button{min-height:28px!important;padding:4px!important;font-size:8px}
  .project-io-panel{margin-top:0!important}
}

/* Diagrama de red: ventana centrada, más pequeña y con tarjetas densas. */
.network-diagram-panel{
  width:min(960px,calc(100vw - 330px))!important;
  max-height:min(78vh,720px)!important;
  top:92px!important;
  padding:14px!important;
  border-radius:10px!important;
}
.network-diagram-panel header{margin-bottom:7px!important}.network-diagram-panel h2{font-size:19px!important}.network-diagram-panel header span{font-size:9px!important;color:var(--hub-teal)!important}
.diagram-toolbar{margin:-40px 46px 7px 0!important}.diagram-toolbar button{min-height:30px!important;padding:5px 9px!important;font-size:10px}
.diagram-summary{gap:5px 10px!important;margin-bottom:8px!important;padding:7px 9px!important;font-size:10px}
.network-diagram-layout{gap:8px!important;padding:2px 1px 6px!important}.network-root-card{gap:8px!important;padding:8px 10px!important;border-radius:7px!important}.network-root-card span{font-size:9px!important}.network-root-card strong{font-size:13px!important}
.torpedo-grid{gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;min-width:720px!important}.torpedo-card{border-radius:7px!important;box-shadow:none!important}
.torpedo-card header{min-height:56px!important;padding:7px 8px!important}.torpedo-card header span{font-size:8px!important}.torpedo-card header strong{font-size:24px!important}.torpedo-card header small{font-size:8px!important}
.cd-grid{gap:5px!important;padding:6px!important}.cd-card{gap:2px!important;min-height:43px!important;padding:6px!important;border-radius:6px!important}.cd-card strong{font-size:10px!important}.cd-card span,.cd-card em{font-size:8px!important}
.cto-chip-list{gap:3px!important;margin-top:2px!important}.cto-chip{min-height:18px!important;padding:2px 5px!important;font-size:7px!important}

@media(max-height:760px) and (min-width:861px){
  .sidebar{gap:4px}.brand{min-height:62px;height:62px}.brand-logo{height:51px}.workspace-label{margin-top:5px}.current-workspace,.nexo-back-button{min-height:30px}.sidebar .panel{padding:6px}.members-open-button{min-height:38px!important}.session-panel{padding:5px 7px!important}
}


/* FIGIS v6: proporciones e identidad idénticas a FIBY Hub. */
@media(min-width:861px){
.app-shell{grid-template-columns:238px minmax(0,1fr)!important}
.sidebar{width:238px!important;gap:8px!important;padding:0 13px 18px!important;overflow-y:auto!important;background:linear-gradient(180deg,#16375f,#102b50)!important}
.sidebar-toggle{left:250px!important}.sidebar-collapsed .sidebar-toggle{left:14px!important}
.brand{height:71px!important;min-height:71px!important;padding:0 10px!important}
.brand>div{grid-template-columns:126px auto!important;column-gap:7px!important}
.brand-logo-frame{display:block!important;width:126px!important;height:48px!important;overflow:hidden!important}
.brand-logo{display:block!important;width:126px!important;height:auto!important;max-width:none!important;object-fit:initial!important;margin:0!important}
.brand-module{font-size:9px!important;letter-spacing:1px!important;color:#a7dc4f!important}
.brand p{width:190px!important;margin:-8px 0 6px 1px!important;font-size:8px!important}
.workspace-label{margin:20px 13px 8px!important;color:#5f6f88!important;font-size:8px!important;letter-spacing:1.3px!important}
.current-workspace,.nexo-back-button{min-height:39px!important;padding:0 12px!important;border-radius:6px!important;font-size:10px!important}
.current-workspace{background:rgba(12,145,162,.2)!important;box-shadow:inset 2px 0 #a7dc4f!important}.nexo-back-button{margin:0 0 6px!important}
.map-wrap{grid-template-rows:61px minmax(0,1fr)!important}.module-header{height:61px!important;padding:0 31px!important}.topbar{top:75px!important}
}
.sidebar .panel{color:#dce7f2!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.11)!important;border-radius:7px!important;box-shadow:none!important}
.sidebar input,.sidebar select{background:rgba(4,24,46,.38)!important;border-color:rgba(255,255,255,.14)!important}
.module-header{border-bottom:1px solid #e7ebf2!important;box-shadow:none!important}.module-header-copy a{border-radius:7px!important;box-shadow:none!important}


/* FIGIS v7: barra lateral concordante con EOS y resumen compacto. */
@media(min-width:861px){
  .sidebar{
    width:238px!important;
    padding:0 13px 18px!important;
    gap:8px!important;
    background:linear-gradient(180deg,#16375f,#102b50)!important;
    color:#fff!important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  }
  .brand{
    height:70px!important;
    min-height:70px!important;
    padding:0 7px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  .workspace-label{
    margin:12px 13px 6px!important;
    color:#7088a4!important;
    font-size:8px!important;
    font-weight:900!important;
    letter-spacing:1.35px!important;
  }
  .current-workspace,.nexo-back-button{
    width:100%!important;
    min-height:40px!important;
    border-radius:7px!important;
    padding:0 12px!important;
    font-size:10px!important;
    font-weight:700!important;
  }
  .current-workspace{
    color:#fff!important;
    background:rgba(12,145,162,.28)!important;
    box-shadow:inset 3px 0 #a7dc4f!important;
  }
  .nexo-back-button{
    color:#b9cadb!important;
    background:transparent!important;
    border-color:transparent!important;
  }
  .nexo-back-button:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
}
.sidebar .stats-panel{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
  padding:10px 8px 9px!important;
}
.sidebar .stats-panel .panel-heading{
  grid-column:1/-1!important;
  min-height:20px!important;
  padding:0 2px 4px!important;
}
.sidebar .stats-panel>div:not(.panel-heading){
  min-width:0!important;
  padding:7px 3px!important;
  overflow:hidden!important;
  text-align:left!important;
}
.sidebar .stats-panel>div:not(.panel-heading) span{
  display:block!important;
  overflow:hidden!important;
  font-size:7px!important;
  line-height:1.15!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.sidebar .stats-panel>div:not(.panel-heading) strong{
  display:block!important;
  max-width:100%!important;
  margin-top:3px!important;
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:-.2px!important;
  white-space:nowrap!important;
}
.sidebar #totalDistance{font-size:10px!important;letter-spacing:-.35px!important}
.sidebar .tools-panel,.sidebar .session-panel{
  border-radius:7px!important;
  box-shadow:none!important;
}
.sidebar .tools-disclosure>summary{
  min-height:39px!important;
  padding:0 11px!important;
}
