﻿/* Compact by default. Preserve the existing keyed reconciliation and natural page scrolling. */
.console-shell .console-top{padding:12px 20px}
.console-shell .console-main{padding-top:12px}
.console-shell .section-nav{gap:6px;margin-bottom:10px}
.console-shell .section-nav button{padding:9px 14px;min-height:44px}
.console-shell .group-chips{gap:6px;margin-bottom:8px}
.console-shell .group-chips button{padding:8px 12px;min-height:44px}
.console-shell .scope-summary{padding:6px 0;margin:0 0 10px}
.console-shell .scope-summary{display:flex;align-items:center;justify-content:space-between;gap:8px}
.console-shell .scope-summary span{min-width:0;overflow-wrap:anywhere}
.console-shell #moreGroups{flex:none;min-height:44px}
.console-shell .selection-bar{padding:8px 12px;margin-bottom:10px}
.console-shell .device-panel{padding:18px}
.console-shell .device-panel .panel-head{margin-bottom:10px}
.device-view-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.device-view-tools input{flex:1;min-width:130px;max-width:360px}
.device-view-tools select{max-width:140px}
.device-view-tools input,.device-view-tools select{padding:8px;border:1px solid #d5dfe6;border-radius:8px;min-height:42px;font:inherit}
/* Status + version chips: one scope reads as "online on the newest version". */
.device-filter-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;flex:1 1 100%;min-width:0}
.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}
.filter-row .filter-label{flex:none;font-size:12px;color:#6d8196}
.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;min-height:32px;border:1px solid #d7e1ee;border-radius:999px;background:#fff;color:#49657e;font-size:13px;white-space:nowrap}
.filter-chip .filter-count{min-width:18px;padding:1px 5px;border-radius:999px;background:#f0f4f9;color:#6d8196;font-size:11px;text-align:center}
.filter-chip[aria-pressed="true"]{background:#eaf1ff;border-color:#4b76bc;color:#214f8d;box-shadow:inset 0 0 0 1px #4b76bc}
.filter-chip[aria-pressed="true"] .filter-count{background:#dbe6fb;color:#214f8d}
.filter-chip.is-empty{opacity:.55}
.filter-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.filter-chip.reset{background:#f5f7fa;color:#526d7e}
.filter-chip.reset:disabled{opacity:.4;cursor:default}
.filter-note{margin:0 0 8px;font-size:11px;color:#8b98a8}
.console-shell .device-panel:not(.show-previews) .device-grid{display:grid;grid-template-columns:1fr;gap:8px}
.console-shell .device-panel:not(.show-previews) .device-card{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) auto;gap:8px 14px;padding:14px;align-items:center}
.device-panel:not(.show-previews) .device-preview,.device-panel:not(.show-previews) .card-wallpaper,.device-panel:not(.show-previews) .card-class{display:none}
.device-panel:not(.show-previews) .card-heading,.device-panel:not(.show-previews) .card-caption,.device-panel:not(.show-previews) .card-buttons{margin:0}
.device-panel:not(.show-previews) .device-settings{grid-column:1/-1;margin-top:0;border-top:0}
.device-panel:not(.show-previews) .device-settings[open]{border-top:1px solid #d5dfe6;padding-top:10px}
.device-panel:not(.show-previews) .device-settings summary{font-size:12px;color:#63788b}
.device-panel:not(.show-previews) .class-btn,.device-panel:not(.show-previews) .log-btn{display:none}
.device-panel .card-buttons button:disabled{opacity:.45}
.console-shell .device-settings summary,.console-shell .maintenance-tools summary{min-height:44px;padding:12px 0;box-sizing:border-box}
@media(max-width:650px){
 .console-shell .console-top{padding:10px 12px;gap:8px}
 .console-shell .console-main{padding:10px}
 .console-shell .brand small{display:none}
 .console-shell .section-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
 .console-shell .section-nav button{font-size:12px;padding:6px 2px;min-height:44px}
 .console-shell .group-chips{gap:4px}
 .console-shell .group-chips button{padding:6px 9px;min-height:44px;font-size:13px}
 .console-shell .device-panel{padding:12px}
 .console-shell .device-panel:not(.show-previews) .device-card{grid-template-columns:1fr auto;padding:12px;gap:7px}
 .device-panel:not(.show-previews) .card-heading{grid-column:1/-1}
 .device-panel:not(.show-previews) .card-caption{font-size:12px;flex-wrap:wrap}
 .console-shell .device-actions{gap:6px;margin-bottom:12px}
 .console-shell .device-actions .shot-mode{display:none}
 .console-shell .device-actions button{min-height:44px;font-size:13px;padding:8px}
 .console-shell .selection-bar{font-size:13px;gap:6px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
 .console-shell .selection-bar strong{grid-column:auto}
 .console-shell .selection-bar button{padding:8px;min-height:44px}
 .console-shell .group-chips button[data-secondary="true"][aria-pressed="false"]{display:none}
 .console-shell .scope-summary{font-size:12px;line-height:1.6}
 .console-shell .panel-head h2{font-size:20px}
 .device-view-tools{gap:6px;margin-bottom:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;min-width:0}
 .device-view-tools input{min-width:120px;flex:0 0 auto;order:2}
 .device-view-tools>button{font-size:12px;padding:6px;flex:0 0 auto;order:3}
 /* Phones keep one scrollable filter line so the first device card stays on screen. */
 .device-filter-strip{flex:0 0 auto;flex-wrap:nowrap;gap:8px;overflow:visible;order:1}
 .filter-row{flex:0 0 auto;flex-wrap:nowrap}
 .filter-row .filter-label{display:none}
 .filter-chip{min-height:44px;padding:6px 12px}
 .filter-actions{margin-left:0;flex:0 0 auto}
 .filter-chip.reset{margin-left:0}
 .filter-note{display:none}
}
