.topbar { height: 52px; min-height: 52px; padding-inline: 24px; }
.shell main { padding: 18px 24px 20px; }
.page-heading { margin-bottom: 16px; gap: 12px; }
.page-heading h1 { font-size: 22px; margin: 0 0 3px; }
.metrics { padding-bottom: 14px; margin-bottom: 14px; gap: 14px; }
.filterbar { margin-bottom: 12px; }
.publisher-tabs { display: flex; gap: 22px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.publisher-tabs button { border: 0; border-radius: 0; background: transparent; padding: 10px 4px; min-height: 40px; white-space: nowrap; }
.publisher-tabs button[aria-selected=true] { border-bottom: 2px solid #177961; color: #126952; }
.publisher-definition-list, .publisher-release-list { border-top: 1px solid var(--line); }
.publisher-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.publisher-item-info { min-width: 0; flex: 1; }
.publisher-item-info strong { display: block; font-size: 14px; margin-bottom: 4px; }
.publisher-item-info small { display: block; color: #61736e; font-size: 12px; line-height: 20px; overflow-wrap: anywhere; }
.publisher-item-info p { font-size: 12px; line-height: 20px; margin: 4px 0 0; color: #4d655b; }
.publisher-item-info code { display: block; font-size: 11px; overflow-wrap: anywhere; margin-top: 4px; color: #6a7772; }
.publisher-item-actions { display: flex; align-items: center; gap: 12px; flex: none; }
.publisher-item-actions a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.resource-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 12px; min-height: 38px; }
.resource-toolbar > span { font-size: 12px; }
.publisher-editor, .publisher-modal { width: min(580px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid #d6e0dc; border-radius: 8px; }
.publisher-editor { width: min(760px, calc(100vw - 32px)); }
.publisher-editor::backdrop, .publisher-modal::backdrop { background: #23382e66; }
.publisher-editor .dialog-heading, .publisher-modal .dialog-heading, .publisher-editor .dialog-footer, .publisher-modal .dialog-footer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.publisher-editor .dialog-heading h2, .publisher-modal .dialog-heading h2 { margin: 0 auto 0 0; font-size: 18px; }
.publisher-editor .dialog-heading .icon-button, .publisher-modal .dialog-heading .icon-button { margin-left: auto; flex: none; }
.publisher-editor textarea { box-sizing: border-box; width: 100%; height: min(420px,50vh); margin-top: 10px; resize: vertical; font: 12px/20px Consolas,monospace; }
.publisher-editor .dialog-body, .publisher-modal .dialog-body { overflow: auto; }
.publisher-form { display: flex; flex-direction: column; gap: 16px; }
.publisher-form label { display: flex; flex-direction: column; gap: 8px; font-size: 12px; min-width: 0; }
.publisher-form .publisher-check { flex-direction: row; align-items: center; gap: 10px; }
.publisher-form input[type=file] { width: 100%; max-width: 100%; box-sizing: border-box; padding: 8px 0; }
.publisher-form textarea { width: 100%; min-height: 90px; box-sizing: border-box; resize: vertical; }
#clientReleaseUploadProgress, #communicationProgress { width: 100%; height: 8px; accent-color: #177961; }
@media (max-width:760px) {
  .app, .app.is-collapsed { grid-template-rows: auto minmax(0,1fr); }
  .sidebar { padding: 10px 14px 0; }
  .brand { padding-bottom: 6px; }
  .sidebar nav { grid-template-columns: repeat(6,minmax(0,1fr)); padding-bottom: 6px; }
  .sidebar nav button { min-height: 52px; padding: 5px 2px; font-size: 11px; gap: 4px; }
  .shell main { padding: 14px; }
  .topbar { padding-inline: 14px; }
  .publisher-tabs { gap: 4px; justify-content: space-between; }
  .publisher-tabs button { font-size: 12px; padding-inline: 3px; }
  .publisher-item { gap: 10px; flex-wrap: wrap; }
  .publisher-item-info { flex-basis: 100%; }
  .publisher-item-actions { margin-left: auto; gap: 10px; }
  .resource-toolbar { flex-wrap: wrap; gap: 10px; }
  .resource-toolbar .inline { margin-left: auto; flex-wrap: wrap; gap: 8px; }
  #runtimeFeaturesPanel > .section-heading { flex-wrap: wrap; gap: 12px; }
  #runtimeFeaturesPanel > .section-heading .inline { margin-left: auto; flex-wrap: wrap; gap: 8px; }
  .publisher-form .form-grid { grid-template-columns: minmax(0,1fr); }
}
