:root{--bg:#f5f7fb;--border:#e4e9f1;--text:#172033;--muted:#64748b;--blue:#0d6efd;--disease:#7c3aed;--gene:#0284c7;--locus:#6366f1;--variant:#475569;--drug:#059669;--direct:#dc2626;--discovery:#94a3b8}
body{background:var(--bg);color:var(--text)}.navbar{min-height:66px}.global-search-wrap{width:min(520px,60vw)}
.browse-header,.app-card{border-radius:14px;border:1px solid var(--border)!important}.mode-toggle .btn{min-width:160px}
.category-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:8px}
.category-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.65rem .75rem;cursor:pointer;text-align:left}
.category-card:hover{border-color:#a8c7fa;background:#f8fbff}.category-card.active{border-color:var(--blue);background:#eaf3ff;box-shadow:0 0 0 1px var(--blue) inset}.category-card .count{font-size:.72rem;color:var(--muted)}
.chip-wrap{display:flex;flex-wrap:wrap;gap:7px}.filter-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.35rem .65rem;font-size:.82rem;cursor:pointer}.filter-chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}.filter-chip.zero{opacity:.55}
.app-card{min-height:640px}.disease-list{max-height:calc(100vh - 350px);overflow:auto;min-height:540px}.disease-item{cursor:pointer}.disease-item.active{background:#eaf3ff;border-left:4px solid var(--blue)}
.metric-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.metric-pill{font-size:.69rem;background:#f1f5f9;color:#475569;border-radius:999px;padding:.12rem .38rem}
#cy{height:calc(100vh - 350px);min-height:540px;background:#fff}.details-card{max-height:calc(100vh - 190px)}#detailsPanel{overflow:auto;max-height:calc(100vh - 255px)}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.dot.disease{background:var(--disease)}.dot.gene{background:var(--gene)}.dot.locus{background:var(--locus)}.dot.variant{background:var(--variant)}.dot.drug{background:var(--drug)}
.line{display:inline-block;width:18px;border-top:3px solid;margin-right:4px;transform:translateY(-2px)}.line.direct{border-color:var(--direct)}.line.discovery{border-color:var(--discovery);border-top-style:dashed}
.network-options{display:flex;gap:16px;background:#fbfcfe}.empty-state{text-align:center;padding:4rem 1rem}.empty-symbol{font-size:2.5rem;color:#cbd5e1}
.entity-badge{display:inline-block;border-radius:999px;padding:.2rem .5rem;color:#fff;font-size:.68rem;text-transform:uppercase}.entity-badge.disease{background:var(--disease)}.entity-badge.gene{background:var(--gene)}.entity-badge.locus{background:var(--locus)}.entity-badge.variant{background:var(--variant)}.entity-badge.drug{background:var(--drug)}.entity-badge.trial{background:#d97706}
.property-table td:first-child{width:42%;color:var(--muted);font-size:.8rem}.property-table td:last-child{font-size:.84rem;word-break:break-word}
.external-link{display:inline-block;text-decoration:none;border:1px solid #c7d2fe;background:#eef2ff;border-radius:999px;padding:.25rem .5rem;margin:.15rem .2rem .15rem 0;font-size:.76rem}
.search-results{position:absolute;top:calc(100% + 5px);right:0;width:100%;z-index:1050;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.15);max-height:360px;overflow:auto}.search-item{padding:.65rem .75rem;border-bottom:1px solid #f1f5f9;cursor:pointer}.search-item:hover{background:#f8fafc}
.variant-list{max-height:420px;overflow:auto}.variant-row{padding:.45rem .5rem;border-bottom:1px solid #edf2f7;cursor:pointer}.variant-row:hover{background:#f8fafc}
.evidence-box{border-left:4px solid var(--direct);padding:.8rem;background:#fff;border-radius:8px}.evidence-box.discovery{border-left-color:var(--discovery)}
@media(max-width:1400px){.category-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}}@media(max-width:992px){.category-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.global-search-wrap{width:60vw}.app-card{min-height:auto}.disease-list,#cy{max-height:none;height:65vh}.details-card{max-height:none}#detailsPanel{max-height:none}}@media(max-width:576px){.category-grid{grid-template-columns:1fr}.mode-toggle{display:flex;width:100%}.mode-toggle .btn{min-width:0;flex:1}.global-search-wrap{width:70vw}}


/* ============================================================
   ODDB Explorer multi-selection / expansion / export v0.6.0
   ============================================================ */

.disease-selection-toolbar{
 display:flex;
 gap:.45rem;
 align-items:center;
 justify-content:space-between;
}
.disease-selection-toolbar .btn{flex:1}

.disease-item{
 cursor:pointer;
 transition:background .12s ease,border-color .12s ease;
}
.disease-item.active{
 background:#eef5ff;
 border-left:4px solid var(--blue);
}
.disease-select-line{
 display:flex;
 align-items:flex-start;
 gap:.55rem;
}
.disease-check{
 flex:0 0 auto;
 margin-top:.22rem;
 pointer-events:none;
}
.disease-main{
 min-width:0;
 flex:1;
}
.disease-detail-btn{
 flex:0 0 auto;
 text-decoration:none;
 color:#64748b;
 padding:.05rem .35rem;
 line-height:1.2;
}

.network-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:1rem;
}
.network-actions{
 display:flex;
 gap:.4rem;
 align-items:center;
 flex-wrap:wrap;
 justify-content:flex-end;
}

.network-options{
 display:flex;
 gap:16px;
 flex-wrap:wrap;
 background:#fbfcfe;
}
.network-options label{
 display:inline-flex;
 align-items:center;
 gap:.28rem;
 white-space:nowrap;
}

.gene-expansion-bar{
 display:grid;
 grid-template-columns:minmax(200px,.9fr) minmax(0,1.5fr) auto;
 align-items:center;
 gap:.8rem;
 padding:.55rem .8rem;
 background:#f8fbff;
 font-size:.72rem;
}
.gene-expansion-bar strong{
 display:block;
 color:#334155;
}
.gene-expansion-bar>div:first-child span{
 display:block;
 margin-top:.1rem;
 font-size:.65rem;
}

.selected-gene-chips{
 display:flex;
 align-items:center;
 gap:.35rem;
 flex-wrap:wrap;
 min-width:0;
}
.selected-gene-chip{
 display:inline-flex;
 align-items:center;
 gap:.3rem;
 border:1px solid #bfdbfe;
 background:#eff6ff;
 color:#1d4ed8;
 border-radius:999px;
 padding:.24rem .5rem;
 font-size:.68rem;
 font-weight:800;
 cursor:pointer;
}
.selected-gene-chip span{font-size:.82rem}

.network-export{
 position:relative;
 z-index:50;
}
.network-export>summary{
 list-style:none;
 cursor:pointer;
 user-select:none;
}
.network-export>summary::-webkit-details-marker{display:none}
.network-export-menu{
 position:absolute;
 top:calc(100% + .42rem);
 right:0;
 width:225px;
 padding:.35rem;
 border:1px solid #dbe3ef;
 background:#fff;
 border-radius:12px;
 box-shadow:0 14px 38px rgba(15,23,42,.14);
}
.network-export-menu button{
 display:block;
 width:100%;
 border:0;
 background:transparent;
 padding:.5rem .58rem;
 border-radius:8px;
 text-align:left;
 font-size:.72rem;
 color:#334155;
}
.network-export-menu button:hover{background:#f1f5f9}
.export-menu-title{
 padding:.38rem .58rem .25rem;
 color:#94a3b8;
 font-size:.61rem;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.06em;
}

.network-export-note{
 padding:.5rem .75rem;
 border-top:1px solid var(--border);
 color:#64748b;
 background:#fbfcfe;
 font-size:.64rem;
 line-height:1.45;
}

#cy{
 min-height:520px;
}

@media(max-width:1400px){
 .gene-expansion-bar{
  grid-template-columns:1fr auto;
 }
 .gene-expansion-bar>div:first-child{
  grid-column:1/-1;
 }
}

@media(max-width:992px){
 .network-head{
  flex-direction:column;
 }
 .network-actions{
  justify-content:flex-start;
  width:100%;
 }
 .gene-expansion-bar{
  grid-template-columns:1fr;
 }
 .network-export-menu{
  left:0;
  right:auto;
 }
}

@media(max-width:576px){
 .network-actions .btn,
 .network-export>summary{
  font-size:.68rem;
  padding:.35rem .5rem;
 }
 .network-options{
  display:grid;
  gap:.4rem;
 }
 .disease-selection-toolbar{
  flex-wrap:wrap;
 }
}


/* ============================================================
   ODDB Explorer Graph Workbench v0.7.0
   Generic expansion · pinning · focus · persistent selections
   ============================================================ */

.dot.trial{background:#d97706}
.dot.report{background:#db2777}
.entity-badge.report{background:#db2777}
.entity-badge.consequence{background:#64748b}
.entity-badge.trial{background:#d97706}

.explorer-workbench-card{overflow:visible}

.pinned-workbench-bar{
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 align-items:center;
 gap:.65rem;
 min-height:48px;
 padding:.5rem .75rem;
 background:#fffaf5;
}
.workbench-bar-label{
 color:#9a3412;
 font-size:.66rem;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.07em;
}
.workbench-chip-list{
 display:flex;
 align-items:center;
 gap:.35rem;
 flex-wrap:wrap;
 min-width:0;
}
.workbench-chip{
 display:inline-flex;
 align-items:center;
 gap:.32rem;
 max-width:240px;
 min-height:29px;
 padding:.22rem .42rem;
 border:1px solid #fed7aa;
 border-radius:999px;
 background:#fff7ed;
 color:#7c2d12;
 font-size:.69rem;
 font-weight:750;
 cursor:pointer;
}
.workbench-chip .entity-badge{
 padding:.13rem .34rem;
 font-size:.54rem;
}
.workbench-chip>span{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.workbench-chip i{
 display:inline-grid;
 place-items:center;
 width:18px;
 height:18px;
 border-radius:50%;
 background:rgba(249,115,22,.10);
 color:#9a3412;
 font-style:normal;
 font-size:.8rem;
 line-height:1;
}
.workbench-chip:hover{background:#ffedd5}

.graph-action-bar{
 display:grid;
 grid-template-columns:minmax(210px,.8fr) minmax(0,1.7fr);
 align-items:center;
 gap:.7rem;
 padding:.58rem .75rem;
 background:#f8fbff;
}
.graph-action-copy strong{
 display:block;
 color:#334155;
 font-size:.74rem;
}
.graph-action-copy span{
 display:block;
 margin-top:.12rem;
 color:#64748b;
 font-size:.64rem;
 line-height:1.35;
}
.graph-action-controls{
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:.35rem;
 flex-wrap:wrap;
}
.graph-action-controls .form-select{
 width:auto;
 min-width:205px;
 max-width:300px;
}

.workbench-notice{
 padding:.48rem .75rem;
 border-bottom:1px solid var(--border);
 background:#eff6ff;
 color:#1e40af;
 font-size:.7rem;
 font-weight:650;
}
.workbench-notice.success{background:#ecfdf5;color:#047857}
.workbench-notice.warning{background:#fff7ed;color:#9a3412}

.detail-actions{
 padding-top:.75rem;
 border-top:1px solid #edf2f7;
}
.detail-action-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:.4rem;
}
.detail-action-grid .btn{
 text-align:left;
 font-size:.69rem;
}
.detail-workbench-actions{
 display:flex;
 gap:.4rem;
 flex-wrap:wrap;
 padding-top:.75rem;
 border-top:1px solid #edf2f7;
}

#cy{min-height:560px}

@media(max-width:1400px){
 .graph-action-bar{grid-template-columns:1fr}
 .graph-action-controls{justify-content:flex-start}
}
@media(max-width:992px){
 .pinned-workbench-bar{grid-template-columns:1fr}
 .graph-action-controls .form-select{width:100%;max-width:none}
 .graph-action-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
 .graph-action-controls .form-select{grid-column:1/-1}
 .graph-action-controls .btn{width:100%}
 #cy{height:70vh;min-height:520px}
}
@media(max-width:576px){
 .graph-action-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detail-action-grid{grid-template-columns:1fr}
 .workbench-chip{max-width:100%}
}


/* ============================================================
   ODDB Explorer Graph Control + Evidence Layers v0.7.1
   History · back/forward · breadcrumbs · non-destructive layers
   ============================================================ */

.history-workbench-bar{
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 align-items:center;
 gap:1rem;
 padding:.52rem .75rem;
 background:#fcfdff;
}
.history-controls{
 display:flex;
 align-items:center;
 gap:.4rem;
 white-space:nowrap;
}
.history-count{
 display:inline-flex;
 align-items:center;
 min-height:30px;
 padding:0 .48rem;
 border-radius:999px;
 background:#f1f5f9;
 color:#64748b;
 font-size:.64rem;
 font-weight:800;
}
.history-trail-wrap{
 min-width:0;
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 align-items:center;
 gap:.55rem;
}
.history-trail-label{
 color:#94a3b8;
 font-size:.61rem;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.06em;
 white-space:nowrap;
}
.history-breadcrumb{
 min-width:0;
 display:flex;
 align-items:center;
 gap:.28rem;
 overflow:hidden;
 color:#475569;
 font-size:.68rem;
}
.history-start,.history-step{
 display:inline-block;
 max-width:190px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.history-step{
 padding:.2rem .38rem;
 border:1px solid #e2e8f0;
 border-radius:7px;
 background:#fff;
}
.history-arrow{color:#94a3b8;font-weight:900}

.legend-v071{
 display:flex;
 flex-wrap:wrap;
 gap:.45rem .8rem;
 align-items:center;
 background:#fff;
}
.legend-v071>span{
 display:inline-flex;
 align-items:center;
 gap:.3rem;
 font-size:.66rem;
 color:#64748b;
 white-space:nowrap;
}
.legend-divider{
 width:1px;
 height:20px;
 background:#e2e8f0;
}
.state-ring{
 display:inline-block;
 width:13px;
 height:13px;
 border-radius:50%;
 background:#fff;
 box-sizing:border-box;
}
.state-ring.selected{border:3px solid #111827;box-shadow:0 0 0 2px rgba(147,197,253,.35)}
.state-ring.pinned{border:3px solid #f97316;box-shadow:0 0 0 2px rgba(251,146,60,.20)}
.state-ring.expanded{border:3px solid #a78bfa}

.legend-v071 .line{
 width:21px;
 height:0;
 display:inline-block;
 border-top:3px solid #94a3b8;
}
.legend-v071 .line.disease-gene{border-top-color:#7c3aed}
.legend-v071 .line.direct{border-top-color:#dc2626}
.legend-v071 .line.target{border-top-color:#0284c7;position:relative}
.legend-v071 .line.target::after{
 content:"";
 position:absolute;
 right:-1px;
 top:-5px;
 border-left:5px solid #0284c7;
 border-top:3px solid transparent;
 border-bottom:3px solid transparent;
}
.legend-v071 .line.discovery{border-top:2px dashed #94a3b8}
.legend-v071 .line.clinical{border-top:2px dotted #d97706}

.retrieval-options{
 display:flex;
 align-items:center;
 gap:.65rem 1rem;
 flex-wrap:wrap;
 background:#fbfcfe;
}
.retrieval-options>strong{
 color:#64748b;
 font-size:.63rem;
 text-transform:uppercase;
 letter-spacing:.05em;
}

.evidence-layer-bar{
 padding:.58rem .75rem .68rem;
 background:#f8fbff;
}
.evidence-layer-heading{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:.8rem;
 margin-bottom:.48rem;
}
.evidence-layer-heading strong{
 display:block;
 color:#334155;
 font-size:.72rem;
}
.evidence-layer-heading span:not(.hidden-layer-count){
 display:block;
 margin-top:.1rem;
 color:#64748b;
 font-size:.63rem;
}
.hidden-layer-count{
 flex:0 0 auto;
 padding:.25rem .46rem;
 border-radius:999px;
 background:#fff;
 border:1px solid #dbe3ef;
 color:#64748b;
 font-size:.61rem;
 font-weight:800;
}
.evidence-layer-controls{
 display:flex;
 align-items:center;
 gap:.38rem;
 flex-wrap:wrap;
}
.layer-toggle{
 position:relative;
 display:inline-flex;
 cursor:pointer;
}
.layer-toggle input{
 position:absolute;
 opacity:0;
 pointer-events:none;
}
.layer-toggle span{
 display:inline-flex;
 align-items:center;
 gap:.35rem;
 min-height:31px;
 padding:.32rem .52rem;
 border:1px solid #dbe3ef;
 border-radius:999px;
 background:#fff;
 color:#475569;
 font-size:.66rem;
 font-weight:750;
 transition:background .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease;
}
.layer-toggle b{
 min-width:18px;
 padding:.08rem .25rem;
 border-radius:999px;
 background:#f1f5f9;
 color:#64748b;
 font-size:.57rem;
 text-align:center;
}
.layer-toggle input:checked+span{
 border-color:#bfdbfe;
 background:#eff6ff;
 color:#1d4ed8;
}
.layer-toggle input:not(:checked)+span{
 opacity:.62;
 text-decoration:line-through;
}
.layer-toggle input:focus-visible+span{
 outline:2px solid #60a5fa;
 outline-offset:2px;
}

@media(max-width:1100px){
 .history-workbench-bar{grid-template-columns:1fr}
 .history-trail-wrap{grid-template-columns:1fr}
 .history-breadcrumb{overflow-x:auto;padding-bottom:.15rem}
}
@media(max-width:700px){
 .evidence-layer-heading{flex-direction:column}
 .history-controls{flex-wrap:wrap}
 .legend-divider{display:none!important}
}



/* ============================================================
   ODDB Explorer Disease Comparison + Shared Neighbors v0.7.2
   ============================================================ */
.comparison-workbench{background:#fcfdff;padding:.8rem .9rem}
.comparison-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.comparison-head-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.comparison-selection{margin-top:.4rem}
.comparison-kpis{display:grid;grid-template-columns:repeat(6,minmax(95px,1fr));gap:.45rem;margin-top:.75rem}
.comparison-kpis>div{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:.55rem .6rem}
.comparison-kpis strong{display:block;font-size:1rem;color:#0f172a}
.comparison-kpis span{display:block;margin-top:.12rem;color:#64748b;font-size:.61rem;line-height:1.25}
.comparison-semantics{margin-top:.55rem;padding:.5rem .6rem;border-left:3px solid #60a5fa;background:#eff6ff;color:#475569;font-size:.65rem;line-height:1.45}
.comparison-tabs{display:flex;gap:.35rem;overflow-x:auto;padding:.7rem 0 .45rem;scrollbar-width:thin}
.comparison-tab{flex:0 0 auto;border:1px solid #dbe3ef;background:#fff;border-radius:999px;padding:.35rem .58rem;font-size:.65rem;font-weight:800;color:#475569}
.comparison-tab span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:.2rem;padding:0 .25rem;border-radius:999px;background:#eef2f7;font-size:.58rem}
.comparison-tab.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.comparison-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;max-height:330px;overflow:auto;padding:.15rem 0 .2rem}
.comparison-result-card{border:1px solid #e2e8f0;background:#fff;border-radius:11px;padding:.62rem;text-align:left;min-width:0}
.comparison-result-card:hover{border-color:#93c5fd;background:#f8fbff}
.comparison-result-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.comparison-link-count{font-size:.58rem;color:#64748b;font-weight:800}
.comparison-result-name{font-size:.76rem;font-weight:850;color:#0f172a;margin-top:.38rem;overflow-wrap:anywhere}
.comparison-diseases,.comparison-owner,.comparison-target-info{font-size:.61rem;color:#64748b;margin-top:.24rem;line-height:1.35}
.comparison-owner{color:#7c3aed;font-weight:800}
.comparison-warning{font-size:.59rem;color:#92400e;background:#fffbeb;border-radius:7px;padding:.3rem .38rem;margin-top:.35rem}
.comparison-empty{padding:1rem;border:1px dashed #cbd5e1;border-radius:10px;text-align:center;color:#64748b;font-size:.68rem;background:#fff}
#cy node.comparison-match{z-index:999}
@media(max-width:1200px){
 .comparison-kpis{grid-template-columns:repeat(3,1fr)}
 .comparison-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .comparison-head{flex-direction:column}
 .comparison-head-actions{justify-content:flex-start}
 .comparison-kpis{grid-template-columns:repeat(2,1fr)}
 .comparison-result-grid{grid-template-columns:1fr}
}



/* ============================================================
   ODDB Explorer Evidence-aware Path Finder v0.7.3
   ============================================================ */
.pathfinder-workbench{background:#fbfefc;padding:.85rem .9rem}
.pathfinder-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.pathfinder-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 150px;gap:.7rem;align-items:end;margin-top:.75rem}
.path-search-wrap{min-width:0}
.path-search-results{left:0;right:0;top:100%;z-index:60;max-height:260px;overflow:auto}
.path-search-item{display:block;width:100%;border:0;text-align:left;background:#fff}
.path-chosen{min-height:24px;margin-top:.35rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.path-chosen span:last-child{font-size:.6rem;color:#94a3b8}
.path-swap{align-self:center;margin-top:1.3rem}
.path-options{align-self:start}
.pathfinder-meaning{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.8rem;padding-top:.65rem;border-top:1px solid #e2e8f0}
.path-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.23rem .46rem;font-size:.55rem;font-weight:900;letter-spacing:.025em}
.path-badge.direct{background:#fee2e2;color:#991b1b}
.path-badge.discovery{background:#f1f5f9;color:#475569;border:1px dashed #94a3b8}
.path-badge.clinical{background:#fff7ed;color:#9a3412}
.path-badge.supported{background:#dcfce7;color:#166534}
.pathfinder-results{display:grid;gap:.65rem;margin-top:.7rem;max-height:520px;overflow:auto;padding-right:.15rem}
.path-card{border:1px solid #dbe5df;background:#fff;border-radius:12px;padding:.75rem}
.path-card-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
.path-number{font-size:.68rem;font-weight:900;color:#0f172a;margin-right:.35rem}
.path-length{font-size:.59rem;color:#64748b;margin-left:.35rem}
.path-chain{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.65rem 0;padding:.55rem;background:#f8fafc;border-radius:9px}
.path-chain-node{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem}
.path-arrow{color:#94a3b8;font-weight:900}
.path-edges{display:grid;gap:.35rem}
.path-edge-detail{border:1px solid #edf2f7;border-radius:8px;background:#fcfcfd}
.path-edge-detail summary{cursor:pointer;padding:.45rem .5rem;font-size:.64rem;display:flex;justify-content:space-between;gap:.7rem}
.path-edge-detail summary span{color:#64748b;font-weight:500}
.path-edge-body{padding:.05rem .55rem .55rem;font-size:.62rem;color:#475569}
.path-edge-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .6rem;margin:.5rem 0 0}
.path-edge-meta div{min-width:0}
.path-edge-meta dt{font-size:.53rem;text-transform:uppercase;color:#94a3b8}
.path-edge-meta dd{margin:0;font-size:.61rem;overflow-wrap:anywhere}
.path-warning{background:#fffbeb;color:#92400e;border-left:3px solid #f59e0b;padding:.42rem .5rem;border-radius:5px;font-size:.61rem;line-height:1.4}
.path-empty{padding:1rem;border:1px dashed #cbd5e1;border-radius:10px;background:#fff;color:#64748b;font-size:.68rem;line-height:1.5}
@media(max-width:900px){
 .pathfinder-controls{grid-template-columns:1fr 1fr}
 .path-swap{display:none}
 .path-options{grid-column:1/-1;display:flex;align-items:end;gap:.5rem}
 .path-options label{margin:0}
 .path-options select{width:100px}
 .path-options .btn{margin-top:0!important}
}
@media(max-width:600px){
 .pathfinder-head{flex-direction:column}
 .pathfinder-controls{grid-template-columns:1fr}
 .path-options{grid-column:auto}
 .path-edge-meta{grid-template-columns:1fr}
}



/* ============================================================
   ODDB Explorer Global Search + Entity-first Workflows v0.7.4
   ============================================================ */
.entity-search-strip{position:relative;z-index:80}
.entity-search-title-row{display:flex;justify-content:space-between;align-items:end;gap:1rem}
.entity-search-results{left:0;right:0;top:100%;max-height:min(68vh,620px);overflow:auto;padding:.35rem;background:#fff;border:1px solid #dbe3ef;border-radius:0 0 12px 12px;box-shadow:0 16px 38px rgba(15,23,42,.16)}
.entity-search-filters{display:flex;gap:.35rem;flex-wrap:wrap}
.entity-search-filter{border:1px solid #dbe3ef;background:#fff;color:#475569;border-radius:999px;padding:.28rem .55rem;font-size:.64rem;font-weight:800}
.entity-search-filter.active{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}
.entity-search-group+.entity-search-group{margin-top:.35rem}
.entity-search-group-title{display:flex;justify-content:space-between;align-items:center;padding:.35rem .45rem;font-size:.6rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-radius:7px}
.entity-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.48rem;border-bottom:1px solid #edf2f7}
.entity-search-result:last-child{border-bottom:0}
.entity-search-result-main{border:0;background:transparent;text-align:left;min-width:0;padding:.1rem}
.entity-search-result-main:hover strong{color:#1d4ed8}
.entity-search-result-main strong{font-size:.76rem;color:#0f172a}
.entity-search-id{font-size:.56rem;color:#94a3b8;margin-top:.12rem;overflow-wrap:anywhere}
.entity-search-actions{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}
.entity-search-actions .btn{font-size:.58rem;white-space:nowrap}
.entity-search-empty{padding:1rem;text-align:center;color:#64748b;font-size:.7rem}
.entity-starter{padding:1rem;background:linear-gradient(180deg,#fbfdff,#fff)}
.entity-starter-copy{max-width:820px}
.entity-starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.entity-starter-grid button{border:1px solid #dbe3ef;background:#fff;border-radius:11px;padding:.65rem;text-align:left;transition:.15s ease}
.entity-starter-grid button:hover{border-color:#60a5fa;background:#f8fbff;transform:translateY(-1px)}
.entity-starter-grid strong{display:block;color:#0f172a;font-size:.72rem}
.entity-starter-grid span{display:block;color:#64748b;font-size:.59rem;line-height:1.35;margin-top:.18rem}
.entity-badge.trial{background:#fff7ed;color:#9a3412}
.entity-badge.report{background:#fdf2f8;color:#9d174d}
@media(max-width:900px){
 .entity-search-title-row{align-items:flex-start;flex-direction:column}
 .entity-starter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .entity-search-result{grid-template-columns:1fr}
 .entity-search-actions{justify-content:flex-start}
}
@media(max-width:560px){
 .entity-starter-grid{grid-template-columns:1fr}
 .entity-search-actions .btn{flex:1 1 auto}
}

