/* Fixed outer frame; only composition/details lists own a scrollbar. */
.tactical-screen#overlay{padding:64px 8px 4px}
.tactical-screen #panel{height:100%;max-height:100%;width:min(1280px,100%);display:flex;flex-direction:column;overflow:hidden}
.tactical-screen .panel-head{position:static;flex:none;min-height:44px;padding:0 8px}
.tactical-screen .panel-head h1{font-size:16px}
.tactical-screen .panel-head .close{height:44px;width:44px}
.tactical-screen #panelBody{padding:4px;flex:1;min-height:0;overflow:hidden}
.combat-preview-workspace{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:8px;height:100%;min-height:0}
.combat-preview-composition,.combat-preview-inspector{min-height:0;min-width:0;display:flex;flex-direction:column;gap:3px}
.combat-preview-tools{display:flex;align-items:center;justify-content:space-between;flex:none;font-size:11px;min-height:44px}
.combat-preview-tools button{min-height:44px;padding:3px;font-size:10px}
.combat-preview-units{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.combat-preview-unit{display:grid;grid-template-columns:36px minmax(0,1fr) 66px;gap:4px;align-items:center;min-height:48px;margin:0;border-bottom:1px solid #42749155;font-size:11px}
.source-skin .combat-preview-unit>.source-unit-art,.combat-preview-unit>img{width:36px;height:36px}
.combat-preview-unit small{display:block;color:var(--muted);font-size:10px}
.combat-preview-unit input{min-width:0;width:100%;height:44px;padding:3px;font-size:14px}
.combat-preview-slider{flex:none;font-size:10px}
.combat-preview-slider input{display:block;min-height:32px;width:100%;margin:0}
#combatPreviewSummary{flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.combat-preview-outcome{display:flex;justify-content:space-between;align-items:center;gap:4px;min-height:22px;font-size:13px}
.combat-preview-outcome span{font-size:11px}
.combat-preview-metrics{flex:none;font-size:11px;line-height:1.15}
.combat-preview-metrics>div{min-height:21px;display:flex;align-items:center;justify-content:space-between;gap:5px;border-bottom:1px solid #42749133}
.combat-preview-metrics b{white-space:nowrap;font-size:11px}
.combat-preview-details{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;font-size:10px;line-height:1.2}
.combat-preview-details summary{min-height:32px;display:flex;align-items:center;color:#a8d5ee;cursor:pointer}
.combat-preview-details p{margin:4px 0}
#combatPreviewStatus{margin:0;flex:none;min-height:24px;font-size:10px;line-height:1.15;color:var(--muted)}
.combat-preview-actions{display:flex;flex:none;gap:3px}
.combat-preview-actions button{flex:1;min-width:0;min-height:44px;padding:3px;font-size:10px}
.unit-tactics{font-size:10px;line-height:1.15}
.unit-tactics>b{display:block;font-weight:500;color:#93dcff}
.unit-tactics p{margin:3px 0}
.unit-tactics small{font-size:9px;color:var(--muted)}
@media(min-height:451px){.tactical-screen#overlay{padding-top:100px}.combat-preview-metrics>div{min-height:36px}.combat-preview-metrics,.combat-preview-metrics b{font-size:14px}.combat-preview-outcome{min-height:36px;font-size:20px}.combat-preview-unit{min-height:64px;font-size:14px}.combat-preview-details{font-size:13px}.unit-tactics{font-size:13px;line-height:1.3}.combat-preview-actions button{font-size:13px}}
/* Match the science workspace: dialog title shares the HUD row, leaving the
   full landscape height to the unit inspector and the forecast. */
:is(.production-screen,.tactical-screen) .panel-head{height:0;min-height:0;flex:none;padding:0;border:0;background:none;position:static}
:is(.production-screen,.tactical-screen) #panelTitle{position:fixed;top:20px;left:62px;font-size:14px;width:125px;line-height:1.2;letter-spacing:0}
:is(.production-screen,.tactical-screen) .close{position:fixed;top:10px;left:8px;width:44px;height:44px}
#gameSurface:has(#overlay:is(.production-screen,.tactical-screen):not([hidden])) #app :is(.commander,.map-button){visibility:hidden}
.production-screen .client-production-layout{height:calc(100% - 2px)}
@media(min-height:451px){:is(.production-screen,.tactical-screen) #panelTitle{top:30px;left:76px;font-size:17px}:is(.production-screen,.tactical-screen) .close{top:20px;left:20px}}
@media(max-height:450px){
 .production-screen .client-unit-stats small{line-height:1.1}
 .production-screen .client-unit-stats b{line-height:1.1;margin-top:1px}
 .production-screen .client-unit-information{padding:3px}
 .production-screen .client-unit-information:has(.unit-tactics){overflow:hidden}
}
