/* Preview v2: focused workspaces, Phosphor Duotone, compact infrastructure view. */
.phosphor{fill:currentColor!important;stroke:none!important;flex-shrink:0}.workspace-inactive{display:none!important}.workspace-tabs{display:flex;gap:6px;padding:6px;background:var(--surface-quiet);border:1px solid var(--line);border-radius:16px;margin-bottom:20px;overflow-x:auto}.workspace-tabs button{white-space:nowrap;border:0!important;background:transparent!important;min-height:40px!important;padding:9px 16px!important}.workspace-tabs button.active{background:var(--surface)!important;box-shadow:0 3px 12px #17233b12;color:var(--blue)!important}.workspace-modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.workspace-dialog{width:min(760px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:26px!important;border-radius:24px!important}.workspace-dialog::backdrop{background:#0b142d80;backdrop-filter:blur(8px)}.workspace-dialog form{max-width:100%}.network-health-summary{font-size:13px;color:var(--muted);padding:12px 0}.network-view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 20px}.network-view-toolbar input{max-width:320px;min-width:0}.view-switch{margin:0;flex-shrink:0}.network-table-head,.network[data-view=list] .network-card{grid-template-columns:minmax(160px,1.5fr) 86px 110px 85px 75px 105px 170px}.network-table-head{display:grid;gap:12px;padding:10px 16px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}#network[data-view=list] #networkList{display:flex;flex-direction:column;gap:8px}#network[data-view=list] .network-card{display:grid;grid-template-columns:minmax(140px,1.5fr) 86px 110px 85px 75px 105px 170px;gap:12px;align-items:center;padding:16px;overflow:visible!important}#network .network-card>header{display:contents}#network .server-identity{display:grid;grid-template-columns:30px 1fr;gap:2px 10px;cursor:pointer;align-items:center;min-width:0}#network .server-identity>svg{grid-row:span 2;color:var(--blue)}#network .server-identity h4{margin:0;font-size:14px}#network .server-identity p{margin:0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#network[data-view=list] .network-row-stats{display:contents}.network-row-stats{font-size:12px;color:var(--muted)}#network .network-state{font-size:11px;justify-self:start}#network .network-actions{margin:0;padding:0;border:0;overflow:visible!important}#network .network-log{display:none!important}#network .network-card.selected{border-color:var(--blue)!important;background:color-mix(in srgb,var(--blue) 5%,var(--surface))!important}.server-health span{display:flex;gap:5px;align-items:center;color:var(--ink);font-size:12px}.server-health small{font-size:9px;color:var(--muted)}.health-dot{height:6px;width:6px;border-radius:50%;background:#21b485}.health-track{height:4px;border-radius:3px;background:#21b48520;margin-top:6px;overflow:hidden}.health-track i{display:block;background:#21b485;height:100%;border-radius:3px}.action-group{display:flex;position:relative;gap:0;isolation:isolate}.action-group>button{padding:8px 10px!important;font-size:11px!important;min-height:36px!important;white-space:nowrap;border:1px solid var(--line)!important;border-radius:0!important;background:var(--surface)!important}.action-group>button:first-child{border-radius:10px 0 0 10px!important}.action-group>button:nth-child(2){border-radius:0 10px 10px 0!important}.action-group>button:only-of-type{border-radius:10px!important}.action-group svg{width:15px;height:15px}.action-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:50;min-width:200px;padding:6px;background:var(--surface)!important;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #101d3830;backdrop-filter:blur(32px)}.action-menu[hidden]{display:none!important}.action-menu button{display:flex;width:100%;justify-content:flex-start!important;background:transparent!important;border:0!important;border-radius:8px!important;padding:11px!important}.action-menu button:hover{background:var(--surface-quiet)!important}.network-card:has(.action-menu:not([hidden])){z-index:30}.network-focus-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;margin-top:20px}.network-focus-grid .panel{margin:0}.focus-metrics{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.focus-metrics small,.focus-metrics strong{display:block}.focus-metrics small{font-size:11px;color:var(--muted);margin-bottom:7px}.focus-metrics strong{font-size:17px}.workspace-console,#consoleLog{background:#101827!important;color:#b9c8df!important;border-radius:14px!important;padding:18px!important;font-family:ui-monospace,monospace!important;font-size:11px!important;line-height:1.9;max-height:330px;overflow:auto!important;white-space:pre!important}.console-line{display:block;min-height:1.9em}.log-info{color:#80cbb8}.log-warn{color:#f4c36c!important}.log-error{color:#ff899e!important}.log-debug{color:#97a5bd!important}#network[data-view=cards] .network-table-head{display:none}#network[data-view=cards] #networkList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#network[data-view=cards] .network-card{display:flex;flex-direction:column;gap:18px;overflow:visible!important}#network[data-view=cards] .network-card>header{display:block;width:100%}#network[data-view=cards] .network-row-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}#network[data-view=cards] .network-state{align-self:flex-start}#network[data-view=cards] .network-actions{width:100%}.network-card[hidden]{display:none!important}.detail-overview{padding:20px 0;line-height:1.9}.network-panel-actions{flex-wrap:wrap!important}
@media(max-width:1400px){#network[data-view=list] .network-card{grid-template-columns:minmax(140px,1.5fr) 76px 85px 70px 60px 86px 155px;gap:8px}.network-table-head{grid-template-columns:minmax(140px,1.5fr) 76px 85px 70px 60px 86px 155px;gap:8px}.network-panel-actions{gap:8px}}
@media(max-width:1200px){#network[data-view=list] .network-card{grid-template-columns:minmax(160px,1fr) 85px 155px}.network-table-head{display:none}#network[data-view=list] .network-row-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-column:1/-1;grid-row:2;gap:12px}#network[data-view=list] .network-actions{grid-column:3;grid-row:1}.network-focus-grid{grid-template-columns:1fr}#network[data-view=cards] #networkList{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.workspace-tabs button{padding:8px 12px!important;font-size:12px}.network-view-toolbar{align-items:stretch;flex-direction:column}.network-view-toolbar input{max-width:none}.view-switch{align-self:flex-start}#network[data-view=list] .network-card{grid-template-columns:minmax(0,1fr) auto;gap:14px}#network[data-view=list] .network-actions{grid-column:1/-1;grid-row:3}#network[data-view=list] .network-row-stats{grid-template-columns:1fr 1fr}#network[data-view=cards] #networkList{grid-template-columns:1fr}.network-focus-grid{gap:12px}.workspace-dialog{padding:18px!important}.workspace-modal-head{align-items:flex-start}.network-panel-actions{justify-content:flex-start!important}.network-panel-actions>button{font-size:11px!important}.server-identity p{max-width:165px}.network-health-summary{line-height:1.8}.workspace-console{max-height:250px}.workspace-modal-head h3{font-size:18px}}
#network .network-card{min-height:0!important;height:auto!important}#network[data-view=list] .network-card{min-height:76px!important}.network-panel-actions svg{width:16px;height:16px}.network-focus-grid .panel{min-height:0!important}
.console-line{display:inline;min-height:0}
#network[data-view=list] .network-card{grid-template-rows:none!important;grid-auto-rows:auto!important}#network .network-state{margin-left:0}#network .network-actions button{width:auto;white-space:nowrap;overflow-wrap:normal}#network .action-menu button{width:100%}.log-info{color:#80cbb8!important}#consoleLog .log-info{color:#80cbb8!important}
/* v3: put action dropdowns in the browser top layer, above all glass stacking contexts. */
.action-menu[popover]{position:fixed!important;inset:auto!important;margin:0!important;background:var(--surface-3)!important;color:var(--ink);max-width:calc(100vw - 24px);overflow:auto;box-sizing:border-box;z-index:1000;box-shadow:0 12px 36px #111e3b30;backdrop-filter:blur(28px)}
.action-menu[popover]:popover-open{display:block!important;left:var(--menu-left,auto);top:var(--menu-top,auto)}
.action-menu[popover]::backdrop{background:transparent;pointer-events:none}
#network .action-group>button{min-height:40px!important;font-size:12px!important;padding:10px 12px!important}
#network .action-menu button{min-height:42px!important;gap:10px;font-size:13px!important;white-space:nowrap;display:flex!important;align-items:center}
#network .action-menu button svg{width:18px;height:18px;flex:none}
/* Entity controls have consistent hit areas; buttons no longer inherit crowded inline layouts. */
#bots .bot-list,#npcs .npc-list{align-items:start}
#bots .bot-actions,#npcs .npc-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:16px;border-top:1px solid var(--line);margin-top:16px}
:is(.bot-card,.npc-card) button,.workspace-dialog:has(#botCreateForm,#npcCreateForm) button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:42px!important;padding:10px 14px!important;line-height:1.25!important;white-space:normal;text-align:center;max-width:100%;border-radius:11px!important}
:is(.bot-card,.npc-card) button svg,.workspace-dialog:has(#botCreateForm,#npcCreateForm) button svg{width:18px;height:18px;flex:0 0 18px}
:is(.bot-card,.npc-card) .text-btn{background:var(--surface-quiet)!important;border:1px solid var(--line)!important}
#bots .bot-remove,#npcs .npc-remove{margin-left:0;color:var(--danger)!important}
#bots .bot-actions>button{flex:1 1 85px}
#bots .bot-skin{gap:10px}#bots .bot-skin button{justify-self:start}
#npcs .npc-edit{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
#npcs .npc-edit label:first-child,#npcs .npc-edit label:nth-child(2){grid-column:1/-1}
#npcs .npc-edit .npc-check{grid-column:1/-1}
#npcs .npc-edit>button{grid-column:1/-1;justify-self:start}
#npcs .npc-skin{display:flex;flex-wrap:wrap;align-items:end;gap:10px}#npcs .npc-skin label{flex:1 1 160px;min-width:0}#npcs .npc-skin button{flex:0 0 auto}
#npcs .npc-actions>button{flex:1 1 105px}
.workspace-dialog #npcCreateForm{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.workspace-dialog #npcCreateForm label:first-child,.workspace-dialog #npcCreateForm label:nth-child(2),.workspace-dialog #npcCreateForm label:nth-child(6),.workspace-dialog #npcCreateForm label:nth-child(7){grid-column:1/-1}
.workspace-dialog #npcCreateForm>button{grid-column:1/-1;justify-self:end}
.workspace-dialog #botCreateForm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}
@media(max-width:650px){#network .action-group>button{font-size:12px!important}#bots .bot-actions>button{flex:1 1 100px}#npcs .npc-skin{flex-direction:column;align-items:stretch}#npcs .npc-skin label{flex:auto}#npcs .npc-skin button{align-self:stretch}.workspace-dialog #botCreateForm{grid-template-columns:1fr}.workspace-dialog #npcCreateForm>button{justify-self:stretch}#bots .panel>button,#npcs .panel>button{min-height:44px;display:inline-flex;align-items:center;gap:8px}}
#network .action-menu button.primary{color:var(--ink)!important;background:transparent!important;box-shadow:none!important}
#network .action-menu button{box-shadow:none!important;border:0!important}
#network .action-menu button:disabled{opacity:.5!important}
