/* One shared title-bar size. Content and controls never add another row. */
html[data-grid-theme] #grid-cockpit .panel{border-color:var(--line);border-radius:5px;box-shadow:none}
html[data-grid-theme] #grid-cockpit :is(#pulsix-panel,.panel)>.panel-header{height:25.2px;min-height:25.2px;max-height:25.2px;flex-shrink:0;padding:2px 7px;gap:5px;flex-wrap:nowrap;align-items:center;background:var(--panel-soft);background-image:none;border-bottom:1px solid var(--line-soft);font:700 11px/1.4 Consolas,"Lucida Console","Courier New",monospace;color:var(--text)}
html[data-grid-theme] #grid-cockpit .panel>.panel-header :is(h2,small,strong,b,a,span,time,button){color:var(--text)!important;font-family:inherit}
html[data-grid-theme] #grid-cockpit .panel>.panel-header h2{font:inherit;letter-spacing:0;margin:0}
html[data-grid-theme] #grid-cockpit .panel>.panel-header h2{font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html[data-grid-theme] #grid-cockpit .panel-header .window-controls{flex:none;gap:2px;margin:0}
html[data-grid-theme] #grid-cockpit .panel-header .window-controls button{width:22px;height:18.9px;min-height:18.9px;line-height:1;padding:0}
html[data-grid-theme] #grid-cockpit .panel-header .server-group-title{height:18.9px;padding:0;min-height:0}
/* Identity lives on the title bar; the body contains only the avatar strip. */
html[data-grid-theme] #grid-cockpit :is(#login-panel,#network-panel)>.panel-header{display:flex;align-items:center}
html[data-grid-theme] #grid-cockpit #login-panel .identity-title-content{flex:1;display:flex;align-items:center;gap:5px;min-width:0}
html[data-grid-theme] #grid-cockpit :is(#login-panel,#network-panel)>.panel-header>.window-controls{margin-left:auto;align-self:center}
#grid-cockpit #login-panel>.panel-header h2{flex:none}
#login-panel .identity-header-name{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 11px/1.4 Consolas,"Lucida Console","Courier New",monospace;color:var(--text)}
#login-panel .identity-header-account{flex:none;font:600 8px/1.4 system-ui,sans-serif;color:var(--cyan);padding:1px 4px;border:1px solid var(--ui-line);border-radius:3px;white-space:nowrap}
#grid-cockpit #login-panel>.identity-body{padding:5px 7px!important;min-height:0}
#grid-cockpit #login-panel>.identity-body:not(:has(.identity-avatars li:not([hidden]))){display:none}
#grid-cockpit #login-panel .identity-avatars{display:flex;flex-wrap:wrap;gap:5px;list-style:none;padding:0;margin:0}
#grid-cockpit #login-panel .identity-avatars li{display:block;min-width:0;max-width:none;padding:0;border:0;background:transparent}
#grid-cockpit #login-panel .identity-member-avatar{display:grid;place-items:center;width:22px;height:22px;min-width:22px;border:1px solid var(--ui-line);border-radius:50%;background:var(--panel-soft);font-size:14px;color:var(--pink);overflow:hidden}
#grid-cockpit #login-panel .identity-member-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
/* Activity filters remain on the same title row at every width. */
html[data-grid-theme] #grid-cockpit #activity-panel>.panel-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center}
#grid-cockpit #activity-panel .activity-filters{grid-column:2;grid-row:1;justify-self:center;display:flex;flex-wrap:nowrap;gap:3px;margin:0;max-width:100%}
#grid-cockpit #activity-panel .activity-status{grid-column:3;grid-row:1;gap:4px;white-space:nowrap}
#grid-cockpit #activity-panel .activity-filters button{height:18.9px;min-height:18.9px;padding:1px 4px;font-size:8px;line-height:1}
#activity-panel .activity-filter-short{display:none}
/* Remove exactly one normal single-line event's vertical space (29.5 px). */
#activity-panel:not(.is-maximized) #activity-log{height:calc(clamp(210px,36vh,390px) - 29.5px)}
@media(min-width:1101px){#activity-panel:not(.is-maximized) #activity-log{height:calc(clamp(210px,33vh,350px) - 29.5px)}}
@container(max-width:600px){
 #grid-cockpit #activity-panel>.panel-header{grid-template-columns:minmax(0,1fr) auto auto}
 #activity-panel .activity-filter-name{display:none}
 #activity-panel .activity-filter-short{display:inline}
 #grid-cockpit #activity-panel .activity-filters{gap:2px}
 #grid-cockpit #activity-panel .activity-filters button{font-size:7px;padding-inline:3px}
 #grid-cockpit #activity-panel .activity-status time{display:none}
 #grid-cockpit #activity-panel #activity-live{font-size:7px}
}
@media(max-width:380px){#login-panel .identity-header-name{font-size:10px}}
/* Future keeps the shared dimensions until a dedicated palette is supplied. */

html[data-grid-theme] #grid-cockpit .panel-header .server-group-title:has(>small){display:flex;flex-wrap:nowrap;align-items:center;gap:4px}
html[data-grid-theme] #grid-cockpit .panel-header .server-group-title>small{overflow:hidden;text-overflow:ellipsis;min-width:0}

/* Internal Network bars share the title-bar palette and vertical size. */
#grid-cockpit #network-panel :is(.network-static-bar,.network-services summary){height:25.2px;min-height:25.2px;padding-block:2px;align-items:center;background:var(--panel-soft);font-family:Consolas,"Lucida Console","Courier New",monospace}
#grid-cockpit #network-panel :is(.network-static-bar,.network-services summary) :is(a,strong,b,span){color:var(--text)!important;font-family:inherit}
#grid-cockpit #network-panel :is(#network-vpn,.network-agent-row,.network-services>details){border-color:var(--line);border-radius:5px}
#grid-cockpit #network-panel .network-agent-actions{top:3px;gap:3px}
#grid-cockpit #network-panel .network-agent-actions :is(#runic-refresh,.tray-download){width:22px;height:18.9px;min-height:18.9px;font-size:10px}

/* Center the account identity and keep a visible Discord/avatar strip. */
html[data-grid-theme] #grid-cockpit #login-panel:not(.is-minimized):not(.is-maximized){min-height:75px;max-height:var(--identity-height-cap,230px)}
html[data-grid-theme] #grid-cockpit #login-panel>.panel-header{display:grid;grid-template-columns:minmax(max-content,1fr) minmax(0,auto) minmax(70px,1fr);gap:4px}
html[data-grid-theme] #grid-cockpit #login-panel .identity-title-content{display:contents}
html[data-grid-theme] #grid-cockpit #login-panel .identity-title-content>h2{grid-column:1;justify-self:start}
html[data-grid-theme] #grid-cockpit #login-panel .identity-account-center{grid-column:2;display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}
html[data-grid-theme] #grid-cockpit #login-panel .identity-header-name{min-width:0;max-width:150px;flex:0 1 auto}
html[data-grid-theme] #grid-cockpit #login-panel>.panel-header>.window-controls{grid-column:3;justify-self:end;margin:0}
html[data-grid-theme] #grid-cockpit #login-panel:not(.is-minimized)>.identity-body{display:flex !important;align-items:center;gap:9px;flex:1;min-height:0;padding:6px 8px !important;border-top:1px solid color-mix(in srgb,var(--cyan) 65%,transparent)}
html[data-grid-theme] #grid-cockpit #login-panel.is-minimized>.identity-body{display:none !important}
#grid-cockpit #login-panel .identity-discord-link{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;color:#a9adff;background:#5865f222;border:1px solid #5865f266;border-radius:8px;font-size:20px}
#grid-cockpit #login-panel .identity-discord-link:hover{color:#fff;background:#5865f244;border-color:#8c96ff}
#grid-cockpit #login-panel .identity-avatars{flex:1;min-width:0;align-items:center;gap:7px}
#grid-cockpit #login-panel .identity-member-avatar{width:30px;height:30px;min-width:30px;font-size:16px;background:linear-gradient(145deg,#5865f23a,#1a2236);color:#aab5d6;border-color:#5865f255}
#grid-cockpit #login-panel .identity-member-avatar.is-placeholder{background:linear-gradient(145deg,#5865f244,#1a2236)}
#grid-cockpit #login-panel .identity-member-avatar img[hidden],#grid-cockpit #login-panel .identity-member-avatar .identity-avatar-placeholder[hidden]{display:none !important}
#grid-cockpit #login-panel .identity-member-avatar .identity-avatar-placeholder{display:grid;place-items:center;width:100%;height:100%}
@media(max-width:380px){html[data-grid-theme] #grid-cockpit #login-panel .identity-header-name{max-width:85px;font-size:10px}#grid-cockpit #login-panel .identity-avatars{gap:5px}}

/* Compact Identity footer without hiding page overflow. */
html[data-grid-theme] #grid-cockpit #login-panel:not(.is-minimized):not(.is-maximized){min-height:52px}
html[data-grid-theme] #grid-cockpit #login-panel:not(.is-minimized)>.identity-body{padding:3px 6px!important;gap:6px;flex:0 1 auto}
#grid-cockpit #login-panel .identity-discord-link{width:20px;height:20px;flex-basis:20px;font-size:14px;border-radius:5px}
#grid-cockpit #login-panel .identity-member-avatar{width:20px;height:20px;min-width:20px;font-size:11px}
#grid-cockpit #login-panel .identity-avatars{gap:4px}

/* One 35 px row: 75% larger than the previous 20 px profile icons. */
html[data-grid-theme] #grid-cockpit #login-panel:not(.is-minimized):not(.is-maximized){height:auto;min-height:0;max-height:none}
html[data-grid-theme] #grid-cockpit #login-panel:not(.is-minimized)>.identity-body{display:flex!important;flex-direction:row;align-items:center;gap:0;padding:0!important;overflow:hidden;flex:none}
#grid-cockpit #login-panel .identity-profile-row{display:flex;align-items:center;gap:6px;width:100%;min-width:0;min-height:45px;padding:5px 6px}
#grid-cockpit #login-panel .identity-discord-link{width:35px;height:35px;flex-basis:35px;font-size:24.5px;border-radius:7px}
#grid-cockpit #login-panel .identity-profile-row .identity-avatars{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;height:35px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
#grid-cockpit #login-panel .identity-avatars::-webkit-scrollbar{display:none}
#grid-cockpit #login-panel .identity-avatars li{flex:0 0 35px}
#grid-cockpit #login-panel .identity-avatars li[hidden]{display:none!important}
#grid-cockpit #login-panel .identity-member-avatar{width:35px;height:35px;min-width:35px;font-size:19.25px}
#grid-cockpit #login-panel .identity-member-avatar.is-empty-slot,#grid-cockpit #login-panel .identity-member-avatar.is-placeholder{opacity:1;border:1px solid #41464f;background:#24272e;color:#777e88}

/* A green ring marks a real online account; reserved empty slots stay neutral. */
#grid-cockpit #login-panel .identity-member-avatar.is-online{border-color:var(--green,#52d6a1);box-shadow:0 0 4px var(--green,#52d6a1);color:var(--text);font-size:16px;font-weight:700}

/* Keep the overflow count visible at the row's end, independently of avatar scrolling. */
#grid-cockpit #login-panel .identity-more{display:grid;place-items:center;flex:0 0 auto;min-width:35px;height:35px;padding:0 5px;border:1px solid var(--ui-line);border-radius:50%;background:var(--panel-soft);color:var(--cyan);font-size:13px;font-weight:700;white-space:nowrap}
#grid-cockpit #login-panel .identity-more[hidden]{display:none!important}

/* Reserve a second avatar row. Keep every occupied and empty slot at 35 px. */
#grid-cockpit #login-panel .identity-profile-row{align-items:flex-start;min-height:85px}
#grid-cockpit #login-panel .identity-profile-row .identity-avatars{display:grid;flex:1 1 355px;grid-template-columns:repeat(auto-fill,35px);grid-auto-rows:35px;align-content:start;gap:5px;max-width:355px;height:auto;overflow:visible}
#grid-cockpit #login-panel .identity-avatars li{width:35px;height:35px;flex:none}
#grid-cockpit #login-panel .identity-more{align-self:flex-start}

/* Ten evenly spaced avatars per row replace the Discord shortcut in IDENTITY. */
#grid-cockpit #login-panel .identity-profile-row{gap:0;padding-inline:8px}
#grid-cockpit #login-panel .identity-profile-row .identity-avatars{flex:1 1 auto;width:100%;max-width:none;grid-template-columns:repeat(auto-fill,35px);justify-content:space-between}
