.platform [hidden] { display: none; }
.platform-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px clamp(16px, 4vw, 48px);
  background: var(--surface-card);
  border-bottom: 1px solid var(--border-default);
}
.platform-header strong { font-size: var(--text-title); font-weight: 600; }
.platform-header span, #platformOperator { color: var(--text-secondary); }
#platformLogout { margin-left: auto; }
.platform h1, .platform h2 { margin: 0; font-size: var(--text-title); font-weight: 600; }
.platform-toolbar, .platform-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.platform-toolbar h1 { margin-right: auto; }
.platform-actions { justify-content: flex-end; }
.platform-login, .platform dialog {
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius);
  color: var(--text-primary);
  padding: 24px;
  width: min(100% - 32px, 440px);
}
.platform-login { margin: clamp(24px, 12vh, 120px) auto; }
.platform form, .platform fieldset { display: grid; gap: 12px; }
.platform fieldset { border: 0; border-top: 1px solid var(--border-default); padding: 12px 0 0; margin: 0; min-width: 0; }
.platform label { display: grid; gap: 4px; }
.platform-error { margin: 0; color: var(--danger); }
.platform-error:empty, #tenantMessage:empty, #categoryMessage:empty { display: none; }
.platform-toolbar { margin-bottom: 16px; }
#partOptions { display: flex; flex-wrap: wrap; gap: 8px 16px; }
#partOptions label { display: inline-flex; align-items: center; gap: 6px; }
#categoryAccessLabel:not([hidden]) { display: inline-flex; gap: 6px; align-items: center; }
#categoryAccessResult:empty { display: none; }
