/* Separate building operations workspace. The city overview intentionally keeps its previous layout. */
.ref-buildings-page .ref-workspace-main {
  min-height: 0;
  grid-template-rows: auto 46px minmax(0, 1fr);
  gap: 8px;
}
.buildings-command-summary {
  display: grid;
  grid-template-columns: minmax(260px, .78fr) minmax(560px, 1.22fr);
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(105,184,239,.2);
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(9,29,47,.96), rgba(5,15,27,.96));
  box-shadow: var(--inner-glow);
}
.buildings-command-summary h1 { margin: 3px 0 4px; font-size: clamp(26px, 2.3vw, 38px); }
.buildings-command-summary p { margin: 0; color: #8fa5b8; font-size: 11px; }
.buildings-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(90px, 1fr)); gap: 7px; }
.buildings-summary-grid article { min-width: 0; padding: 9px 10px; border: 1px solid rgba(105,184,239,.14); border-radius: 9px; background: rgba(7,20,34,.82); }
.buildings-summary-grid span,.buildings-summary-grid strong { display:block; }
.buildings-summary-grid span { color:#7893aa; font-size:8px; text-transform:uppercase; letter-spacing:.07em; }
.buildings-summary-grid strong { margin-top:4px; font-size:14px; }
.ref-buildings-resource-bar { margin:0; padding:0; grid-template-columns:repeat(8,minmax(76px,1fr)); align-items:stretch; }
.ref-buildings-resource-bar .ref-resource-chip { min-height:46px; padding:5px 7px; }
.city-building-overview { min-height:0; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; overflow:hidden; padding:9px 10px 7px; border:1px solid rgba(105,184,239,.2); border-radius:13px; background:linear-gradient(180deg,rgba(6,17,30,.96),rgba(4,12,22,.97)); box-shadow:var(--inner-glow); }
.city-building-overview-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:0 2px 8px; }
.city-building-overview-head h2 { margin:2px 0 2px; font-size:17px; }
.city-building-overview-head p { margin:0; max-width:780px; color:#7f96aa; font-size:9px; line-height:1.35; }
.city-building-table-head,.city-building-row { display:grid; grid-template-columns:minmax(210px,1.2fr) minmax(115px,.8fr) minmax(115px,.8fr) 82px 92px 86px; gap:7px; align-items:center; }
.city-building-table-head { padding:0 8px 5px; color:#6f8da6; font-size:8px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.city-building-table { min-height:0; display:grid; grid-template-rows:repeat(5,minmax(54px,1fr)); gap:5px; overflow:hidden; outline:0; }
.city-building-table:focus-visible { box-shadow:0 0 0 2px rgba(94,203,255,.28); border-radius:9px; }
.city-building-row { min-height:54px; padding:5px 7px; border:1px solid rgba(105,184,239,.11); border-radius:9px; background:rgba(10,24,40,.68); transition:border-color var(--fast),background var(--fast); }
.city-building-row:hover { border-color:rgba(94,203,255,.34); background:rgba(12,31,50,.82); }
.city-building-row.selected { border-color:rgba(244,189,88,.58); box-shadow:inset 3px 0 0 var(--amber); background:linear-gradient(90deg,rgba(54,41,17,.42),rgba(10,24,40,.76)); }
.city-building-row.inactive { opacity:.72; }
.city-building-identity { min-width:0; display:grid; grid-template-columns:62px minmax(0,1fr); gap:8px; align-items:center; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.city-building-thumb { width:62px; height:42px; overflow:hidden; border:1px solid rgba(105,184,239,.15); border-radius:7px; background:#06101c; }
.city-building-thumb picture,.city-building-thumb img { width:100%; height:100%; display:block; object-fit:cover; }
.city-building-identity strong,.city-building-identity small { display:block; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.city-building-identity strong { font-size:11px; }
.city-building-identity small { margin-top:3px; color:#8096aa; font-size:8px; }
.city-building-rates { min-width:0; display:grid; gap:1px; }
.city-building-rates>small,.city-building-condition>small,.city-building-operation>small { display:none; }
.city-building-rates>span { min-width:0; color:#b4c6d5; font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.city-building-rates>span b { color:#7997ae; font-weight:650; }
.city-building-rates.output>span { color:#66dba8; }
.city-building-rates.input>span { color:#e8bc72; }
.city-rate-empty { color:#5f7588!important; }
.city-building-condition { min-width:0; }
.city-building-condition strong { display:block; font-size:12px; }
.city-building-condition i { display:block; height:4px; margin-top:4px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.07); }
.city-building-condition i b { display:block; height:100%; background:linear-gradient(90deg,var(--red),var(--amber) 45%,var(--green)); }
.city-building-operation select { width:100%; height:30px; padding:0 6px; border:1px solid rgba(94,203,255,.2); border-radius:7px; background:#081522; color:#e7f3fc; font-size:9px; }
.city-building-row-actions .ref-secondary-button { width:100%; min-height:30px; padding:4px 7px; font-size:8px; }
.city-building-overview-footer { display:flex; justify-content:space-between; gap:12px; padding:5px 2px 0; color:#70889d; font-size:8px; }
.city-building-overview-footer span { color:#a8becf; font-weight:700; }
.module-buildings .ref-building-inspector { min-height:0; overflow-y:auto; scrollbar-width:thin; }
@media (min-width:1101px) {
  .module-buildings .ref-content-scroll { overflow:hidden; }
  .ref-buildings-page,.ref-buildings-page .ref-workspace-grid { height:calc(100dvh - 84px); min-height:0; }
  .module-buildings .ref-building-inspector { max-height:calc(100dvh - 84px); }
}
@media(max-width:1500px) and (min-width:1101px){
  .buildings-command-summary{grid-template-columns:minmax(240px,.7fr) minmax(500px,1.3fr)}
  .city-building-table-head,.city-building-row{grid-template-columns:minmax(175px,1.15fr) minmax(92px,.8fr) minmax(92px,.8fr) 72px 82px 76px;gap:5px}
  .city-building-thumb{width:52px;height:38px}.city-building-identity{grid-template-columns:52px minmax(0,1fr)}
  .city-building-overview-head p{max-width:560px}
}
@media(max-width:1250px) and (min-width:1101px){
  .buildings-command-summary{grid-template-columns:1fr}.buildings-summary-grid{grid-template-columns:repeat(5,1fr)}
  .city-building-table-head,.city-building-row{grid-template-columns:minmax(155px,1fr) minmax(82px,.7fr) minmax(82px,.7fr) 64px 76px 70px}
  .city-building-thumb{display:none}.city-building-identity{grid-template-columns:1fr}
  .city-building-rates>span:nth-of-type(n+3){display:none}.city-building-overview-head p{display:none}
}
@media(max-width:1100px){
  .module-buildings .ref-content-scroll{overflow-y:auto}.ref-buildings-page .ref-workspace-main{grid-template-rows:auto auto auto}
  .buildings-command-summary{grid-template-columns:1fr}.buildings-summary-grid{grid-template-columns:repeat(3,1fr)}
  .ref-buildings-resource-bar{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:8px}
  .city-building-table-head{display:none}.city-building-table{grid-template-rows:none;overflow:visible}
  .city-building-row{grid-template-columns:minmax(210px,1fr) minmax(100px,.7fr) minmax(100px,.7fr) 78px 90px 86px}.city-building-overview{overflow:visible}
}
@media(max-width:760px){
  .buildings-summary-grid{grid-template-columns:repeat(2,1fr)}.city-building-overview-head{display:block}.city-building-overview-head .ref-rail-actions{margin-top:8px;justify-content:space-between}
  .city-building-row{grid-template-columns:1fr 88px 76px;grid-template-areas:"identity operation actions" "output input condition";gap:8px}
  .city-building-identity{grid-area:identity}.city-building-rates.output{grid-area:output}.city-building-rates.input{grid-area:input}.city-building-condition{grid-area:condition}.city-building-operation{grid-area:operation}.city-building-row-actions{grid-area:actions}
  .city-building-rates>small,.city-building-condition>small,.city-building-operation>small{display:block;margin-bottom:3px;color:#6e879b;font-size:7px;text-transform:uppercase}
  .ref-buildings-resource-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
