/* =============================================================================
   Entity view V2 — shared layout (Property Assets V2, Asset Register overview)
   ============================================================================= */

.entity-v2-overview-main,
.assets-v2-main {
  min-width: 0;
  width: 100%;
  max-width: none;
}

/* Right rail grid item + sticky scroll */
.assets-v2-right-rail.mud-grid-item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: stretch;
}

.assets-v2-right-rail--ask-ai.mud-grid-item {
  min-height: calc(100dvh - 9rem);
}

@media (min-width: 960px) {
  .assets-v2-right-rail--ask-ai.mud-grid-item {
    min-height: calc(100dvh - 10.5rem);
  }

  .assets-v2-right-rail.mud-grid-item:not(.assets-v2-right-rail--ask-ai) {
    position: sticky;
    top: 0;
    align-self: flex-start;
    max-height: calc(100dvh - 10.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .org-asset-card--full-detail .assets-v2-right-rail.mud-grid-item:not(.assets-v2-right-rail--ask-ai) {
    max-height: calc(100vh - 220px);
  }
}

.entity-view-sidebar--ask-ai-fill {
  flex: 1 1 auto;
  min-height: inherit;
  gap: 0;
}

/* ---------------------------------------------------------------------------
   V2 Sidebar — lightweight grouped containers (tile-card rhythm)
--------------------------------------------------------------------------- */

.assets-v2-sidebar-clean {
  gap: 24px;
}

.assets-v2-sidebar-clean .mud-paper.tile-card,
.assets-v2-sidebar-clean .entity-sidebar-tile-card.mud-paper,
.assets-v2-sidebar-clean .entity-tickets-widget-card.mud-paper {
  background-color: var(--mud-palette-background-paper, #fff) !important;
  border: 1px solid var(--mud-palette-lines-default, #e5e7eb) !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.assets-v2-sidebar-clean .mud-paper.tile-card .fw-bold,
.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__title,
.assets-v2-sidebar-clean .entity-tickets-widget-card.mud-paper .font-semibold {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
}

.assets-v2-sidebar-clean .mud-paper.tile-card > .d-flex.justify-space-between.mb-3,
.assets-v2-sidebar-clean .entity-sidebar-tile-card > .entity-sidebar-tile-card__header,
.assets-v2-sidebar-clean .entity-tickets-widget-card.mud-paper > .flex.items-center.justify-between {
  margin: 0 -16px 12px -16px !important;
  padding: 0 16px 10px 16px !important;
  border-bottom: 1px solid var(--mud-palette-lines-default, #e5e7eb) !important;
}

.assets-v2-sidebar-clean .mud-paper.tile-card .d-flex.flex-column.gap-2,
.assets-v2-sidebar-clean .entity-tickets-widget-card.mud-paper .d-flex.flex-column.gap-2 {
  gap: 0 !important;
  margin-bottom: 0 !important;
}

.assets-v2-sidebar-clean .mud-paper.tile-card .mud-stack.deal-status-list {
  gap: 0 !important;
}

.assets-v2-sidebar-clean .mud-paper.tile-card .mud-stack > .mud-typography-caption {
  font-size: 0.7rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600 !important;
  color: var(--mud-palette-text-secondary) !important;
  margin-top: 4px;
  margin-bottom: 4px !important;
}

.assets-v2-sidebar-clean .detail-tile {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 16px !important;
  margin: 0 -16px !important;
  border-top: 1px solid var(--mud-palette-lines-default, #e5e7eb) !important;
  transition: background-color 0.15s, color 0.15s;
}

.assets-v2-sidebar-clean .d-flex.flex-column.gap-2 > .detail-tile:first-child,
.assets-v2-sidebar-clean .mud-stack > :first-child .detail-tile,
.assets-v2-sidebar-clean .detail-tile:first-of-type {
  border-top: none !important;
  padding-top: 4px !important;
}

.assets-v2-sidebar-clean .detail-tile-clickable:hover {
  background-color: var(--mud-palette-action-hover) !important;
}

.assets-v2-sidebar-clean .detail-tile-clickable .detail-tile-body .fw-medium {
  color: var(--mud-palette-primary) !important;
  font-weight: 600 !important;
}

.assets-v2-sidebar-clean .detail-tile-clickable:hover .detail-tile-body .fw-medium {
  text-decoration: underline;
}

.assets-v2-sidebar-clean .deal-status-item {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 16px !important;
  margin: 0 -16px !important;
  border-top: 1px solid var(--mud-palette-lines-default, #e5e7eb) !important;
}

.assets-v2-sidebar-clean .deal-status-list .deal-status-item:first-of-type,
.assets-v2-sidebar-clean .mud-stack.deal-status-list > :first-child .deal-status-item {
  border-top: none !important;
  padding-top: 4px !important;
}

.assets-v2-sidebar-clean .deal-status-active {
  background-color: transparent !important;
}

.assets-v2-sidebar-clean .deal-status-item .d-flex.flex-column.gap-0 {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-top: 2px !important;
}

.assets-v2-sidebar-clean .entity-tickets-widget-list {
  display: flex;
  flex-direction: column;
}

.assets-v2-sidebar-clean .entity-tickets-widget-row {
  padding: 10px 16px;
  margin: 0 -16px;
  border-top: 1px solid var(--mud-palette-lines-default, #e5e7eb);
  transition: background-color 0.15s;
}

.assets-v2-sidebar-clean .entity-tickets-widget-row:first-child {
  border-top: none;
  padding-top: 4px;
}

.assets-v2-sidebar-clean .entity-tickets-widget-row:hover {
  background-color: var(--mud-palette-action-hover);
}

.assets-v2-sidebar-clean .entity-tickets-widget-link {
  font-weight: 600;
  transition: text-decoration 0.15s;
}

.assets-v2-sidebar-clean .entity-tickets-widget-row:hover .entity-tickets-widget-link {
  text-decoration: underline;
}

.assets-v2-sidebar-clean .entity-tickets-widget-footer {
  margin: 12px -16px 0 -16px;
  padding: 12px 16px 0 16px;
  border-top: 1px solid var(--mud-palette-lines-default, #e5e7eb);
  display: flex;
  justify-content: flex-end;
}

.assets-v2-sidebar-clean .entity-tickets-widget-view-more {
  font-weight: 500;
  color: var(--mud-palette-primary) !important;
  cursor: pointer;
}

.assets-v2-sidebar-clean .entity-tickets-widget-view-more:hover {
  text-decoration: underline;
}

.assets-v2-sidebar-clean .entity-tickets-widget-card.mud-paper > .mud-typography-body2 {
  display: block;
  padding: 8px 0 4px 0;
  margin: 0 !important;
  color: var(--mud-palette-text-secondary) !important;
}

.assets-v2-sidebar-clean .entity-tickets-widget-card .linked-items-link-action {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 13px;
  border: 1px solid var(--mud-palette-divider);
  color: var(--mud-palette-text-secondary);
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background-color 0.15s;
  user-select: none;
  white-space: nowrap;
}

.assets-v2-sidebar-clean .entity-tickets-widget-card .linked-items-link-action:hover {
  border-color: var(--mud-palette-primary);
  color: var(--mud-palette-primary);
  background-color: var(--mud-palette-action-hover);
}

.assets-v2-sidebar-clean .entity-tickets-widget-card .entity-tickets-widget-actions .mud-menu .mud-icon-button {
  padding: 4px !important;
}

/* Asset register relationship rows inside sidebar tile */
.assets-v2-sidebar-clean .asset-relationships-list .asset-relationships-row {
  padding: 10px 16px;
  margin: 0 -16px;
  border-top: 1px solid var(--mud-palette-lines-default, #e5e7eb);
}

.assets-v2-sidebar-clean .asset-relationships-list .asset-relationships-row:first-child {
  border-top: none;
  padding-top: 4px;
}

/* Sidebar tile body — empty states and secondary copy (match Tickets card) */
.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .mud-typography-body2,
.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .mud-alert,
.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .mud-progress-linear {
  margin-top: 0;
}

.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .mud-typography-body2.mud-secondary-text,
.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .asset-relationships-section__empty {
  display: block;
  padding: 8px 0 4px;
  margin: 0 !important;
}

/* Relationships card — internal section subheadings */
.assets-v2-sidebar-clean .asset-relationships-card .asset-relationships-section + .asset-relationships-section {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.assets-v2-sidebar-clean .asset-relationships-card .asset-relationships-section + .asset-relationships-section > .asset-relationships-section__header {
  margin: 12px -16px 8px;
  padding: 12px 16px 0;
  border-top: 1px solid var(--mud-palette-lines-default, #e5e7eb);
}

.assets-v2-sidebar-clean .asset-relationships-card .asset-relationships-section:first-child > .asset-relationships-section__header {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.assets-v2-sidebar-clean .asset-relationships-card .asset-relationships-section__header {
  margin-bottom: 4px;
}

/* Integrations / tables inside sidebar tiles — align with padded card edges */
.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .mud-stack,
.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .mud-simple-table {
  margin-top: 4px;
}

.assets-v2-sidebar-clean .entity-sidebar-tile-card .entity-sidebar-tile-card__body > .mud-simple-table {
  margin-left: -16px;
  margin-right: -16px;
  width: calc(100% + 32px);
  max-width: calc(100% + 32px);
}

/* Attached documents preview rows — same full-bleed rhythm as Tickets */
.assets-v2-sidebar-clean .asset-entity-docs-tile__list {
  display: flex;
  flex-direction: column;
}

.assets-v2-sidebar-clean .asset-entity-docs-tile__row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 10px 16px;
  margin: 0 -16px;
  border-top: 1px solid var(--mud-palette-lines-default, #e5e7eb);
}

.assets-v2-sidebar-clean .asset-entity-docs-tile__row:first-child {
  border-top: none;
  padding-top: 4px;
}

/* Context rail uses parent sidebar gap (not tighter gap-3) */
.asset-overview-context-rail.entity-view-sidebar,
.asset-overview-context-rail {
  gap: var(--space-xl, 24px);
}

/* Sidebar section primitives (Key Metrics + nav) */
.sidebar-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.sidebar-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}

.sidebar-section__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--mud-palette-text-primary);
  margin: 0;
  line-height: 1.4;
}

.sidebar-section__badge {
  flex-shrink: 0;
}

.sidebar-metric-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
}

.sidebar-metric-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--mud-palette-divider);
  min-width: 0;
}

.sidebar-metric-row:first-child {
  border-top: none;
  padding-top: 4px;
}

.sidebar-metric-row dt {
  font-size: 0.7rem;
  color: var(--mud-palette-text-secondary);
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.sidebar-metric-row dd {
  font-size: 0.9375rem;
  color: var(--mud-palette-text-primary);
  margin: 0;
  text-align: right;
  font-weight: 500;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-section__actions {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}

.sidebar-section__actions--stack {
  flex-direction: column;
}

.sidebar-section__actions .mud-button-root {
  text-transform: none !important;
}

.sidebar-section--property-nav-trailing {
  margin-bottom: 4px;
}

.property-sidebar-nav-stack {
  gap: 6px;
}

.assets-v2-sidebar-clean .property-sidebar-nav-stack .mud-button-root.property-sidebar-nav-btn {
  min-height: 38px;
  border-radius: 8px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.assets-v2-sidebar-clean .property-sidebar-nav-stack .mud-button-root.property-sidebar-nav-btn .mud-button-icon-end {
  margin-left: auto !important;
  color: var(--mud-palette-text-disabled, #b0b0b0) !important;
  transition: color 0.15s, transform 0.15s;
}

.assets-v2-sidebar-clean .property-sidebar-nav-stack .mud-button-root.property-sidebar-nav-btn:hover:not(:disabled) .mud-button-icon-end {
  color: var(--mud-palette-primary) !important;
  transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
  .assets-v2-sidebar-clean .property-sidebar-nav-stack .mud-button-root.property-sidebar-nav-btn:hover:not(:disabled) .mud-button-icon-end {
    transform: none;
  }
}

.assets-v2-sidebar-clean .property-sidebar-nav-stack .mud-button-root.property-sidebar-nav-btn--active:not(:disabled) {
  border-width: 2px !important;
  font-weight: 600 !important;
  background-color: color-mix(in srgb, var(--mud-palette-primary) 10%, var(--mud-palette-surface)) !important;
}

@supports not (background: color-mix(in srgb, red 10%, white)) {
  .assets-v2-sidebar-clean .property-sidebar-nav-stack .mud-button-root.property-sidebar-nav-btn--active:not(:disabled) {
    background-color: var(--mud-palette-action-default-hover) !important;
  }
}

/* Asset detail — single-column sections */
.entity-view-body.asset-detail-full-width .asset-detail-section {
  margin-bottom: 24px;
}

.entity-view-body.asset-detail-full-width .asset-detail-section__title {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--mud-palette-text-primary);
}

.entity-view-body.asset-detail-full-width .asset-detail-section__subtitle {
  font-size: 13px;
  line-height: 1.45;
  color: var(--mud-palette-text-secondary);
  margin: 0 0 16px;
  max-width: 62ch;
}

.entity-view-body.asset-detail-full-width .asset-detail-section__header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.entity-view-body.asset-detail-full-width .asset-detail-section__header-row .asset-detail-section__title {
  margin-bottom: 4px;
}

.entity-view-body.asset-detail-full-width .asset-detail-section__subtitle--inline {
  margin: 0;
  max-width: 62ch;
}

.entity-view-body.asset-detail-full-width .asset-detail-section__actions {
  flex-shrink: 0;
}

.entity-view-body.asset-detail-full-width .asset-detail-section--lifecycle {
  opacity: 0.98;
}

.entity-view-body.asset-detail-full-width .asset-detail-supporting-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 960px) {
  .entity-view-body.asset-detail-full-width .asset-detail-supporting-grid {
    grid-template-columns: 1fr;
  }
}

.entity-view-body.asset-detail-full-width .asset-detail-supporting-card {
  border: 1px solid var(--mud-palette-lines-default, #e5e7eb);
  border-radius: 10px;
  background: #fff;
  padding: 14px 16px;
  min-width: 0;
}

.entity-view-body.asset-detail-full-width .asset-detail-supporting-card .asset-entity-docs-tile.mud-paper,
.entity-view-body.asset-detail-full-width .asset-detail-supporting-card .entity-tickets-widget-card.mud-paper {
  border: none;
  box-shadow: none;
  background: transparent;
  padding: 0;
}

.entity-view-body.asset-detail-full-width .asset-relationships-card--inline {
  border: none;
  box-shadow: none;
  padding: 0;
  background: transparent;
}
