/*
 * Desktop all-page density layer.
 * Loaded after styles.css and themes.css so layout safety remains identical in both themes.
 * This file intentionally changes presentation only; business DOM and actions stay untouched.
 */

body:not(.login-active) {
  --desktop-sidebar-width: 196px;
  --desktop-topbar-height: 56px;
  --desktop-content-gap: 10px;
  --density-page-inline: 20px;
  --density-panel-padding: 12px;
  --workspace-wide-max: 1680px;
  --workspace-dashboard-max: 1520px;
  --workspace-reading-max: 1320px;
  --density-page-gap: var(--space-3);
  --density-panel-block: var(--space-2);
  --density-panel-inline: var(--space-3);
}

body:not(.login-active) :is(
  .workspace,
  .workspace-head,
  .toolbar,
  .table-panel,
  .table-wrap,
  .detail-panel,
  .detail-head,
  .detail-form,
  .detail-related,
  .overview-page,
  .overview-dashboard,
  .today-page,
  .today-cockpit,
  .today-cockpit-grid,
  .report-page,
  .report-center,
  .report-layout,
  .report-workspace-grid,
  .report-panel,
  .report-panel-body,
  .report-material-card,
  .data-center-page,
  .data-protection-summary,
  .data-protection-layout,
  .data-protection-panel
) {
  min-width: 0;
}

body:not(.login-active) .app-shell,
body:not(.login-active) .app-shell.today-mode,
body:not(.login-active) .app-shell.overview-mode,
body:not(.login-active) .app-shell.report-mode,
body:not(.login-active) .app-shell.data-center-mode {
  grid-template-columns: var(--desktop-sidebar-width) minmax(0, 1fr);
}

html[data-ui-style] body:not(.login-active) .workspace {
  gap: var(--density-page-gap);
  padding: calc(var(--desktop-topbar-height) + 12px) var(--density-page-inline) 20px;
}

body:not(.login-active) .workspace > :is(.workspace-head, .toolbar, .table-panel) {
  width: min(100%, var(--workspace-wide-max));
  margin-inline: auto;
}

body:not(.login-active) .app-shell.today-mode .workspace > :is(.workspace-head, .today-page),
body:not(.login-active) .app-shell.overview-mode .workspace > :is(.workspace-head, .overview-page) {
  width: min(100%, var(--workspace-dashboard-max));
  margin-inline: auto;
}

body:not(.login-active) .app-shell.report-mode .workspace > :is(.workspace-head, .report-page) {
  width: min(100%, var(--workspace-reading-max));
  margin-inline: auto;
}

body:not(.login-active) .app-shell.data-center-mode .workspace > :is(.workspace-head, .data-center-page) {
  width: min(100%, var(--workspace-wide-max));
  margin-inline: auto;
}

html[data-ui-style] body:not(.login-active) .desktop-topbar {
  height: var(--desktop-topbar-height);
  min-height: var(--desktop-topbar-height);
  padding: 8px var(--density-page-inline);
}

body:not(.login-active) .brand {
  height: var(--desktop-topbar-height);
  min-height: var(--desktop-topbar-height);
}

html[data-ui-style="precision"] body:not(.login-active) .workspace-head {
  padding-bottom: 2px;
}

html[data-ui-style="precision"] body:not(.login-active) .workspace-head h1 {
  font-size: 23px;
  line-height: 30px;
}

/* Shared page heading: content-sized and naturally wrapping. */
body:not(.login-active) .workspace-head,
body:not(.login-active) .app-shell.data-center-mode .workspace-head,
body:not(.login-active) .app-shell.report-mode .workspace-head {
  position: relative;
  display: flex;
  min-height: 0;
  margin: 0;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px 18px;
  border: 0;
  background: transparent;
  padding: 0 0 2px;
}

body:not(.login-active) .workspace-head > div:first-child {
  min-width: 0;
}

body:not(.login-active) .workspace-head h1,
body:not(.login-active) .app-shell.data-center-mode .workspace-head h1 {
  margin: 0;
  font-size: 23px;
  line-height: 30px;
  overflow-wrap: anywhere;
}

body:not(.login-active) .workspace-head p,
body:not(.login-active) .app-shell.data-center-mode .workspace-head p {
  max-width: 780px;
  margin: 1px 0 0;
  font-size: 11px;
  line-height: 17px;
}

body:not(.login-active) .head-actions {
  position: static;
  right: auto;
  bottom: auto;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

/* Shared controls, panels and tables. */
body:not(.login-active) :is(.primary-button, .ghost-button, .filter-sort-button) {
  min-height: 34px;
}

body:not(.login-active) :is(.toolbar, .table-panel, .overview-panel, .today-panel, .report-panel, .data-protection-panel) {
  max-width: 100%;
}

body:not(.login-active) .toolbar {
  padding: var(--density-panel-block) var(--density-panel-inline);
}

body:not(.login-active) .filter-row,
body:not(.login-active) .filter-row.project-filter-row {
  gap: 7px;
}

body:not(.login-active) .filter-control {
  min-width: 112px;
}

body:not(.login-active) .table-panel-head {
  min-height: 42px;
  padding: var(--density-panel-block) var(--density-panel-inline);
}

body:not(.login-active) .table-wrap {
  max-width: 100%;
  max-height: calc(100dvh - 208px);
  overflow: auto;
}

body:not(.login-active) .data-table th {
  z-index: 10;
  padding: 7px 10px;
}

body:not(.login-active) .data-table td {
  padding: 7px 10px;
}

body:not(.login-active) :is(.row-title, .row-meta, .cell-secondary, .detail-title, .detail-subtitle) {
  min-width: 0;
  overflow-wrap: anywhere;
}

body:not(.login-active) .detail-overlay { z-index: 90; }
body:not(.login-active) .detail-panel { z-index: 100; }
body:not(.login-active) .detail-head { padding: 12px 15px 10px; }
body:not(.login-active) .detail-form { padding: 11px 15px; }
body:not(.login-active) .detail-related { padding: 9px 15px; }
body:not(.login-active) .detail-actions { padding: 9px 15px; }

/* Today workbench. */
body:not(.login-active) :is(.today-page, .overview-page, .report-page, .data-center-page) {
  padding-bottom: 20px;
}

body:not(.login-active) .today-page {
  padding-inline: 0;
}

body:not(.login-active) .today-page button {
  min-height: 44px;
}

body:not(.login-active) :is(.today-cockpit, .overview-dashboard, .report-center, .data-center-page) {
  gap: var(--density-page-gap);
}

body:not(.login-active) .today-primary-grid { gap: 10px; }

body:not(.login-active) .today-focus-card,
body:not(.login-active) .today-quick-entry,
body:not(.login-active) .today-queue-panel {
  border-radius: 9px;
}

body:not(.login-active) .today-quick-entry-grid {
  gap: 8px;
  padding: 10px 12px;
}

body:not(.login-active) .today-section-head {
  gap: 8px;
  padding: 10px 12px;
}

body:not(.login-active) .today-section-body {
  padding: 10px 12px;
}

body:not(.login-active) .today-action-row {
  gap: 8px;
  padding: 8px 10px;
}

body:not(.login-active) .today-summary-strip button {
  min-height: 52px;
  padding: 7px 11px;
}

body:not(.login-active) .today-cockpit-grid {
  gap: 10px;
}

body:not(.login-active) .today-state-empty {
  min-height: 72px;
}

/* Overview dashboard. */
body:not(.login-active) .overview-summary-band {
  min-height: 82px;
  gap: 14px;
  padding: 11px 13px;
}

body:not(.login-active) .overview-kpi {
  min-height: 78px;
  padding: 10px 12px;
}

body:not(.login-active) .overview-dashboard-head {
  padding: 9px 11px 8px;
}

body:not(.login-active) .overview-panel-body {
  padding: 10px 11px 11px;
}

body:not(.login-active) :is(.overview-analysis-grid, .overview-structure-grid, .overview-analysis-layout) {
  gap: 10px;
}

body:not(.login-active) .overview-trend-chart {
  min-height: 142px;
}

body:not(.login-active) .overview-trend-column-wrap {
  height: 92px;
}

/* Report generator and source cards. */
body:not(.login-active) .report-layout,
body:not(.login-active) .report-workspace-grid {
  gap: 12px;
}

body:not(.login-active) .report-generator-bar .report-panel-body {
  gap: 7px;
  padding: 9px 11px;
}

body:not(.login-active) .report-generator-controls {
  gap: 10px;
}

body:not(.login-active) .report-generator-controls .report-base-status {
  min-height: 62px;
  padding: 8px 10px;
}

body:not(.login-active) .report-panel-head {
  padding: 8px 10px;
}

body:not(.login-active) .report-panel-body {
  padding: 9px 10px;
}

body:not(.login-active) .report-summary-strip.compact {
  gap: 7px;
}

body:not(.login-active) .report-summary-strip.compact .report-summary-item{
  min-height: 56px;
  height: auto;
  gap: 2px;
  padding: 7px 9px;
}

body:not(.login-active) .report-summary-strip.compact .report-summary-item.report-summary-risk {
  min-height: 48px;
  height: auto;
}

body:not(.login-active) .report-summary-strip.compact .report-summary-number {
  min-height: 20px;
  height: auto;
  font-size: 19px;
  overflow: visible;
}

body:not(.login-active) .report-summary-strip.compact .report-summary-label {
  height: auto;
  min-height: 0;
}

body:not(.login-active) .report-material-filter-head {
  margin-top: 8px;
  padding-top: 8px;
}

body:not(.login-active) .report-material-list-compact {
  min-height: 0;
  max-height: min(390px, calc(100dvh - 360px));
  grid-auto-rows: max-content;
  align-content: start;
  margin-top: 7px;
  padding-right: 3px;
}

body:not(.login-active) .report-material-card{
  display: grid;
  height: auto;
  min-height: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 7px 9px;
  align-items: start;
  padding: 9px 10px;
}

body:not(.login-active) .report-material-list-compact .report-material-card {
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "type date"
    "content content";
  gap: 6px 8px;
  padding: 9px 8px;
}

body:not(.login-active) .report-material-list-compact .report-material-card > :nth-child(1) { grid-area: type; }
body:not(.login-active) .report-material-list-compact .report-material-card > :nth-child(2) { grid-area: content; min-width: 0; }
body:not(.login-active) .report-material-list-compact .report-material-card > :nth-child(3) { grid-area: date; justify-self: end; }

body:not(.login-active) .report-material-type {
  max-width: 100%;
  padding: 4px 7px;
  overflow-wrap: anywhere;
}

body:not(.login-active) .report-material-title,
body:not(.login-active) .report-material-desc {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
}

body:not(.login-active) .report-material-title {
  -webkit-line-clamp: 2;
  line-height: 1.4;
}

body:not(.login-active) .report-material-desc {
  margin-top: 3px;
  -webkit-line-clamp: 2;
  line-height: 1.45;
}

body:not(.login-active) .report-material-tags {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 4px 5px;
  margin-top: 5px;
}

body:not(.login-active) .report-material-tags span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body:not(.login-active) .report-material-date {
  min-width: 0;
  line-height: 20px;
  white-space: nowrap;
}

body:not(.login-active) .report-current-card .report-action-stack {
  gap: 6px;
  margin: 7px 0 8px;
}

body:not(.login-active) .report-current-card .report-action-btn {
  min-width: 96px;
  min-height: 32px;
  padding-inline: 12px;
}

body:not(.login-active) .report-paper {
  padding: 15px 17px;
}

/* Database and data-protection tools. */
body:not(.login-active) .data-center-page {
  gap: 10px;
  padding-bottom: 20px;
}

body:not(.login-active) .data-protection-summary {
  grid-template-columns: minmax(250px, 1.2fr) minmax(0, 2fr);
}

body:not(.login-active) .data-protection-status-primary {
  min-height: 88px;
  padding: 13px 15px;
}

body:not(.login-active) .data-protection-status-primary strong {
  font-size: 17px;
}

body:not(.login-active) .data-protection-metric {
  padding: 12px 14px;
}

body:not(.login-active) .data-protection-metric strong {
  margin-top: 3px;
  font-size: 15px;
}

body:not(.login-active) .data-protection-metric small {
  margin-top: 2px;
}

body:not(.login-active) .data-protection-layout {
  gap: 10px;
}

body:not(.login-active) .data-protection-panel-heading {
  padding: 12px 15px 10px;
}

body:not(.login-active) .data-protection-panel-heading h2 {
  margin-top: 2px;
  font-size: 16px;
}

body:not(.login-active) .data-protection-panel-heading p {
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.45;
}

body:not(.login-active) .data-center-filter {
  gap: 7px;
  padding: 9px 15px;
}

body:not(.login-active) .data-protection-trash-list,
body:not(.login-active) .data-protection-timeline {
  padding-inline: 15px;
}

body:not(.login-active) .data-protection-trash-row {
  gap: 12px;
  padding: 12px 0;
}

body:not(.login-active) .data-protection-timeline-item {
  padding: 9px 0;
}

body:not(.login-active) .data-protection-readonly-note {
  margin: 0 15px 14px;
  padding: 9px 10px;
}

body:not(.login-active) .data-protection-empty {
  min-height: 140px;
  padding: 22px 16px;
}

body:not(.login-active) :is(
  .preferences-overlay,
  .report-polish-overlay,
  .report-style-overlay,
  .delete-confirm-overlay,
  .global-search-root,
  .data-center-restore-layer,
  .tpl-editor-overlay,
  #app-confirm-dialog
) { z-index: 200; }
body:not(.login-active) .data-center-restore-header { padding: 18px 20px; }
body:not(.login-active) .data-center-restore-body { padding: 16px 20px 20px; }
body:not(.login-active) .data-center-restore-footer { padding: 12px 20px; }

@media (min-width: 1360px) {
  body:not(.login-active) .report-layout {
    align-items: stretch;
  }

  body:not(.login-active) :is(.report-materials-card, .report-current-card, .report-timeline-card){
    min-height: 0;
    align-self: stretch;
  }

  body:not(.login-active) .report-materials-card {
    display: flex;
    flex-direction: column;
  }

  body:not(.login-active) .report-materials-card > .report-panel-body,
  body:not(.login-active) .report-materials-card .report-condition-materials {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
  }

  body:not(.login-active) .report-materials-card .report-material-list-compact {
    min-height: 0;
    max-height: none;
    flex: 1 1 0;
  }

  html[data-ui-style="precision"] body:not(.login-active) .report-layout{
    gap: 20px;
  }

  html[data-ui-style="precision"] body:not(.login-active) .report-layout {
    width: min(1240px, 100%);
    grid-template-columns: 286px minmax(500px, 1fr) 224px;
  }

}

@media (min-width: 1360px) and (max-width: 1439px) {
  html[data-ui-style="nocturne"] body:not(.login-active) .report-layout {
    width: auto;
    grid-template-columns: minmax(0, 1fr);
  }

  html[data-ui-style="nocturne"] body:not(.login-active) .report-workspace-grid {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
  }

  html[data-ui-style="nocturne"] body:not(.login-active) .report-timeline-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1359px) {
  body:not(.login-active) .report-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.login-active) .report-workspace-grid {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
  }

  body:not(.login-active) .report-timeline-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1199px) {
  html[data-ui-style] body:not(.login-active) {
    --density-page-inline: 15px;
  }

}

@media (max-width: 1120px) {

  body:not(.login-active) .app-shell,
  body:not(.login-active) .app-shell.today-mode,
  body:not(.login-active) .app-shell.overview-mode,
  body:not(.login-active) .app-shell.report-mode,
  body:not(.login-active) .app-shell.data-center-mode {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.login-active) .detail-overlay {
    left: 0;
  }

  body:not(.login-active) .sidebar-overlay { z-index: 90; }
  body:not(.login-active) .sidebar { z-index: 100; }
}

@media (max-width: 960px) {
  html[data-ui-style] body:not(.login-active) {
    --desktop-topbar-height: 104px;
  }

  body:not(.login-active) .desktop-topbar {
    height: var(--desktop-topbar-height);
    min-height: var(--desktop-topbar-height);
    padding-block: 10px;
  }
}

@media (max-width: 1023px) {
  body:not(.login-active) .workspace-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  body:not(.login-active) .head-actions {
    justify-content: flex-start;
  }

  body:not(.login-active) :is(.today-cockpit-grid, .overview-analysis-layout, .report-workspace-grid, .data-protection-summary) {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.login-active) .report-timeline-card {
    grid-column: auto;
  }

  body:not(.login-active) .data-protection-status-primary {
    border-right: 0;
    border-bottom: 1px solid var(--ui-line, var(--line));
  }

  body:not(.login-active) .data-center-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  body:not(.login-active) :is(
    .primary-button,
    .ghost-button,
    .filter-sort-button,
    .today-page button,
    .data-center-page button,
    .report-action-btn
  ) {
    min-height: 44px;
  }
}

@media (max-width: 767px) {
  body:not(.login-active) .data-protection-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  html[data-ui-style="precision"] body:not(.login-active){
    --density-page-inline: 10px;
  }

  body:not(.login-active) .workspace {
    padding-bottom: 14px;
  }

  body:not(.login-active) .data-center-filter,
  body:not(.login-active) .data-protection-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.login-active) .today-action-row {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.login-active) .report-current-card .report-action-btn {
    flex: 1 1 calc(50% - 3px);
    min-width: 0;
  }

  body:not(.login-active) .report-material-card {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.login-active) .report-material-card .report-material-date {
    justify-self: start;
    text-align: left;
  }

  body:not(.login-active) .data-protection-trash-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.login-active) * {
    scroll-behavior: auto;
  }
}
