.office-houses{margin:0 0 14px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #e3e8ee;box-shadow:0 1px 2px rgba(16,34,56,.05);text-align:left}
.office-houses-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}
.office-houses-head h2{margin:0 0 4px;font-size:17px;color:#12263f}
.office-houses-head h2 span{color:#4a6b8a;font-weight:600}
.office-houses-head p{margin:0;font-size:13px;line-height:1.55;color:#4a6b8a;max-width:70ch}
.office-houses-warn{color:#b25a00}
.office-houses-search{display:flex;align-items:center;gap:6px;min-width:260px;flex:1 1 260px;max-width:420px;padding:8px 10px;border:1px solid #cfdae5;border-radius:10px;background:#f8fafc}
.office-houses-search span{color:#7b8ea3}
.office-houses-search input{flex:1;border:0;background:transparent;font:inherit;font-size:14px;color:#12263f;outline:0}
.office-houses-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:12px;max-height:340px;overflow:auto}
.office-house-card{display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #e3e8ee;border-radius:12px;background:#fbfdff}
.office-house-main{display:flex;flex-direction:column;gap:2px}
.office-house-main strong{font-size:14px;color:#12263f}
.office-house-main small{font-size:12px;color:#4a6b8a}
.office-house-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.office-house-meta i{font-style:normal;font-size:11px;padding:2px 7px;border-radius:999px;background:#eaf3f8;color:#2b6b85}
.office-house-map{align-self:flex-start;font-size:12px;font-weight:700;color:#12708f;text-decoration:none}
.office-house-map:hover{text-decoration:underline}
.office-houses-empty{margin:0;padding:10px 2px;font-size:13px;color:#7b8ea3}
@media (max-width:680px){.office-houses{padding:12px}.office-houses-search{min-width:0;max-width:none;flex:1 1 100%}.office-houses-list{max-height:none;grid-template-columns:1fr}}

/* Office-Ansicht: Objektliste links, gleiche Höhe wie der Plan, sticky */
.office-grid-mode #portal-app{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px;align-items:start;direction:ltr;text-align:left}
.office-grid-mode #portal-app > *{grid-column:1/-1;min-width:0}
.office-grid-mode #portal-app > #portal-houses-host:not([hidden]){grid-column:1;display:flex;flex-direction:column;min-height:0;position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow:visible;margin:0}
.office-grid-mode #portal-app > #portal-houses-host .office-houses{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;margin:0}
.office-grid-mode #portal-app > #portal-houses-host .office-houses-list{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.office-grid-mode #portal-app > #portal-grid-host{grid-column:2;min-width:0}
@media(max-width:980px){
  .office-grid-mode #portal-app{display:block;direction:ltr;text-align:left}
  .office-grid-mode #portal-app > #portal-houses-host:not([hidden]){display:block;position:static;max-height:none;margin-bottom:12px}
  .office-grid-mode #portal-app > #portal-houses-host .office-houses,
  .office-grid-mode #portal-app > #portal-houses-host .office-houses-list{display:block;max-height:none;overflow:visible}
}
