/* Native portal extension: infrastructure map, useful observations and log tools. */
.monitor-overview { flex-wrap:wrap; }
.monitor-overview > div:first-child { flex:1 1 380px; }
.infra-fabric { border:1px solid #36556b; border-left:3px solid #5fc6de; background:linear-gradient(110deg,#142739,#16222e 68%); padding:24px; margin:0 0 22px; display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr); gap:28px; align-items:center; }
.fabric-intro h2 { font-size:24px; line-height:1.2; max-width:270px; margin:12px 0; letter-spacing:-.6px; }
.fabric-intro p { color:var(--muted); font-size:12px; line-height:1.7; max-width:290px; }
.fabric-map { display:grid; grid-template-columns:1fr minmax(130px,.9fr) 1fr; gap:14px; align-items:center; }
.fabric-host.btn { display:flex; flex-direction:column; align-items:flex-start; white-space:normal; text-align:left; padding:19px 16px; background:#1c3245; border-color:#3c596e; min-width:0; gap:12px; }
.fabric-host.btn:hover { border-color:#68d6e8; background:#234257; }
.fabric-host strong { font:600 25px 'JetBrains Mono',monospace; color:#eaf8ff; }
.fabric-host > span:last-child { color:#b4c9d7; font-size:11px; line-height:1.7; }
.fabric-number { color:#8dc4d5; font:10px 'JetBrains Mono',monospace; letter-spacing:.7px; }
.fabric-link { display:flex; flex-direction:column; gap:9px; text-align:center; position:relative; padding:18px 0; border-top:1px dashed #456b7c; border-bottom:1px dashed #456b7c; }
.fabric-link strong { font-size:11px; color:var(--muted); }
.fabric-link[data-state=ok] strong { color:var(--emerald); }
.fabric-link[data-state=error] strong { color:var(--rose); }
.fabric-link small { color:var(--dim); font-size:10px; line-height:1.5; }
.workspace-focus-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:4px; }
.workspace-focus-grid > .glass { min-width:0; }
.attention-ok { color:var(--emerald); font-size:13px; }
.attention-list { display:grid; gap:9px; }
.attention-item.btn { justify-content:space-between; white-space:normal; text-align:left; color:var(--amber); line-height:1.6; }
.activity-list { list-style:none; padding:0; margin:0; }
.activity-list li { display:flex; gap:14px; font-size:12px; padding:9px 0; border-bottom:1px solid var(--border); }
.activity-list time { color:var(--dim); font-family:'JetBrains Mono',monospace; flex-shrink:0; }
.activity-list .activity-empty { color:var(--muted); border:0; }
.monitor-bottom select { margin-bottom:12px; max-width:100%; }
[hidden] { display:none !important; }
.palette-empty { padding:14px; color:var(--muted); font-size:13px; line-height:1.6; }
.pal-item.is-selected { background:#25475c !important; color:#e8faff !important; outline:1px solid #537b91; }
.log-filters { align-items:center; margin-top:16px; }
.log-filters input[type=search] { flex:1 1 220px; min-width:150px; }
.log-follow { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); cursor:pointer; }
.log-follow input { width:16px; height:16px; accent-color:#58c5dc; }
.log-output { height:440px; padding:16px; overflow:auto; font:11px/1.8 'JetBrains Mono',monospace; margin-top:14px; tab-size:2; }
.disk-path { display:block; font-family:'JetBrains Mono',monospace; white-space:nowrap; }
.session-identity { font-size:11px; color:var(--muted); max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(min-width:1400px) { .infra-fabric { padding:28px; } }
@media(max-width:1199px) { .infra-fabric { grid-template-columns:1fr; gap:20px; } .fabric-intro h2,.fabric-intro p { max-width:none; } }
@media(max-width:767px) {
  .monitor-overview > div:first-child { flex:0 1 auto; }
  .infra-fabric { padding:18px 14px; }
  .fabric-map { grid-template-columns:1fr 1fr; gap:12px; }
  .fabric-link { grid-column:1/-1; grid-row:2; flex-flow:row wrap; justify-content:center; align-items:center; padding:12px; }
  .fabric-link small { flex-basis:100%; }
  .fabric-host.btn { padding:14px 12px; }
  .workspace-focus-grid { grid-template-columns:1fr; gap:0; }
  .session-identity { display:none; }
  .monitor-overview > .btn { flex:1 1 auto; }
  .log-filters > select { flex:1; }
}
