/* Служебный стол — design/work/admin_panel.html */

.desk-page .ui-input,
.desk-page select.ui-input {
  min-height: var(--control-height);
}

.desk-layout {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  margin-top: 0.25rem;
  width: 100%;
}

.desk-main {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

.desk-page .desk-main > .pub-hero--desk .desk-role-line {
  margin: 0.35rem 0 0;
}

/* Sidebar */
.desk-sidebar {
  width: 240px;
  flex-shrink: 0;
  background: var(--surface);
  border-radius: var(--pub-radius-md);
  border: 1px solid var(--pub-border);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  position: sticky;
  top: 5.5rem;
  max-height: calc(100vh - 6.5rem);
  overflow-y: auto;
}

.desk-sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.75rem;
  border-radius: var(--pub-radius-sm);
  color: var(--text);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.desk-sidebar-link:hover {
  background: var(--combo-hover);
}

.desk-sidebar-link.is-active {
  background: var(--pub-action-bg);
  color: var(--pub-action-color);
  font-weight: 600;
}

.desk-sidebar-link svg {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
  color: var(--muted);
}

.desk-sidebar-link.is-active svg {
  color: var(--pub-action-color);
}

.desk-sidebar-group-title {
  margin: 0.85rem 0 0.25rem;
  padding: 0 0.75rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.desk-sidebar-group-title:first-child {
  margin-top: 0;
}

.desk-sidebar-group[hidden] {
  display: none !important;
}

.desk-sidebar-footer {
  margin-top: auto;
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.desk-logout-btn {
  width: 100%;
  justify-content: center;
  font-size: 0.8125rem;
}

.desk-help-box {
  background: #f0f7ef;
  border-radius: var(--pub-radius-sm);
  padding: 0.85rem;
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
}

.desk-help-box.is-clickable {
  cursor: pointer;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.desk-help-box.is-clickable:hover,
.desk-help-box.is-clickable:focus-visible {
  background: #e6f2e4;
  box-shadow: 0 0 0 2px rgba(45, 106, 79, 0.15);
  outline: none;
}

.desk-help-icon {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: var(--surface);
  color: var(--pub-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.desk-help-icon svg {
  width: 0.9rem;
  height: 0.9rem;
}

.desk-help-text h4 {
  margin: 0 0 0.2rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pub-accent);
}

.desk-help-text p {
  margin: 0;
  font-size: 0.75rem;
  color: var(--muted);
  line-height: 1.4;
}

.desk-auth-msg {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
}

.desk-auth-msg:empty {
  display: none;
}

.desk-auth-msg.error {
  color: #b42318;
}

.desk-auth-msg.ok {
  color: var(--pub-accent);
}

.desk-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.desk-card {
  background: var(--surface);
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);
  padding: 1.15rem;
  display: flex;
  gap: 1rem;
  min-height: 100%;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.desk-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-color: var(--pub-border);
}

.desk-card-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.desk-card-title {
  margin: 0 0 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text);
}

.desk-card-text {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  color: var(--muted);
  line-height: 1.45;
  flex: 1 1 auto;
}

@media (max-width: 1100px) {
  .desk-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .desk-layout {
    flex-direction: column;
  }

  .desk-sidebar {
    width: 100%;
    position: static;
    max-height: none;
  }

  .desk-quick-grid {
    grid-template-columns: 1fr;
  }
}

/* Внутренние страницы служебного стола */
.desk-main .section.panel {
  margin-top: 0;
  background: var(--surface);
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);
  box-shadow: var(--pub-shadow);
  padding: 1.25rem 1.5rem;
}

.desk-main .ui-form-grid {
  max-width: none;
  width: 100%;
}

.desk-main .ui-form-narrow {
  max-width: none;
}

.desk-main > .grid {
  width: 100%;
}

.desk-main > .grid > .card.panel,
.desk-main > .grid > .card {
  background: var(--surface);
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);
  box-shadow: var(--pub-shadow);
  padding: 1.25rem 1.5rem;
}

.desk-main .ui-two-col {
  width: 100%;
}

.desk-main .section.panel.ui-two-col > div {
  min-width: 0;
}

.desk-main .page-crumb {
  display: none;
}

.desk-main .ui-title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2.5vw, 1.625rem);
  font-weight: 700;
  color: var(--pub-heading);
}

.desk-main .page-lead {
  margin: 0 0 0.75rem;
  max-width: 72ch;
  font-size: 0.9375rem;
  line-height: 1.65;
}

.desk-page .report-panel > .page-lead,
.desk-page .report-panel > h2.ui-subtitle + .page-lead {
  max-width: none;
  width: 100%;
}

.desk-page .ui-msg:empty {
  display: none;
  min-height: 0;
}

.desk-main .section.panel > h1.ui-title + .page-lead {
  margin-bottom: 0.35rem;
}

.desk-page .section.panel > .plots-page-tabs,
.desk-page .section.panel > .report-tabs {
  margin-top: 0.45rem;
}

.desk-page .desk-toolbar-stats {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  min-width: 0;
}

.desk-page .plots-search-bar .desk-toolbar-stats {
  flex: 0 1 auto;
}

.desk-page .plots-stats .plots-stat-badge,
.desk-page .desk-toolbar-stats .reports-stat-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--pub-border);
  background: var(--bg);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pub-heading);
}

.desk-page .desk-toolbar-stat {
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.desk-main .desk-role-line {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pub-accent);
}

.desk-main .desk-role-line.is-hidden {
  display: none;
}

.desk-page .desk-filter-bar {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

.desk-page .desk-filter-bar--inline {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
  min-width: 0;
}

.desk-page .desk-filter-bar__search {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}

.desk-page .desk-filter-bar--inline .desk-filter-bar__search {
  flex: 0 0 26ch;
  width: 26ch;
  min-width: 20ch;
  max-width: 32ch;
}

.desk-page .desk-filter-bar__row {
  width: 100%;
  align-items: center;
}

.desk-page .desk-filter-bar__row select.ui-input {
  min-width: 10rem;
  max-width: 14rem;
}

.desk-page .desk-filter-bar--inline select.ui-input,
.desk-page .desk-filter-bar--inline .desk-filter-bar__role {
  flex: 0 0 auto;
  width: calc(17ch + 2.4rem);
  min-width: calc(12ch + 2.4rem);
  max-width: calc(20ch + 2.4rem);
  padding-left: 0.5rem;
  padding-right: 1.6rem;
  font-size: 0.875rem;
}

.desk-page .desk-filter-bar--inline .desk-filter-bar__category {
  flex: 0 0 auto;
  width: auto;
  min-width: 9rem;
  max-width: 14rem;
  font-size: 0.875rem;
}

.desk-page .desk-toolbar-field--encoding {
  flex: 0 0 auto;
}

.desk-page .desk-toolbar-field--encoding .ui-combo,
.desk-page .desk-filter-bar--inline .desk-toolbar-field--encoding .ui-combo {
  width: auto;
  min-width: 24rem;
  max-width: none;
  flex: 0 0 auto;
}

.desk-page .desk-filter-bar--inline .desk-filter-bar__encoding {
  flex: 0 0 auto;
  width: max-content;
  min-width: 22rem;
  max-width: none;
  padding-left: 0.45rem;
  padding-right: 1.75rem;
  font-size: 0.875rem;
  line-height: 1.35;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.55rem center;
  background-size: 0.75rem;
}

.desk-page .desk-filter-bar--inline label.ui-check {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}

.desk-page .desk-filter-bar--inline .desk-toolbar-stats,
.desk-page .desk-filter-bar--inline .desk-toolbar-stat {
  margin-left: auto;
}

.desk-page .desk-filter-bar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.desk-page .ui-td-reason {
  color: #8b2e2e;
  font-size: 0.875rem;
}

.desk-page .ui-td-reason-empty {
  color: #c4cbc6;
}

.desk-page .desk-form-grid {
  display: grid;
  gap: 0.85rem 1rem;
  width: 100%;
  max-width: none;
}

.desk-page .desk-form-grid--2col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.desk-page .desk-form-span-2 {
  grid-column: 1 / -1;
}

.desk-page .desk-form-grid .ui-label {
  display: grid;
  gap: 0.3rem;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pub-heading);
}

.desk-page .desk-form-grid--2col > .ui-label {
  margin: 0;
  padding: 0;
  align-self: stretch;
}

.desk-page .desk-form-grid--2col > .ui-label:not(.desk-form-span-2) {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.3rem;
}

.desk-page .desk-form-grid--2col > .ui-label:not(.desk-form-span-2) > .ui-input,
.desk-page .desk-form-grid--2col > .ui-label:not(.desk-form-span-2) > input,
.desk-page .desk-form-grid--2col > .ui-label:not(.desk-form-span-2) > select,
.desk-page .desk-form-grid--2col > .ui-label:not(.desk-form-span-2) > textarea {
  margin-top: auto;
}

.desk-page .desk-form-grid .ui-label .ui-label-caption {
  display: inline-block;
  white-space: nowrap;
}

.desk-page .desk-form-grid .ui-label .muted {
  font-weight: 400;
}

.desk-page .desk-form-grid .ui-input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.desk-page .desk-form-grid .ui-choice-group {
  margin: 0;
  border-color: var(--pub-border);
  background: var(--pub-accent-soft);
}

@media (max-width: 640px) {
  .desk-page .desk-form-grid--2col {
    grid-template-columns: 1fr;
  }
}

.desk-page .desk-toolbar-field {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  flex-shrink: 0;
}

.desk-page .desk-toolbar-field__label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--muted);
  line-height: 1;
  white-space: nowrap;
  margin: 0;
}

.desk-page .desk-toolbar-field--narrow {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.desk-page .desk-toolbar-field--narrow .ui-input,
.desk-page .ui-input--page-limit {
  width: calc(5ch + 2.75rem);
  min-width: calc(5ch + 2.75rem);
  max-width: calc(5ch + 2.75rem);
  box-sizing: border-box;
}

.desk-page .desk-toolbar-stat {
  margin-left: auto;
  font-size: 0.875rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.desk-page .ui-row-actions--horiz {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
}

.desk-page .ui-email-login-cell {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.desk-page .ui-td-actions .btn-table--compact,
.desk-page .ui-email-login-cell .btn-table--compact {
  display: inline-flex;
  width: auto;
  max-width: none;
  padding: 0.16rem 0.4rem;
  font-size: 0.72rem;
  line-height: 1.2;
  white-space: nowrap;
}

.desk-main .ui-subtitle {
  font-size: 1rem;
  font-weight: 600;
  color: var(--pub-accent);
}

.desk-main .admin-dash-grid .card {
  background: var(--pub-icon-bg);
  border-color: var(--pub-border);
  border-radius: var(--pub-radius-sm);
}

.desk-main .ui-toolbar input,
.desk-main .ui-toolbar select,
.desk-main .ui-form-grid input,
.desk-main .ui-form-grid select,
.desk-main .ui-form-grid textarea {
  border-color: var(--pub-border);
}

.desk-main .ui-table th.ui-th-sortable {
  color: var(--pub-accent);
}

.desk-main .ui-table th.ui-th-sortable:hover {
  background: var(--pub-accent-soft);
}

.desk-main .btn-primary {
  background: var(--pub-accent);
}

.desk-main .btn-primary:hover {
  background: #2e4a2e;
}

.desk-main .btn-soft {
  background: var(--pub-accent-soft);
  border-color: var(--border);
  color: var(--pub-heading);
}

.desk-page .report-tabs {
  margin-top: 0.45rem;
}

.desk-page .report-tab-btn.active {
  color: var(--pub-heading);
  background: var(--pub-accent-soft);
  border-color: var(--border);
}

.desk-page .legacy-form-box {
  border-color: var(--pub-border);
  background: var(--bg);
}

.desk-page .legacy-form-box legend {
  color: var(--pub-accent);
}

.desk-page .help-tabs {
  border-color: var(--pub-border);
}

.desk-page .help-tab-btn.active {
  background: var(--pub-accent-soft);
  border-color: var(--border);
  color: var(--pub-heading);
}

.desk-page .ui-table-scroll-box {
  border-color: var(--pub-border);
}

.desk-page .ab-details {
  margin: 0.55rem 0 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--bg);
}

.desk-page .ab-details p {
  margin: 0.25rem 0;
}

.desk-page #ab-table th.ui-th-actions,
.desk-page #ab-table td.ui-td-actions {
  width: 7.75rem;
  white-space: nowrap;
  text-align: left;
}

.desk-page footer[data-global-footer] {
  text-align: center;
  padding: 1.5rem 0 0.5rem;
  color: #999;
  font-size: 0.875rem;
  border: none;
  background: transparent;
}

.desk-page .is-hidden {
  display: none !important;
}

.desk-page .import-format-box {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--bg);
  padding: 0.85rem 1rem;
  margin-top: 0.75rem;
}

.desk-page .import-format-box h3 {
  margin: 0 0 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--pub-heading);
}

.desk-page .import-hint-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.desk-page .import-hint-list li {
  font-size: 0.875rem;
  line-height: 1.45;
  padding: 0.35rem 0.5rem;
  border-radius: 6px;
}

.desk-page .import-hint-list li.is-info {
  background: var(--pub-accent-soft);
  color: var(--pub-heading);
}

.desk-page .import-hint-list li.is-warn {
  background: #fff8e6;
  color: #6b4f00;
}

.desk-page .import-hint-list li.is-error {
  background: #fdecec;
  color: #7a1f1f;
}

.desk-page .import-template-box {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--bg);
  padding: 1rem;
  max-width: 42rem;
}

.desk-page .import-template-box .ui-actions {
  margin-top: 0.65rem;
}

/* Operator import: modern flow */
.desk-page .import-hero-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}

@media (max-width: 860px) {
  .desk-page .import-hero-grid {
    grid-template-columns: 1fr;
  }
}

.desk-page .import-hero-card {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--bg);
  padding: 0.9rem 1rem;
}

.desk-page .import-hero-card--note {
  background: var(--bg);
}

.desk-page .import-hero-title {
  font-weight: 700;
  color: var(--pub-heading);
  margin-bottom: 0.4rem;
}

.desk-page .import-hero-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.9rem;
}

.desk-page .import-hero-check {
  display: inline-flex;
  width: 1.15rem;
  justify-content: center;
  color: var(--pub-accent);
  font-weight: 800;
}

.desk-page .import-help {
  margin-top: 0.65rem;
}

.desk-page .import-help-inner {
  border: 1px dashed var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 0.75rem 1rem;
  background: var(--surface);
}

.desk-page .import-help-toggle {
  margin-top: 0.5rem;
}

.desk-page .import-step--narrow {
  max-width: 72rem;
}

.desk-page .import-step-head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

.desk-page .import-step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--pub-border);
  background: var(--pub-accent-soft);
  color: var(--pub-heading);
  font-weight: 700;
  font-size: 0.8125rem;
}

.desk-page .import-top-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: start;
}

@media (max-width: 980px) {
  .desk-page .import-top-grid {
    grid-template-columns: 1fr;
  }
}

.desk-page .import-card {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--surface);
  padding: 1rem;
  box-shadow: none;
}

.desk-page .import-card-title {
  font-weight: 700;
  color: var(--pub-heading);
  margin-bottom: 0.4rem;
}

.desk-page .import-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.desk-page .import-row .desk-toolbar-field--geo {
  flex: 1 1 14rem;
  min-width: 0;
  max-width: 22rem;
}

.desk-page .import-row .desk-toolbar-field--geo .ui-input {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.desk-page .import-row .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.desk-page .desk-format-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.4rem;
  margin: 0.55rem 0 0;
  font-size: 0.875rem;
}

.desk-page .desk-format-links__label {
  color: var(--muted);
}

.desk-page .desk-format-links a {
  color: var(--pub-accent);
  font-weight: 500;
  text-decoration: none;
}

.desk-page .desk-format-links a:hover {
  text-decoration: underline;
}

.desk-page .desk-format-links__sep {
  color: var(--muted);
}

.desk-page .import-panel-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}

.desk-page .import-actions .btn:disabled.btn-soft {
  opacity: 0.55;
}

.desk-page .import-input {
  width: 7.25rem;
  min-width: 6.5rem;
  max-width: 8rem;
}

.desk-page .import-row .desk-toolbar-field--narrow .import-input {
  width: 7.25rem;
  min-width: 6.5rem;
  max-width: 8rem;
}

.desk-page .import-dropzone {
  border: 2px dashed var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--bg);
  padding: 1rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.desk-page .import-dropzone.is-drag {
  border-color: var(--pub-accent);
  background: var(--pub-accent-soft);
}

.desk-page .import-dropzone-title {
  font-weight: 800;
  color: var(--pub-heading);
  margin-bottom: 0.15rem;
}

.desk-page .import-dropzone-actions {
  margin-top: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.desk-page .import-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.desk-page #import-msg {
  white-space: normal;
  overflow-wrap: anywhere;
  max-width: 100%;
  line-height: 1.4;
}

.desk-page .import-empty {
  border: 1px dashed var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 1.1rem 1rem;
  background: var(--surface);
}

.desk-page .import-empty-title {
  font-weight: 800;
  color: var(--pub-heading);
  margin-bottom: 0.25rem;
}

.desk-page .import-result-tabs-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 0.85rem;
  margin: 0 0 0.55rem;
}

.desk-page .import-result-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-left: auto;
}

.desk-page .import-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  padding: 0.28rem 0.55rem;
  border-radius: 9px;
  border: 1px solid var(--pub-border);
  background: var(--surface);
  font-size: 0.8125rem;
  color: var(--muted);
  line-height: 1.2;
}

.desk-page .import-pill b {
  font-weight: 800;
  color: var(--pub-heading);
  font-variant-numeric: tabular-nums;
}

.desk-page .import-pill--err {
  background: #fde8ec;
  border-color: #f0c2cb;
}

.desk-page .import-pill--warn {
  background: #fff1e0;
  border-color: #f0d2a8;
}

.desk-page .import-pill--ok {
  background: #e7f5e8;
  border-color: #b7dcb9;
}

.desk-page .import-result-tabs {
  margin: 0;
}

.desk-page .import-result-tabs .import-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.25rem;
  padding: 0 0.35rem;
  margin-left: 0.3rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--pub-heading);
}

.desk-page .import-result-tabs .plots-tab-btn.active .import-tab-count {
  background: rgba(255, 255, 255, 0.45);
}

.desk-page .import-preview-scroll {
  overflow-x: auto;
  max-width: 100%;
}

.desk-page .import-preview-table {
  width: 100%;
  min-width: 48rem;
  table-layout: fixed;
}

.desk-page .import-preview-table th,
.desk-page .import-preview-table td,
.desk-page .import-issues-table th,
.desk-page .import-issues-table td {
  padding: 0.4rem 0.45rem;
  font-size: 0.875rem;
  line-height: 1.35;
  vertical-align: top;
}

.desk-page .import-preview-table th:nth-child(1),
.desk-page .import-preview-table td.import-cell-line {
  width: 3.1rem;
}

.desk-page .import-preview-table th:nth-child(2),
.desk-page .import-preview-table td.import-cell-id:nth-child(2) {
  width: 4.25rem;
}

.desk-page .import-preview-table th:nth-child(6),
.desk-page .import-preview-table td.import-cell-id:nth-child(6) {
  width: 4.5rem;
}

.desk-page .import-preview-table th:nth-child(8),
.desk-page .import-preview-table td.import-cell-date {
  width: 6.75rem;
  white-space: nowrap;
}

.desk-page .import-cell-nowrap {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.desk-page .import-cell-date .import-cell-nowrap {
  white-space: nowrap;
}

.desk-page .import-issues-table {
  width: 100%;
  table-layout: fixed;
}

.desk-page .import-issues-table th:nth-child(1),
.desk-page .import-issues-table td:nth-child(1) {
  width: 4.5rem;
}

.desk-page .import-issues-table th:nth-child(2),
.desk-page .import-issues-table td:nth-child(2) {
  width: 6.5rem;
}

.desk-page .import-issues-table th:nth-child(3),
.desk-page .import-issues-table td:nth-child(3) {
  width: auto;
}

.desk-page .import-cell-clip {
  max-width: 14rem;
  vertical-align: top;
}

.desk-page .import-cell-clip__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
  line-height: 1.3;
}

.desk-page .import-issue-cells {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--pub-heading);
}

.desk-page tr.import-row--err > td {
  background: #fde8ec;
}

.desk-page tr.import-row--warn > td {
  background: #fff4e6;
}

.desk-page tr.import-row--skip > td {
  background: #f0f2f4;
  color: #5b6470;
}

.desk-page tr.import-row--ok > td {
  background: #eef8ef;
}

.desk-page .import-pill--skip {
  background: #eef0f3;
  border-color: #c8ced0;
}

.desk-page .import-pill--apply {
  background: #e8ecef;
  border-color: #c5cbd0;
}

/* Dark: пастельные фоны + белый inherit → нечитаемо; фиксируем текст и тон фона. */
html[data-theme="dark"] .desk-page .import-pill {
  color: var(--text);
}

html[data-theme="dark"] .desk-page .import-pill b {
  color: var(--text);
}

html[data-theme="dark"] .desk-page .import-pill--ok {
  background: color-mix(in srgb, #6fbf73 28%, var(--surface));
  border-color: color-mix(in srgb, #6fbf73 45%, var(--border));
}

html[data-theme="dark"] .desk-page .import-pill--skip {
  background: color-mix(in srgb, #9aa3ad 22%, var(--surface));
  border-color: color-mix(in srgb, #9aa3ad 40%, var(--border));
}

html[data-theme="dark"] .desk-page .import-pill--warn {
  background: color-mix(in srgb, #e0a86a 28%, var(--surface));
  border-color: color-mix(in srgb, #e0a86a 45%, var(--border));
}

html[data-theme="dark"] .desk-page .import-pill--err {
  background: color-mix(in srgb, #e07a8a 28%, var(--surface));
  border-color: color-mix(in srgb, #e07a8a 45%, var(--border));
}

html[data-theme="dark"] .desk-page .import-pill--apply {
  background: color-mix(in srgb, #8a93a0 22%, var(--surface));
  border-color: color-mix(in srgb, #8a93a0 40%, var(--border));
}

.desk-page .import-panel-toolbar {
  margin-bottom: 0.35rem;
}

/* Operator plots */
.desk-page .plots-page-tabs {
  display: inline-flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  border: 1px solid var(--pub-border);
  border-radius: 12px;
  padding: 0.35rem;
  background: var(--bg);
  margin-top: 0.45rem;
}

.desk-page .plots-page-tabs.report-tabs--nowrap {
  flex-wrap: nowrap;
  max-width: 100%;
  overflow-x: auto;
}

.desk-page .plots-page-tabs.report-tabs--nowrap .plots-tab-btn {
  padding: 0.4rem 0.7rem;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Сервисные задачи: 6 вкладок в 2 ряда × 3 */
.desk-page .plots-page-tabs.report-tabs--two-rows {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  overflow: visible;
}

.desk-page .plots-page-tabs.report-tabs--two-rows .plots-tab-btn {
  width: 100%;
  text-align: center;
  white-space: normal;
  line-height: 1.25;
  padding: 0.45rem 0.55rem;
}

@media (max-width: 720px) {
  .desk-page .plots-page-tabs.report-tabs--two-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.desk-page .dl-summary-bar {
  margin: 0.55rem 0 0;
}

.desk-page #dl-recent-table {
  table-layout: fixed;
  width: 100%;
}

.desk-page #dl-recent-table th:nth-child(1),
.desk-page #dl-recent-table td:nth-child(1) {
  width: 18%;
}

.desk-page #dl-recent-table th:nth-child(2),
.desk-page #dl-recent-table td:nth-child(2) {
  width: 12%;
}

.desk-page #dl-recent-table th:nth-child(3),
.desk-page #dl-recent-table td:nth-child(3) {
  width: 14%;
}

.desk-page #dl-recent-table th:nth-child(4),
.desk-page #dl-recent-table td:nth-child(4) {
  width: 10%;
}

.desk-page #dl-recent-table th:nth-child(5),
.desk-page #dl-recent-table td:nth-child(5),
.desk-page #dl-recent-table th:nth-child(6),
.desk-page #dl-recent-table td:nth-child(6) {
  width: 9%;
}

.desk-page #dl-recent-table th:nth-child(7),
.desk-page #dl-recent-table td:nth-child(7) {
  width: 28%;
}

.desk-page .plots-tab-btn {
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  padding: 0.45rem 0.85rem;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.desk-page .plots-tab-btn.active {
  color: var(--pub-heading);
  background: var(--pub-accent-soft);
  border-color: var(--pub-border);
}

.desk-page .plots-tab-panel {
  display: block;
}

.desk-page .plots-search-bar {
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  align-items: flex-end;
  min-width: 0;
}

.desk-page .plots-search-bar .desk-toolbar-field {
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
  min-width: 0;
}

.desk-page .plots-search-bar .plots-search-field--country {
  flex: 0 1 14rem;
  min-width: 11rem;
  max-width: 18rem;
}

.desk-page .plots-search-bar .plots-search-field--wide {
  flex: 1 1 16rem;
  min-width: 14rem;
  max-width: none;
}

.desk-page .plots-search-bar .plots-search-field .ui-combo,
.desk-page .plots-search-bar .plots-search-field .ui-combo-input,
.desk-page .plots-search-bar .plots-search-field .ui-input {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}

.desk-page .plots-search-bar .ui-combo {
  z-index: 4;
}

.desk-page .plots-search-bar .ui-input--page-limit {
  width: calc(5ch + 2.75rem);
  min-width: calc(5ch + 2.75rem);
  max-width: calc(5ch + 2.75rem);
}

.desk-page .plots-search-bar .desk-toolbar-field--narrow {
  flex: 0 0 auto;
}

.desk-page .plots-search-bar > .btn {
  flex: 0 0 auto;
  margin-left: auto;
}

.desk-page .plots-stat-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--pub-border);
  background: var(--bg);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pub-heading);
}

.desk-page .plots-table-compact th,
.desk-page .plots-table-compact td {
  padding: 0.35rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.35;
  vertical-align: middle;
}

.desk-page .plots-table-compact tbody tr {
  height: auto;
}

.desk-page .plots-row.is-selected {
  background: var(--pub-accent-soft);
}

.desk-page .plots-row.is-selected td {
  font-weight: 600;
}

.desk-page .plots-th-actions,
.desk-page .plots-actions-cell,
.desk-page .plots-table-compact th.ui-th-actions,
.desk-page .plots-table-compact td.ui-td-actions {
  width: 8.75rem;
  min-width: 8.75rem;
  text-align: left;
  white-space: nowrap;
  overflow: visible;
}

.desk-page .plots-table-compact {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.desk-page #plots-section,
.desk-page #panel-plots {
  overflow-x: hidden;
}

.desk-page .plots-table-compact th:nth-child(1),
.desk-page .plots-table-compact td:nth-child(1) {
  width: 3.5rem;
}

.desk-page .plots-table-compact th:nth-child(2),
.desk-page .plots-table-compact td:nth-child(2),
.desk-page .plots-table-compact td.plots-name-cell {
  width: auto;
  max-width: 0;
  overflow: hidden;
  overflow-wrap: normal;
  word-break: normal;
}

.desk-page .plots-name-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.desk-page .plots-table-compact th:nth-child(3),
.desk-page .plots-table-compact td:nth-child(3) {
  width: 4.75rem;
}

.desk-page .audit-table-compact {
  width: 100%;
  table-layout: auto;
}

.desk-page .audit-table-compact th,
.desk-page .audit-table-compact td {
  padding: 0.35rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.35;
  vertical-align: top;
}

.desk-page .audit-table-compact th:nth-child(1),
.desk-page .audit-table-compact td:nth-child(1) {
  width: 9.5rem;
  white-space: nowrap;
}

.desk-page .audit-table-compact th:nth-child(2),
.desk-page .audit-table-compact td:nth-child(2) {
  width: 8.5rem;
}

.desk-page .audit-table-compact th:nth-child(3),
.desk-page .audit-table-compact td:nth-child(3) {
  width: 5.5rem;
}

.desk-page .audit-table-compact th:nth-child(4),
.desk-page .audit-table-compact td:nth-child(4) {
  width: 8.5rem;
}

.desk-page .plots-table-compact th:nth-child(4),
.desk-page .plots-table-compact td:nth-child(4) {
  width: 5.5rem;
}

.desk-page .plots-table-compact th:nth-child(5),
.desk-page .plots-table-compact td:nth-child(5) {
  width: 8.25rem;
  overflow: hidden;
}

.desk-page .plots-actions-cell .btn-table--compact {
  display: inline-flex;
  width: auto;
  max-width: none;
  white-space: nowrap;
}

.desk-page .plots-coords-cell {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.desk-page .plots-coords-cell--empty {
  color: #c4cbc6;
}

.desk-page .audit-diff-cell {
  min-width: 12rem;
}

.desk-page .audit-diff-details {
  margin: 0;
}

.desk-page .audit-diff-details > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--pub-heading);
  list-style: none;
}

.desk-page .audit-diff-details > summary::-webkit-details-marker {
  display: none;
}

.desk-page .audit-diff-details > summary::before {
  content: "▸ ";
  color: var(--muted);
}

.desk-page .audit-diff-details[open] > summary::before {
  content: "▾ ";
}

.desk-page .audit-diff-details > summary:hover {
  color: var(--pub-accent);
}

.desk-page .audit-diff-body {
  margin-top: 0.35rem;
  padding-top: 0.25rem;
  border-top: 1px dashed #eee;
}

.desk-page .audit-diff-was,
.desk-page .audit-diff-now {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9ca3af;
  text-transform: lowercase;
}

.desk-page .audit-diff-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.5rem;
  padding: 0.2rem 0;
  border-bottom: 1px dashed #eee;
}

.desk-page .audit-diff-row:last-child {
  border-bottom: none;
}

.desk-page .audit-diff-label {
  font-weight: 700;
  color: var(--pub-heading);
  min-width: 4.5rem;
}

.desk-page .audit-diff-values {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.desk-page .audit-diff-before {
  color: var(--muted);
  text-decoration: line-through;
}

.desk-page .audit-diff-arrow {
  color: var(--muted);
  font-weight: 700;
}

.desk-page .audit-diff-after {
  color: var(--pub-accent);
  font-weight: 700;
}

body.plots-drawer-open {
  overflow: hidden;
}

.plots-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(15, 23, 42, 0.35);
}

.plots-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1110;
  width: min(420px, 100vw);
  height: 100%;
  height: 100dvh;
  background: var(--surface);
  border-left: 1px solid var(--pub-border);
  box-shadow: -8px 0 32px rgba(31, 41, 55, 0.12);
  padding: 1.25rem 1.35rem;
  box-sizing: border-box;
  overflow-y: auto;
  animation: drawer-in 0.22s ease;
}

.plots-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.plots-drawer-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--pub-heading);
}

.plots-drawer-sub {
  margin: 0.2rem 0 0;
  font-size: 0.875rem;
}

.plots-drawer-close {
  font-size: 1.35rem;
  line-height: 1;
  padding: 0.25rem 0.55rem;
}

.plots-drawer-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.plots-coord-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  align-items: stretch;
}

.plots-coord-row > .ui-label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}

.plots-coord-row > .ui-label > .ui-input,
.plots-coord-row > .ui-label > input {
  margin-top: auto;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.plots-drawer-form #edit-geo-id {
  width: calc(8ch + 2.75rem);
  max-width: 100%;
  box-sizing: border-box;
}

.plots-drawer-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.35rem;
}

/* Operator reports */
.desk-page .reports-toolbar {
  flex-wrap: wrap;
  gap: 0.5rem 0.65rem;
  align-items: center;
  min-width: 0;
}

.desk-page .reports-toolbar .reports-toolbar-field--wide {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}

.desk-page .reports-toolbar .desk-toolbar-field--geo {
  flex: 1 1 18rem;
  min-width: 14rem;
  max-width: 36rem;
}

.desk-page .reports-toolbar .desk-toolbar-field--geo .ui-combo,
.desk-page .reports-toolbar .desk-toolbar-field--geo .ui-input {
  width: 100%;
  min-width: 0;
}

.desk-page .sg-actions .desk-export-links {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.35rem;
}

.desk-page .sg-preview-footer .desk-export-links {
  margin-right: auto;
}

.desk-page .reports-action-status {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  order: 0;
}

.desk-page .reports-toolbar .reports-action-status {
  align-self: end;
  padding-bottom: 0.2rem;
}

.desk-page .reports-action-status:empty {
  min-height: 0;
}

.desk-page .reports-toolbar > .btn {
  flex: 0 0 auto;
}

.desk-page .reports-advanced-body .desk-toolbar-field {
  align-self: end;
}

.desk-page .report-panel.is-hidden {
  display: none !important;
}

.desk-page .legacy-form-box {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 1rem;
  margin-top: 0.75rem;
  background: var(--bg);
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}

.desk-page .legacy-form-box legend {
  font-weight: 700;
  color: var(--pub-accent);
  padding: 0 0.35rem;
}

.desk-page .filters-grid {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
}

.desk-page .reports-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: end;
}

@media (max-width: 760px) {
  .desk-page .reports-quick-grid {
    grid-template-columns: 1fr;
  }
}

.desk-page .reports-quick-grid .ui-label {
  margin: 0;
}

.desk-page .reports-advanced {
  margin: 0.75rem 0;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 0.65rem 0.85rem;
  background: var(--bg);
}

.desk-page .reports-advanced summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--pub-heading);
}

.desk-page .reports-advanced-body {
  margin-top: 0.65rem;
}

.desk-page .reports-type-fieldset {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 0.65rem 0.85rem;
  margin: 0.75rem 0 0;
}

.desk-page .reports-type-fieldset legend {
  font-weight: 700;
  color: var(--pub-heading);
  padding: 0 0.35rem;
}

.desk-page .reports-type-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.desk-page .reports-type-options label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  cursor: pointer;
}

.desk-page .reports-submit-row,
.desk-page .reports-submit-row--start,
.desk-page .editor-form-actions,
.desk-page .desk-form-grid .ui-actions,
.desk-page .import-actions,
.desk-page .plots-drawer-actions {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem 0.75rem;
  width: 100%;
  margin-top: 1.15rem;
}

.desk-page .reports-submit-row--end {
  justify-content: flex-end;
}

.desk-page .desk-form-grid .ui-actions,
.desk-page .editor-form-actions,
.desk-page .import-actions,
.desk-page .plots-drawer-actions {
  margin-top: 0.35rem;
}

.desk-page .desk-form-grid + .reports-submit-row,
.desk-page .export-fieldset + .reports-submit-row,
.desk-page .reports-type-fieldset + .reports-submit-row {
  margin-top: 1.15rem;
}

.desk-page .reports-submit-row .btn-ghost,
.desk-page .reports-submit-row .btn-secondary,
.desk-page .reports-submit-row a.btn:not(.btn-primary):not(.btn-soft),
.desk-page .desk-form-grid .ui-actions .btn-ghost,
.desk-page .desk-form-grid .ui-actions .btn-secondary,
.desk-page .desk-form-grid .ui-actions a.btn:not(.btn-primary):not(.btn-soft),
.desk-page .editor-form-actions .btn-ghost,
.desk-page .editor-form-actions .btn-secondary,
.desk-page .editor-form-actions a.btn:not(.btn-primary):not(.btn-soft),
.desk-page .import-actions .btn-ghost,
.desk-page .plots-drawer-actions .btn-ghost {
  order: 0;
}

.desk-page .reports-submit-row .btn-primary,
.desk-page .reports-submit-row .btn-soft,
.desk-page .desk-form-grid .ui-actions .btn-primary,
.desk-page .desk-form-grid .ui-actions .btn-soft,
.desk-page .editor-form-actions .btn-primary,
.desk-page .editor-form-actions .btn-soft,
.desk-page .import-actions .btn-primary,
.desk-page .import-actions .btn-soft,
.desk-page .plots-drawer-actions .btn-primary {
  order: 1;
  min-width: 0;
}

.desk-page .reports-submit-row .btn-primary,
.desk-page .desk-form-grid .ui-actions .btn-primary,
.desk-page .editor-form-actions .btn-primary,
.desk-page .import-actions .btn-primary,
.desk-page .plots-drawer-actions .btn-primary {
  margin-left: auto;
}

.desk-page .editor-danger-zone .reports-submit-row {
  margin-top: 0.85rem;
  justify-content: flex-end;
}

.desk-page .editor-danger-zone .reports-submit-row .btn-primary,
.desk-page .editor-danger-zone .reports-submit-row .btn-danger,
.desk-page .editor-danger-zone .reports-submit-row .btn-soft {
  margin-left: 0;
  order: 0;
}

.desk-page .report-panel > .desk-form-grid {
  padding-left: 0.15rem;
}

.desk-page .reports-submit-row--compact .btn-primary,
.desk-page .reports-submit-row--compact .btn-soft {
  margin-left: 0;
  order: 0;
}

.desk-page .dup-export {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: none;
  width: 100%;
}

.desk-page .dup-export__group {
  padding: 0.85rem 1rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--bg);
}

.desk-page .dup-export__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.55rem;
}

.desk-page .dup-export__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--pub-heading);
}

.desk-page .dup-export__note {
  font-size: 0.8125rem;
  line-height: 1.35;
}

.desk-page .dup-export__csv-row {
  align-items: flex-end;
  gap: 0.65rem 1rem;
  margin: 0;
}

.desk-page .dup-export__csv-btns {
  margin: 0;
}

.desk-page .ui-label-text {
  display: block;
  white-space: nowrap;
}

.desk-page .um-filter-bar .desk-filter-bar__search {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  max-width: none;
}

.desk-page #voc-section #list-search {
  flex: 1 1 42ch;
  width: auto;
  min-width: 32ch;
  max-width: none;
}
.desk-page .reports-submit-row .btn-primary ~ .btn-primary,
.desk-page .reports-submit-row .btn-primary ~ .btn-soft,
.desk-page .desk-form-grid .ui-actions .btn-primary ~ .btn-primary,
.desk-page .desk-form-grid .ui-actions .btn-primary ~ .btn-soft,
.desk-page .editor-form-actions .btn-primary ~ .btn-primary,
.desk-page .editor-form-actions .btn-primary ~ .btn-soft,
.desk-page .import-actions .btn-primary ~ .btn-primary,
.desk-page .import-actions .btn-primary ~ .btn-soft,
.desk-page .plots-drawer-actions .btn-primary ~ .btn-primary {
  margin-left: 0;
}

/* Seasons graph (Периодизация года) */
.desk-page .sg-config {
  margin-top: 0.85rem;
  max-width: 56rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--surface);
  overflow: hidden;
}

.desk-page .sg-station-head {
  padding: 1rem 1.15rem 0.85rem;
  background: linear-gradient(180deg, var(--pub-accent-soft) 0%, var(--surface) 100%);
  border-bottom: 1px solid var(--pub-border);
}

.desk-page .sg-station-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--pub-heading);
  line-height: 1.35;
}

.desk-page .sg-station-hint {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
}

.desk-page .sg-subdivision-label {
  display: block;
  margin: 0;
  padding: 0.85rem 1.15rem 0;
}

.desk-page .sg-rank {
  padding: 0.75rem 1.15rem 0;
}

.desk-page .sg-years-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--bg);
}

.desk-page .sg-section-label {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--pub-muted, var(--muted));
}

.desk-page .sg-years-inputs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
}

.desk-page .sg-year-field {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  color: var(--pub-heading);
  margin: 0;
}

.desk-page .sg-year-field .ui-input {
  width: 5.5rem;
}

.desk-page .sg-year-sep {
  color: var(--pub-muted, var(--muted));
  font-weight: 600;
}

.desk-page .sg-options-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 0.75rem;
  margin-top: 0.75rem;
}

@media (max-width: 820px) {
  .desk-page .sg-options-grid {
    grid-template-columns: 1fr;
  }
}

.desk-page .sg-section-card {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 0.8rem 0.9rem 0.9rem;
  background: var(--surface);
}

.desk-page .sg-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.desk-page .sg-section-title {
  margin: 0 0 0.55rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--pub-heading);
}

.desk-page .sg-section-head .sg-section-title {
  margin-bottom: 0;
}

.desk-page .sg-cat-toolbar {
  display: flex;
  gap: 0.35rem;
}

.desk-page .sg-link-btn {
  border: none;
  background: transparent;
  padding: 0.15rem 0.35rem;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--pub-accent);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.desk-page .sg-link-btn:hover {
  color: var(--pub-heading);
}

.desk-page .sg-cat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem 0.65rem;
}

@media (max-width: 520px) {
  .desk-page .sg-cat-grid {
    grid-template-columns: 1fr;
  }
}

.desk-page .sg-cat-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.28rem 0.35rem;
  border-radius: 6px;
  cursor: pointer;
}

.desk-page .sg-cat-item:hover {
  background: #f4faf2;
}

.desk-page .sg-display-options {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.desk-page .sg-display-opt {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 0;
  padding: 0.35rem 0.4rem;
  border-radius: 6px;
  cursor: pointer;
  line-height: 1.35;
}

.desk-page .sg-display-opt:hover {
  background: var(--bg);
}

.desk-page .sg-opt-line {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.desk-page .sg-swatch {
  flex-shrink: 0;
  width: 1.35rem;
  height: 0.22rem;
  border-radius: 2px;
}

.desk-page .sg-swatch--green {
  background: #008000;
}

.desk-page .sg-swatch--red {
  background: #e53935;
}

.desk-page .sg-swatch--blue {
  background: #1e40af;
  height: 0.65rem;
  width: 0.14rem;
  border-radius: 1px;
}

.desk-page .sg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.75rem;
  padding: 1rem 1.15rem 1.1rem;
  margin-top: 0.85rem;
  border-top: 1px solid var(--pub-border);
  background: var(--bg);
}

.desk-page .sg-actions .btn-primary {
  min-width: 11rem;
}

.desk-page .sg-empty {
  border: 1px dashed var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 1rem;
  text-align: center;
  background: var(--surface);
}

.desk-page .sg-empty-title {
  margin: 0 0 0.25rem;
  font-weight: 800;
  color: var(--pub-heading);
}

.desk-page .reports-empty {
  border: 1px dashed var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 1.25rem 1rem;
  text-align: center;
  margin-top: 1rem;
  background: var(--surface);
}

.desk-page .reports-empty-title {
  font-weight: 800;
  color: var(--pub-heading);
  margin-bottom: 0.35rem;
}

.desk-page .reports-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.85rem 0 0.65rem;
}

.desk-page .reports-stat-badge {
  display: inline-flex;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--pub-border);
  background: var(--bg);
  font-size: 0.8125rem;
  font-weight: 600;
}

.desk-page .reports-download-text {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--muted);
}

.desk-page .reports-dl-link {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--pub-accent);
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}

.desk-page .reports-dl-link:hover {
  text-decoration: underline;
}

.desk-page .reports-download-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem 0.55rem;
  margin-top: 0.85rem;
  width: 100%;
}

.desk-page .reports-download-row .reports-form-status {
  flex: 1 1 12rem;
  margin: 0;
  min-width: 8rem;
  align-self: center;
}

.desk-page .reports-download-row .desk-export-links,
.desk-page .reports-form-footer .desk-export-links,
.desk-page .sg-preview-footer .desk-export-links {
  margin-left: 0;
  margin-right: 0;
}

.desk-page .reports-download-row .btn-primary {
  margin-left: 0;
  order: 0;
}

.desk-page .reports-download-row.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.desk-page .cal-years-seasons {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem 1.1rem;
  align-items: stretch;
}

.desk-page .cal-years-block {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.desk-page .cal-years-caption {
  font-weight: 700;
  color: var(--pub-heading);
  margin: 0 0 0.4rem;
  line-height: 1.3;
}

.desk-page .cal-years-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: end;
  flex: 1;
}

.desk-page .cal-seasons-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
  margin: 0;
  min-width: 12.5rem;
  padding: 0.45rem 0.85rem 0.55rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
}

.desk-page .cal-seasons-box legend {
  font-weight: 700;
  color: var(--pub-accent);
  padding: 0 0.35rem;
}

.desk-page .cal-save-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.85rem;
  margin-top: 0.85rem;
  width: 100%;
}

.desk-page .cal-save-row .reports-form-status {
  flex: 1 1 14rem;
  min-width: 0;
  margin: 0;
}

@media (max-width: 760px) {
  .desk-page .cal-years-seasons {
    grid-template-columns: 1fr;
  }
}

.desk-page .report-panel .export-cite {
  margin-top: 1.15rem;
}

.desk-page .reports-table-compact th,
.desk-page .reports-table-compact td,
.desk-page .plots-table-compact th,
.desk-page .plots-table-compact td,
.desk-page .audit-table-compact th,
.desk-page .audit-table-compact td {
  padding: var(--table-cell-pad-compact-y) var(--table-cell-pad-compact-x);
  font-size: var(--table-font-size-compact);
  line-height: 1.35;
  vertical-align: var(--table-v-align);
}

.desk-page .reports-table-compact thead th,
.desk-page .plots-table-compact thead th,
.desk-page .audit-table-compact thead th,
.desk-page .users-table thead th,
.desk-page #reg-table thead th,
.desk-page #logins-table thead th {
  font-size: var(--table-font-size-compact);
  font-weight: 600;
  white-space: nowrap;
  vertical-align: var(--table-v-align);
  color: var(--pub-heading);
}

.desk-page .reports-table-fill {
  width: 100%;
  min-width: 48rem;
  table-layout: fixed;
}

.desk-page #st-results,
.desk-page #st-section {
  overflow-x: auto;
  width: 100%;
}

.desk-page #st-section .plots-search-bar,
.desk-page #st-section .st-table-toolbar {
  margin-bottom: 0.55rem;
  justify-content: flex-start;
}

.desk-page #st-section .st-table-toolbar .st-search-field {
  flex: 1 1 14rem;
  min-width: 12rem;
  max-width: 26rem;
}

.desk-page #st-section .st-table-toolbar .desk-toolbar-field--narrow {
  flex: 0 0 auto;
  margin-left: 0;
}

/* Статистика: заголовки целиком в 1 строку; узкие id/категория; индикатор тянется. */
.desk-page #st-table.reports-table-fill {
  min-width: 64rem;
  width: max-content;
  max-width: none;
  table-layout: auto;
}

.desk-page #st-table th,
.desk-page #st-table td {
  vertical-align: middle;
  box-sizing: border-box;
  padding: 0.35rem 0.4rem;
}

.desk-page #st-table th {
  white-space: nowrap;
  line-height: 1.25;
  overflow: visible;
  text-overflow: clip;
}

.desk-page #st-table td {
  overflow: hidden;
}

/* placeID · eventID — узко под число */
.desk-page #st-table th:nth-child(1),
.desk-page #st-table td:nth-child(1),
.desk-page #st-table th:nth-child(5),
.desk-page #st-table td:nth-child(5) {
  width: 1%;
  white-space: nowrap;
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
}

/* Площадка — компактно */
.desk-page #st-table th:nth-child(2),
.desk-page #st-table td:nth-child(2) {
  max-width: 9.5rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Категория */
.desk-page #st-table th:nth-child(3),
.desk-page #st-table td:nth-child(3) {
  max-width: 6.5rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Объект */
.desk-page #st-table th:nth-child(4),
.desk-page #st-table td:nth-child(4) {
  max-width: 9rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Индикатор — основная текстовая колонка */
.desk-page #st-table th:nth-child(6),
.desk-page #st-table td:nth-child(6) {
  min-width: 11rem;
  max-width: 16rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Числовые: одинаково, вправо */
.desk-page #st-table th:nth-child(7),
.desk-page #st-table td:nth-child(7),
.desk-page #st-table th:nth-child(8),
.desk-page #st-table td:nth-child(8),
.desk-page #st-table th:nth-child(9),
.desk-page #st-table td:nth-child(9),
.desk-page #st-table th:nth-child(10),
.desk-page #st-table td:nth-child(10),
.desk-page #st-table th:nth-child(11),
.desk-page #st-table td:nth-child(11),
.desk-page #st-table th:nth-child(12),
.desk-page #st-table td:nth-child(12),
.desk-page #st-table th:nth-child(13),
.desk-page #st-table td:nth-child(13) {
  width: 1%;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  text-align: right;
  text-overflow: ellipsis;
  max-width: 5.25rem;
}

.desk-page #st-table th:nth-child(7),
.desk-page #st-table th:nth-child(8),
.desk-page #st-table th:nth-child(9),
.desk-page #st-table th:nth-child(10),
.desk-page #st-table th:nth-child(11),
.desk-page #st-table th:nth-child(12),
.desk-page #st-table th:nth-child(13) {
  text-align: right;
}

.desk-page .report-result-block.is-hidden {
  display: none !important;
}

.desk-page .ui-table-pager.is-hidden {
  display: none !important;
}

.desk-page .ui-table-pager.is-single-page .btn {
  visibility: hidden;
  pointer-events: none;
}

.desk-page .desk-action-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.15rem;
  border: none;
  background: transparent;
  color: var(--pub-accent);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  border-radius: var(--pub-radius-sm);
}

.desk-page .desk-action-link:hover {
  background: var(--pub-accent-soft);
  text-decoration-thickness: 2px;
}

.desk-page .desk-action-link svg {
  width: 0.95rem;
  height: 0.95rem;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
}

.desk-page .desk-action-link--muted {
  color: var(--muted);
  font-weight: 500;
  text-decoration: none;
}

.desk-page .desk-action-link--muted:hover {
  color: var(--pub-accent);
  text-decoration: underline;
}

.desk-page .desk-action-link--danger {
  color: var(--danger);
  text-decoration: none;
}

.desk-page .desk-action-link--danger:hover {
  background: #fff5f5;
  text-decoration: underline;
}

.desk-page .desk-row-actions {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  align-items: stretch;
  gap: 0.12rem;
}

.desk-page .users-table td.ui-td-actions {
  width: 6.75rem;
  min-width: 0;
  max-width: none;
  padding-right: 0.2rem;
}

.desk-page .users-table th.ui-th-narrow,
.desk-page .users-table td.ui-td-email-login {
  width: 5.9rem;
  min-width: 0;
}

.desk-page .users-table td.ui-td-code {
  min-width: 0;
  max-width: none;
}

.desk-page .users-table .desk-action-link {
  width: 100%;
  justify-content: flex-start;
  white-space: nowrap;
  padding: 0.15rem 0.2rem;
  box-sizing: border-box;
}

.desk-page .field-hint {
  display: block;
  font-size: 0.78rem;
  color: var(--muted);
  margin-top: 0.15rem;
  font-weight: 400;
}

.desk-page .field-hint-block {
  margin: 0.35rem 0 0;
  font-size: 0.875rem;
}

.desk-page .editor-zone-divider {
  margin: 1.35rem 0 1.1rem;
  border: 0;
  border-top: 2px solid var(--pub-border);
}

.desk-page .editor-inline-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.desk-page .field-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: 1px solid var(--pub-border);
  border-radius: 50%;
  background: var(--surface);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  cursor: help;
  line-height: 1;
}

.desk-page .reports-empty--compact {
  padding: 0.65rem 0.85rem;
  margin-top: 0.75rem;
  text-align: left;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-height: 0;
}

.desk-page .reports-empty--compact .reports-empty-icon {
  flex-shrink: 0;
  font-size: 1rem;
  line-height: 1.35;
}

.desk-page .reports-empty--compact .reports-empty-body {
  flex: 1;
  min-width: 0;
}

.desk-page .reports-empty--compact .reports-empty-title {
  margin-bottom: 0.15rem;
  font-size: 0.9rem;
}

.desk-page .reports-empty--compact .muted {
  font-size: 0.8125rem;
  line-height: 1.4;
}

.desk-page .desk-inline-hint {
  margin: 0.65rem 0 0;
  font-size: 0.875rem;
  line-height: 1.45;
}

.desk-page .reports-cite-hint {
  margin-top: 0.35rem;
  max-width: 52rem;
}

.desk-page .report-panel .reports-cite-hint {
  margin: 0.85rem 0 0;
  max-width: none;
  color: var(--pub-action-color);
  font-size: 0.875rem;
  line-height: 1.5;
}

.desk-page .report-panel .reports-cite-hint + .ui-msg {
  margin-top: 0.45rem;
}

.desk-page .reports-toolbar-field--wide .ui-combo {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.desk-page .dup-search-toolbar {
  align-items: flex-end;
  row-gap: 0.55rem;
}

.desk-page .dup-search-toolbar .desk-toolbar-field {
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
}

.desk-page .dup-scope-field {
  flex: 0 1 auto;
  min-width: 0;
}

.desk-page .dup-scope-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.2rem 0;
}

.desk-page .dup-scope-options .ui-check {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--pub-heading);
  cursor: pointer;
  white-space: nowrap;
}

.desk-page .dup-scope-options input[type="radio"],
.desk-page .editor-source-options input[type="radio"],
.desk-page .editor-mode-options input[type="radio"] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--pub-accent, var(--primary));
  flex-shrink: 0;
}

.desk-page .dup-search-toolbar .desk-toolbar-field--geo {
  flex: 1 1 16rem;
  min-width: 14rem;
  max-width: 26rem;
}

.desk-page .dup-search-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-left: auto;
  flex: 0 0 auto;
  padding-bottom: 0.05rem;
}

.desk-page .dup-search-actions .btn {
  flex: 0 0 auto;
}

.desk-page .dup-results-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem;
  margin: 0 0 0.35rem;
}

.desk-page .dup-results-toolbar .ui-label {
  margin: 0;
  min-width: 8rem;
}

.desk-page .dup-table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin-left: auto;
  align-items: center;
}

.desk-page .dup-search-field {
  flex: 1 1 16rem;
  min-width: 12rem;
}

.desk-page .ui-table tbody tr.is-dup td {
  background: #fff1e0;
}

.desk-page .ui-table tbody tr.is-dup {
  cursor: pointer;
}

.desk-page .ui-table tbody tr.is-dup:focus,
.desk-page .ui-table tbody tr.is-dup:focus-visible {
  outline: none;
}

.desk-page .ui-table tbody tr.is-suspect td {
  background: #fde8ec;
  color: #1c1917;
}

.desk-page .ui-table tbody tr.is-suspect td.muted,
.desk-page .ui-table tbody tr.is-suspect .muted {
  color: #5c4a4e;
}

/* Фокус клика: один фон, без оранжевой обводки поверх розового */
.desk-page .ui-table tbody tr.is-dup.is-dup-focus:not(.is-suspect) td {
  background: #ffe4c4;
  box-shadow: inset 3px 0 0 #d97706;
}

.desk-page .ui-table tbody tr.is-suspect.is-dup-focus td {
  background: #f5ccd6;
  box-shadow: inset 3px 0 0 #be123c;
}

.desk-page .ui-table th.col-num,
.desk-page .ui-table td.col-num {
  width: 2.75rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--muted, #6b7280);
}

.desk-page .dup-issue-cell {
  font-size: 0.8125rem;
  line-height: 1.35;
  max-width: 28rem;
}

.desk-page .merge-conflicts-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
}

.desk-page .merge-conflicts-toolbar .ui-subtitle {
  flex: 1 1 12rem;
  margin: 0;
  color: var(--pub-heading);
}

.desk-page .dup-detail {
  margin-top: 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid #f0d2a8;
  border-radius: var(--pub-radius-sm);
  background: #fffaf3;
}

.desk-page .dup-detail__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
}

.desk-page .dup-detail__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--pub-heading);
}

.desk-page .dup-detail__kind {
  margin: 0 0 0.35rem;
  font-weight: 700;
  font-size: 0.875rem;
}

.desk-page .dup-detail__kind.is-dup {
  color: #b45309;
}

.desk-page .dup-detail__kind.is-suspect {
  color: #9f1239;
}

.desk-page .dup-detail__issue {
  margin: 0 0 0.55rem;
  line-height: 1.45;
  white-space: pre-wrap;
}

.desk-page .dup-detail__hint {
  margin: 0 0 0.35rem;
  font-size: 0.8125rem;
}

.desk-page .dup-detail__peers {
  margin: 0;
  padding-left: 1.15rem;
}

.desk-page .dup-detail__peers li {
  margin: 0 0 0.3rem;
  line-height: 1.4;
}

.desk-page .dup-detail__peers li.is-current {
  font-weight: 700;
}

.desk-page .dup-detail-peer-id {
  font-variant-numeric: tabular-nums;
}

html[data-theme="dark"] .desk-page .ui-table tbody tr.is-dup td {
  background: #5c4030;
  color: #fff7ed;
}

html[data-theme="dark"] .desk-page .ui-table tbody tr.is-suspect td {
  background: #5c3040;
  color: #fff7ed;
}

html[data-theme="dark"] .desk-page .ui-table tbody tr.is-dup.is-dup-focus:not(.is-suspect) td {
  background: #7a5230;
  box-shadow: inset 3px 0 0 #fdba74;
}

html[data-theme="dark"] .desk-page .ui-table tbody tr.is-suspect.is-dup-focus td {
  background: #7a3a4a;
  box-shadow: inset 3px 0 0 #fda4af;
}

html[data-theme="dark"] .desk-page .dup-detail {
  background: #3a2e24;
  border-color: #8a6a40;
}

html[data-theme="dark"] .desk-page .dup-detail__kind.is-dup {
  color: #fdba74;
}

html[data-theme="dark"] .desk-page .dup-detail__kind.is-suspect {
  color: #fda4af;
}

.desk-page .editor-danger-zone {
  margin-top: 0;
  margin-left: 0.35rem;
  margin-right: 0.35rem;
  padding: 1.15rem 1.3rem 1.25rem 1.45rem;
  border: 1px solid #c08080;
  border-radius: var(--pub-radius-sm);
  background: var(--surface);
}

.desk-page .editor-danger-zone__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--danger);
}

.desk-page .editor-danger-warning {
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.7rem;
  border-radius: var(--pub-radius-sm);
  border: 1px solid #c08080;
  background: color-mix(in srgb, var(--danger) 16%, var(--surface));
  color: var(--text);
  font-size: 0.875rem;
  line-height: 1.45;
}

.desk-page .editor-selection-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.desk-page .editor-selection-stats .reports-stat-badge--danger {
  border-color: #fca5a5;
  background: var(--surface);
  color: #991b1b;
}

.desk-page .editor-source-fieldset,
.desk-page .editor-mode-fieldset {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: var(--surface);
}

.desk-page .editor-source-fieldset legend,
.desk-page .editor-mode-fieldset legend {
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0 0.25rem;
}

.desk-page .editor-source-options,
.desk-page .editor-mode-options {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: 0.35rem;
}

.desk-page .editor-source-panel {
  margin-top: 0.65rem;
}

.desk-page .btn-danger {
  background: #dc2626;
  border-color: #b91c1c;
  color: #fff;
}

.desk-page .btn-danger:hover {
  background: #b91c1c;
  border-color: #991b1b;
}

.desk-page .btn-danger:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.desk-page .ui-table .col-check {
  width: 2.25rem;
  text-align: center;
  vertical-align: middle;
}

.desk-page .report-tab-btn .tab-icon {
  margin-right: 0.25rem;
}

.desk-page .editor-merge-info {
  margin: 0.5rem 0 0;
  padding: 0.65rem 0.85rem;
  border-radius: var(--pub-radius-sm);
  border: 1px solid var(--pub-border);
  background: var(--pub-accent-soft);
  color: var(--text);
  font-size: 0.9rem;
  line-height: 1.45;
}

.desk-page .program-details {
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  background: var(--surface-2, var(--bg));
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  color: var(--text);
  white-space: pre-wrap;
  font-size: 0.9rem;
  line-height: 1.5;
}

.desk-page .program-details.muted {
  color: var(--text);
}

.desk-page .um-item {
  margin-bottom: 0.75rem;
}

.desk-page .um-item summary {
  cursor: pointer;
  padding: 0.35rem 0;
}

/* Редактор: формы, таблицы, структура, цитаты */
.desk-page .editor-form-fields {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  align-items: stretch;
}

.desk-page .editor-form-fields > .ui-label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  align-self: stretch;
}

.desk-page .editor-form-fields > .ui-label > .ui-input,
.desk-page .editor-form-fields > .ui-label > input,
.desk-page .editor-form-fields > .ui-label > select,
.desk-page .editor-form-fields > .ui-label > textarea {
  margin-top: auto;
}

.desk-page .editor-form-fields--stack {
  grid-template-columns: 1fr;
  max-width: 42rem;
}

.desk-page .editor-form-fields .ui-label {
  font-size: 0.9rem;
}

.desk-page .editor-form-actions {
  margin-top: 0.35rem;
}

.desk-page .editor-form-actions .btn {
  flex: 0 1 auto;
  min-width: 8.5rem;
}

.desk-page .editor-panel-divider {
  margin: 1.15rem 0 0.85rem;
  border: 0;
  border-top: 1px solid var(--pub-border);
}

.desk-page .editor-subsection-title {
  margin: 0 0 0.65rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--pub-accent);
}

.desk-page .editor-table-wrap {
  margin-top: 0.65rem;
}

.desk-page .ui-table .editor-preview-cell {
  max-width: 28rem;
  font-size: 0.875rem;
  color: #4b5563;
  line-height: 1.45;
}

.desk-page .desk-row-clickable {
  cursor: pointer;
}

.desk-page .desk-row-clickable:hover td {
  background: var(--pub-accent-soft);
}

.desk-page .desk-table-hint {
  margin: 0.45rem 0 0;
  font-size: 0.8125rem;
}

.desk-page .desk-content-source-note {
  font-size: 0.8125rem;
  line-height: 1.45;
  max-width: 72rem;
}

.desk-page .editor-structure-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  width: 100%;
}

.desk-page .editor-tree-card {
  background: var(--surface);
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);
  box-shadow: var(--pub-shadow);
  padding: 1.25rem 1.5rem;
  min-width: 0;
}

.desk-page .editor-tree-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: flex-end;
  margin-bottom: 0.75rem;
}

.desk-page .editor-tree-toolbar .ui-label {
  min-width: 5.5rem;
}

.desk-page .editor-tree-toolbar .ui-input,
.desk-page .editor-tree-toolbar input[type="number"] {
  width: 5.5rem;
}

.desk-page .ui-table-scroll-box {
  max-height: min(52vh, 520px);
  overflow: auto;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
}

.desk-page .ui-table-scroll-box--fill {
  max-height: calc(100dvh - 15.5rem);
  min-height: 16rem;
}

.desk-page .editor-export-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
  align-items: flex-end;
}

.desk-page .editor-export-form .ui-label {
  min-width: 7rem;
}

.desk-page .editor-export-form input[type="number"] {
  width: 6.5rem;
}

.desk-page .um-quote-list {
  display: grid;
  gap: 0.85rem;
}

.desk-page .um-quote-card {
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-md);
  background: linear-gradient(135deg, var(--bg) 0%, var(--surface) 55%);
  overflow: hidden;
}

.desk-page .um-quote-card__head {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 1rem 1.15rem 0.65rem;
  border-bottom: 1px solid #e8efe6;
}

.desk-page .um-quote-card__mark {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--pub-accent-soft);
  color: var(--pub-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.desk-page .um-quote-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--pub-heading);
}

.desk-page .um-quote-card__id {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  color: var(--muted);
}

.desk-page .um-quote-card__body {
  padding: 0.85rem 1.15rem 1rem;
}

.desk-page .um-quote-card__excerpt {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text);
  white-space: pre-wrap;
}

.desk-page .um-quote-card__edit {
  padding: 0 1.15rem 1.15rem;
}

.desk-page .um-quote-card details > summary {
  list-style: none;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pub-accent);
  padding: 0.35rem 0;
}

.desk-page .um-quote-card details > summary::-webkit-details-marker {
  display: none;
}

.export-check-list {
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--pub-border);
  border-radius: 8px;
  padding: 0.35rem 0.75rem;
  background: var(--surface);
}

.export-check-list.is-empty,
.export-check-list:empty {
  display: none;
}

.export-check-list.is-empty-hint {
  display: block;
  max-height: none;
  overflow: visible;
  border: none;
  padding: 0.15rem 0 0;
  background: transparent;
}

.export-check-list label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  padding: 0.4rem 0;
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
}

.export-check-all {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0;
  font-weight: 500;
}

.desk-page .export-fieldset {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  padding: 0.85rem 1rem 1rem;
  margin: 0 0 0.85rem;
  background: var(--surface);
}

.desk-page .export-fieldset legend {
  font-weight: 700;
  font-style: italic;
  color: var(--pub-heading);
  padding: 0 0.4rem;
}

.desk-page .export-fieldset .ui-label,
.desk-page .export-fieldset .desk-form-grid .ui-label {
  margin: 0;
}

.desk-page .export-fieldset .desk-form-grid {
  width: 100%;
  max-width: none;
}

.desk-page .export-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  width: 100%;
  margin-top: 1.15rem;
}

.desk-page .export-actions .btn-primary,
.desk-page .export-actions .btn-soft,
.desk-page .export-actions .btn-ghost {
  order: 0;
  margin-left: 0;
}

.desk-page .export-actions__download {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-left: auto;
}

.desk-page .export-actions__label {
  font-size: 0.875rem;
  color: var(--muted, #6b756f);
  margin-right: 0.15rem;
}

.desk-page .export-status {
  min-height: 0;
  margin: 0.45rem 0 0;
  text-align: center;
}

.desk-page .export-status:empty {
  display: none;
  margin: 0;
}

.desk-page .export-cite {
  margin: 0.65rem auto 0;
  max-width: 40rem;
  text-align: center;
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--pub-border);
  border-radius: var(--pub-radius-sm);
  background: rgba(58, 90, 56, 0.06);
}

.desk-page .export-cite p {
  margin: 0;
  color: var(--pub-action-color, var(--text));
  font-size: 0.875rem;
  line-height: 1.55;
}

.desk-page[data-export-mode] .desk-main > .report-panel {
  padding-bottom: 0.75rem;
}

.desk-page .ui-toolbar--compact {
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
}

.desk-page .ui-toolbar--compact select,
.desk-page .ui-toolbar--compact select.ui-input,
.desk-main .ui-toolbar--compact select {
  flex: 0 0 auto;
}

.desk-page .ui-toolbar--compact .btn {
  flex: 0 0 auto;
}

.desk-page #registrations-section .ui-subtitle {
  margin: 0 0 0.4rem;
}

.desk-page #registrations-section .reg-lead {
  max-width: none;
  width: 100%;
  margin: 0 0 0.55rem;
}

.desk-page #reg-status-filter {
  display: block;
  width: calc(14ch + 2.4rem);
  min-width: calc(14ch + 2.4rem);
  max-width: calc(14ch + 2.4rem);
  height: var(--control-height);
  min-height: var(--control-height);
  max-height: var(--control-height);
  margin: 0 0 0.65rem;
  box-sizing: border-box;
  padding-top: 0.28rem;
  padding-bottom: 0.28rem;
}

.desk-page .ui-table {
  width: 100%;
  max-width: 100%;
}

.desk-page .ui-table th,
.desk-page .ui-table td {
  overflow-wrap: break-word;
  word-break: normal;
}

.desk-page .ui-table th.ui-th-actions,
.desk-page .ui-table td.ui-td-actions {
  overflow-wrap: normal;
  word-break: normal;
}

.desk-page #registrations-section {
  overflow: visible;
}

.desk-page .reg-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.desk-page #reg-table {
  table-layout: fixed;
  width: 100%;
  min-width: 0;
}

.desk-page #reg-table thead th {
  white-space: nowrap;
  vertical-align: var(--table-v-align);
  overflow: hidden;
  text-overflow: ellipsis;
}

.desk-page #reg-table th:nth-child(1),
.desk-page #reg-table td:nth-child(1) {
  width: 2.6rem;
  white-space: nowrap;
}

.desk-page #reg-table th:nth-child(2),
.desk-page #reg-table td:nth-child(2) {
  width: 5.4rem;
  white-space: nowrap;
}

.desk-page #reg-table th:nth-child(3),
.desk-page #reg-table td.ui-td-person {
  width: 7.6rem;
  min-width: 7.6rem;
  overflow: visible;
  vertical-align: var(--table-v-align);
}

.desk-page #reg-table th:nth-child(4),
.desk-page #reg-table td.ui-td-email {
  width: 5.5rem;
  min-width: 0;
  overflow: hidden;
}

.desk-page #reg-table td.ui-td-person span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
  line-height: 1.25;
  max-height: calc(1.25em * 3);
}

.desk-page #reg-table td.ui-td-email span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.desk-page #reg-table th:nth-child(5) {
  width: 12rem;
  min-width: 12rem;
  max-width: 12rem;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.desk-page #reg-table td.ui-td-role {
  width: 12rem;
  min-width: 12rem;
  max-width: 12rem;
  overflow: hidden;
  vertical-align: var(--table-v-align);
}

.desk-page #reg-table th:nth-child(7),
.desk-page #reg-table td.ui-td-status {
  width: 4.6rem;
  white-space: nowrap;
}

.desk-page #reg-table td.ui-td-geos {
  width: auto;
  min-width: 0;
  vertical-align: var(--table-v-align);
  overflow: hidden;
}

.desk-page #reg-table th.ui-th-actions,
.desk-page #reg-table td.ui-td-actions {
  width: 7.2rem;
  min-width: 0;
  overflow: hidden;
  vertical-align: var(--table-v-align);
}

.desk-page .ui-row-actions--reg {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  gap: 0.28rem;
}

.desk-page #reg-table .ui-row-actions--reg .ui-input,
.desk-page #reg-table .ui-row-actions--reg .btn-table {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.desk-page #reg-table .ui-row-actions--reg .btn-table--compact {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  padding: 0.14rem 0.4rem;
  font-size: 0.72rem;
  line-height: 1.15;
}

.desk-page #reg-table .ui-row-actions--reg .ui-input {
  min-height: 1.7rem;
  padding-top: 0.14rem;
  padding-bottom: 0.14rem;
  font-size: 0.72rem;
}

.desk-page #reg-table .reg-geo-edit__chips {
  max-width: 100%;
}

.desk-page .reg-geo-edit {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0.35rem;
  min-width: 0;
}

.desk-page .reg-geo-edit__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}

.desk-page .reg-geo-edit .ui-combo {
  width: 100%;
  min-width: 0;
  max-width: 6.8rem;
  overflow: visible;
}

.desk-page .reg-geo-edit .ui-combo .ui-input,
.desk-page .reg-geo-edit .ui-combo input {
  min-height: 1.7rem;
  padding: 0.12rem 0.35rem;
  font-size: 0.72rem;
}

.desk-page #reg-table .reg-geo-edit .ui-combo-list {
  z-index: 160;
  min-width: 16rem;
  max-width: 22rem;
  max-height: 8.4rem;
  overflow-x: hidden;
  overflow-y: auto;
}

.desk-page #reg-table .reg-geo-edit .ui-combo-option {
  padding: 0.32rem 0.7rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.desk-page button.users-geo-chip {
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.desk-page button.users-geo-chip--remove:hover {
  background: #fdecea;
  border-color: #f5c6c2;
}

.desk-page .desk-filter-bar--inline > .ui-combo {
  flex: 0 1 auto;
  width: calc(18ch + 2.4rem);
  min-width: 14ch;
  max-width: 28rem;
}

.desk-page .desk-table-meta {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.45rem 0.75rem;
  flex-wrap: wrap;
  margin: 0.15rem 0 0.5rem;
  min-height: 1.4rem;
}

.desk-page .desk-table-meta .desk-toolbar-stat,
.desk-page .desk-table-meta .desk-toolbar-stats,
.desk-page .desk-table-meta .reports-stat-badge,
.desk-page .desk-table-meta .plots-stat-badge {
  margin-left: 0;
}

.desk-page .desk-filter-bar--inline .desk-filter-bar__actions {
  margin-left: 0;
}

#logins-status {
  width: calc(15ch + 2.4rem);
  min-width: calc(15ch + 2.4rem);
  max-width: calc(15ch + 2.4rem);
}

#users-search {
  flex-basis: 28ch;
  width: 28ch;
  max-width: 32ch;
}

#logins-search {
  flex-basis: 24ch;
  width: 24ch;
}

#ab-section #search {
  flex-basis: 28ch;
  width: 28ch;
}

#list-search {
  flex-basis: 42ch;
  width: auto;
  min-width: 36ch;
  max-width: none;
}

.desk-page .structure-edit-btn {
  white-space: nowrap;
  padding: 0.28rem 0.65rem;
  font-size: 0.8125rem;
}

.desk-page .structure-toolbar {
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.55rem 0.75rem;
}

.desk-page .structure-toolbar__add {
  margin-left: auto;
}

.desk-page .structure-search-field {
  position: relative;
  flex: 0 1 22rem;
  min-width: 12rem;
  max-width: 28rem;
}

.desk-page .structure-toolbar > .desk-toolbar-field--narrow {
  flex: 0 0 auto;
}

.desk-page .structure-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.35rem;
  min-width: 0;
  flex: 1 1 16rem;
  font-size: 0.875rem;
  color: var(--muted, #a7c4b5);
}

.desk-page .structure-crumb {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
}

.desk-page .structure-crumb--link {
  color: var(--accent-soft, #b7e0c8);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.desk-page .structure-crumb.is-current {
  color: var(--text, #e8f5ee);
  font-weight: 600;
}

.desk-page .structure-crumb-sep {
  opacity: 0.55;
}

.desk-page .structure-search-hits {
  position: absolute;
  z-index: 40;
  left: 0;
  right: 0;
  top: calc(100% + 0.25rem);
  max-height: 16rem;
  overflow: auto;
  border: 1px solid var(--pub-border, rgba(183, 224, 200, 0.25));
  border-radius: 8px;
  background: var(--surface, #143528);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.desk-page .structure-search-hit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(183, 224, 200, 0.12);
  background: transparent;
  color: inherit;
  text-align: left;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  font: inherit;
}

.desk-page .structure-search-hit:hover,
.desk-page .structure-search-hit:focus-visible {
  background: rgba(183, 224, 200, 0.1);
}

.desk-page .structure-search-hit__title {
  font-weight: 600;
}

.desk-page .structure-search-empty {
  padding: 0.65rem 0.75rem;
}

.desk-page .structure-split {
  display: grid;
  grid-template-columns: minmax(220px, 30%) minmax(0, 1fr);
  gap: 0.85rem 1rem;
  align-items: stretch;
  min-height: 420px;
  margin-top: 0.65rem;
}

.desk-page .structure-split__tree {
  border: 1px solid var(--pub-border);
  border-radius: 10px;
  background: var(--surface);
  overflow: auto;
  max-height: min(72vh, 640px);
  color: var(--text);
}

.desk-page .structure-split__table {
  min-width: 0;
}

.desk-page .structure-tree-root-label {
  padding: 0.55rem 0.7rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--muted);
  border-bottom: 1px solid var(--pub-border);
}

.desk-page .structure-tree-list,
.desk-page .structure-tree-children {
  list-style: none;
  margin: 0;
  padding: 0.35rem 0 0.5rem;
}

.desk-page .structure-tree-children {
  padding-left: 0.85rem;
  margin-left: 0.55rem;
  border-left: 2px solid var(--pub-border);
}

.desk-page .structure-tree-node {
  margin: 0.08rem 0;
}

.desk-page .structure-tree-empty {
  padding: 0.4rem 0.7rem;
  font-size: 0.8125rem;
  color: var(--muted);
}

.desk-page .structure-tree-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 6px;
  padding-right: 0.35rem;
}

.desk-page .structure-tree-row.is-selected {
  background: var(--pub-accent-soft);
}

.desk-page .structure-tree-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.45rem;
  width: 1.45rem;
  height: 1.45rem;
  padding: 0;
  border: 1px solid var(--pub-border);
  border-radius: 6px;
  background: var(--pub-accent-soft);
  color: var(--pub-accent);
  cursor: pointer;
  font-size: 0.75rem;
  line-height: 1;
  transition: transform 0.15s ease;
}

.desk-page .structure-tree-toggle.is-expanded {
  transform: rotate(90deg);
}

.desk-page .structure-tree-toggle--leaf {
  border-color: transparent;
  background: transparent;
  cursor: default;
}

.desk-page .structure-tree-label {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  padding: 0.28rem 0.2rem;
  cursor: pointer;
  font: inherit;
  font-size: 0.875rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.desk-page .structure-tree-label .muted {
  color: var(--muted);
}

.desk-page .structure-title-link {
  border: 0;
  background: transparent;
  color: var(--pub-accent);
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 980px) {
  .desk-page .structure-split {
    grid-template-columns: 1fr;
  }

  .desk-page .structure-split__tree {
    max-height: 240px;
  }
}

#panel-objst .editor-danger-zone {
  margin-top: 1.35rem;
}

#panel-objst .desk-form-grid {
  margin-bottom: 0.35rem;
}

.desk-page .register-geo-picker {
  display: grid;
  gap: 0.4rem;
}

.desk-page .users-table td.ui-td-email-login {
  white-space: nowrap;
}

.desk-page .users-table td.ui-td-email-login .btn-table--compact {
  display: inline-flex;
  width: auto;
  max-width: none;
}

@media (max-width: 900px) {
  .desk-page .desk-filter-bar--inline,
  .desk-page .plots-search-bar,
  .desk-page .reports-toolbar {
    flex-wrap: wrap;
  }
}


