
    .building-table {
      min-width: calc(1180px * var(--building-table-scale, 1));
      font-size: calc(14px * var(--building-table-scale, 1));
    }

    .building-table th,
    .building-table td {
      padding: calc(13px * var(--building-table-scale, 1)) calc(14px * var(--building-table-scale, 1));
    }

    .building-overview-table {
      min-width: calc(1580px * var(--building-overview-table-scale, 1));
      font-size: calc(14px * var(--building-overview-table-scale, 1));
    }

    .building-overview-table th,
    .building-overview-table td {
      padding: calc(13px * var(--building-overview-table-scale, 1)) calc(14px * var(--building-overview-table-scale, 1));
    }

    .building-overview-header-select {
      width: min(100%, calc(140px * var(--building-overview-table-scale, 1)));
      min-width: calc(112px * var(--building-overview-table-scale, 1));
      min-height: calc(32px * var(--building-overview-table-scale, 1));
      padding: 0 calc(8px * var(--building-overview-table-scale, 1));
      border: 1px solid #d5deea;
      border-radius: 8px;
      color: #344054;
      background: #fff;
      font: inherit;
      font-size: inherit;
      font-weight: 600;
      cursor: pointer;
    }

    .building-overview-edit-button {
      display: inline-grid;
      width: calc(34px * var(--building-overview-table-scale, 1));
      height: calc(34px * var(--building-overview-table-scale, 1));
      place-items: center;
      padding: 0;
      border: 1px solid #c7d7fe;
      border-radius: 8px;
      color: var(--primary);
      background: #eaf0ff;
      font: inherit;
      font-size: calc(16px * var(--building-overview-table-scale, 1));
      font-weight: 700;
      cursor: pointer;
    }

    .building-overview-edit-button:hover {
      background: #dce7ff;
    }

    .building-overview-edit-dialog {
      width: min(94vw, 920px);
    }

    .building-overview-edit-dialog input[readonly] {
      color: #667085;
      background: #f8fafc;
      cursor: default;
    }

    .building-overview-section-input {
      width: min(100%, calc(150px * var(--building-overview-table-scale, 1)));
      min-width: calc(104px * var(--building-overview-table-scale, 1));
      min-height: calc(34px * var(--building-overview-table-scale, 1));
      padding: 0 calc(9px * var(--building-overview-table-scale, 1));
      border: 1px solid #d5deea;
      border-radius: 8px;
      color: var(--text);
      background: #fff;
      font: inherit;
      font-size: inherit;
    }

    .building-overview-section-input:disabled {
      color: #98a2b3;
      background: #f2f4f7;
    }

    .building-overview-warning-row td {
      background: #fffaf0;
    }

    .building-overview-warning-cell {
      min-width: 220px;
      color: #9a3412;
      font-weight: 950;
      white-space: normal;
    }

    .staff-table {
      min-width: calc(1180px * var(--staff-table-scale, 1));
      font-size: calc(14px * var(--staff-table-scale, 1));
    }

    .staff-table th,
    .staff-table td {
      padding: calc(13px * var(--staff-table-scale, 1)) calc(14px * var(--staff-table-scale, 1));
    }

    .building-table-controls {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-left: auto;
      white-space: nowrap;
    }

    .building-table-zoom-button {
      width: 34px;
      height: 34px;
      padding: 0;
      border: 1px solid #c9d7ee;
      border-radius: 9px;
      color: #175cd3;
      background: #eef4ff;
      font: inherit;
      font-size: 18px;
      font-weight: 900;
      cursor: pointer;
    }

    .building-table-zoom-button:disabled {
      cursor: not-allowed;
      opacity: 0.45;
    }

    .building-table-zoom-label {
      min-width: 46px;
      color: #445066;
      font-size: 12px;
      font-weight: 900;
      text-align: center;
    }

    .office-row {
      cursor: pointer;
    }

    .office-row.active td {
      background: #eef4ff;
      box-shadow: inset 4px 0 #2563eb;
    }

    .office-status-badge {
      display: inline-flex;
      min-height: 24px;
      align-items: center;
      padding: 0 8px;
      border-radius: 999px;
      color: #067647;
      background: #dcfae6;
      font-size: 11px;
      font-weight: 900;
      white-space: nowrap;
    }

    .office-status-badge.inactive {
      color: #667085;
      background: #eef2f6;
    }

    .office-empty {
      margin: 0;
      padding: 18px;
      border: 1px dashed #cbd5e1;
      border-radius: 12px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 800;
      text-align: center;
    }
