/* Compact access in play; a searchable vertical grid replaces the horizontal strip. */
body #squadDock{left:12px!important;right:auto;bottom:34px;height:36px;width:auto;max-width:calc(100vw - 24px);padding:0;border:0;background:none;box-shadow:none;display:flex;gap:7px;align-items:center;overflow:visible}
#squadManagerToggle{min-height:34px;padding:7px 11px;background:#172b32f5;border-color:#63786c;font-size:11px;white-space:nowrap}
#squadManagerToggle[aria-expanded="true"]{border-color:#d0d9b5;background:#34483c}
#squadManagerToggle b{margin:0 3px;color:#d6efcb}#squadManagerToggle kbd{font:9px 'Segoe UI',sans-serif;opacity:.7}
#squadSelectionSummary{font-size:10px;color:#d4dfd8;padding:6px;background:#15242cd9;border-radius:4px;white-space:nowrap}
#squadDock>.control-groups{position:static;width:auto;margin:0;display:flex;gap:4px}
#squadDock>.control-groups button{min-width:34px;min-height:28px;padding:4px;font-size:10px;background:#1b2c35ed}
#squadManagerPanel[hidden],#squadManagerEmpty[hidden]{display:none!important}
#squadManagerPanel{position:absolute;bottom:45px;left:0;width:660px;max-width:calc(100vw - 24px);max-height:calc(100vh - 180px);padding:12px;border:1px solid #65796e;border-radius:9px;background:#14242bf8;box-shadow:0 8px 30px #0007;display:flex;flex-direction:column;gap:9px;z-index:12}
.squad-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.squad-manager-heading h2{font-size:11px;margin:0 0 3px;letter-spacing:1px}.squad-manager-heading p{font-size:10px;color:#b4c5be;margin:0}
#squadManagerClose{min-width:30px;min-height:30px;padding:4px;font-size:17px}
.squad-manager-filters{display:grid;grid-template-columns:minmax(150px,1fr) 130px 130px;gap:7px}.squad-manager-filters label{font-size:9px;color:#bdcec4;display:grid;gap:3px}
.squad-manager-filters input,.squad-manager-filters select{width:100%;min-width:0;margin:0;border:1px solid #5b7168;background:#192d32;color:#ecf3ef;min-height:33px;padding:6px 8px;border-radius:5px;font-size:11px}
#squadManagerPanel #groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;overflow-x:hidden;overflow-y:auto;max-height:none;min-height:0;scrollbar-width:auto;align-content:start}
#squadManagerPanel .squad{display:block;min-width:0;width:100%;height:48px;margin:0;padding:6px;flex:initial}
#squadManagerPanel .squad[hidden]{display:none!important}#squadManagerPanel .squad-title b{font-size:10px}
#squadManagerEmpty{font-size:11px;color:#c3d3ca;margin:8px 0}.squad-manager-help{font-size:9px;color:#adbbb4;margin:0;line-height:1.4}
.unit .unit-count{font-size:10px;font-weight:600}.unit .unit-label{display:none}
.unit.selected:not(.label-name-limited) .unit-label,.unit:hover .unit-label,.unit:focus-visible .unit-label{display:block;max-width:164px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.unit.selected:not(.label-name-limited) .unit-count,.unit:hover .unit-count,.unit:focus-visible .unit-count{display:none}
.unit .unit-caption{gap:3px;min-height:20px;padding:1px 3px;border-radius:4px}.unit .unit-caption .role-icon{width:15px;height:15px;flex-basis:15px}
.unit.label-muted .unit-caption{display:none}.unit.label-muted:hover .unit-caption,.unit.label-muted:focus-visible .unit-caption{display:flex}
/* Ownership is separate from faction and unit role. Filled / outlined symbols
   retain the distinction when colour alone is difficult to read. */
.unit.owned{--unit-accent:#a7edba}.unit.allied{--unit-accent:#8fcdf6;border-color:#8fcdf6;background:#203f5a}
.unit.model.allied{border-color:transparent}
.unit.owned .unit-caption{border-color:#a7edba99;background:#173b2fe8}
.unit.allied .unit-caption{border-color:#8fcdf6b3;background:#1d374de8;color:#d7edfc}
.unit.owned:not(.garrison-summary)::after,.unit.allied:not(.garrison-summary)::after{content:'';position:absolute;left:-7px;top:-7px;width:6px;height:6px;pointer-events:none;box-shadow:0 0 2px #06151d;border:1px solid var(--unit-accent)}
.unit.owned:not(.garrison-summary)::after{border-radius:50%;background:var(--unit-accent)}
.unit.allied:not(.garrison-summary)::after{transform:rotate(45deg);background:#172b3e}
.unit.allied.garrison-summary{background:#244963ee!important;border-color:#8fcdf6!important}
.unit.mixed.garrison-summary{background:linear-gradient(90deg,#31554b 50%,#244963 50%)!important;border-color:#c4e9f2!important}
.squad.owned,.garrison-detail.owned{border-left:3px solid #a7edba!important}
.garrison-detail.allied{border-left:3px solid #8fcdf6!important;background:#1c3445!important}
.unit-ownership-legend{font-size:10px;line-height:1.5;color:#c4d5d1}.unit-ownership-legend .mine{color:#a7edba}.unit-ownership-legend .ally{color:#8fcdf6}
.unit .unit-ammo-warning{position:absolute;left:7px;top:-9px;display:grid;place-items:center;width:12px;height:12px;border:1px solid #f4d192;border-radius:3px;background:#51391f;color:#fff1c8;font:bold 10px/1 Arial;pointer-events:none;box-shadow:0 1px 3px #0008}
.unit .unit-ammo-warning[hidden]{display:none!important}
body #contextDock{bottom:82px;max-height:calc(100vh - 183px)}
body #gameHud #productionPanel.at-base{bottom:82px}body #productionPanel.at-base .popover-body{max-height:calc(100vh - 184px)}
body .mapboxgl-ctrl-bottom-left,body .mapboxgl-ctrl-bottom-right{bottom:50px}
@media(max-width:1000px){#squadManagerPanel{width:510px}#squadManagerPanel #groups{grid-template-columns:repeat(3,minmax(0,1fr))}.squad-manager-filters{grid-template-columns:minmax(130px,1fr) 118px 118px}}
@media(max-width:600px){#squadSelectionSummary{display:none}#squadManagerPanel #groups{grid-template-columns:repeat(2,minmax(0,1fr))}.squad-manager-filters{grid-template-columns:1fr 1fr}.squad-manager-filters label:first-child{grid-column:1/-1}#squadManagerPanel{max-height:calc(100vh - 150px)}}
