:root {
  color-scheme: light;
  --bg: #eaf1fb;
  --bg-top: #f8fbff;
  --bg-accent: rgba(244, 200, 76, 0.18);
  --surface: #ffffff;
  --surface-alt: #f4f8fd;
  --surface-soft: #e7effa;
  --surface-strong: #d7e5f6;
  --ink: #133251;
  --muted: #60758d;
  --line: rgba(19, 50, 81, 0.1);
  --brand: #1a5a9f;
  --brand-dark: #103d70;
  --brand-strong: #0f3f74;
  --brand-soft: #dbe7f7;
  --accent: #f4c84c;
  --accent-dark: #ddb027;
  --danger-soft: #f9e0e0;
  --success-soft: #d9f1e1;
  --danger-ink: #8c3434;
  --success-ink: #0a6c47;
  --pill-bg: rgba(26, 90, 159, 0.1);
  --pill-ink: #103d70;
  --chart-grid: rgba(19, 50, 81, 0.14);
  --chart-annual-line: #4d8fff;
  --chart-annual-fill: rgba(77, 143, 255, 0.16);
  --chart-label: #111111;
  --chart-monthly-line: #2dcbae;
  --chart-monthly-dot-stroke: rgba(255, 255, 255, 0.9);
  --chart-monthly-label: #111111;
  --chart-monthly-surface: rgba(26, 169, 135, 0.08);
  --logo-shell-bg: linear-gradient(160deg, #0f3f74 0%, #1a5a9f 100%);
  --logo-shell-border: rgba(16, 61, 112, 0.22);
  --input-bg: #ffffff;
  --input-line: rgba(19, 50, 81, 0.14);
  --shadow: 0 18px 45px rgba(16, 61, 112, 0.12);
  --shadow-strong: 0 30px 70px rgba(8, 33, 61, 0.18);
  --sidebar-start: rgba(13, 71, 132, 0.98);
  --sidebar-end: rgba(34, 121, 201, 0.98);
  --sidebar-text: #f5f8fc;
  --sidebar-muted: rgba(245, 248, 252, 0.74);
  --sidebar-card: rgba(255, 255, 255, 0.1);
  --sidebar-card-strong: rgba(255, 255, 255, 0.16);
  --ghost-button: rgba(255, 255, 255, 0.1);
  --ghost-button-hover: rgba(255, 255, 255, 0.18);
  --overlay: rgba(7, 15, 28, 0.52);
  --login-start: #0c4a82;
  --login-end: #1a74c4;
  --login-panel-start: #165b9f;
  --login-panel-end: #104374;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0c1524;
  --bg-top: #101b2d;
  --bg-accent: rgba(114, 168, 255, 0.12);
  --surface: #111b2b;
  --surface-alt: #162338;
  --surface-soft: #1a2b43;
  --surface-strong: #213552;
  --ink: #edf3fb;
  --muted: #94a5bd;
  --line: rgba(148, 165, 189, 0.15);
  --brand: #79aeff;
  --brand-dark: #cfe0ff;
  --brand-strong: #4d8fff;
  --brand-soft: rgba(121, 174, 255, 0.12);
  --accent: #ffd66d;
  --accent-dark: #f0bb34;
  --danger-soft: rgba(184, 86, 86, 0.22);
  --success-soft: rgba(59, 153, 109, 0.22);
  --danger-ink: #f0b3b3;
  --success-ink: #b7eed0;
  --pill-bg: rgba(121, 174, 255, 0.16);
  --pill-ink: #dbe7ff;
  --chart-grid: rgba(148, 165, 189, 0.2);
  --chart-annual-line: #7eaaff;
  --chart-annual-fill: rgba(126, 170, 255, 0.14);
  --chart-label: #ffffff;
  --chart-monthly-line: #44d8bf;
  --chart-monthly-dot-stroke: rgba(12, 21, 36, 0.82);
  --chart-monthly-label: #ffffff;
  --chart-monthly-surface: rgba(83, 217, 184, 0.1);
  --logo-shell-bg: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  --logo-shell-border: var(--line);
  --input-bg: #0d1625;
  --input-line: rgba(148, 165, 189, 0.2);
  --shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
  --shadow-strong: 0 30px 70px rgba(0, 0, 0, 0.38);
  --sidebar-start: rgba(5, 20, 38, 0.98);
  --sidebar-end: rgba(12, 47, 82, 0.98);
  --sidebar-text: #eff5ff;
  --sidebar-muted: rgba(239, 245, 255, 0.74);
  --sidebar-card: rgba(255, 255, 255, 0.07);
  --sidebar-card-strong: rgba(121, 174, 255, 0.14);
  --ghost-button: rgba(255, 255, 255, 0.06);
  --ghost-button-hover: rgba(255, 255, 255, 0.12);
  --overlay: rgba(0, 0, 0, 0.6);
  --login-start: #071220;
  --login-end: #0f2440;
  --login-panel-start: #0d1c2f;
  --login-panel-end: #091322;
}

html {
  font-size: 14px;
}

.property-editor-page .select2-container {
  width: 100% !important;
}

.property-editor-page .select2-container--default .select2-selection--single {
  min-height: 3.5rem;
  border: 1px solid var(--input-line);
  border-radius: 0.75rem;
  background: var(--input-bg);
  color: var(--ink);
}

.property-editor-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0.95rem 2.5rem 0.95rem 1rem;
  color: var(--ink);
  line-height: 1.45;
}

.property-editor-page .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--muted);
}

.property-editor-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: 0.75rem;
}

.property-editor-summary-table .select2-container--default .select2-selection--single {
  min-height: 2.7rem;
  border-radius: 0.65rem;
}

.property-editor-summary-table .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0.58rem 2rem 0.58rem 0.85rem;
  line-height: 1.35;
}

.select2-dropdown.rpt-select2-dropdown {
  border: 1px solid var(--input-line);
  background: var(--surface);
  color: var(--ink);
}

.rpt-select2-dropdown .select2-search--dropdown .select2-search__field {
  border: 1px solid var(--input-line);
  border-radius: 0.5rem;
  background: var(--input-bg);
  color: var(--ink);
}

.rpt-select2-dropdown .select2-results__option--highlighted[aria-selected] {
  background: var(--brand);
  color: #fff;
}

.rpt-select2-dropdown .select2-results__option[aria-selected=true] {
  background: var(--surface-soft);
  color: var(--ink);
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, var(--bg-accent), transparent 24rem),
    linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 100%);
}

a {
  color: inherit;
  text-decoration: none;
}

.shell-body {
  background:
    radial-gradient(circle at top left, var(--bg-accent), transparent 24rem),
    linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 100%);
  height: 100vh;
  overflow: hidden;
  overflow-x: hidden;
}

.legacy-office,
.page-title,
.login-hero-copy h1,
.login-title,
.module-card-title,
.stat-value,
.summary-value,
.admin-hero h2 {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}

.legacy-shell {
  min-height: 100vh;
  height: 100vh;
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  transition: grid-template-columns 180ms ease;
  overflow: hidden;
}

.legacy-sidebar {
  background:
    radial-gradient(circle at top left, rgba(109, 111, 255, 0.18), transparent 15rem),
    radial-gradient(circle at bottom left, rgba(121, 174, 255, 0.18), transparent 18rem),
    linear-gradient(180deg, var(--sidebar-start) 0%, var(--sidebar-end) 100%);
  color: var(--sidebar-text);
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  box-shadow: 20px 0 45px rgba(10, 46, 84, 0.18);
  z-index: 12;
  transition: width 180ms ease, padding 180ms ease, gap 180ms ease, transform 180ms ease;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

body.sidebar-collapsed .legacy-shell {
  grid-template-columns: 108px minmax(0, 1fr);
}

body.sidebar-collapsed .legacy-sidebar {
  padding: 1.2rem 0.85rem;
}

body.sidebar-collapsed .legacy-brand {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  padding: 0;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

body.sidebar-collapsed .legacy-nav-text,
body.sidebar-collapsed .legacy-tool-text,
body.sidebar-collapsed .legacy-tools-title,
body.sidebar-collapsed .legacy-nav-chevron,
body.sidebar-collapsed .legacy-subnav {
  display: none;
}

body.sidebar-collapsed .legacy-brand-main-logo {
  display: none;
}

body.sidebar-collapsed .legacy-brand-seal {
  display: grid;
}

body.sidebar-collapsed .legacy-nav-link,
body.sidebar-collapsed .legacy-tool-link {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  gap: 0.45rem;
  padding: 0.8rem 0.35rem;
}

body.sidebar-collapsed .legacy-tools {
  padding: 0.8rem 0.45rem;
}

body.sidebar-collapsed .legacy-nav-short,
body.sidebar-collapsed .legacy-tool-short {
  display: none;
}

.collapsed-nav-tooltip {
  position: fixed;
  z-index: 1300;
  max-width: 14rem;
  padding: 0.45rem 0.65rem;
  border-radius: 0.5rem;
  color: #fff;
  background: #17243a;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-0.3rem);
  transition: opacity 120ms ease, transform 120ms ease;
}

.collapsed-nav-tooltip.is-visible {
  opacity: 1;
  transform: translateX(0);
}

body.sidebar-collapsed .legacy-brand-seal {
  width: 68px;
  height: 68px;
  margin: 0 auto;
  justify-self: center;
  align-self: center;
  border-radius: 0.75rem;
  box-shadow: none;
}

body.sidebar-collapsed .legacy-nav-icon,
body.sidebar-collapsed .legacy-tool-icon {
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 0.95rem;
}

.legacy-brand {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 0;
  align-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.legacy-brand-main-logo {
  width: min(100%, 280px);
  height: 108px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}

.legacy-brand-seal {
  display: none;
  width: min(100%, 280px);
  height: 108px;
  border-radius: 0;
  place-items: center;
  background: transparent;
  color: #103d70;
  overflow: hidden;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 0;
  box-sizing: border-box;
}

.legacy-brand-seal img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1);
}

.legacy-brand-main-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.12);
}

.legacy-user-menu {
  position: relative;
}

.gis-module-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 2.85rem;
  padding: .55rem .85rem;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--surface);
  color: var(--ink);
  font-weight: 700;
}

.gis-module-menu-toggle:hover,
.gis-module-menu-toggle:focus,
.gis-module-menu-toggle[aria-expanded="true"] {
  border-color: var(--brand);
  background: var(--surface-soft);
  color: var(--brand);
}

.gis-module-menu-icon {
  display: grid;
  gap: .22rem;
  width: 1.25rem;
}

.gis-module-menu-icon span {
  display: block;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
}

.gis-module-dropdown {
  width: min(34rem, calc(100vw - 2rem));
  max-height: min(28rem, calc(100vh - 6rem));
  overflow-y: auto;
  padding: .55rem;
  border: 1px solid var(--line);
  border-radius: .9rem;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .2rem;
}

.gis-module-dropdown.show { display: grid; }

.gis-module-dropdown-heading {
  grid-column: 1 / -1;
  padding: .45rem .65rem .55rem;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gis-module-dropdown .dropdown-item {
  margin: .08rem 0;
  padding: .58rem .68rem;
  border-radius: .55rem;
  color: var(--ink);
  font-weight: 600;
}

.gis-module-dropdown .dropdown-item:hover,
.gis-module-dropdown .dropdown-item:focus {
  background: var(--surface-soft);
  color: var(--brand);
}

.gis-module-dropdown .dropdown-item.active {
  background: var(--brand);
  color: #fff;
}

@media (max-width: 575.98px) {
  .gis-module-menu-label { display: none; }
  .gis-module-menu-toggle { width: 2.85rem; justify-content: center; padding-inline: .55rem; }
}

.legacy-user-trigger {
  display: grid;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.6rem 0.5rem 0.5rem;
  border: 0;
  background: transparent;
  color: inherit;
}

.legacy-user-trigger::after {
  display: none;
}

.legacy-user-trigger-compact {
  grid-template-columns: 1fr;
  justify-items: center;
  padding: 0;
}

.legacy-user-trigger:hover,
.legacy-user-trigger:focus-visible {
  background: transparent;
  color: inherit;
}

.legacy-user-avatar {
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: radial-gradient(circle at 30% 30%, #fff8d1 0%, #f4c84c 56%, #ddb027 100%);
  color: #123f73;
  font-weight: 800;
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.legacy-user-dropdown {
  width: min(18rem, calc(100vw - 2rem));
  padding: 0.45rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--shadow);
}

.legacy-user-dropdown-head {
  padding: 0.35rem 0.4rem 0.6rem;
}

.legacy-user-dropdown-name {
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--ink);
}

.legacy-user-dropdown-role {
  margin-top: 0.15rem;
  color: var(--muted);
  font-size: 0.8rem;
}

.legacy-user-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  border-radius: 0.8rem;
  padding: 0.7rem 0.8rem;
  font-weight: 600;
  color: var(--ink);
  background: transparent;
  opacity: 1;
}

.legacy-user-dropdown .dropdown-item,
.legacy-user-dropdown .dropdown-item-text,
.legacy-user-dropdown [data-theme-toggle-label] {
  color: var(--ink) !important;
  opacity: 1;
}

.legacy-user-dropdown-item:hover,
.legacy-user-dropdown-item:focus,
.legacy-user-dropdown-item:active {
  color: var(--ink);
  background: var(--surface-soft);
}

.legacy-user-dropdown .dropdown-item:hover,
.legacy-user-dropdown .dropdown-item:focus,
.legacy-user-dropdown .dropdown-item:active {
  color: var(--ink) !important;
  background: var(--surface-soft) !important;
}

.legacy-user-dropdown-item .theme-icon {
  color: var(--accent);
}

.legacy-user-dropdown .dropdown-divider {
  border-top-color: var(--line);
  opacity: 1;
}

.legacy-user-logout-form {
  margin: 0;
}

.legacy-topbar-meta {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
}

.legacy-nav {
  display: grid;
  gap: 0.6rem;
}

.legacy-nav-link {
  display: grid;
  grid-template-columns: 2.85rem minmax(0, 1fr);
  align-items: center;
  gap: 0.85rem;
  padding: 0.5rem 1rem;
  border-radius: 1rem;
  color: var(--sidebar-text);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.legacy-nav-group {
  display: grid;
  gap: 0.35rem;
}

.legacy-nav-group-toggle {
  width: 100%;
  grid-template-columns: 2.85rem minmax(0, 1fr) auto;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.legacy-nav-chevron {
  width: 1.25rem;
  height: 1.25rem;
  display: grid;
  place-items: center;
  color: var(--sidebar-muted);
  transition: transform 160ms ease, color 160ms ease;
}

.legacy-nav-chevron svg {
  width: 100%;
  height: 100%;
}

.legacy-nav-group-toggle[aria-expanded="true"] .legacy-nav-chevron {
  color: #fff;
  transform: rotate(180deg);
}

.legacy-nav-link:hover,
.legacy-nav-link.active {
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255, 214, 109, 0.16), rgba(255, 255, 255, 0.08)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08));
  border-color: rgba(255, 214, 109, 0.48);
  box-shadow: 0 14px 28px rgba(7, 18, 35, 0.18);
  transform: translateY(-1px);
}

.legacy-nav-label {
  display: block;
  font-weight: 700;
  font-size: 1rem;
}

.legacy-nav-text {
  min-width: 0;
}

.legacy-nav-copy {
  display: block;
  margin-top: 0.25rem;
  color: var(--sidebar-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.legacy-nav-icon,
.legacy-tool-icon {
  width: 2.85rem;
  height: 2.2rem;
  display: grid;
  place-items: center;
  border-radius: 0;
  background: transparent;
  border: 0;
  color: #fff;
  box-shadow: none;
}

.legacy-nav-icon svg,
.legacy-tool-icon svg {
  width: 1.75rem;
  height: 1.75rem;
  display: block;
}

.legacy-nav-short,
.legacy-tool-short {
  display: none;
  max-width: 100%;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.25;
  color: var(--sidebar-muted);
  overflow-wrap: anywhere;
}

.legacy-tools {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 1rem;
  background: var(--sidebar-card);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.legacy-tools-title {
  margin-bottom: 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--sidebar-muted);
}

.legacy-tool-link {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.75rem;
  color: var(--sidebar-text);
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 0.95rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.legacy-tools-links {
  display: grid;
  gap: 0.55rem;
}

.legacy-tool-text {
  min-width: 0;
  font-weight: 600;
}

.legacy-tool-link.active,
.legacy-tool-link:hover {
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255, 214, 109, 0.16), rgba(255, 255, 255, 0.08)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08));
  border-color: rgba(255, 214, 109, 0.48);
  box-shadow: 0 14px 28px rgba(7, 18, 35, 0.18);
  transform: translateY(-1px);
}

.legacy-nav-link.active .legacy-nav-short,
.legacy-nav-link:hover .legacy-nav-short,
.legacy-tool-link.active .legacy-tool-short,
.legacy-tool-link:hover .legacy-tool-short {
  color: rgba(255, 255, 255, 0.88);
}

.page-kicker,
.legacy-office-line,
.muted {
  color: var(--muted);
}

.sidebar-backdrop {
  display: none;
}

.legacy-main {
  position: relative;
  padding: 1.5rem;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.legacy-topbar {
  position: sticky;
  top: -1.5rem;
  z-index: 1100;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin: -1.5rem -1.5rem 1.5rem;
  padding: 0.45rem 1.25rem;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  box-shadow: 0 10px 24px rgba(19, 50, 81, 0.06);
  backdrop-filter: blur(10px);
}

.legacy-topbar-main {
  min-width: 0;
}

.page-title-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.page-kicker {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  margin-bottom: 0.35rem;
}

.page-title {
  margin: 0;
  font-size: 1.32rem;
  line-height: 1.1;
}

.legacy-office-line {
  margin-top: 0.4rem;
  font-size: 0.95rem;
}

.legacy-topbar-meta {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.legacy-topbar-logo {
  width: 82px;
  height: 82px;
  border-radius: 1rem;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: var(--logo-shell-bg);
  border: 1px solid var(--logo-shell-border);
  box-shadow: var(--shadow);
}

.legacy-topbar-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.6rem;
}

.page-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.page-content > * {
  min-width: 0;
}

.panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 1.35rem;
  box-shadow: var(--shadow);
  min-width: 0;
  max-width: 100%;
}

.panel-header,
.panel-body {
  padding: 1.25rem;
}

.panel-header {
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.panel-title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 700;
}

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

.stat-grid-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stat-card {
  padding: 1.15rem;
  border-radius: 1.2rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.dashboard-stat-grid {
  align-items: stretch;
}

.dashboard-stat-card {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 0.35rem;
  padding-top: 1.05rem;
  background:
    radial-gradient(circle at top right, rgba(244, 200, 76, 0.18), transparent 8rem),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, transparent) 0%, color-mix(in srgb, var(--surface-alt) 96%, transparent) 100%);
}

.dashboard-stat-card::after {
  content: "";
  position: absolute;
  inset: auto -2rem -2rem auto;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(77, 143, 255, 0.08), transparent 70%);
}

.dashboard-stat-card-collection {
  background:
    radial-gradient(circle at top right, rgba(45, 203, 173, 0.18), transparent 8rem),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, transparent) 0%, color-mix(in srgb, var(--surface-alt) 96%, transparent) 100%);
}

.dashboard-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 0.95rem;
  color: var(--brand);
  background: rgba(26, 90, 159, 0.1);
  border: 1px solid rgba(26, 90, 159, 0.1);
}

.dashboard-stat-icon svg {
  width: 1.4rem;
  height: 1.4rem;
}

.dashboard-stat-icon-active {
  color: #187a5c;
  background: rgba(45, 203, 173, 0.12);
  border-color: rgba(45, 203, 173, 0.18);
}

.dashboard-stat-icon-billing {
  color: #946200;
  background: rgba(244, 200, 76, 0.14);
  border-color: rgba(244, 200, 76, 0.2);
}

.dashboard-stat-icon-paid {
  color: #6e54c7;
  background: rgba(110, 84, 199, 0.12);
  border-color: rgba(110, 84, 199, 0.16);
}

.dashboard-stat-icon-collection {
  color: #177f69;
  background: rgba(45, 203, 173, 0.14);
  border-color: rgba(45, 203, 173, 0.2);
}

.dashboard-stat-meta {
  position: relative;
  z-index: 1;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.dashboard-collection-band {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0.65rem 0 1.35rem;
}

.dashboard-collection-band-full {
  grid-template-columns: 1fr;
}

.dashboard-chart-panel-feature {
  overflow: hidden;
}

.dashboard-chart-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-chart-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.dashboard-chart-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  flex: 0 0 auto;
}

.dashboard-chart-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.dashboard-chart-icon-annual {
  color: #4d8fff;
  background: rgba(77, 143, 255, 0.12);
  border: 1px solid rgba(77, 143, 255, 0.16);
}

.dashboard-chart-icon-monthly {
  color: #139980;
  background: rgba(45, 203, 173, 0.12);
  border: 1px solid rgba(45, 203, 173, 0.16);
}

.dashboard-chart-icon-coverage {
  color: #1c6ad6;
  background: rgba(77, 143, 255, 0.12);
  border: 1px solid rgba(77, 143, 255, 0.16);
}

.dashboard-chart-panel .panel-body {
  display: grid;
  gap: 1rem;
}

.dashboard-coverage-panel {
  margin-bottom: 0.4rem;
}

.dashboard-coverage-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-coverage-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.dashboard-coverage-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 0.9rem;
  border-radius: 999px;
  background: rgba(77, 143, 255, 0.1);
  color: var(--brand);
  border: 1px solid rgba(77, 143, 255, 0.14);
  font-weight: 800;
  white-space: nowrap;
}

.billing-return-strip {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0.9rem;
}

.dashboard-coverage-body {
  display: grid;
  gap: 1rem;
}

.dashboard-coverage-meter {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  height: 1rem;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-alt) 82%, var(--line) 18%);
  border: 1px solid var(--line);
}

.dashboard-coverage-meter-bar {
  height: 100%;
}

.dashboard-coverage-meter-bar-updated {
  background: linear-gradient(90deg, #2dcbae 0%, #1fba99 100%);
}

.dashboard-coverage-meter-bar-outdated {
  background: linear-gradient(90deg, #f4c84c 0%, #f78c6b 100%);
}

.dashboard-coverage-meter {
  position: relative;
}

.dashboard-coverage-meter-bar-updated,
.dashboard-coverage-meter-bar-outdated {
  position: absolute;
  top: 0;
  bottom: 0;
}

.dashboard-coverage-meter-bar-updated {
  left: 0;
}

.dashboard-coverage-meter-bar-outdated {
  right: 0;
}

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

.dashboard-coverage-card {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-alt) 92%, var(--surface) 8%), color-mix(in srgb, var(--surface) 96%, transparent));
}

.dashboard-coverage-card span {
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.dashboard-coverage-card strong {
  font-size: 1.7rem;
  line-height: 1.05;
  color: var(--ink);
}

.dashboard-coverage-card small {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.dashboard-coverage-card-updated {
  background: linear-gradient(180deg, rgba(45, 203, 173, 0.12), color-mix(in srgb, var(--surface) 94%, rgba(45, 203, 173, 0.08) 6%));
  border-color: rgba(45, 203, 173, 0.14);
}

.dashboard-coverage-card-outdated {
  background: linear-gradient(180deg, rgba(244, 200, 76, 0.14), color-mix(in srgb, var(--surface) 94%, rgba(244, 200, 76, 0.08) 6%));
  border-color: rgba(244, 200, 76, 0.16);
}

.dashboard-chart-highlight {
  display: grid;
  justify-items: end;
  gap: 0.15rem;
  padding: 0.7rem 0.9rem;
  min-width: 118px;
  border-radius: 1rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--brand-soft) 82%, var(--surface) 18%), color-mix(in srgb, var(--surface) 92%, var(--brand-soft) 8%));
  border: 1px solid color-mix(in srgb, var(--brand-soft) 70%, var(--line) 30%);
}

.dashboard-chart-tools {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.dashboard-chart-filter {
  min-width: 118px;
}

.dashboard-chart-filter-inline {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.dashboard-inline-label {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.dashboard-chart-filter .form-select {
  min-width: 118px;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
}

.dashboard-chart-tools-tight {
  justify-content: flex-end;
}

.dashboard-chart-highlight.accent {
  background: linear-gradient(180deg, rgba(45, 203, 173, 0.18), rgba(45, 203, 173, 0.06));
  border-color: rgba(45, 203, 173, 0.18);
}

.dashboard-chart-highlight span,
.dashboard-chart-footer span {
  font-size: 0.73rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}

.dashboard-chart-highlight strong,
.dashboard-chart-footer strong {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ink);
}

.dashboard-chart-highlight small {
  font-size: 0.82rem;
  color: var(--brand);
}

.dashboard-chart-shell {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
}

.dashboard-chart-shell-feature {
  gap: 1rem;
}

.dashboard-annual-split {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.82fr);
  gap: 1.15rem;
  align-items: start;
}

.dashboard-kind-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  max-height: 34rem;
  padding: 1.1rem;
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at top right, rgba(244, 200, 76, 0.16), transparent 7rem),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 98%, transparent) 0%, color-mix(in srgb, var(--surface-alt) 96%, transparent) 100%);
  border: 1px solid rgba(26, 90, 159, 0.1);
  overflow: hidden;
}

.dashboard-kind-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.dashboard-kind-kicker {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.dashboard-kind-panel-header h3 {
  margin: 0.3rem 0 0;
  font-size: 1.2rem;
}

.dashboard-kind-total {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  height: 3rem;
  padding: 0 0.8rem;
  border-radius: 999px;
  background: rgba(77, 143, 255, 0.12);
  color: var(--brand);
  font-weight: 800;
  font-size: 1rem;
}

.dashboard-kind-donut-wrap {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 13rem;
}

.dashboard-kind-donut {
  width: 100%;
  max-width: 19rem;
  height: auto;
}

.dashboard-kind-donut-track,
.dashboard-kind-donut-slice {
  fill: none;
  stroke-width: 26;
  stroke-linecap: butt;
}

.dashboard-kind-donut-track {
  stroke: rgba(201, 214, 228, 0.9);
}

.dashboard-kind-center {
  position: absolute;
  inset: auto 0 1rem;
  display: grid;
  justify-items: center;
  gap: 0.12rem;
  text-align: center;
}

.dashboard-kind-center strong {
  font-size: 1.1rem;
  font-weight: 800;
}

.dashboard-kind-center small {
  color: var(--muted);
  font-size: 0.8rem;
}

.dashboard-kind-legend {
  display: grid;
  gap: 0.55rem;
  min-height: 0;
  overflow: auto;
  padding-right: 0.2rem;
}

.dashboard-kind-legend-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.95rem;
  background: color-mix(in srgb, var(--surface-alt) 78%, var(--surface) 22%);
  border: 1px solid var(--line);
}

.dashboard-kind-swatch {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
}

.dashboard-kind-name {
  min-width: 0;
  font-weight: 700;
}

.dashboard-kind-count,
.dashboard-kind-share {
  color: var(--muted);
  font-size: 0.85rem;
  white-space: nowrap;
}

.dashboard-area-chart {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1.2rem;
  overflow: visible;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--brand-soft) 42%, transparent), transparent 46%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, transparent), transparent);
  min-height: 320px;
}

.dashboard-area-chart-monthly {
  background:
    radial-gradient(circle at top left, var(--chart-monthly-surface), transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 88%, transparent), transparent);
}

.dashboard-chart-grid line {
  stroke: var(--chart-grid);
  stroke-width: 1;
}

.dashboard-area-fill-annual {
  fill: var(--chart-annual-fill);
}

.dashboard-area-fill {
  opacity: 0.68;
}

.dashboard-area-line {
  fill: none;
  stroke-width: 4.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 4000;
  stroke-dashoffset: 4000;
  animation: dashboard-line-draw 1.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  filter: drop-shadow(0 8px 18px color-mix(in srgb, var(--brand-dark) 22%, transparent));
}

.dashboard-area-line-annual,
.dashboard-area-dot-annual {
  stroke: var(--chart-annual-line);
}

.dashboard-area-line-annual {
  fill: none;
  filter: drop-shadow(0 10px 22px color-mix(in srgb, var(--chart-annual-line) 20%, transparent));
}

.dashboard-area-line-monthly-glow {
  stroke: color-mix(in srgb, var(--chart-monthly-line) 28%, transparent);
  stroke-width: 8.5;
  filter: none;
}

.dashboard-area-line-monthly,
.dashboard-area-dot-monthly {
  stroke: var(--chart-monthly-line);
}

.dashboard-area-line-monthly {
  fill: none;
  stroke-width: 5;
  filter: drop-shadow(0 10px 22px color-mix(in srgb, var(--chart-monthly-line) 20%, transparent));
}

.dashboard-area-dot {
  stroke-width: 3;
  paint-order: stroke;
  fill: var(--surface);
  stroke: color-mix(in srgb, var(--surface) 72%, transparent);
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: dashboard-dot-pop 0.65s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.dashboard-area-dot-monthly {
  fill: #17977f;
  stroke: rgba(255, 255, 255, 0.92);
}

.dashboard-area-dot-annual {
  fill: #4d8fff;
  stroke: rgba(255, 255, 255, 0.92);
}

.dashboard-point-label {
  font-size: 0.72rem;
  font-weight: 700;
  fill: var(--chart-label);
  stroke: none;
  paint-order: normal;
  letter-spacing: 0.01em;
  pointer-events: none;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: dashboard-label-fade 0.75s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.dashboard-point-label-annual {
  fill: var(--chart-label);
}

.dashboard-point-label-monthly {
  fill: var(--chart-label);
}

.dashboard-area-chart-monthly .dashboard-area-line-monthly,
.dashboard-area-chart-monthly .dashboard-area-dot-monthly,
.dashboard-area-chart-monthly .dashboard-point-label-monthly,
.dashboard-area-chart .dashboard-area-line-annual,
.dashboard-area-chart .dashboard-area-dot-annual,
.dashboard-area-chart .dashboard-point-label-annual {
  animation-delay: 0.08s;
}

.dashboard-area-chart {
  animation: dashboard-graph-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.dashboard-area-chart-monthly .dashboard-area-dot-monthly:nth-of-type(2n),
.dashboard-area-chart .dashboard-area-dot-annual:nth-of-type(2n) {
  animation-delay: 0.14s;
}

.dashboard-area-chart-monthly .dashboard-point-label-monthly:nth-of-type(2n),
.dashboard-area-chart .dashboard-point-label-annual:nth-of-type(2n) {
  animation-delay: 0.2s;
}

@keyframes dashboard-line-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes dashboard-dot-pop {
  0% {
    opacity: 0;
    transform: scale(0.72);
  }
  70% {
    opacity: 1;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes dashboard-label-fade {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dashboard-graph-rise {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
    filter: blur(1.5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

.dashboard-chart-axis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.5rem;
  padding: 0 0.4rem;
  font-size: 0.78rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.dashboard-chart-axis-monthly {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  font-size: 0.7rem;
}

.dashboard-chart-axis-feature {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0;
  box-sizing: border-box;
  padding-inline: 4.565%;
  font-size: 0.82rem;
}

.dashboard-chart-axis-feature span {
  flex: 0 0 auto;
  text-align: center;
  transform: translateX(0);
}

.dashboard-chart-axis-monthly-feature {
  font-size: 0.74rem;
}

.dashboard-chart-axis span {
  text-align: center;
}


.dashboard-chart-footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.dashboard-chart-footer > div {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-alt) 92%, var(--surface) 8%), color-mix(in srgb, var(--surface) 96%, transparent));
  border: 1px solid var(--line);
}

.dashboard-chart-footer-feature > div {
  padding: 1rem 1.1rem;
}

.stat-label,
.summary-label {
  color: var(--muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.stat-value,
.summary-value {
  margin-top: 0.4rem;
  font-size: 1.85rem;
  font-weight: 700;
}

.summary-value-text {
  font-size: 1.1rem;
  line-height: 1.3;
}

.search-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 0.75rem;
}

.search-bar-wide {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.property-search-form .search-bar-wide {
  grid-template-columns: minmax(18rem, 2fr) repeat(3, minmax(11rem, 1fr)) auto;
}

.property-search-input-shell {
  position: relative;
  min-width: 0;
}

.property-search-input-shell .form-control {
  padding-right: 4.5rem;
}

.property-search-clear {
  position: absolute;
  top: 50%;
  right: 0.55rem;
  transform: translateY(-50%);
  padding: 0.2rem 0.45rem;
  border: 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}

.property-search-clear:hover,
.property-search-clear:focus-visible {
  color: var(--brand);
  text-decoration: none;
}

.table-filter-row th {
  background: rgba(109, 159, 255, 0.06);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.table-filter-row form {
  margin: 0;
}

.form-control,
.form-select,
.btn {
  border-radius: 0.95rem;
}

.form-control,
.form-select {
  border-color: var(--input-line);
  padding: 0.72rem 0.88rem;
  background: var(--input-bg);
  color: var(--ink);
}

.form-control[readonly],
.form-control:read-only,
.form-control:disabled,
.form-select:disabled,
input[readonly],
textarea[readonly],
input:disabled,
textarea:disabled,
select:disabled {
  background: var(--surface-soft);
  border-color: var(--input-line);
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  opacity: 1;
}

html[data-theme="dark"] .form-control[readonly],
html[data-theme="dark"] .form-control:read-only,
html[data-theme="dark"] .form-control:disabled,
html[data-theme="dark"] .form-select:disabled,
html[data-theme="dark"] input[readonly],
html[data-theme="dark"] textarea[readonly],
html[data-theme="dark"] input:disabled,
html[data-theme="dark"] textarea:disabled,
html[data-theme="dark"] select:disabled {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(148, 165, 189, 0.26) !important;
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  opacity: 1;
}

.form-control::placeholder {
  color: var(--muted);
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(26, 90, 159, 0.45);
  box-shadow: 0 0 0 0.25rem rgba(26, 90, 159, 0.12);
  background: var(--input-bg);
  color: var(--ink);
}

.btn-brand {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
  font-weight: 700;
}

.btn-brand:hover {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: #fff;
}

.btn-legacy-ghost {
  background: var(--ghost-button);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  font-weight: 700;
}

.btn-legacy-ghost:hover {
  background: var(--ghost-button-hover);
  color: #fff;
}

.btn-outline-secondary {
  border-color: var(--line);
  color: var(--ink);
  background: transparent;
}

.btn-outline-secondary:hover {
  background: var(--surface-soft);
  border-color: rgba(26, 90, 159, 0.28);
  color: var(--ink);
}

.btn-shell-toggle {
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  background: transparent;
  color: var(--ink);
  border: 0;
  font-weight: 700;
  box-shadow: none;
  min-height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-shell-toggle:hover {
  background: transparent;
  color: var(--ink);
}

.btn-theme-toggle {
  width: 3rem;
  height: 3rem;
  min-width: 3rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
}

.shell-icon {
  width: 1.15rem;
  height: 1.15rem;
  display: inline-block;
  position: relative;
  font-size: 0;
}

.shell-icon::before {
  content: "";
  position: absolute;
  inset: 0.17rem 0.05rem;
  background:
    linear-gradient(currentColor 0 0) top / 100% 2px no-repeat,
    linear-gradient(currentColor 0 0) center / 100% 2px no-repeat,
    linear-gradient(currentColor 0 0) bottom / 100% 2px no-repeat;
}

.theme-icon {
  width: 1.15rem;
  height: 1.15rem;
  display: inline-block;
  position: relative;
  border-radius: 50%;
}

html[data-theme="light"] .theme-icon {
  box-shadow: inset -0.32rem -0.1rem 0 0 currentColor;
  border: 2px solid transparent;
}

html[data-theme="dark"] .theme-icon {
  background: #ffd66d;
  box-shadow: 0 0 0 0.2rem rgba(255, 214, 109, 0.16);
}

html[data-theme="dark"] .theme-icon::before,
html[data-theme="dark"] .theme-icon::after {
  content: "";
  position: absolute;
  inset: -0.34rem;
  border-radius: 50%;
  background:
    linear-gradient(currentColor 0 0) top center / 2px 0.3rem no-repeat,
    linear-gradient(currentColor 0 0) bottom center / 2px 0.3rem no-repeat,
    linear-gradient(currentColor 0 0) left center / 0.3rem 2px no-repeat,
    linear-gradient(currentColor 0 0) right center / 0.3rem 2px no-repeat;
  opacity: 0.8;
}

.btn-shell-menu {
  display: none;
  width: 3rem;
  min-width: 3rem;
  padding: 0;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: var(--pill-bg);
  color: var(--pill-ink);
  font-size: 0.85rem;
  font-weight: 700;
}

.module-launcher {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.assessment-split-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
  gap: 1.5rem;
  align-items: start;
}

.panel-stack {
  display: grid;
  gap: 1rem;
  align-content: start;
}

.module-card {
  display: block;
  padding: 1.15rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(26, 90, 159, 0.14);
  background:
    radial-gradient(circle at top right, rgba(244, 200, 76, 0.2), transparent 8rem),
    linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: var(--shadow);
  color: inherit;
  transition: transform 140ms ease, border-color 140ms ease;
}

.module-card:hover {
  transform: translateY(-2px);
  border-color: rgba(26, 90, 159, 0.28);
}

.module-card-title {
  font-size: 1.15rem;
  font-weight: 700;
}

.module-card-copy {
  margin-top: 0.45rem;
  color: var(--muted);
  line-height: 1.45;
}

.section-eyebrow {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.report-generator-page {
  overflow: hidden;
}

.report-generator-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.report-generator-body {
  display: grid;
  gap: 1.25rem;
}

.report-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.report-picker-option {
  display: grid;
  gap: 0.35rem;
  text-align: left;
  width: 100%;
  padding: 1rem 1.05rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 16%, transparent), transparent 7rem),
    linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  color: var(--ink);
  box-shadow: 0 10px 30px rgba(21, 58, 94, 0.08);
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.report-picker-option:hover {
  transform: translateY(-2px);
  border-color: rgba(26, 90, 159, 0.28);
}

.report-picker-option.is-active {
  border-color: rgba(26, 90, 159, 0.34);
  background:
    linear-gradient(135deg, rgba(32, 87, 157, 0.98) 0%, rgba(18, 61, 112, 0.96) 100%);
  color: #fff;
  box-shadow: 0 16px 34px rgba(16, 61, 112, 0.22);
}

.report-picker-title {
  font-size: 1rem;
  font-weight: 800;
}

.report-picker-copy {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.report-picker-option.is-active .report-picker-copy {
  color: rgba(255, 255, 255, 0.82);
}

.report-workspace {
  min-width: 0;
}

.report-workspace-panel {
  display: none;
  padding: 1.35rem;
  border-radius: 1.25rem;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 14%, transparent), transparent 10rem),
    linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: 0 16px 38px rgba(17, 57, 96, 0.08);
}

.report-workspace-panel.is-active {
  display: grid;
  gap: 1.2rem;
}

.report-workspace-intro {
  display: grid;
  gap: 0.45rem;
  padding: 1.2rem 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 10%, transparent) 0%, color-mix(in srgb, var(--accent) 14%, transparent) 100%);
  border: 1px solid var(--line);
}

.report-workspace-intro h3 {
  margin: 0;
  font-size: 1.45rem;
}

.report-workspace-intro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
  max-width: 72ch;
}

.report-workspace-kicker {
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.report-generator-form {
  display: grid;
  gap: 1.1rem;
}

.report-generator-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.25rem;
}

.report-generator-note {
  color: var(--muted);
  line-height: 1.5;
  max-width: 62ch;
}

.delinquency-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.delinquency-report-card {
  display: grid;
  gap: 0.9rem;
  padding: 1.1rem;
  border-radius: 1.15rem;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 14%, transparent), transparent 9rem),
    linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: 0 14px 32px rgba(17, 57, 96, 0.08);
}

.delinquency-report-card-head {
  display: grid;
  gap: 0.3rem;
}

.delinquency-report-card-head h3 {
  margin: 0;
  font-size: 1.12rem;
}

.delinquency-report-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.delinquency-report-card .report-generator-form {
  padding-top: 0.1rem;
}

html[data-theme="dark"] .report-picker-option,
html[data-theme="dark"] .report-workspace-panel,
html[data-theme="dark"] .delinquency-report-card {
  background:
    radial-gradient(circle at top right, rgba(255, 214, 109, 0.08), transparent 10rem),
    linear-gradient(180deg, #121f33 0%, #0f1929 100%);
  border-color: rgba(148, 165, 189, 0.2);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .report-picker-option:hover {
  border-color: rgba(121, 174, 255, 0.45);
}

html[data-theme="dark"] .report-picker-option.is-active {
  background: linear-gradient(135deg, #1e5fa7 0%, #163f75 100%);
  border-color: rgba(121, 174, 255, 0.5);
}

html[data-theme="dark"] .report-picker-copy,
html[data-theme="dark"] .report-workspace-intro p,
html[data-theme="dark"] .report-generator-note,
html[data-theme="dark"] .delinquency-report-card p {
  color: #aec0d8;
}

html[data-theme="dark"] .report-workspace-intro {
  background: linear-gradient(135deg, rgba(121, 174, 255, 0.13) 0%, rgba(255, 214, 109, 0.08) 100%);
  border-color: rgba(148, 165, 189, 0.18);
}

.table-wrap {
  overflow-x: auto;
}

.table-rpt {
  width: 100%;
  margin: 0;
  color: var(--ink);
}

.table-rpt thead th {
  border-bottom-width: 1px;
  color: var(--muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: transparent;
}

.table-rpt td,
.table-rpt th {
  padding: 0.9rem 0.75rem;
  vertical-align: middle;
  border-color: var(--line);
}

.billing-workspace {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: start;
  transition: grid-template-columns 180ms ease;
}

.billing-workspace.is-receipt-collapsed {
  grid-template-columns: minmax(0, 1fr);
}

.billing-picker-panel {
  margin-bottom: 0.65rem;
}

.billing-ledger-panel .panel-header {
  padding: 0.8rem 1rem;
}

.billing-document-actions {
  display: flex;
  gap: 0.35rem;
  justify-content: flex-end;
  align-items: center;
}

.billing-icon-action {
  position: relative;
  display: inline-flex;
  width: 2.45rem;
  height: 2.45rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 0.7rem;
  color: var(--ink);
  background: var(--surface-alt);
  transition: 140ms ease;
}

.billing-icon-action svg,
.billing-compact-button svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.billing-icon-action:hover,
.billing-icon-action:focus-visible {
  color: var(--brand-dark);
  border-color: var(--brand);
  background: var(--brand-soft);
  transform: translateY(-1px);
}

.billing-icon-action-primary {
  color: #fff;
  border-color: transparent;
  background: var(--brand);
}

.billing-icon-action[data-tooltip]::after,
.billing-header-receipt-toggle::after {
  position: absolute;
  z-index: 60;
  right: 0;
  top: calc(100% + 0.45rem);
  width: max-content;
  padding: 0.35rem 0.55rem;
  border-radius: 0.4rem;
  color: #fff;
  background: #17243a;
  content: attr(data-tooltip);
  font-size: 0.72rem;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

.billing-header-receipt-toggle::after { content: "Receipt"; }
.billing-icon-action:hover::after,
.billing-icon-action:focus-visible::after { opacity: 1; }

.billing-ledger-panel .panel-body {
  padding: 0.9rem 1rem 1rem;
}

.billing-property-searchbar {
  display: grid;
  gap: 1rem;
}

.billing-property-filterbar {
  padding: 1.15rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, var(--brand-soft), transparent 42%),
    var(--surface-alt);
}

.billing-search-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.billing-search-heading > div {
  display: grid;
  gap: 0.15rem;
}

.billing-search-kicker,
.billing-batch-kicker {
  color: var(--brand);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.billing-search-heading h2 {
  margin: 0;
  color: var(--ink-strong);
  font-size: 1.25rem;
  line-height: 1.25;
}

.billing-search-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.billing-search-result-summary {
  flex: 0 0 auto;
  padding: 0.4rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.property-records-search-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
}

.btn-create-record {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding-inline: 1rem;
  border: 1px solid #11734f;
  background: #16875c;
  color: #ffffff;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(22, 135, 92, 0.22);
}

.btn-create-record:hover,
.btn-create-record:focus-visible {
  border-color: #0d6243;
  background: #11734f;
  color: #ffffff;
}

.btn-create-record > span {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 0.8;
}

.billing-search-primary-row {
  display: grid;
  grid-template-columns: minmax(135px, 165px) minmax(320px, 1fr) auto;
  align-items: end;
  gap: 0.8rem;
}

.property-records-search-primary {
  grid-template-columns: minmax(320px, 1fr) auto auto auto;
  align-items: center;
}

.property-records-search-primary .billing-search-result-summary {
  align-self: center;
}

.billing-picker-search-primary {
  grid-template-columns: minmax(135px, 165px) minmax(320px, 1fr) auto auto;
  align-items: center;
}

.billing-picker-search-primary .billing-search-result-summary {
  align-self: center;
}

.billing-search-secondary-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.9fr) minmax(140px, 0.7fr) minmax(220px, 1.2fr) auto;
  align-items: end;
  gap: 0.8rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--line);
}

.billing-filter-field,
.billing-batch-output-field {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
}

.billing-filter-field > span,
.billing-batch-output-field > span {
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.billing-search-mode {
  min-height: 3.35rem;
}

.billing-search-query-field .form-control {
  min-height: 3.35rem;
  padding-inline: 1rem;
  border-width: 2px;
  border-color: var(--brand);
  background: var(--input-bg);
  color: var(--ink-strong);
  font-size: 1rem;
  font-weight: 650;
  box-shadow: 0 0 0 0.25rem var(--brand-soft);
}

.billing-search-query-field .form-control::placeholder {
  color: var(--muted);
  font-weight: 500;
}

.billing-search-query-field .form-control:focus {
  border-color: var(--brand-strong);
  box-shadow: 0 0 0 0.3rem var(--brand-soft), var(--shadow);
}

.billing-search-primary-row .form-select,
.billing-search-secondary-row .form-select {
  width: 100%;
}

.billing-search-submit {
  min-height: 3.35rem;
  padding-inline: 1.3rem;
  font-weight: 800;
  white-space: nowrap;
}

.billing-clear-filters {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.billing-property-search-shell {
  position: relative;
  min-width: 0;
}

.billing-property-suggestions {
  position: absolute;
  z-index: 1060;
  top: calc(100% + 0.35rem);
  left: 0;
  right: 0;
  max-height: 24rem;
  overflow-y: auto;
  padding: 0.35rem;
  border: 1px solid var(--line);
  border-radius: 0.85rem;
  background: var(--surface);
  box-shadow: 0 18px 44px rgba(5, 20, 42, 0.22);
}

.billing-property-suggestions[hidden] {
  display: none;
}

.billing-property-suggestion {
  display: grid;
  gap: 0.15rem;
  padding: 0.7rem 0.8rem;
  border-radius: 0.65rem;
  color: var(--ink);
  text-decoration: none;
}

.billing-property-suggestion:hover,
.billing-property-suggestion.is-active {
  background: rgba(14, 70, 156, 0.1);
  color: var(--ink);
}

.billing-property-suggestion strong {
  color: var(--ink-strong);
}

.billing-property-suggestion span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.billing-property-suggestion-empty {
  padding: 0.85rem;
  color: var(--muted);
  text-align: center;
}

.billing-property-table-form {
  margin-top: 1.1rem;
  border: 1px solid var(--line-soft);
  border-radius: 1rem;
  overflow: hidden;
}

.property-records-list-panel {
  overflow: hidden;
}

.property-records-batch-toolbar {
  border-radius: 0;
}

.billing-batch-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  padding: 0.95rem 1rem;
  background: var(--surface-alt);
  border-bottom: 1px solid var(--line-soft);
}

.billing-batch-summary {
  display: grid;
  gap: 0.12rem;
}

.billing-batch-summary strong {
  color: var(--ink-strong);
  font-size: 1rem;
}

.billing-batch-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 0.65rem;
}

.billing-batch-output-field .form-select {
  min-width: 215px;
}

.billing-batch-count {
  align-self: center;
  color: var(--muted);
  white-space: nowrap;
}

.billing-batch-count strong {
  color: var(--ink-strong);
}

.billing-property-table-wrap {
  margin: 0;
}

.billing-property-table {
  min-width: 1180px;
}

.billing-property-table thead th {
  white-space: nowrap;
}

.billing-property-table tbody tr {
  transition: background-color 120ms ease, box-shadow 120ms ease;
}

.billing-property-table tbody tr:hover {
  background: rgba(14, 70, 156, 0.035);
}

.billing-property-table .billing-property-row-active {
  box-shadow: inset 3px 0 var(--brand);
}

.billing-property-table .billing-property-row-selected {
  background: rgba(14, 70, 156, 0.08);
}

.billing-property-select-column {
  width: 3rem;
  text-align: center;
}

.billing-property-owner-link {
  color: var(--brand);
  font-weight: 800;
  text-decoration: none;
}

.billing-property-owner-link:hover {
  text-decoration: underline;
}

.billing-picker-panel .pagination-shell {
  margin-top: 0.9rem;
}

.batch-billing-form {
  display: grid;
  gap: 1rem;
}

.batch-billing-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(110px, 0.5fr) minmax(220px, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
  padding: 0.85rem;
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  background: var(--surface-muted);
}

.batch-billing-field {
  display: grid;
  gap: 0.35rem;
}

.batch-billing-actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.batch-auto-year {
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  padding: 0 0.9rem;
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  background: var(--surface);
  color: var(--muted);
  font-weight: 700;
}

.batch-show-updated {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0 0.85rem;
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  background: var(--surface);
  color: var(--ink);
  white-space: nowrap;
}

.billing-property-dropdown {
  margin-top: 0.85rem;
  display: grid;
  gap: 0.55rem;
  max-height: 300px;
  overflow-y: auto;
}

.billing-property-option {
  display: grid;
  gap: 0.3rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.9rem;
  background: var(--surface);
  color: var(--ink);
  text-decoration: none;
  transition: border-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
}

.billing-property-option:hover {
  border-color: rgba(14, 70, 156, 0.26);
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

.billing-property-option.is-active {
  border-color: rgba(14, 70, 156, 0.35);
  background: rgba(14, 70, 156, 0.05);
}

.billing-property-option-main {
  display: flex;
  justify-content: flex-start;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
}

.billing-property-option-main span,
.billing-property-option-meta span {
  color: var(--muted);
}

.billing-location-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.6rem;
  border-radius: 999px;
  background: rgba(19, 50, 81, 0.08);
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.billing-property-option-meta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.billing-property-empty {
  margin-top: 0.85rem;
  padding: 0.9rem 1rem;
  border: 1px dashed var(--line-soft);
  border-radius: 0.9rem;
  color: var(--muted);
}

.billing-property-banner {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1.6fr);
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.7rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.85rem;
  background: linear-gradient(135deg, rgba(14, 70, 156, 0.08), rgba(14, 70, 156, 0.02));
}

.billing-owner {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink-strong);
}

.billing-property-status {
  margin-bottom: 0.28rem;
}

.billing-property-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr)) minmax(280px, 0.95fr);
  gap: 0.6rem;
  align-items: center;
}

.billing-property-meta span,
.billing-summary-item span {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
}

.billing-property-meta strong,
.billing-summary-item strong {
  display: block;
  margin-top: 0.12rem;
  color: var(--ink-strong);
}

.billing-property-receipt-chip {
  display: none;
  grid-template-columns: minmax(72px, 0.55fr) auto;
  align-items: center;
  gap: 0.8rem;
  min-height: 3.25rem;
  padding: 0.48rem 0.78rem;
  border: 1px solid rgba(15, 159, 40, 0.18);
  border-radius: 0.9rem;
  background: linear-gradient(135deg, rgba(15, 159, 40, 0.1), rgba(121, 174, 255, 0.08));
  box-shadow: 0 10px 24px rgba(16, 61, 112, 0.1);
}

.billing-workspace.is-receipt-collapsed .billing-property-receipt-chip {
  display: grid;
}

.billing-property-receipt-copy,
.billing-property-receipt-chip strong {
  margin: 0;
  min-width: 0;
}

.billing-property-receipt-copy span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
}

.billing-property-receipt-copy strong {
  display: flex;
  gap: 0.25rem;
  margin-top: 0.12rem;
  color: var(--ink-strong);
  white-space: nowrap;
}

.billing-property-receipt-copy strong span {
  display: inline;
  font-size: inherit;
  font-weight: inherit;
  text-transform: none;
  letter-spacing: 0;
  color: inherit;
}

.billing-property-receipt-total {
  color: #0f9f28 !important;
  font-size: 1.12rem;
  text-align: right;
  white-space: nowrap;
}

.billing-header-receipt-toggle {
  min-width: 2.45rem;
  width: 2.45rem;
  height: 2.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0;
  flex: 0 0 auto;
  font-weight: 800;
}

.billing-header-receipt-toggle svg {
  width: 1.15rem;
  height: 1.15rem;
}

.billing-header-receipt-toggle[aria-expanded="true"] {
  background: var(--brand-soft);
  border-color: var(--brand);
  color: var(--brand-dark);
}

html[data-theme="dark"] .billing-property-receipt-chip {
  border-color: rgba(59, 153, 109, 0.28);
  background: linear-gradient(135deg, rgba(59, 153, 109, 0.16), rgba(121, 174, 255, 0.08));
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.billing-formula-bar {
  display: grid;
  grid-template-columns: auto minmax(320px, 1fr);
  gap: 0.65rem;
  align-items: center;
  margin-bottom: 0.4rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 0.8rem;
  background: var(--surface-alt);
}

.billing-ledger-header {
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.8rem;
}

.billing-formula-bar-header {
  display: flex;
  flex: 1 1 auto;
  justify-content: flex-end;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.billing-formula-bar-header > .form-select {
  width: 10rem;
  min-width: 8rem;
  min-height: 2.1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.billing-formula-bar-header .billing-calculation-date {
  min-width: 13.25rem;
  gap: 0.35rem;
}

.billing-formula-bar-header .billing-calculation-date .form-control {
  width: 9.5rem;
  flex-basis: 9.5rem;
  min-height: 2.1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.billing-formula-bar-header .billing-compact-button {
  min-height: 2.1rem;
  padding: 0.25rem 0.55rem;
}

.billing-formula-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ink-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.billing-formula-controls {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  min-width: 0;
  flex-wrap: wrap;
}

.billing-formula-controls .form-select {
  flex: 1 1 220px;
  min-width: 0;
  min-height: 2.35rem;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}

.billing-calculation-date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 1 auto;
  min-width: 15.5rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.billing-calculation-date .form-control {
  width: 10.5rem;
  flex: 0 0 10.5rem;
  min-height: 2.35rem;
  color: var(--ink);
  letter-spacing: normal;
  text-transform: none;
}

.billing-calculation-date-hint {
  grid-column: 2;
  margin-top: -0.3rem;
  color: var(--muted);
  font-size: 0.78rem;
}

.billing-formula-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
  flex-wrap: wrap;
}

.billing-compact-button {
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.35rem 0.65rem;
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .legacy-topbar:has(.billing-document-actions) {
    flex-wrap: nowrap;
  }

  .legacy-topbar:has(.billing-document-actions) .legacy-topbar-meta {
    min-width: 0;
  }

  .billing-ledger-panel .panel-header {
    align-items: center !important;
    gap: 0.65rem;
  }

  .billing-document-actions {
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
    padding: 0.15rem 0.1rem 0.35rem;
  }

  .billing-ledger-header {
    flex-wrap: wrap;
  }

  .billing-formula-bar-header {
    flex: 1 1 100%;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 0.2rem;
  }

  .billing-icon-action {
    flex: 0 0 2.45rem;
  }

  .billing-formula-bar {
    grid-template-columns: 1fr;
  }

  .billing-formula-label,
  .billing-calculation-date-hint {
    grid-column: 1;
  }
}

@media (max-width: 767.98px) {
  .billing-ledger-panel .panel-header {
    flex-direction: column;
    align-items: stretch !important;
  }

  .billing-document-actions {
    justify-content: flex-start;
  }

  .billing-formula-controls {
    display: grid;
    grid-template-columns: 1fr;
  }

  .billing-formula-bar-header {
    display: grid;
    grid-template-columns: auto minmax(8rem, 1fr);
    overflow: visible;
  }

  .billing-formula-bar-header > .form-select,
  .billing-formula-bar-header .billing-calculation-date {
    width: 100%;
    min-width: 0;
  }

  .billing-formula-bar-header .billing-calculation-date {
    grid-column: 1 / -1;
    display: flex;
  }

  .billing-formula-bar-header .billing-calculation-date .form-control {
    width: auto;
    flex: 1 1 auto;
  }

  .billing-formula-bar-header .billing-formula-actions {
    grid-column: 1 / -1;
  }

  .billing-formula-controls .form-select,
  .billing-calculation-date {
    width: 100%;
    min-width: 0;
  }

  .billing-calculation-date {
    display: grid;
    gap: 0.25rem;
  }

  .billing-calculation-date .form-control {
    width: 100%;
    flex-basis: auto;
  }

  .billing-formula-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-compact-button {
    justify-content: center;
  }

  .billing-icon-action::after {
    display: none;
  }
}

.billing-summary-stack {
  display: grid;
  gap: 0.85rem;
}

.billing-ledger-wrap {
  overflow-x: auto;
}

.billing-side-stack {
  display: grid;
  gap: 1.25rem;
  align-self: start;
  position: sticky;
  top: 1rem;
}

.billing-summary-item {
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.9rem;
  background: var(--surface-raised);
}

.billing-editor-form {
  display: grid;
  gap: 1rem;
}

.billing-editor-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.billing-paid-toggle {
  display: flex;
  gap: 0.65rem;
  align-items: center;
  min-height: 100%;
  padding-top: 2rem;
}

.billing-row-actions {
  display: flex;
  gap: 0.35rem;
  justify-content: flex-end;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.billing-edit-banner {
  margin-bottom: 0.9rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(14, 70, 156, 0.18);
  border-radius: 0.9rem;
  background: rgba(14, 70, 156, 0.06);
  color: var(--ink);
}

.billing-edit-banner a {
  font-weight: 700;
}

.billing-ledger-grid {
  min-width: 1460px;
  table-layout: fixed;
}

.billing-ledger-grid th,
.billing-ledger-grid td {
  padding: 0.55rem 0.45rem;
  font-size: 0.82rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.billing-select-col {
  width: 42px;
  text-align: center;
}

.billing-col-check {
  width: 42px;
}

.billing-col-year {
  width: 76px;
}

.billing-col-quarter {
  width: 92px;
}

.billing-col-assessed {
  width: 96px;
}

.billing-col-money {
  width: 88px;
}

.billing-col-status {
  width: 96px;
}

.billing-col-receipt {
  width: 88px;
}

.billing-col-payor {
  width: 180px;
}

.billing-col-date {
  width: 92px;
}

.billing-col-actions {
  width: 160px;
}

.billing-ledger-grid .form-control,
.billing-ledger-grid .form-select {
  min-width: 0;
  padding-left: 0.45rem;
  padding-right: 0.45rem;
}

.billing-ledger-grid .form-control[readonly],
.billing-ledger-grid .form-control:disabled,
.billing-ledger-grid input[readonly],
.billing-ledger-grid input:disabled {
  background: var(--surface-soft);
  border-color: var(--input-line);
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  opacity: 1;
}

html[data-theme="dark"] .billing-ledger-grid .form-control[readonly],
html[data-theme="dark"] .billing-ledger-grid .form-control:disabled,
html[data-theme="dark"] .billing-ledger-grid input[readonly],
html[data-theme="dark"] .billing-ledger-grid input:disabled {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(148, 165, 189, 0.26);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.billing-receipt-form .form-control[readonly],
.billing-receipt-form .form-control:disabled,
.billing-receipt-form input[readonly],
.billing-receipt-form input:disabled {
  background: var(--surface-soft);
  border-color: var(--input-line);
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  opacity: 1;
}

html[data-theme="dark"] .billing-receipt-form .form-control[readonly],
html[data-theme="dark"] .billing-receipt-form .form-control:disabled,
html[data-theme="dark"] .billing-receipt-form input[readonly],
html[data-theme="dark"] .billing-receipt-form input:disabled {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(148, 165, 189, 0.26);
}

.billing-ledger-grid tbody td:last-child,
.billing-ledger-grid thead th:last-child {
  position: sticky;
  right: 0;
  z-index: 2;
  width: 160px;
  text-align: right;
  border-left: 2px solid var(--accent-dark);
  background: var(--surface-strong);
  box-shadow: -10px 0 18px rgba(16, 61, 112, 0.18);
}

.billing-ledger-grid thead th:last-child {
  z-index: 4;
  background: var(--accent);
  color: var(--ink);
}

.billing-row-selected > * {
  background: rgba(253, 224, 71, 0.26) !important;
}

.billing-row-paid > * {
  background: rgba(15, 118, 110, 0.04);
}

.billing-row-editing > * {
  background: rgba(14, 70, 156, 0.08);
}

.billing-row-selected > *:last-child {
  background: #f4c84c !important;
}

.billing-row-paid > *:last-child {
  background: var(--surface-strong);
}

.billing-row-editing > *:last-child {
  background: var(--brand-soft);
}

.billing-entry-row > * {
  background: linear-gradient(180deg, rgba(22, 163, 74, 0.16), rgba(22, 163, 74, 0.07));
  border-top: 2px solid rgba(22, 163, 74, 0.38);
  border-bottom: 1px solid rgba(22, 163, 74, 0.22);
}

.billing-entry-row > *:last-child {
  background: #d9f1e1;
}

html[data-theme="dark"] .billing-ledger-grid tbody td:last-child,
html[data-theme="dark"] .billing-ledger-grid thead th:last-child {
  border-left-color: var(--accent-dark);
  background: #1a2b43;
  box-shadow: -10px 0 18px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] .billing-ledger-grid thead th:last-child {
  background: #5c4917;
  color: #fff4d2;
}

html[data-theme="dark"] .billing-row-selected > *:last-child {
  background: #5c4917 !important;
}

html[data-theme="dark"] .billing-row-paid > *:last-child {
  background: #1a2b43;
}

html[data-theme="dark"] .billing-row-editing > *:last-child {
  background: #172842;
}

html[data-theme="dark"] .billing-entry-row > *:last-child {
  background: #173d2a;
}

.billing-entry-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2rem;
  padding: 0.24rem 0.35rem;
  border: 1px solid rgba(22, 163, 74, 0.42);
  border-radius: 999px;
  background: rgba(22, 163, 74, 0.16);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #12743a;
}

.billing-entry-row .btn-brand {
  background: #168547;
  border-color: #168547;
  box-shadow: 0 10px 22px rgba(22, 133, 71, 0.24);
}

.billing-entry-row .btn-brand:hover {
  background: #126d3b;
  border-color: #126d3b;
}

.billing-entry-actions .btn {
  width: 2.35rem;
  height: 2.35rem;
}

.billing-entry-actions .btn svg {
  width: 1.35rem;
  height: 1.35rem;
}

.billing-entry-toggle {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
}

.billing-entry-actions {
  display: flex;
  gap: 0.45rem;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.billing-row-actions .btn,
.billing-entry-actions .btn {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 0.55rem;
}

.billing-row-actions .btn svg,
.billing-entry-actions .btn svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.billing-entry-actions .billing-add-button {
  width: auto;
  min-width: 7rem;
  padding: 0 0.75rem;
  gap: 0.4rem;
  font-weight: 800;
  white-space: nowrap;
}

.billing-footer-note td {
  background: rgba(14, 70, 156, 0.03);
}

.billing-footer-tools {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.82rem;
}

.billing-footer-select {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  font-weight: 700;
}

.billing-receipt-panel .panel-body {
  padding: 1rem;
}

.billing-receipt-panel {
  overflow: hidden;
}

.billing-receipt-header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
}

.billing-receipt-title {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.billing-receipt-collapsed-summary {
  display: none;
  gap: 0.25rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.billing-receipt-collapsed-summary span {
  overflow-wrap: anywhere;
}

.billing-receipt-collapsed-summary span:last-child {
  color: #0f9f28;
  font-size: 1rem;
  font-weight: 900;
}

.billing-receipt-toggle {
  flex: 0 0 auto;
  min-width: 5.6rem;
}

.billing-workspace.is-receipt-collapsed .billing-receipt-panel .panel-header {
  min-height: 11rem;
  padding: 0.9rem 0.55rem;
  flex-direction: column;
  justify-content: flex-start;
  text-align: center;
}

.billing-workspace.is-receipt-collapsed .billing-receipt-panel .panel-title {
  font-size: 0.95rem;
}

.billing-workspace.is-receipt-collapsed .billing-receipt-panel .panel-body {
  display: none;
}

.billing-workspace.is-receipt-collapsed .billing-receipt-collapsed-summary {
  display: grid;
}

.billing-workspace.is-receipt-collapsed .billing-receipt-toggle {
  min-width: 0;
  width: 100%;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}

.billing-workspace.is-receipt-collapsed .billing-side-stack {
  display: none;
}

.billing-receipt-form {
  display: grid;
  gap: 0.85rem;
}

.billing-receipt-field .form-label {
  margin-bottom: 0.22rem;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
}

.billing-receipt-summary {
  display: grid;
  gap: 0.65rem;
  padding: 0.95rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(14, 70, 156, 0.05), rgba(14, 70, 156, 0.01));
  border: 1px solid var(--line-soft);
}

.billing-receipt-summary div,
.billing-receipt-summary .is-accent {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
}

.billing-receipt-summary span {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
}

.billing-receipt-summary strong {
  font-size: 1rem;
  color: var(--ink-strong);
}

.billing-receipt-summary .is-accent strong {
  font-size: 1.55rem;
  color: #0f9f28;
}

.billing-receipt-grid,
.billing-receipt-money {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.billing-money-input {
  font-size: 1.35rem;
  font-weight: 800;
  color: #d81818;
}

.billing-receipt-actions {
  display: grid;
  gap: 0.6rem;
}

.table-actions {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.pagination-shell {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.95rem 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: var(--shadow);
}

.pagination-summary {
  color: var(--muted);
  font-size: 0.9rem;
}

.pagination-links {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  align-items: center;
}

.pagination-size-form {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-right: 0.35rem;
}

.pagination-size-label {
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 700;
}

.pagination-size-select {
  min-width: 5.5rem;
}

.pagination-page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  padding: 0.45rem 0.7rem;
  border-radius: 0.8rem;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  font-weight: 700;
}

.pagination-page.is-active {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}

.table-active > * {
  background-color: var(--surface-soft) !important;
}

.badge-soft-success,
.badge-soft-warning,
.badge-soft-danger,
.badge-soft-muted {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.35rem 0.65rem;
  font-size: 0.82rem;
  font-weight: 700;
}

.badge-soft-success {
  background: var(--success-soft);
  color: var(--success-ink);
}

.badge-soft-warning {
  background: rgba(244, 200, 76, 0.22);
  color: #8a6210;
}

.badge-soft-danger {
  background: var(--danger-soft);
  color: var(--danger-ink);
}

.badge-soft-muted {
  background: rgba(19, 50, 81, 0.08);
  color: var(--muted);
}

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

.type-badge-row {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  align-items: center;
}

.property-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(26, 90, 159, 0.1);
  border: 1px solid rgba(26, 90, 159, 0.16);
  color: var(--brand-dark);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-toast {
  position: fixed;
  top: 4.25rem;
  right: 1.25rem;
  z-index: 1200;
  width: min(360px, calc(100vw - 2rem));
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: var(--shadow-strong);
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

.app-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.app-toast-success {
  border-color: rgba(10, 108, 71, 0.2);
}

.app-toast-body {
  flex: 1;
  min-width: 0;
}

.app-toast-title {
  font-weight: 700;
  color: var(--ink);
}

.app-toast-message {
  margin-top: 0.2rem;
  color: var(--muted);
}

.app-toast-close {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 1.2rem;
  line-height: 1;
}

.detail-item,
.key-value-item {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.detail-item-wide {
  grid-column: span 2;
}

.modal-content {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  color: var(--ink);
  box-shadow: var(--shadow-strong);
}

/*
 * Application headers intentionally sit above ordinary page content.  Bootstrap's
 * default modal layer (1055) was lower than our sticky header (1100), which let
 * the header cover the dialog title and close button.  Keep every dialog above
 * the application chrome and give scrollable dialogs a viewport-safe height.
 */
.modal-backdrop {
  z-index: 2000 !important;
}

.modal {
  z-index: 2010 !important;
  padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
}

.modal-dialog.modal-dialog-scrollable {
  height: min(760px, calc(100dvh - 2rem));
  max-height: calc(100dvh - 2rem);
  margin: 0 auto;
}

.modal-dialog.modal-dialog-scrollable .modal-content {
  max-height: 100%;
}

@media (max-width: 767.98px) {
  .modal {
    padding: max(0.65rem, env(safe-area-inset-top)) 0.65rem max(0.65rem, env(safe-area-inset-bottom));
  }

  .modal-dialog.modal-dialog-scrollable {
    height: calc(100dvh - 1.3rem);
    max-height: calc(100dvh - 1.3rem);
  }
}

.modal-header,
.modal-footer {
  border-color: var(--line);
  background: var(--surface);
}

.modal-title {
  color: var(--ink-strong, var(--ink));
}

.modal-body {
  background: var(--surface-alt);
}

html[data-theme="dark"] .modal-backdrop.show {
  opacity: 0.72;
}

html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer {
  background: #0d1625;
}

html[data-theme="dark"] .modal-body {
  background: #0b1320;
}

html[data-theme="dark"] .modal .btn-close {
  filter: invert(1) grayscale(100%) brightness(180%);
  opacity: 0.78;
}

html[data-theme="dark"] .modal .btn-close:hover {
  opacity: 1;
}

.property-hero .panel-body {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) minmax(38rem, 52rem);
  align-items: center;
  gap: 1.25rem;
}

.property-action-bar {
  display: flex;
  justify-content: flex-end;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--line);
}

.legacy-topbar-meta > .property-action-bar {
  padding: 0;
  border: 0;
}

.legacy-topbar-meta > .property-action-bar .property-action-tools {
  flex-wrap: nowrap;
}

.property-action-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.property-action-divider {
  width: 1px;
  height: 1.75rem;
  background: var(--line);
  margin: 0 0.15rem;
}

.property-icon-action {
  position: relative;
  display: inline-flex;
  width: 2.65rem;
  height: 2.65rem;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background: var(--surface-alt);
  border: 1px solid var(--line);
  border-radius: 0.7rem;
  text-decoration: none;
  transition: transform 140ms ease, background 140ms ease, color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.property-icon-action svg {
  width: 1.18rem;
  height: 1.18rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.property-icon-action:hover,
.property-icon-action:focus-visible {
  color: var(--brand-dark);
  background: var(--surface-soft);
  border-color: rgba(26, 90, 159, 0.38);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(16, 61, 112, 0.13);
}

.property-icon-action-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
  border-color: transparent;
}

.property-icon-action-primary:hover,
.property-icon-action-primary:focus-visible {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-strong) 0%, var(--brand-dark) 100%);
}

.property-icon-action[data-tooltip]::after {
  position: absolute;
  z-index: 50;
  right: 0;
  top: calc(100% + 0.55rem);
  width: max-content;
  max-width: min(16rem, 80vw);
  padding: 0.4rem 0.6rem;
  color: #fff;
  background: #17243a;
  border-radius: 0.45rem;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.25;
  content: attr(data-tooltip);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-0.2rem);
  transition: opacity 120ms ease, transform 120ms ease;
}

.property-icon-action[data-tooltip]:hover::after,
.property-icon-action[data-tooltip]:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.property-hero-main {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.property-hero .summary-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.9rem;
}

.property-hero .stat-card {
  min-width: 0;
  padding: 0 0 0 0.9rem;
  border: 0;
  border-radius: 0;
  border-left: 1px solid var(--line);
  background: transparent;
  box-shadow: none;
}

.property-hero .stat-card:first-child {
  border-left: 0;
  padding-left: 0;
}

.property-hero .stat-label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.property-hero .stat-value {
  margin-top: 0.25rem;
  font-size: clamp(1.2rem, 1.65vw, 1.7rem);
  white-space: nowrap;
}

.property-hero-title {
  margin: 0;
  font-size: 1.55rem;
}

.property-hero-meta,
.property-eyebrow {
  color: var(--muted);
}

.property-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  font-weight: 700;
}

.property-hero-actions,
.workspace-linkbar,
.danger-zone {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.property-workspace-panel .panel-body {
  padding-top: 0;
}

.property-workspace-tabs {
  display: flex;
  gap: 0.15rem;
  align-items: flex-end;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  margin: 0 -1.25rem 1.25rem;
  padding: 0 1.25rem;
  scrollbar-width: thin;
}

.property-workspace-tab {
  flex: 0 0 auto;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0.65rem 0.65rem 0 0;
  padding: 0.9rem 1rem 0.78rem;
  color: var(--muted);
  background: transparent;
  font-weight: 750;
  transition: color 140ms ease, background 140ms ease, border-color 140ms ease;
}

.property-workspace-tab:hover,
.property-workspace-tab:focus-visible {
  color: var(--brand-dark);
  background: var(--surface-soft);
}

.property-workspace-tab.active {
  color: var(--brand-dark);
  background: var(--surface-alt);
  border-bottom-color: var(--brand);
}

/* Property overview: compact label/value list instead of individual cards. */
.property-workspace-panel .property-overview-list {
  gap: 0;
  border-top: 1px solid var(--line);
}

.property-workspace-panel .property-overview-list .detail-item {
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.property-workspace-panel .property-overview-list .detail-item:nth-child(3n) {
  border-right: 0;
}

.property-workspace-panel .property-overview-list .detail-item-wide {
  grid-column: span 3;
  border-right: 0;
}

.property-workspace-panel .property-overview-list .detail-label {
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
}

.property-workspace-panel .property-overview-list .detail-value {
  font-size: 0.98rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
  .property-hero .panel-body {
    grid-template-columns: 1fr;
  }

  .property-hero .summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-hero .stat-card:nth-child(odd) {
    border-left: 0;
    padding-left: 0;
  }
  .legacy-topbar-meta > .property-action-bar {
    max-width: calc(100vw - 9rem);
    overflow-x: auto;
    padding-block: 0.2rem;
  }

  .legacy-topbar-meta > .property-action-bar .property-action-tools {
    flex-wrap: nowrap;
  }

  .property-action-bar {
    justify-content: flex-start;
  }

  .property-action-tools {
    justify-content: flex-start;
  }

  .property-icon-action {
    width: 2.5rem;
    height: 2.5rem;
  }

  .property-workspace-tabs {
    margin-inline: -1rem;
    padding-inline: 1rem;
  }

  .property-workspace-panel .property-overview-list {
    grid-template-columns: 1fr;
  }

  .property-workspace-panel .property-overview-list .detail-item,
  .property-workspace-panel .property-overview-list .detail-item:nth-child(3n) {
    border-right: 0;
  }

  .property-workspace-panel .property-overview-list .detail-item-wide {
    grid-column: span 1;
  }
}

@media (max-width: 1199.98px) {
  .property-hero .panel-body {
    grid-template-columns: 1fr;
  }

  .property-hero .summary-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .property-workspace-panel .property-overview-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-workspace-panel .property-overview-list .detail-item:nth-child(3n) {
    border-right: 1px solid var(--line);
  }

  .property-workspace-panel .property-overview-list .detail-item:nth-child(2n) {
    border-right: 0;
  }

  .property-workspace-panel .property-overview-list .detail-item-wide {
    grid-column: span 2;
    border-right: 0;
  }
}

.editor-record-hero {
  margin-top: 0.95rem;
  display: grid;
  gap: 0.45rem;
}

.editor-record-status {
  display: flex;
  align-items: center;
}

.editor-record-title {
  margin: 0;
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.editor-record-meta {
  color: var(--muted);
  font-size: 1rem;
}

.section-toggle {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.section-toggle-link {
  border: 1px solid var(--line);
  background: var(--surface-alt);
  color: var(--ink);
  border-radius: 999px;
  padding: 0.65rem 1rem;
  font-weight: 700;
  transition: background 140ms ease, color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.section-toggle-link:hover {
  background: var(--surface-soft);
  color: var(--brand-dark);
  border-color: rgba(26, 90, 159, 0.24);
}

.section-toggle-link.active {
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(16, 61, 112, 0.18);
}

.section-toggle-panel {
  display: none;
}

.section-toggle-panel.active {
  display: block;
}

.workspace-grid-two,
.form-grid-2,
.form-grid-3 {
  display: grid;
  gap: 1rem;
}

.workspace-grid-two,
.form-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.panel-nested {
  border-radius: 1rem;
  box-shadow: none;
}

.print-body {
  background: #f2f4f8;
  color: #111;
  padding: 2rem;
}

.print-layout-toolbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0 0 1rem;
  margin: 0 auto;
  width: min(100%, 1024px);
  background: linear-gradient(180deg, rgba(242, 244, 248, 0.96) 0%, rgba(242, 244, 248, 0.82) 80%, rgba(242, 244, 248, 0) 100%);
  backdrop-filter: blur(8px);
}

.print-layout-toolbar-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.print-layout-shell .print-header > .btn.print-hide,
.print-layout-shell .faas-print-toolbar,
.print-layout-shell .td-fixed-toolbar,
.print-layout-shell .receipt-print-toolbar {
  display: none;
}

.print-sheet {
  width: min(100%, 1024px);
  margin: 0 auto;
  background: #fff;
  padding: 2rem;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
}

.print-header,
.print-footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.print-title-block {
  text-align: center;
  width: 100%;
}

.print-title-block h1 {
  margin: 0.5rem 0;
  font-size: 1.5rem;
}

.print-title-meta {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.certificate-sheet {
  width: min(100%, 850px);
  min-height: 11in;
  margin: 0 auto;
  padding: 1.1in 0.8in 0.7in;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
  color: #111;
  font-size: 13px;
  line-height: 1.35;
}

.certificate-head {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 110px;
  align-items: start;
  gap: 0.75rem;
}

.certificate-logo-slot {
  min-height: 84px;
  display: grid;
  align-content: start;
  justify-items: center;
}

.certificate-logo-slot-right {
  justify-items: end;
}

.certificate-logo {
  width: 68px;
  height: 68px;
  object-fit: contain;
}

.certificate-form-code {
  width: 100%;
  text-align: right;
  font-size: 0.72rem;
  margin-bottom: 0.35rem;
}

.certificate-title-block {
  text-align: center;
}

.certificate-title-block h1 {
  margin: 0.35rem 0 0.15rem;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.certificate-title-strong,
.certificate-office-line {
  font-weight: 700;
}

.certificate-office-line {
  margin-top: 0.25rem;
}

.certificate-date-row {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 0.5rem;
  margin-top: 0.15rem;
  margin-bottom: 0.55rem;
  font-size: 0.92rem;
}

.certificate-date-label {
  min-width: 2.5rem;
}

.certificate-date-value {
  min-width: 12rem;
  padding-bottom: 0.08rem;
  border-bottom: 1px solid #111;
  font-weight: 700;
}

.certificate-lines,
.certificate-property-block {
  margin-top: 0.55rem;
}

.certificate-property-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem 1rem;
}

.certificate-line-row {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
}

.certificate-line-row-full {
  grid-column: 1 / -1;
}

.certificate-line-label {
  flex: 0 0 auto;
  min-width: 5.5rem;
}

.certificate-line-value {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 0.1rem 0.08rem;
  border-bottom: 1px solid #111;
  font-weight: 700;
}

.certificate-body-copy {
  margin-top: 0.7rem;
}

.certificate-body-copy p {
  margin: 0.35rem 0;
}

.certificate-body-copy-centered {
  text-align: center;
}

.certificate-body-copy-tight {
  margin-top: 0.45rem;
}

.certificate-body-copy-justified {
  text-align: center;
}

.certificate-table {
  width: 100%;
  margin-top: 0.55rem;
  font-size: 0.92rem;
}

.certificate-table thead th,
.certificate-table td {
  border-color: #111;
  color: #111;
}

.certificate-table thead th {
  text-transform: uppercase;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-align: center;
}

.certificate-table td {
  vertical-align: middle;
}

.delinquency-notice-table td:nth-child(1),
.delinquency-notice-table td:nth-child(2),
.delinquency-notice-table td:nth-child(3),
.delinquency-notice-table td:nth-child(4),
.delinquency-notice-table th:nth-child(1),
.delinquency-notice-table th:nth-child(2),
.delinquency-notice-table th:nth-child(3),
.delinquency-notice-table th:nth-child(4),
.tax-clearance-table td,
.tax-clearance-table th {
  text-align: center;
}

.certificate-total-line {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.5rem;
  margin-top: 0.6rem;
  font-size: 1.05rem;
}

.certificate-signature {
  margin-top: 2rem;
  display: grid;
  gap: 0.2rem;
}

.certificate-signature-right {
  justify-items: end;
  text-align: center;
}

.certificate-signature-name {
  margin-top: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 0.18rem;
}

.certificate-signature-space {
  min-height: 2.75rem;
}

.certificate-signature-space + .certificate-signature-name {
  margin-top: 0;
}

.certificate-signature-title {
  font-size: 0.9rem;
}

.batch-print-summary {
  width: min(100%, 1180px);
  margin: 0 auto 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.9rem;
  background: var(--surface);
  color: var(--ink);
}

.batch-print-document {
  break-after: page;
  page-break-after: always;
}

.batch-print-document:last-child {
  break-after: auto;
  page-break-after: auto;
}

.batch-print-document > .print-sheet {
  margin-top: 0;
}

.batch-print-document .print-hide {
  display: none !important;
}

.rptar-register-sheet {
  page: rptar-register;
  width: min(100%, 1360px);
  min-height: 8.05in;
  padding: 0.4in 0.42in 0.35in;
  color: #111;
  font-family: "Times New Roman", Times, serif;
  font-size: 11px;
}

.rptar-register-title {
  margin: 0 0 0.55in;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.rptar-register-information {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 0.62in;
  align-items: start;
  min-height: 1.72in;
}

.rptar-ownership-table,
.rptar-ledger-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.rptar-ownership-table th,
.rptar-ownership-table td,
.rptar-ledger-table th,
.rptar-ledger-table td {
  border: 1px solid #222;
}

.rptar-ownership-table th {
  padding: 1px 4px;
  text-align: center;
  font-weight: 700;
  line-height: 1.05;
}

.rptar-ownership-table td {
  height: 18px;
  padding: 1px 4px;
  overflow-wrap: anywhere;
  vertical-align: middle;
}

.rptar-ownership-table th:first-child,
.rptar-ownership-table td:first-child {
  width: 39%;
}

.rptar-transfer-column {
  width: 15%;
}

.rptar-property-panel {
  padding-top: 0.06in;
  font-size: 12px;
}

.rptar-pin-field {
  margin-bottom: 0.23in;
}

.rptar-location-heading {
  margin-bottom: 0.13in;
  text-align: center;
  font-weight: 700;
}

.rptar-field {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 7px;
  align-items: end;
  margin-bottom: 4px;
}

.rptar-field span {
  font-weight: 700;
  white-space: nowrap;
}

.rptar-field strong {
  min-height: 15px;
  padding: 0 4px 1px;
  border-bottom: 1px solid #222;
  font-family: Arial, sans-serif;
  font-weight: 600;
}

.rptar-property-references {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 2px 7px;
  margin: 5px 0 0 0.7in;
}

.rptar-property-references span {
  font-weight: 700;
}

.rptar-property-references strong {
  font-family: Arial, sans-serif;
  font-weight: 600;
}

.rptar-ledger-title {
  margin: 0.1in 0 0.03in;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.015em;
}

.rptar-ledger-table {
  font-size: 9px;
}

.rptar-ledger-table th {
  height: 28px;
  padding: 2px 1px;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  line-height: 1.05;
}

.rptar-ledger-table td {
  height: 23px;
  padding: 2px;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.rptar-ledger-table .rptar-col-arp {
  width: 6.2%;
}

.rptar-ledger-table .rptar-col-money {
  width: 4.75%;
}

.rptar-ledger-table .rptar-col-year {
  width: 3.7%;
}

.rptar-ledger-table .rptar-col-receipt {
  width: 7%;
}

.rptar-ledger-table .rptar-col-clerk {
  width: 4.8%;
}

.rptar-number {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rptar-year-cell,
.rptar-receipt-cell {
  text-align: center;
}

.rptar-year-cell span,
.rptar-receipt-cell span,
.rptar-year-cell small,
.rptar-receipt-cell small {
  display: block;
}

.rptar-year-cell small,
.rptar-receipt-cell small {
  font-size: 8px;
  line-height: 1.05;
}

.rptar-empty-row td {
  height: 23px;
}

.certificate-date-box {
  margin-top: 0.3rem;
  min-width: 9rem;
  text-align: center;
  font-size: 0.82rem;
}

.certificate-date-box strong {
  display: block;
  padding-bottom: 0.08rem;
  border-bottom: 1px solid #111;
}

.tax-clearance-sheet .certificate-head {
  grid-template-columns: 92px minmax(0, 1fr) 130px;
}

.tax-clearance-sheet .certificate-title-block h1 {
  letter-spacing: 0.28em;
  text-indent: 0.28em;
  font-size: 1.3rem;
}

.certificate-center-note {
  margin-top: 0.45rem;
  text-align: center;
  font-size: 0.9rem;
}

.tax-clearance-signatures {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  margin-top: 2rem;
}

.tax-clearance-signature-block {
  display: grid;
  gap: 0.2rem;
}

.tax-clearance-signature-block-right {
  justify-items: center;
  text-align: center;
}

.tax-clearance-signature-block-left {
  justify-items: start;
  align-content: end;
}

.tax-clearance-signature-label {
  min-height: 1.2rem;
}

.tax-clearance-doc-stamp {
  margin-top: 3.8rem;
  font-size: 0.82rem;
  line-height: 1.35;
}

.official-document-stamp {
  margin-top: 2.5rem;
  font-size: 0.82rem;
  line-height: 1.4;
}

.setup-section-card {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface-alt);
}

.setup-section-heading h3 {
  margin: 0;
  font-size: 1rem;
}

.setup-section-heading p {
  margin: 0.35rem 0 0;
}

@media print {
  @page rptar-register {
    size: legal landscape;
    margin: 0.25in;
  }

  .batch-print-document {
    break-after: page;
    page-break-after: always;
  }

  .batch-print-document:last-child {
    break-after: auto;
    page-break-after: auto;
  }

  .certificate-sheet {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0.5in 0.45in;
    box-shadow: none;
  }

  .rptar-register-sheet {
    width: 100%;
    min-height: 0;
    padding: 0;
  }

  .certificate-table thead th,
  .certificate-table td,
  .certificate-line-value,
  .certificate-date-value,
  .certificate-date-box strong {
    border-color: #111 !important;
    color: #111 !important;
  }
}

.delinquency-report-sheet {
  width: min(100%, 1360px);
  padding: 1.5rem 1.65rem 1.75rem;
  page: delinquency-landscape;
}

.delinquency-report-sheet .print-header {
  align-items: center;
}

.delinquency-report-sheet .print-title-block h1 {
  margin: 0.35rem 0;
  font-size: 1.28rem;
}

.delinquency-report-sheet .print-section {
  margin-top: 1rem;
}

.delinquency-report-sheet .print-narrative p {
  margin-bottom: 0.55rem;
  font-size: 0.96rem;
  line-height: 1.45;
}

.delinquency-report-sheet .status-pill {
  padding: 0.55rem 0.85rem;
  white-space: nowrap;
}

.delinquency-summary-table,
.delinquency-detail-table {
  font-size: 0.82rem;
}

.delinquency-summary-table thead th,
.delinquency-detail-table thead th {
  font-size: 0.72rem;
  padding: 0.55rem 0.45rem;
  line-height: 1.25;
}

.delinquency-summary-table td,
.delinquency-detail-table td,
.delinquency-summary-table tfoot th,
.delinquency-detail-table tfoot th {
  padding: 0.55rem 0.45rem;
  line-height: 1.3;
}

.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(2),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(2),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(3),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(3),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(4),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(4) {
  white-space: normal;
  word-break: break-word;
}

.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(1),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(1) {
  width: 3.5%;
}

.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(2),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(2) {
  width: 14%;
}

.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(3),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(3) {
  width: 9%;
}

.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(4),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(4) {
  width: 11%;
}

.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(5),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(5),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(6),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(6),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(7),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(7),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(8),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(8),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(9),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(9),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(10),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(10),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(11),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(11),
.delinquency-report-sheet-detail .delinquency-detail-table th:nth-child(12),
.delinquency-report-sheet-detail .delinquency-detail-table td:nth-child(12) {
  text-align: right;
}

.print-line {
  font-size: 0.92rem;
}

.print-section {
  margin-top: 1.5rem;
}

.print-section-title {
  margin-bottom: 0.8rem;
  font-size: 1.05rem;
}

.print-narrative p {
  margin-bottom: 0.85rem;
  line-height: 1.6;
}

.print-table th,
.print-table td {
  color: #111;
  border-color: #cfd6df;
}

.official-print-sheet {
  width: min(100%, 1180px);
  padding: 1.25rem 1.5rem 1.75rem;
  color: #111;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.15;
}

.official-print-header {
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

.rpt-statement-sheet {
  width: min(100%, 960px);
  padding: 1.35rem 1.6rem 1.75rem;
  color: #111;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  box-shadow: none;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.rpt-statement-toolbar {
  justify-content: flex-end;
  margin-bottom: 0.75rem;
}

.rpt-statement-card {
  padding: 1rem 1.15rem 1.2rem;
  min-height: 1060px;
  display: flex;
  flex-direction: column;
}

.rpt-statement-header {
  display: grid;
  grid-template-columns: 96px 1fr 96px;
  align-items: start;
  gap: 0.75rem;
}

.rpt-statement-logo-slot {
  min-height: 72px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.rpt-statement-logo {
  max-width: 72px;
  max-height: 72px;
  object-fit: contain;
}

.rpt-statement-titleblock {
  text-align: center;
}

.rpt-statement-line {
  font-size: 1.04rem;
}

.rpt-statement-line-strong,
.rpt-statement-office {
  font-weight: 700;
}

.rpt-statement-office {
  margin-top: 0.35rem;
  letter-spacing: 0.03em;
}

.rpt-statement-titleblock h1 {
  margin: 0.12rem 0;
  font-size: 1.62rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.rpt-statement-subtitle {
  font-size: 1rem;
}

.rpt-statement-intro {
  margin-top: 0.85rem;
  border-bottom: 2px solid #111;
  padding-bottom: 0.45rem;
}

.rpt-statement-salutation {
  margin-bottom: 0.2rem;
}

.rpt-statement-intro p {
  margin: 0;
  text-align: center;
  font-size: 0.94rem;
}

.rpt-statement-property {
  margin-top: 0.6rem;
}

.rpt-statement-property-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #111;
}

.rpt-statement-field {
  display: grid;
  grid-template-columns: 160px 1fr;
  border-bottom: 1px solid #111;
}

.rpt-statement-label,
.rpt-statement-value {
  min-height: 26px;
  padding: 0.18rem 0.35rem;
}

.rpt-statement-label {
  border-right: 1px solid #111;
  text-transform: uppercase;
  font-size: 0.9rem;
}

.rpt-statement-value {
  font-weight: 700;
  font-size: 0.95rem;
}

.rpt-statement-ledger {
  margin-top: 0.7rem;
}

.rpt-statement-table {
  margin-bottom: 0;
  font-size: 0.98rem;
}

.rpt-statement-table thead th,
.rpt-statement-table td,
.rpt-statement-table tfoot th {
  border: 1px solid #111;
  padding: 0.28rem 0.3rem;
  text-align: center;
  vertical-align: middle;
}

.rpt-statement-table thead th {
  color: #fff;
  background: #202020;
  font-size: 0.83rem;
  text-transform: uppercase;
}

.rpt-statement-table .rpt-statement-subhead th {
  background: #fff;
  color: #111;
  font-size: 0.8rem;
  font-weight: 700;
}

.rpt-statement-table .rpt-th-sef {
  background: #111;
}

.rpt-statement-table .rpt-th-basic {
  background: #1f8f2e;
}

.rpt-statement-table .rpt-th-tax-total {
  background: #ef8c00;
}

.rpt-statement-table .rpt-th-penalty {
  background: #ef3e2f;
}

.rpt-statement-table .rpt-th-discount {
  background: #1687e0;
}

.rpt-statement-table .rpt-th-grand {
  background: #1aa11a;
}

.rpt-statement-table td:nth-child(2),
.rpt-statement-table td:nth-child(4),
.rpt-statement-table td:nth-child(5),
.rpt-statement-table td:nth-child(6),
.rpt-statement-table td:nth-child(7),
.rpt-statement-table td:nth-child(8),
.rpt-statement-table td:nth-child(9),
.rpt-statement-table tfoot th {
  text-align: right;
}

.rpt-statement-table tfoot th {
  background: #fffef0;
  font-weight: 800;
}

.rpt-statement-note {
  margin-top: 0.45rem;
  font-size: 0.84rem;
}

.rpt-statement-summary-box {
  margin-top: 0.5rem;
  border: 1px solid #111;
  padding: 0.4rem 0.55rem;
}

.rpt-statement-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem 0.9rem;
}

.rpt-statement-summary-item {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.92rem;
}

.rpt-statement-summary-item strong {
  min-width: 70px;
  text-align: right;
}

.rpt-statement-summary-total strong {
  color: #0e6ed9;
}

.rpt-statement-footer {
  margin-top: auto;
  padding-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  font-size: 0.84rem;
}

.rpt-statement-footer-lines {
  text-align: center;
  min-height: 40px;
}

.rpt-statement-footer-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
}

.rpt-statement-generated {
  text-align: center;
  flex: 1 1 auto;
}

.rpt-statement-printdate {
  width: 160px;
  border-top: 1px solid #111;
  text-align: center;
  padding-top: 0.2rem;
}

@media print {
  .rpt-statement-sheet,
  .rpt-statement-card,
  .rpt-statement-table,
  .rpt-statement-table thead th,
  .rpt-statement-table td,
  .rpt-statement-table tfoot th,
  .rpt-statement-summary-box,
  .rpt-statement-footer {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .rpt-statement-sheet {
    padding: 0;
    font-size: 14px;
  }

  .rpt-statement-card {
    min-height: 272mm;
    color: #000 !important;
  }

  .rpt-statement-line,
  .rpt-statement-subtitle,
  .rpt-statement-intro p,
  .rpt-statement-label,
  .rpt-statement-value,
  .rpt-statement-note,
  .rpt-statement-summary-item,
  .rpt-statement-generated,
  .rpt-statement-printdate {
    color: #000 !important;
  }

  .rpt-statement-table thead th {
    color: #fff !important;
    background: #202020 !important;
  }

  .rpt-statement-table .rpt-statement-subhead th {
    color: #111 !important;
    background: #fff !important;
  }

  .rpt-statement-table .rpt-th-sef {
    background: #111 !important;
  }

  .rpt-statement-table .rpt-th-basic {
    background: #1f8f2e !important;
  }

  .rpt-statement-table .rpt-th-tax-total {
    background: #ef8c00 !important;
  }

  .rpt-statement-table .rpt-th-penalty {
    background: #ef3e2f !important;
  }

  .rpt-statement-table .rpt-th-discount {
    background: #1687e0 !important;
  }

  .rpt-statement-table .rpt-th-grand {
    background: #1aa11a !important;
  }
}

.official-form-title {
  margin: 0.5rem 0 0.2rem;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.official-subtitle {
  font-size: 0.9rem;
}

.faas-print-grid .official-header-row {
  grid-template-columns: 8rem 1fr 6rem 10rem;
}

.faas-print-table th,
.faas-print-table td {
  font-size: 0.78rem;
}

.faas-print-table tfoot td {
  font-weight: 700;
}

.faas-form-sheet {
  width: min(100%, 8.5in);
  min-height: 11in;
  padding: 0.42in 0.42in 0.38in;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 1.2;
}

.faas-sheet-page + .faas-sheet-page {
  margin-top: 1rem;
}

.faas-print-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.18in;
}

.faas-form-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.14in;
}

.faas-form-header-tight {
  margin-bottom: 0.1in;
}

.faas-form-title {
  margin: 0;
  font-size: 0.3in;
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.faas-form-meta {
  display: grid;
  justify-items: end;
  gap: 0.05in;
  min-width: 1.55in;
}

.faas-form-meta-label {
  font-weight: 700;
  text-transform: uppercase;
}

.faas-form-meta-line {
  display: flex;
  align-items: baseline;
  gap: 0.08in;
  font-size: 11px;
}

.faas-box-section {
  margin-top: 0.13in;
}

.faas-section-heading {
  margin-bottom: 0.03in;
  font-size: 0.19in;
  font-weight: 700;
  text-transform: uppercase;
}

.faas-subheading {
  margin-bottom: 0.04in;
  font-style: italic;
  font-weight: 700;
}

.faas-box-table,
.faas-grid-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.faas-box-table td,
.faas-grid-table th,
.faas-grid-table td {
  border: 1px solid #333;
  padding: 0.04in 0.05in;
  vertical-align: top;
}

.faas-grid-table th {
  font-weight: 700;
  text-align: center;
}

.faas-grid-table td.text-end,
.faas-grid-table th.text-end {
  text-align: right;
}

.faas-grid-table td.text-center,
.faas-grid-table th.text-center {
  text-align: center;
}

.faas-grid-table .total-row td {
  font-weight: 700;
}

.faas-box-table .w-55 {
  width: 55%;
}

.faas-box-table .w-45 {
  width: 45%;
}

.faas-box-table .w-74 {
  width: 74%;
}

.faas-box-table .w-26 {
  width: 26%;
}

.faas-box-table .w-70 {
  width: 70%;
}

.faas-box-table .w-30 {
  width: 30%;
}

.faas-box-table .w-60 {
  width: 60%;
}

.faas-box-table .w-40 {
  width: 40%;
}

.faas-box-table .w-33 {
  width: 33%;
}

.faas-box-table .w-34 {
  width: 34%;
}

.faas-line-pair {
  display: flex;
  gap: 0.08in;
  align-items: baseline;
}

.faas-line-pair > span:first-child {
  min-width: 1.1in;
}

.faas-line-pair strong {
  flex: 1 1 auto;
  min-height: 0.18in;
  font-weight: 600;
}

.faas-inline-3,
.faas-inline-2 {
  display: grid;
  gap: 0.08in;
}

.faas-inline-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.faas-survey-lot-fields {
  grid-template-columns: minmax(0, 1.28fr) minmax(0, .9fr) minmax(0, .42fr);
  gap: .03in;
}

.faas-survey-lot-fields .faas-line-pair {
  min-width: 0;
  gap: .03in;
}

.faas-survey-lot-fields .faas-line-pair > span:first-child {
  min-width: auto;
  white-space: nowrap;
}

.faas-survey-lot-fields .faas-line-pair strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.faas-inline-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.faas-land-boundary-grid,
.faas-building-location-grid,
.faas-appraisal-split,
.faas-signature-grid,
.faas-entry-row {
  display: grid;
  gap: 0.12in;
}

.faas-land-boundary-grid,
.faas-building-location-grid,
.faas-appraisal-split {
  grid-template-columns: 1fr 1fr;
}

.faas-signature-grid {
  grid-template-columns: 1fr 1fr;
}

.faas-signature-grid-span {
  grid-column: 1 / -1;
  width: 3.35in;
}

.faas-entry-row {
  grid-template-columns: 1fr 1fr;
}

.faas-boundary-table .boundary-label {
  width: 0.95in;
  font-weight: 700;
}

.faas-sketch-box {
  height: 2.7in;
  min-height: 2.7in;
  border: 1px solid #333;
  position: relative;
  overflow: hidden;
  background: #f7f7f7;
}

.faas-sketch-map {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.faas-sketch-tools {
  position: absolute;
  top: 0.07in;
  left: 0.07in;
  z-index: 1000;
  display: flex;
  gap: 3px;
  padding: 3px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.faas-sketch-gis-link {
  position: absolute;
  left: 0.07in;
  bottom: 0.07in;
  z-index: 1000;
  max-width: 2.05in;
  padding: 5px 8px;
  overflow: hidden;
  border: 1px solid #155e75;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.94);
  color: #155e75;
  font: 700 11px/1.1 Arial, sans-serif;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.faas-sketch-gis-link:hover {
  background: #ecfeff;
  color: #164e63;
}

.faas-sketch-tool {
  min-width: 26px;
  height: 24px;
  padding: 0 5px;
  border: 1px solid #64748b;
  border-radius: 3px;
  background: #fff;
  color: #172554;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.faas-sketch-tool:hover,
.faas-sketch-tool.is-active {
  background: #dbeafe;
  border-color: #2563eb;
}

.faas-sketch-tool.faas-sketch-save {
  width: auto;
  background: #155e75;
  color: #fff;
  border-color: #155e75;
}

.faas-sketch-caption {
  position: absolute;
  z-index: 1001;
  right: 0.08in;
  bottom: 0.06in;
  padding: 1px 3px;
  background: rgba(255, 255, 255, 0.8);
  font-size: 11px;
  font-style: italic;
}

.faas-sketch-empty {
  position: absolute;
  inset: 0;
  z-index: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2in;
  text-align: center;
  color: #475569;
  background: rgba(255, 255, 255, 0.75);
  font-size: 12px;
}

.faas-sketch-text-marker {
  background: transparent;
  border: 0;
}

.faas-sketch-text-marker span {
  display: inline-block;
  padding: 1px 3px;
  background: rgba(255, 255, 255, 0.87);
  color: #111;
  border: 1px solid rgba(51, 51, 51, 0.45);
  border-radius: 2px;
  font: 600 11px/1.2 Arial, sans-serif;
  white-space: nowrap;
}

.faas-floor-plan-box {
  min-height: 2.2in;
}

@media print {
  .faas-sketch-tools,
  .faas-sketch-gis-link,
  .faas-sketch-box .leaflet-control-container {
    display: none !important;
  }
}

.faas-assessment-footer {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.2in;
  margin-top: 0.08in;
  align-items: center;
}

.faas-checkbox-line {
  display: flex;
  align-items: center;
  gap: 0.08in;
  font-weight: 700;
}

.faas-check-square {
  width: 0.28in;
  height: 0.28in;
  border: 1px solid #333;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.18in;
  line-height: 1;
}

.faas-effectivity-line {
  display: flex;
  align-items: flex-end;
  gap: 0.08in;
  justify-content: flex-end;
}

.faas-effectivity-box {
  min-width: 0.42in;
  border-bottom: 1px solid #333;
  text-align: center;
  font-weight: 700;
}

.faas-effectivity-caption {
  font-size: 11px;
}

.faas-signature-title {
  margin-bottom: 0.08in;
  font-weight: 700;
}

.faas-signature-line {
  min-height: 0.22in;
  border-bottom: 1px solid #333;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  font-weight: 700;
}

.faas-signature-line.centered,
.faas-signature-row-caption.centered {
  width: 100%;
}

.faas-signature-row-caption {
  display: flex;
  justify-content: space-between;
  gap: 0.2in;
  margin-top: 0.02in;
  font-size: 11px;
}

.faas-memoranda-label {
  margin-bottom: 0.03in;
  font-weight: 700;
  text-transform: uppercase;
}

.faas-memoranda-box {
  min-height: 0.32in;
  padding-bottom: 0.03in;
}

.faas-memoranda-lines {
  display: grid;
  gap: 0.16in;
}

.faas-memoranda-lines > div {
  border-bottom: 1px solid #333;
  height: 0.12in;
}

.faas-reference-table th,
.faas-reference-table td {
  text-align: center;
}

.faas-reference-table td:first-child {
  text-align: left;
  font-weight: 700;
}

.faas-structural-print-grid {
  display: grid;
  gap: 0.12in;
}

.faas-structural-guided-table th,
.faas-structural-guided-table td {
  font-size: 9px;
  padding: 0.018in 0.028in;
  line-height: 1.05;
  vertical-align: middle;
}

.faas-structural-guided-table .faas-structural-block-title {
  text-align: center;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}

.faas-structural-guided-table .faas-structural-slot-heading {
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
}

.faas-structural-guided-table .faas-col-simple-label {
  width: 18%;
}

.faas-structural-guided-table .faas-col-simple-check {
  width: 4%;
}

.faas-structural-guided-table .faas-col-matrix-label {
  width: 15%;
}

.faas-structural-guided-table .faas-col-matrix-slot {
  width: 4%;
}

.faas-machinery-appraisal-table th,
.faas-machinery-appraisal-table td,
.faas-machinery-cost-table th,
.faas-machinery-cost-table td {
  font-size: 10.5px;
}

.official-header-grid {
  display: grid;
  gap: 0.35rem;
}

.official-header-row {
  display: flex;
  align-items: flex-end;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.official-label {
  font-weight: 700;
  white-space: nowrap;
}

.official-right-label {
  margin-left: auto;
}

.official-fill,
.official-short-fill {
  display: inline-flex;
  align-items: flex-end;
  min-height: 1.35rem;
  border-bottom: 1px solid #111;
  padding: 0 0.2rem 0.05rem;
}

.official-fill {
  min-width: 12rem;
  flex: 1 1 12rem;
}

.official-short-fill {
  min-width: 5rem;
  justify-content: center;
}

.official-caption {
  font-size: 0.72rem;
}

.official-letter-fill {
  min-width: 28rem;
}

.official-record-table {
  font-size: 12px;
}

.official-record-table thead th {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border-top: 1.5px solid #111;
  border-bottom: 1.5px solid #111;
}

.official-record-table tbody td,
.official-record-table tfoot td {
  vertical-align: top;
}

.official-record-table tfoot td {
  border-top: 1.5px solid #111;
}

.notice-print-sheet .official-narrative p {
  margin-bottom: 0.45rem;
}

.official-signature-block {
  display: grid;
  justify-items: center;
  margin-top: 1.5rem;
}

.official-signature-line {
  min-width: 18rem;
  text-align: center;
  border-bottom: 1px solid #111;
  padding-bottom: 0.1rem;
  font-weight: 700;
}

.official-signature-caption {
  margin-top: 0.15rem;
  font-size: 0.82rem;
}

.official-note-list {
  margin-top: 1rem;
  font-size: 0.88rem;
}

.official-note-list ol {
  margin: 0.2rem 0 0;
  padding-left: 1.2rem;
}

.official-note-list li + li {
  margin-top: 0.15rem;
}

.receipt-print-shell {
  display: grid;
  gap: 1rem;
  justify-content: center;
  page: receipt-landscape;
}

.receipt-print-toolbar {
  display: flex;
  justify-content: flex-end;
}

.receipt-form-canvas {
  position: relative;
  width: 264mm;
  height: 139mm;
  background: #fff;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
  overflow: hidden;
  font-family: "Arial Narrow", Arial, sans-serif;
  color: #111;
}

.receipt-form-layout {
  position: absolute;
  top: 0;
  left: 0;
  /* Coordinates below match the 264 × 139 mm printable Form 56 itself. */
  width: 264mm;
  height: 139mm;
  /* Form 56 is often printed on low-resolution dot-matrix printers. Keep the
     field anchors intact, but use heavier type throughout so every entry
     remains legible on the pre-printed form. */
  font-weight: 700;
}

.receipt-guide {
  position: absolute;
  inset: 0;
  border: 1px dashed rgba(37, 99, 235, 0.35);
  background-image:
    linear-gradient(to right, rgba(37, 99, 235, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(37, 99, 235, 0.08) 1px, transparent 1px);
  background-size: 10mm 10mm;
  pointer-events: none;
}

.receipt-pos {
  position: absolute;
  font-size: 4.05mm;
  line-height: 1.08;
  white-space: nowrap;
}

.receipt-or-no {
  top: 8.4mm;
  left: 79mm;
  width: 28mm;
  text-align: center;
  font-weight: 700;
}

.receipt-date {
  top: 26.3mm;
  left: 199mm;
  width: 29mm;
  text-align: center;
  font-weight: 700;
}

.receipt-year {
  top: 26.3mm;
  left: 239mm;
  width: 8mm;
  text-align: center;
  font-weight: 700;
}

.receipt-province {
  top: 26.3mm;
  left: 37mm;
  width: 83mm;
  text-align: center;
  font-weight: 700;
}

.receipt-municipality {
  top: 26.3mm;
  left: 122mm;
  width: 67mm;
  text-align: center;
  font-weight: 700;
}

.receipt-payor {
  top: 33mm;
  left: 81mm;
  width: 73mm;
  font-size: 3.55mm;
  font-weight: 700;
  text-transform: uppercase;
}

.receipt-address {
  top: 40.2mm;
  left: 126mm;
  width: 35mm;
}

.receipt-prev-or {
  top: 5mm;
  left: 111mm;
  width: 26mm;
  text-align: center;
  font-size: 3.55mm;
}

.receipt-prev-date {
  top: 5mm;
  left: 152mm;
  width: 20mm;
  text-align: center;
  font-size: 3.55mm;
}

.receipt-prev-year {
  position: absolute;
  top: 5mm;
  left: 213mm;
  width: 8mm;
  text-align: center;
  font-size: 3.55mm;
  line-height: 1.08;
  white-space: nowrap;
}

.receipt-amount-words {
  top: 34.2mm;
  left: 149mm;
  width: 82mm;
  white-space: normal;
  font-size: 2.8mm;
  line-height: 1.12;
  text-align: center;
  font-weight: 700;
}

.receipt-amount-words span {
  display: block;
  white-space: nowrap;
  height: 2.85mm;
}

.receipt-amount-total {
  top: 34.1mm;
  left: 214mm;
  width: 29mm;
  text-align: right;
  font-size: 4.9mm;
  font-weight: 900;
}

.receipt-owner {
  top: 61.2mm;
  left: 24mm;
  width: 35mm;
  white-space: normal;
  text-align: right;
  line-height: 1.05;
  font-size: 3.55mm;
  font-weight: 700;
}

.receipt-location {
  top: 61.2mm;
  left: 62mm;
  width: 31mm;
}

.receipt-lot {
  top: 61.2mm;
  left: 89mm;
  width: 18mm;
}

.receipt-tdno {
  top: 61.2mm;
  left: 103mm;
  width: 19mm;
  text-align: center;
}

.receipt-pin {
  top: 113.5mm;
  left: 119mm;
  width: 40mm;
  font-size: 4.4mm;
  text-align: center;
}

.receipt-kind {
  top: 117.2mm;
  left: 119mm;
  width: 40mm;
  font-size: 3.25mm;
  text-align: center;
  font-weight: 700;
}

.receipt-basic-check,
.receipt-sef-check {
  font-size: 5mm;
  line-height: 1;
  text-align: center;
  font-weight: 700;
}

.receipt-basic-check {
  top: 43.2mm;
  left: 134mm;
  width: 6mm;
}

.receipt-sef-check {
  top: 43.2mm;
  left: 184mm;
  width: 6mm;
}

.receipt-line {
  position: absolute;
  left: 148mm;
  width: 114mm;
  height: 6mm;
  font-size: 3.65mm;
  font-weight: 700;
}

.receipt-line > div {
  position: absolute;
  top: 0;
  white-space: nowrap;
}

.receipt-line-assessed {
  left: 0;
  width: 14mm;
  text-align: right;
}

.receipt-line-tax {
  left: 18mm;
  width: 13mm;
  text-align: right;
}

.receipt-line-installment {
  left: 30mm;
  width: 7mm;
  text-align: center;
}

.receipt-line-period {
  left: 38mm;
  width: 15mm;
  text-align: center;
}

.receipt-line-payment {
  left: 54mm;
  width: 15mm;
  text-align: right;
}

.receipt-line-adjustment {
  left: 68mm;
  width: 16mm;
  text-align: right;
}

.receipt-line-total {
  left: 83mm;
  width: 25mm;
  text-align: right;
  font-size: 4.05mm;
  font-weight: 900;
}

.receipt-summary-date {
  top: 100.5mm;
  left: 152mm;
  width: 15mm;
  text-align: center;
  font-weight: 700;
}

.receipt-summary-year {
  top: 100.5mm;
  left: 169mm;
  width: 7mm;
  text-align: center;
  font-weight: 700;
}

.receipt-summary-tax,
.receipt-summary-adjustment,
.receipt-summary-total {
  top: 102.5mm;
  text-align: right;
  font-size: 3.6mm;
  font-weight: 900;
}

.receipt-summary-tax {
  left: 199mm;
  width: 18mm;
  top: 100.5mm;
}

.receipt-summary-adjustment {
  left: 213mm;
  width: 19mm;
  top: 100.5mm;
}

.receipt-summary-total {
  top: 99.5mm;
  left: 227mm;
  width: 29mm;
  font-size: 4.8mm;
  text-align: right;
}

/* Signatories are sourced from Branding: Approver 1 is the Treasurer line,
   while Approver 2 is the Deputy line on the pre-printed Form 56. */
.receipt-signatory {
  left: 188mm;
  width: 67mm;
  font-size: 3.5mm;
  font-weight: 700;
  text-align: center;
}

.receipt-signatory-designation {
  position: absolute;
  left: 188mm;
  width: 67mm;
  font-size: 2.8mm;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
}

.receipt-treasurer-signatory {
  top: 105.2mm;
}

.receipt-treasurer-designation {
  top: 108.8mm;
}

.receipt-deputy-signatory {
  top: 115.1mm;
}

.receipt-deputy-designation {
  top: 118.7mm;
}

@media print {
  @page delinquency-landscape {
    size: legal landscape;
    margin: 0.35in;
  }

  @page receipt-landscape {
    size: 264mm 139mm;
    margin: 0;
  }

  .print-hide {
    display: none !important;
  }

  .print-body {
    background: #fff;
    padding: 0;
  }

  .print-sheet {
    width: 100%;
    margin: 0;
    box-shadow: none;
    padding: 0;
  }

  .delinquency-report-sheet {
    padding: 0;
  }

  .receipt-form-canvas {
    width: 264mm;
    height: 139mm;
    box-shadow: none;
  }

  .receipt-form-layout {
    width: 264mm;
    height: 139mm;
  }

  .faas-form-sheet {
    width: 8.5in;
    min-height: 11in;
    margin: 0 auto;
    box-shadow: none;
  }

  .faas-sheet-page {
    page-break-after: always;
  }

  .faas-sheet-page:last-child {
    page-break-after: auto;
  }

  @page {
    size: landscape;
    margin: 0;
  }
}

.detail-label,
.key-value-item span {
  display: block;
  font-size: 0.8rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.35rem;
}

.detail-value,
.key-value-item strong {
  display: block;
  font-weight: 700;
}

.key-value-item small {
  display: block;
  margin-top: 0.35rem;
  color: var(--muted);
}

.document-preview {
  width: 100%;
  min-height: 70vh;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface);
}

.empty-state {
  padding: 2rem;
  border-radius: 1rem;
  background: var(--surface-alt);
  color: var(--muted);
  text-align: center;
  border: 1px dashed rgba(19, 50, 81, 0.16);
}

.valuation-table input.form-control-sm {
  min-width: 6.5rem;
}

.kind-selector-shell,
.faas-card,
.td-print-block {
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.kind-selector-shell {
  padding: 1rem;
  display: grid;
  gap: 1rem;
}

.kind-selector-group {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

.kind-selector-option {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.7rem 0.95rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  font-weight: 700;
  cursor: pointer;
}

.kind-selector-option input {
  margin: 0;
}

.kind-detail-grid,
.valuation-computation-strip,
.computation-grid,
.faas-building-stack,
.faas-metric-grid {
  display: grid;
  gap: 1rem;
}

.kind-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kind-detail-grid [hidden] {
  display: none !important;
}

.valuation-computation-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.computation-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.editor-stack {
  display: grid;
  gap: 1rem;
}

.editor-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.adjustment-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1rem;
}

.adjustment-sheet-form {
  gap: 0.7rem;
}

.adjustment-sheet-form .editor-heading {
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 0.9rem;
  background: linear-gradient(180deg, var(--surface-soft) 0%, var(--surface) 100%);
}

.adjustment-sheet-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 0.95rem;
  overflow: hidden;
  background: linear-gradient(180deg, var(--surface-soft) 0%, var(--surface) 100%);
}

.adjustment-sheet-grid .editor-field {
  gap: 0.22rem;
  padding: 0.55rem 0.65rem 0.65rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  min-width: 0;
}

.adjustment-sheet-grid .editor-field:nth-child(5n) {
  border-right: 0;
}

.adjustment-sheet-grid .detail-label {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}

.adjustment-sheet-grid .form-control,
.adjustment-sheet-grid .form-select {
  min-width: 0;
  min-height: 40px;
  border-radius: 0.7rem;
}

.editor-field {
  display: grid;
  gap: 0.35rem;
}

.editor-field-checkbox {
  align-content: start;
}

.editor-checkbox-row {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 42px;
}

.inline-form {
  display: inline-flex;
}

.editor-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.adjustment-sheet-form .editor-actions {
  justify-content: flex-end;
  padding-top: 0.15rem;
}

.editor-stack .form-control[readonly],
.editor-stack .form-control:disabled,
.editor-stack input[readonly],
.editor-stack input:disabled,
.editor-stack textarea[readonly],
.editor-stack textarea:disabled,
.editor-stack .form-select:disabled {
  background: var(--surface-soft) !important;
  border-color: var(--input-line) !important;
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
  opacity: 1;
}

html[data-theme="dark"] .editor-stack .form-control[readonly],
html[data-theme="dark"] .editor-stack .form-control:disabled,
html[data-theme="dark"] .editor-stack input[readonly],
html[data-theme="dark"] .editor-stack input:disabled,
html[data-theme="dark"] .editor-stack textarea[readonly],
html[data-theme="dark"] .editor-stack textarea:disabled,
html[data-theme="dark"] .editor-stack .form-select:disabled {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(148, 165, 189, 0.26) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
}

html[data-theme="dark"] .adjustment-sheet-form .editor-heading,
html[data-theme="dark"] .adjustment-sheet-grid {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.86) 0%, rgba(15, 23, 42, 0.65) 100%);
}

.valuation-followup-panel {
  margin-top: 1rem;
}

.workspace-linkbar-inline {
  justify-content: flex-start;
  padding: 0;
  border: 0;
  background: transparent;
}

.editor-collapsible {
  margin-top: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  overflow: hidden;
}

.editor-collapsible[open] {
  box-shadow: var(--shadow);
}

.editor-collapsible-summary {
  list-style: none;
  cursor: pointer;
  padding: 1rem 1.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.editor-collapsible-summary::-webkit-details-marker {
  display: none;
}

.editor-collapsible-summary::after {
  content: "+";
  font-size: 1.1rem;
  line-height: 1;
  color: var(--brand);
}

.editor-collapsible[open] .editor-collapsible-summary::after {
  content: "-";
}

.editor-collapsible-body {
  padding: 0 1.1rem 1.1rem;
  border-top: 1px solid var(--line);
}

.valuation-summary-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.valuation-summary-stack {
  display: grid;
  gap: 0.9rem;
}

.valuation-summary-empty {
  margin-top: 0.75rem;
}

.valuation-grid-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.valuation-summary-input-shell .table-rpt td,
.valuation-summary-input-shell .table-rpt th {
  white-space: nowrap;
}

.valuation-summary-input-shell .form-control-sm,
.valuation-summary-input-shell .form-select {
  min-width: 7rem;
  background: var(--surface);
}

.valuation-summary-input-shell tr.summary-row-locked input:not([type="hidden"]):not([data-exempt-av]):not([data-taxable-av]),
.valuation-summary-input-shell tr.summary-row-locked textarea {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.06);
  color: var(--ink);
}

.valuation-summary-input-shell tr.summary-row-locked select {
  pointer-events: none;
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.06);
  color: var(--ink);
}

.valuation-summary-input-shell tr.summary-row-editable {
  box-shadow: inset 0 0 0 9999px rgba(123, 173, 255, 0.08);
}

.valuation-summary-input-shell input[data-exempt-av],
.valuation-summary-input-shell input[data-taxable-av] {
  font-weight: 700;
}

.valuation-summary-card {
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: var(--shadow);
}

.valuation-summary-card-topline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.valuation-summary-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--heading);
}

.valuation-summary-card-grid,
.valuation-auto-summary-metrics {
  margin-top: 0.9rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.85rem;
}

.valuation-summary-card-grid strong,
.valuation-auto-summary-metrics strong {
  display: block;
  margin-top: 0.25rem;
  color: var(--heading);
}

.property-editor-page,
.property-editor-page .panel,
.property-editor-page .panel-header,
.property-editor-page .panel-body,
.property-editor-page .editor-collapsible-body,
.property-editor-page .table-wrap {
  min-width: 0;
}

.property-editor-page .panel-header > :first-child,
.property-editor-page .panel-header > :last-child {
  min-width: 0;
}

.property-editor-header-actions {
  align-items: center;
  justify-content: flex-end;
}

.property-editor-header-actions .btn,
.property-editor-summary-actions .btn,
.property-editor-summary-primary-actions .btn,
.property-editor-tabs .section-toggle-link {
  white-space: nowrap;
}

/* Declaration editor: semantic, full-width tabs rather than pill toggles. */
.property-editor-tabs {
  display: flex;
  align-items: end;
  gap: 0;
  margin: 0 -1.5rem 1.5rem;
  padding: 0 1.5rem;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  scrollbar-width: thin;
}

.property-editor-tab {
  position: relative;
  flex: 0 0 auto;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-weight: 700;
  padding: 0.9rem 1.1rem 0.8rem;
  cursor: pointer;
  white-space: nowrap;
}

.property-editor-tab:hover,
.property-editor-tab:focus-visible {
  color: var(--brand-dark);
  background: var(--surface-soft);
  outline: none;
}

.property-editor-tab:focus-visible {
  box-shadow: inset 0 0 0 2px var(--brand);
}

.property-editor-tab.active {
  color: var(--brand-dark);
}

.property-editor-tab.active::after {
  content: "";
  position: absolute;
  right: 0.85rem;
  bottom: -1px;
  left: 0.85rem;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--brand);
}

.property-editor-tab-panel[hidden] {
  display: none !important;
}

.property-editor-page .editor-record-title,
.property-editor-page .editor-record-meta {
  overflow-wrap: anywhere;
}

.property-editor-page .valuation-computation-strip .detail-item {
  min-width: 0;
}

.property-editor-summary-actions {
  justify-content: space-between;
  align-items: center;
}

.property-editor-summary-primary-actions {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.property-editor-summary-table {
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.15rem;
}

.property-editor-page .valuation-table {
  min-width: 1100px;
}

.embedded-adjustment-shell {
  border: 1px solid var(--line);
  border-radius: 1rem;
  overflow: hidden;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.embedded-adjustment-frame {
  width: 100%;
  min-height: 960px;
  border: 0;
  display: block;
  background: transparent;
}

.embedded-layout-body {
  margin: 0;
  background: transparent;
}

.embedded-layout-main {
  padding: 0;
}

.valuation-adjustment-launch {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.adjustment-modal-shell {
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  border: 1px solid var(--line);
}

.adjustment-modal-frame {
  width: 100%;
  height: 78vh;
  min-height: 780px;
  border: 0;
  display: block;
  background: transparent;
}

.adjustment-section-stack {
  grid-template-columns: 1fr;
}

.adjustment-ledger-card {
  border: 1px solid var(--line);
  border-radius: 1.05rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  overflow: hidden;
}

.adjustment-ledger-card[open] {
  box-shadow: var(--shadow);
}

.faas-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.faas-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin-bottom: 1rem;
}

.faas-meta-item,
.faas-summary-cell {
  padding: 0.85rem 1rem;
  border-radius: 0.95rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  border: 1px solid var(--line);
}

.faas-meta-item span,
.faas-summary-cell span {
  display: block;
  font-size: 0.73rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.faas-meta-item strong,
.faas-summary-cell strong {
  display: block;
  margin-top: 0.3rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
}

.faas-summary-band {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 0.8rem;
  margin-bottom: 1rem;
}

.faas-summary-cell-accent {
  background: linear-gradient(180deg, rgba(77, 143, 255, 0.14), rgba(77, 143, 255, 0.06));
  border-color: rgba(77, 143, 255, 0.25);
}

.faas-building-sheet {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
}

.faas-building-sheet-header,
.faas-structural-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.faas-building-sheet h3,
.faas-building-sheet h4,
.faas-building-sheet h5 {
  margin: 0;
  color: var(--heading);
}

.faas-building-general-grid,
.faas-appraisal-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem 0.95rem;
}

.faas-building-general-grid {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.field-group-inline {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.field-group-inline span {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.faas-structural-shell {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface-soft);
}

.faas-collapsible-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}

.faas-collapsible-summary::-webkit-details-marker {
  display: none;
}

.faas-collapsible-summary::after {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  flex: 0 0 auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  opacity: 0.72;
}

.faas-collapsible-shell[open] > .faas-collapsible-summary::after {
  transform: rotate(225deg);
}

.faas-collapsible-summary .faas-structural-header {
  flex: 1;
}

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

.faas-structural-card {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line);
  border-radius: 0.95rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.faas-structural-card-wide {
  min-height: 100%;
}

.faas-structural-simple-list,
.faas-check-matrix {
  display: grid;
  gap: 0.55rem;
}

.faas-check-row,
.faas-check-matrix-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
}

.faas-check-row span,
.faas-check-matrix-row > span {
  font-size: 0.92rem;
  color: var(--ink);
}

.faas-check-boxes {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
}

.faas-check-row input[type="checkbox"],
.faas-check-boxes input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--brand);
}

.faas-appraisal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 1rem;
}

.faas-appraisal-card {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.faas-appraisal-card-accent {
  background: linear-gradient(180deg, rgba(77, 143, 255, 0.12), rgba(77, 143, 255, 0.05));
}

.faas-accent-value {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--brand);
}

.field-group-wide {
  grid-column: span 2;
}

.faas-records-table {
  border: 1px solid var(--line);
  border-radius: 1rem;
  overflow: hidden;
}

.table-active-row td {
  background: color-mix(in srgb, var(--brand) 10%, var(--surface) 90%);
}

html[data-theme="dark"] .table-active-row td {
  background: rgba(59, 130, 246, 0.12);
}

.adjustment-ledger-summary {
  list-style: none;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  cursor: pointer;
  flex-wrap: wrap;
}

.adjustment-ledger-summary::-webkit-details-marker {
  display: none;
}

.adjustment-factor-summary {
  list-style: none;
  cursor: pointer;
}

.adjustment-factor-summary::-webkit-details-marker {
  display: none;
}

.adjustment-factor-summary-main,
.adjustment-ledger-summary-main {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.adjustment-collapse-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border: 1px solid color-mix(in srgb, var(--brand) 20%, var(--line));
  border-radius: 999px;
  color: var(--brand);
  background: color-mix(in srgb, var(--surface-soft) 88%, transparent);
  margin-left: auto;
  flex: 0 0 auto;
}

.adjustment-collapse-icon::before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -0.15rem;
  transition: transform 0.18s ease, margin-top 0.18s ease;
}

.adjustment-factor-panel[open] .adjustment-collapse-icon::before,
.adjustment-ledger-card[open] .adjustment-collapse-icon::before {
  transform: rotate(-135deg);
  margin-top: 0.15rem;
}

.adjustment-ledger-title,
.valuation-auto-summary-title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--heading);
}

.adjustment-ledger-summary .muted {
  display: block;
  margin-top: 0.2rem;
}

.adjustment-ledger-body {
  padding: 1.1rem;
  border-top: 1px solid var(--line);
}

.table-inline-editor-row td {
  background: color-mix(in srgb, var(--surface-soft) 88%, transparent);
}

.table-inline-create-row td {
  background: color-mix(in srgb, var(--surface-alt) 82%, transparent);
}

.table-inline-editor-row .form-control,
.table-inline-editor-row .form-select {
  min-width: 0;
  min-height: 38px;
  font-size: 0.92rem;
  border-radius: 0.7rem;
}

.table-inline-stack {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 11rem;
}

.table-inline-stack .form-control {
  flex: 1 1 4.5rem;
  min-height: 34px;
}

.table-inline-editor-row .table-actions {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  align-items: center;
}

html[data-theme="dark"] .table-inline-editor-row td {
  background: rgba(148, 163, 184, 0.09);
}

html[data-theme="dark"] .table-inline-create-row td {
  background: rgba(59, 130, 246, 0.08);
}

.valuation-auto-summary-list {
  display: grid;
  gap: 0.9rem;
}

.valuation-auto-summary-card {
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: var(--surface-soft);
}

.valuation-auto-summary-topline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.computation-total-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding-top: 0.5rem;
  border-top: 1px solid var(--line);
  font-weight: 700;
}

.faas-card {
  padding: 1.1rem;
  display: grid;
  gap: 1rem;
}

.faas-card-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.faas-card-title {
  font-size: 1.05rem;
  font-weight: 700;
}

.faas-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.faas-formula-row {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.faas-formula-step {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 0.9rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface-soft);
  font-weight: 700;
}

.td-print-sheet {
  width: min(100%, 860px);
  padding: 1.15rem 1.55rem 1.5rem;
  color: #111;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.15;
}

.td-print-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.td-print-topline {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.35rem;
}

.td-print-attachment {
  font-size: 0.9rem;
}

.td-print-header h1 {
  margin: 0.15rem 0 1rem;
  text-align: center;
  font-size: 1.95rem;
  font-weight: 700;
}

.td-print-block {
  padding: 0.55rem 0.7rem 0.7rem;
  margin-top: 0.7rem;
  border-color: #d7dbe2;
  background: #fff;
}

.td-inline-fields,
.td-owner-grid,
.td-reference-grid,
.td-totals-grid,
.td-signature-grid,
.td-remarks-grid {
  display: grid;
  gap: 0.45rem 0.8rem;
}

.td-inline-fields,
.td-totals-grid,
.td-signature-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.td-owner-grid {
  grid-template-columns: minmax(0, 1.8fr) minmax(190px, 0.7fr);
  margin-top: 0.5rem;
}

.td-reference-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.65fr);
  margin-top: 0.55rem;
}

.td-remarks-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(180px, 0.55fr);
  margin-top: 0.8rem;
}

.td-inline-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: 0.35rem;
}

.td-inline-grow {
  grid-column: span 1;
}

.td-inline-field label,
.td-boundary-grid > label {
  white-space: nowrap;
}

.td-inline-field span,
.td-amount-words span {
  display: block;
  min-height: 1.3rem;
  padding: 0 0.15rem 0.08rem;
  border-bottom: 1px solid #000;
  font-weight: 700;
}

.td-inline-field small {
  display: block;
  text-align: center;
  font-size: 0.78rem;
  margin-top: 0.1rem;
}

.td-location-row {
  margin-top: 0.55rem;
}

.td-location-shell {
  display: grid;
  gap: 0.35rem;
}

.td-location-values {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 0.9fr) minmax(220px, 1fr);
  gap: 0.7rem;
}

.td-boundary-grid {
  display: grid;
  gap: 0.3rem;
  margin-top: 0.55rem;
}

.td-boundary-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.td-kind-title {
  margin-bottom: 0.45rem;
  font-weight: 700;
}

.td-kind-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 1rem;
  margin-bottom: 0.7rem;
}

.td-kind-card,
.td-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}

.td-checkbox {
  width: 1.8rem;
  min-width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #000;
  display: inline-grid;
  place-items: center;
  font-weight: 700;
  font-size: 1.15rem;
}

.td-kind-name {
  font-weight: 700;
}

.td-kind-subline {
  display: flex;
  gap: 0.35rem;
  align-items: end;
}

.td-kind-subline span {
  display: inline-block;
  min-width: 8rem;
  border-bottom: 1px solid #000;
  padding: 0 0.15rem 0.08rem;
}

.td-valuation-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.3rem;
}

.td-valuation-table th,
.td-valuation-table td {
  padding: 0.25rem 0.3rem;
  border-bottom: 1px solid #cfd6df;
  vertical-align: bottom;
}

.td-valuation-table th {
  font-weight: 700;
  text-align: center;
}

.td-total-assessed,
.td-taxability-row {
  display: grid;
  gap: 0.8rem;
  margin-top: 0.7rem;
  align-items: end;
}

.td-total-assessed {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
}

.td-amount-words {
  display: grid;
  align-content: end;
  gap: 0.2rem;
}

.td-taxability-row {
  grid-template-columns: auto auto minmax(0, 1fr) 80px 110px;
}

.td-quarter-field,
.td-year-field {
  min-width: 0;
}

.td-signature-card {
  display: grid;
  gap: 0.35rem;
}

.td-signature-label {
  font-weight: 700;
}

.td-signature-name {
  min-height: 1.5rem;
  padding: 0 0.15rem 0.08rem;
  border-bottom: 1px solid #000;
  text-align: center;
  font-weight: 700;
  font-size: 1.05rem;
}

.td-signature-role {
  text-align: center;
}

.td-print-note {
  margin-top: 1rem;
  font-size: 0.88rem;
}

.td-fixed-shell {
  display: grid;
  justify-content: center;
  gap: 0.9rem;
}

.td-fixed-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.td-form-canvas {
  position: relative;
  width: 215.9mm;
  min-height: 279.4mm;
  background: #fff;
  color: #000;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2.62mm;
  line-height: 1;
  letter-spacing: 0;
  overflow: hidden;
  --td-paper-width: 215.9mm;
  --td-paper-height: 279.4mm;
  --td-page-shift-x: 5.4mm;
  --td-page-shift-y: 0mm;
  --td-boundaries-rule-left: 20mm;
  --td-boundaries-rule-top: 100.8mm;
  --td-boundaries-rule-width: 171mm;
  --td-kind-title-left: 20mm;
  --td-kind-title-top: 104.0mm;
  --td-kind-rule-left: 20mm;
  --td-kind-rule-top: 107.6mm;
  --td-kind-rule-width: 171mm;
}

.td-form-guide {
  display: none;
}

.td-fixed-title,
.td-fixed-caption,
.td-fixed-section-title,
.td-fixed-below-label,
.td-fixed-label,
.td-fixed-subcaption,
.td-fixed-line,
.td-fixed-slot,
.td-fixed-row,
.td-fixed-notes,
.td-double-rule,
.td-check-box,
.td-fixed-entry {
  position: absolute;
}

.td-form-canvas > * {
  transform: translate(var(--td-page-shift-x), var(--td-page-shift-y));
  transform-origin: top left;
}

.td-fixed-title {
  top: 10.2mm;
  left: 0;
  width: var(--td-paper-width);
  text-align: center;
  font-size: 4.7mm;
  font-weight: 700;
}

.td-fixed-attachment {
  top: 4.2mm;
  right: 15.1mm;
  font-size: 2.72mm;
}

.td-fixed-entry {
  display: block;
  height: 5.45mm;
}

.td-fixed-label {
  position: absolute;
  top: 0.1mm;
  left: 0;
  white-space: nowrap;
  font-size: 3.2mm;
  line-height: 1;
}

.td-fixed-below-label {
  position: absolute;
  top: 4.4mm;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 2.7mm;
  line-height: 1;
}

.td-fixed-value,
.td-fixed-line,
.td-fixed-slot {
  position: absolute;
  top: 0mm;
  left: var(--label-width, 14mm);
  right: 0;
  border-bottom: 0.2mm solid #000;
  min-height: 3.8mm;
  padding: 0 0.35mm 0.02mm;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  font-size: 3.6mm;
  line-height: 1;
  font-weight: 700;
}

.td-entry-owner {
  --label-width: 12mm;
}

.td-entry-owner-address {
  --label-width: 12.5mm;
}

.td-entry-owner-tin {
  --label-width: 7.4mm;
}

.td-entry-owner-phone {
  --label-width: 19.8mm;
}

.td-entry-admin {
  --label-width: 42mm;
}

.td-entry-admin-address {
  --label-width: 11.5mm;
}

.td-entry-admin-tin {
  --label-width: 7.4mm;
}

.td-entry-admin-phone {
  --label-width: 19.8mm;
}

.td-entry-oct {
  --label-width: 29mm;
}
.td-entry-cct {
  --label-width: 10mm;
}

.td-entry-lot,
.td-entry-block {
  --label-width: 11.8mm;
}

.td-entry-survey {
  --label-width: 19.5mm;
}

.td-entry-dated {
  --label-width: 8.5mm;
}

.td-entry-north,
.td-entry-south,
.td-entry-east,
.td-entry-west {
  --label-width: 8.7mm;
}

.td-entry-storeys,
.td-entry-building-desc,
.td-entry-machinery-desc,
.td-entry-others-desc {
  --label-width: 25mm;
}

.td-entry-effectivity {
  --label-width: 50.8mm;
}

.td-entry-quarter,
.td-entry-year {
  --label-width: 7mm;
}

.td-entry-cancel-td {
  --label-width: 32.4mm;
}

.td-entry-prev-owner {
  --label-width: 12.4mm;
}

.td-entry-prev-av {
  --label-width: 15.4mm;
}

.td-entry-prev-pin {
  --label-width: 34.6mm;
}

.td-entry-trans-code {
  --label-width: 20.8mm;
}

.td-entry-total-av {
  --label-width: 28.8mm;
}

.td-entry-exempt {
  --label-width: 38.8mm;
}

.td-entry-taxable {
  --label-width: 37.2mm;
}

.td-entry-tdno {
  --label-width: 11.8mm;
}

.td-entry-pin {
  --label-width: 38.8mm;
}

.td-fixed-subcaption {
  font-size: 2.22mm;
  text-align: center;
}

.td-entry-tdno {
  top: 21.9mm;
  left: 20mm;
  width: 92mm;
}

.td-entry-pin {
  top: 21.9mm;
  left: 114mm;
  width: 82mm;
}

.td-entry-owner {
  top: 29.7mm;
  left: 20mm;
  width: 113mm;
}

.td-entry-owner-tin {
  top: 29.7mm;
  left: 137mm;
  width: 58mm;
}

.td-entry-owner-address {
  top: 36.7mm;
  left: 20mm;
  width: 113mm;
}

.td-entry-owner-phone {
  top: 36.7mm;
  left: 137mm;
  width: 58mm;
}

.td-entry-admin {
  top: 43.7mm;
  left: 20mm;
  width: 113mm;
}

.td-entry-admin-tin {
  top: 43.7mm;
  left: 137mm;
  width: 58mm;
}

.td-entry-admin-address {
  top: 50.5mm;
  left: 20mm;
  width: 113mm;
}

.td-entry-admin-phone {
  top: 50.5mm;
  left: 137mm;
  width: 58mm;
}

.td-location-label {
  top: 56.8mm;
  left: 20mm;
}

.td-fixed-slot {
  text-align: center;
}

.td-slot-street {
  top: 56.3mm;
  left: 49.2mm;
  width: 44mm;
}

.td-slot-barangay {
  top: 56.3mm;
  left: 96.8mm;
  width: 43mm;
}

.td-slot-city {
  top: 56.3mm;
  left: 144.5mm;
  width: 48mm;
}

.td-sub-street {
  top: 60.9mm;
  left: 50.3mm;
  width: 32mm;
}

.td-sub-barangay {
  top: 60.9mm;
  left: 103.1mm;
  width: 33mm;
}

.td-sub-city {
  top: 60.9mm;
  left: 149.8mm;
  width: 39mm;
}

.td-entry-oct {
  top: 66.3mm;
  left: 20mm;
  width: 106mm;
}

.td-entry-survey {
  top: 66.3mm;
  left: 128mm;
  width: 67mm;
}

.td-entry-cct {
  top: 72.1mm;
  left: 20mm;
  width: 106mm;
}

.td-entry-lot {
  top: 72.1mm;
  left: 128mm;
  width: 67mm;
}

.td-entry-dated {
  top: 77.8mm;
  left: 20mm;
  width: 106mm;
}

.td-entry-block {
  top: 77.8mm;
  left: 128mm;
  width: 67mm;
}

.td-boundaries-label {
  top: 84.9mm;
  left: 22mm;
}

.td-double-rule {
  height: 1mm;
  border-top: 0.2mm solid #000;
  border-bottom: 0.2mm solid #000;
}

.td-fixed-section-title {
  position: absolute;
  font-size: 2.72mm;
  line-height: .5;
  font-weight: 700;
}

.td-boundaries-rule {
  left: var(--td-boundaries-rule-left);
  top: var(--td-boundaries-rule-top);
  width: var(--td-boundaries-rule-width);
}

.td-entry-north {
  top: 90.2mm;
  left: 33mm;
  width: 76.8mm;
}

.td-entry-south {
  top: 90.2mm;
  left: 117mm;
  width: 76.8mm;
}

.td-entry-east {
  top: 95.8mm;
  left: 33mm;
  width: 76.8mm;
}

.td-entry-west {
  top: 95.8mm;
  left: 117mm;
  width: 76.8mm;
}

.td-section-kind {
  top: var(--td-kind-title-top);
  left: var(--td-kind-title-left);
  width: 68mm;
}

.td-kind-rule {
  left: var(--td-kind-rule-left);
  top: var(--td-kind-rule-top);
  width: var(--td-kind-rule-width);
}

.td-check-box {
  display: inline-grid;
  place-items: center;
  width: 10.2mm;
  height: 6mm;
  border: 0.2mm solid #000;
  font-size: 5mm;
  line-height: 1;
}

.td-check-land {
  top: 108mm;
  left: 28.2mm;
}

.td-check-building {
  top: 117mm;
  left: 28.2mm;
}

.td-check-machinery {
  top: 108mm;
  left: 122.4mm;
}

.td-check-others {
  top: 117mm;
  left: 122.4mm;
}

.td-kind-land,
.td-kind-building,
.td-kind-machinery,
.td-kind-others,
.td-kind-adjust-label {
  font-weight: 700;
}

.td-kind-land {
  top: 110mm;
  left: 43.5mm;
}

.td-kind-adjust-box {
  top: 108mm;
  left: 69.5mm;
  width: 10.2mm;
  height: 6mm;
  font-size: 3.55mm;
  font-weight: 700;
}

.td-kind-adjust-label {
  top: 110mm;
  left: 83.6mm;
}

.td-kind-building {
  top: 117mm;
  left: 43.5mm;
}

.td-kind-machinery {
  top: 110mm;
  left: 136.8mm;
}

.td-kind-others {
  top: 118mm;
  left: 136.8mm;
}

.td-entry-storeys {
  top: 119mm;
  left: 43.5mm;
  width: 65mm;
}

.td-entry-building-desc {
  top: 123mm;
  left: 43.5mm;
  width: 65mm;
}

.td-entry-machinery-desc {
  top: 113mm;
  left: 136.8mm;
  width: 55.5mm;
}

.td-entry-others-desc {
  top: 120mm;
  left: 136.8mm;
  width: 55mm;
}

.td-fixed-table-head {
  position: absolute;
  font-weight: 700;
  text-align: center;
  font-size: 2.38mm;
  line-height: 1;
  height: 5.6mm;
  padding-top: 0.15mm;
  box-sizing: border-box;
}

.td-fixed-table-head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 0.18mm solid #000;
}

.td-fixed-table-head > br {
  display: block;
  margin-top: 0.15mm;
}

.td-head-class { top: 130mm; left: 19.8mm; width: 29mm; }
.td-head-area { top: 130mm; left: 50.1mm; width: 18.2mm; }
.td-head-market { top: 130mm; left: 69.7mm; width: 23.7mm; }
.td-head-use { top: 130mm; left: 94.8mm; width: 12.8mm; line-height: 1.02; }
.td-head-level { top: 130mm; left: 108.9mm; width: 15.4mm; line-height: 1.02; }
.td-head-assessed { top: 130mm; left: 126.3mm; width: 35.8mm; }
.td-head-taxability { top: 130mm; left: 166.3mm; width: 19.5mm; }

.td-fixed-row {
  left: 20mm;
  width: 168mm;
  height: 4.9mm;
}

.td-fixed-row > div {
  position: absolute;
  border-bottom: 0.18mm solid #b6b6b6;
  padding: 0 0.45mm 0.1mm;
  height: 4.25mm;
  white-space: nowrap;
  overflow: hidden;
  font-size: 2.42mm;
  line-height: 1;
}

.td-fixed-row-class { left: 0; width: 28.2mm; }
.td-fixed-row-area { left: 30.2mm; width: 17.2mm; text-align: center; }
.td-fixed-row-market { left: 49.2mm; width: 22.2mm; text-align: right; }
.td-fixed-row-use { left: 73.6mm; width: 12.4mm; text-align: center; }
.td-fixed-row-level { left: 88.3mm; width: 14.2mm; text-align: center; }
.td-fixed-row-assessed { left: 104.8mm; width: 35.8mm; text-align: right; }
.td-fixed-row-taxability { left: 144.4mm; width: 15.5mm; text-align: center; }

.td-total-area-value {
  top: 160mm;
  left: 50.8mm;
  width: 18.5mm;
  text-align: center;
  font-weight: 700;
}

.td-entry-total-market {
  top: 165.1mm;
  left: 43.1mm;
  width: 48.3mm;
  height: 5.9mm;
}

.td-fixed-prefix {
  position: absolute;
  top: 1.4mm;
  left: 12.1mm;
  font-size: 2.55mm;
  line-height: 1;
}

.td-entry-total-market .td-fixed-label {
  top: 0;
  left: 0;
}

.td-entry-total-market .td-fixed-value {
  left: 16.2mm;
  text-align: right;
}

.td-entry-exempt {
  top: 166.9mm;
  left: 109.8mm;
  width: 81.3mm;
}

.td-entry-taxable {
  top: 173.2mm;
  left: 109.8mm;
  width: 81.3mm;
}

.td-entry-total-av {
  top: 178.6mm;
  left: 20mm;
  width: 34mm;
}

.td-entry-total-av .td-fixed-value,
.td-entry-exempt .td-fixed-value,
.td-entry-taxable .td-fixed-value {
  text-align: right;
  font-size: 3.05mm;
  font-weight: 700;
}

.td-entry-total-av .td-fixed-label,
.td-entry-exempt .td-fixed-label,
.td-entry-taxable .td-fixed-label {
  font-size: 2.58mm;
  font-weight: 600;
}

.td-entry-total-av .td-fixed-value {
  display: none;
}

.td-amount-words-label {
  top: 183.2mm;
  left: 96.5mm;
  width: 47mm;
  text-align: center;
  font-weight: 700;
}

.td-amount-words-line {
  top: 178.6mm;
  left: 47mm;
  width: 144mm;
  text-align: center;
  font-style: italic;
  font-size: 2.58mm;
}

.td-check-taxable {
  top: 188.0mm;
  left: 33.2mm;
}

.td-caption-taxable {
  top: 190.7mm;
  left: 20mm;
  font-weight: 700;
}

.td-check-exempt {
  top: 188.0mm;
  left: 56.8mm;
}

.td-caption-exempt {
  top: 190.7mm;
  left: 45.3mm;
  font-weight: 700;
}

.td-entry-effectivity {
  top: 188.0mm;
  left: 79mm;
  width: 67mm;
}

.td-entry-effectivity .td-fixed-value {
  display: none;
}

.td-entry-quarter {
  top: 188.0mm;
  left: 151mm;
  width: 14.5mm;
}

.td-entry-year {
  top: 188.0mm;
  left: 170mm;
  width: 21mm;
}

.td-entry-quarter .td-fixed-value,
.td-entry-year .td-fixed-value {
  left: 0;
  text-align: center;
}

.td-sign-prepare {
  top: 198.4mm;
  left: 20mm;
  font-weight: 700;
}

.td-sign-approve {
  top: 198.4mm;
  left: 108mm;
  font-weight: 700;
}

.td-sign-name-left,
.td-sign-name-mid,
.td-sign-name-right {
  font-weight: 700;
  text-align: center;
}

.td-sign-name-left {
  top: 206.6mm;
  left: 20mm;
  width: 49.5mm;
}

.td-sign-name-mid {
  top: 206.6mm;
  left: 82mm;
  width: 57mm;
}

.td-sign-name-right {
  top: 206.6mm;
  left: 149.8mm;
  width: 41.2mm;
}

.td-sign-role-left {
  top: 211.3mm;
  left: 31mm;
  width: 27mm;
  text-align: center;
}

.td-sign-role-mid {
  top: 211.3mm;
  left: 93mm;
  width: 35mm;
  text-align: center;
}

.td-sign-role-right {
  top: 211.3mm;
  left: 167.8mm;
  width: 10mm;
  text-align: center;
}

.td-entry-cancel-td {
  top: 219.0mm;
  left: 20mm;
  width: 63mm;
}

.td-entry-prev-owner {
  top: 219.0mm;
  left: 90mm;
  width: 46mm;
}

.td-entry-prev-av {
  top: 219.0mm;
  left: 146.2mm;
  width: 44.8mm;
}

.td-entry-prev-pin {
  top: 225.2mm;
  left: 20mm;
  width: 118mm;
}

.td-entry-trans-code {
  top: 225.2mm;
  left: 143mm;
  width: 48mm;
}

.td-entry-cancel-td .td-fixed-label,
.td-entry-prev-owner .td-fixed-label,
.td-entry-prev-av .td-fixed-label,
.td-entry-prev-pin .td-fixed-label,
.td-entry-trans-code .td-fixed-label {
  font-size: 2.3mm;
}

.td-entry-cancel-td .td-fixed-value,
.td-entry-prev-owner .td-fixed-value,
.td-entry-prev-av .td-fixed-value,
.td-entry-prev-pin .td-fixed-value,
.td-entry-trans-code .td-fixed-value {
  font-size: 2.7mm;
}

.td-label-memoranda {
  top: 232.3mm;
  left: 20mm;
  z-index: 2;
  padding-right: 1.2mm;
  background: #fff;
  font-weight: 700;
}

.td-fixed-memoranda-shell {
  position: absolute;
  top: 231.4mm;
  left: 20mm;
  width: 171mm;
  height: 34.65mm;

}

.td-fixed-memoranda-lines {
  position: absolute;
  inset: 0;
}

.td-fixed-memoranda-line {
  height: 4.95mm;
  border-bottom: 0.2mm solid #000;
}

.td-fixed-memoranda-text {
  position: absolute;
  inset: 0;
  padding: 0.2mm 0.7mm 0;
  font-size: 2.8mm;
  line-height: 5.0mm;
  text-indent: 20mm;
  white-space: pre-wrap;
  overflow: hidden;
  background: transparent;
}

.td-fixed-notes {
  left: 20mm;
  right: 19mm;
  top: 268.6mm;
  bottom: auto;
  font-size: 2.55mm;
  line-height: 1.12;
}

@media print {
  .td-form-canvas {
    width: 215.9mm;
    min-height: 279.4mm;
    box-shadow: none;
  }

  .td-form-guide {
    display: none;
  }

  @page {
    size: Letter portrait;
    margin: 0;
  }
}

.admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: end;
  padding: 1.35rem;
  border-radius: 1.5rem;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at top right, rgba(244, 200, 76, 0.18), transparent 12rem),
    linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: var(--shadow);
}

.admin-eyebrow {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--muted);
  margin-bottom: 0.5rem;
}

.admin-hero h2 {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.08;
}

.admin-hero p {
  margin: 0.8rem 0 0;
  max-width: 52rem;
  color: var(--muted);
  line-height: 1.55;
}

.admin-hero-actions,
.admin-badge-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.summary-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.panel + .summary-strip,
.faas-toolbar + .summary-strip {
  margin-top: 1rem;
}

.summary-strip + .computation-grid,
.summary-strip + .adjustment-section-stack {
  margin-top: 1rem;
}

.admin-tab-strip {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.summary-tile {
  padding: 1rem 1.1rem;
  border-radius: 1.15rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: var(--shadow);
}

.admin-grid {
  display: grid;
  gap: 1rem;
}

.branding-tab-layout {
  grid-template-columns: 1fr;
}

.branding-signatories-panel,
.branding-workspace-panel {
  grid-column: 1 / -1;
}

.branding-signatories-panel .key-value-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.setup-form-stack {
  display: grid;
  gap: 1rem;
}

.setup-inline-meta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 0.84rem;
}

.setup-default-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-weight: 600;
}

.setup-amnesty-list {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.setup-amnesty-card {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.setup-amnesty-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.setup-card-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.admin-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-grid-access {
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
}

.admin-list {
  display: grid;
  gap: 0.85rem;
}

.admin-list-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.admin-list-row.is-selected {
  border-color: rgba(26, 90, 159, 0.3);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-soft) 100%);
}

.admin-list-selectable .admin-list-title a {
  color: inherit;
}

.admin-list-title {
  font-weight: 700;
}

.admin-list-meta {
  margin-top: 0.2rem;
  font-size: 0.88rem;
  color: var(--muted);
}

.admin-list-trailing {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.tag-cloud {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  color: var(--ink);
  font-weight: 600;
}

.selected-user-banner {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.9rem 1rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: var(--surface-soft);
  border: 1px solid var(--line);
}

.selected-user-banner strong {
  font-size: 1rem;
}

.selected-user-banner span {
  color: var(--muted);
}

.access-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.9rem;
}

.access-card {
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
}

.access-card-enabled {
  border-color: rgba(59, 153, 109, 0.28);
}

.access-card-disabled {
  border-color: rgba(184, 86, 86, 0.28);
}

.access-card-unassigned {
  border-style: dashed;
}

.access-card-header {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
}

.access-card-header h3 {
  margin: 0;
  font-size: 1rem;
}

.admin-filter-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  width: min(100%, 480px);
}

.profile-card-grid {
  display: grid;
  gap: 1rem;
}

.profile-card {
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-alt) 100%);
  box-shadow: var(--shadow);
}

.profile-card-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.profile-card-header h3 {
  margin: 0;
  font-size: 1rem;
}

.profile-card-header p {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.profile-card-body {
  display: grid;
  gap: 0.7rem;
  margin-top: 1rem;
}

.profile-card-line {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
}

.profile-card-line span {
  color: var(--muted);
}

.profile-card-line strong {
  text-align: right;
}

.profile-card-actions {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-end;
}

.desktop-only {
  display: block;
}

.mobile-only {
  display: none;
}

.login-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, var(--bg-accent), transparent 20rem),
    linear-gradient(180deg, var(--login-start) 0%, var(--login-end) 100%);
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
}

.login-stage {
  width: min(1280px, 100%);
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) 440px;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: var(--shadow-strong);
}

.login-hero {
  position: relative;
  background: linear-gradient(180deg, color-mix(in srgb, var(--login-end) 82%, #2ea7ff 18%) 0%, var(--login-end) 100%);
  overflow: hidden;
}

.login-pattern {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, transparent 0 42%, rgba(255, 255, 255, 0.07) 42% 46%, transparent 46% 100%),
    linear-gradient(315deg, transparent 0 35%, rgba(255, 255, 255, 0.08) 35% 39%, transparent 39% 100%);
  opacity: 0.8;
}

.login-hero-content {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
  color: #fff;
}

.login-hero-badge {
  width: fit-content;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.login-hero-seal {
  width: 210px;
  height: 210px;
  border-radius: 50%;
  overflow: hidden;
  background: radial-gradient(circle at 30% 30%, #fff9df 0%, #f4c84c 55%, #ddb027 100%);
  display: grid;
  place-items: center;
  box-shadow: 0 24px 40px rgba(5, 39, 73, 0.28);
}

.login-hero-seal img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.login-hero-seal span {
  color: #103d70;
  font-size: 2rem;
  font-weight: 800;
}

.login-government-line {
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.74);
}

.login-hero-copy h1 {
  margin: 0.35rem 0 0;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1.05;
}

.login-hero-copy p {
  margin: 0.75rem 0 0;
  max-width: 32rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.05rem;
}

.login-panel {
  background: linear-gradient(180deg, var(--login-panel-start) 0%, var(--login-panel-end) 100%);
  color: #fff;
  display: grid;
  place-items: center;
}

.login-panel-inner {
  width: min(100%, 320px);
  display: grid;
  gap: 1.25rem;
}

.login-panel-brand {
  min-height: 120px;
  display: grid;
  place-items: center;
}

.login-panel-brand img {
  max-width: 100%;
  max-height: 120px;
  object-fit: contain;
}

.login-title-block {
  text-align: center;
}

.login-title {
  font-size: 2.1rem;
}

.login-version {
  margin-top: 0.25rem;
  color: rgba(255, 255, 255, 0.72);
}

.login-form {
  display: grid;
  gap: 1rem;
}

.login-input {
  border: 0;
  min-height: 52px;
  font-size: 1rem;
}

.login-alert {
  padding: 0.8rem 0.95rem;
  border-radius: 1rem;
  background: rgba(255, 231, 231, 0.18);
  border: 1px solid rgba(255, 214, 214, 0.32);
  color: #fff3f3;
}

.login-alert ul {
  margin: 0;
  padding-left: 1rem;
}

.btn-login {
  min-height: 58px;
  border: 0;
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffe26e 0%, #f4c84c 100%);
  color: #103d70;
  font-size: 1.6rem;
  font-weight: 800;
  box-shadow: 0 16px 28px rgba(6, 30, 56, 0.25);
}

.btn-login:hover {
  background: linear-gradient(180deg, #ffe98d 0%, #f6d66c 100%);
  color: #103d70;
}

.login-powered {
  display: grid;
  justify-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
}

.login-powered img {
  max-width: 120px;
  max-height: 42px;
  object-fit: contain;
}

@media (max-width: 1399.98px) {
  .stat-grid,
  .summary-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1199.98px) {
  .legacy-shell {
    grid-template-columns: 300px minmax(0, 1fr);
  }

  body.sidebar-collapsed .legacy-shell {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .detail-grid,
  .key-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adjustment-sheet-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .adjustment-sheet-grid .editor-field:nth-child(5n) {
    border-right: 1px solid var(--line);
  }

  .adjustment-sheet-grid .editor-field:nth-child(3n) {
    border-right: 0;
  }

  .admin-grid-two,
  .admin-grid-access,
  .assessment-split-grid,
  .workspace-grid-two,
  .form-grid-2,
  .form-grid-3,
  .computation-grid,
  .faas-metric-grid,
  .kind-detail-grid,
  .td-inline-fields,
  .td-owner-grid,
  .td-reference-grid,
  .td-remarks-grid,
  .td-location-values,
  .td-kind-grid,
  .td-totals-grid,
  .td-signature-grid,
  .td-total-assessed,
  .td-taxability-row {
    grid-template-columns: 1fr;
  }

  .login-stage {
    grid-template-columns: minmax(0, 1fr) 390px;
  }

  .valuation-summary-card-grid,
  .valuation-auto-summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .legacy-shell {
    grid-template-columns: 1fr;
  }

  body.sidebar-collapsed .legacy-shell {
    grid-template-columns: 1fr;
  }

  .legacy-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 340px);
    transform: translateX(-102%);
    transition: transform 180ms ease;
    max-height: 100dvh;
    z-index: 40;
  }

  body.sidebar-open .legacy-sidebar {
    transform: translateX(0);
  }

  .sidebar-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: var(--overlay);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
    z-index: 30;
  }

  body.sidebar-open .sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .legacy-main {
    padding: 1rem;
  }

  .btn-shell-menu {
    display: inline-flex;
  }

  [data-sidebar-collapse] {
    display: none;
  }

  .search-bar,
  .search-bar-wide,
  .admin-filter-bar {
    grid-template-columns: 1fr;
  }

  .property-search-form .search-bar-wide {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .property-search-form .search-bar-wide > * {
    width: 100%;
    min-width: 0;
  }

  .property-search-input-shell {
    width: 100%;
  }

  .property-search-input-shell .form-control {
    padding-right: 5.4rem;
  }

  .property-search-clear {
    right: 0.4rem;
    max-width: calc(100% - 0.8rem);
    white-space: nowrap;
  }

  .login-shell {
    padding: 1rem;
  }

  .login-stage {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .login-hero {
    min-height: 360px;
  }

  .login-panel {
    padding: 2rem 1.25rem;
  }

  .property-editor-header-actions,
  .property-editor-summary-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .property-editor-header-actions .btn,
  .property-editor-summary-actions > .btn,
  .property-editor-summary-primary-actions .btn {
    flex: 1 1 13rem;
  }

  .property-editor-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .property-editor-tabs .section-toggle-link {
    width: 100%;
    text-align: center;
  }

  .property-editor-page .valuation-computation-strip {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  }

  .report-generator-header,
  .report-generator-actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 1199.98px) {
  .dashboard-collection-band {
    grid-template-columns: 1fr;
  }

  .dashboard-annual-split {
    grid-template-columns: 1fr;
  }

  .dashboard-chart-panel-header,
  .dashboard-chart-heading,
  .dashboard-coverage-header {
    flex-direction: column;
  }

  .billing-workspace {
    grid-template-columns: 1fr;
  }

  .billing-workspace.is-receipt-collapsed {
    grid-template-columns: 1fr;
  }

  .billing-side-stack {
    position: static;
  }

  .billing-workspace.is-receipt-collapsed .billing-receipt-panel .panel-header {
    min-height: 0;
    flex-direction: row;
    text-align: left;
  }

  .billing-property-banner {
    grid-template-columns: 1fr;
  }

  .billing-property-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-property-receipt-chip {
    grid-column: 1 / -1;
  }

  .receipt-meta-grid,
  .receipt-party-grid,
  .receipt-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.header-footer-admin {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
  align-items: start;
}

.user-account-admin {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr);
}

.user-account-list,
.user-account-editor {
  display: grid;
  gap: 0.9rem;
  align-content: start;
}

.user-management-tabs .user-account-admin {
  grid-template-columns: 1fr;
}

.user-record-table-shell {
  min-width: 0;
}

.admin-table-toolbar,
.admin-table-footer {
  display: flex;
  justify-content: space-between;
  gap: 0.85rem 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.admin-table-toolbar-actions {
  display: flex;
  gap: 0.65rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-table-search {
  width: min(100%, 18rem);
}

.admin-record-table-wrap {
  border: 1px solid var(--line);
  border-radius: 1rem;
  overflow: auto;
}

.admin-record-table {
  min-width: 760px;
}

.admin-record-table .table-actions {
  justify-content: flex-end;
}

.admin-record-table .table-actions form {
  display: inline-flex;
}

/* Billing-formula library: explicit table colors keep every value legible in
   both the light and dark administrator themes. */
.billing-formula-table-shell {
  border: 1px solid var(--line);
  border-radius: 1rem;
  overflow: hidden;
  background: var(--surface-alt);
}

.billing-formula-toolbar {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface-soft);
}

.billing-formula-toolbar-title {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 800;
}

.billing-formula-table {
  min-width: 900px;
  margin-bottom: 0;
  color: var(--ink);
  --bs-table-color: var(--ink);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--line);
  --bs-table-hover-color: var(--ink);
  --bs-table-hover-bg: var(--surface-soft);
}

.billing-formula-table > :not(caption) > * > * {
  padding: 0.9rem 0.8rem;
  color: var(--ink);
  border-color: var(--line);
  vertical-align: middle;
}

.billing-formula-table thead th {
  color: var(--muted);
  background: var(--surface-soft);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.billing-formula-table tbody tr:not([hidden]):not(.billing-formula-details):hover > * {
  background: var(--surface-soft);
}

.billing-formula-name {
  min-width: 21rem;
}

.billing-formula-name strong {
  display: block;
  margin-bottom: 0.2rem;
}

.billing-formula-name .muted {
  max-width: 31rem;
  line-height: 1.4;
}

.billing-formula-table-actions {
  min-width: 10.75rem;
  text-align: right;
  white-space: nowrap;
}

.billing-formula-table-actions form,
.billing-formula-table-actions .btn {
  display: inline-flex;
  margin: 0.15rem 0 0.15rem 0.35rem;
}

.admin-icon-button {
  width: 2.2rem;
  height: 2.2rem;
  align-items: center;
  justify-content: center;
  padding: 0.42rem;
}

.admin-icon-button svg {
  width: 1rem;
  height: 1rem;
}

.billing-formula-details > td {
  padding: 1.15rem !important;
  background: var(--surface-soft) !important;
}

.billing-formula-details .setup-form-stack {
  max-width: 72rem;
}

.billing-formula-table-shell .table-pagination {
  display: flex;
  justify-content: flex-end;
  gap: 0.45rem;
  padding: 0.75rem 1.1rem;
  border-top: 1px solid var(--line);
}

.admin-table-footer {
  padding-top: 0.25rem;
}

.header-footer-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 0.9rem 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.header-footer-toolbar-group {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.header-footer-toolbar-group-end {
  margin-left: auto;
  justify-content: flex-end;
}

.header-footer-picker {
  min-width: min(100%, 24rem);
}

.header-footer-picker .form-select {
  min-width: min(100%, 24rem);
}

.asset-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.12);
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.asset-pill.has-asset {
  background: rgba(56, 189, 248, 0.18);
  color: var(--text-primary);
}

.header-footer-editor {
  display: grid;
  gap: 1rem;
}

.header-footer-assets-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.branding-asset-card {
  display: grid;
  gap: 0.8rem;
  padding: 0.95rem;
  border-radius: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(15, 23, 42, 0.32);
}

.branding-asset-preview {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 8.5rem;
  overflow: hidden;
  border-radius: 0.9rem;
  border: 1px dashed rgba(148, 163, 184, 0.25);
  background:
    radial-gradient(circle at top, rgba(59, 130, 246, 0.14), transparent 58%),
    rgba(15, 23, 42, 0.5);
}

.branding-asset-preview img {
  display: block;
  max-width: 100%;
  max-height: 8rem;
  object-fit: contain;
}

.branding-asset-preview.is-empty .branding-asset-empty {
  display: block;
}

.branding-asset-empty {
  display: none;
  color: var(--text-muted);
  font-size: 0.88rem;
  text-align: center;
}

.compact-toggle {
  justify-content: flex-start;
}

.compact-empty-state {
  padding: 1.1rem;
}

@media (max-width: 1100px) {
  .property-records-search-primary {
    grid-template-columns: minmax(280px, 1fr) auto auto;
  }

  .billing-picker-search-primary {
    grid-template-columns: minmax(135px, 165px) minmax(240px, 1fr) auto;
  }

  .property-records-search-primary .billing-search-result-summary,
  .billing-picker-search-primary .billing-search-result-summary {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
  }

  .billing-search-secondary-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .billing-clear-filters {
    grid-column: 1 / -1;
    justify-self: end;
  }
}

@media (max-width: 767.98px) {
  .billing-property-filterbar {
    padding: 0.9rem;
  }

  .billing-search-heading,
  .billing-batch-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .billing-search-result-summary {
    align-self: flex-start;
  }

  .property-records-search-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .btn-create-record {
    width: 100%;
  }

  .billing-search-primary-row,
  .billing-search-secondary-row {
    grid-template-columns: 1fr;
  }

  .property-records-search-primary .billing-search-result-summary,
  .billing-picker-search-primary .billing-search-result-summary {
    grid-column: auto;
    grid-row: auto;
  }

  .billing-clear-filters {
    grid-column: auto;
    justify-self: stretch;
  }

  .billing-search-submit,
  .billing-clear-filters {
    width: 100%;
  }

  .billing-batch-toolbar,
  .billing-batch-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .billing-batch-output-field,
  .billing-batch-actions .form-select {
    min-width: 0;
    width: 100%;
  }

  .header-footer-admin {
    grid-template-columns: 1fr;
  }

  .header-footer-toolbar-group-end {
    margin-left: 0;
    justify-content: flex-start;
  }

  .header-footer-picker,
  .header-footer-picker .form-select {
    width: 100%;
    min-width: 0;
  }

  .user-account-admin {
    grid-template-columns: 1fr;
  }

  .header-footer-assets-grid {
    grid-template-columns: 1fr;
  }

  .admin-hero {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .legacy-topbar {
    display: flex;
    top: -1rem;
    margin: -1rem -1rem 1rem;
    padding: 0.45rem 0.85rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }

  .page-title-row {
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.65rem;
  }

  .print-body {
    padding: 1rem;
  }

  .print-layout-toolbar {
    width: 100%;
    padding: 0 0 0.85rem;
    justify-content: stretch;
  }

  .print-layout-toolbar-group,
  .print-layout-toolbar .btn {
    width: 100%;
  }

  .print-layout-toolbar-group .btn {
    flex: 1 1 0;
  }

  .detail-grid,
  .key-value-grid,
  .stat-grid,
  .dashboard-chart-footer,
  .dashboard-coverage-meta,
  .summary-strip,
  .module-launcher,
  .valuation-computation-strip,
  .receipt-meta-grid,
  .receipt-party-grid,
  .receipt-summary-grid,
  .billing-property-searchbar,
  .batch-billing-toolbar,
  .billing-receipt-grid,
  .billing-receipt-money {
    grid-template-columns: 1fr;
  }

  .dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }

  .dashboard-stat-card-collection {
    grid-column: 1 / -1;
  }

  .adjustment-sheet-grid {
    grid-template-columns: 1fr;
  }

  .adjustment-sheet-grid .editor-field {
    border-right: 0;
  }

  .dashboard-chart-axis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 0.35rem;
  }

  .dashboard-chart-axis-monthly {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .dashboard-chart-tools,
  .dashboard-chart-highlight {
    width: 100%;
  }

  .dashboard-stat-card {
    padding: 0.95rem;
    border-radius: 1.1rem;
  }

  .dashboard-stat-icon {
    width: 2.55rem;
    height: 2.55rem;
  }

  .dashboard-stat-icon svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .dashboard-annual-split,
  .dashboard-kind-panel,
  .dashboard-kind-legend {
    gap: 0.85rem;
  }

  .dashboard-chart-highlight {
    justify-items: start;
  }

  .legacy-main {
    padding: 0.85rem;
    overflow-x: hidden;
  }

  .legacy-topbar-main {
    flex: 1 1 auto;
    min-width: 0;
  }

  .legacy-topbar-meta {
    margin-left: auto;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
  }

  /* Keep property actions below the title on narrow screens so neither overlaps. */
  .legacy-topbar:has(.property-action-bar) {
    flex-wrap: wrap;
    align-items: center;
  }

  .legacy-topbar:has(.property-action-bar) .legacy-topbar-main {
    flex: 1 1 100%;
  }

  .legacy-topbar:has(.property-action-bar) .legacy-topbar-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    margin-left: 0;
    gap: 0.55rem;
  }

  .legacy-topbar:has(.property-action-bar) .property-action-bar {
    min-width: 0;
    max-width: none;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .legacy-topbar:has(.property-action-bar) .property-action-bar::-webkit-scrollbar {
    display: none;
  }

  .legacy-topbar:has(.property-action-bar) .property-action-tools {
    width: max-content;
    flex-wrap: nowrap;
  }

  .legacy-topbar:has(.property-action-bar) .property-icon-action {
    flex: 0 0 2.35rem;
    width: 2.35rem;
    height: 2.35rem;
  }

  .legacy-user-avatar {
    width: 2.15rem;
    height: 2.15rem;
    font-size: 0.82rem;
  }

  .btn-shell-menu {
    display: inline-flex;
  }

  .btn-shell-menu .shell-icon {
    width: 1.05rem;
    height: 1.05rem;
  }

  .page-title {
    font-size: 1.2rem;
    line-height: 1.05;
  }

  .page-content {
    gap: 1rem;
  }

  .panel {
    border-radius: 1.15rem;
  }

  .panel-header,
  .panel-body {
    padding: 1rem;
  }

  .stat-value {
    font-size: 2rem;
  }

  .dashboard-chart-panel-header,
  .dashboard-chart-tools,
  .dashboard-coverage-header,
  .dashboard-coverage-actions,
  .dashboard-chart-heading {
    align-items: stretch;
  }

  .stat-label,
  .dashboard-chart-highlight small,
  .dashboard-chart-footer span {
    font-size: 0.74rem;
  }

  .dashboard-coverage-chip {
    align-self: flex-start;
  }

  .dashboard-coverage-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    justify-content: stretch;
    justify-items: stretch;
    gap: 0.5rem;
  }

  .dashboard-coverage-actions .btn,
  .dashboard-coverage-chip {
    width: 100%;
  }

  .dashboard-chart-filter,
  .dashboard-chart-filter .form-select,
  .dashboard-chart-filter-inline {
    width: 100%;
  }

  .dashboard-chart-filter-inline {
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
  }

  .dashboard-inline-label {
    font-size: 0.72rem;
  }

  .dashboard-area-chart {
    min-height: 0;
  }

  .dashboard-chart-shell {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .dashboard-area-chart,
  .dashboard-chart-axis-feature {
    min-width: 620px;
  }

  .dashboard-kind-panel {
    padding: 1rem;
  }

  .dashboard-kind-panel-header {
    flex-direction: column;
  }

  .dashboard-kind-total {
    min-width: 0;
    width: fit-content;
  }

  .dashboard-kind-donut-wrap {
    min-height: 10.75rem;
  }

  .dashboard-kind-center {
    inset: auto 0 0.5rem;
  }

  .dashboard-kind-center strong {
    font-size: 1rem;
  }

  .dashboard-kind-legend-item {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.45rem 0.65rem;
  }

  .dashboard-kind-count,
  .dashboard-kind-share {
    justify-self: start;
  }

  .report-picker {
    grid-template-columns: 1fr;
  }

  .delinquency-report-grid {
    grid-template-columns: 1fr;
  }

  .report-workspace-panel {
    padding: 1rem;
  }

  .report-workspace-intro {
    padding: 1rem;
  }

  .report-workspace-intro h3 {
    font-size: 1.2rem;
  }

  .report-generator-actions .btn {
    width: 100%;
  }

  .valuation-summary-card-grid,
  .valuation-auto-summary-metrics {
    grid-template-columns: 1fr;
  }

  .detail-item-wide {
    grid-column: span 1;
  }

  .legacy-sidebar {
    padding: 1rem;
  }

  .legacy-brand {
    grid-template-columns: 1fr;
    padding: 0;
  }

  .legacy-brand-seal {
    width: 90px;
    height: 90px;
    padding: 0;
  }

  .property-editor-page {
    gap: 1rem;
  }

  .property-editor-page .panel-header,
  .property-editor-page .panel-body,
  .property-editor-page .editor-collapsible-summary,
  .property-editor-page .editor-collapsible-body {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .property-editor-page .panel-header,
  .property-editor-summary-actions {
    align-items: stretch;
  }

  .property-editor-header-actions,
  .property-editor-summary-primary-actions,
  .property-editor-tabs {
    display: grid;
    grid-template-columns: 1fr;
  }

  .property-editor-header-actions .btn,
  .property-editor-summary-actions > .btn,
  .property-editor-summary-primary-actions .btn,
  .property-editor-tabs .section-toggle-link {
    width: 100%;
  }

  .property-editor-page .editor-record-title {
    font-size: 1.55rem;
  }

  .property-editor-page .editor-record-meta {
    font-size: 0.92rem;
  }

  .property-editor-page .kind-selector-group {
    display: grid;
    grid-template-columns: 1fr;
  }

  .property-editor-page .kind-selector-option {
    width: 100%;
    justify-content: flex-start;
  }

  .property-editor-page .valuation-summary-input-shell .form-control-sm,
  .property-editor-page .valuation-summary-input-shell .form-select {
    min-width: 6rem;
  }

  .property-editor-page .valuation-table {
    min-width: 940px;
  }

  .desktop-only {
    display: none;
  }

  .mobile-only {
    display: block;
  }

  .admin-list-row,
  .profile-card-line {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-list-trailing,
  .profile-card-actions,
  .admin-hero-actions,
  .admin-badge-row,
  .admin-badge-row {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .app-toast {
    top: auto;
    right: 1rem;
    left: 1rem;
    bottom: 1rem;
    width: auto;
  }

  .login-hero-content {
    padding: 2rem;
  }

  .login-hero-seal {
    width: 150px;
    height: 150px;
  }
}

@media (max-width: 479.98px) {
  .legacy-sidebar {
    width: min(84vw, 300px);
    padding: 0.9rem;
  }

  .legacy-nav-link {
    grid-template-columns: 2.6rem minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.5rem 0.85rem;
  }

  .legacy-nav-icon {
    width: 2.6rem;
    height: 2.2rem;
  }

  .dashboard-stat-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-stat-card-collection {
    grid-column: auto;
  }

  .dashboard-stat-card {
    width: 100%;
    min-width: 0;
    grid-template-columns: 2.45rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.75rem;
    row-gap: 0.05rem;
    align-items: center;
    padding: 0.9rem;
  }

  .dashboard-stat-card::after {
    inset: auto -1.35rem -1.35rem auto;
    width: 5rem;
    height: 5rem;
  }

  .dashboard-stat-icon {
    grid-row: 1 / span 2;
    width: 2.35rem;
    height: 2.35rem;
    margin-top: 0.05rem;
  }

  .dashboard-stat-icon svg {
    width: 1.1rem;
    height: 1.1rem;
  }

  .stat-label {
    font-size: 0.68rem;
    line-height: 1.2;
  }

  .stat-value {
    margin-top: 0.1rem;
    font-size: 1.45rem;
    line-height: 1.05;
  }

  .page-title-row {
    gap: 0.55rem;
  }

  .page-title {
    font-size: 1.2rem;
  }

  .dashboard-area-chart,
  .dashboard-chart-axis-feature {
    min-width: 540px;
  }
}
.legacy-subnav { margin: -.15rem .55rem .4rem 2.7rem; display: grid; gap: .12rem; }
.legacy-subnav[hidden] { display: none; }
.legacy-subnav a { color: inherit; opacity: .82; font-size: .78rem; padding: .25rem .4rem; border-radius: .25rem; text-decoration: none; }
.legacy-subnav a:hover,
.legacy-subnav a.active { opacity: 1; color: #fff; background: rgba(255,255,255,.13); }

/* Valuation revisions */
.valuation-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.1rem;
}

.valuation-hero h1 {
  margin: .25rem 0 .3rem;
  color: var(--ink);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.valuation-hero p,
.valuation-meta,
.valuation-revision-copy small,
.valuation-row-count,
.stat-detail {
  color: var(--muted);
}

.valuation-hero p { margin: 0; }
.valuation-eyebrow {
  color: var(--brand);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.valuation-primary-action,
.valuation-header-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  white-space: nowrap;
}

.valuation-primary-action svg,
.valuation-header-actions svg,
.valuation-save-button svg {
  width: 1.08rem;
  height: 1.08rem;
}

.valuation-stat-grid { margin-bottom: 1.1rem; }
.valuation-stat-grid .stat-card { min-height: 8.2rem; }
.stat-detail { margin-top: .35rem; font-size: .82rem; }
.valuation-alert { margin-bottom: 1rem; }

.valuation-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.valuation-revision-panel,
.valuation-schedule-panel { overflow: hidden; }
.valuation-history-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 1rem;
  cursor: pointer;
  color: var(--ink);
  list-style: none;
}
.valuation-history-disclosure > summary::-webkit-details-marker { display: none; }
.valuation-history-disclosure > summary::after {
  content: "+";
  color: var(--brand);
  font-size: 1.25rem;
  font-weight: 800;
}
.valuation-history-disclosure[open] > summary::after { content: "−"; }
.valuation-history-disclosure > summary span:first-child { display: grid; gap: .1rem; }
.valuation-history-disclosure > summary small,
.valuation-history-current { color: var(--muted); font-size: .76rem; }
.valuation-history-current { margin-left: auto; }
.valuation-guidance-danger {
  color: var(--danger-ink, #9f1d2f);
  border-color: color-mix(in srgb, #dc3545 40%, var(--line));
  background: color-mix(in srgb, #dc3545 10%, var(--surface));
}
.valuation-panel-heading { padding-bottom: .85rem; }
.valuation-revision-list {
  display: flex;
  gap: .55rem;
  padding: .75rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.valuation-revision-card {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: .15rem .7rem;
  align-items: center;
  padding: .8rem;
  color: var(--ink);
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--surface);
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
  flex: 0 0 min(340px, 82vw);
}

.valuation-revision-card:hover,
.valuation-revision-card.is-selected {
  color: var(--ink);
  border-color: color-mix(in srgb, var(--brand) 55%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, var(--surface));
}

.valuation-revision-card:hover { transform: translateY(-1px); }
.valuation-revision-year {
  grid-row: 1 / span 2;
  color: var(--brand);
  font-size: 1.05rem;
  font-weight: 850;
}
.valuation-revision-copy { min-width: 0; display: grid; }
.valuation-revision-copy strong,
.valuation-revision-copy small { overflow: visible; white-space: normal; }
.valuation-revision-copy small { margin-top: .15rem; font-size: .72rem; }

.valuation-status-badge {
  justify-self: start;
  margin-top: .35rem;
  padding: .26rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
}
.status-active { color: var(--success-ink); background: var(--success-soft); }
.status-draft { color: #9a6300; background: rgba(245, 177, 39, .18); }
.status-superseded { color: var(--muted); background: color-mix(in srgb, var(--muted) 14%, transparent); }

.valuation-schedule-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.valuation-title-line { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; }
.valuation-title-line .valuation-status-badge { margin: 0; }
.valuation-meta { margin: .35rem 0 0; font-size: .8rem; }
.valuation-header-actions { display: flex; align-items: center; }
.valuation-active-note { color: var(--success-ink); font-size: .8rem; font-weight: 750; }

.valuation-schedule-tabs {
  display: flex;
  gap: .42rem;
  padding: .65rem .75rem;
  overflow-x: auto;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  scrollbar-width: thin;
}
.valuation-schedule-tab {
    text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex: 0 0 auto;
  padding: .42rem .58rem;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  font-size: .73rem;
  font-weight: 750;
  white-space: nowrap;
}
.valuation-schedule-tab strong {
  min-width: 1.35rem;
  padding: .12rem .3rem;
  color: var(--ink);
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 12%, transparent);
  text-align: center;
  font-size: .68rem;
}
.valuation-schedule-tab.is-active {
  color: var(--brand);
  border-color: color-mix(in srgb, var(--brand) 45%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, var(--surface));
}

.valuation-guidance,
.valuation-modal-guidance {
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  margin: .8rem;
  padding: .75rem .85rem;
  color: color-mix(in srgb, var(--brand) 75%, var(--ink));
  border: 1px solid color-mix(in srgb, var(--brand) 25%, var(--line));
  border-radius: .7rem;
  background: color-mix(in srgb, var(--brand) 8%, var(--surface));
  font-size: .8rem;
}
.valuation-guidance svg { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; }
.valuation-modal-guidance { margin: 0 0 1rem; }

.valuation-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .75rem;
  border-top: 1px solid var(--line);
}
.valuation-add-record { flex: 0 0 auto; }
.valuation-add-record svg { width: 1rem; height: 1rem; }
.valuation-search-form {
  position: relative;
  display: flex;
  align-items: center;
  gap: .45rem;
  min-width: min(100%, 580px);
}
.valuation-search-form > svg {
  position: absolute;
  left: .8rem;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  color: var(--muted);
  pointer-events: none;
}
.valuation-search-form .form-control { padding-left: 2.3rem; }
.valuation-row-count { flex: 0 0 auto; font-size: .76rem; }

.valuation-table-wrap { width: 100%; margin: 0; border: 0; border-radius: 0; }
.valuation-table { width: 100%; min-width: 1120px; margin: 0; }
.valuation-table th { white-space: nowrap; }
.valuation-table td { vertical-align: middle; }
.valuation-item-code { color: var(--brand); font-weight: 800; white-space: nowrap; }
.valuation-description { min-width: 170px; }
.valuation-money-input { min-width: 90px; text-align: right; font-variant-numeric: tabular-nums; }
.valuation-save-button { display: inline-grid; width: 2.15rem; height: 2.15rem; place-items: center; padding: 0; }
.valuation-row-action { display: inline-grid; width: 2.15rem; height: 2.15rem; place-items: center; padding: 0; }
.valuation-row-action svg { width: 1rem; height: 1rem; }
.valuation-table .table-actions { min-width: 128px; white-space: nowrap; }
.valuation-locked-row { color: var(--muted); font-size: .72rem; font-weight: 700; }
.valuation-table input[readonly] { cursor: default; }
.valuation-empty-state { padding: 3.5rem 1.5rem; text-align: center; }
.valuation-empty-state h2 { color: var(--ink); }
.valuation-empty-state p { color: var(--muted); }

.valuation-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.valuation-form-wide { grid-column: 1 / -1; }
.valuation-form-grid .form-field { display: grid; gap: .38rem; }
.valuation-form-grid .form-field > span { color: var(--ink); font-size: .8rem; font-weight: 750; }

@media (max-width: 1099.98px) {
  .valuation-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 719.98px) {
  .valuation-hero,
  .valuation-schedule-header,
  .valuation-toolbar { align-items: stretch; flex-direction: column; }
  .valuation-primary-action { justify-content: center; }
  .valuation-stat-grid { grid-template-columns: 1fr; }
  .valuation-search-form { min-width: 0; flex-wrap: wrap; }
  .valuation-search-form .form-control { flex: 1 1 calc(100% - 2.4rem); }
  .valuation-row-count { align-self: flex-start; }
  .valuation-form-grid { grid-template-columns: 1fr; }
  .valuation-form-wide { grid-column: auto; }
}

/* Keep declaration-editor tabs horizontally scrollable rather than turning
   them into stacked toggle buttons on compact screens. */
@media (max-width: 991.98px) {
  .property-editor-tabs {
    display: flex;
    grid-template-columns: none;
    margin-right: -1rem;
    margin-left: -1rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .property-editor-tabs .property-editor-tab {
    width: auto;
    text-align: left;
  }
}
