.login-page {
  margin: 0;
  background: #111418;
  color: #eef0f3;
  font: 16px system-ui;
  display: grid;
  min-height: 100dvh;
  place-items: center;
}
.login-panel {
  width: min(360px, calc(100% - 40px));
}
.login-panel h1 {
  font-size: 28px;
}
.login-panel label,
.release-dialog label {
  display: grid;
  gap: 8px;
  margin: 16px 0;
}
.login-panel input,
.release-dialog input,
.release-dialog select {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  padding: 11px;
  border: 1px solid #515b69;
  background: #191e25;
  color: #eef0f3;
  border-radius: 6px;
  font: inherit;
}
.login-panel button,
.release-dialog button,
.release-tools button {
  padding: 9px 14px;
  border: 1px solid #596879;
  border-radius: 6px;
  background: #283948;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
.muted {
  color: #a7b0bc;
  font-size: 13px;
  line-height: 1.6;
}
#error,
.release-error {
  color: #ffaaaa;
}
.release-dialog {
  width: min(700px, calc(100vw - 40px));
  max-height: 85dvh;
  box-sizing: border-box;
  overflow: auto;
  border: 1px solid #576372;
  border-radius: 8px;
  background: #151a20;
  color: #eef0f3;
  font: 15px system-ui;
  padding: 24px;
}
.release-dialog::backdrop {
  background: #0009;
}
.release-dialog header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.release-dialog h2 {
  font-size: 20px;
  margin: 0;
}
.release-dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
}
.release-dialog p {
  line-height: 1.6;
}
.release-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
}
.document-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #3a444f;
  align-items: center;
}
.document-row span {
  overflow-wrap: anywhere;
}
.document-row small {
  display: block;
  color: #a7b0bc;
  margin-top: 4px;
}
.selected-documents {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 12px;
}
.selected-documents button {
  max-width: 100%;
  overflow-wrap: anywhere;
  background: #243b43;
  color: #e4f5ec;
  border: 1px solid #52776c;
  border-radius: 4px;
  padding: 6px 10px;
}
.release-dialog pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
}
.release-dialog button:focus-visible {
  outline: 2px solid #71caca;
  outline-offset: 2px;
}
@media (max-width: 520px) {
  .document-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .document-row button:last-child {
    grid-column: 2;
  }
  .release-dialog {
    padding: 16px;
  }
}
.selected-source-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 8px;
  color: #91c8ea;
  font-size: 13px;
}
.selected-source-labels span {
  overflow-wrap: anywhere;
}
.document-catalog {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 30;
  height: min(440px, 58dvh);
  box-sizing: border-box;
  padding: 16px;
  background: #202327;
  border: 1px solid #3a444f;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}
.document-catalog header, .document-catalog footer, #inspectionNotice {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.document-catalog label { display: grid; gap: 4px; }
.document-catalog input:not([type=checkbox]), .document-catalog select {
  min-width: 0; width: 100%; box-sizing: border-box; background: #15181c;
  color: inherit; border: 1px solid #48505c; padding: 8px; border-radius: 4px;
}
.document-catalog button, #inspectionNotice button {
  background: transparent; color: inherit; border: 1px solid #48505c;
  border-radius: 4px; padding: 6px 9px; cursor: pointer;
}
.catalog-breadcrumbs { display: flex; flex-wrap: wrap; gap: 4px; max-height: 65px; overflow: auto; }
.catalog-folder { display: block; width: 100%; text-align: left; margin: 4px 0; overflow-wrap: anywhere; }
.document-catalog .document-row { font-size: 13px; padding: 8px 0; }
.document-catalog input[type=checkbox] { width: 18px; height: 18px; }
#inspectionNotice { padding: 12px; border-top: 1px solid #48505c; }
.composer-wrap[hidden] { display: none !important; }
.release-profile { display: flex; align-items: center; gap: 8px; flex-shrink: 0; margin-top: auto; padding: 14px 16px; border-top: 1px solid var(--border); }
.release-profile button { color: var(--text); background: transparent; border: 0; cursor: pointer; border-radius: 4px; }
.release-identity { flex: 1; min-width: 0; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 8px 0; font: inherit; }
.release-logout { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; }
.release-logout:hover { background: var(--surface-raised); }
.release-profile { position: relative; }
.profile-menu { position: absolute; bottom: calc(100% + 6px); left: 12px; right: 12px; padding: 6px; background: #20262c; border: 1px solid #444c56; border-radius: 6px; z-index: 50; }
.profile-menu[hidden] { display: none; }
.profile-menu button { display: block; width: 100%; text-align: left; padding: 10px; font: inherit; }
.profile-menu button:hover { background: #303a43; }
.release-dialog.onboarding-dialog { border: 0; outline: none; box-shadow: 0 20px 80px #0006; width: min(800px,calc(100vw - 32px)); max-height: 92dvh; overflow: auto; }
.onboarding-visual { margin: 28px 0; }
.onboarding-dialog header h2 { display: flex; align-items: center; gap: 12px; }
.onboarding-dialog header h2 svg { flex-shrink: 0; color: #a8d6d8; }
.onboarding-shot + .onboarding-caption { margin-top: 36px; }
.onboarding-shot { display: block; width: 100%; height: auto; border-radius: 4px; margin: 8px 0 16px; }
.onboarding-caption { color: #a8c9cb; font-size: 13px; line-height: 1.4; }
.onboarding-dialog footer button:first-child { margin-right: auto; }
.onboarding-dialog footer button[hidden] { display: none; }
.onboarding-dialog footer button:last-child { margin-left: auto; }
.onboarding-dialog h3 { margin: 12px 0; font-size: 22px; }
.onboarding-dialog p { font-size: 15px; line-height: 1.5; }
.onboarding-dialog button:focus { outline: none; box-shadow: none; }
.onboarding-dialog button:focus-visible { outline: 1px solid #8aa5ad; outline-offset: 2px; }
.sidebar-collapsed .release-profile { display: none; }
.reports-link[hidden] { display: none !important; }
.option-files { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; margin-top: 16px; padding: 14px 0 0; border: 0; border-top: 1px solid var(--border); background: transparent; color: var(--text); font: inherit; cursor: pointer; text-align: left; }
.option-files-action { display: flex; align-items: center; gap: 8px; color: #91ced1; font-size: 14px; }
.option-files-action svg { width: 18px; height: 18px; }
.option-files:hover .option-files-action { color: #b5edef; }
.release-dialog.admin-dialog, .release-dialog.account-dialog { border: 1px solid #343c44; outline: none; box-shadow: 0 24px 80px #0008; padding: 24px; }
.release-dialog.account-dialog { width: min(460px, calc(100vw - 32px)); }
.admin-dialog h2, .account-dialog h2 { font-size: 21px; margin: 0; }
.admin-tabs { display: flex; gap: 8px; margin: 24px 0 12px; border-bottom: 1px solid #343c44; padding-bottom: 12px; }
.admin-tabs button { background: transparent; border-color: transparent; font-size: 14px; }
.admin-tabs button.active { background: #29363b; color: #9edadd; }
.admin-tabs .admin-create { margin-left: auto; order: 3; border-color: #466269; }
.admin-list { max-height: 55dvh; overflow: auto; }
.admin-list .document-row { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid #30373f; }
.admin-list .document-row > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.admin-list .document-row button { font-size: 12px; padding: 6px 8px; background: transparent; }
.admin-list .admin-chat-row { display: flex; flex-direction: column; gap: 5px; width: 100%; text-align: left; background: transparent; border: 0; border-bottom: 1px solid #30373f; border-radius: 0; padding: 12px 8px; }
.admin-chat-row strong { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.admin-chat-row small { color: #9baab4; font-size: 12px; }
.admin-list .admin-chat-row:hover { background: #222c31; }
.admin-pager { display: flex; justify-content: flex-end; gap: 8px; padding-top: 14px; }
.account-dialog footer { margin-top: 24px; gap: 10px; justify-content: flex-end; }
.account-dialog footer button:last-child { background: #27616a; border-color: #43818a; }
@media(max-width:600px) { .admin-tabs { flex-wrap: wrap; } .admin-list .document-row { flex-wrap: wrap; } .admin-list .document-row > span { flex-basis: 100%; } }
@media (max-width: 760px) { .sidebar-open .release-profile { display: flex; } }
.document-catalog > header,
.document-catalog > label,
.document-catalog > select,
.document-catalog > footer {
  flex-shrink: 0;
}
.catalog-results {
  flex: 1;
  min-height: 0;
  overflow: auto;
}
