﻿@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ─── Sidebar ─────────────────────────────────────────────────── */

.mud-drawer-pos-left {
  background-color: var(--mud-palette-drawer-background) !important;
  overflow: hidden;
}

/* Plat edit action panel (right drawer) - match the white, rounded MudForm card instead of the nav drawer's dark background */
.mud-drawer-pos-right {
  background-color: var(--mud-palette-surface) !important;
  border: 1px solid #e5e7eb !important;
  border-radius: var(--radius) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  top: calc(var(--mud-appbar-height) + 24px) !important;
  height: fit-content !important;
  max-height: calc(100vh - var(--mud-appbar-height) - 48px) !important;
  overflow-y: auto;
}

  .mud-drawer-pos-right.mud-drawer--open {
    right: 24px !important;
    width: calc(var(--mud-drawer-width-right) - 24px) !important;
  }

.mud-drawer .mud-nav-link {
  color: var(--mud-palette-drawer-text) !important;
}

  .mud-drawer .mud-nav-link:hover {
    background-color: rgba(255,255,255,0.12) !important;
  }

.mud-nav-item {
  border-radius: 10px;
  overflow: hidden;
}

.mud-nav-link {
  padding: 8px 8px;
  transition: none !important;
}

/* Active nav item – amber left bar */
.mud-nav-item .active {
  background-color: rgba(255,255,255,0.15) !important;
  border-left: 3px solid var(--mud-palette-tertiary);
  font-weight: 700;
}

.sidebar-subtitle {
  color: var(--mud-palette-drawer-icon);
  font-size: 0.75rem;
  margin-top: -4px;
}

/* ─── Stat cards ───────────────────────────────────────────────── */

.mud-grid .mud-grid-item .mud-card {
  height: 100%;
}

.stat-number {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--mud-palette-text-primary);
}

/* Waiting card gets the amber tint */
.stat-card-waiting {
  background-color: var(--mud-palette-warning-hover) !important;
  border: 1.5px solid var(--mud-palette-warning) !important;
}

  .stat-card-waiting .stat-number, .stat-card-waiting h5 {
    color: var(--mud-palette-warning-darken) !important;
  }

  .stat-card-waiting .mud-typography-body2,
  .stat-card-waiting .mud-typography-caption {
    color: var(--mud-palette-warning) !important;
  }

/* ─── Waiting on Files section card ───────────────────────────── */

.waiting-section-card {
  background-color: var(--mud-palette-warning-lighten) !important;
  border: 1.5px solid var(--mud-palette-warning) !important;
}

.waiting-section-title {
  color: var(--mud-palette-primary) !important;
  font-weight: 700;
}

.waiting-section-meta {
  color: var(--mud-palette-warning);
  font-size: 0.8rem;
}

.waiting-section-id {
  font-weight: 700;
  color: var(--mud-palette-primary);
}

.waiting-divider {
  background-color: color-mix(in srgb, var(--mud-palette-warning) 25%, transparent) !important;
}

/* ─── Status chips ─────────────────────────────────────────────── */

.status-chip {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

.status-completed {
  background-color: var(--mud-palette-success-lighten);
  color: var(--mud-palette-success);
}

.status-waiting {
  background-color: var(--mud-palette-warning-lighten);
  color: var(--mud-palette-warning);
}

.status-review {
  background-color: var(--mud-palette-info-lighten);
  color: var(--mud-palette-info);
}

/* ─── Buttons ──────────────────────────────────────────────────── */

/* "Generate Site Plan" – already handled by Variant.Filled Color.Secondary */
/* "Upload" – outlined using primary color */
.btn-upload {
  border-color: var(--mud-palette-primary) !important;
  color: var(--mud-palette-primary) !important;
}

  .btn-upload:hover {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent) !important;
  }


/* Inputs */

.mud-autocomplete .mud-disabled:not(.mud-input-label), .mud-input-control .mud-disabled:not(.mud-input-label) {
  background: rgba(0, 0, 0, 0.035);
}

.mud-popover .mud-list {
  overflow-y: unset !important;
}

.text-center {
  text-align: center;
}

.td-shrink {
  width: 1%;
  white-space: nowrap;
}

.td-grow {
  width: 100%;
}

sup {
  line-height: 0;
}

html, body * {
  scrollbar-width: auto !important;
  scrollbar-color: #c4c4c4 transparent !important;
}

.field-section {
  text-transform: uppercase;
}

.field-title {
  text-transform: uppercase;
  color: rgb(138, 147, 162);
  font-size: 0.75rem;
}

.field-value {
  font-weight: 500;
  font-size: 1.0rem;
  font-size: 0.875rem;
}

.section-icon-bg {
  background-color: color-mix(in srgb, var(--mud-palette-primary-lighten) 20%, transparent);
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  float: left;
  padding: 5px;
  margin-right: 5px;
}

.tight-table .mud-table-cell {
  padding-left: 12px;
  padding-right: 12px;
}

/*.mud-table-cell {
    padding: 8px;
}*/

/* ─── All dialogs – 95% of the viewport ──────────────────────────── */

.mud-dialog {
  width: 95vw !important;
  max-width: 95vw !important;
  height: 95vh;
  max-height: 95vh;
}

  .mud-dialog .mud-dialog-content {
    min-height: 0;
  }

/* ─── MPE Dialog – full-height, scroll only inside the grid ─────── */

  .mpe-dialog .mud-dialog-content,
  .lot-info-dialog .mud-dialog-content,
  .lot-address-dialog .mud-dialog-content,
  .lot-fitting-result-dialog .mud-dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

.mpe-dialog-grid,
.lot-info-dialog-grid,
.lot-address-dialog-grid,
.lot-fitting-result-dialog-grid {
  flex: 1 1 auto;
  min-height: 0;
}

  .mpe-dialog-grid .mud-table-container,
  .lot-info-dialog-grid .mud-table-container,
  .lot-address-dialog-grid .mud-table-container,
  .lot-fitting-result-dialog-grid .mud-table-container {
    height: 100%;
    overflow-x: auto;
  }

.lot-fitting-result-dialog-grid .sticky-left {
  background-color: var(--mud-palette-surface) !important;
}

/* ─── PDF Preview Dialog ─────────────────────────────────────────── */

  .pdf-preview-dialog .mud-dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .pdf-preview-dialog .pdf-preview-frame {
    flex: 1 1 auto;
    min-height: 0;
  }

/* ─── XLSX Preview Dialog ────────────────────────────────────────── */

.xlsx-preview-frame {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--mud-palette-lines-default);
  border-radius: 4px;
}

.xlsx-preview-table {
  border-collapse: collapse;
  font-size: 0.8125rem;
  white-space: nowrap;
}

  .xlsx-preview-table th,
  .xlsx-preview-table td {
    border: 1px solid var(--mud-palette-lines-default);
    padding: 4px 8px;
  }

  .xlsx-preview-table th {
    position: sticky;
    top: 0;
    background: var(--mud-palette-background-gray);
    font-weight: 600;
  }
  /* ─── DWG Preview Dialog ─────────────────────────────────────────── */

  .dwg-preview-dialog .mud-dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .dwg-preview-dialog .dwg-preview-canvas {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
    background-color: #fff;
  }

  .dwg-preview-dialog .dwg-preview-canvas.dwg-house-drawing {
    background-color: #1f4e79;
  }

  .dwg-preview-dialog .dwg-preview-canvas.dwg-house-drawing path {
    stroke-width: 0.7%;
  }

  .dwg-preview-dialog .dwg-preview-stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .dwg-preview-dialog .dwg-lot-fit-panel {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    max-width: 320px;
    max-height: calc(100% - 16px);
    overflow-y: auto;
  }

  .dwg-preview-dialog .dwg-layer-tooltip {
    position: absolute;
    pointer-events: none;
    padding: 2px 6px;
    border-radius: 4px;
    background-color: rgba(33, 33, 33, 0.9);
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
    z-index: 1;
  }
